Sunteți pe pagina 1din 40

Aplicaii multimedia distribuite

CAPITOLUL

ATM: SINCRONIZAREA APLICAIILOR MULTIMEDIA

4.1 Aplicaii multimedia distribuite


4.1.1 Caracteristicile aplicaiilor multimedia distribuite
Dezvoltarea vertiginoas a performanelor tehnicilor de calcul i n special progresul continuu n domeniul comunicaiilor a condus la delimitarea unui domeniu aplicativ aparte cel al sistemelor multimedia. Acest domeniu presupune vizualizarea aplicaiilor care modeleaz n timp real fenomene complexe, permit reprezentarea i gestionarea documentelor n variate moduri, ofer un suport pentru ingineria concurent .a.m.d. Putem totui afirma c trstura esenial a unui sistem multimedia este integrarea n aplicaie a datelor, semnalelor audio i semnalelor video. Celelalte caracteristici [DDC03] importante pe care trebuie s le asigure un sistem, respectiv o aplicaie multimedia, sunt: date tipizate pentru fluxuri informaionale continue de multe ori aplicaiile multimedia implic procesarea unui flux continuu de date, ceea ce necesit o localizare i o accesare rapid n memoria de date; de menionat ns c memoria cache este mai degrab un obstacol din acest punct de vedere, pentru c la procesarea unui flux de date care se modific n mare vitez, procesorul ar putea raporta frecvent erori de cache; asigurarea calitaii serviciilor(QoS) de cele mai multe ori, dar, n special, n aplicaii n care este preponderent video dinamic, nu se urmrete o performan maxim (de exemplu viteza maxim de transfer), ci respectarea unui anume parametru de calitate (de exemplu un prag semnificativ de percepie);

Sisteme de comunicaii Reele ATM i reele locale

.4 - 225.

Capitolul 4 / 1- ATM: Sincronizarea aplicaiilor multimedia

paralelizarea operaiilor numeroase funcii multimedia presupun segmentarea fluxului de date pentru a permite operaii n paralel; nu trebuie ns exclus nici tehnica reciproc, de adunare ntr-un flux unic a datelor prelucrate parial pentru atingerea rezultatului final; necesar sporit de memorie - pentru masive de date care nu pot fi localizate dect pentru un interval scurt de timp; performane specifice pentru comunicaiile n reea - parametrii cheie care trebuie monitorizai n acest gen de aplicaii sunt, lrgimea de band, intervalul de timp pentru transmisie (latent), capacitatea de transmisie multipunct, fiabilitatea i sincronizrile necesare. Iat cteva detalii privind aceti parametrii:

1. Banda standardele DVI i MPEG pentru compresie video i audio arat c o calitate acceptabil se obine doar la fluxuri de date peste 1.5 Mbps. Un standard nu prea pretenios de videoconferin cum este H.261 indic viteza de 64 Kbps ca limit acceptabil pentru transmisii cvasi-statice ntr-o reea WAN, n timp ce o vitez de 384 Kbps (obinut prin partajarea pe 6 canale ISDN) duce la rezultate superioare chiar n medii eterogene. S notm ns c foarte multe aplicaii multimedia pot utiliza un trafic asimetric (vitez mare doar pe un sens), iar aplicaii cum sunt videoconferinele implic garantarea unui flux maximal n ambele direcii. 2. Latena standardele ITU stipuleaz o ntarziere total maxim n reea (end-toend delay) de pan la 150 ms pentru aplicaii video interactive. Majoritatea aplicaiilor bazate pe comunicaii video i audio se nscriu n clasa aplicaiilor izocrone (care necesit acelai interval de timp n transmisia oricrui pachet de la surs la destinaie). E adevarat, aceast problem se rezolv la destinaie, prin refacerea succesiunii iniiale de pachete folosind pachetele care au fost stocate pe masura recepionrii lor, dar chiar acest proces de refacere aduce o ntrziere suplimentar. De aceea, de regul, latena se compune din 4 segmente: (1) timpul de compresie i mpachetare la surs, (2) timpul de transmisie efectiv, (3) timpul de ateptare n coad i de sincronizare la destinaie, (4) timpul de decompresie, despachetare i extragere. Deoarece un flux video necesit de la 25 la 30 cadre pe secund, compresia i decompresia n timp real nu poate depai 30 40 ms, iar latena maxim se situeaz undeva n jur de 60 ms. 3. Fiabilitatea comunicaiile tradiionale se bazeaz pe o legtur bidirecional fiabil, n care se folosesc diferite tehnici de control al erorilor: coduri ciclice, sume de control, cmpuri numrtoare etc. Detectarea unei erori conduce de regul la retransmisia pachetului n care a fost depistat, n baza unui algoritm specific (cele mai rspndite sunt cele de tip ARQ, bazate pe confirmare pozitiv ACK(acknowledge) sau negative NAK (not acknowledge)), dar aceste tehnici duc, de regul, la dublarea i chiar triplarea timpului mediu de transmisie. Iat deci c n aplicaii video i audio cu timp critic, tehnicile de retransmisie nu

.4 - 226.

Aplicaii multimedia distribuite

sunt folositoare. S-a ncercat depirea acestui impas prin utilizarea comutrii de celule (cazul ATM), la care, practic, nu se controleaz la eroare dect adresa, nu i informaia propriu-zis, dar viteza sporit de transmise face ca pierderea unei celule s nu duc la erori semnificative. Un alt remediu este utilizarea de tehnici de corecie anticipative FEC (Forward Error Correction). 4. Sincronizarea - ori de cte ori fluxurile de date multimedia ajung la destinaie de la diferite surse i pe trasee diferite, este necesar o operaie de sincronizare a acestora. Principial, sincronizarea se bazeaz pe ntrzieri calibrate n buffere temporare, dar se poate accepta c problema se rezolv prin sistemul de operare n cadrul protocoalelor de tip client - server. 5. Comunicaia multipunct - exist din ce n ce mai multe aplicaii multimedia cu utilizatori multipli, la care informaia se difuzeaz pe suport broadcast. n literatura de specialitate sunt descrise mai multe modele pentru acest gen de comunicaie, cele mai multe bazate pe arbori sau pe grafuri.

4.1.2 Sincronizare multimedia


Utilizatorii unei reele pot avea posibilitatea de a profita de avantajele oferite de un mare numr de aplicaii multimedia. Astfel de aplicaii au cerine specifice i impun constrngeri temporale. Textul, vocea, graficele, video pot forma un flux multimedia cu caracteristici ce variaz enorm. Cerinele aplicaiilor multimedia pot fi specificate prin funcionaliti i parametrii de calitate a serviciului, QoS. Multicast, multiconexiune, sincronizare sunt cteva din funcionalitile unui flux multimedia, iar lrgimea de band, debit, ntrziere, variaia ntrzierii (delay jitter) , procent de erori acceptabil reprezint parametrii QoS cei mai importani. Parametrii sunt utilizai de sistemele de comunicaii pentru a garanta execuia normal a aplicaiei. Aplicaiile multimedia pot fi aplicaii n timp real cu necesitatea garantrii lrgimii de band i a debitului cerute de aplicaie, precum i cu impunerea sincronizrii ntre utilizatori i ntre fluxurile media implicate, respectiv fr constrngeri de timp, mai puin gurmande cu privire la band i debit. Fluxurile media pot fi, discrete cu valori independente n timp (text,grafice) i timpi de rspuns de ordinul secundelor, respectiv continue cu valori dependente n timp (voce,video). ntr-un un flux media exist 3 tipuri de relaii: - de coninut dependenele ntre obiectele documentului; - spaiale definesc spaiul utilizat pentru prezentarea unui obiect la un periferic de ieire la un moment dat ntr-o prezentare; - temporale definesc dependenele temporale ntre obiecte; pot fi specificate implicit (restituite exact cum au fost capturate) sau explicit (obiecte create sau capturate independent).

Sisteme de comunicaii Reele ATM i reele locale

.4 - 227.

Capitolul 4 / 1- ATM: Sincronizarea aplicaiilor multimedia

O aplicaie multimedia cere n general 4 tipuri de sincronizri: - inter-media - (Single Continuous Medium Synchronization) face referin la relaia temporal ntre multiple uniti de prezentare ale unui mediu continuu; - intra-media (Multiple Media Synchronization) face referin la relaia dintre obiectele ce compun fluxul media; - condiional i multipunct fac referin la prezentarea unui eveniment dac se ndeplinete o condiie, respectiv la producerea acestuia n acelai timp n diferite locaii; Sincronizarea inter-media poate fi, n timp real - se reproduc pe durata de restituire aceleai relaii temporale prezente n perioada de achiziie, sau artificial aplicaiile pot replanifica sincronizarea, existnd relaii flexibile de sincronizare ntre diferite medii; relaiile temporale ale unor astfel de aplicaii sunt variabile; sincronizarea ncepe printr-o faz de specificare unde sunt definite relaiile temporale i continu printr-o faz de prezentare n conformitate cu un mod de sincronizare definit anterior. Sistemele multimedia urmresc 4 tipuri de configuraii: unicast, multicast, de regsire i de grup. Se identific 4 surse de asincronism [YeAk94]: - variaia ntrzierii datorat timpului de achiziie, timpului de parcurgere a reelei, timpului de restituire; - deriva ceasurilor locale ; - diferenele ntre timpii de iniiere a achiziiilor ; - diferenele ntre timpii de iniiere a restituirilor ;

4.1.3 Protocoale de sincronizare multimedia n contextul ATM


Sincronizare intra-media [WKWL94] propune un protocol de resincronizare a fluxurilor media la receptor. Protocolul servete ca interfa ntre nivelurile joase ale arhitecturii ISO-OSI specifice modelului de referin de protocol ATM i nivelul de aplicaie multimedia. Protocolul cuprinde 2 entiti. Marker-ul ce insereaz celule de control celule de sincronizare, n fluxul media pentru a indica locul n care datele trebuie sincronizate i sincronizatorul care recunoate celulele de marcare i evalueaz momentul sosirii acestora relativ la un interval de toleran de timp. Structura celulei ATM, care n antet cuprinde 2 bii ce permit indicarea tipului sarcinii celulei, ofer posibilitatea creerii i gestionrii unor astfel de celule de sincronizare celule sync.

.4 - 228.

Aplicaii multimedia distribuite

Celulele sync sunt periodic inserate la cererea aplicaiei n fiecare flux media. Acesta este divizat n segmente ce cuprind o celul sync i mai multe celule cu sarcin util. O perioad include un set de segmente ale unor fluxuri diferite. La receptor, sincronizatorul aliniaz fluxurile, n conformitate cu celulele de control, nainte ca acestea s fie efectiv transferate aplicaiei. O celul sync, poate fi pierdut, i, ca atare, restul segmentului va fi aliniat la datele segmentului perioadei anterioare. Protocolul trebuie s ofere soluii i resurse pentru rezolvarea unei asemenea situaii. n acest sens, receptorul utilizeaz un numrtor de secven, fiind capabil s tolereze o pierdere de n-1 celule sync, iar emitorul un contor de secven pentru celulele sync. Identificm 3 politici de gestionare a unei astfel de situaii: - Drop-old prin care, sosirea unui numr de secven altul dect cel ateptat, va indica pierderea unei celule sync i ca atare se elimin cele mai vechi segmente sosite n buffer-ul receptorului; - Transmit-old prin care cele mai vechi segmente sunt totui transmise aplicaiei chiar dac celula este pierdut; - Transmit-delay prin care celulele ce sosesc mai devreme sunt ntrziate o anumit perioad de timp; Drop-old i Transmit-old blocheaz celulele sync sosite n avans, pn cnd toate celulele sync expediate la acelai moment de timp sosesc. Dac o celul este pierdut, niciuna din celulele memorate respectiv celulele cu sarcin utile ataate nu vor fi transferate aplicaiei ci eliminate (Drop-old) sau toate vor fi expediate aplicaiei (Transmit-old). O important trstur a reelei ATM o constituie capacitatea de negociere a parametrilor QoS i garantarea valorilor pe durata sesiunii. Se identific 2 niveluri de QoS. Nivelul aplicaie ce precizeaz cerinele QoS protocolului de sincronizare, respectiv nivelul multimedia ce construiete antetul i negociaz versiunea sa de QoS cu reeaua ATM. O aplicaie multimedia poate negocia urmtorii parametrii QoS cu protocolul de sincronizare: - rata de pierdere a celulei numrul maxim de celule ce pot fi pierdute n timpul transmisiei; - tolerana ntrzierii ct de multe celule pot atinge destinaia ntr-un interval de toleran a ntrzierii cap-la-cap; - tolerana n prsirea/meninerea (out-of-sync) sincronismului dimensiunea intervalului temporal maxim dintre prima i ultima celul sync recepionate la destinaie; - rata de transmisie a datelor viteza maxim pe care sursa multimedia o poate utiliza;

Sisteme de comunicaii Reele ATM i reele locale

.4 - 229.

Capitolul 4 / 1- ATM: Sincronizarea aplicaiilor multimedia

Protocolul negociaz cu reeaua ATM: - rata de pierdere a celulei ct de multe pot fi pierdute n reea; - lrgimea de band ct de repede trebuie s transfere reeaua celulele; parametrii QOS specificai de aplicaia multimedia: rata de pierdere a celulei: aP; tolerana intrzierii aD i aA: cel puin aA celule trebuie s soseasc la destinaie cu maxim de ntrziere cap-la-cap permis aD; tolerana - out-of-sync, aO i aR: aO reprezint diferena de timp maxim permis ntre oricare 2 segmente de flux care trebuie sincronizate; aR este procentul de neviolare a toleranei; rata transmisiei datelor aT: numrul de celule de date transferate n unitatea de timp. parametrii QoS specificai de protocolul de sincronizare rata de pierdere a celuleli: pP ; caracteristica de ntrziere pF(t): funcia densitate de probabilitate descrie caracteristica ntrzierii introduse de protocol ; maximul toleranei out-of-sync: pO ; rata de transmisie a datelor: pT parametrii QoS specificai de reea rata de pierdere a celulei: nP ; tolerana ntrzierii celulei - nD i nB: cel puin nB pri din celul trebuie s strbat reeaua n timpul limit nD; rata de transmisie a celulei: nT parametrii sistemului sM: numrul de fluxuri media; sS: numrul de celule / segment; sN: numrul numerelor de secven distincte pentru celulele sync; sB: dimensiunea buffer-ului sistemului; sU: rata de transmisie a celulei la sincronizator; sV: rata de transmisie a celulei pentru fluxurile timpurii n cazul politicii transmit-delay. tolerana ntrzierii drop-old: transmit-old: nD(i) = aD(i) - sB(i)/sU(i), nB(i) = aA(i)(1/sM) nD(i) = aD(i) - mD(i), nB(i) = aA(i)(1/sM) mD(i) = max { sS(j)*pP(j)/(sU(j)(1-pP(j))2) sB(i)/sU(i) } , i j nD(i) = aD(i) - sB(i)/sV(i), nB(i) = aA(i)

transmit-delay:

.4 - 230.

Aplicaii multimedia distribuite

rata de pierdere a celulei drop-old: transmit-old i transmit-delay : dimensiunea buffer-ului drop-old i transmit-old: transmit-delay: tolerana out-of-sync aO max sS(i)*q(i)*pP(i)/nT(i)*(1-pP(i))2, unde q(i) = 1-(1-nP(1))*(1-nP(2))*...*(1nP(sM)) integral din f(t) pe intervalul [nD(i), nD(i)+pO]este mai mare dect aR(1/sM) unde pO + sB(i)/sV(i) aO. nB(i) nT(i)*aO nB(i) (nT(i)-sV(i))*aO aP(i) 1-(1-nP(1))*(1-nP(2))*...*(1nP(sM))+(1-aA(i) aP(i) nP(i) + (1-aA(i))

- drop-old i transmit-old: - transmit-delay:

Politica drop-old introduce ntrzieri, n timp ce transmit-old pierde cteva celule. Ambele politici de blocare (drop-old i transmit-old) resincronizeaz fluxurile media, dar introduc jitter adiional. Ca rezultat, calitatea semnalului la echipamentul client va fi degradat. Pe de alt parte, transmit-delay, transmite fluxurile media mai lent odat cu degradarea calitii sincronizrii. Relativ la QoS, drop-old cere reelei s suporte o rat de pierdere a celulei semnificativ mai mic prin comparaie cu celelalte cazuri. Totui, pentru drop-old, cerina n ntrziere pentru reea este mai puin restrictiv. Transmit-delay impune o cerere semnificativ asupra acestui parametru, nu mai puin adevrat fiind c, este permis ca o anumit parte a celulei s fie recepionat corect n perioada de ntrziere. Mai mult, aceast politic cere un buffer mic, deoarece celulele sunt mai degrab transmise i procesate dect memorate, i o vitez mic dac fluxul reprezint nceputul altor fluxuri. Sincronizare inter-media ntr-un sistem multimedia, geografic distribuit Server-ele Media (MAS) cu capaciti mari de nmagazinare pot oferi unui utilizator diferite tipuri de informaii pe un terminal media (MT). ntr-un sistem distribuit, mai multe MAS-uri pot oferi unui MT, simultan, informaii n diferite formate media continue (video,audio) sau sporadice (imagini,text). Pentru diferite surse de informaie, cu corelaie temporal semnificativ, este important ca acestea s fie sincronizate. O tehnic comun de rezolvare a acestei probleme o reprezint sincronizarea mutual a debitelor media server-elor [Nic90],[LiGh91],[AnHo91]. Pe baza modelului traficului n rafale, [HaLi94] ofer o tehnic i o schem de sincronizare a ceasurilor server-elor MAS. n schem, terminalul MT, care recepioneaz fluxuri
Sisteme de comunicaii Reele ATM i reele locale .4 - 231.

Capitolul 4 / 1- ATM: Sincronizarea aplicaiilor multimedia

continue de date de la diferite servere media, acioneaz ca i coordonator de sincronizare. Se analizeaz corelaia dintre ceasurile server-elor i comportamentul reelei la trafic n rafale pentru o reea ATM. Corelaia se realizeaz ntre intervalele de timp de resincronizare, drift-ul ceasurilor, i jitter-ul reelei. Rezultatul sugereaz c n alocarea resurselor reelei ATM canalelor virtuale VC, ntrzierea n transmisie, rata de pierdere a celulei i sincronizarea ceasurilor sunt la fel de importante pentru un sistem multimedia distribuit. n schema de sincronizare se consider un ceas logic la MAS scalat liniar ce determin rata de livrare a celulelor. Problema de sincronizare este modelat ca o problem de sincronizare a ceasului. n realitate ajustarea ceasului se poate realiza prin pauze i eliminri pentru cadrele media. Aceasta presupune ca celulele de sincronizare i cele de date ale unui MAS s fie expediate spre MT prin acelai VC, avnd astfel aceeai distribuie a ntrzierii n sincronizare. Pe de alt parte, ct timp doar cteva celule trebuie s fie expediate dinspre MT spre MAS, se presupune c variaia ntrzierii n acest sens este neglijabil. Acest tip de variaie se presupune a fi nglobat n timpul de stabilire al VC-urilor. Schema poate fi implementat cu 2 sau mai multe MAS-uri n sistem, putnd fi generalizat. Se adopt, modelul master-slave pentru sincronizarea ceasurilor locale. Un ceas logic al unui MAS, este definit ca ceas master iar ceasul celorlalte MAS-uri este ajustat periodic astfel nct decalajul s poat fi controlat ntr-o gam prestabilit. Ceasul pentru MT trebuie s fie sincronizat cu ceasul oricrui MAS. Algoritmul de sincronizare al ceasurilor este urmtorul: MT difuzeaz un mesaj de sincronizare spre MAS-uri dup un interval de timp (logic) fix, numit interval de sincronizare. Dup recepia mesajului de sincronizare, fiecare MAS expediaz un mesaj tampilat temporal spre MT coninnd momentul de timp local curent propriu la care MAS a recepional mesajul. Odat primit mesajul, MT calculeaz diferena dintre cele 2 valori i prezice valoarea de ajustare pentru MAS-uri. MAS-ul master va porni urmtorul ciclu de sincronizare fr s-i modifice valoarea ceasului, n timp ce MAS-ul slave va ajusta aceast valoare imediat funcie de informaia mesajului expediat de MT. Parametrii implicai n algoritm sunt : intervalul de sincronizare maxim, resursele reelei alocate pentru controlul jitter-ului canalelor virtuale, valoarea de ajustare a ceasului pentru fiecare MAS. Aceti parametrii refer ntrzierea n reea, defazajul permis al ceasurilor MASurilor i viteza de drift a acestora. Relaiile sunt dezvoltate n [HaLi94], iar rezultatele arat c deriva de timp a ceasurilor server-elor media are implicaii semnificative.

.4 - 232.

Protocoale de sincronizare multimedia

4.2 Protocoale de sincronizare multimedia


Abordrile cu privire la protocoalele de sincronizare existente n literatura de specialitate difer funcie de tipurile de configuraii suportate. Unele dintre acestea impun prezena clienilor unui grup de sincronizare n acelai nod [AnHo91], altele presupun existena unei arhitecturi centralizate bazate pe un server care memoreaz i distribuie fluxurile de date [RaRa92], [RRK93]. n acest ultim caz, clienii grupului trimit periodic mesaje de reacie spre server utilizate de acesta n estimarea strii fiecrui flux individual. Dac ceasurile nodurilor clienilor nu sunt sincronizate, calitatea estimrii va depinde de jitter-ul mesajelor de reacie, care se presupune a fi limitat. O abordare similar este realizat n [AgSo94], care nu cere limitarea jitter-ului dar estimeaz diferenele prin intermediul mesajelor de prob. Protocoale precum cele propuse de [EPD94] i [CCGH92] presupun sincronizarea ceasurilor i suport configuraii n care elementele grupului sunt distribuite. Totui, niciunul dintre acestea nu permit clientului s reacioneze imediat n situaia n care starea fluxului devine critic. Nu se suport noiunea de flux master, excluzndu-se anumite politici de sincronizare. n fine, niciuna din scheme nu ofer concepte de control al nivelului buffer-elor. Vom prezenta pentru nceput, o metod simpl de sincronizare a fluxurilor de date, evideniind diferitele probleme pe care protocoalele de sincronizare multimedia trebuie s le rezolve, 3 strategii de sincronizare i 2 clasele de protocol. n partea a treia, sunt analizate 7 protocoale de sincronizare ce ilustreaz cele 3 strategii i cele 2 clase de protocol. Pentru fiecare dintre acestea, se vor preciza tipurile de configuraii suportate, sursele de asincronism i modelul de protocol. Principii Considerm 2 fluxuri de date ce parcurg separat i independent nodurile unei reele. Dac ceasurile nodurilor sunt sincronizate, pentru a menine sincronizarea fluxurilor o posibil soluie const n a tampila temporal datele la prsirea surselor i de a calcula n paralel timpii de parcurs ai reelei pn la destinaie. Timpul maxim va fi acceptat de entitatea de protocol destinatar ca timp de baz, i ca atare, va ntrzia datele mai rapide nainte de a le oferii aplicaiei client. Ideea pare simpl, dar protocoalele trebuie s fac fa unor constrngeri: trebuie s fie funcionale pentru 4 configuraii, s permit fluctuaii ale timpilor de parcurs n reea, i eventual s fac fa situaiilor extreme n care timpii de parcurs
Sisteme de comunicaii Reele ATM i reele locale .4 - 233.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

sunt foarte mari (fluxul nu poate fi recuperat). n plus, aplicaiile integrnd noiunea de grup, protocolul trebuie s permit gestiunea multiplelor grupuri de sincronizare n acelai mediu de lucru. Cele 7 protocoale propuse, abordeaz problematica expus, niciunul nu trateaz toate aspectele, dar fiecare abordeaz unul sau mai multe, funcie de tipul de aplicaie pentru care a fost elaborat. Clasificri Se disting 3 strategii pentru asigurarea sincronizrii multimedia[PrBo94]: - tampile temporale; - canale de tip feedback ce permit transmiterea periodic a informaiilor de timp i sincronizare; - multiplexarea fluxurilor media ce permite transferul de date legate ntre ele temporal prin acelai canal. Deasemenea, protocoalele pot fi clasificate n 2 clase: - cele care presupun existena ceasurilor nodurilor reelei sincronizate i ca atare se pot inspira din metoda anterioar; - cele care nu fac aceast presupunere, caz n care este necesar o alt metod dect cea propus pn acum. Pentru ATM, atta timp ct fluxurile media vor strbate acelai canal virtual cu aceeai parametrii QoS, vor fi vzute ca un flux monomedia i, ca atare, putem elimina strategia de sincronizare ce const n multiplexarea fluxurilor.

4.2.1 Adaptive flow synchronization protocol


Protocolul permite sincronizarea expedierii datelor dinspre i spre site-uri geografice distribuite. Acesta introduce sincronizarea adaptiv n cazul modificrii condiiilor reelei, flexibilitate n meninerea sincronizrii grupurilor multiple, i o arhitectur modular ce permite aplicaiei client s efectueze calcule de sincronizare n funcie de exigene [EDP92]. Protocolul se bazeaz pe sincronizarea ceasurilor nodurilor reelei, funcionnd n toate cele 4 configuraii. Poate sincroniza fluxuri de date funcie de tipul sau grupul de utilizatori. Protocolul tampileaz temporal fiecare element de informaie oferit de surs, i echilibreaz timpii de ateptare la destinaie pentru a impune un timp de parcurs al reelei fix pentru fluxurile de date de sincronizat. Timpul de egalizare poate fi fix sau adaptiv. Protocolul utilizeaz, o arhitecur modular care autorizeaz aplicaiile s influieneze procesele de egalizare (ex. cum s reacioneze la timpii de parcurs ai reelei foarte lungi) i propriile sale date tampilate temporal pentru a depinde ct mai puin de mecanismele de transport ale diferitelor reele.
.4 - 234.

Protocoale de sincronizare multimedia

Protocolul poate fi plasat la diferite niveluri ale arhitecturii OSI: - la nivelul transport avnd grij s nglobeze ct mai mult posibil timpii de parcurs ai reelei dintre surs i destinaie; - la nivelul mecanismelor multimedia pentru aplicaii multimedia; - la nivelul omogen al sistemelor distribuite. Modelul ntrzierii datelor Protocolul implementeaz o sincronizare bazat pe modelul ntrzierii datelor (fig. 4.2.1), cu urmtorii parametrii: - C timp de achiziie (ex. de codare a datelor); - t timp de tranzit, pn la atingerea entitii de protocol distante; - e timp de egalizare, inserat de protocol pentru a egaliza timpii de parcurs n reea ai fluxurilor de date; - d timp de eliberare (restituire), ntre momentele de deblocare a datelor (tr) de ctre protocol i prezena acestora n cadrul aplicaiei distante; - reprezint suma celor 4 timpi; - d - C + t + d ntrzierea fluxului de date neegalizat. [4.1]

Figura 4.2.1 Modelul ntrzierii datelor

Figura 4.2.2 Modelul de protocol

Modelul de protocol Procesul iniiator I distribuie informaiile de control. Un flux i, procesului surs Si i procesului destinatar Di. Si tampileaz temporal datele iar Di implementeaz egalizarea utiliznd buffer-e pentru stocarea datelor. Un flux de date este reprezentat de datagrame, celule sau iruri de bii. Un flux multicast j este reprezentat de multiple fluxuri (jx,jz,jz) ce partajeaz aceeai surs. Fluxurile ale cror destinaii aparin aceluiai grup de sincronizare (GK, GM) vor fi sincronizate ntre ele de ctre protocol (fig. 4.2.2).

Sisteme de comunicaii Reele ATM i reele locale

.4 - 235.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Controlul executat de protocol Exist 3 tipuri de mesaje: de control, de eveniment i de perioad (fig. 4.2.3). Iniiatorul, I, expediaz mesaje de control tuturor proceselor (surs i destinaie) pentru a iniializa sau schimba parametrii sesiunii. Procesele surs, expediaz mesaje eveniment proceselor destinaie pentru a le comunica parametrii ce descriu fluxurile, dac este necesar. Aplicaia grupeaz destinaiile n grupuri de sincronizare, procesele aceluiai grup schimbnd regulat informaii prin intermediul mesajelor de periaod n scopul calculrii ntrzierii n sincronizare K comun unui grup.

Figura 4.2.3 Mesaje de protocol

Figura 4.2.4 Parametrii de timp i faze de protocol

Protocolul exploateaz sincronizarea ceasurilor nodurilor reelei nu numai pentru a tampila temporal datele i pentru a egaliza timpii, ci i pentru a facilita controlul protocolului. Astfel, iniiatorul I, distribuie 4 parametrii de timp (fig. 4.2.4) care partajeaz intervalul de timp al procesului de sincronizare n perioade de timp de sincronizare: - t0 timp de referin pentru tampilare; - u lungimea perioadei de actualizare; - q lungimea intervalului de repaus la nceputul perioadei, n care trebuie s se efectueze schimbul mesajelor de perioad; - x indic momentul la care coninutul mesajului de control intr n viguare. Aplicaia client activeaz procesele sesiunii i protocolul ncepe prin faza de iniializare, n care mesajele de control (eveniment i perioad) iniializeaz parametrii de timp. La momentul t1 faza de egalizare ncepe i se menine sincronizarea.

.4 - 236.

Protocoale de sincronizare multimedia

Pentru egalizare, procesele sesiunii utilizeaz 3 funcii orientate pe aplicaie: - o funcie de sincronizare pentru calculul K ; - o funcie de filtrare pentru estimarea timpului fluxului neegalizat di ; - o funcie de eliberare pentru planificarea eliberrii datelor. Iniializarea controlului Aplicaia client activeaz toate procesele i furnizeaz parametrii specifici fiecrui flux. Aciunea ncepe cu faza de iniializare, apoi aplicaia activ I va controla sesiunea. Iniiatorul I, calculeaz parametrii de timp, t0, tx, q, u, funcie de cunotiinele sale despre reea i le expediaz tuturor proceselor ntr-un mesaj de control. Valoarea tx este relativ la t0, i pentru mesajul de control de iniializare, tx = 0. Iniiatorul include i parametrii de control ai sesiunii de aplicaie n mesajul de control. Cnd Si recepioneaz mesajul de control, expediaz un mesaj de eveniment tuturor proceselor destinatare i ateapt nceputul fazei de egalizare. Mesajul permite comunicarea parametrilor descriptori de flux. Valoarea t0, aleas de I, trebuie s ofere destul timp utilizatorilor pentru recepia tuturor mesajelor expediate n faza de iniializare. Cnd Di recepioneaz mesajul de control i mesajul de eveniment, ateap dac este cazul pn la t0. n acest moment construiete un mesaj de perioad pe care l expediaz tuturor membrilor grupului su de sincronizare GK. Valoarea q, aleas de I, trebuie s ofere destul timp pentru schimbul mesajelor de perioad n toate grupurile de sincronizare. Mesajele de perioad transport 3 parametrii: di, ui, pi unde : - di ntrzierea fluxului ; pentru iniializarea sa, Di utilizeaz o valoare implicit furnizat de aplicaia local, dar pe parcursul egalizrii funcia de filtraj estimeaz di ; - ui limita superioar acceptat pentru timpul de parcurs al fluxului ntre surs i destinaie ; - pi prioritate flux. n perioada de repaus, Di ofer valorile di, ui, pi funciei de sincronizare. nainte de t1, Di recepioneaz mesajele de perioad, coninutul lor fiind trecut funciei de sincronizare. La t1, faza de egalizare i tampilarea datelor ncep. Pe parcursul fazei de egalizare, clientul controleaz protocolul prin emisia de comenzi spre procese i prin actualizarea parametrilor sesiunii.

Sisteme de comunicaii Reele ATM i reele locale

.4 - 237.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Egalizarea Faza de egalizare ncepe la t1. Si tampileaz temporal datele fluxului cu valoarea temporal = t ci - t0 unde t este ora local. Valoarea ci provine din timpul de tratare, de tranzit n traversarea sub-reelelor i din memorarea datelor n buffer-ele sursei. Introducerea lui t0 n permite sincronizarea facil a datelor pre-tampilate ale unei baze de date pentru o sesiune n timp real. Di utilizeaz fiecare timp recepionat, pentru a calcula timpii de eliberare asociai: tr = t0 + K - Ci. Valoarea tr este trecut funciei de eliberare, care planific eliberarea datelor. n acest timp, funcia de filtraj msoar ntrzierea fluxului (t t0 + Ci ), pentru a estima ntrzierea di. Protocolul trebuie s se adapteze modificrilor de ntrziere. Acest lucru se realizeaz prin transportul mesajelor de perioad n perioada de repaus. Di trebuie s recepioneze mesajele de perioad de iniializare de la toi membrii grupului GK pn la t1. Pentru a se repartiza ncrcarea reelei, Di ateapt un numr aleatoriu de mai mult de K perioade de actualizare. Pentru a acelera rspunsul protocolului, Di trebuie s expedieze un nou mesaj de fiecare dat cnd di se modific cu n raport cu valoarea sa din perioada precedent. K i sunt afectate de aplicaie la traversarea mesajelor de control.

4.2.2 Media mixing algorithm


Algoritmul a fost creat pentru a suporta aplicaii de teleconferin [RVR93]. Utilizeaz o ierarhie n combinarea datelor i un unificator denumit rdcin ce expediaz datele spre toi participanii. Nu utilizeaz ceasul global al reelei i accept prezena ntrzierilor n timpii de comunicaie. Nu exist alte mesaje n afara datelor fluxurilor media ntre participani i sursa de date. Efortul s-a axat pe o arhitectur ierarhizat mai degrab dect pe una centralizat sau distribuit, n scopul oferiri de suport pentru un mare numr de participani (peste 400). ntr-o form simpl, conferina multimedia este stabilit prin setarea canalelor logice ntre participanii grupului, dup care informaiile multimedia pot fi schimbate ntre participani. ntr-o conferin multi-party, fiecare participant va recepiona un mesaj obinut prin mixarea fluxurilor media ale celorlali participani. ntr-o reea cu comutare de pachete, o problem important o constituie determinarea setului de pachete ale diverselor surse ce trebuie mixate. Un astfel de pachet se numete set de fuziune. Dac fiecare surs genereaz pachete cu rat constant de perioad p atunci cea mai mic fereastr care garanteaz generarea de pachete de la 2 surse independente este p/2. n general, cnd sunt m surse, cea mai mic fereastr este p p/2m-1. Pentru m tinznd la infinit, dimensiunea ferestrei tinde la p.

.4 - 238.

Protocoale de sincronizare multimedia

Regula de mixare:

n1 i n2 pot forma un set de fuziune dac i numai dac g ( n1) g ( n 2 ) p , unde g(n1) i g(n2) sunt timpii de generare a pachetelor n1 i n2 de ctre surs.

Algoritmul de mixare Considerm o conferin n care sunt m surse S1,S2,,Sm (fig. 4.2.5). Fiecare genereaz pachete la vitez constant cu perioada p pe care le transmite spre mixer (M). ntrzierea n comunicaie (timp transmisie,memorare noduri intermediare, etc.) va fi mrginit de min i max.

Figura 4.2.5 Mixarea ntr-o conferin multimedia

Dac S este momentul sosiri la mixer a pachetului numerotat nu nS generat de sursa SS, atunci cel mai apropiat i cel mai trziu ndeprtat de generare a pachetului va fi: geS(nS) = S - max, [4.2] respectiv glS(nS) = S - min [4.3] Masurat de ceasul mixer-ului, momentul de timp de generare gS(nS) se va regsi n intervalul [geS(nS),glS(nS)], care poart denumirea de interval de generare al pachetului nS. Mecanismul de mixare, const n memorarea pachetelor media recepionate de la cele m surse, pn cnd cel puin un pachet este recepionat de la fiecare din ele (creare set de fuziune). Prin regula de mixare, diferena ntre pachete poate fi cel mult p. Datorit jitter-ului, 2 pachete generate la interval p de 2 surse diferite vor suferi ntrzierile min sau max, respectiv vor ajunge la M n fereastre de dimensiune p + ( max - min) care reprezint timpul maxim de ateptare a pachetului n memoria mixer-ului.

Sisteme de comunicaii Reele ATM i reele locale

.4 - 239.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Schema memoreaz i mixeaz are cteva dezavantaje. Datorit efectului jitterului, 2 pachete generate la distan de p + 2( max - min) pot ajunge la mixer n fereastra de dimensiune p + ( max - min) ceea ce va conduce la mixare i ca atare la violarea regulii de mixare (caz WAN). Pe de alt parte pierderile de pachete pot fi deasemenea problematice. Considernd cazul a 3 surse S1,S2 i S3, eventuala pierdere a unui pachet va conduce la crearea unei perechi de seturi de fuziune {S1,S2}i {S2,S3} fiecare coninnd pachete maximal separate n ceea ce privete momentele de generare (ex. prin p + 2( max - min)). n scopul mixrii celor 3, pachetele ce apar separate prin cel mult 2(p + 2( max - min)) pot fi mixate, separarea crescnd liniar cu numrul de surse.

4.2.3 Adaptive feedback protocol


Protocolul rezolv problema asincronismelor pentru serviciile multimedia la cerere (configuraie multicast). Ceasurile nodurilor reelei nu sunt sincronizate. Protocolul realizeaz o sincronizare inter-media prin intermediul unui server ce utilizeaz mesaje de reacie (feedback) transmise de periferice n scopul estimrii momentelor de restituire a datelor i pentru detectarea problemelor de desincronizare [RaRa93]. Server-ul corecteaz desincronizarea prin mrirea sau diminuarea vitezei de restituire la periferice (mediaphones) care pot fi astfel accelerate sau decelerate. Se propun 3 reguli de resincronizare: conservatoare (server-ul garanteaz o restituire asincron), agresiv (exist o mic ans ca restituirea s fie asincron) i probabilistic (regula intermediar ntre cele dou anterioare; utilizat att timp ct distribuia statistic a ntrzierilor n reea i distribuia frecvenei de restituire sunt cunoscute). Cnd ntrzierile introduse de reea sunt deterministe sau constante, iar achiziia sau restituirea sunt perfect identice, restituirea acestora este asigurat uor. Server-ul va trebui s informeze doar perifericele c restituirea va ncepe dup care va expedia datele. Din nefericire, congestia nodurilor reelei introduce ntrzieri nedeterministe. n plus obiectele media pot fi achiziionate de pe site-uri diferite, stocate la nivelul server-ului multimedia i n final restituite diferitelor locaii. Protocolul va trebui s introduc mecanisme adiionale pentru a fora sincronizarea.

.4 - 240.

Protocoale de sincronizare multimedia

[min max]

Drift -

Figura 4.2.6 Recuperare fluxuri de date

Reeaua care interconec- teaz server-ul cu clienii (fig. 4.2.6) este presupus a avea o ntrziere limitat de min i max pentru fiecare unitate de date transmis pe canalul de feedback. ntrzierea n transmisie a reelei poate fi compensat prin rezervarea resurselor necesare iniieri restituirilor memorii de rezervare la nivelul nodurilor reelei, a server-ului i a clienilor. Mesajele de feedback sunt replici ale unitilor de date , dar fr date. Neexistnd un ceas global, decalajele ntre restituiri pentru clieni vor fi limitate la valoarea pe perioada de restituire . Decalajele ntre frecvenele de restituire introduc desincronizri ntre clieni, unii fiind mai rapizi/leni dect alii. Protocolul autorizeaz clienii s emit mesaje doar cnd au recepionat un numr suficient de uniti de date. n absena mesajelor de reacie, asincronismul maxim este calculat prin:
( max min ) + 2 (1 )

unde

[4.4]

este unitatea de date curent;

( max min ) este variaia ntrzierii ; (1 ) 2 este contribuia decalajelor dintre frecvenele de restituire (1 )

[4.5] [4.6]

Un mecanism simplu de resincronizare const n a autoriza server-ul s accelereze anumii clieni i s-i ncetineasc pe alii, sau s opreasc continuitatea restituirii n cele mai defavorabile cazuri. Soluia unui flux master poate evita aceste asincronisme. Ct timp fluxul master este restituit la frecvena sa normal, fluxurile slave pot fi accelerate sau ncetinite, rmnnd sincrone cu fluxul master. Alegerea

Sisteme de comunicaii Reele ATM i reele locale

.4 - 241.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

fluxului master depinde de aplicaie. Pentru sincronizare lip se folosete ca flux master, fluxul audio. n aceast soluie server-ul utilizeaz mesaje de feedback expediate de clieni pentru a estima timpii de restituire cureni. Prin comparaia timpilor, server-ul va detecta ieirile din sincronism i ca atare va suprima sau va duplica unitile de date expediate.

4.2.4 Protocolul de sincronizare al grupului Yen Akyildiz


Protocolul elimin cele 4 surse de asincronism, suportnd configuraii unicast,multicast, de regsire i de grup, i include servicii de difuziune n timp real [YeAk94]. Se regsete la nivelul orchestraie/sincronizare pentru a furniza servicii de sincronizare pentru nivelul aplicaie. n acelai timp, nivelul aplicaie trebuie s informeze protocolul despre obiectele multimedia ce includ flux sincron i despre perioadele de achiziie i restituire. Corecia jitter-ului Asincronismul n acest caz dintre emitorul i i receptorul j poate fi rezolvat prin utilizarea unui buffer a crui dimensiune este :
J i, j Bj = j

unde : [4.7]

- Ji,j reprezint jitter-ul ntre i i j egal cu i,j i,j iar: - i,j este timpul de parcurs maxim al reelei ntre i i j; - i,j este timpul de parcurs minim ntre i i j; - j reprezint timpul de restituire a datelor fluxului media la nivelul clientului j; Dac Ji,j poate fi redus, atunci Bj se va micora. Cum valorile i,j, i,j, i j pot fi determinate n faza de negociere dintre i i j, asincronismul poate fi minimizat alegnd un buffer cu nivel calculat conform formulei [4.7]. Corecia decalajului ceasurilor locale prin ajustare dinamic Pentru compensare, autorii au ales o schem de sincronizare a ceasurilor utilizatorilor unui grup, ce folosete un timp de referin numit timp global virtual (VGT). Valoarea acestuia este egal cu valoarea ceasului global al staiei master aleas printr-un algoritm de alegeri distribuit. Staia distribuie periodic informaiile temporale (valoarea VGT) tuturor utilizatorilor grupului. Astfel, o dat ce grupul a ales staia master, un mecanism trebuie s sincronizeze perioada de restituire a utilizatorului j cu cea de achiziie a utilizatorului i (master). Fie j(init) perioada iniial de restituire decis de i i j n faza de negociere, i j perioada ajustat de restituire. Iniial, j(init) este egal cu perioada de achiziie i , j neobinnd informaii de timp din partea lui i.

.4 - 242.

Protocoale de sincronizare multimedia

n continuare, primul pachet, al fiecrei uniti de date k, este tampilat temporal, i,j(k) constituind ora de achiziie a unitii de date k de ctre i. tampila temporal i,j(k) reprezint suma timpilor petrecui de pachet n nodurile reelei, a timpului de achiziie la nivelul lui i i a timpului de restituire la nivelul lui j. Evident, timpul dintre dou achiziii i,j(k+1) - i,j(k) este constant oricare ar fi k i egal cu perioada de achiziie i. Pentru ca j s se aproprie de i, este nevoie de un timer. Fie vj(k) valoarea timer-ului care contorizeaz decalajul dintre dou sosiri consecutive i fie Ai,j(k) factorul de ajustare dinamic de perioad definit prin :
A i, j ( k ) = j j
(init ) (init ) j

v j (k ) i + i, j (k + 1) i, j (k )

[4.8]

Ceasul local al fiecrui utilizator poate fi sincronizat cu cel al staiei master prin aplicarea periodic a protocolului de ajustare dinamic de perioad pentru toate cuplurile client-master. Perioada de ajustare j depinde de nevoia de sincronizare a aplicaiei i de nivelul de decalaj al ceasurilor. Sincronizarea timplor de iniiere a achiziiei n anumite aplicaii, cum ar fi teleconferina, este important ca utilizatorii s nceap s restituie i s achiziioneze n acelai timp pentru a menine relaiile temporale ntre unitile de date. Vom explica, n continuare, sincronizarea timpilor de achiziie ai tuturor utilizatorilor unui grup. Combinaia, mecanism de sincronizare timpi iniiere achiziie mecanism sincronizare perioad (anterior), asigur clienilor furnizarea de date sincronizate. Metoda necesit un iniiator care va emite mesaje de iniializare spre clienii grupului. Iniiatorul nu este n mod necesar un utilizator al grupului i nu emite mesaje de iniializare atta timp ct clienii nu sunt pregtii s le accepte. Metoda prelungete timpul global iniial de achiziie de grup datorit mesajelor schimbate ntre clieni i iniiator. Se impune recuperarea VGT de ctre toi clienii grupului. Dac, timpul de propagare dintre staia master i utilizator, i,j este cunoscut, atunci fiecare client poate calcula valoarea VGT. Calculul lui i,j se realizeaz n faza de negociere. Utilizatorul i transmite un pachet , spre utilizatorul j, cu tampila temporal i,j(). Dup recepie, j expediaz tampilat cu i,j() spre i. Astfel, pachetul revine la i dup timpul Ti,j() = i,j() + i,j() + 2i,j. Cum, Ti,j(), i,j() i i,j() sunt cunoscui, timpul de propagare poate fi calculat cu i,j = 0,5[Ti,j() i,j() i,j()].

Sisteme de comunicaii Reele ATM i reele locale

.4 - 243.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

n faza de negociere, fiecare utilizator msoar timpii de propagare dintre el i ceilali membrii activi ai grupului. Odat staia master aleas, clientul i poate utiliza ch,j dintre el i master pentru a calcula VGT. Dup ce master-ul ncepe s distribuie valoarea VGT, fiecare utilizator va ntiina ceilali membrii ai grupului asupra timpului iniial de achiziie Ii n termenii VGT. Dup recepia tuturor Ii, fiecare utilizator va alege cea mai mare valoare Ge ca timp global iniial de achiziie. Sincronizarea timpilor de iniiere a restituirii Metoda presupune c timpii de emisie ai unitilor de date ale unui utilizator i spre ceilali utilizatori sunt diferii. Timpul maxim de emisie i,j se decide n faza de negociere n funcie de parametrii QoS ai aplicaiei i de resursele disponibile. Deoarece timpul maxim de achiziie i timpul maxim de restituire sunt cunoscui, timpul maxim de emisie poate fi calculat. Timpul minim de emisie i,j este echivalent cu timpul de propagare i,j plus timpul minim de achiziie plus timpul minim de restituire. i,j poate fi calculat cu mecanimul introdus n seciunea precedent. Astfel, cu cei doi parametrii i,j , i,j este posibil calculul dimensiunii buffer-ului Bj(m) cu relaia [4.7].
B

Fie Li,j = Ii + max {Bj(m)i(m) + i,j(m)} unde: - Ii este timpul iniial de achiziie a unitilor de date ale lui i; - Bj(m) dimensiunea buffer-ului utilizatorului j pentru fluxul media m; - i(m) perioada de achiziie a fluxului media m la utilizatorul i; - i,j(m) timpul maxim de emisie ntre i i j pentru fluxul media m.
B

Utilizatorul i poate calcula Li,j pentru toi utilizatorii j din grupul de sincronizare. Astfel, pentru a putea sincroniza timpul iniial de restituire Mi al unitilor de date ale utilizatorului i la clienii j, este de ajuns s se selecteze un timp ce depinde de VGT. Timpul iniial de restituire pentru toi clienii este Mi = max {Li,j} dup j. Cum utilizatorul i cunoate Ii, acesta poate calcula Mi, i-l poate distribui spre clienii grupului. Cum fiecare utilizator poate fi fie emitor, fie receptor, din punct de vedere al emitorului, Mi, poate fi obinut plecnd de la Ge. Astfel, fiecare utilizator i din grup, distribuie perioada sa de ateptare pentru restituire i n termenii VGT tuturor celorlali utilizatori ai grupului : i = Mi Ii. n perioada de ateptare a restituirii i, buffer-ele clienilor i sunt scrise. Dup recepia tuturor valorilor i fiecare utilizator va reine valoarea maxim. Timpul global iniial de restituire Gp = Gc + max{i}.

.4 - 244.

Protocoale de sincronizare multimedia

Pentru fiecare utilizator j, un timer j este iniializat cu valoarea iniial dat de Gp-j unde j este timpul n termenii VGT la care prima unitate de date generat de master este gata de a fi restituit aplicaiei clientului j. Timer-ul ncepe s se decrementeze o dat cu recepia primei uniti de date recepionate. Cnd este atins valoarea 0, utilizatorul j ncepe restituirea. n aceast faz doar mecanismul de sincronizare dinamic de perioad este invocat.

4.2.5 Adaptive stream synchronization protocol


Protocolul (ASP) a fost creat pentru a oferi adaptare rapid n sincronizare la modificrile condiiilor reelei [RoHe94]. Este flexibil, suportnd o varietate de reguli (politici) de sincronizare, permindu-se comutarea de la una la alta dinamic pe durata unei sesiuni. Protocolul presupune sincronismul ceasurilor nodurilor reelei, suportnd doar 2 tipuri de configuraii: unicast i multicast. Principii de baz Setul de fluxuri necesar a fi prezentat ntr-o manier sincron se numete grup de sincronizare (grup sync). Pentru fiecare grup exist un controller (server) i mai muli ageni surs i de sincronizat (ageni sync). Controller-ul (server) este o entitate software care menine informaii de stare i realizeaz controlul operaiilor ce privesc grupul sync. n particular se controleaz procedura de iniiere a sincronizrii i se impune politica aleas de utilizator. Controller-ul comunic cu agenii sync uniti software ce controleaz fluxuri individuale. Pentru fiecare flux exist un agent surs i un agent sync, care mpreun, pornesc/opresc prezentarea sau/i modific rata de restituire. Agenii sync ai unui grup de sincronizare pot comunica n scopul adaptrii momentelor de restituire. Protocolul exploateaz sincronizarea ceasurilor nodurilor reelei. Agenii surs ai grupului sync pornesc emisia datelor, simultan, la momentul t0. O unitate de date u va fi expediat la t0+TS(u), unde TS(u) reprezint tampila temporal asociat unitii u. Fiecare agent sync pornete restituirea la momentul t0+, unde trebuie s fie destul de mare pentru a putea permite cel puin primelor date expediate s ajung n buffer-ul agentului sync. Fiecare unitate u va fi restituit la t0+ +TS(u). ntrzierea cap-la-cap n reea maxim determin valoarea lui = max{di}, unde dI reprezint ntrzierea fluxului i. Unitile de date ce sosesc nainte de t0+, vor fi memorate ceea ce conduce la egalizarea diferitelor ntrzieri. Pentru ASP, ntrzierile unitilor de date ale fluxulrilor media sunt monitorizate i adaptat. n acest fel QoS poate fi modificat dinamic. Prin creterea lui , probabilitatea de pierdere a unitilor ntrziate scade dar crete ntrzierea cap-lacap, n timp ce pentru o micorare a lui , probabilitatea de pierdere crete iar ntrzierea scade. ASP este mai complex dect un protocol non-adaptiv, fiind
Sisteme de comunicaii Reele ATM i reele locale .4 - 245.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

necesare funcii de control a proceselor de adaptare distribuite agenilor sync. Funciile monitorizeaz ntrzierea, reacioneaz la cererile QoS i comut politica de adaptare dac este cazul. Adaptarea n ASP este coordonat de un algoritm master/slave dinamic. Exist un flux master responsabil de adaptarea lui care ia decizii funcie de monitorizarea local la agentul sync. O dat luat decizia de modificare a lui , aceasta se propag spre toi agenii sync i spre toate fluxurile slave ai/ale grupului de sincronizare. Algoritmul este dinamic n sensul n care, ori de cte ori, un slave devine critic, poate deveni imediat master. Din nefericire ntr-o asemenea situaie pot exista simultan mai multe fluxuri master. ASP este capabil s rezolve situaia fr pierderea sincronizrii, asigurnd n final, dup perioada critic, prezena unui singur master.

Figura 4.2.6 Flux de date i ntrzieri n ASP

Modelul transmisiei fluxului i al memorrii n buffer este prezentat n fig.4.2.6. ASP modific prin creterea sau descreterea vitezei de servire R2 pentru un anumit interval de timp. n timpul operrii normale R2=R1. Figura evideniaz ntrzierea n transfer dT (include timpi de achiziie, comunicaie, procesare, transfer n buffer), ntrzierea n buffer dB precum i ntrzierea n prezentare (restituire) dS. Starea temporal a unitii de date este specificat prin timpul media M(t) = TS dS. Vedere de ansamblu asupra ASP ASP cuprinde 4 subprotocoale: Protocolul de start-up - iniiaz procesele dintre clienii i sursele unui grup de sincronizare dat. n particular, se asigur iniierea sincron a transmisiei i a prezentrii. Procesul este coordonat de server, care genereaz momentul de start pe baza estimrilor de timp, selecteaz un flux master funcie de politica de sincronizare aleas i expediaz mesaje de control tampilate temporal clienilor implicai.

.4 - 246.

Protocoale de sincronizare multimedia

Protocolul de control al buffer-ului - este un mecanism simplu prin care se menine starea de umplere a buffer-ului fluxului master ntr-o zon int dat. Determinarea zonei int depinde de politica de sincronizare aplicat. Ori de cte ori se prsete zona, protocolul regleaz procesul de umplere prin gestiunea progresului fluxului master, manipulnd viteza de servire R2. Protocolul de sincronizare master/slave - asigur sincronizarea inter-stream prin ajustarea progresului fluxurilor slave funcie de progresul fluxului master. Se gestioneaz n particular fiecare grup de clieni de sincronizat, grupuri n care un client acioneaz ca master iar ceilali ca slave. Ori de cte ori, master-ul modific viteza R2, se calculeaz pentru cteva momente din viitor, s zicem t, media temporal M(t). M(t) i t sunt transportate prin mesajele de control spre slave-uri. La recepionarea mesajului slave-ul i va modifica viteza R2 astfel nct fluxul s ating M(t) la momentul t. Evident, protocolul asigur sincronizarea tuturor fluxurilor la momentul t, n funcie i de sincronizarea ceasurilor nodurilor client. Protocolul nu implic server-ul, fiind iniiat dac condiiile reelei sau modificat. Protocolul de modificare a master-ului - permite comutarea rolului de master de la un flux la altul n orice moment de timp. Se implic server-ul i clienii sync, server-ul fiind singurul ce poate decide modificarea master-ului, dac utilizatorul i modific politica de sincronizare sau un anumit flux ptrunde ntr-o stare critic. O proprietate intersant este cea conform creia fluxul slave critic va reaciona imediat, devenind o tentativ de master (master provizoriu) ceea ce i permite acestuia s-i modifice viteza R2. Protocolul trebuie s aib grij ca la un moment dat n timp s exite un master i posibil cteva tentative de master, dar n mod necesar n final s rmn un singur master. Protocolul de start-up Protocolul este similar cu cel descris n seciunea 4.2.1. Controller-ul iniiaz pornirea sincron a fluxurilor media prezente la agenii surs i a proceselor de memorare/restituire prezente la agenii sync prin expedierea mesajelor Start ce conin, pe lng alte informaii, momentul de timp de start-up t0 = tcurent + dm + dproc. La agenii sync, se calculeaz = max {dI+LWMi}, unde di depinde de ntrzierea n Mesajul Start expediat agenilor surs cuprinde t0, RN (viteza de emisie nominal, R1), iar cel expediat agenilor sync include t0+, RN=R2 i un flag ce indic rolul clientului (master/slave). n plus se transmit informaii relative la bufferul clientului pentru fluxurile media implicate (seciunea urmtoare).
transfer i n memorare, respectiv LWMi ce depinde de jitter-ul fluxului i.

Sisteme de comunicaii Reele ATM i reele locale

.4 - 247.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Protocolul de control al buffer-ului ntrzierea n buffer (dB) , la un moment dat, este determinat de cantitatea de date prezente i de viteza de servire a sistemului. Toate valorile relative la buffer se msoar n uniti de timp i nu n octei. Un buffer de dimensiune n sec poate memora pn la n sec. din fluxul media memorat. Avantajul utilizrii dimeniunii temporale const n independena mecanismului ASP de tipul fluxurilor media. Legtura (mappare) dimensiune temporal dimeniune n octei este relativ simpl pentru fluxuri CBR i mai complicat pentru VBR. Se definesc pentru fiecare buffer, limitele LWM (low water mark) i HWM (high water mark) (fig. 4.2.7 stnga). Cnd dB(t) cade sub LWM sau depete HWM exist riscul golirii respectiv umplerii. Zona dintre LWM i HWM se definete ca regiune critic n care ptrunderea lui dB conduce la reacii ale ASP. Calitatea sincronizrii intra-stream este determinat n principal de valorile LWM i HWM. Cei 2 parametrii sunt setai de clientul ASP n conformitate cu cerinele aplicaiei i caracteristicile reelei. Controlul buffer-ului este executat local, pentru nceput n zona agentului sync al fluxului master prin meninerea lui dB n zona int dintre UTB (uper target boundery) i LTB (lower target boundery). n timp ce LWM i HWM i implicit regiunea critic induc reacii ale ASP de prevenire, UTB, LTB i zona int permit fluxului master s urmreasc modificrile ntrzierilor n transfer. Locaia i lungimea zonei int sunt determinate de politica de sincronizare aleas. ntrzierea dB poate varia liber ntre UTB i LTB fr modificarea vitezei de servire. Se ptrunde n faza de adaptare dac dB depete aceste limite (fig.4.2.7 dreapta). La nceputul acestei faze R2 se modific la valoarea R A 2 = R N (1 + R corr ) unde R corr = (d B ( t ) (LTB + (UTB LTB)/ 2)) / L . La finele fazei de adaptare R2 revine la valoarea RN.
B B B B B B

Figura 4.2.7 Regiunile buffer-ului (stnga) i adaptarea ntrzierii n buffer (dreapta)

.4 - 248.

Protocoale de sincronizare multimedia

Protocolul de sincronizare master/slave Protocolul asigur prezentarea n sincronism a fluxurilor slave cu fluxul master, fiind iniiat ori de cte ori se modific R2 pentru fluxul master (faza de adaptare). Sunt implicai numai agenii sync. Considernd c faza de adaptare ncepe pentru master la momentul tS i are lungimea L (fig.4.2.8) atunci zona int a timpului media va fi M(tS+L)=M(tS)+LR2A. Masterul emite mesaje Adapt spre fiecare slave din grupul de sincronizare, mesaje ce includ (TS,te,M(te)) cu te=tS+L. Cnd slav-ul recepioneaz mesajul, intr n faza de adaptare, modificndu-i viteza de servire la valoarea
RA 2 = RN M(te ) M(t a ) te ta

unde ta reprezint momentul de

timp la care slave-ul primete mesajul Adapt. Dup te, R2 revine la valoarea RN.

Figura 4.2.8 Sincronizare master/slave

Protocolul de comutare a master-ului Se disting n diverse faze ale protocolului 2 tipuri de comutri de master: - policy-initiated iniiat ori de cte ori politica de sincronizare cere asocierea unui nou master, caz n care controller-ul va realiza modificarea prin intermediul mesajului GrantMaster expediat spre slav-ul ce va deveni master i a mesajului QuitMaster expediat spre slav-ul ce va nceta s mai fie master; apare aici posibilitatea ca pentru scurte perioade de timp s existe 2 fluxuri master, agenii sync ataai expediind mesaje Adapt; protocolul rezolv problema prin ordonanarea oferit de tampilele temporale ale mesajelor Adapt; - recovery-initiated iniiat de un agent sync slave ce dorete s depeasc o perioad critic; n aceast etap slave-ul va face o tentativ spre un master provizoriu (t-master) i informeaz n acest sens controlle-rul prin expedierea mesajului IamT-Master; fr a atepta rspuns intr n faza de adaptare, modificndu-i valoarea R2; ncercnd s menin sincronizarea celorlali ageni sync, va expedia mesaje Adapt, inclusiv master-ului; la ncheierea fazei, t-master-ul va reveni la rolul de slave; i aici ordonanarea indicat de tampilele temporale ale mesajelor Adapt va permite ASP s ofere rmnerea n sincronism a agenilor sync (fig.4.2.9).

Sisteme de comunicaii Reele ATM i reele locale

.4 - 249.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Figura 4.2.9 Recuperare master

Politici de sincronizare Calitatea sincronizrii intra-stream privit n termenul rat de pierdere a datelor prin golire sau umplere este influenat de valorile LWM i HWM. O valoare rezonabil pentru lrgimea acestei zone este j/2, unde j reprezint jitter-ul fluxului media gestionat. Mrirea LWM conduce la mbuntirea calitii i la reducerea probabilitii de golire. Pe de alt parte, aceast modificare va conduce la creterea ntrzierii, care, pentru unele aplicaii va deveni critic. ASP permite modificarea celor dou valori n timpul prezentrii. Localizarea zonei int i modul n care rolul master-ului este garantat sunt parametrii majori ai ASP. Urmtoarele 2 politici vor ilustra acestast caracterizare: - politica ntrzierii minime ofer ntrziere minim pentru o anumit calitate dat a sincronizrii intra-stream; pentru a atinge acest scop, fluxul cu cea mai mare ntrziere va avea rolul de master, iar ntrzierea n buffer este meninut ct mai mult posibil lng LWM ; zona int pentru master este localizat astfel : LTB=LWM iar UTB=LWM+ ; dac un slave devine critic, controller-ul recepioneaz IamT-master i ofer rolul de master acestuia ; pentru multiple mesaje IamT-master funcie de ordinea n timp, doar unul va deveni master, celelalte cereri fiind eliminate, se asigur astfel c fluxul cu cea mai mare ntrziere n transmisie va deveni un eventual master; - politica master-ului dedicat se ofer rolul de master unui anumit flux - n mod tipic fluxul audio, flux care trebuie s opereze cu vitez R2 constant (fr eliminri sau duplicri); n faza de iniiere, fluxul-ui dedicat I se asigur rolul de master iar zona sa int este fixat la valorile LTB=LWM iar UTB =HWM ; ASP poate, dup caz iniia protocolul pornind cu politica master-ului dedicat i continua, dac ntrzierea n transmisie devine apreciabil cu politica ntrzierii minime. Modificarea politicii, cere din partea controller-ului cunoaterea strii buffer-ului (dB, LWM,HWM).
B

.4 - 250.

Protocoale de sincronizare multimedia

4.2.6 Lip synchronization for adaptive VOD system


Protocolul este creat pentru aplicaiile multimedia de tip video la cerere (Video On Demande). Este adaptiv i regleaz problema comportamentului nedeterminist al sistemelor client ale unei reele n scopul realizrii unei sincronizri intra-media cu minim de decalaj ntre datele dependente [NaQi97]. Concepte cererile de sincronizare sunt definite n timpul fazei de achiziie; planificarea restituirilor este predeterminat; server-ul este mult mai rapid dect clientul; exist n permanen suficiente resurse n sistem pentru restituirea fluxului audio la frecvena sa de achiziie; aplicaia poate cere i negocia servicii de calitate a serviciului ale nivelului aplicaie (sondare i negociere paramaterii QoS n faza de iniializare, supravegherea parametrilor QoS n timpul prezentrii, adaptarea frecvenei de transmisie); nu exist sincronizare global pentru ceasurile sistemului.

Particularitatea protocolului este de asigurare a sincronizrii intra-media modificnd informaiile n interiorul fluxului de date funcie de resursele sistemului client. Specificarea frecvenei de achiziie i a frecvenei sistemului Fiecare flux de date continuu include informaii de sincronizare spaiale i temporale. n acest caz au fost considerate ca prezentnd interes doar informaiile temporale i, ca atare, se consider o frecven de achiziie diferit pentru fiecare media (audio i video). n timpul restituirii, sistemul de exploatare trebuie s furnizeze resursele necesare pentru a suporta o anumit frecven frecven de sistem. Frecvena de achiziie este determinat n faza de achiziie, n care fluxurile audio i video sunt digitizate i comprimate utiliznd MPEG-1. Frecvena este important pentru sincronizarea fluxurilor audio i video. Frecvena sistemului este determinat n faza de conexiune utiliznd un algoritm ce are la baz o prob (sond). Sonda o poriune de semnal video este utilizat pentru a determina frecvena sistemului posibil n partea clientului. Pentru aceasta, server-ul expediaz datele ct mai repede posibil, iar un sistem de observare n partea clientului determin frecvena posibil pentru restituirea datelor. Algoritmul se termin cnd, fie degradarea devine semnificativ (frecvena scade sub o anumit limit), fie cnd timpul de execuie al algoritmului este depit. Frecvea de restituire msurat de client n timpul fazei de sondare este utilizat ca frecven iniial de

Sisteme de comunicaii Reele ATM i reele locale

.4 - 251.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

ctre sistem att ca frecven de transmisie n partea server-ului ct i ca frecven de restituire n partea clientului. Adaptarea fluxului video Deoarece frecvena video n sistem difer de frecvena de achiziie a semnalului video, aplicaia trebuie s se adapteze. Frecvena sistemului reflect efectele dinamice ale reelei i sistemului de exploatare. Adaptarea se face utiliznd proprietile structurii MPEG-1; astfel aplicaia poate modifica imaginile gestionate de MPEG - I,P i B. Pentru aceasta, este de ajuns s se divizeze fluxurile de date video n grupuri, fiecare grup fiind constituit din unul sau mai multe grupe MPEG-1. Observnd ncrcarea sistemului este posibil s se calculeze diferenele ntre timpii de afiare a unui grup la frecvena de achiziie i timpii de afiare a grupului la frecvena sistemului. Dac diferena este nul sau pozitiv, server-ul ateapt un anumit timp nainte de a expedia grupul urmtor, iar dac diferena este negativ, n primul rnd se suprim toate sau numai o parte din imaginile B, iar dac nu este suficient, suprimarea este aplicat pentru imaginile P i apoi I. Se impune astfel o ordine a prioritilor: I,P i B (fig.4.2.10). Standardul MPEG-1 Standardul ISO 11172 sau MPEG1 a fost dezvoltat de grupul MPEG (Moving Pictures Expert Group) i standardizat n ISO-IEC/JTC1SC29. Fluxul video este reprezentat ca o succesiune de imagini individuale legate ntre ele temporal. Codarea video cuprinde 2 tipuri de compresii [KoGa98]: - spaial elimin informaiile redundante n spaiu, este vorba de interiorul unei imagini; - temporal elimin informaiile temporale redundante n timp, fiind vorba de o suit de imagini ale unei secvene video. Compresia temporal se poate face fie ntre imaginea prezent i cea anterioar, fie ntre imaginile prezent, anterioar i ulterioar. Algoritmul de codare opereaz n 2 etape : - codare la surs compresia spaial i temporal a eantioanelor semnalului video; - codare entropic reduce rata de bit rezultat prin codarea la surs, utiliznd proprieti statistice. Astfel, se atribuie cuvintelor lungi, valorile celor mai puin prezente variabile, iar cuvintelor scurte, valorile celor mai frecvente variabile. Se optimizeaz astfel numrul biilor de cod. Imaginea este tratat ca o matrice bidimensional de elemente de imagine pixeli. Pentru a fi comprimat, aceasta este secionat n benzi, macro-blocuri (16x16 pixeli) i blocuri (8x8 pixeli).

.4 - 252.

Protocoale de sincronizare multimedia

Compresia spaial - se realizeaz asupra blocurilor, convertite printr-o transformare de tip cosinus discret (DCT), ntr-o matrice 8x8 de coeficieni de frecvene spaiale orizontale i verticale. Blocul poate fi reconstruit aplicnd transformarea, de tip cosinus inversat, discret (IDCT) coeficienilor si. Coeficienii sunt, n continuare, cuantizai i codai, utiliznd codarea entropic. Diferena ntre valorile cuantizate i valorile reale poart denumirea de zgomot de cuantizare. Pentru anumite valori ale pasului de cuantizare sistemul vizual uman nefiind sensibil, se poate reduce astfel informaia generat. Compresia temporal are la baz compensarea micrii ntre dou sau mai multe imagini. Compensarea modeleaz o imagine ca o translaie temporal de imagini vecine. Modelarea se realizeaz prin calcularea vectorilor micrii aplicai asupra macro-blocurilor. Vectorii, pentru 2 dimensiuni, determin deplasarea macroblocurilor fa de poziia iniial. Un macro-bloc deplasat fa de o imagine cunoscut devine o predicie a macro-blocului imaginii codate. Interesul acestei tehnici, este c, n general, pentru o scurt secven de imagini, majoritatea obiectelor rmn nemicate, altele deplasndu-se pe distane scurte, ceea ce reduce semnificativ cantitatea de informaie generat. Se definesc 3 tipuri de imagini: - intra-picture (I) imagini ce sufer doar o compresie spaial; - predicted-picture (P) imagini ce sufer o compresie spaial i una temporal cu o imagine I sau cu o alt imagine P din trecut; - bidirectionally-predicted pictures (B) imagini ce sufer o compresie spaial i una temporal cu o imagine (P) sau (I) din trecut i o imagine (P) sau (I) din viitor; Exist cel puin 2 consecine ale algoritmului : debitul de informaie generat este variabil, consecin a codrii sursei (diferite imagini au redundane diferite) i codrii entropice, metoda direct de control al debitului constnd n modificarea pasului de cuantizare, sau pentru decodarea imaginilor B se cere decodarea imaginilor din viitor care au servit la codarea acestora. Sistemul de coadre permite multiplexarea multiplelor fluxuri media i codarea fluxului rezultat precum i ncapsularea acestuia ntr-o structur de date. Codarea sistemului furnizeaz sintaxa necesar i suficient pentru sincronizare la decodare i prezentare pentru informaiile video i audio. Se asigur astfel c buffer-ele decodoarelor nu vor fi goale sau pline. Informaiile de sincronizare sunt codate utiliznd tampilele temporale. Se furnizeaz momentele de decodare, de prezentare i de livrare a informaiilor diferitelor buffer-e i valorile de frecven ale ceasului codorului.

Sisteme de comunicaii Reele ATM i reele locale

.4 - 253.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Separarea fluxurilor audio i video n cazul MPEG n problema lip-sincronizrii, exist 2 observaii importante: - percepia uman a schimbrilor de frecven la restituirea acestora depinde de tipul fluxului media : astfel, trecerea de la 30 imagini/s la 10 imagini/s este nc acceptabil ; reducerea pentru fluxul audio cu un factor asemntor nu este tolerat deoarece urechea uman este mult mai sensibil dect ochiul ; - fluxul audio cere mai multe resurse prin comparaie cu fluxul video. innd cont de aceste aspecte protocolul de fa nu integreaz mecanismul de adaptare de date comprimate MPEG1 n schema de sincronizare. Cu toate c este posibil specificarea de relaii de sincronizare ntre obiectele audio i video n formatul MPEG1, protocolul curent nu utilizeaz aceast posibilitate dorindu-se manipularea facil a obiectelor video. Astfel, se consider mediile audio i video separat, i se utilizeaz o schem de sincronizare adaptiv ce pstreaz relaiile, schem prezentat n continuare. Specificarea relaiilor de sincronizare Pentru relaiile de sincronizare, protocolul utilizeaz o ax de timp. Fiecare flux media are ataat o ax de timp care face abstracie de ora real. n faza de achiziie, fiecare LDU (Logical Data Unit) audio i video este marcat cu ora de nceput a restituirii n interiorul fluxului propriu. Datorit caracterului mai sensibil al fluxului audio, acesta este utilizat ca flux master. Fluxul audio este restituit la frecvena sa de achiziie. Schema de sincronizare adaptiv Att clientul ct i server-ul sunt responsabile de sincronizare. Pentru a atinge un comportament sincron, schema conine protocoale client/server pentru fazele de iniiere a conexiunii i transmisie. Totodat, trebuie s pstreze relaiile de sincronizare ntre LDU audio i video chiar dac corespondena dintre acestea se modific dinamic ca urmare a suprimrii anumitor imagini video.

.4 - 254.

Protocoale de sincronizare multimedia

Figura 4.2.10 Corespondena dinamic a fluxurilor audio i video

Protocolul client-server Se utilizeaz schema de adaptare precedent i se ofer support pentru lipsincronizare. Notaiile sunt cele din tabelul 4.2.1.
S u tw tl tP tB nI nP nB ng nA TSVcurent TSVurmtor tVmax tVmin TSVfinal tAplay afreq
B

rata video a sistemului rata de nregistrare video timpul video de ateptare Media timpilor aciunilor de procesare pentru cadre I n zona clientului Media timpilor aciunilor de procesare pentru cadre P n zona clientului Media timpilor aciunilor de procesare pentru cadre B n zona clientului Numrul de cadre I ntr-un grup de imagini Numrul de cadre P ntr-un grup de imagini Numrul de cadre B ntr-un grup de imagini Numrul de cadre ntr-un grup de imagini Numrul de cadre audio Stampila de timp pentru cadrul video curent Stampila de timp pentru cadrul video urmtor Timpul maxim de procesare pentru un singur cadru video Timpul minim de procesare pentru un singur cadru video Timpul final pentru procesarea unui grup de cadre audio Timpul de audiie pentru un cadru audio Frecvena de eantionare audio

Tabel 4.2.1 Variabile pentru lip-sincronizare

n timpul fazei de conexiune (fig.4.2.11), clientul deschide o conexiune de control pentru informaiile de negociere i de reacie. Astfel, repertoriul care conine clipurile, este expediat server-ului. Clientul alege un clip i expediaz server-ului o cerere pentru vizionare. Server-ul recepioneaz cererea i expediaz informaiile despre clip, precum:

Sisteme de comunicaii Reele ATM i reele locale

.4 - 255.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

numrul de imagini I,P,B dintr-un grup; dac fluxul audio este sau nu este disponibil; frecvena audio; etc.

n continuare, server-ul expediaz datele sondate la frecvena maxim din partea clientului pentru a determina posibila frecven a sistemului. Rezultatul msurtorii este comunicat server-ului. n timpul fazei de transmisie (fig.4.2.11), clientul monitorizeaz reeaua i ncrcarea SO, calculnd tw pentru un grup video. tw reprezin diferena dintre timpul necesar unui grup de a fi restituit clientului la frecvena de achiziie ru i timpul de restituire la frecvena sistemului rS. Dac tw 0 sistemul are destule resurse pentru a efectua restituirea la frecvena de achiziie ru, parametrul tw fiind expediat server-ului care, la rndul su, trimite datele fr s efectueze suprimri de obiecte video. Dac tw < 0, frecvena de achiziie este superioar frecvenei sistemului, astfel nct se va fora suprimarea unora sau a tuturor imaginilor B, i dup caz, ulterior P sau I. Numrul de imagini B,P sau I autorizate s fie afiate este utilizat pentru a calcula tabloul de corespondene (fig.4.2.12) ce este expediat server-ului, acesta realiznd corespondena dinamic cadre video cadre audio i creaz APDU (Application Protocol Data Unit) pe care le expediaz clienilor. Server
Faza de negociere

Client
Dac tW < 0 atunci Dac ((diff = ng/rS tIxnI tPxnp)0) atunci { nB = diff/tB Determin i expediaz forma de afiare (tablou) }
B

Expediere list fiiere Recepie nume fiier Expediere ng, nI, nP, nB, afreq, ru Expedire prim grup (determinare QoS) Recepie tW Pentru (fiecare_cadru_din_grup) Formeaz APDU fr suprimri Ateapt (tW/ng - tlsend)

deschidere conexiune TCP pentru informaii de reacie recepie list fiiere expediere nume fiier Recepie ng, nI, nP, nB, afreq, ru deschidere conexiune UDP pentru video i audio
B

tW = (ng/ru ng/rS) Dac tW 0 atunci expediaz tW

Faza de adapatre i renegociere

Recepie form Construcie APDU cu suprimri Recepie form Construcie APDU cu suprimri Recepie form Construcie APDU

Altfel, dac ((diff = ng/rS tIxnI)0) { nP = diff/tP Suprim toate cadrele B determin i expediaz o form de afiare a nP n grup } Altfel, { elimin toate imaginile B, P n grupurile ng/nI Afieaz fiecare al (tIxrS/ng)-lea cadru I Expediaz cererea pentru cadre I} Se gestioneaz ng/nI grupuri

Figura 4.2.11 Faze ale protocolului client/server


.4 - 256.

Protocoale de sincronizare multimedia

nB nB
B B

= = = =

6 3 9 4

I I I I

B1 x P1 P1

P P P2 P2

B2 B2 P3 x

nP nP

nB = 6, nP = 4, nI = 2 P B3 I B4 P x I B4 nB = 0, nP = 9, nI = 3 I P4 P5 P6 I P4 x x
B B

P P I I

B5 x P7 P7

P P P8 x

B6 B6 P9 X

Figura 4.2.12 Exemplu de suprimare de imagini

Controlul sincronizrii la server Server-ul opereaz separat asupra cadrelor MPEG-1video i audio. Cadrele sunt indexate prin intermediul tampilelor temporale care indic momentul de timp dorit pentru restituire. Schema de sincronizare furnizeaz urmtorul control: - utiliznd protocolul client/server, serverul recupereaz tabela de corespondene pentru grupul curent i determin cele 2 cadre video ce trebuie s fie expediate consecutiv; - serverul calculeaz diferena TSVnext TSVcurent dintre tampilele a dou imagini consecutive; - rezultatul este utilizat pentru a decide asupra cadrelor audio corespunztoare cadrelor video curente. Ca urmare a diferenei de frecven dintre cele dou tipuri de cadre, un cadru audio poate fi situat la intersecia a dou cadre video (fig.4.2.13). Se las acest cadru n grupul curent deoarece: indiferent de precizia sincronizrii n zona server-ului, reeaua i OS vor introduce jitter respectiv, decalajul dintre 80ms i +80ms este nedetectabil de ochiul uman i n consecin fluxurile se vor considera n sincronism. Gama este destul de larg pentru a putea acoperi nepotrivirile fluxului audio. - Server-ul pachetizeaz PDU audio i video n APDU (application protocol data unit) (fig. 4.2.14); antetul APDU include tampila temporal, ce servete i ca numr de secven, ct i informaii auxiliare precum , indicaie asupra existenei PDU audio sau tampile temporale pentru nceputul i sfritul cadrelor audio. Avantajul ce apare aici const n faptul c informaiile de sincronizare ale celor 2 tipuri de media sunt livrate mpreun, pe acelai canal (dispare canalul suplimentar de sincronizare i ntrzierea suplimentar dintre cele 2 fluxuri); n general dac reeaua i OS ofer diferite clase de servicii QoS i anumite garanii (ex. ATM), multiplexarea astfel efectuat se dovedete ineficient deoarece antreneaz alocarea de resurse enorme (alocare pesimist).

Sisteme de comunicaii Reele ATM i reele locale

.4 - 257.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Figura 4.2.13 Echivalare cadre video i audio

Figura 4.2.14 Construcie APDU la nivelul server-ului

Controlul sincronizrii la client Controlul sincronizrii este descris astfel :


While !(sfrit_prezentare) { monitorizare QoS citete din reea i demultiplexeaz estimeaz timpul_de_restituire_video if (timpul_de_restituire_video>=0) extrage i restituie_video else omite_video ateapt(timp_de_restituire_video) }

Estimarea numrului de cadre audio ce trebuie restituite Numrul de cadre audio ce trebuie decodate i expediate dispozitivului audio ntre 2 momente consecutive de prezentare de cadre video, se poate determina din nA = (TSVnext - TSVcurent)/tAplay. Considernd c prezentarea cadrelor audio se ncheie la TSAend (fig.4.2.15) rmne ca pe durata TSVcurent TSAend s se proceseze i afieze cadrul video curent. Totui, datorit comportamentului nedeterminist al OS, exist posibilitatea ca tVcurent s fie mai mare dect normalul astfel nct vom avea un interspaiu liber pentru fluxul audio. n general, dar nu n permanen i eficient, dac tVcurent (TSVcurent - TSAend) este mai mare ca zero, interspaiul se poate umple cu un numr de cadre audio = (tVmax - tVmin)/tAplay.

Figura 4.2.15 Interspaiu pentru cadrele audio

Sincronizarea pe durata restituirii audio/video

.4 - 258.

Protocoale de sincronizare multimedia

La momentul TSAend se utilizeaz tI ,tP i tB pentru a estima (mediere asupra valorilor anterioare) momentele de timp de procesare pentru cadrele I, P i B. Se va lua o decizie, la ncheierea decodrii audio, dac urmtorul cadru video va fi sau nu va fi decodat i n consecin prezentat. Decizia implic urmtoarele etape:
B

dac tB TSVcurent TSAend + 80ms, cadrul video va fi decodat ; fie TSVend momentul de timp final pentru decodare; - dac TSVend < TSVcurent atunci se ateapt intervalul TSVcurent TSVend dup care cadrul este afiat; - altfel se afieaz direct; dac tB > TSVcurent TSAend + 80ms , cadrul B este eliminat; dac tP > TSVcurent TSAend + 80ms, cadrul este decodat i afiat, mai puin n cazul n care este ultimul nainte de I; dac tI > TSVcurent TSAend + 80ms, cadrul va fi decodat i afiat cu excepia situaiei n care este ultimul n grup, sau grupul este n ntrziere;
B B

4.2.7 Reservation-Based Synchronization Protocol


Protocolul a fost dezvoltat pentru sisteme de tip VoD, oferind un comportament sincron pentru fluxurile unei aplicaii multimedia de tip lip prin rezervarea de resurse, controlul admisiei conexiunii i gestiunea eficient a resurselor (CPU, memorii, lrgime de band) [CQN01]. O aplicaie VoD, ntr-un astfel de mediu, nu va oferi doar un comportament sincron pentru fluxurile implicate i o restituire la clienii sincron ci i capaciti de interaciune a utilizatorului (avansare,ncetinire,pauz). Protocolul memoreaz informaiile de sincronizare la momente de timp periodice n scopul utilizrii acestora n interaciunea ulterioar cu utilizatorul. Dac pauza este activat, caracteristicile sunt memorate pentru a fi restaurate n momentul repornirii procesului. Pentru avansare sau ncetinire nu este necesar sincronizarea inter-stream deoarece operaiile se efectueaz asupra unui singur flux (video). Protocolul cuprinde 3 faze: negociere, rezervare i transmisie. Faza de negociere n timpul stabilirii apelului, clientul deschide o conexiune de control, prin care se alege un fiier din cele oferite de server i se efectueaz un schimb al parametrilor de interes, frecven de achiziie video (ru), dimensiune maxim cadru audio (fsAmax), dimensiune maxim cadru video (fsVmax) i frecven eantionare semnal audio (afreq). Clientul i server-ul calculeaz resursele necesare.

Sisteme de comunicaii Reele ATM i reele locale

.4 - 259.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Faza de rezervare de resurse Mediul de gestiune a resurselor (QualMan), include un modul software pentru procese de timp real relative la medii continue. Resursele (perioad, procent de utilizare) CPU proiectat pentru aplicaii multimedia sunt rezervate funcie de frecvena cadrelor i dimensiunea medie a acestora. Memoria este alocat funcie de cerinele QoS, iar banda este garantat prin contractul de trafic negociat cu server-ul de comunicaie. Faza de transmisie QualMan impune coordonarea dintre server-ul multimedia i server-ul de comunicaie. Schema de sincronizare negociaz un contract de trafic cu server-ul de comunicaie pentru un anumit tip de trafic propus de controller-ul frecvenei cadrelor. Prin ordonanarea proceselor implementat de serverul multimedia, se menine dependena fluxurilor. n consecin, decalajul (skew) sincronizrii poate fi meninut constant dup cum se poate observa n figura 4.2.16. n figur se presupune c exist ntotdeauna suficient timp de servire pentru a procesa un cadru n timpul perioadei de cadru alocate. Presupunerea poate fi violat dac nu exist un control corespunztor al sincronizrii fa de momentul iniial astfel nct procesarea unui cadru se ncheie dincolo de limita alocat (fig. 4.2.16, 4.2.18).

Figura 4.2.16 Cooperare ordonanator CPU Figura 4.2.17 Detaliu asupra problemei server controller frecven cadru de sincronizare

.4 - 260.

Protocoale de sincronizare multimedia

Figura 4.2.18 Problem de sincronizare

Pentru a coordona 2 fluxuri, se impune o facilitate de sincronizare de tip semafor. Astfel, cu referire la figura 4.2.18c., se propune o pauz la T0 i la T1 , respectiv reluarea activitii n perioada urmtoare, fluxurile rmnnd n sincronism. Structura software a celor 2 protocoale este evideniat n figura 4.2.19a (adaptiv), respectiv 4.2.19b (rezervare)

Figura 4.2.19 Structur software protocol adaptiv (stnga) i cu rezervare (dreapta) [CQN01]

Sisteme de comunicaii Reele ATM i reele locale

.4 - 261.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

Concluzii
Analiza protocolului Adaptive flow synchronization protocol (4.2.1) permite verificarea avantajelor oferite de integrarea conceptelor: ntrziere n sincronizare adaptiv, sincronizare de grup multipl i modularitate pentru funciile orientate pe aplicaie; se demonstreaz faptul c plasarea utilizatorilor n grupuri de sincronizare, permite calculul timpului de sincronizare comun grupului, ceea ce n anumite cazuri induce corecii ale jitter-ului, i ale timpilor de achiziie i restituire; din nefericire, protocolul presupune existena sincronizrii ceasurilor nodurilor reelei, cerin care limiteaz aplicabilitatea metodei; Media mixing algorithm (4.2.2) permite corecia de jitter i deriva ceasului local, dar procedura de iniializare a sincronizrii unei conferine multimedia nu este clar exprimat; problemele legate de timpii de achiziie i restituire nu sunt rezolvate iar unificatorii implicaii introduc o ntrziere suplimentar n parcurgerea reelei ce poate fi critic pentru WAN; Adaptive feedback protocol (4.2.3) rezolv problema desincronizrii n configuraia multicast fr s fie necesar sincronizarea global a ceasurilor reelei, dar introduce necesitatea unei conexiuni suplimentare pentru fiecare cuplu emitor-receptor n vederea transportului informaiilor de tip feedback; protocolul este performant n LAN dar nu este adaptat pentru WAN deoarece garania sincronizrii este limitat de timpul maxim de parcurgere al reelei; Protocolul de sincronizare al grupului Yen Akyildiz (4.2.4) este primul care corecteaz toate asincronismele, nu necesit conexiuni suplimentare de tip feedback, rspunde rapid i precis celei mai mici desincronizri aprute, este performant att n LAN ct i n WAN; Adaptive stream synchronization protocol (4.2.5) rspunde perfect obiectivului: asigur sincronizarea inter-media ntre evenimente distribuite; din pcate doar 3 din cele 4 tipuri de asincronisme sunt abordate, iar ceasurile reelei se presupun sincronizate; Lip synchronization for adaptive VOD system (4.2.6) privilegiaz fluxul audio n defavoarea fluxului video, ultimul fiind degradat, abordarea multiplexrii nefiind o soluie care s aduc avantaje pentru cazul reelei ATM; protocolul este performant deoarece 85% din decalajele audio-video sunt n gama -8080ms imperceptibile pentru om, restul situndu-se n gama -160160ms nc acceptabil.

.4 - 262.

Protocoale de sincronizare multimedia

Tabelul 4.2.2 [Coa04a] ofer o sintez a funcionalitilor i a parametrilor de calitate ai protocoalelor analizate.

Evaluarea performanelor ultimelor 2 protocoale (4.2.6 i 4.2.7) conduce la urmtoarele concluzii: ASP-VoD beneficiaz de simplitate n faza de stabilire a conexiunii ; RSP trebuie s aloce resurse; ambele protocoale utilizeaz sondarea, n ASP-VoD se determin frecvena sistemului, iar n RSP timpul de procesare al unei aciuni; datorit capabilitilor de rezervare, RSP poate rezerva 2 conexiuni cu diferite QoS pentru fluxurile audio i video, ASP-VoD utiliznd doar una pentru care multiplexeaz fluxurile n scopul minimizrii jitter-ului cu impact asupra decalajului n sincronizare; RSP trebuie s rezolve conflictele de rezervare dintre procesele de aplicaie i server-ul de comunicaie; RSP trebuie s rezolve dependenele n rezervare atunci cnd 2 fluxuri sunt ordonanate;

Sisteme de comunicaii Reele ATM i reele locale

.4 - 263.

Capitolul 4 / 2- ATM: Sincronizarea aplicaiilor multimedia

ASP-VoD ofer o faz de transmisie mult mai complex, deoarece trebuie s reacioneze cazurilor nepredictibile pentru a disponibiliza resurse; ASP-VoD trebuie s ofere un algoritm de mperechere dinamic a cadrelor audio i video n scopul evitrii interspaiilor; RSP trebuie s ofere doar un mecanism de iniiere corect a mecanismului de sincronizare; ASP-VoD trebuie s aib capaciti de control, adaptiv pentru client i server, entiti conectate prin canale de tip feedback ; Implementarea arhitecturii ASP-VoD este complex datorit caracterului adaptiv; ASP-VoD cere buffer-e largi n zona clienilor;

Putem conchide c: - sincronizarea adaptiv (ASP-VoD) are o cerere mic asupra gestiunii resurselor, faza de stabilire a conexiunii este simpl i rapid, dar cere o munc asidu n faza de transmisie n scopul echilibrrii ncrcrii i adaptrii la variaiile de sarcin n zona server-ului, a reelei sau a clientului; structura i protocolul sunt complexe, iar rezultatele experimentale conduc la un decalaj permis n sincronizare n gama (-80,+80)ms i acceptabil n gama (-160, 160); - sincronizarea bazat pe rezervare (RSP) cere un nivel de gestiune a resurselor complex; faza de stabilire a conexiunii este i aceasta complex, iar protocolul ataat trebuie s cear i s atepte rezervri i admisii; totui, o dat conexiunea cu parametrii QoS garantai, stabilit, protocolul este extrem de simplu ; tot ceea ce trebuie fcut este s se asigure iniierea transmisiei/prezentrii ntr-o manier sincron i s se coordoneze rezervrile dintre procesele audio/video i server-ul de comunicaie ; structura este simpl iar performanele cu privire la decalaj refer gama (-10,+10)ms. n general algoritmii sunt adaptivi, adaptndu-se schimbrilor condiiilor de mediu. Sunt capabili de sincronizare pentru grupuri independente, i au o anumit flexibilitate relativ la aplicaia sau cerinele utilizatorului. n fine, mare parte dintre acetia prezint interes doar pentru LAN, proprietile fiind diminuate n cazul WAN.

.4 - 264.