Fizyczna realizacja MS

Fizyczna implementacja serwera mediów może zostać zrealizowana na dwa sposoby:

  • Programowo – w postaci aplikacji (software) umiejscowionej na serwerze sprzętowym (np. firmy Hewlett-Packard lub Sun w przypadku serwera mediów firmy Alcatel-Lucent).
  • Sprzętowo – jako dedykowany moduł sprzętowy (np. MS firmy Radisys).

W ramach każdej z tych opcji istnieje szereg dalszych wariantów, np.

  • implementacja programowa może być podzielona na osobne aplikacje odpowiadające MRFP i MRFC, zlokalizowane na oddzielnych serwerach
  • MRFP i MRFC jako osobne aplikacje w ramach jednego serwera.
  • MS jako aplikacja zlokalizowana na jednym serwerze. Kilka takich samych serwerów tworzy cluster w sieci celem zachowania redundancji[1] i zwiększenia wydajności MS.
  • implementacja sprzętowa może mieć postać kilku fizycznych maszyn odpowiadających np. jednemu MRFC i kilku MRFP.
  • MRFC w postaci aplikacji może kontrolować kilka sprzętowych realizacji MRFP
  • fizyczna realizacja rozproszona pomiędzy różne serwery (MS, serwer TTS, serwer z plikami audio, interpreter VXML)

Sposób rzeczywistej implementacji MS zależy zatem bardzo silnie od producenta i operatora sieci telekomunikacyjnej. Szczegółowa analiza wariantów architektury fizycznej nie jest celem tej pracy. Dalsze rozważania dotyczą serwera mediów jako bloku funkcjonalnego w architekturze funkcjonalnej sieci.

MS a jakość usług (Quality of Service)

W sieciach typu V OIP wydajność pracy serwera mediów ma kluczowe znaczenie dla zapewnienia określonego poziomu jakości świadczonych usług[2] (QoS). Organizacje standaryzacyjne nie definiują jednak wymagań wydajnościowych dla MS/MRF, określają natomiast kryteria dla konkretnych typów usług. W dokumencie [48] opisano kategorie usług sieciowych (obejmujące usługi związane w przetwarzaniem strumieni audio/video), wyróżnione ze względu na wymagany dla użytkownika końcowego sieci poziom QoS. Z kolei w dokumencie [49] zdefiniowane klasy QoS dla usług w sieciach IP oraz wytyczne dla różnych parametrów wydajnościowych sieci w ramach tych klas.

W związku z powyższym można jedynie rozpatrzeć kluczowe cechy fizycznej implementacji MS, które mają wpływ na jego wydajność i zapewniany przez sieć poziom QoS.

  • Cechy implementacji MS wpływające na QoS

Do zbioru tych cech zaliczyć można:

  • Aspekty logiczne MS

o Obsługa sygnalizacji – logiczna poprawność implementacji protokołów sygnalizacyjnych (wpływa na opóźnienia wynikające z przesyłania błędnych wiadomości i konieczności ponawiania ich wymiany) o Implementacja algorytmów przetwarzania strumieni a/v – rozpatrywana pod względem logicznej poprawności i optymalności (efektywności) – wpływa na przekłamanie danych i jakość sygnału oraz opóźnienia związane z przetwarzaniem sygnałów

  • Aspekty fizyczne pracy MS

o Transport danych multimedialnych

  • Szybkość transmisji strumieni a/v w ramach interfejsów serwera mediów do sieci transportowej IP
  • Wydajność interfejsów transportowych MS – wpływa na ilość jednocześnie obsługiwanych sesji RTP

o Moc obliczeniowa maszyny na której pracuje MS

  • Ilość pamięci
  • Przestrzeń dyskowa
  • Moc procesora o Stabilność systemu
  • Odporność na zawieszanie się systemu
  • Czas pracy bez konieczności ponownego uruchamiania MS

o Możliwość tworzenia clusterów – redundantnych struktur instancji serwera mediów – wpływa na zwiększenie mocy obliczeniowej MS oraz zabezpieczenie przed niedostępnością systemu

  • Parametry opisujące wydajność pracy MS

Na podstawie wymienionych powyżej cech serwera mediów, które wpływają na poziom QoS jego pracy, można zdefiniować szereg parametrów, poprzez które opisuje się ten poziom.:

  • Wydajność i pojemność MS

o Maksymalna ilość połączeń/sesji obsługiwanych jednocześnie przez MS

  • Przez sesję RTP z terminalem końcowym użytkownika i wykonywanie wszelkich operacji na strumieniach a/v na potrzeby tego połączenia
  • Można rozpatrywać sesje różnego typu (np. maksymalna ilość sesji z transkodowaniem pomiędzy kodekami określonych typów, bez transkodowania etc).

o Maksymalna ilość CAPS (Call Atempts Per Second) – maksymalna ilość obsłużonych wywołań SIP przesyłanych do MS w ciągu 1 s. o Maksymalna ilość obsłużonych BHCA (Busy Hour Call Attempts) – wywołań SIP w godzinach największego ruchu w sieci o Maksymalny czas nawiązywania jednego połączenia (ustanawiania sesji SIP)

o Maksymalna ilość obsługiwanych jednocześnie sesji RTP o Maksymalna ilość obsługiwanych jednocześnie konferencji – tu konferencję należy rozumieć jako instancję miksera

o Maksymalna ilość użytkowników w ramach jednej konferencji – tu ilość użytkowników należy rozumieć jako ilość źródeł strumieni a/v przesyłanych do/z miksera (z każdego źródła mogą pochodzić maksymalnie 2 strumienie a/v)

o Opóźnienie (w ms) pomiędzy odbieraniem a przesyłaniem strumienia (np. przy transkodowaniu strumieni pomiędzy terminalami A i B – strumień odbierany od A jest przetwarzany i przesyłany do B) o Procent wykorzystania zasobów fizycznych maszyny (mocy procesora, pamięci operacyjnej przestrzeni dyskowej) podczas różnych operacji (np. obsługi połączeń konferencyjnych, transkodowanie etc). o Przepustowość (w Mbps) interfejsów sieciowych serwera mediów służących do przesyłania strumieni multimedialnych • Dostępność MS

o High Availibility – parametr określający dostępność systemu, rozumianą jako dostępność dla użytkownika i/lub dla systemów z nim współpracujących. Serwer mediów jest zaliczany do systemów o wysokiej dostępności. Dla takich systemów wartość high availibility wyraża się zazwyczaj w postaci liczby procentów opisywanej liczbą wchodzących w jego skład cyfr 9[3]:

  • 9% = niedostępność systemu przez 43.8 min/miesiąc lub 8.76 godzin/rok („trzy dziewiątki”)
  • 99% = niedostępność systemu przez 4.38 min/miesiąc lub 52.6 min/rok („cztery dziewiątki „)
  • 999% = niedostępność systemu przez 0.44 min/miesiąc lub 5.26 min/rok („pięć dziewiątek „)

o MTBF (Mean Time Between Failures) – maksymalny czas bezawaryjnej pracy systemu bez konieczności jego ponownego uruchamiania

o MTTR (Mean Time To Repair) – maksymalny czas potrzebny na naprawę systemu po wystąpieniu awarii

o Maksymalny czas trwania restartu systemu od wyłączenia go do chwili przywrócenia konfiguracji sprzed wyłączenia o Maksymalny czas na uaktualnienie (upgrade)

  • Oprogramowania MS
  • Konfiguracji sprzętowej MS

o Szacunkowa częstotliwość niezbędnych aktualizacji oprogramowania/ konfiguracji sprzętowej MS • Parametry sprzętowe MS

o Ilość pamięci operacyjnej, przestrzeni dyskowej, wydajność procesora o Ilość kart rozszerzeń

  • Wspomagających przetwarzanie sygnałów
  • Zawierających interfejsy sieciowe

o Miara wydajności jednostki centralnej (CPU) maszyny

  • Liczba MIPS (Milion Instructions Per Seconds); określa liczbę milionów operacji stałoprzecinkowych wykonywanych przez CPU w ciągu 1 sekundy[4]
  • Liczba FLOPS (Floating Point Operations Per Second) – liczba operacji zmiennoprzecinkowych wykonywanych przez CPU w ciągu 1 sekundy.

Należy podkreślić, iż praktyka rynkowa pokazuje, że znacznie bardziej efektywna jest implementacja MS w postaci odrębnej maszyny niż w postaci aplikacji umieszczanej na różnego typu serwerach sprzętowych. Przetwarzanie sygnałów, a zwłaszcza transkodowanie, pochłania bowiem dużo mocy obliczeniowej. Operacje te są przeprowadzane bardziej wydajnie i zużywają mniej zasobów w przypadku sprzętowej implementacji serwera mediów, zwykle przy wykorzystaniu kart sygnałowych z procesorami DSP. Wydajność spada dla programowych implementacji algorytmów przetwarzania sygnałów. Możliwe jest też podejście „mieszane” – tzn. programowa realizacja MS pracująca na serwerze i wykorzystująca zainstalowanie w nim karty z procesorami DSP.


[1] Tutaj: nadmiarowość w stosunku do tego co konieczne celem zmniejszenia prawdopodobieństwa awarii Media Servera w sieci. Serwery z aplikacją MS lub maszyny, które są realizacją MS, są duplikowane i w razie awarii któregoś z nich (lub silnego obciążenia) zadania przejmuje następny. Taka redundantna struktura (cluster) jest przez sieć „widziana” jako jeden Media Server. Algorytmy współdzielenia/przejmowania pracy przez instancje MS w ramach clustera zależą od implementacji i nie są przedmiotem standaryzacji.

[2] Poziom jakości usług świadczonych dla klienta jest określany zwykle w dokumencie SLA – Service Level Agreement

[3] Określanie wartości High Availibility jest oparte o dokładne pomiary czasu dostępności danego systemu wykonane z wykorzystaniem niezawodnych narzędzi, jak i przy udziale osób oraz o szacunkowe obliczenia matematyczne. Ostateczna wartość parametru określa dostępność z punktu widzenia użytkownika (administratora systemu) jak i sieci (system może być bowiem dostępny dla administratora ale niedostępny w sieci i odwrotnie).

[4] Zamiennie wielkość ta określana jest terminem MOPS (Million Operations Per Second) – milion operacji na sekundę