cuprins - users.utcluj.ro

144
Cuprins 1 Introducere 3 1.1 Motivare ......................................... 3 1.2 Obiective ........................................ 3 1.3 Contribut , ii ........................................ 5 1.4 Organizarea tezei .................................... 6 2 Stadiul actual al cercet˘ arii ˆ ın domeniu 8 2.1 Tehnici de codare a ret , elei ............................... 8 2.2 Clasificarea tehnicilor de codare a ret , elei ....................... 12 2.2.1 Modul de proiectare .............................. 12 2.2.2 Modul de operare ................................ 12 2.2.3 Context ..................................... 13 2.3 Avantajele tehnicilor NC ................................ 14 2.4 Arhitecturi propuse pentru viitorul Internet ..................... 15 3 Principii generale de integrare a tehnicilor NC ˆ ın ret , ele de comunicat , ii 18 4 Optimizarea ret , elelor de comunicat , ii ˆ ın care se implementeaz˘ a NC 26 4.1 Optimizare pe baza multiplicatorului Lagrange discret ............... 26 4.1.1 Descrierea general˘ a a algoritmului DLM ................... 27 4.1.2 Metoda DLM pentru NC ............................ 28 4.2 Optimizarea ret , elei folosind algoritmi genetici .................... 49 4.2.1 Adaptarea algoritmilor genetici pentru optimizarea ret , elei ......... 50 4.3 Concluzii s , i contribut , ii ................................. 56 5 Integrarea tehnicilor NC ˆ ın ret , ele “wireless“ centralizate 59 5.1 Tehnici de codare de ret , ea bazate pe operat , ia XOR ................. 59 5.2 Tehnici de codare de ret , ea bazate pe coduri Reed-Solomon ............. 71 5.3 Concluzii s , i contribut , ii ................................. 80 6 Integrarea tehnicilor NC ˆ ın ret , ele fixe 82 6.1 NC bazat pe operat , ia XOR pentru transmisii video. Studiu de caz ......... 82 6.1.1 Codarea pachetelor ............................... 82 6.1.2 Activareadinamic˘aacod˘arii .......................... 84 6.1.3 Mesajele de semnalizare ............................ 85 6.1.4 Principiile de funct , ionare ale nodurilor .................... 85 6.1.5 Rezultate experimentale ............................ 88 6.2 Implementarea tehnicilor RNC pentru aplicat , ii de “streaming“ ........... 91 6.2.1 Tehnici de codare RNC ............................. 91 6.2.2 Adaptarea tehnicilor RNC pentru transmisii unicast multiple ........ 92 6.2.3 Implementarea s , i evaluarea solut , iei propuse ................. 95 6.3 Concluzii s , i contribut , ii ................................. 98 1

Upload: others

Post on 20-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Cuprins

1 Introducere 31.1 Motivare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Obiective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Organizarea tezei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Stadiul actual al cercetarii ın domeniu 82.1 Tehnici de codare a ret,elei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Clasificarea tehnicilor de codare a ret,elei . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Modul de proiectare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.2 Modul de operare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.3 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Avantajele tehnicilor NC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4 Arhitecturi propuse pentru viitorul Internet . . . . . . . . . . . . . . . . . . . . . 15

3 Principii generale de integrare a tehnicilor NC ın ret,ele de comunicat, ii 18

4 Optimizarea ret,elelor de comunicat, ii ın care se implementeaza NC 264.1 Optimizare pe baza multiplicatorului Lagrange discret . . . . . . . . . . . . . . . 26

4.1.1 Descrierea generala a algoritmului DLM . . . . . . . . . . . . . . . . . . . 274.1.2 Metoda DLM pentru NC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Optimizarea ret,elei folosind algoritmi genetici . . . . . . . . . . . . . . . . . . . . 494.2.1 Adaptarea algoritmilor genetici pentru optimizarea ret,elei . . . . . . . . . 50

4.3 Concluzii s, i contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5 Integrarea tehnicilor NC ın ret,ele “wireless“ centralizate 595.1 Tehnici de codare de ret,ea bazate pe operat, ia XOR . . . . . . . . . . . . . . . . . 595.2 Tehnici de codare de ret,ea bazate pe coduri Reed-Solomon . . . . . . . . . . . . . 715.3 Concluzii s, i contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6 Integrarea tehnicilor NC ın ret,ele fixe 826.1 NC bazat pe operat, ia XOR pentru transmisii video. Studiu de caz . . . . . . . . . 82

6.1.1 Codarea pachetelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.1.2 Activarea dinamica a codarii . . . . . . . . . . . . . . . . . . . . . . . . . . 846.1.3 Mesajele de semnalizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856.1.4 Principiile de funct, ionare ale nodurilor . . . . . . . . . . . . . . . . . . . . 856.1.5 Rezultate experimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.2 Implementarea tehnicilor RNC pentru aplicat, ii de “streaming“ . . . . . . . . . . . 916.2.1 Tehnici de codare RNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.2.2 Adaptarea tehnicilor RNC pentru transmisii unicast multiple . . . . . . . . 926.2.3 Implementarea s, i evaluarea solut, iei propuse . . . . . . . . . . . . . . . . . 95

6.3 Concluzii s, i contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

1

7 Integrarea tehnicilor NC ın arhitecturile de ret,ele propuse pentru viitorulInternet 1007.1 Arhitectura “Generic path“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

7.1.1 Aspecte generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1007.1.2 Arhitectura GP pentru integrarea NC ın ret,ele WAN . . . . . . . . . . . . 1027.1.3 Arhitectura GP pentru integrarea NC ın ret,ele “wireless” . . . . . . . . . . 110

7.2 Integrarea NC ın alte arhitecturi propuse pentru viitorul Internet . . . . . . . . . 1167.2.1 FARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.2.2 FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187.2.3 Arhitectura pe baza serviciilor . . . . . . . . . . . . . . . . . . . . . . . . . 1197.2.4 SILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.2.5 RBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

7.3 Concluzii s, i contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

8 Concluzii s, i contribut, ii 1258.1 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.2 Contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

2

Capitolul 1

Introducere

1.1 Motivare

Ret,elele de comunicat, ii au devenit ın ultimele doua decenii o parte importanta a viet, ii de zicu zi. Exista put, ine activitat, i umane care nu sunt ajutate de beneficiile oferite de sistemeleinformat, ionale, s, i implicit de ret,elele de comunicat, ii. Astazi este greu de imaginat o lume ıncare nu exista telefoane, telefoane mobile, diverse dispozitive portabile s, i Internet. Aplicat, iileprecum e-mail-ul, motoarele de cautare, mesageria instanta, ret,elele de socializare, serviciile de“Voice over IP“ (VoIP) sau “Video on Demand“ (VoD) sunt folosite zilnic de catre milioane deutilizatori. Cres,terea numarului de utilizatori, diversitatea dispozitivelor conectate la diferite ret,elede comunicat, ii, multitudinea s, i diversitate serviciilor oferite au devenit o problema a Internetului,a carui arhitectura de baza nu s-a schimbat ın ultimii 30 de ani. Internetul a fost proiectat saconecteze cateva calculatoare din mediul academic s, i industrial, nefiind prevazuta raspandirea luila milioane de utilizatori. Arhitectura Internetului trebuie sa fie modificata pentru a face fat, acerint,elor din ce ın ce mai ridicate s, i pentru a oferi solut, ii pentru noile aplicat, ii.

Transmisia ın timp real a fluxurilor de date avand caracteristici diferite, aplicat, iile destreaming sau jocurile online necesita respectarea tuturor cerint,elor legate de calitate aserviciilor. Este nevoie de implementarea unor algoritmi/protocoale, care sa poata asiguratransmisia eficienta a acestor fluxuri. Tehnicile de codare de ret,ea (Network Coding, NC)reprezinta o solut, ie promit, atoare pentru aceasta problema.

Conceptul de Network Coding (NC) a fost introdus de Ahlswede ın anul 2000 ın [1], lucrare ıncare s-a demonstrat avantajele utilizarii acestor tehnici de codare a informat, iei. In ultimul deceniuau aparut numeroase studii referitoare la NC, ınsa majoritatea acestora sunt studii pur teoretice,studiile referitoare la integrarea tehnicilor NC ın ret,ele de comunicat, ie reale fiind relativ put, ine.

Ideea de baza a tehnicilor de codare de tip Network Coding este aceea ca nodurile ret,eleipot efectua operat, ii aritmetice asupra pachetelor recept, ionate, de la acelas, i sau de la mai mult, iutilizatori. S-a demonstrat ca protocoalele de multicast si broadcast au performant,e mai bunedaca se foloses,te NC, iar protocoalele de tip unicast folosind NC au performant,e cel put, in la felde bune ca protocoalele fara NC [2]. Tehnicile NC au o aplicabilitate larga ın transmisiuni dedate de tip multicast, ret,ele “peer-to-peer“ (P2P), ret,ele de senzori, ret,ele fara fir, securitate,monitorizare de ret,ea, stocare distribuita, etc. Tehnicile de codare de tip NC implica mai multedomenii stiint, ifice, cum ar fi: teoria codarii, teoria informat, iei, ret,elistica, transmisii de date, dupacum se arata ın Figura 1.1.

1.2 Obiective

Obiectivul principal al tezei este integrarea tehnicilor de codare de ret,ea ın diferite tipuri de ret,elede comunicat, ii. Aceasta integrare ridica o serie de ıntrebari, care ınca nu au fost rezolvate complet.Cele mai importante aspecte legate de integrarea NC ın ret,ele de comunicat, ii identificate sunt:

3

Network Coding

Teoria cod<rii

ReYelistic<

Algoritmic<

ComunicaYii

Teoria informaYiei

ReYele de date

Securitate

Stocare distribuit<

DistribuYie de conYinut

Monitorizare reYea

AplicaYii

Domenii

Figura 1.1: Aplicat, iile posibile ale tehnicilor NC s, i domenii de cercetare conexe

• Cand s, i unde se pot folosi aceste tehnici astfel ıncat sa se beneficieze de avantajele lor? Cumse poate activa/dezactiva ıntr-un mod dinamic codarea/decodarea?

– Tehnicile NC nu trebuie sa fie activate tot timpul ın ret,ea, deoarece acestea necesitaresurse computat, ionale s, i de transmisie sumplimentare. Trebuie identificate condit, iiledin ret,ea cand nu mai este posibila transmisia datelor fara utilizarea tehnicilor NC, iaracestea trebuie activate numai ın acele situat, ii.

• Intr-o topologie de ret,ea mai mare cum se pot identifica topologiile unor subret,ele ın carese pot aplica tehnicile NC?

– Performant,ele NC depind ın mod semnificativ de topologia de ret,ea ın care se potaplica, complexitatea solut, iei de codare crescand cu dimensiunea ret,elei. Trebuie saexiste algoritmi capabili de identificarea unor subret,ele mai simple capabile de NC.

• Intr-o anumita topologie data, cate s, i care dintre noduri trebuie sa efectueze codarea NC?

– De multe ori nu este necesar ca toate nodurile ret,elei sa efectueze operat, iile de codare.Selectand numai un subset de noduri la care se realizeaza codarea va reduce semnificativcomplexitatea computat, ionala a solut, iei de codare.

• Care este rata de transfer maxima ıntr-o topologie de ret,ea data, astfel ıncat decodarea safie posibila? Cum se poate adapta rata ın mod dinamic la condit, iile din ret,ea?

– Chiar daca tehnicile NC au avantaje semnificative fat, a de tehnicile de rutare clasice dinpunctul de vedere al ratei de transfer, rata fluxurilor sursa este limitaa de capacitatearet,elei. Rata de transfer poate fi adaptata la tipul codului de ret,ea folosit.

• Cum se pot sincroniza fluxurile de date cu caracteristici diferite?

– Intr-o ret,ea de comunicat, ii reala sunt transmise fluxuri de date avand caracteristicidiferite (debit, ıntarzieri ıntre pachete consecutive, lungimea pachetului etc.).Algoritmii de codare/decodare NC trebuie sa fie capabili de codarea/decodareaacestor fluxuri de date.

• Ce concepte de arhitectura sunt necesare pentru integrarea tehnicilor NC pe scara larga?

– Arhitectura ret,elelor actuale nu permite integrarea directa a tehnicilor de codare deret,ea. Este nevoie de definirea, identificarea s, i implementarea unor module dearhitectura noi care faciliteaza implementarea tehnicilor NC.

4

Teza de fat, a ıncearca sa gaseasca raspunsurile la unele dintre aceste ıntrebari, obiectivele tezei dedoctorat fiind:

• sa se propuna algoritmi de identificarea topologiilor de ret,ea ın care se pot aplica tehnicilede codare de ret,ea;

• sa se realizeze optimizarea topologiilor de codare pentru utilizarea cat mai eficienta aresurselor ret,elei;

• sa se propuna algoritmi de optimizarea topologiilor pentru ımbunatat, irea calitat, iitransmisiei;

• sa se gaseasca solut, ii pentru controlul s, i sincronizarea fluxurilor de date ın scopul folosiriiNC;

• sa se propuna solut, ii care permit folosirea tehnicilor de codare de ret,ea pentru controlulcongestiei;

• sa se defineasca algoritmi de activare/dezactivare a operat, iilor de codare s, i mesajele desemnalizare necesare;

• sa se defineasca elementele de arhitectura care permit integrarea tehnicilor NC ın ret,ele decomunicat, ii.

1.3 Contribut, ii

In teza de doctorat autorul propune mai multe solut, ii originale pentru atingerea obiectivelordefinite.

O prima contribut, ie este elaborarea metodelor de optimizare a topologiilor de ret,ea ın care sefolosesc tehnici NC. Metodele de optimizare analizate se pot ıncadra ın doua categorii importante:deterministe (multiplicatorul Lagrange discret) s, i evolutive (algoritmi genetici). Scopul acestormetode de optimizare este identificarea unor subret,ele de codare care permit o implementare maieficienta a tehnicilor NC din punctul de vedere al costurilor. In cadrul tezei este elaborat modelulmatematic adaptat la cerint,ele diferitelor probleme de optimizare, este descrisa implementareaunor simulatoare pentru verificarea s, i validarea algoritmilor propus, i.

Metodele de optimizare bazate pe algoritmi genetici propuse sunt folosite pentru optimizareatopologiilor de ret,ele ”wireless” care implementeaza tehnici NC pentru ımbunatat, ireaperformant,elor. Contribut, ia principala este legata de adaptarea algoritmilor genetici la problemaconsiderata, implementarea unor simulatoare pentru validarea s, i evaluarea metodei deoptimizare.

Optimizarea bazata pe multiplicatorul Lagrange discret este folosita ın cazul unor topologiide ret,ea ın care se implementeaza NC pentru controlul congestiei. Contribut, ia consta ınadaptarea modelului matematic la problema considerata, implementarea simulatorului pentruvalidarea modelului matematic s, i evaluarea prin simulari a algoritmilor de optimizare bazate pemultiplicatorul Lagrange discret.

O alta contribut, ie este legata de integrarea tehnicilor de codare de ret,ea pe baza operat, ieiXOR ıntr-o ret,ea de comunicat, ii reala. In acest scop a fost elaborata baza matematica a acestortehnici de codare, a fost definit un protocol de semnalizare, un algoritm de control al fluxurilor dedate. Au fost implementate modulele software integrate ıntr-o ret,ea reala s, i solut, ia a fost testatapractic.

Integrarea tehnicilor de codare de ret,ea RNC ıntr-o ret,ea de comunicat, ii reala pentru transmisiimulticast s, i unicast multiplu este o alta contribut, ie. Pentru acesta integrare a fost definit modelulmatematic al acestor tehnici de codare, un model de trafic video, algoritmul de ,control al fluxurilor

5

C1: Introducere

C5: NC în re―ele wireless

C4: Metode de optimizare

C3: Aspecte generale

C6: NC în re―ele fixe

C7: NC în re―ele viitoareArhitecturi viitoareNetwork Coding

C2: Stadiul actual

Alte arhitecturi: SILO, RBA

Concepte proiect 4WARD

Implementare NC pe baza XOR

NC pe baza opera―iei XOR

Multiplicatorul Lagrange

C8: Concluzii

NC pe baza codurilor RS

Algoritmi genetici

Implementare RNC

Figura 1.2: Structura tezei de doctorat

de date. Tehnicile de codare RNC au fost implementate s, i testate pe un banc de testare real formatdin mai multe calculatoare.

Ultima contribut, ie este legata de identificarea unor arhitecturi propuse pentru viitorul Internetcare pot oferi suportul necesar pentru integrarea tehnicilor NC. A fost un model de integrare ınconceptele de arhitectura propuse ın proiectul de cercetare FP7-4WARD, dar au fost identificates, i alte concepte de arhitecturi care faciliteaza integrarea tehnicilor de codare de ret,ea.

Rezultatele cercetarii efectuate ın timpul doctoratului au fost publicate la cinci conferint,e ISIProceedings, doua conferint,e indexate ın baze de date internat, ionale (BDI), doua articole publicateın reviste de categoria B+, un articol publicat ıntr-o revista BDI, doua articole publicate ın revistecotate ISI, cu factor de impact mai mare de 0.6 s, i o contribut, ie la un capitol de carte.

1.4 Organizarea tezei

Teza de doctorat este organizat ın opt capitole, dupa cum se prezinta ın Figura 1.2.Primul capitol reprezinta o introducere cu motivarea tezei, definirea obiectivelor cercetarii s, i

cont, ine principalele contribut, ii originale ale autorului.Al doilea capitol prezinta stadiul actual al cercetarii ın tematica tezei, fiind ımpart, it ın doua

subcapitole importante: tehnicile de codare de ret,ea s, i arhitecturi propuse pentru viitorul Internet.Al treilea capitol prezinta principiile de baza ale integrarii tehnicilor NC ın ret,ele de

comunicat, ii.Al patrulea capitol prezinta metode de optimizare ale topologiilor de ret,ele de comunicat, ii.

Aceste metode pot fi folosite ın orice ret,ea, independent de tipul acestora. Metodele deoptimizare analizate se pot ıncadra ın doua categorii importante: deterministe (multiplicatorulLagrange discret) s, i evolutive (algoritmi genetici). La fiecare metoda de optimizare suntprezentate principiile de implementare, sunt date exemple s, i sunt prezentate rezultateleoptimizarii. Multiplicatorul Lagrange este folosit pentru a obt, ine controlul congestiei ıntr-o ret,eade comunicat, ii minimizand s, i resursele necesare pentru transmisie, iar algoritmii genetici sefolosesc pentru select, ia nodurilor din ret,ea care trebuie sa realizeze operat, iile de codare.

Al cincilea capitol prezinta folosirea tehnicilor de codare de ret,ea ın ret,ele de comunicat, ii”wireless” cooperative. Se considera doua tipuri de coduri de ret,ea: XOR ıntre pachete s, ifolosirea codurilor Reed-Solomon. Contribut, ia autorului ın acest capitol este definirea

6

algoritmilor genetici s, i folosirea acestora pentru optimizarea clusterelor de cooperare dupadiferite obiective: minimizarea resurselor necesare, ımbunatat, irea parametrilor transmisiei (ratade eroare pe bloc, probabilitatea de eroare). Este descrisa adaptarea algoritmilor genetici laaceste probleme, definirea funct, iilor obiectiv s, i implementarea simulatoarelor folosite.Rezultatele experimentale obt, inute sunt de asemenea prezentate.

Al s,aselea capitol descrie integrarea tehnicilor de codare de ret,ea ın ret,ele de comunicat, ii realefixe. Este prezentata implementarea a doua tipuri de coduri de ret,ea: cel bazat pe operat, ia XORıntre pachete s, i cel bazat pe RNC. Sunt descrise s, i aspectele cele mai importante legate de integrare:protocoalele de semnalizare definite, structura pachetelor, antetele specifice aplicat, iei, controluls, i sincronizarea fluxurilor de date pentru a asigura decodarea corecta a pachetelor. Tehnicile pebaza operat, iei XOR sunt folosite pentru transmisii video, calitatea transmisiei fiind evaluata atatdupa criterii obiective cat s, i criterii subiective. Tehnicile RNC se folosesc pentru transfer de fis, iere,transmisiile fiind evaluate pe baza pierderilor de pachete. Ca s, i referint, a se foloses,te o transmisiefara NC. Tehnicile de codare au fost implementate practic, fiind testate pe un banc de testarereal, a carui configurat, ie este de asemenea prezentata.

Al s,aptelea capitol cont, ine descrierea unor arhitecturi de ret,ea propuse pentru viitorul Internet,pe care autorul le-a identificat ca fiind potrivite pentru integrarea tehnicilor NC. Sunt prezentatemai multe arhitecturi, cea mai importanta fiind cea propusa ın cadrul proiectului de cercetareFP7-4WARD. Se identifica principalele elemente de arhitectura care permit integrarea tehnicilorde codare de ret,ea s, i se prezinta cum este posibila aceasta integrare atat ın cazul unor ret,ele farafir cat s, i ın cazul unor ret,ele fixe. Se propun solut, ii pentru integrarea tehnicilor NC s, i ın altearhitecturi propuse pentru viitorul Internet, printre care: FIND, arhitectura pe baza serviciilor,SILO s, i RBA.

Ultimul capitol conclude teza.

7

Capitolul 2

Stadiul actual al cercetarii ın domeniu

Ret,elele de telecomunicat, ii trebuie sa transfere un volum de date din ce ın ce mai ridicat odata cutranzit, ia catre o societate a informat, iei, iar aceasta tendint, a se afla ın continua cres,tere. Pentruasigurarea capacitat, ilor de transfer ridicate nu este de ajuns numai cres,terea resurselor fizice, cieste necesara s, i o utilizare cat mai eficienta a resurselor existente. O paradigma noua, care permitefolosirea eficienta a resurselor, o reprezinta tehnicile de cooperare. In cadrul acestor tehnici maimulte entitat, i ıs, i partajeaza resursele s, i realizeaza procesari comune pentru a permite comunicareaıntre doi sau mai mult, i utilizatori. Calea de comunicat, ie nu mai este doar o succesiune de legaturi,ci mai degraba o ret,ea ıntreaga sau o subret,ea. In ultimii ani comunitatea de cercetare a investitmult efort pentru dezvoltarea tehnicilor de comunicat, ii cooperative ın ret,ele wireless. Resurseleradio limitate, variabilitatea canalelor radio s, i nevoia asigurarii unor debite ridicate motiveazaacest interes deosebit.

Totus, i, integrarea tehnicilor de cooperare ın ret,ele de comunicat, ii este o sarcina dificila.Topologiile din ce ın ce mai complexe, lipsa unor politici de management larg acceptate, lipsastivelor de protocoale care permit operat, ii cross-layer reprezinta numai cateva dintre motiveledin cauza carora tehnicile de cooperare sunt departe de a fi prezente pe scara larga ın ret,elele decomunicat, ii. Comunicat, iile de tip “swarm“ s, i tehnicile de codare de ret,ea, ca o forma particularaa tehnicilor de cooperare, reprezinta solut, ii promit, atoare pentru utilizarea ın infrastructurileret,elelor existente s, i ın cele propuse pentru ret,elele viitorului.

Tehnicile NC au primit o atent, ie deosebita din partea comunitat, ii de cercetare, mai multestudii fiind dedicate atat aspectelor teoretice, cat s, i aspectelor practice legate de integrarea lorın diferite arhitecturi de ret,ea sau servicii. Daca aspectele teoretice ale NC sunt clar definite,implementarile practice sunt departe de a fi solut, ionate. Mai multe proiecte de cercetare recente,cum ar fi FP-7 4WARD, FP7-NCRAVE s, i NSF-FIND s, i NSF-GENI, au propus solut, ii care potcrea, cel put, in part, ial, mediul necesar pentru integrarea tehnicilor de cooperare s, i NC ın ret,ele decomunicat, ii. Conceptele propuse ın proiectul 4WARD creeaza un cadru posibil pentru dezvoltareaarhitecturilor de ret,ea care integreaza NC sau alte forme de cooperare, iar solut, iile din proiectulNCRAVE propun algoritmii care pot fi folosit, i de protocoalele de comunicat, ii cooperative.

2.1 Tehnici de codare a ret,elei

Conceptul fundamental de NC a fost introdus de catre Yeung s, i Zhang ın lucrarea [3] pentruret,elele de comunicat, ii prin satelit, iar dupa aceea a fost dezvoltat complet de catre de Ahlswedeın anul 2000 ın [1], lucrare ın care a fost introdus termenul “Network Coding“ (NC). Ideea debaza a tehnicilor de codare de tip NC este urmatoarea: nodurile unei ret,ele ın loc sa transmitamai departe pachetele recept, ionate de la alte noduri, transmit mai departe pachetele obt, inute prindiferite operat, ii aritmetice efectuate asupra pachetelor recept, ionate.

Des, i paradigma NC reprezinta un domeniu relativ nou, de la aparit, ia lucrarii lui Ahlswedeaceasta beneficiaza de un interes deosebit acordat de catre comunitatea de cercetare din domeniu.Avantajele oferite de catre aceste tehnici de codare, cum ar fi rata de transfer ımbunatat, ita s, i

8

N 1 N2

N 3

N 4

N6N 5

a b

a sau b?a b

a sau b? a sau b?

N1 N2

N3

N4

N6N5

a b

aÅba b

aÅb aÅb

Figura 2.1: Topologia fluture cu s, i fara NC

pierderile de pachet reduse, devin din ce ın ce mai exploatate de catre proiectant, ii de ret,ele decomunicat, ii.

Exemplul clasic de NC este prezentat ın figura 2.1. Topologia considerata este de tip fluture(“Butterfly”) [1], iar codarea este realizata ın cea mai simpla forma, adica operat, ia sau-exclusiv(XOR) bit cu bit ıntre pachete.

Nodurile sursa, N1 s, i N2 transmit doua pachete, a s, i b, la nodurile destinat, ie, N5 s, i N6.Nodurile destinat, ie trebuie sa recept, ioneze ambele pachete. Se presupune ca fiecare legatura arecapacitate unitara, ıntr-o unitate de timp fiind capabila de transmisia unui singur pachet. Dacase foloses,te rutare simpla, nodul N3 nu este capabil sa transmita pe legatura sa de ies, ire ambelepachete deodata s, i trebuie sa aleaga pachetul pe care ıl transmite, a sau b, celalalt fiind ıntarziat saueliminat. Astfel va fi imposibil ca cele doua pachete sa ajunga la ambele noduri destinat, ie ın acelas, imoment de timp. Se poate observa ca rata maxima de transmisie va fi 1,5 pachete/unitatea detimp. Pentru obt, inerea informat, iei codate nodul N3 combina pachetele recept, ionate prin operat, iaXOR, s, i transmite rezultatul la nodul N4, care la randul lui transmite pachetul codat la noduriledestinat, ie. Nodurile destinat, ie vor fi capabile sa decodeze pachetul codat, pe baza pachetelorrecept, ionate pe legaturile directe cu nodurile sursa. Recept, ia simultana a celor doua pachete decatre ambele noduri destinat, ie este posibila folosind aceasta metoda [2]. Daca se foloses,te NCrata de transmisie va cres,te la 2 pachete/unitate de timp, care este capacitatea multicast maximaa acestei topologii.

Exista foarte multe studii teoretice legate de tehnicile de codare de tip NC, iar ın urmatoareleparagrafe se va realiza sintetizarea succinta a acestora. Conceptul de NC de baza propus ın [1] afost dezvoltat mai departe, s, i o descriere algebrica a codurilor NC liniare a fost prezentata ın [2],ın care s-a aratat ca tehnicile NC reprezinta un ingredient esent, ial ın atingerea capacitat, ii maximea unei ret,ele. Koetter s, i Medard au demonstrat, folosind o abordare matriciala, ca prin utilizareatehnicilor de codare NC liniare se poate atinge limita ret,elei data de teorema taietura-minimaflux-maxim (“min-cut max-flow“) [4]. Pentru ret,elele cu mai multe noduri sursa, Yeung s, i Zhangau obt, inut limitele inferioare s, i superioare ale ratei de transfer ın [3]. Primele scheme de codareın timp polinomial pentru NC au fost propuse de catre Jaggi, Chou s, i Jain [5]. Aces,ti algoritmiau fost extins, i de catre Barbero si Ytrehus cu proceduri care ıncercau sa minimizeze dimensiuneanecesara a campului finit [6]. Algoritmi aleatori, adica conceptul de “Random Network Coding“(RNC), au fost propus, i de Ho, Koetter, Medard, Effros s, i Karger [7], s, i de Sanders, Egner s, iTolhuizen [8]. Codurile care folosesc structuri algebrice au fost introduse de Koetter si Medard ın[4], acest articol oferind s, i o descriere complet matriciala a acestor coduri. Codurile deterministedescentralizate au fost propuse de Fragouli s, i Soljanin ın [9]. In [9] s-a aratat ca tehnicile decodare de tip RNC pot fi integrate mai us,or ın ret,elele de comunicat, ii reale, decat codurile NCdeterministe. S-a demonstrat ın [10] ca protocoalele de broadcast s, i multicast au performant,e maibune daca se foloses,te NC atat ın ret,ele fixe cat s, i ın ret,elele fara fir.

9

Primele cercetari legate de avantajele tehnicilor NC din punctul de vedere al ratei de transferau considerat grafuri direct, ionate s, i au fost prezentate de Sanders, Egner s, i Tolhuizen ın [8].Ulterior au fost studiate si avantajele tehnicilor NC ın grafuri nedirect, ionate. In ret,elele fara firavantajele combinarii tehnicilor NC cu transmisiuni broadcast au fost studiate de Fragouli ın [11].Proprietatea de ”fairness” s, i ıntarzierile ın ret,ele fara fir au fost examinate de Eryilmaz ın [12].Tehnicile NC folosite la nivel fizic au fost propuse ın [13]. COPE, primul protocol comunicat, iedestinat ret,elelor wireless care folosea tehnicile de codare NC a fost proiectat de Katti s, i descris ın[14]. Tehnicile NC au fost studiate s, i pentru ret,ele de senzori wireless de catre Dimakis ın [15] s, ide Fragouli ın [11]. Exista de asemenea studii legate de proiectarea ”cross-layer” a acestor tehnicide codare. Separabilitatea dintre codurile de canal (FEC) s, i NC a fost studiata de Tuninettis, i Fragouli ın [16]. Codurile care act, ioneaza la nivel de pachet ın nodurile intermediare au fostpropuse de Lun ın [17]. Alte scheme de codare, care funct, ionau cu limitari de complexitate, cumar fi memoria fixa s, i finita a nodurilor intermediare, au fost investigate de Pakzad ın [18]. Codurilecorectoare de erori de tip NC s, i limitele acestora au fost prezentate de Yeung s, i Cai ın [19].

Problema securitat, ii ın sistemele cu NC este de asemenea un domeniu de cercetare de mareinteres. Feldman ın [20] a propus solut, ii de compromis ıntre securitate, dimensiunea alfabetului sirata multicast pentru coduri NC liniare. Detectarea modificarii bizantine (“byzantine modificationdetection“) ın ret,ele care implementeaza Random Network Coding a fost studiata de Ho ın [21].

Des, i exista foarte multe studii teoretice ın diferite direct, ii de cercetare despre tehnicile NC,studii referitoare la implementarea practica a acestor tehnici de codare ın ret,ele de comunicat, iisunt put, ine. Integrarea noilor tehnologii, cum sunt si tehnicile de codare NC, ın arhitecturilede ret,ea existente, este o provocare majora. In mod ideal ar trebui profitat de funct, ionalitat, iles, i avantajele acestor tehnici de codare fara a schimba semnificativ dispozitivele, protocoalele s, iserviciile existente.

M. Kim ın [22] a propus o metoda de optimizare a ret,elei din punctul de vedere al costurilor.Metoda propusa rezolva optimizarea ret,elei cu ajutorul algoritmilor genetici. In topologiaoptimizata se va aplica codarea de tip Network Coding. Ch. Gkantsidis s, i P. Rodriguez ın [23]au propus prima implementare reala a tehnicilor de codare de tip Network Coding ıntr-o ret,eaP2P. Aceasta ret,ea funct, ioneaza similar cu sistemele BitTorrent: datele sunt ımpart, ite ınblocuri, dar un nod nu transmite mai departe blocuri simple, ci o combinat, ie liniara aleatoare ablocurilor recept, ionate, coeficient, ii de codare fiind inclus, i ın pachetele transmise. Acest sistembazat pe Network Coding a fost prezentat ın iulie 2007 de catre compania Microsoft avandnumele Microsoft Secure Content Downloader.

Tehnicile NC pot profita de pe urma naturii broadcast a mediului wireless. Sistemul COPE afost prima implementare practica a tehnicilor NC propusa de S. Katti s, i D. Katabi ın [14] pentruret,ele ”wireless mesh”. Acest sistem utilizeaza NC pentru trafic unicast s, i se presupune ca nuexista sincronizare sau informat, ii prealabile despre transmit, ator, receptor, s, i caracteristiciletraficului. Codarea se bazeaza pe operat, ia XOR ıntre doua pachete. Caracteristica de baza asistemului este oportunismul. In aceeas, i lucrare au fost introduse conceptele de ascultareoportunista s, i codare oportunista. S. Katti s, i D. Katabi ın [24] au prezentat o versiuneımbunatat, ita a arhitecturii COPE, numit MIXIT. Acest sistem a fost propus pentru transferulde fis, iere ıntr-o ret,ea ”mesh” stat, ionara, afectata de erori s, i pierderi de date. Componenta debaza a sistemului MIXIT este un cod NC la nivel de simbol care funct, ioneaza ca s, i un codcorector de erori de tip ”rateless” [24]. Prin utilizarea NC la nivel de simbol, routerele transmitcombinat, ii liniare ale simbolurilor recept, ionate, iar astfel se reduce probabilitatea de a trimiteinformat, ii duplicate s, i se elimina necesitatea coordinarii nodurilor. MIXIT exploateazacaracteristicile de baza ale mediului “wireless“ s, i propune o solut, ie pentru exploatareacombinata a diversitat, ii ın timp s, i ın spat, iu. Permite o implementare distribuita de complexitateredusa s, i integrarea relativ usoara ın stiva de protocoale. Utilizand tehnica MIXIT se pot obt, inecres,terea ratei de transfer de aproximativ de 4 ori relativ la alte metode de rutare oportunista,daca nu se considera antetul mai mare al pachetelor MIXIT [24]. Scopul principal este utilizareacaracteristicilor de broadcast s, i de diversitate ale mediului ”wireless” pentru cres,terea debitului.

10

In [25] fost prezentata o alta implementare a tehnicilor NC pentru transmisii de date ın ret,elefara fir. In aceasta lucrare a fost propus un mecanism care integreaza tehnicile NC ın TCP faramodificari semnificative ale stivei de protocoale. Acest algoritm reprezinta o abordare noua s, ieficienta pentru controlul congestiei ın ret,ele de comunicat, ii ın care exista pierderi, cum suntret,elele fara fir. S-a demonstrat folosind algoritmul propus se poate atinge rata de transfer multmai mare decat TCP ın ret,elele cu pierderi [25].

K. Nguyen, T. Nguyen s, i S.-C. Cheung ın [26] au propus o varianta de Network Coding pentrutransmisii video eficiente, s, i au demonstrat ca tehnicile de codare NC pot elimina necesitateade sincronizare perfecta ıntre diferite noduri sursa, se pot integra us,or cu TCP s, i pot sa reducaspat, iul de stocare necesar la servere. Ei au demonstrat prin simulari ca prin folosirea tehnicilorNC debitul binar necesar poate fi redus cu pana la 60% [26]. N. Thomos s, i P. Frossard ın [27] auaratat ca tehnicile NC pot fi folosite, pe langa cres,terea ratei de transmisie ın sistem, s, i pentrureducerea ıntarzierilor s, i cres,terea robustet,ei la erori.

I.Broustis s, i alt, ii ın [28] ın cadrul proiectului de cercetare FP7 N-CRAVE au propus un bancde testare constand din 14 noduri ORBIT pentru implementarea practica a tehnicilor de codarede tip Network Coding. Bancul de testare “wireless“ de tip “mesh“ care combina “hardware“-uldedicat cu simulatoare (routere Click s, i/sau NECO [29]). Rezultatul este o ret,ea de comunicat, iiP2P orientata pe pachete. O alta abordare se refera la transmisiile orientate pe fluxuri de datemultipunct la multipunct, ın cazul carora aspectele legate de sincronizare reprezinta o sarcinadificila ın dezvoltarea tehnicilor NC ın practica. Solut, ii teoretice pentru sincronizarea fluxurilorde date pentru NC au fost propuse ın [30].

De asemenea exista init, iative pentru regandirea modului de funct, ionare al ret,elelor decomunicat, ii actuale, din care doua abordari “clean-slate“ au fost introduse ın proiectul FP74WARD - Architecture and Design for the Future Internet. Este vorba despre managementulintern al ret,elei (In-Network Management, INM) [31] s, i despre calea generica (Generic Path,GP) [32]. INM propune integrarea funct, iilor de management ın ret,eaua monitorizata, s, i renunt, ala managementul extern cum era ın solut, iile existente. Conceptul de GP reprezinta oabstractizare care permite dezvoltarea s, i integrarea unor tehnici care ımbunatat,esc calitatea s, isigurant,a (”reliability”) comunicat, iei. Integrarea acestor concepte ıntr-un cadru (”framework”)comun poate crea mediul necesar pentru integrarea pe scara larga a tehnicilor NC ın transmisiilemultipunct la multipunct [33].

Primul sistem comercial operat, ional pe scara larga care foloses,te de tehnicile de codare RNCa fost implementat ın Beijing, China de catre compania UUSee Inc s, i descris ın [34]. UUSeeimplementeaza un sistem de streaming video ın timp real la cerere bazat pe o arhitectura P2P(“peer-assisted live and on-demand video streaming system“) s, i pe RNC. UUSee a devenit cel maimare operator de televiziune prin Internet s, i de servicii video interactive ın China, oferind peste60 de canale TV ın timp real s, i peste 350 de canale video comerciale, avand peste 30 de milioanede utilizatori. Performant,ele sistemului UUSee sunt prezentate ın [34].

Majoritatea modelelor implementate au considerat topologii de ret,ea particulare, au neglijat”overhead”-ul necesar pentru semnalizare s, i complexitatea computat, ionala, nu au consideratnecesitatea sincronizarii fluxurilor, nu au studiat efectul tehnicilor NC asupra ıntarzierilor, etc.Simularile facute au avut loc considerand ret,ele simplificate, de exemplu toate legaturile suntfara ıntarzieri s, i nu exista trafic suplimentar. Aceste simplificari ın ret,elele de comunicat, ie realenu exista, ceea ce complica semnificativ integrarea tehnicilor NC. La momentul de fat, a ıncalipsesc protocoalele s, i algoritmii practici capabili sa integreze tehnicile de codare NC pe scaralarga ın ret,elele de comunicat, ie reale.

Evolut, ia ın timp a cercetarii legate de tehnicile de codare de tip NC este prezentata ın Figura2.2.

11

2000 20122001 2002 2003 2004 2005 2006 2007 2008 2009 2010

20012000

APARE

CONCEPTUL

NETWORK

CODING

20032002

Descrierea algebric< a codurilor NC

20052004

20062005

20072006

20042003 20082007

20092008

20102009

20122010

Coduri NC de

complexitate redus<;NC de energie minim<

în re―ele ad-hoc

Capacitate codurilor

NC pentru securitate;

Detec―ia modific<rii bizantine

Algoritmi în timp

polinomial pentru NC;

NC pentru distribu―ia de con―inutAvalanche

Random NC;

Broadcast eficient

energetic folosind NC;

NC la stratul fizic;

Corec―ie de erori folosind NC;

COPE

MORE

Teoria evolu―iei pentru NC;Teoria jocurilor pentru NC;

4 WARD;

MIXIT

Dice

Control de flux pentru NC;

NC cu TCP ;

NC de la teorie la

streaming media;

N- Crave;

NECO

Video streaming

folosind NC;

UUSee

Figura 2.2: Evolut, ia NC ın timp

2.2 Clasificarea tehnicilor de codare a ret,elei

2.2.1 Modul de proiectare

Centralizat

Aceasta abordare se poate aplica ın ret,ele fixe, care nu ıs, i modifica caracteristicile ın timp,deoarece necesita un control centralizat al operat, iilor de codare. Se presupune ca topologiaret,elei este cunoscuta, iar pe baza acesteia se construies,te codul NC. Avand ın vedere catopologia nu se schimba ın timp, iar fiecare nod cunoas,te topologia ret,elei, aceasta metoda deconstruct, ie a codului are avantajul ca nu necesita semnalizari suplimentare, iar coeficient, ii decodare se pot impune la fiecare nod ın parte, nefiind nevoie de transmiterea acestora pe langapachetele de date. Dezavantajul major este ca daca topologia ret,elei este foarte mare, controlulcentralizat va conduce la cres,terea semnificativa a complexitat, ii. Un alt dezavantaj este acela caın ret,ele dinamice, cum sunt ret,elele fara fir, este foarte greu de realizat un control centralizatasupra tuturor nodurilor.

Descentralizat

Codarea NC descentralizata permite nodurilor intermediare sa specifice local operat, iile de codarefara sa fie cunoscuta ıntreaga topologie a ret,elei. Metoda descentralizata de construire a coduluiNC permite implementarea acestor tehnici de codare ın ret,ele care se schimba ın mod dinamic,cum sunt ret,elele fara fir, s, i nu necesita un control centralizat. Dezavantajul metodei este catrebuie transmise informat, ii suplimentare ımpreuna cu pachetele de date, cum ar fi coficient, ii decodare necunoscut, i de fiecare nod al ret,elei.

2.2.2 Modul de operare

Codare bazata pe operat, ia XOR

Tehnica de codare pe baza operat, iei sau-exclusiv (XOR) bit cu bit ıntre pachetele transmise estecea mai simpla forma de codare. Construct, ia codului se poate realiza ın mod centralizat saudescentralizat. Acest tip de codare sta la baza sistemului COPE. Are avantajul ca nu necesitacapacitate mare de procesare ın nodurile care efectueaza codarea s, i decodarea.

12

Codare liniara

Nodurile intermediare formeaza combinat, ii liniar independente ale pachetelor recept, ionate.Coeficient, ii de codare care se folosesc pentru crearea pachetelor codate se cunosc ın toataret,eaua, s, i nu este necesara includerea acestora ın pachetele transmise. Pe baza coeficient, ilor decodare se poate realiza o descriere complet matriciala a codurilor NC liniare. Matricea dedecodare are dimensiune fixa, ceea ce ridica o serie de probleme de scalabilitate a acestor coduri.De asemenea cres,terea dimensiunii topologiei conduce la cres,terea complexitat, ii operat, iilor dedecodare. In scopul decodarii pachetelor nodurile destinat, ie pot identifica nodurile sursa pe bazavectorului de codare, cunoscut de catre toate nodurile ret,elei.

Codare aleatoare

Coeficient, ii de codare se genereaza ın mod aleator s, i independent la fiecare nod din ret,ea. Aceastaforma de codare sta la baza solut, iilor distribuite. Coeficient, ii de codare sunt ales, i ın mod aleatorconform unei distribut, ii uniforme dintr-un camp finit, iar vectorul de codare este inclus ın pacheteletransmise. Nodul destinat, ie nu trebuie sa cunoasca fiecare coeficient ın parte, pentru decodare estede ajuns sa s,tie transformarea liniara completa ıntre pachetul sursa s, i pachetul recept, ionat. Dinacest motiv vectorul de codare se actualizeaza la fiecare nod care efectueaza operat, ii aritmeticeasupra pachetelor recept, ionate. Dimensiunea matricii de codare este dinamica, abordarea estedescentralizata, ceea ce implica o scalabilitate ridicata a acestor tipuri de coduri. Dezavantajuleste ca nodurile care efectueaza operat, iile aritmetice au nevoie de o capacitate de procesare mairidicata.

Codare “rateless”

Cea mai importanta proprietate a codurilor rateless este ca se poate genera un numar infinit desimboluri codate dintr-un set limitat de simboluri de intrare. Simbolurile pot fi recuperate dintr-un numar de simboluri codate put, in mai mare decat numarul simbolurilor de intrare. Codurilerateless pot fi privite ca o forma particulara a codurilor de ret,ea, codarea fiind efectuata numaide nodul sursa.

2.2.3 Context

Transmisii fara pierderi

Tehnicile de codare NC permit atingerea ratei multicast maxim posibile ıntr-o ret,ea ın care nuexista pierderi. Tehnicile NC permit partajarea resurselor ret,elei ıntre mai multe noduri destinat, ie.Este posibila atingerea simultana a unei rate de transfer date de catre toate nodurile destinat, ie.

Codare intrasesiune

Daca tehnicile de codare NC se aplica pentru o singura sesiune de comunicat, ie, adica transmisiaunicast a informat, iei la un singur nod destinat, ie sau transmisia multicast a unor informat, ii comunela mai multe noduri destinat, ie, atunci vorbim de tehnici NC intrasesiune. In acest caz se codeazaımpreuna numai simbolurile de informat, ie care provin din aceeas, i sesiune de comunicat, ie s, i carevor fi decodate de acelas, i set de noduri destinat, ie. Pentru codarea NC intrasesiune este de ajunsca fiecare nod sa formeze ies, irile prin combinat, ia liniara aleatoare a intrarilor. Nodurile destinat, ievor fi capabile sa decodeze pachetele recept, ionate cand vor primi un numar suficient de mare decombinat, ii liniare a simbolurilor transmise de catre nodul sursa.

Codare intersesiune

Daca exista mai multe sesiuni de comunicat, ie care partajeaza ret,eaua, o abordare practica estealocarea unor resurse independente pentru fiecare sesiune ın parte. Daca graful subret,elelor

13

A R B

A R B

A R B A R B

A R B

A R B

A R B

a

b

aÅba

a

b

b

aÅb

Figura 2.3: NC ın ret,ele wireless

corespunzatoare fiecarei sesiuni satisface condit, ia de flux-maxim taietura-minima pentru fiecarenod destinat, ie, se poate obt, ine o solut, ie folosind NC intrasesiune ıntre simbolurile fiecarei sesiuniın parte. Pentru atingerea ratei de transfer optime ın ret,ea ın unele cazuri este necesara folosireatehnicilor NC intersesiune, adica codarea simbolurilor care apart, in unor sesiuni diferite. CodareaNC intersesiune este mult mai complicata decat codarea intrasesiune, deoarece trebuie asiguratca fiecare nod destinat, ie este capabil sa decodeze informat, ia de care are nevoie. Nodurileintermediare nu pot combina ın mod aleator toata informat, ia recept, ionata, pentru ca existaposibilitatea ca nodurile destinat, ie sa nu recept, ioneze suficienta informat, ie pentru a decodatoate informat, iile primite. In momentul de fat, a pentru probleme de ret,ea multisesiune generale,nu se cunosc metode de determinare a fezabilitat, ii sau de construct, ie a unor coduri optime.

Transmisii ın ret,ele cu pierderi

In ret,elele cu pierderi de pachete se pot folosi tehnicile de codare RNC liniare, care permit atingereacapacitat, ii unei singure legaturi (unicast sau multicast) ıntr-un subgraf dat. Prin asigurarearobustet,ei aceste tehnici de codare permit stabilirea unei conexiuni cu rata de transfer maximacare este posibila ın acel subgraf.

2.3 Avantajele tehnicilor NC

Tehnicile de codare NC pot contribui la cres,terea ratei de transfer, a robustet,ei, s, i la securitatearet,elelor ın care sunt implementate. Cel mai cunoscut avantaj al tehnicilor de codare NC estecres,terea ratei de transfer a ret,elei prin utilizarea mai eficienta a resurselor ret,elei, adica printransmiterea mai multor informat, ii prin mai put, ine transmisii de pachete. Acest avantaj a fostdemonstrat, folosind topologia de tip fluture ın [1].

Tehnicile NC pot fi aplicate s, i ın ret,ele fara fir, unde este s, i mai us,or gasirea unor exemple,ın cazul carora tehnicile NC au avantaj clar fat, a de rutare ın ceea ce prives,te rata de transfer.In exemplul prezentat ın Figura 2.3 nodul A dores,te sa transmita un pachet catre nodul B, iarnodul B un pachet catre nodul A. Nodul B nu se afla ın raza de acoperire a nodului A, s, i invers;singura posibilitate de comunicare printre cele doua noduri fiind prin intermediul nodului R, careeste capabil de recept, ia sau transmisia unui singur pachet pe unitate de timp. Daca se foloses,terutare, sunt necesare 4 unitat, i de timp pentru transmisia celor doua pachete; iar daca se foloses,teNC sunt de ajuns 3 unitat, i de timp pentru transmisia aceleas, i cantitat, i de informat, ie.

In mediul “wireless“, tehnicile NC pot oferi avantaje ın ceea ce prives,te viat,a bateriei, bandade transmisie s, i ıntarzierile. Aceste avantaje apar datorita faptului ca tehnicile NC se folosesc denatura broadcast a mediului ”wireless”, facand aceste transmisii utile pentru fiecare nod destinat, ie[14].

Se poate observa din exemplele prezentate, ca tehnicile de codare NC pot ımbunatat, i rata detransfer a ret,elei atat ın medii fixe cat s, i ın medii “wireless“, daca ın ret,ea nu exista pierderi s, ierori. Insa aceste exemple sunt foarte simplificate, iar generalizarea lor ridica o serie de probleme.

14

In cazul ret,elelor de comunicat, ii, mai ales ın cazul ret,elelor fara fir, pierderile de pachetereprezinta o problema importanta. Pierderile de pachete pot sa apara din diferite motive, cumar fi umplerea cozilor, eronarea legaturilor sau coliziunea pachetelor. Aceasta problema poate firezolvata prin folosirea diferitelor metode, cum ar fi mecanismul de retransmisii utilizat de catreprotocolul TCP, sau codarea de canal. Daca aceasta codare de canal este aplicata ın mai multestagii, adica nu numai la nodul sursa, ci s, i ın nodurile intermediare, atunci poate fi privita cao forma speciala de NC. Deci tehnicile NC pot fi folosite s, i pentru cres,terea robustet,ei ret,eleiımpotriva pierderilor de pachete sau a caderii legaturilor. Daca se foloses,te NC, resursele ret,eleipot fi partajate ıntre diferite fluxuri de date, ceea ce va conduce la utilizarea mai eficienta aresurselor. Pentru o sesiune multicast cu orice tipar de eroare (”failure pattern”), pentru carerecuperarea transmisiei este posibila prin rerutare, exista un cod NC, care face posibila recuperareafara rerutarea pachetelor [2].

In anumite cazuri prin rutarea optima a pachetelor pot fi obt, inute aceleas, i performant,e caprin utilizarea tehnicilor NC, dar rutarea optima a pachetelor este greu de realizat. De exemplu,select, ia subgrafurilor cu cost minim pentru rutarea multicast implica arbori Steiner, gasirea caroraeste foarte complexa s, i ıntr-o abordare centralizata. Aceeas, i problema folosind NC se transformaıntr-o optimizare liniara de complexitate redusa, care poate fi rezolvata s, i ın mod distribuit.

Din punctul de vedere al securitat, ii, tehnicile NC pot oferi atat avantaje cat s, i dezavantaje.Daca se considera ret,eaua fluture s, i presupunem ca un adversar obt, ine pachetul a ⊕ b, se poateobserva ca el nu poate sa determine numai din acest pachet codat nici pe a, nici pe b. De aceeatehnicile NC ofera un mecanism posibil pentru comunicat, ii sigure s, i ın acest caz tehnicile NCreprezinta un avantaj. Daca presupunem ca nodul N3 nu trimite pachetul a ⊕ b, ci o versiunealterata a acestui pachet, modificarea pachetului codat este greu de detectat, iar decodarea va fiimposibila. In acest caz tehnicile NC au un dezavantaj major din punctul de vedere al securitat, iitransmisiei.

Din punctul de vedere al complexitat, ii tehnicile NC au dezavantajul ca necesita funct, ionalitat, iadit, ionale la nodurile ret,elei, o direct, ie de cercetare fiind gasirea echilibrului ıntre complexitates, i performant, a. O provocare majora reprezinta integrarea noilor tehnologii, cum este s, i NC, ınarhitecturile de ret,ea existente. In mod ideal, ar trebui profitat de avantajele oferite de tehnicileNC, ınsa fara schimbarea majora a echipamentelor s, i protocoalelor existente.

2.4 Arhitecturi propuse pentru viitorul Internet

Integrarea tehnicilor NC ın ret,elele de date necesita de asemenea definirea unor concepte noide arhitecturi de ret,ele care sa faciliteze procesarile distribuite necesare pentru implementareaoperat, iilor NC. Mai multe proiecte de cercetare recente dedicate dezvoltarii viitorului Internetau propus arhitecturi s, i paradigme de comunicat, ii care fac posibila integrarea tehnicilor NC ınret,elele de comunicat, ii s, i serviciile viitoare.

Internetul a fost proiectat cu 40 de ani ın urma cu scopul crearii unei infrastructuri decomunicat, ii simple care conecteaza doua terminale care comunica. Ret,eaua ın sine a oferit numaiserviciile legate de procesul de comunicat, ie ıntre terminale, majoritatea procesarilor necesarepentru comunicat, ie fiind implementate pe stat, iile terminale. Internetul a fost proiectat pentru afunt, iona ın mediul creat de universitat, i s, i de agent, ii guvernamentale. Acest mediu s-a schimbatsemnificativ, Internetul devenind cea mai mare infrastructura de comunicat, ii din lume. Ret,eauaeste potrivita pentru procesul de comunicat, ie, dar exista diferite cerint,e ale utilizatorilor pentrucare arhitectura curenta nu este adecvata [35]. Exista probleme privind securitatea, avand ınvedere ca ret,eaua nu mai funct, ioneaza ın mediul pentru care a fost conceputa, ci a devenitaccesibil pentru publicul larg. Aspectele de securitate reprezinta o provocare ın proiectarearet,elelor viitorului. Internetul este centrat pe date, mecanismele de distribut, ie de date, careevolueaza de la mecanisme centralizate bazate pe servere spre cele distribuite, fiind o parteimportanta a lui. Internetul viitorului va avea nevoie de metode robuste s, i puternic scalabilepentru a face fat, a cres,terii cont, inutului distribuit. De asemenea Internetul original a presupus

15

conexiune permanenta s, i terminale fixe. In mediul de comunicat, ii eterogen, care este cazulInternetului curent, aceste presupuneri nu mai sunt valabile, s, i este nevoie de proiectarea unorprotocoale eficiente energetic. Din punctul de vedere al managementului, sistemul de control s, imanagement al Internetului curent nu este destul de eficient. Internetul s-a extins atat ındimensiune cat s, i ın complexitate, de la cateva sute de noduri la un sistem distribuit compus dinmilioane de noduri. Algoritmii exitent, i nu au fost proiectat, i pentru acest context, fiind necesaresolut, ii mult mai scalabile s, i distribuite pentru managementul ret,elei. Scalabilitatea este deasemenea o problema din cauza numarului ridicat de dispozitive care se conecteaza la Internet,iar serviciile de baza (rutare, mobilitate, QoS, transmisii multicast, securitate) sunt din ce ın cemai greu de realizat. Internetul viitorului trebuie sa ofere solut, ii s, i pentru aceste probleme [36].

Limitarile Internetului sunt foarte bine studiate de catre comunitatea de cercetare s, i existamulte propuneri pentru ret,elele viitorului. S. Paul ın [35] prezinta cele mai importante cerint,e alearhitecturii care va sta la baza ret,elelor viitorului, s, i anume: mobilitate, conectivitate intermitenta,acces eficient la cont, inut s, i diseminarea eficienta a informat, iei. Se identifica doua direct, ii deact, iune:

• Imbunatat, irea ret,elei de baza prin ımbunatat, irea routerelor s, i redefinirea funct, ionalitat, ilorterminalelor.

• Construirea unui ”overlay” comun care beneficiaza de infrastructura existenta [35].

In aceasta lucrare s-a aratat ca ın ret,ea cont, inutul este un element important, s, i nu un efectsecundar al comunicat, iei dintre client s, i server, iar descoperirea s, i rutarea cont, inutului sunt operat, iinecesare pentru oferirea unor servicii noi. Pentru ındeplinirea cerint,elor legate de diseminareacont, inutului, facilitat, ile de optimizare s, i de inteligent, a artificiala trebuie sa faca parte din ret,ea.

Conceptul ret,elelor informat, ionale a fost dezvoltat mai departe de K. Fall ın [37], care aconsiderat ca informat, ia este un element primar care trebuie transferat, nefiind un rezultat alcomunicarii ıntre procese. Arhitectura de ret,ea propusa este centrata pe informat, ie avand maimulte avantaje pentru ca:

• Multe aplicat, ii sunt orientate catre date s, i servicii, de aceea suportul nativ pentru informat, iepoate oferi eficient, a mai ridicata s, i management mai avansat.

• Arhitectura curenta a Internetului este centrata pe stat, ii, dar pentru multe aplicat, ii esteindiferent care stat, ie ofera sau proceseaza informat, iile daca acestea sunt utile.

Cateva dintre aplicat, iile orientate catre informat, ie sunt: distribut, ia de cont, inut,analiza/procesarea cont, inutului, cereri s, i raspunsuri ın timp real. Componentele principale aleunei ret,ele informat, ionale sunt producatorii de informat, ie, consumatorii s, i intermediarii. Celemai importante cerint,e impuse pentru ret,ea includ capabilitatea de stocare, procesarea datelor lanodurile intermediare, atribuirea diferitelor drepturi, QoS (calitatea serviciilor) la cerere,distribut, ia de informat, ie, etc [37].

Comunitatea de cercetare ın domeniul ret,elelor de comunicat, ii a introdus pe parcurs noiprotocoale s, i noi elemente de arhitectura pentru Internet, dar principiile de baza nu au fostmodificate. Internetul trebuie reproiectat pentru a face fat, a cerint,elor actuale s, i pentru apermite integrarea us,oara a cerint,elor viitoare. Exista multe init,ative s, i proiecte de cercetarecare au ca s, i scop dezvoltarea Internetului viitorului.

In Statele Unite ale Americii primele cercetari legate de arhitectura viitorului Internet au fostrealizate ın cadrul programului NewArch [38] ınceput ın 2000 s, i finant,at de DARPA. In cadrulacestui program au fost studiate funct, iile de baza a ret,elelor de comunicat, ii, s, i anume adresarea,structura stratificata a protocoalelor, crearea unor module noi, etc. Intre rezultatele NewArchse numara proiecte care propun metode de adresare noi (FARA) [39], arhitecturi cu protocoalenestratificate (RBA) [40], s, i altele.

NSF (National Science Foundation) finant,eaza programul GENI (Global Environment forNetwork Innovations), care dezvolta infrastructura necesara pentru testarea noilor idei s, i

16

propuneri din programul FIND (Future Internet Design) [35]. Scopul programului GENI estedezvoltarea unui banc de testare pentru a promova cercetarea s, i dezvoltarea noilor arhitecturipentru Internet. Bancul de testare construit permite testarea diferitelor propuneri ın modsimultan s, i independent. Proiectul GENI permite testarea metodelor care rezolva anumiteprobleme ale arhitecturii curente prin construirea unor medii experimentale pe ret,ele realefolosind tehnologii noi s, i integrand tehnologii inovative. Programul FIND a ınceput ın 2006 s, i seconcentreaza asupra proiectarii unor noi arhitecturi pentru Internetul viitorului, majoritateaexperimentelor fiind efectuate pe bancul de testare GENI. Exista numeroase init, iative ın FIND,fiecare ocupandu-se de anumite obiective ale tehnologiilor de ret,ea [35]. Una dintre acesteinit, iative este proiectul Relationship-Oriented Networking, care ıncearca sa ofere securitate,utilitate s, i ıncredere mai mare ıntre entitat, ile care formeaza ret,eaua, pe baza relat, iilor dintreoameni, entitat, i s, i institut, ii conectate la Internet. O alta init, iativa este numita Content CentricNetworking, care propune schimbarea arhitecturii curente a Internetului bazata pe stat, ii cu oarhitectura care are la baza ei cont, inutul de informat, ie. Proiectul Phoenix propune o arhitecturanoua care este capabila de supraviet,uire ın cazul unor dezastre. Pentru monitorizarea s, icontrolul ret,elelor propunerile includ arhitectura 4D, care ofera management s, i controlcentralizat, arhitectura Complexity Oblivious Network Management care este o extensie aarhitecturii 4D, s, i proiectul Maestro care propune o abordare similara cu sistemele de operarepentru controlul s, i managementul ret,elelor. Arhitecturi centrate pe servicii au fost propuse deasemenea ın cadrul programului FIND, printre ele fiind arhitectura Information Transfer andData Service sau proiectul NetServ. Arhitecturile propuse pentru viitoarele ret,ele includ s, ipropuneri ca eFIT (enabling Future Internet innovation through Transit wire) care propune oarhitectura de rutare bazata pe separarea ret,elelor utilizatorilor de ret,eaua de transport [35].

In Europa programul FIRE (Future Internet Research and Experimentation) [41] finant,eazaprin Programul Cadru 7 cateva proiecte care se ocupa de dezvoltarea ret,elelor viitoare. ScopulFIRE este realizarea legaturii ıntre cercetarea academica s, i testarea industriala prin construireaunei infrastructuri de ret,ea care funct, ioneaza ca un banc de testare pentru tehnologiile ret,elelorviitoare. Proiectele de cercetare includ init, iative ca 4WARD, TRILOGY, SOA4ALL, etc. Scopulproiectului de cercetare 4WARD este “cres,terea competit, iei ın industria ret,elelor ın Europa s, iımbunatat, irea calitat, ii de viat, a a cetat,enilor prin crearea unei familii de ret,ele dependente s, iinteroperabile, care permit accesul direct s, i omniprezent la informat, ii“ [42]. Scopul proiectuluiTrilogy este “dezvoltarea unor solut, ii noi pentru arhitectura de control a Internetului s, iınlaturarea problemelor tehnice cunoscute sau ın curs de aparit, ie, evitand prezicerea efectelorcomerciale sau sociale care ıi afecteaza pe participant, i” [43]. Proiectul SOA4ALL propune”crearea unei lumi ın care milioane de part, i ofera sau consuma diferite servicii prin tehnologiiweb avansate: scopul principal al proiectului fiind oferirea unui cadru care integreaza realizaritehnologice complementare s, i evolut, ionare ıntr-o platforma de distribuire a serviciilor coerenta s, iindependenta“ [44].

In Japonia programul AKARI dezvolta o noua arhitectura pentru Internet, s, i exista alteprograme ın China, Australia s, i alte part, i ale lumii. Proiectul AKARI este sponsorizat de NICT(Japan National Institute of Information and Communications Technology), fiind cel mai mareproiect din Japonia ın acest domeniu. In proiectul AKARI sunt propuse cinci modele dearhitectura: ”o arhitectura integrata bazata pe modelul stratificat avand colaborare cross-layer,o arhitectura care reduce numarul funct, iilor duplicate la straturile inferioare s, i simplificamodelul stratificat, o arhitectura pentru garantarea calitat, ii serviciilor s, i pentru transmisiimulticast, o arhitectura pentru interconectarea dispozitivelor s, i ret,elelor eterogene, s, i oarhitectura de acces mobil pentru distribuirea informat, iilor de la senzori s, i pentru serviciiregionale/individuale adaptive“ [45].

17

Capitolul 3

Principii generale de integrare atehnicilor NC ın ret,ele de comunicat, ii

In ret,elele de comunicat, ii actuale paradigma principala reprezinta calea de comunicat, ii punct-la-punct compusa dintr-o serie de legaturi interconectate. Fiecare cale este dedicata unei comunicat, iiseparate s, i partajeaza resursele fizice limitate cu celelalte cai stabilite ın ret,ea. In sistemele decomunicat, ii clasice, bazate pe TCP s, i fara QoS, partajarea resurselor este rezolvata prin reducerearatei transmisiilor afectate de congestie. Pe de alta parte, alocarea resurselor pentru caile detransmisie cu anumite cerint,e de QoS impuse este o sarcina complexa s, i dificila, fiind o tema decercetare importanta ın contextul proiectarii ret,elelor viitorului [32].

Important,a ridicata a serviciilor multimedia s, i distribut, ia de cont, inut necesita capbilitat, iavansate de management al ret,elei s, i tehnici de transmisie noi, care permit o utilizare maieficienta a resurselor. Un concept de management propus ın cadrul proiectului FP7-4WARD estenumit In-Network Management (INM) [31], care este integrat ın ret,eaua monitorizata. Tehnicilede codare NC pot oferi solut, ii la aceste probleme avand ın vedere ca tehnicile NC pot reducecapacitatea de transmisie necesara cu pana la 60% [27] s, i au un rol important ın controlulcongestiei. A fost demonstrat de asemenea, ca folosind NC pentru transmisii multicast, se poateatinge capacitatea maxima a ret,elei [7]. NC a fost integrat ın protocoale de distribut, ie decont, inut similare cu BitTorrent, mai precis ın sistemul Avalanche [23]. NC poate fi implementatpe diferite nivele ale stivei de protocoale OSI. Aplicat, iile NC variaza de la implementarea lanivelul fizic ın ret,ele fara fir pana implementarea Random NC la nivelul aplicat, ie ın ret,ele de tip“swarm“ folosite pentru distribut, ia de cont, inut.

Majoritatea modelelor NC implementate lucreaza cu topologii de ret,ea particulare, neglijandcaracteristicile unor ret,ele de comunicat, ii reale. Acest capitol propune cateva metode necesarepentru integrarea tehnicilor NC ın ret,ele de date reale. Metodele propuse au fost folosite pentruimplementarea practica a tehnicilor NC, care va fi descrisa ın capitolele urmatoare.

Tehnicile de cooperare au fost dezvoltate preponderentpentru ret,ele fara fir. Aceste tehnicipermit ca mai multe entitat, i sa-s, i partajeze resursele s, i sa realizeze procesari comune pentru apermite comunicarea ıntre doi sau mai mult, i utilizatori. In ultimii ani comunitatea de cercetarea investit mult efort pentru dezvoltarea tehnicilor de comunicat, ii cooperative ın ret,ele fara fir.Resursele radio limitate, variabilitatea canalelor radio s, i nevoia asigurarii unor debite ridicatemotiveaza acest interes deosebit.

Tehnicile de codare de ret,ea reprezinta o metoda posibila pentru implementarea cooperariiıntre nodurile ret,elei. Nodurile implicate ın procesul de cooperare trebuie sa satisfaca anumitecondit, ii legate de capacitatea de procesare, de sincronizare s, i caracteristicile legaturilor care leinterconecteaza. Nodurile care satisfac condit, iile impuse formeaza ret,eau de codare. Folosireatehnicilor de codare de ret,ea ın practica necesita o interact, iune puternica ıntre entitat, ile de controls, i de management ale ret,elei.

Pot fi definite trei principii majore pentru integrarea tehnicilor de codare de ret,ea ıncomunicat, iile de date [46]:

18

1. Identificarea ret,elei de codare: O problema importanta pentru integrarea tehnicilor NCın ret,ele de comunicat, ii reprezinta select, ia nodurilor, s, i implicit a fluxurilor, care trebuiesa realizeze operat, iile de codare. In majoritatea studiilor s, i implementarilor ale tehnicilorNC se presupune ca fiecare nod intermediar din ret,ea efectueaza operat, ii de codare. Inmulte cazuri este de ajuns ca numai un subset de noduri intermediare sa codeze informat, ia.Determinarea subsetului minim de noduri la care este necesara folosirea tehnicilor NC este unaspect important al integrarii acestor tehnici de codare ın ret,ele reale, pentru ca va conducela reducerea semnificativa a complexitat, ii calculelor s, i va optimiza ret,eaua din punctul devedere al costurilor, reducand resursele suplimentare necesare pentru transmisia fluxurilorfolosite pentru decodare. Pentru identificarea topologiilor de ret,ea ın care exista solut, ii NCpot fi folosite statisticile pe termen lung obt, inute de la un modul de management al ret,elei,de exemplu modulul INM. Pentru determinarea nodurilor implicate ın procesul de cooperarepot fi folosite s, i diferite metode de optimizare, unele fiind prezentate s, i ın aceasta teza.

2. Aplicarea dinamica a NC: Majoritatea studiilor teoretice despre NC considera caoperat, iile de codare sunt realizate continuu. Este necesara dezvoltarea unor protocoalecapabile sa activeze s, i sa dezactiveze tehnicile NC ın mod dinamic ın funct, ie de condit, iiledin ret,ea. Tehnicile NC necesita resurse suplimentare pentru transmiterea pachetelornecesare pentru decodare, de aceea este nevoie de implementarea acestor protocoale, carevor conduce la utilizarea mai eficienta a resurselor ret,elei. Caracteristicile legaturilor s, i alefluxurilor trebuie monitorizate continuu de entitatea de management a ret,elei. Daca starearet,elei indica necesitatea utilizarii solut, iei NC, s, i caracteristicile de transfer a legaturilorpermit activarea acesteia, entitatea de control identifica solut, ia NC care se poate utiliza s, iactiveaza operat, iile de codare. Daca pe baza statisticilor se decide ca nu este nevoie deutilizarea tehnicilor NC, operat, iile de codare sunt dezactivate.

3. Codarea dinamica a fluxurilor de date: Intr-o ret,ea ın care condit, iile se schimba de laun moment la altul s, i ın care se transmit fluxuri de date cu caracteristici diferite trebuie saexiste implementat un algoritm de control al fluxurilor. Acest algoritm trebuie sa fie capabilsa modifice ın mod dinamic rata de transfer a datelor ın funct, ie de condit, iile din ret,eas, i sa activeze transmisiile suplimentare ale datelor necesare pentru decodarea pachetelorın cazul folosirii tehnicilor de codare NC. Datorita caracteristicilor variabile ale fluxurilorde date reale, pachetele de date nu ajung ın acelas, i timp la nodul de codare. Pe de altaparte activarea/dezactivarea frecventa a operat, iilor de codare nu este acceptabil datorita“overhead“-ului de semnalizare ridicat. Pentru rezolva aceasta problema s, i pentru a realizacodarea unor pachete care provin din fluxuri de date cu caracteristici diferite a fost propusurmatorul proces de codare:

– Codarea este realizata numai folosind pachetele care genereaza congestie la un momentdat; daca nu s-a recept, ionat nici un pachet de la un flux, pachetele care formeaza fluxulcelalalt sunt transmise necodat.

– Daca lungimea pachetelor care urmeaza sa fie codate nu este egala, numai parteacomuna din cele doua pachete este codata.

Pentru implementarea principiilor descrise mai sus este necesara o interact, iune puternicaıntre entitat, ile care formeaza ret,eaua. Aceste entitat, i pot fi organizate pe diferite planuri, dupacum se prezinta ın Figura 3.1. In aceasta figura sunt prezentate s, i interact, iunile ıntre diferiteplanuri s, i modul ın care ele permit integrarea tehnicilor NC. Planul de virtualizare se bazeaza petehnicile de cooperare, adica instant, iere comunicat, iilor cooperative pe baza NC, capabile decontrolul congestiei s, i de QoS. Planul fizic include ret,eaua fizica cu toate nodurile s, i legaturiledintre acestea. Planul virtual de cooperare reprezinta o ret,ea virtuala care include toate nodurilecapabile de NC s, i conexiunile posibile ıntre ele. Planul operat, ional reprezinta mediul ın care auloc comunicat, iile de date cu sau fara utilizarea tehnicilor NC. Entitatea de management a ret,elei

19

Plan fizic

Plan virtual de cooperare

Plan opera―ional

Plan de

management

Plan de

control

Figura 3.1: Planurile ret,elei

monitorizeaza capabilitat, ile nodurilor s, i resursele ret,elei folosind tehnici ”cross-layer”, iar pebaza acestor informat, ii identifica topologiile de cooperare. Entitat, ile de control selecteazaoperat, iile NC folosite, activeaza/dezactiveaza codarea s, i controleaza celelalte operat, ii conexe,cum este sincronizarea nodurilor [46].

Implementarea operat, iilor NC necesita noduri speciale, capabile de implementarea operat, iilorde codare/decodare s, i de construirea topologiei de codare. Aceste noduri trebuie sa fie capabiles, i de operat, ii “cross-layer“ (CL) pentru a fi posibila achizit, ia informat, iilor legate de topologiaret,elei s, i de legaturi. O arhitectura de nod avand capabilitate NC s, i compatibilitate cu ret,eleOSI a fost propusa ın [33]. Modulele de arhitectura care sunt necesare pentru implementareafunct, ionalitat, ilor CL au fost propuse ın [47]. Conceptul de In-Network Management (INM),dezvoltat ın proiectul FP7-4WARD [31], permite nodurilor ret,elei managementul resurselorproprii, s, i permite interact, iunea ıntre noduri realizand un management mai eficient al resurselorglobale ale ret,elei. Acesta permite controlul operat, iilor distribuite prin ret,ea, ın care se includ s, ioperat, iile NC.

Arhitectura propusa pentru un nod care implementeaza NC este prezentata ın Figura 3.2.Informat, iile legate de legaturi s, i topologia ret,elei sunt achizit, ionate de catre modulul INM s, i CL,care comunica cu modulele similare din nodurile vecine. Blocul de codare/decodare NC s, i deprocesare a fluxului de date, pe langa efectuarea operat, iilor de codare/decodare NC realizeazasincronizarea fluxurilor s, i ıncapsularea pachetelor codate. Acest bloc proceseaza fluxurile de datecapturate de blocul de identificare s, i capturare a fluxurilor. Blocul de control NC identificatopologia de codare, activeaza/dezactiveaza operat, iile de codare s, i selecteaza algoritmul de codare,ın cazul ın care este posibil. Acest bloc interact, ioneaza cu blocurile similare din nodurile vecines, i cu modulul INM s, i CL local.

Nodurile ret,elei includ un modul care stocheaza identificatorul fluxurilor care trec prin nods, i un modul care implementeaza operat, iile de codare, operat, iile de semnalizare s, i de controlasociate. Daca operat, iile de codare sunt activate, pachetele sunt trimise la modulul de codarecare implementeaza procesarea pachetelor.

O ret,ea de codare poate fi construita respectand urmatorii pas, i:

1. Identificarea nodurilor care fac parte din ret,eaua de codare, care trebuie sa satisfaca cerint,elelegate de capacitatea de procesare necesare pentru codarea/decodarea NC, trebuie sa aibacapacitate de stocare a datelor s, i trebuie sa aiba permisie de a efectua operat, ii NC.

2. Preselect, ia legaturilor care transporta datele codate are scopul de a evita legaturile cu ratade eroare ridicata, cu ıntarzieri mari sau conexiune intermitenta. Aceste legaturi ar reducesemnificativ performant,ele globale, s, i trebuie evitate pe cat posibil.

20

Bloc de codare/

decodare 〇i procesare flux

Bloc control NC

Modul INM & CL

NET

Bloc de identificare 〇i capturare flux

MAC

PHY

SemnalizareDate

Figura 3.2: Arhitectura unui nod capabil de NC s, i INM

3. Aproximarea ratei de transfer a ret,elei de codare poate fi realizata pe baza ratelor de transfermaxime ale legaturilor punct la punct dintre nodul sursa s, i nodurile destinat, ie. Aceste ratede transfer sunt afectate de ratele legaturilor s, i de congestie.

4. Determinarea dimensiunii maxime a pachetelor codate s, i a valorilor finale ale ratelor detransfer ale legaturilor trebuie sa t, ina cont de ıntarzierile de propagare s, i de procesare lanodurile de codare. Aceste ıntarzieri trebuie corelate cu ıntarzierile maxime permise deaplicat, ie.

5. Calcularea ratelor de transfer finale, care ın practica se poate face prin injectarea simbolurilorde date ın ret,eaua de codare s, i verificarea corectitudinii simbolurilor decodate de catrenodurile destinat, ie. Rata de transfer a sursei este redusa pana cand destinat, iile sunt capabilesa decodeze toate pachetele.

6. Optimizarea ret,elei de codare [48].

Gasirea topologiilor ın care pot fi aplicate tehnicilor NC s, i generarea solut, iilor de codareın general este dificil. Complexitatea operat, iilor NC s, i a procesarilor asociate cres,te semnificativdaca numarul nodurilor care formeaza ret,eaua de codare cres,te. O solut, ie la aceasta problema esteımpart, irea ret,elei de codare ın subret,ele mai mici, care sunt capabile sa implementeze tehnicileNC s, i permit controlul mai simplu al operat, iilor de codare. Pentru gairea unor subret,ele cu otopologie simpla s, i capabila de NC pot fi folosit, i algoritmi de complexitate redusa.

In [49] se considera NC multisesiune cu doua fluxuri unicast s, i se propune gasirea unor topologiifluture ın care este posibila implementarea operat, iilor NC. In [50] se prezinta un model de detect, iea subgrafurilor pentru identificarea nodurilor ın care se poate implementa NC. Solut, ia a fostpropusa pentru ret,ele de senzori ”wireless” s, i se cauta topologii de tip fluture, fluture extins s, i“bowtie“ [50]. Studiul precedent legat de identificare topologiilor capabile de NC ın ret,ele desenzori ”wireless” a fost dezvoltat mai departe ın [51]. In [52] autorii propun un algoritm pentruidentificarea topologiilor fluture ın ret,ele MPLS. In aceasta lucrare sunt propuse de asemeneaschimbarile necesare ale modurilor de operare MPLS, algoritmi de semnalizare pentru identificareatopologiilor fluture s, i pentru activarea/dezactivarea operat, iilor NC.

Chiar daca se identifica topologii mai simple capabile de NC ın planul virtual de cooperare,exista anumite probleme care trebuie sa fie rezolvate pentru o implementare reala. Acestea sunt

21

Fluture 1

Fluture 2

Fluture 3

Figura 3.3: Topologii de tip fluture identificate ıntr-o ret,ea mesh

legate de sincronizarea fluxurilor, achizit, ionarea caracteristicilor fluxurilor care sunt implicate ınoperat, iile de codare s, i activarea/dezactivarea procesului de codare, dupa cum a fost descris maisus.

O posibila topologie a subret,elei de codare identificate este topologia de tip fluture prezentataın Figura 2.1. In Figura 3.3 este prezentata o topologie mai mare de ret,ea ın care pot fi identificatecateva topologii de tip fluture, fiecare dintre ele fiind construita ın jurul unei legaturi gatuite s, ifiind capabila sa implementeze operat, iile NC.

Tehnicile NC se pot folosi pentru controlul congestiei ın ret,elele de comunicat, ii. In urmatoareleparagrafe va fi descris un protocol pentru controlul congestiei care permite activarea/dezactivareadinamica a operat, iilor de codare ıntr-o topologie fluture. Activarea operat, iilor NC ın aceastatopologie poate avea loc daca urmatoarele condit, ii sunt ındeplinite:

• Pe legatura gatuita exista congestie;

• Rata de transfer disponibila pe legaturile de ies, ire ale nodurilor sursa este mai mare decatrata fluxurilor de datece urmeaza sa fie transmise.

Nodurile care formeaza ret,eaua de codare ın topologia fluture au funct, ionalitat, i diferite, dupacum urmeaza:

• Nodurile sursa trimit informat, ia necodata pe legaturile lor de ies, ire folosind o transmisiede tip multicast. Aceste noduri trebuie sa monitorizeze legaturile de ies, ire pentru a verificadaca condit, iile legate de rata de transfer necesare pentru NC sunt ındeplinite sau nu.

• Nodul care realizeaza codarea stocheaza parametrii fluxurilor care trec prin el. De asemeneamonitorizeaza legatura de ies, ire daca pentru a verifica existent,a fenomenului de congestie.Daca operat, iile NC sunt activate acest nod formeaza pachetele codate s, i le trimite maideparte.

• Nodul intermediar trimite pachetele codate prin transmisie de tip multicast catre noduriledestinat, ie.

• Nodurile destinat, ie realizeaza decodarea.

In Figura 3.4 este prezentat algoritmul de control al congestiei propus ın [46].Pentru implementarea solut, iilor descrise mai sus este nevoie de o comunicare eficienta ıntre

nodurile din ret,eaua de codare. In acest scop a fost propus un protocol de semnalizare, care estefolosit s, i pentru implementarea reala a tehnicilor NC descrisa ın aceasta teza. Protocolul propusfoloses,te s,apte tipuri de mesaje de control:

22

DESTINA―IE

N5 〇i N6

CONGESTIE?

Dezactivare CODARE 〇i revenire la NORMAL

Stare ini―ial< = NORMAL

CODARE

DA

NU

CODARENORMAL

CODARENORMAL

NU

DA

Condi―iile legate de rate îndeplinite?

NU

Stare

curent<?

Flux de date

N1, N2, N3, N4, N5, N6 -

rutare clasic<N3 monitorizeaz< leg<tura N3-N4 〇i încearc< activarea cod<riiN1 ーi N2 verific< condi―iile legate de rate

N1, N2 – trimite prin multicast

fluxurile la N3, N5 〇i N6 〇i monitorizeaz< leg<turile de ie〇ireN3 codeaz< fluxurile 〇i monitorizeaz< leg<tura N3-N4

N4 – trimite prin multicast fluxul

codat la N5 〇i N6

N5 〇i N2 – decodeaz< pachetele

SURS<Generator de trafic N1 〇i N2

Stare

curent<?

A〇TEPTARE

N1, N2, N3, N4, N5, N6 -

rutare clasic<N3 monitorizeaz< leg<tura N3-N4

NORMAL

Condi―iile legate de rate îndeplinite?

Figura 3.4: Algoritmul de control al congestiei pe baza NC

23

• HELLO este folosit pentru descoperirea nodurilor vecine s, i este trimis de toate nodurile. Acestemesaje sunt necesare pentru obt, inerea adreselor nodurilor vecine.

• ACTIVATE este un mesaj trimis de nodul de codare spre nodurile sursa s, i nodul intermediarpentru activarea operat, iilor NC. Daca nodurile sursa sunt capabile de NC s, i condit, iile legatede rate sunt satisfacute, se trimite o copie a acestui mesaj s, i la nodurile destinat, ie. Acestmesaj este doar o cerere s, i operat, iile de codare nu sunt activate la primirea acestuia.

• ACTIVATE_ACK este trimis de nodurile care au primit cererea de activare a codarii s, i potactiva codarea.

• ACTIVATE_NACK este trimis de nodurile care au primit cererea de activare a codarii s, i dindiferite motive nu pot activa codarea.

• ACTIVATE_NC este trimis de nodul de codare la toate nodurile din ret,ea pentru activareaoperat, iilor de codare.

• DEACTIVATE_NC este un mesaj trimis de nodul de codare ın momentul ın care pe legatura sade ies, ire nu mai este congestie, sau cand operat, iile NC nu pot fi realizate din diferite motive.

• DEACTIVATE este un mesaj trimis de orice nod din ret,ea catre nodul de codare prin car secere dezactivarea operat, iilor de codare [46].

Cand ret,eaua de codare este identificata de entitatea de management a ret,elei, ın nodurileacesteia sunt init, ializate modulele necesare pentru NC. Fiecare nod trimite un mesaj HELLO lanodurile vecine pentru a afla adresele acestora. Nodul de codare ıncepe monitorizarea legaturiisale de ies, ire pentru a detecta congestia pe aceasta legatura gatuita. Nodurile sursa monitorizeazalegaturile de ies,re pentru a verifica daca sunt ındeplinite condit, iile legate de ratele de transfer.

Daca este detectata congestia, nodul de codare genereaza mesajul ACTIVATE care este trimisla toate nodurile topologiei. Nodurile la care sunt satisfacute condit, iile necesare pentru codareaNC, genereaza un mesaj ACTIVATE_ACK, iar celelalte noduri un mesaj ACTIVATE_NACK. Acestemesaje de raspuns ajung ınapoi la nodul de codare, care decide activarea operat, iilor NC. Dacaraspunsul primit la mesajul ACTIVATE de la toate nodurile este ACTIVATE_ACK, nodul de codaretrimite mesajul ACTIVATE_NC la toate nodurile din ret,ea s, i ıncepe transmisia datelor folosindNC. Daca fenomenul de congestie nu mai exista pe legatura gatuita, nodul de codare trimitemesajul DEACTIVATE_NC la toate nodurile s, i operat, iile de codare NC sunt dezactivate. Daca unnod detecteaza ca nu mai sunt ındeplinite condit, iile necesare pentru NC, acesta trimite un mesajDEACTIVATE la nodul de codare, care deazctiveaza operat, iile de codare prin mesajulDEACTIVATE_NC [46].

Condit, iile legate de congestie s, i de rate de transfer sunt monitorizate continuu, iar schimbariledintre starile codate s, i necodate pot cauza instabilitatea ret,elei. Pentru a evita aceasta situat, ieau fost introduse diferite timere:

• CONDITION_CONTROL specifica intervalul de timp pentru verificarea condit, iilor legate decongestie s, i de ratele de transfer de catre nodul de codare s, i nodurile sursa. Poate aveadiferite valori ın funct, ie de caracteristicile ret,elei s, i interact, iunile dintre planurile de date,management s, i control.

• ACTIVATION_TIMEOUT este intervalul de timp ın care nodul de codare trebuie sa primeascaraspuns la cererea de activarea. Daca acest raspuns nu ajunge ın intervalul de timp specificatde timer atunci activarea codarii este anulata.

• ACTIVATION_BLOCKED este intervalul de timp minim care trebuie sa treaca ınainte ca nodulde codare sa poata ıncerca din nou activarea codarii.

24

N3 N1, N2, N4 N5, N6HELLO HELLO

Rutare clasic=ACTIVATE ACTIVATE

ACTIVATE_ACKACTIVATE_ACK

DEACTIVATE

ACTIVATE_NC ACTIVATE_NC

Codare

DEACTIVATE

ACTIVATE ACTIVATE

ACTIVATE_NACKACTIVATE_NACK

Rutare clasic=

DEACTIVATE_NC DEACTIVATE_NCCodare

Activare

cu

succes

Activare

nere

u〇it<

Dezactivare

DEACTIVATE_NCDEACTIVATE_NC

Figura 3.5: Protocolul de semnalizare

• DEACTIVATION_BLOCKED este intervalul de timp minim ın care ret,eaua trebuie sa ramana ınstarea de codare [46].

Diagrama de semnalizare este prezentata ın Figura 3.5.Aspectele generale legate de integrarea tehnicilor NC ın ret,elele de comunicat, ii reale descrise

ın acest capitol reprezinta baza solut, iilor propuse ın urmatoarele capitole, ın care vor fi prezentatemetodele de optimizare ale ret,elei de codare, folosirea metodelor de optimizare propuse pentruselect, ia clusterelor de cooperare ın ret,ele fara fir, implementarea practica a tehnicilor NC pe unbanc de testare real.

25

Capitolul 4

Optimizarea ret,elelor de comunicat, ii ıncare se implementeaza NC

Acest capitol prezinta doi algoritmi de optimizare, unul determinist bazat pe multiplicatorulLagrange discret s, i unul evolutiv bazat pe algoritmi genetici, propus, i pentru identificarearet,elelor de codare.

Dupa cum s-a prezentat ın capitolul precedent pentru implementarea operat, iilor NC ınret,elele de date pot fi identificate unele topologii de complexitate redusa capabile de NC. Acestetopologii mai simple codeaza un numar redus de fluxuri de date, iar solut, ia de codare globalaeste data de mult, imea tuturor topologiilor identificate. Impart, irea unor topologii de ret,ele mariın ret,ele de codare simple reprezinta o solut, ie mai eficienta decat aplicarea operat, iilor NC ınıntreaga ret,ea, deoarece topologiile mai simple necesita mai put, ine resurse computat, ionale s, i detransmisie. Pentru identificarea subret,elelor de codare este propus un algoritm bazat pemultiplicatorul Lagrange discret, fiind descris modelul matematic adaptat la aceasta problemade optimizare, implementarea algoritmului s, i validarea prin simulari.

De asemenea, ın capitolul precedent s-a aratat ca ın multe cazuri este de ajuns ca numai unsubset de noduri intermediare sa codeze informat, ia. Determinarea subsetului minim de noduri lacare este necesara folosirea tehnicilor NC conduce la reducerea semnificativa a complexitat, iicalculelor s, i a resurselor suplimentare necesare pentru transmisia fluxurilor folosite pentrudecodare. Problema este gasirea numarului minim de noduri de codare este o problema NP-hards, i aproximarile apropiate ale problemei sunt NP-hard [22]. Avand ın vedere complexitateaproblemei exista se propune folosirea algoritmilor genetici pentru identificarea nodurilor decodarea s, i optimizarea ret,elei din punctul de vedere al costurilor.

4.1 Optimizare pe baza multiplicatorului Lagrange discret

Folosirea tehnicilor NC ın ret,ele de comunicat, ii ın care exista legaturi gatuite (“bottleneck“) ridicamai multe probleme:

• Cate fluxuri ar trebui sa fie codate ımpreuna astfel ıncat sa fie controlata congestia de pelegatura gatuita?

• Cum trebuie alese fluxurile care vor fi codate astfel ıncat sa fie folosite cat mai put, ine resursesuplimentare?

• Cum trebuie codate fluxurile? In perechi, doua cate doua, sau mai multe fluxuri ımpreuna?

Problemele amintite mai sus pot fi privite ca o problema de optimizare avand anumiteconstrangeri. Se dores,te minimizarea resurselor suplimentare folosite pentru transmisia datelornecesare pentru decodare, dar astfel ıncat sa fie controlata congestia de pe legatura gatuita.Pentru rezolvarea acestei probleme se poate folosi teoria multiplicatorului Lagrange discret.

26

In acest capitol se propune o solut, ie scalabila s, i eficienta din punctul de vedere al resurselorpentru controlul congestiei pe baza tehnicilor NC. Solut, ia consta ın identificarea mai multortopologii de complexitate redusa (fluture, sau altele) ın jurul legaturilor congestionate folosindun algoritm de optimizare care se bazeaza pe multiplicatorul Lagrange discret (DLM) [53].Instant, ierea topologiilor de complexitate redusa se bazeaza pe capabilitat, ile ”cross-layer” s, i demanagement al resurselor prevazute pentru entitat, ile ret,elelor viitorului. Problema controluluicongestiei este rezolvata prin codarea unui numar redus de fluxuri de date care trec prin legaturacongestionata. Prin select, ia optima a fluxurilor de date pentru codare se pot minimiza resurseleadit, ionale necesare pentru operat, iile NC. Codarea se realizeaza cu un algoritm bazat pe operat, iaXOR, adaptat pentru transmisia fluxurilor cu rate inegale (”unequal bit rate transmission”).Avand ın vedere folosirea eficienta a resurselor ret,elei s, i scalabilitatea ridicata, solut, ia estepotrivita pentru transmisii cu debite ridicate, cum sunt aplicat, iile de videostreaming.

4.1.1 Descrierea generala a algoritmului DLM

Metoda multiplicatorului Lagrange se foloses,te pentru rezolvarea unor probleme de optimizarerespectand anumite constrangeri. Problemele de optimizare pot fi definite ın spat, iu continuu saudiscret. Scopul este minimizarea sau maximizarea unei funct, ii obiectiv. Multiplicatorul Lagrangefolosit pentru probleme de optimizare discrete a fost descris ın [53].

Algoritmul de optimizare folosind multiplicatorul Lagrange discret se poate descrie ın modulurmator [53]:

0. Generare secvent, a init, iala (“random seed“); j = 0;1. Definire punct de plecare x; init, ializare valoare multiplicator Lagrange λ (de obicei se

init, ializeaza cu 0);2. if se foloses,te adaptarea dinamica a ponderilor then init, ializarePonderi;3. while nu se ajunge la criteriul de terminare do {4. if se modifica datele problemei then {5. if se foloses,te adaptarea dinamica a ponderilor then adaptareDinamicaPonderi;6. if se foloses,te cautarea globala then cautareGlobala;7. if se foloses,te relaxare s, i constrangere (”relax-and-tighten”) then relax-and-tighten;}8. Bucla x: actualizare x la x′ numai daca Ld(x

′, λ) < Ld(x, λ);9. Bucla λ: if condit, ia pentru actualizarea λ este ındeplinita then;10. j + +; } [53]In Figura 4.1 este prezentata schema logica a algoritmului de optimizare folosind

multiplicatorul Lagrange discret.Init, ializare. Punctul de plecare poate fi un punct fix, prestabilit sau un punct ales aleator.

Multiplicatorii Lagrange se init, ializeaza cu 0. O definire init, iala optima a variabilelor x s, i λeste greu de realizat, deoarece depind de violarile de constrangeri. Daca se foloses,te adaptareadinamica a ponderilor, se realizeaza s, i init, ializarea acestor ponderi, iar variabila j este folositanumai ın acest caz.

Durata unei rulari. Se pornes,te DLM cu un numar maxim de iterat, ii, daca dupa treireporniri al algoritmului nu se gases,te o solut, ie satisfacatoare, numarul maxim de iterat, ii sedubleaza. Se poate folosi ca s, i condit, ie de oprire una dintre urmatoarele condit, ii: a. nu seımbunatat,es,te valoarea obiectiv ıntr-un numar de A reporniri consecutive (de obicei A = 3) b.nu se ımbunatat,es,te violarea maxima de constrangere ıntr-un numar de B reporniri consecutive(de obicei B = 6).

Modificarea datelor problemei. In multe cazuri este necesara modificarea problemei init, ialepentru a obt, ine mai us,or solut, iile s, i convergent,a algoritmului. Trei modificari posibile apar ınalgoritmul prezentat mai sus.

Adaptarea dinamica a ponderilor. Aceasta metoda modifica formularea Lagrange prinadaugarea unei ponderi la valoarea obiectiv (funct, ia care se minimizeaza/maximizeaza) s, i prinadaptarea dinamica a acestei ponderi ın scopul ımbunatat, irii convergent,ei algoritmului.

27

C<utare global<Ponderi dinamice

Relaxare şi constrângere

C<utare în spaYiul そ

Generare candidat nou din subspaYiul x

Generare aleatoare candidat cu そ iniYial

Acceptare candidat pe baza valorii

Lagrange

CondiYia de oprire?

Modificare formulare problem<

Actualizare valoare Lagrange

Generare そ nou

Da

Bucla そ

Da

START

Nu

Nu

Nu

Bucla x Da

STOP

Figura 4.1: Diagrama logica a algoritmului DLM

Cautare globala. Pentru evitarea situat, iilor ın care algoritmul se opres,te la un punctminim/maxim local nefezabil, se poate folosi o cautare globala care va analiza un spat, iu mai largde cautare. De exemplu, daca punctul gasit este minim/maxim local atat al funct, iei obiectiv cats, i al constrangerii, cres,terea multiplicatorului Lagrange nu poate scoate algoritmul din acestpunct extrem local.

Relaxare s, i constrangere (“relax-and-tighten“). Daca exista foarte multe constrangeride egalitate, este dificila gasirea solut, iilor fezabile. Metoda consta ın relaxarea constrangeriiinit, iale de egalitate ın constrangere de inegalitate, dupa care treptat se va restrange constrangerearelaxata.

Bucla x. In aceasta bucla se face analiza vecinitat, ii punctului init, ial. Se evalueaza catevapuncte din vecinatatea punctului x pentru a gasi ımbunatat, iri ale valorii Lagrange. Se comparavaloarea Lagrange a punctului x cu cea a vecinilor. Se poate aplica o strategie “greedy“, adicaschimbarea punctului x ın punctul x′ se face cand se ımbunatat,es,te valoarea Lagrange.Dezavantajul metodei este acela ca un punct fezabil gasit de algoritm nu reprezinta neaparatminimul/maximul global, deoarece nu au fost analizate toate punctele din vecinatatea punctuluioriginal.

Bucla λ. Multiplicatorii Lagrange se actualizeaza cand algoritmul a ajuns ıntr-un punctde extrema locala. Rata actualizarii este controlata de o constanta, dependenta de aplicat, ie.Algoritmul se opres,te cand toate constrangerile sunt satisfacute s, i nu exista ımbunatat, iri alevalorii Lagrange a punctelor vecine testate, ınsa timpul ın care se gases,te o solut, ie fezabila poatefi infinit, chiar daca exista aceea solut, ie.

Definirea vecinatat, ii unui punct este critica din punctul de vedere al eficient,ei algoritmuluiDLM. Se poate defini o vecinatate mica a punctului curent, care permite folosirea unei strategiide tip “hill-climbing“, ın care toate punctele aflate ın vecinatatea punctului init, ial sunt evaluate,iar actualizarea punctului curent se face prin schimbarea acestui punct cu punctul din vecinatateasa care are cea mai buna valoarea Lagrange. De asemenea este posibila definirea unei vecinatat, imai mari ın care se aplica strategia ”greedy”, descrisa mai sus [53].

4.1.2 Metoda DLM pentru NC

Ret,eaua este reprezentata sub forma unui graf direct, ionat cu k noduri sursa s, i k noduri destinat, ie,topologie de ret,a descrisa ın [54]. Nodul sursa si poate forma o legatura cu nodul destinat, ie di,numai prin cele doua noduri intermediare i1 s, i i2, s, i este legat direct la toate celalate noduridestinat, ie, cum prezinta Figura 4.2. In [54] s-a mai presupus ca fiecare legatura are capacitate

28

s1

dkd2d1

i2

i1

sks2...

...

s1

d1d2

s2

i2

i1

si

didj

sj

i2

i1

B1-2 Bi-jLeg<turi pentru transportul fluxurilor necesare pentru deodarea NC

Figura 4.2: Topologia fluxurilor k perechi

unitara s, i s-a propus maximizarea ratei de transfer. Nu este greu de vazut ca rata maxima detransfer se poate obt, ine folosind tehnicile de codare de tip NC, caz ın care se obt, ine rata de kunitat, i de date/unitatea de timp. Practic, nodul i1 va realiza codarea, combinand ımpreuna toatecele k fluxuri recept, ionate. Avand ın vedere ca fiecare nod terminal poate primi toate pachetelenecesare pentru decodare de la celelalte noduri sursa, ın final fiecare nod destinat, ie di va fi capabilsa decodeze fluxul fi primit de la nodul sursa si.

Aceasta abordare ınsa ridica o serie de probleme din punctul de vedere a ret,elelor de comunicat, iireale:

• lucreaza cu un model foarte simplificat: capacitat, i egale s, i unitare pe fiecare legatura, inclusivlegatura gatuita, ceea ce implica faptul ca transmisia simultana a celor k fluxuri este posibilanumai daca toate sunt codate ımpreuna;

• modul ın care sunt construite legaturile ıntre nodurile ret,elei formeaza a topologieparticulara, care permite decodarea tuturor fluxurilor la fiecare nod, dar ıntr-o topologie deret,ea reala s-ar putea sa nu existe toate legaturile suplimentare si - dj, i 6= j;

• pentru a transfera k unitat, i de date/unitatea de timp se vor folosi k(k − 1) legaturisuplimentare pe care se transmit informat, iile necesare pentru decodare, chiar daca noduldestinat, ie di are nevoie numai de fluxul fi, acesta va primi s, i celelalte fluxuri.

Intr-o ret,ea de comunicat, ii reala pot lipsi anumite legaturi si - dj, i 6= j s, i legaturile dintre

nodurile ret,elei nu au neaparat aceeas, i capacitate. In cazul ın care nu apare congestie pe legaturai1 - i2, datele pot fi transmise simultan de la nodurile sursa si la nodurile destinat, ie di fara folosireatehnicilor de codare NC [55].

Optimizare folosind topologii fluture

Problema de optimizare NC ın topologia prezentata ın Figura 4.2 este rezolvata folosind metodamultiplicatorului Lagrange. In prima instant, a se cauta numai topologii de tip fluture, fluxurile dedate fiind codate doua cate doua. Se dores,te minimizarea resurselor suplimentare folosite pentrutransmisia datelor necesare pentru decodare, dar astfel ıncat sa fie controlata congestia de pelegatura i1 - i2, adica sa fie posibile transmisiile simultane de date ıntre nodurile si - di [55].

Problema de optimizare poate fi descrisa folosind un set de ecuat, ii. Sa se minimizeze funct, ia:

29

f(x) =m∑i

n∑j

xi,j (4.1)

unde n = 2 este numarul total de fluxuri (legaturi) codate, iar m este numarul de fluxuri dinfiecare flux codat, iar xi,j reprezinta capacitatea legaturii si - di.

Constrangerea este data de funct, ia urmatoare:

h(x) =l−2n∑k=1k 6=ik 6=j

xk +n∑i=1

maxj=1,m

(xi,j) ≤ xmax (4.2)

unde l este numarul total de legaturi xi - i1, iar xmax este capacitatea legaturii gatuite i1 - i2.Constrangerea este echivalenta cu urmatoarea formulare:

h(x) =l∑

k=1

xk −n∑i=1

minj=1,m

(xi,j) ≤ xmax (4.3)

Constrangerea de inegalitate se transforma ın constrangere de egalitate, obt, inand:

h(x) = min

(l∑

k=1

xk −n∑i=1

minj=1,m

(xi,j)− xmax, 0

)= 0 (4.4)

Avand aceste definit, ii, funct, ia Lagrange discreta se poate scrie:

Ld(x, λ) =n∑i

m∑j

xi,j − λmin

(l∑

k=1

xk −n∑i=1

minj=1,m

(xi,j)− xmax, 0

)(4.5)

Se considera ret,eaua de comunicat, ii din Figura 4.3. Langa fiecare legatura apare capacitateamaxima a legaturii, ın acest caz capacitatea este egala cu rata maxima cu care poate transmitenodul sursa informat, ia. Se dores,te ca fiecare nod destinat, ie di sa poata recept, iona informat, iilede la nodurile sursa si, ın acelas, i timp. Se poate observa ca singura cale de la nodurile si la dieste prin legatura partajata i1 - i2. In acelas, i timp capacitatea maxima a legaturilor de intrareın nodul i1 este:

∑lk=1 xk = 3 + 4 + 5 + 6 + 5 = 23 unitat, i de date/unitatea de timp, care este

mai mare decat capcitatea legaturii i1 - i2, aceasta fiind 20 unitat, i de date/unitatea de timp. Dinlegaturile suplimentare se pot identifica perechile de fluxuri care pot fi codate ımpreuna: (x2, x3),(x3, x4) s, i (x3, x5). Problema de optimizare va consta ın gasirea perechii care va asigura utilizareacelor mai put, ine resurse suplimentare, astfel ıncat sa fie eliminata congestia de pe legatura i1 - i2[55].

Primul pas conform algoritmului DLM este setarea valorii multiplicatorului Lagrange ın zero,λ = 0. Dupa aceea se alege un punct init, ial, sa fie (x3, x4). Se verifica daca acest punct ındeplines,teconstrangerea:

h(x) =5∑

k=1

xk −1∑i=1

minj=3,4

(xi,j) = 3 + 4 + 5 + 6 + 5− 5 = 18 < 20 ≤ 20 (4.6)

Se poate observa ca este satisfacuta constrangerea data de capacitatea legaturii i1 - i2.Urmatorul pas este construirea vecinitat, ii acestui punct. In acest caz particular se poateconsidera ca toate punctele se afla ın aceeas, i vecinatate. Va fi prezentata metoda de construire avecinitat, ilor ın paragrafele urmatoare. Avand ın vedere ca punctul init, ial satisface condit, ia datade constrangere, se calculeaza valoarea Lagrange al acestui punct:

Ld(x, λ) =∑1

i

∑2j xi,j − λmin

(∑5k=1 xk −

∑2i=1 minj=3,4(xi,j)− xmax, 0

)= 5 + 6− λmin(3 + 4 + 5 + 6 + 5− 5− 20) = 11 + 2λ = 11, λ = 0

(4.7)

30

s1

3

20

4 5 6 5

4 5 5 5 6 5i1

s5s4s3s2

d1 d5d4d3d2

i2

Figura 4.3: Exemplu de topologie pentru optimizare

Urmeaza parcurgerea vecinatat, ii punctului init, ial s, i verificarea valorilor Lagrange a celorlaltepuncte. Punctul urmator verificat este (x3, x5). Se verifica daca constrangerea este satisfacutasau nu:

h(x) =5∑

k=1

xk −1∑i=1

minj=3,5

(xi,j) = 3 + 4 + 5 + 6 + 5− 5 = 18 < 20 ≤ 20 (4.8)

Constrangerea fiind satisfacuta se calculeaza valoarea Lagrange a acestui punct:

Ld(x, λ) =∑1

i

∑2j xi,j − λmin

(∑5k=1 xk −

∑2i=1 minj=3,5(xi,j)− xmax, 0

)= 5 + 5− λmin(3 + 4 + 5 + 6 + 5− 5− 20) = 10 + 2λ = 10, λ = 0

(4.9)

Se poate observa ca s-a obt, inut o ımbunatat, ire a valorii Lagrange. Urmeaza verificareaultimului punct din vecinatatea punctului init, ial, s, i anume punctul (x2, x3).

h(x) =5∑

k=1

xk −1∑i=1

minj=2,3

(xi,j) = 3 + 4 + 5 + 6 + 5− 4 = 19 < 20 ≤ 20 (4.10)

Constrangerea este satisfacuta s, i ın cazul acestui punct, trebuie calculata valoarea Lagrange:

Ld(x, λ) =∑1

i

∑2j xi,j − λmin

(∑5k=1 xk −

∑2i=1 minj=2,3(xi,j)− xmax, 0

)= 5 + 5− λmin(3 + 4 + 5 + 6 + 5− 4− 20) = 9 + λ = 9, λ = 0

(4.11)

Se poate observa ca valoarea funct, iei Lagrange a fost ımbunatat, ita, obt, inandu-se minimulacesteia. Avand ın vedere ca toate posibilitat, ile au fost epuizate, toate perechile posibile decodare au fost analizate, algoritmul se termina. S-a ajuns la punctul y, pentru care Ld(y, λ, µ) =minx′∈N(x)∪xLd(x

′, λ, µ), acest punct reprezentand solut, ia problemei. Daca fluxurile provenindde la nodurile sursa s2 s, i s3 sunt codate ımpreuna, toate nodurile destinat, ie vor fi capabile sarecept, ioneze simultan datele destinate lor, iar legaturile suplimentare s3 - d4, s3 - d5, s4 - d3, s5 -d3 sunt eliberate s, i pot fi folosite pentru alte transmisiuni de date.

Daca este vorba de o ret,ea mai mare, pot fi definite mai multe vecinatat, i. In acest caz seanalizeaza vecinatatea unui punct init, ial, daca se gases,te un punct cu valoarea Lagrange maibuna, se va actualiza punctul init, ial cu punctul respectiv, iar dupa aceea se analizeaza vecinatateanoului punct. Iterat, iile se continua pana cand se ajunge la criteriul de terminare, cum se arata ınFigura 4.1.

Definirea corecta a vecinatat, ii punctelor este esent, iala pentru problema de minimizare. Ometoda posibila este aceea ca se considera ca punctul y definit de perechea xk - xl se afla ınvecinatatea punctul x definit de perechea de fluxuri xi - xj numai s, i numai daca xk = xi sau

31

x

y’=z

z’

x’ =y

N(x) N(y) N(z)

Figura 4.4: Definirea vecinatat, ii

xk = xj sau xl = xi sau xl = xj, adica doua puncte se afla ın aceeas, i vecinatate numai daca auposibilitatea de a coda acelas, i flux de date, dupa cum se prezinta ın Figura 4.4.

Exista posibilitatea utilizarii altor metrici pentru optimizarea ret,elei, cum ar fi debitulsuplimentar relativ, adica cat la suta din capacitatea maxima a legaturilor suplimentare estefolosit pentru transmisia datelor necesare pentru decodare.

Ecuat, iile care descriu aceasta problema de optimizare difera fat, a de problema precedenta. Sase minimizeze funct, ia:

f(x) =n∑i

1/mm∑j

c(sj, i1)/xj (4.12)

unde n este numarul total de fluxuri (Figura 3.4) codate, iar m este numarul de fluxuri dinfiecare flux codat, iar xj reprezinta capacitatea legaturii sj - di s, i c(sj, i1) este capacitatea legaturiisj - i1. Constrangerea fiind data de funct, ia 4.6. Funct, ia Lagrange discreta poate fi exprimata ca:

Ld(x, λ) =n∑i

1/mm∑j

c(sj, i1)/xj − λmin

(l∑

k=1

xk −n∑i=1

minj=1,m

(xi,j)− xmax, 0

)(4.13)

Urmarind aceasta abordare exista posibilitatea ca rezultatul optimizarii sa fie diferit fat, a deproblema precedenta, diferent,a ıntre cele doua metode constand ın obiectivul optimizarii:minimizarea globala a resurselor necesare pentru transmisia datelor suplimentare sauminimizarea gradului de ocupare a fiecarei legaturi. Prima abordare va minimiza traficul totalnecesar transmiterii tuturor datelor suplimentare necesare pentru decodare, iar a doua vaminimiza acest trafic suplimentar luand ın considerare s, i ratele de transfer disponibile pe fiecarelegatura pentru aceste transmisii [55].

Se considera ret,eaua de comunicat, ii din Figura 4.5. Langa fiecare legatura apare capacitateamaxima a legaturii, ın acest caz capacitatea este egala cu rata maxima cu care poate transmitenodul sursa informat, ia. Se dores,te ca fiecare nod destinat, ie di sa poata recept, iona informat, iile dela nodurile sursa si, ın acelas, i timp. Se poate observa ca singura cale de la nodurile si la di esteprin legatura partajata i1 - i2.

In acelas, i timp capacitatea maxima a legaturilor de intrare ın nodul i1 este:

l∑k=1

xk = 3 + 4 + 5 + 6 + 5 = 23 (4.14)

unitat, i de date/unitatea de timp, care este mai mare decat capacitatea legaturii i1 - i2, aceastafiind 20 unitat, i de date/unitatea de timp. Din legaturile suplimentare se pot identifica perechilede fluxuri care pot fi codate ımpreuna: (x2, x3), (x3, x4) s, i (x3, x5). Problema de optimizare vaconsta ın gasirea perechii care va asigura utilizarea celor mai put, ine resurse suplimentare raportatla capacitatea legaturilor individuale, astfel ıncat sa fie eliminata congestia de pe legatura i1 - i2.

32

s1

i2

i1

s3s2 s5s4

3

20

4 5 6 5

20 20 60 10 60 10

d1 d3d2 d5d4

Figura 4.5: Topologie exemplu pentru optimizare

Primul pas conform algoritmului DLM este setarea valorii multiplicatorului Lagrange ın zero,λ = 0. Dupa aceea se alege un punct init, ial, sa fie (x3, x4). Se verifica daca acest punct ındeplines,teconstrangerea:

h(x) =5∑

k=1

xk −1∑i=1

minj=3,4

(xi,j) = 3 + 4 + 5 + 6 + 5− 5 = 18 ≤ 20 (4.15)

Se poate observa ca este satisfacuta constrangerea data de capacitatea legaturii i1 - i2.Urmatorul pas este construirea vecinatat, ii acestui punct. In acest caz particular se poateconsidera ca toate punctele se afla ın aceeas, i vecinatate. Avand ın vedere ca punctul init, ialsatisface condit, ia data de constrangere, se calculeaza valoarea Lagrange al acestui punct:

Ld(x, λ) =∑1

i 1/2∑2

j c(sj, i1)/xj − λmin(∑5

k=1 xk −∑n

i=2 minj=3,4(xi,j)− xmax, 0)

= 1/2 (5/60 + 6/60)− λmin(3 + 4 + 5 + 6 + 5− 5− 20, 0)= 11/120 + 2λ = 0.0917, λ = 0

(4.16)

Urmeaza parcurgerea vecinatat, ii punctului init, ial s, i verificarea valorilor Lagrange a celorlaltepuncte. Punctul urmator verificat este (x3, x5). Se verifica daca constrangerea este satisfacutasau nu:

h(x) =5∑

k=1

xk −1∑i=1

minj=3,5

(xi,j) = 3 + 4 + 5 + 6 + 5− 5 = 18 ≤ 20 (4.17)

Constrangerea fiind satisfacuta se calculeaza valoarea Lagrange a acestui punct:

Ld(x, λ) =∑1

i 1/2∑2

j c(sj, i1)/xj − λmin(∑5

k=1 xk −∑n

i=2 minj=3,5(xi,j)− xmax, 0)

= 1/2 (5/10 + 5/10)− λmin(3 + 4 + 5 + 6 + 5− 5− 20, 0)= 10/20 + 2λ = 0.5, λ = 0

(4.18)

Se poate observa ca valoarea Lagrange nu s-a ımbunatat, it. Urmeaza verificarea ultimului punctdin vecinatatea punctului init, ial, s, i anume punctul (x2, x3).

h(x) =5∑

k=1

xk −1∑i=1

minj=2,3

(xi,j) = 3 + 4 + 5 + 6 + 5− 4 = 19 ≤ 20 (4.19)

Constrangerea este satisfacuta s, i ın cazul acestui punct, trebuie calculata valoarea Lagrange:

33

Ld(x, λ) =∑1

i 1/2∑2

j c(sj, i1)/xj − λmin(∑5

k=1 xk −∑n

i=2 minj=2,3(xi,j)− xmax, 0)

= 1/2 (4/20 + 5/20)− λmin(3 + 4 + 5 + 6 + 5− 4− 20, 0)= 9/40 + λ = 0.225, λ = 0

(4.20)

Se poate observa ca valoarea funct, iei Lagrange nu a fost ımbunatat, ita nici ın acest caz,obt, inandu-se minimul acesteia pentru punctul init, ial. Avand ın vedere ca toate posibilitat, ile aufost epuizate, toate perechile posibile de codare au fost analizate, algoritmul se termina. S-aajuns la punctul y, pentru care Ld(y, λ, µ) = minx′∈N(x)∪xLd(x

′, λ, µ), acest punct reprezentandsolut, ia problemei. Daca fluxurile provenind de la nodurile sursa s3 s, i s4 sunt codate ımpreuna,toate nodurile destinat, ie vor fi capabile sa recept, ioneze simultan datele destinate lor, iarlegaturile suplimentare s2 - d3, s3 - d2, s3 - d5, s5 - d3 sunt eliberate s, i pot fi folosite pentru altetransmisiuni de date.

Metoda de optimizare descrisa mai sus poate fi aplicata pentru arhitectura de ret,eaprezentata ın Figura 4.6. Aceasta arhitectura include mai multe ret,ele de furnizori de serviciimultimedia s, i ret,ele de acces ISP sunt conectate de aceeas, i ret,ea de transport, ın care poate saapara congestie pe anumite legaturi. Routerele de acces (Border Routers, BR) careinterconecteaza ret,elele ment, ionate sunt capabile de NC, iar ret,eaua de transport include routerecapabile de NC (NC capable routers, NCR) care delimiteaza legaturile cu probabilitate ridicatade aparit, ie a congestiei, s, i routere simple (R) fara capabilitat, i de NC. Ret,eaua de transport are ocaracteristica direct, ionata, cel put, in part, ial, ın sensul ca ratele de transfer ın downstream suntmai mari decat ratele de transfer ın upstream, ceea ce este uzual ın cazul ret,elelor CDN(“Content Delivery Network“) [55].

Pentru a controla congestia care poate sa apara ın ret,ea, sunt construite topologii de ret,eacapabile de NC. Aceste topologii de ret,ea includ BR-urile, NCR-urile care delimiteaza legaturilecongestionate s, i legaturile adit, ionale ıntre BR-urile sursa s, i destinat, ie. Aceste legaturisuplimentare transmit fluxurile de date necesare pentru decodarea NC.

Problema de control al congestiei este prezentata ın Figura 4.2. Un set de k noduri sursa,s1, s2, . . . , sk, transmit fluxuri de date unicast independente la k destinat, ii diferite, d1, d2, . . . , dk,iar fiecare flux de date trece prin legatura gatuita i1 - i2. Se noteaza cu fi, fluxul generat de sursasi avand rata xi. Sursele s, i destinat, iile sunt BR-uri capabile de NC, iar nodurile i1 s, i i2 suntNCR-uri situate ın ret,eaua de transport. Liniile punctate reprezinta cai posibile si - dj , i 6= j,care pot fi stabilite ın ret,eaua de transport. Daca se detecteaza congestie pe legatura gatuita i1- i2, sunt instant, iate mai multe topologii de tip fluture. Fiecare topologie instant, iata include pelanga legatura gatuita, o pereche de noduri sursa, si, sj, o pereche de noduri destinat, ie, {di, dj; di- destinat, ia lui si, dj - destinat, ia lui sj}, s, i caile adit, ionale si - dj s, i sj - di. O topologie flutureinstant, iata se noteaza cu Bi−j. Fiecare dintre aceste topologii controleaza part, ial congestia pelegatura gatuita i1 - i2, fiind efectuate urmatoarele operat, ii:

• Sursele si s, i sj trimit fluxurile fi s, i fj atat la destinat, iile lor di s, i dj prin legatura i1 - i2, cats, i la nodurile dj respectiv di pe legaturile adit, ionale.

• Nodul i1 genereaza fluxul codat fci−j= fi ⊕ fj, s, i trimite numai pe acest flux pe legatura

gatuita, reducand nivelul congestiei pe aceasta legatura.

• Nodul i2 trimite fluxul codat fci−jla nodurile destinat, ie di s, i dj.

• Nodurile destinat, ie realizeaza decodarea s, i recupereaza fluxurile lor: fi = fci−j⊕fj decodarea

realizata de nodul di, fj = fci−i⊕ fi decodarea realizata de nodul dj.

Instant, ierea topologiilor capabile de NC trebuie sa t, ina cont de:

• Operat, iile NC trebuie realizate numai daca congestia exista pe o perioada de timp mailunga, pentru a evita “overhead“-ul de semnalizare ridicat s, i instabilitatea ret,elei cauzatade activarea/dezactivarea frecventa a operat, iilor de codare.

34

ReZea furnizoare de conZinut multimedia

S1

S2 S3

BR_A

ReZea furnizoare de conZinut multimedia

S4

S5 S6

BR_B

ReZea furnizoare de conZinut multimedia

S7

S8 S9

BR_C

ReZea de acces ISP

BR_D

C1

C2

C3

ReZea de acces ISP

BR_E

C4C5

C6

ReZea de acces ISP

BR_F

C7

C8

C9

ReZea detransport

R

R

R

NCR_ANCR_C

NCR_BR R

RR

NCR_D

XFlux-NC

Flux-NC

Flux-NC

Flux-NC

Flux-NC

BR: Router de acces capabil de NC; NCR: Router capabil de NC; R: Router simplu

Flux-NC: Fluxuri suplimentarea necesare pentru decodarea fluxului codat NC

Figura 4.6: CDN ın care se implementeaza controlul congestiei pe baza NC

35

• Select, ia fluxurilor care vor fi codate trebuie sa ındeplineasca condit, iile urmatoare:

– Congestia trebuie sa fie controlata pe legatura congestionata.

– Resursele necesare pentru transmiterea fluxurilor adit, ionale trebuie sa fie minime.

Numarul topologiilor capabile de NC instant, iate s, i fluxurile care vor fi codate de acestetopologii reprezinta o solut, ie de codare. Avantajul solut, iei propuse pentru controlul congestieieste cantitatea redusa de resurse suplimentare necesare. Folosind topologii fluture numarulmaxim de fluxuri suplimentare necesare este k, unde k este numarul de fluxuri care trec prinlegatura congestionata. Daca toate fluxurile sunt codate ımpreuna, numarul de fluxurisuplimentare necesare este k × (k − 1). Un exemplu concret de utilizare a metodei propuse esteprezentat ın Figura 4.6. Se transmit trei fluxuri de date ın ret,ea: FluxA: S1 - C9, FluxB: S4 -C4, FluxC : S7 - C3, care creeaza congestie pe legatura delimitata de routerele NCRA s, i NCRB.Pentru controlul congestiei se genereaza urmatoarea solut, ie de codare: se construies,te otopologie fluture compusa din nodurile sursa BRA s, i BRC s, i nodurile destinat, ie BRD s, i BRF ,topologie care va coda fluxurile FluxA s, i FluxC ın nodul NCRA, iar fluxul de date FluxB estetransmis necodat. Fluxurile adit, ionale sunt transmise pe legaturile BRA - BRD s, i BRC - BRF

pentru decodarea fluxurilor FluxA s, i FluxC ın nodul BRD respectiv BRF . Fluxul codat vaınlocui FluxA s, i FluxC pe legaturile NCRA - BRD s, i NCRA - BRF . Se presupune ca este deajuns codarea fluxurilor de date FluxA s, i FluxC pentru a controla congestia pe legatura NCRA

- NCRB [55].Algoritmul care implementeaza optimizarea ret,elei din punctul de vedere al resurselor folosind

multiplicatorul Lagrange discret are trei faze importante:

• Achizit, ionarea informat, iilor despre legaturi, topologie s, i fluxuri de date;

• Identificarea topologiilor de tip fluture care permit controlul congestiei s, i ındeplinesc criteriulde optimizare;

• Activarea solut, iei de codare, daca este posibil [55].

Algoritmul propus pentru rezolvarea problemei de control al congestiei pe baza operat, iilor NCeste descris de diagrama de stare prezentata ın Figura 4.7. In starea NORMAL ret,eaua realizeazarutare clasica, iar routerele NCR verifica existent,a congestiei pe legaturile pe care aceasta poatesa apara. Daca este detectata congestia, algoritmul intra ın starea DESCOPERIREA TOPOLOGIEI, ıncare se identifica caracteristicile legaturilor care interconecteaza BR-urile s, i NCR-urile s, i fluxurilecare genereaza congestia. Aceasta operat, ie se bazeaza pe capabilitat, ile INM s, i CL ale nodurilor BRs, i NCR. In starea DETERMINAREA SOLUTIEI DE CODARE NC protocolul cauta o solut, ie de codarecare satisface criteriile de optimizare impuse. Daca se gases,te solut, ia de codare, algoritmul intraın starea CODARE, fiind activat mecanismul de control al congestiei pe baza NC. Daca nu se gases,tesolut, ie de codare algoritmul se ıntoarce ın starea NORMAL s, i procesul se reia [56].

In Figura 4.8 se prezinta o secvent, a de mesaje de semnalizare care controleaza tranzit, iile ıntrestarile protocolului. Nodul NCR care realizeaza codarea pe baza operat, iei XOR este un elementcentral care controleaza procesul de control al congestiei pe baza NC. Entitat, ile INM, localizateın nodurile ret,elei, au de asemenea un rol foarte important, pentru ca sunt capabile sa detectezetopologia ret,elei s, i sa masoare caracteristicile legaturilor. Atat nodurile BR cat s, i nodurile NCRtrebuie sa interact, ioneze cu entitat, ile INM pentru a verifica satisfacerea condit, iilor necesare pentruoperat, iile NC [56].

O scurta descriere a secvent,elor de semnalizare este urmatoarea:VERIFICA_CONGESTIE; CONGESTIE_NU; CONGESTIE_DA: aceste semnale sunt folosite de routerul

NCR, care efectueaza operat, iile de codare NCR-c, pentru interogarea entitat, ilor INM despreexistent,a congestiei pe diferite legaturi.

HELLO_R; TRIMITE_STARE_R: Routerul NCR-c interogheaza routerul NCR care realizeazamulticast, NCR-m, despre posibilitatea efectuarii operat, iilor NC. In semnalul de raspuns NCR-m

36

NORMALDESCOPERIREA

TOPOLOGIEI

DETERMINAREA

SOLU―IEI DE

CODARE NC

CONGESTIE DETECTAT<

SOLU―IE N

C NEIDENTIFICAT<

DE

SC

OP

ER

IRE

A D

AT

EL

OR

LE

GA

TE

DE

TO

PO

LO

GIE

DEZACTIVAREA COD<RII

F<R< CONGESTIE

CODARE

SOLU―IE NC G<SIT<

Figura 4.7: Diagrama de stare a algoritmului propus pentru controlul congestiei

va informa pe NCR-c despre nodurile BR destinat, ie care pot fi implicate ın procesul de controlal congestiei pe baza NC, adica nodurile BR care pot efectua decodarea s, i nu exista congestie pelegaturile NCR-m - BR. Exista o ıntarziere maxima, INT_MAX_R, impusa ıntre cele doua semnale.

HELLO_Gd(k): routerul NCR-m interogheaza nodurile BR destinat, ie despre posibilitatea de aefectua operat, ii NC.

VERIFICA_STARE; TRIMITE_STARE: routerul BR destinat, ie interogheaza entitat, ile INM despredatele legate de topologie s, i de legaturi. Semnalul de raspuns este folosit s, i pentru anunt,arearouterului NCR-m. Exista o ıntarziere maxima, INT_MAX_G, impusa ıntre cele doua semnale.

HELLO_Gs(k): routerul NCR-c interogheaza routerele BR sursa despre posibilitate efectuariioperat, iilor NC s, i despre caracteristicile legaturilor.

VERIFICA_COND; TRIMITE_COND: Routerul BR sursa interogheaza entitat, ile INM despretopologie s, i datele legate de legaturi. Semnalul de raspuns este de asemenea folosit pentruinformarea routerului NCR-c. Este impusa o intarziere maxima, INT_MAX _G, ıntre cele douasemnale.

VERIFICA_SOLUTIE_Gs(k); VERIFICA_SOLUTIE_Gd(k); RAPORT_SOLUTIE: routerul NCR-c cerede la nodurile BR sursa s, i destiant, ie verificarea solut, iei de codare gasite. Routerele BR vor interogaınca o data entitat, ile INM pentru a verifica daca toate condit, iile cerute de operat, iile NC suntsatisfacute.

ACTIVARE SOLUTIE NC / NORMAL: routerul NCR-c trimite semnalul de activare a codarii saude ıntoarcere ın stare normala la toate nodurile care fac parte din solut, ia de codare [56].

Pentru implementarea operat, iilor de semnalizare prezentate, NCR-c s, i NCR-m trebuie sacunoasca adresele reciproc s, i adresele nodurilor BR vecine. Mesajele HELLO s, i raspunsurile laaceste mesaje se pot folosi pentru achizit, ionarea adreselor nodurilor vecine. Mesajele HELLO

init, iale pot fi trimise la sursele s, i destinat, iile ale caror adrese sunt incluse ın pachetele de date.Routerele NCR s, i BR monitorizeaza continuu traficul care trece prin ele s, i vor interceptamesajele HELLO, obt, inand astfel adresele nodurilor vecine implicate ın operat, iile de control alcongestiei. Algoritmul de semnalizare descris poate fi integrat ın ret,ele, dar routerele NCRtrebuie sa fie pozit, ionate ın anumite puncte ale topologiei, iar nodurile ret,elei trebuie sa aibacapabilitat, i INM s, i CL.

Pentru testarea optimizarii resurselor adit, ionale cerute de operat, iile NC a fost implementat unprogram ın MatLab folosind multiplicatorul Lagrange discret s, i a fost implementata s, i o metodade tip fort, a bruta ca referint, a, dupa cum este descris ın subcapitolul urmator. S-au consideratdiferite topologii de ret,ea avand N perechi de sursa - destinat, ie, o legatura congestionata s, i legaturiadit, ionale ıntre unele surse s, i destinat, ii. Pentru fiecare numar de perechi sursa-destinat, ie au fost

37

NCG

surs=NCR-c

(codor)

NCR-m

(multicast)

INT_MAX_G

Rutare clasic=

HELLO_R

Ver

ifica

re s

tare

con

gest

ieAC

HIZI

ーIE

TOPO

LOGI

E NC

G DE

STIN

AーIE

VERI

FICA

RE S

OLUー

IE D

E CO

DARE

Rutare clasic=

Stare codat= sau rutare clasic=

NCG

destina‐ieINM

INM

VERIFICA_CONGESTIE

CONGESTIE_NU

CONGESTIE_DA

HELLO_Gd(1)

VERIFICA_STARE

TRIMITE_STARE

VERIFICA_STARE

TRIMITE_STARE

HELLO_Gd(k)

TRIMITE_STARE_R

INT_MAX_G

INT_MAX_R

HELLO_Gs(1)

VERIFICA_COND

RAPORT_CONDINT_MAX_G

VERIFICA_COND

RAPORT_CONDINT_MAX_G

HELLO_Gs(K)

ACHI

ZIーI

E TO

POLO

GIE

NCG

SURS

;

Rutare clasic= ーi determinarea solu‐iei de codare

VERIFICA_SOLUTIE_Gd(1)VERIFICA_SOLUTIE_Gs(1)

RAPORT_SOLUTIE

INT_MAX_GRAPORT_SOLUTIE

INT_MAX_G

VERIFICA_SOLUTIE_Gd(k)VERIFICA_SOLUTIE_Gs(k)

RAPORT_SOLUTIE RAPORT_SOLUTIEINT_MAX_GINT_MAX_G

ACTIVARE SOLUTIE NC / A〇TEPTAREACTIVARE SOLUTIE NC / A〇TEPTARE

ACTI

VARE

NC

sau A

〆TEP

TARE

Figura 4.8: Semnalizarile ıntre diferite elemente ale arhitecturii

38

Numar Nr. pas, i FB / Resurse FB / Probabilitatesurse Nr. pas, i ML Resurse ML min. ML

20 3.48 0.911 0.450 8.9 0.88 0.2100 16.77 0.77 0.1250 41.51 0.80 0.15500 76.68 0.78 0.1

Tabela 4.1: Comparat, ie ıntre metodele de optimizare FB s, i ML

generate 20 de topologii diferite cu distribut, ia aleatoare ale ratelor surselor s, i ale ratelor de transferale legaturilor. Aceasta distribut, ie aleatoare a ratelor este modificata astfel ıncat sa fie ındeplinitecondit, iile de rata pentru topologiile fluture posibile s, i sa existe congestie pe legatura gatuita.

Tabelul 4.1 prezinta pentru diferite valori ale lui N parametrii urmatori: raportul ıntre numarulde pas, i de optimizare necesari ın cazul abordarii de tip fort, a bruta (FB) s, i ın cazul utilizariimultiplicatorului Lagrange discret (ML); raportul ıntre resursele adit, ionale necesare pentru solut, iade codare obt, inuta prin metodele de optimizare FB s, i ML; probabilitatea de aparit, ie a situat, iilorın care metoda ML gases,te minimul global (cea mai optima solut, ie).

Rezultatele arata ca numarul de pas, i de optimizare ın cazul metodei ML este mult mai micdecat ın cazul metodei FB, mai ales daca numarul de surse este mare. Resursele suplimentarenecesare pentru solut, iile de codare gasite cu metoda ML sunt mai mari cu 10 - 25% fat, a de celeobt, inute cu metoda FB. Probabilitatea de gasire a celei mai bune solut, ii cu metoda ML este ıntre0.4 (N mic) s, i 0.1 (N mare). Alte metode de definire a vecinatat, ii punctelor din spat, iul de cautarear putea sa asigure o probabilitate mai mare de gasire a minimului global, dar ın acelas, i timp vaconduce la cres,terea numarului de pas, i de optimizare [55].

Generalizarea solut, iei pentru topologii mixte

Acest capitol reprezinta o generalizare a solut, iei propuse pentru optimizarea ret,elei prezentataanterior: sunt considerate s, i alte tipuri de topologii, nu numai topologia fluture; algoritmul decodare este extins sa fie capabil de codarea mai multor fluxuri de date, nu numai doua fluxuri.

Topologia de tip fluture este foarte eficienta din punctul de vedere al resurselor suplimentarenecesare, dar este destul de ineficient din punctul de vedere al capabilitat, ii de control al congestiei,deoarece numai doua fluxuri de date sunt codate. Daca congestia nu poate fi controlata numaiprin folosirea topologiilor de tip fluture, pe langa aceste topologii vor fi identificate s, i utilizate s, ialte topologii cu un numar mai mare de noduri sursa. Numarul acestor topologii mai complexetrebuie sa fie cat mai mic, pentru a minimiza resursele suplimentare necesare. Un exemplu esteprezentat ın Figura 4.6. Daca congestia nu poate fi controlata numai prin codarea fluxurilor FluxAs, i FluxC , implementand o topologie de tip fluture, va fi necesara codarea a celor trei fluxuri dedate FluxA, FluxB s, i FluxC , folosind o topologie cu trei noduri sursa s, i trei noduri destinat, ie.In Figura 4.9 este prezentata o topologie cu trei noduri sursa si, sj, sl, s, i trei noduri destinat, ie,di, dj, dl; {di - destinat, ia lui si, dj -destinat, ia lui sj, dl - destinat, ia lui sl}. Toate sursele comunicacu destinat, iile lor prin legatura gatuita i1 - i2 s, i sunt instant, iate urmatoarele legaturi adit, ionale:si - dj, si - dl, sj - di, sj - dl, sl - di and sl - dj. Topologia obt, inuta se noteaza cu Bi−j−l s, i estenumita topologie n-surse, n = 3 ın acest caz [56].

Observat, ie: topologia de tip fluture este echivalenta cu o topologie 2-surse.

Operat, iile efectuate ın aceasta topologie sunt urmatoarele:

• Nodurile sursa trimit fluxurile lor de date fi, fj s, i fl, la destinat, iile lor prin legatura i1 - i2s, i la celelalte noduri destinat, ie din topologie pe legaturile adit, ionale stabilite ın ret,ea;

39

s1

d3d2d1

i2

i1

s3s2

Figura 4.9: Controlul congestiei cu o topologie cu trei noduri sursa

• Nodul i1 genereaza fluxul codat fci−j−l= fi ⊕ fj ⊕ fl s, i trimite pe legatura gatuita numai

acest flux codat, reducand nivelul de congestie;

• Nodul i2 trimite fluxul codat fci−j−lla nodurile destinat, ie di, dj s, i dl;

• Nodurile destinat, ie realizeaza decodare recuperand fluxul de interes: fi = fci−j−l⊕ fj ⊕ fl -

decodarea la nodul di; fj = fci−j−l⊕ fi ⊕ fl - decodarea la nodul dj; fl = fci−j−l

⊕ fi ⊕ fj -decodarea la nodul dl.

In cazul ın care este necesar pot fi folosite pentru controlul congestiei s, i topologii cu un numarmai mare de noduri sursa, ınsa va cres,te complexitatea computat, ionala a solut, iei s, i vor fi folositemai multe resurse adit, ionale.

Generarea unei solut, ii de codare optime ın cazul de fat, a necesita evaluarea capabilitat, ii decontrol al congestiei, eficient,ei din punctul de vedere al utilizarii resurselor s, i complexitat, iitopologiilor cu n-surse folosite. Daca se considera un set de k noduri sursa s1, s2, . . . , sk caretransmit prin legatura gatuita s, i se presupune o codare ideala (toate fluxurile sunt sincronizate),se pot scrie urmatoarele relat, ii:

Rata de transfer totala xt pe legatura gatuita:

xt =k∑i=1

xi (4.21)

unde xi este rata nodului sursa si. Rata de transfer totala xt−NC pe legatura gatuita daca toatefluxurile sunt codate ımpreuna, presupunand ca exista aceasta solut, ie (exista resursele necesareca fiecare nod sursa si sa poata deschide legaturi adit, ionale catre toate destinat, iile dj, i 6= j):

xt−NC = maxi=1,k

(xi) ≥ xt/k (4.22)

Rata de transfer adit, ionala xadd−NC necesara pentru transmiterea pachetelor folosite ladecodare:

xadd−NC = (k − 1)k∑i=1

xi (4.23)

Rata de transfer totala xnt−NC pe legatura gatuita daca se folosesc numai topologii de n-surse,presupunand ca exista aceasta solut, ie:

xnt−NC =m∑a=1

maxi=1,n

xia +w∑u=1

xu ≥ xt/n (4.24)

40

n xnt−NC xnadd−NC Nn−mXOR

1 kx 0 02 kx/2 kx 3k/23 kx/3 2kx 8k/34 kx/4 3kx 15k/4k x (k − 1)kx (k + 1)(k − 1)

Tabela 4.2: Comparat, ia topologiilor n-surse

unde {(xia, i = 1, n)}, a = 1,m, este setul de rate a grupurilor de noduri sursa implicate ın NC,m este numarul de grupuri/topologii, n este numarul de fluxuri din fiecare grup s, i xu, u = 1, weste rata de transfer a nodurilor sursa care nu sunt implicate ın NC; nm+ w = k.

Rata totala adit, ionala xnadd−NC necesara pentru decodare:

xnadd−NC =m∑a=1

((n− 1)

n∑i=1

xia

)(4.25)

Numarul total de operat, ii XOR la nivel de pachete Nn−mXOR necesare pentru realizarea codarii s, i

a decodarii daca se folosesc m topologii cu n surse:

Nn−mXOR = Nn−m

XOR−codare +Nn−mXOR−decodare = m(n− 1)(n+ 1) (4.26)

Pe baza acestor relat, ii topologiile n-surse capabile de NC identificate sunt comparate ın funct, iede eficacitatea lor ın controlul congestiei, complexitate, scalabilitate s, i resursele adit, ionale necesareın scenariul urmator: exista k noduri sursa identice, fiecare genereaza un flux de date cu rata x,exista o singura legatura gatuita, ın codor schedulingul este ideal s, i k/n ∈ N , ∀n. Cazul n = 1corespunde la cazul necodat, iar cazul n = k ınseamna ca toate fluxurile de date sunt codateımpreuna [56]. Rezultatele sunt prezentate ın Tabelul 4.2.

Rezultatele arata ca resursele adit, ionale sunt minimizate ın cazul utilizarii topologiilor detip fluture, la fel este minimizata s, i complexitatea operat, iilor de codare/decodare NC. Aceastasolut, ie are cea mai mare scalabilitate s, i flexibilitate datorita resurselor necesare s, i a capabilitat, iide procesare minimale. In acelas, i timp, aceasta solut, ie are cea mai mica capacitate de controlal congestiei, oferind cea mai mica scadere a ratei de transfer pe legatura gatuita. Comparatcu topologia fluture, o topologie n-surse necesita de n ori mai multe resurse adit, ionale, iar ratape legatura gatuita se reduce de n/2 ori. Topologiile n-surse necesita de asemenea capacitate deprocesare mai mare.

Optimizarea topologiei de codare din punctul de vedere al resurselor suplimentare se realizeazafolosind multiplicatorul Lagrange discret [53]. Funct, ia obiectiv, f(x), ın acest caz cand se folosescdiferite topologii capabile de NC pentru controlul congestiei, fiecare topologie avand ni nodurisursa, poate fi definita ca:

f(x) =m∑i=1

((ni − 1)

ni∑j=1

xi,j

)(4.27)

unde m este numarul de topologii de diferite tipuri instant, iate, ni este numarul de noduri sursaın topologia i ( ni = 2 pentru topologia de tip fluture) s, i xi,j este rata de transfer a nodului sursaj din topologia i. Daca se foloses,te un singur tip de topologie atunci ni = n,∀i. Constrangerea,h(x) este impusa de rata de transfer limitata pe legatura gatuita, xmax, s, i este data de inegalitateaurmatoare:

h(x) =m∑i=1

maxj=1,ni

xi,j ≤ xmax (4.28)

41

unde m s, i ni au aceeas, i semnificat, ie ca ın 4.27. Dupa transformarea constrangerii de inegalitateın constrangere de egalitate, ecuat, ia Lagrange discreta poate fi scrisa ca:

Ld(x, λ) =m∑i=1

((ni − 1)

ni∑j=1

xi,j

)− λmin

(m∑i=1

maxj=1,ni

xi,j − xmax, 0

)(4.29)

unde λ este multiplicatorul Lagrange. Daca se considera resursele adit, ionale folosite relativ lacapacitat, ile legaturilor din ret,ea, funct, ia obiectiv se defines,te ca fiind:

f(x) =m∑i=1

((ni − 1)

ni∑j=1

xi,j/c(xi,j)

)(4.30)

unde c(xi,j) este capacitatea legaturii pe care pachetele adit, ionale asociate cu fluxul xi,j sunttrimise catre decodorul NC. Funct, ia de constrangere este aceeas, i cu cea definita ın 4.28, iar funct, iaLagrange discreta este:

Ld(x, λ) =m∑i=1

((ni − 1)

ni∑j=1

xi,j/c(xi,j)

)− λmin

(m∑i=1

maxj=1,ni

xi,j − xmax, 0

)(4.31)

Performant,ele metodei de optimizare bazata pe multiplicatorul Lagrange discret ın gasireaminimului global depind de modul de definire a vecinatat, ii punctelor din spat, iul de cautare [53].In paragrafele anterioare s-a prezentat o posibila metoda de definire a vecinatat, ii ın cazul ın carese cauta topologii de tip fluture. Daca sunt cautate s, i topologii cu numar mai mare de surse, seschimba s, i definit, ia vecinatat, ii. In acest caz fiecare punct x = (xi, . . . , xj) reprezinta un set denoduri sursa si...j care pot fi codate ımpreuna, xi...j fiind ratele de transfer ale fluxurilor generatede aceste noduri sursa.

Definit, ia vecinatat, ii este: un punct y = (xk, . . . , xl), reprezentand un set de noduri sursask...l care pot fi codate ımpreuna s, i genereaza fluxurile de date cu ratele xk...l, este ın vecinatateapunctului x = (xi, . . . , xj), definit anterior, numai s, i numai daca oricare dintre urmatoarele relat, ii

este adevarata: sb ≡ sc, unde b = i, . . . , j, c = k, . . . , l. In alte cuvinte, doua puncte sunt ınaceeas, i vecinatate, numai daca reprezinta cel put, in o sursa comuna. Pentru a evita verificareaunor vecinatat, i de dimensiuni mari, dimensiunea maxima a vecinatat, ii este impusa la ınceputulalgoritmului s, i depinde de numarul total de noduri sursa. In general, marimea unei vecinatat, i este10-20% din numarul total de noduri sursa [56].

Ideea de baza a algoritmului implementat este ca se cauta topologii n-surse de complexitatemai mare, pana cand se poate controla congestia ımpreuna cu topologii e-surse, n > e. Cautareatopologiilor de complexitate mai redusa continua secvent, ial pana cand congestia este controlatas, i resursele adit, ionale cerute de toate topologiile sunt minimizate.

Algoritmul propus pentru de gasirea solut, iei de codare poate fi descris ın urmatorii pas, i:1. find n ∈ N , n ≥ 2, astfel ıncat congestia pe legatura gatuita sa poata fi controlata folosind

topologii de tip n-surse;2. if n = 2 go to pasul 7 else go to pasul 3;3. find topologiile n-surse care reduc rata de transfer pe legatura gatuita la un nivel care

permite controlul congestiei folosind topologii (n-1)-surse s, i satisfac criteriul de optimizare;4. if topologiile (n-1)-surse nu sunt necesare pentru controlul congestiei go to pasul 8,

else go to pasul 5;5. n = n− 1;6. if n > 2 go to pasul 3, else go to pasul 7;7. find numarul de topologii de tip fluture care pot controla congestia s, i minimizeaza resursele

adit, ionale necesare;8. Stop [56].Criteriile folosite ın pasul 3 pentru select, ia topologiilor de tip n-surse sunt urmatoarele:

42

a. Select, ia din vecinatate a topologiei n-surse care necesita cele mai put, ine resurse adit, ionale:

criteriu a : mini=1,p

(n− 1)n∑j=1

xi,j; p =

(rn

)(4.32)

unde r este dimensiunea maxima a vecinatat, ii.b. Select, ia din vecinatate a topologiei n-surse care reduce cel mai mult rata de transfer pe

legatura gatuita:

criteriu b : maxi=1,p

(n∑j=1

xi,j −maxj=1,n

xi,j

)(4.33)

unde p s, i r au aceeas, i semnificat, ie ca s, i ın (4.32).Pentru a stabili daca congestia poate fi controlata pe legatura gatuita folosind topologii de

tip n-surse s-a folosit urmatoarea solut, ie: xi1 ≤ xi2 ≤ . . . ≤ xik este setul ordonat al fluxurilorgenerate de cele k surse care transmit prin legatura gatuita. Daca sunt folosite topologii n-surse,rata de transfer minima xn,kt−NC pe legatura gatuita dupa codare este data de relat, ia (4.34); sepresupune ca k/n ∈ N , exista suficiente resurse suplimentare pentru a identifica orice numar detopologii n-surse s, i scheduling-ul la codor este ideal (ın fiecare moment sunt codate grupuri de npachete sursa).

xn,kt−NC =

(k/n)−1∑j=0

xi,k−nj (4.34)

Congestia pe legatura gatuita avand rata de transfer xmax poate fi controlata daca xn,kt−NC ≤xmax. Daca aceasta condit, ie este ındeplinita, congestia poate fi controlata folosind topologii n-sursesau o combinat, ie de topologii n-surse s, i e-surse, n > e.

Pentru testarea optimizarii resurselor adit, ionale necesare pentru operat, iile NC a fostimplementat ın Matlab un program prezentat ın Figura 4.10 care rezolva problema de optimizareprin metoda DLM (Discrete Lagrange Multiplier) s, i prin metoda fort, a bruta, pentru referint, a.

Programul primes,te ca s, i parametru de intrare numarul nodurilor sursa. Topologia ret,elei fiinduna particulara aceasta este construita ın cadrul programului, capacitat, ile legaturilor fiind aleasealeator. Ret,eaua este descrisa de matricea de conexiuni s, i, fiind construita aleator, prima data severifica daca optimizarea este necesara sau nu.

Daca procesul de optimizare este necesar, adica rata de transfer pe legatura gatuita este maimica decat rata totala a surselor, se pornesc algoritmii de optimizare folosind metoda Lagrange s, imetoda fort, a bruta.

Folosind metoda fort, a bruta pentru fiecare topologie de ret,ea de codare posibila se verifica ınparte daca este ındeplinita constrangerea s, i se calculeaza valoarea Lagrange. Punctul/topologiacu valoarea Lagrange cea mai mica reprezinta solut, ia globala a problemei de optimizare. ValoareaLagrange este echivalenta cu resursele suplimentare necesare pentru transmisia datelor ın cazultopologiei analizate.

Metoda Lagrange nu parcurge toate punctele (topologii de ret,ele de codare posibile) din spat, iulde cautare, ci alege aleator un punct init, ial. Se construies,te vecinatatea acestui punct luand ınconsiderare modul de definire a vecinatat, ilor. Se verifica daca punctul ındeplines,te constrangereas, i se calculeaza valoarea Lagrange. Se verifica celelalte puncte din vecinatate pana se gases,teunul cu valoare Lagrange mai buna care va lua locul punctului init, ial. Punctele verificate o datasunt ınlaturate din lista punctelor existente. Algoritmul se opres,te cand nu mai exista puncte deverificat ın vecinatatea actuala.

Ambele versiuni de program returneaza topologia ret,elei de codare optimizata sub forma uneimatrici de conexiuni. De asemenea ıntre parametrii de ies, ire se afla numarul de puncte/topologiiverificate, gradul de reducere a congestiei pe legatura gatuita s, i resursele suplimentare necesarepentru topologia oferita ca solut, ie.

43

IN: Nr. noduri surs<; Re―ea sub form< matricial< START

Optimizare necesar<?

Alege punct/topologie Alege punct 〇i verific<

STOP

Congestie controlat<?

Construie〇te vecin<tate

Actualizare punct

Calculeaz< resursele suplimentare (Valoarea

Lagrange)

Valoare Lagrange mai bun<?

Toate punctele verificate?Resurse minime?

STOP

OUT: Graful optimizat, Nr. puncte/

topologii verificate, Gradul de reducere

a congestiei, Resurse adi―ionale

Optimizare FBOptimizare ML

DA

NU

NU

NU

NU NU

DA

DA

DA

DA

DA

Figura 4.10: Diagrama logica a programului folosit pentru evaluarea metodei Lagrange

44

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

20 50 100 250

To

po

log

ii ve

rifi

cate

FB

/ML

Num=rul de noduri surs=

2-surse

3-surse

Figura 4.11: Raportul ıntre numarul de topologii verificate de metoda FB s, i ML pe scaralogaritmica

0

0.5

1

1.5

2

2.5

3

3.5

4

20 50 100 250

Num

=r to

polo

gii F

B/M

L

Num=rul de noduri surs=

2-surse

3-surse

Figura 4.12: Raportul ıntre numarul de topologii utilizate de metoda FB s, i ML

Au fost generate topologii de ret,ea cu k perechi sursa-destinat, ie s, i s-a considerat ca existalegaturi adit, ionale ıntre toate sursele s, i toate destinat, iile. Fiecare nod sursa si este conectat lafiecare nod destinat, ie, ın afara de di. Pentru fiecare numar de perechi sursa-destinat, ie au fostgenerate 50 de topologii, sursele avand rate de transfer alese aleator. Rata de transfer pe legaturagatuita este impusa astfel ıncat sa fie mai mica decat suma ratelor de transfer ale nodurilor sursa.

Figura 4.11 prezinta raportul pe scara logaritmica ıntre numarul de topologii verificate demetoda fort, a bruta (FB) s, i metoda multiplicatorului Lagrange (ML), cand se folosesc numaitopologii 2-surse s, i numai topologii 3-surse. Rezultatele arata o scadere semnificativa anumarului de topologii verificate ın cazul metodei ML, mai ales daca numarul nodurilor sursaeste mare. Acest fapt reduce semnificativ timpul necesar pentru gasirea unei solut, ii de codare s, icres,te adaptabilitatea solut, iei de control al congestiei la schimbarile starii ret,elei.

Figura 4.12 prezinta raportul ıntre numarul de topologii folosite, pentru controlul congestieipe legatura gatuita, de catre metoda FB s, i metoda de optimizare ML cand se folosesc numaitopologii 2-surse s, i numai topologii 3-surse. Se poate observa ca ın cazul metodei ML sunt folositemai put, ine topologii, cand numarul de noduri sursa este ridicat. Metoda ML gases,te o solut, iede codare care include mai put, ine topologii decat solut, ia oferita de metoda FB. In acest mod sereduce numarul nodurilor care efectueaza operat, iile de codare/decodare, implicit complexitateacomputat, ionala necesara pentru controlul congestiei.

Figura 4.13 prezinta raportul ıntre resursele adit, ionale necesare ın cazul solut, iilor de codareobt, inute cu metoda FB s, i metoda ML. Se poate observa ca ın cazul folosirii metodei ML, resurseleadit, ionale necesare sunt mai mari cu 20-30% fat, a de rezultatele oferite de metoda FB, deoarece

45

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

20 50 100 250

Resu

rse a

di‐io

nale

FB

/ML

Num=rul de noduri surs=

2-surse

3-surse

Figura 4.13: Raportul ıntre resursele adit, ionale necesare ın cazul metodelor FB s, i ML

0

2

4

6

8

10

12

2-3surse

To

po

log

ii ve

rifi

cate

FB

/ML

Tip topologie

Crit-b

Crit-a

Figura 4.14: Raportul ıntre numarul de topologii verificate de metoda FB s, i ML ın cazul celordoua criterii

metoda ML nu este capabila sa gaseasca tot timpul minimul global din cauza modului de definirea vecinatat, ii punctelor. Alte definit, ii ale vecinatat, ii punctelor din spat, iul de cautare ar puteacres,te probabilitatea de gasire a minimului global, dar ar conduce la cres,terea numarului de pas, inecesari pentru optimizare.

Dupa acest set de teste a fost ajustata rata de transfer pe legatura gatuita astfel ıncat pentrucontrolul congestiei sa fie necesare s, i topologii 3-surse. Congestia este controlata folosind topologii2-surse s, i 3-surse, iar numarul total de noduri sursa este constant, k = 36. Algoritmul va cautatopologii 3-surse s, i 2-surse, topologiile 3-surse fiind selectate folosind cele doua criterii de select, ie.

Figura 4.14 prezinta raportul ıntre numarul de topologii verificate de catre metodele FB s, i MLın cazul celor doua criterii, 4.32 s, i 4.33, de select, ie a topologiilor 3-surse. Se poate observa cametoda ML verifica mai put, ine puncte ın cazul ambelor criterii de select, ie. In cazul criteriului deselect, ie b, metoda FB verifica de 10 ori mai multe puncte din vecinatate decat metoda ML, iar ıncazul criteriului a metoda FB verifica de 2 ori mai multe puncte din vecinatate decat metoda ML,metoda ML fiind mai rapida ın gasirea solut, iei de codare.

Figura 4.15 prezinta raportul ıntre resursele adit, ionale necesare pentru solut, iile gasite demetodele FB s, i ML ın cazul celor doua criterii de select, ie a topologiilor 3-surse. Se poate observaca solut, ia de codare gasita de metoda ML necesita mai multe resurse decat solut, ia de codaregasita de metoda FB. In cazul criteriului de select, ie a, metoda ML necesita cu 35% mai multeresurse decat metoda FB. In cazul criteriului de select, ie b, rezultatele obt, inute sunt mult maibune, ın acest caz solut, ia de codare gasita de metoda ML necesita numai cu 4% mai multeresurse decat metoda FB.

46

0

0.2

0.4

0.6

0.8

1

1.2

2-3surse

Resu

rse a

di‐io

nale

FB

/ML

Tip topologie

Crit-b

Crit-a

Figura 4.15: Raportul ıntre resursele adit, ionale folosite de metoda FB s, i ML ın cazul celor douacriterii de select, ie

0

2

4

6

8

10

12

14

16

nr2s nr3s

Num

=rul

de t

opol

ogii g

=site

Tip topologie

Crit-bBF

Crit-aBF

Crit-bLM

Crit-aLM

Figura 4.16: Numarul de topologii gasite ın cazul celor doua metode folosind cele doua criterii deselect, ie

Figura 4.16 prezinta numarul de topologii 3-surse s, i 2-surse folosite pentru controlul congestieiın cazul metodei ML s, i FB folosind cele doua criterii de select, ie a topologiilor 3-surse. Se poateobserva ca numarul topologiilor 3-surse este mai mic decat numarul topologiilor 2-surse ın fiecarecaz. In cazul metodei ML folosind criteriul de select, ie a se folosesc cele mai multe topologii3-surse, ınsemnand ca aceasta metoda va folosi cele mai multe resurse adit, ionale s, i va necesitacea mai mare complexitate computat, ionala pentru efectuarea operat, iilor de codare/decodare NC.Rezultatele obt, inute pentru celelalte metode sunt comparabile, neexistand diferent,e semnificativeıntre numarul de topologii gasite de aceste metode. Rezultatele obt, inute folosind metoda deoptimizare ML care foloses,te criteriul de select, ie b sunt foarte apropiate de rezultatele obt, inute cumetoda FB.

Pentru experimentele urmatoare rata de transfer pe legatura gatuita a fost redusa astfel ıncatpentru controlul congestiei sa fie nevoie s, i de topologii 4-surse, congestia fiind controlata prinact, iunea combinata a topologiilor 4-surse, 3-surse s, i 2-surse. Numarul total de noduri sursa esteconstant, k = 36. In scopul realizarii unei studii detaliate a algoritmului de optimizare, au fostdefinite mai multe mecanisme de cautare. Algoritmul a fost modificat astfel ıncat sa caute solut, iide codare implicand topologii 2-, 3- s, i 4-surse, numit 2-3-4-mecanism. O alta varianta cauta solut, iide codare cu topologii 3- s, i 4-surse, numit 3-4-mecanism, iar o alta varianta cauta solut, ii de codarecu topologii 2- s, i 4-surse, care este numit 2-4-mecanism.

In Figura 4.17 s, i Figura 4.18 este prezentata o comparat, ie ıntre variantele ment, ionate alealgoritmului de optimizare din punctul de vedere al resurselor adit, ionale s, i din punctul de vedere

47

0.85

0.9

0.95

1

1.05

1.1

1.15

3-4mec./2-3-4mec. 2-4mec./2-3-4mec.

Rap

ort

ul r

esu

rsel

or

adi‐i

onale

Tipuri de topologie

Crit-b

Crit-a

Figura 4.17: Resursele adit, ionale folosite de mecanismele 2-4 s, i 3-4 relativ la cele folosite demecanismul 2-3-4 ın cazul celor doua criterii de select, ie

0

0.2

0.4

0.6

0.8

1

1.2

3-4mec./2-3-4mec. 2-4mec./2-3-4mec.

Rap

ort

ul t

op

olo

giil

or

veri

fica

te

Tipuri de topologie

Crit-b

Crit-a

Figura 4.18: Numarul de topologii verificate de mecanismele 2-4 s, i 3-4 relativ la cele verificate demecanismul 2-3-4 ın cazul celor doua criterii de select, ie

al complexitat, ii procedurii de cautare, adica numarul de topologii verificate ın scopul generariisolut, iei de codare.

Rezultatele prezentate ın Figura 4.17 arata ca nu exista diferent,e semnificative ıntre capacitateade optimizare a diferitelor variante de algoritm, singura except, ie fiind mecanismul 2-4 folosindcriteriul de select, ie b a topologiilor n-surse, n > 2. Figura 4.18 arata ca mecanismul 2-3-4 verificacele mai multe topologii dintre toate variantele de algoritm. Acest mecanism trebuie sa verificetrei tipuri de topologii, iar celelalte au de verificat numai doua tipuri de topologii.

In Figura 4.19 este prezentat numarul de topologii gasite de diferite variante ale algoritmului deoptimizare ın cazul celor doua criterii de select, ie. Rezultatele din figura arata ca mecanismele decautare care folosesc criteriul a genereaza solut, ii de codare cu un numar mai mare de topologii 4-surse. In cazul mecanismului 2-3-4 nu este gasita nici o topologie 2-surse, iar numarul de topologii4-surse este mare, aproximativ egal cu numarul de topologii 3-surse. Acelas, i lucru este valabils, i pentru mecanismul 3-4 folosind criteriul a, numarul de topologii 4-surse fiind mai mare decatnumarul de topologii 3-surse. In cazul mecanismului 2-4 diferent,ele ıntre numarul de topologiigasite folosind criteriul a respectiv criteriul b sunt mai mici, dar s, i ın aceasta situat, ie criteriul ava genera mai multe topologii 4-surse. De aici rezulta faptul ca mecanismele bazate pe criteriul aau o scalabilitate mai redusa.

Chiar daca resursele adit, ionale necesare pentru topologiile gasite folosind criteriul de select, iea nu sunt mai mari decat resursele adit, ionale necesare pentru topologiile gasite folosind criteriulb, acest criteriu de select, ie are dezavantaje: uneori nu este posibila generarea unui numar mare de

48

b2

b2

a2

a2

b3 b3

a3 a3

b4b4

b4a4 a4

a4

0

1

2

3

4

5

6

7

8

9

10

2-3-4surse 3-4surse 2-4surse

Topo

logi

i g=s

ite d

e ML

Tipuri de topologie

Crit-b2 Crit-a2

Crit-b3 Crit-a3

Crit-b4 Crit-a4

Figura 4.19: Numarul de topologii folosite pentru controlul congestiei de catre diferite varianteale algoritmului ML (notat, ia xy: x - criteriul de optimizare a sau b; y - tipul de topologie n-surse2, 3 sau 4)

0

0.2

0.4

0.6

0.8

1

1.2

2-3-4surse 3-4surse 2-4surse

Resu

rse a

di‐io

nale

FB

/ML

Tipuri de topologie

Crit-b

Crit-a

Figura 4.20: Raportul resurselor adit, ionale cerute de metodele FB s, i ML ın cazul diferitelorvariante de algoritm

topologii n-surse, cu n mare, deoarece nu va fi posibila stabilirea tuturor legaturilor care transportadatele necesare pentru decodarea NC. Un alt dezavantaj este acela ca ın cazul topologiilor n-surse,cu n mare, este ridicata s, i complexitatea computat, ionala ceruta de operat, iile de codare/decodareNC. Varianta de algoritm bazata pe mecanismul 2-3-4 s, i criteriul de select, ie b are cel mai ridicatgrad de scalabilitate, chiar daca resursele adit, ionale necesare nu sunt mai mici decat cele ın cazulcelorlalte variante de algoritm, pentru ca aceasta varianta poate folosi topologii de tip fluture caresunt cel mai us,or de construit.

In Figura 4.20 este prezentata o comparat, ie ıntre algoritmul de optimizare FB s, i ML cand sefolosesc mai multe tipuri de topologii. Se poate observa ca daca se foloses,te criteriul de select, ieb, rezultatele sunt comparabile cu cele obt, inute cu metoda FB din punctul de vedere al resurseloradit, ionale. Daca se utilizeaza criteriul a, ın cazul mecanismelor 2-3-4 s, i 3-4, optimizarea ML vagenera solut, ii de codare care folosesc cu 20% mai multe resurse adit, ionale decat solut, iile de codaregenerate cu metoda FB [56].

4.2 Optimizarea ret,elei folosind algoritmi genetici

O parte semnificativa a studiilor teoretice despre NC presupune ca operat, iile de codare au loc ınfiecare nod intermediar din ret,ea. Dezavantajul acestei abordari este aceea ca operat, iile

49

1

7

65

9 1110

8

432

a

b

aÅb

(a) NC fara optimizare

1

7

65

9 1110

8

432

a

b

aÅb

(b) NC cu optimizare

Figura 4.21: Exemplu de optimizare a operat, iilor NC folosind algoritmi genetici

matematice necesare pentru codarea ın nodurile intermediare s, i cele pentru decodare ın noduldestinat, ie va cres,te complexitatea computat, ionala a operat, iilor NC s, i va cere o cantitateseminificativa de resurse suplimentare. In multe situat, ii este suficient ca numai o parte dintrenodurile intermediare sa realizeze codarea, fara modificarea ratei de transfer a ret,elei. Astfel seva reduce numarul operat, iilor efectuate de catre noduri, s, i implicit complexitatea s, i costuloperat, iilor NC [22]. Problema este gasirea numarului minim de noduri de codare care asigurarata de transfer maxima a ret,elei, ceea ce este o problema NP-hard s, i aproximarile apropiate aleproblemei fiind NP-hard. Avand ın vedere complexitatea problemei exista numai catevaabordari pentru minimizarea resurselor necesare s, i a costurilor pentru NC. Algoritmii geneticiinspirat, i din teoria evolut, iei pot oferi o solut, ie pentru optimizarea ret,elelor ın care seimplementeaza NC [57].

Un exemplu este prezentat ın Figura 4.21, unde nodul sursa (nodul 1) transmite simultan douapachete, a s, i b, catre nodurile destinat, ie (nodurile 9, 10 s, i 11) [22]. Daca nu sunt utilizate tehnicileNC, nu este posibila recept, ia simultana a celor doua pachete de catre toate nodurile destinat, ie.Daca se realizeaza NC ın cea mai simpla forma (XOR bit cu bit) la nodurile intermediare 5 s, i6, cum se prezinta ın Figura 4.21a, fara optimizarea ret,elei, nodurile destinat, ie 9, 10 s, i 11 vorrecept, iona urmatoarele pachete: a, a ⊕ b; a ⊕ b , a ⊕ b; respectiv a ⊕ b, b. Se poate observa cafiecare nod destinat, ie va fi capabil sa decodeze pachetele codate recept, ionate. Rata de transmisieın acest caz este de 2 pachete/unitate de timp. Daca ret,eaua este optimizata, se poate obt, ineaceeas, i rata de transmisie (2 pachete/unitate de timp), dar va fi suficient ca dintre nodurile 5s, i 6 numai unul sa efectueze codarea NC, cum se arata ın Figura 4.21b. Daca se presupune canodul 5 efectueaza operat, iile de codare asupra pechetelor recept, ionate, atunci nodurile destinat, ie9, 10 s, i 11 vor primi pachetele urmatoare: a, a⊕ b; a⊕ b, b; respectiv a, b. Amandoua pachetelede date pot fi recuperate ın toate nodurile destinat, ie. Gasirea numarului minim de noduri decodare ıntr-o topologie de ret,ea mai complexa nu este as,a de simpla ca ın exemplul anterior, iarsolut, ia poate fi adaptarea unui algoritm genetic la aceasta problema [22]. Un algoritm geneticopereaza asupra unui set de solut, ii posibile, numit populat, ie, care se ımbunatat,es,te secvent, ialfolosind diferite mecanisme inspirate din evolut, ia biologica.

4.2.1 Adaptarea algoritmilor genetici pentru optimizarea ret,elei

Algoritmii genetici sunt inspirat, i din teoria evolut, iei a lui Darwin. O problema rezolvata prinalgoritmi genetici evolueaza catre solut, ie, similar cu evolut, ia diferitelor specii. Se presupune caexista un vector ın care fiecare element este un simbol dintr-un alfabet A, vector care reprezinta uncromozom. Un set de vectori (cromozomi) va forma o populat, ie. Aceasta populat, ie va fi supusareproducerii s, i va fi transformata ıntr-o populat, ie noua. Transformarea are loc prin select, ie,ıncrucis,are s, i mutat, ie [58].

50

PopulaYia iniYial<

Evaluare PopulaYia nou<

Reproducere

PopulaYia final<

Criteriu de terminare?

DA

NU

Figura 4.22: Shema logica a algoritmului genetic implementat

v v’ v”

x1 x1x1

y1

a2=[0 1 1]

y2

y1y1

x3x2 x3x2 x3x2

a1=[1 0 1]

Figura 4.23: Vectori de codare la nodul v

Algoritmul pornes,te cu un set de solut, ii (reprezentat de cromozomi). Solut, iile dintr-opopulat, ie sunt folosite pentru a genera noua populat, ie, algoritmul fiind prezentat ın Figura 4.22.Solut, iile care vor face parte din noua populat, ie sunt selectate ın conformitate cu o funct, ieobiectiv (“fitness“). Algoritmul se repeta pana cand o anumita condit, ie (ex. numarul maxim degenerat, ii) este satisfacuta [58].

O versiune particulara de algoritmi genetici care se poate folosi pentru optimizarea ret,elelor decomunicat, ii ın care se foloses,te NC este prezentata ın [22]. Pentru acest algoritm cromozomii sedefinesc ın modul urmator: pentru fiecare pereche de legatura de intrare i ∈ 1, . . . , din, din ≥ 2, s, ilegatura de ies, ire j ∈ 1, . . . , dout, dout ≥ 1, a unui nod intermediar, este asignata o valoare binaraai,j ın mod aleator. Aceasta valoare este 1 daca informat, ia recept, ionata pe legatura de intrarei contribuie la informat, ia trimisa pe legatura de ies, ire j, s, i este 0 daca nu. Pentru legatura deies, ire j (j ∈ 1, . . . , dout), setul valorilor binare asociate aj = (ai,j), i ∈ 1, . . . , din formeaza vectorulde codare. Cromozomii sunt definit, i ca fiind colect, ia tuturor vectorilor de codare, deci fiecarecromozom va indica care intrari contribuie la care ies, iri la fiecare nod intermediar din ret,ea, dupacum este prezentat ın Figura 4.23 [22].

Daca din(v) este numarul de legaturi de intrare ın nodul v, s, i dout(v) este numarul de legaturide ies, ire din nodul v, atunci lungimea unui cromozom se poate calcula ın modul urmator [22]:

m =∑v∈V

din(v)dout(v) (4.35)

unde V este setul de noduri intermediare.Fiecare gena din cromozom reprezinta o pereche de legaturi intrare-ies, ire din ret,ea.

Cromozomii formeaza populat, ia. Dimensiunea populat, iei de obicei se limiteaza la cateva sute decromozomi s, i datorita generarii aleatoare a cromozomilor exista posibilitatea ca nici uncromozom sa nu fie fezabil. Pentru evitarea acestor situat, ii, daca dimensiunea populat, iei este N ,numai N − 1 cromozomi se genereaza aleator, iar cromozomul format numai din gene de valoare1 se introduce ın populat, ie. Acest cromozom este fezabil, dar reprezinta o solut, ie care nu esteoptima [22].

51

Pentru evaluarea cromozomilor este definita funct, ia obiectiv. In fiecare cromozom numarullegaturilor pe care se transmite informat, ie codata este egal cu numarul vectorilor de codare carecont, in cel put, in doua valori de 1. Numarul nodurilor de codare este egal cu numarul nodurilorcare au cel put, in o legatura de ies, ire pe care se transmite informat, ie codata. Folosind RNCtrebuie verificat daca rata de transmisie impusa poate fi obt, inuta dupa ce transmisia serestrict, ioneaza dupa cum specifica cromozomul care este evaluat. Legaturile de intrare care auvaloarea 0 asignata ın vectorul de codare, care face parte din cromozom, nu sunt folosite pentrutransmisii de date, iar datele recept, ionate de pe aceste legaturi nu vor fi transmise codat pelegaturile de ies, ire corespunzatoare. Un cromozom este fezabil daca rata de transmisie poate fiatinsa conform restrict, iei date de cromozom, altfel este nefezabil. In alte cuvinte, un cromozomeste fezabil daca matricea de transfer a ret,elei la fiecare nod destinat, ie este inversabila. Funct, iaobiectiv poate fi definita conform [22] ın modul urmator:

F (z) =

{nr. noduri de codare daca z fezabil

∞ daca z nefezabil(4.36)

Din populat, ia curenta este formata populat, ia noua folosind trei operat, ii: select, ie, ıncrucis,ares, i mutat, ie.

Cromozomii care vor forma noua populat, ie sunt selectat, i pe baza valorii lor ”fitness”, astfelıncat cromozomii cu valoare ”fitness” mai buna sunt selectat, i cu o probabilitate mai mare. Dinpopulat, ia curenta se selecteaza M cromozomi ın mod aleator, dintre care se pastreaza cel cuvaloare “fitness“ cea mai buna. M este un parametru al algoritmului genetic, numit presiune deselect, ie. Aceasta metoda de select, ie se repeta de N ori, unde N este dimensiunea populat, iei.

Cromozomii selectat, i pentru noua populat, ie sunt supus, i ıncrucis, arii uniforme. Perechile decromozomi se selecteaza aleator, iar cromozomii unei perechi ıs, i vor interschimba o parte din geneın conformitate cu probabilitatea de ıncrucis,are data. Cromozomii obt, inut, i prin ıncrucis,are suntsupus, i mutat, iei binare, adica valorile genelor se invereseaza conform probabilitat, ii de mutat, ie.

Noua populat, ie obt, inuta dupa select, ie, ıncrucis,are s, i mutat, ie este evaluata folosind funct, iaobiectiv. Cel mai bun cromozom din populat, ie (ın acest caz cromozomul cu cea mai mica valoare”fitness”) se pastreaza fara modificari pentru generat, ia urmatoare, iar cromozomul cel mai slabcu cea mai mare valoare ”fitness” este eliminat. Noile populat, ii se genereaza pana cand se ajungela criteriul de terminare, adica pana cand numarul de generat, ii atinge limita predefinita. Se poateadopta s, i un alt criteriu de terminare, care opres,te generarea noilor populat, ii atunci cand ıntr-unnumar dat de genarat, ii valoarea “fitness“ a celui mai bun cromozom nu se modifica semnificativ.

Evaluarea complexitat, ii optimizarii ret,elei folosind algoritmi genetici a fost realizata prinsimulari pe calculator. Programul a fost implementat ın Matlab s, i schema logica este prezentataın Figura 4.24. Programul primes,te ca s, i parametrii de intrare topologia ret,elei care urmeaza safie optimizata. Ret,eaua este reprezentata sub forma matriciala. Se specifica de asemeneaparametrii algoritmului genetic: dimensiunea populat, iei, presiunea de select, ie, probabilitatea deıncrucis,are s, i de mutat, ie, numarul maxim de generat, ii. Cromozomii se construiesc pe bazamatricii care descrie ret,eaua s, i se evalueaza folosind matricea de transfer al ret,elei RNC. Acestamatrice de transfer este determinata pentru fiecare cromozom ın parte pe baza formulelordescrise ın [22]. Dupa evaluarea populat, iei se genereaza noua populat, ie, iar algoritmul se opres,tecand se ajunge la numarul maxim de generat, ii. Programul retureneaza matricea ret,eleioptimizate, numarul nodurilor implicate ın procesul de codare s, i coeficient, ii de codare folosit, i.

A fost analizata relat, ia ıntre timpul de optimizare/numarul de iterat, ii necesare pentruoptimizarea cu succes s, i parametrii diferit, i ai algoritmului genetic. Numarul de iterat, iiinfluent,eaza ın mod semnificativ overheadul se semnalizare, iar timpul de optimizare trebuie safie mult mai mic decat perioadele de timp ın care topologia ret,elei ramane neschimbata. Dacaoptimizarea ret,elei are loc cu succes, algoritmul genetic va returna coeficient, ii de codare care vorfi utilizat, i pentru operat, iile de codare NC [57].

Topologia de test este o topologie de tip fluture ın care legaturile nu au capacitat, i unitare s, ifiecare legatura are capacitate diferita. Capacitat, ile legaturilor sunt indicate ın Figura 4.25.a.

52

IN: Re―eaua sub form< matricial<,

Parametrii algoritmului genetic,

Dimensiunea câmpului finit

START

Generare aleatoare

popula―ie ini―ial<

Evaluare folosind RNC

Nr. maxim genera―ii?

STOPOUT: Re―eaua optimizat<, Nr.

noduri implicate în NC

Popula―ie nou< prin selec―ie,

încruci〇are 〇i muta―ie

DA

NU

Figura 4.24: Diagrama logica a programului folosit pentru evaluarea algoritmilor genetici

1

2

6

5

4

3

7

4 1

1

12

2

22 2

1

2

6

5

4

3

7

nefolosit

simbol asimbol bsimbol c

a Å c

a) b)

Figura 4.25: Topologia de test

53

0

10

20

30

40

50

60

20 30 50 70 100 150 200N

r. d

e ite

ra‐ii

/ T

imp

ul d

e o

pti

miz

are

[s]

Dimensiunea popula‐iei

Num<rul de itera―ii Timpul de optimizare

Figura 4.26: Numarul de iterat, ii s, i durata optimizarii ın funct, ie de dimensiunea populat, iei

Rata de transfer maxima care se poate obt, ine ın aceasta ret,ea folosind tehnici de codare detip Network Coding este de 3 unitat, i de date/unitatea de timp. In Figura 4.25.b. este prezentataaceeas, i topologie de ret,ea dupa optimizare. Daca ın primul caz (Figura 4.25.a.) toate legaturileerau folosite s, i pe 6 legaturi se trasmitea informat, ie codata, dupa optimizare trei legaturi devinneutilizate, iar informat, ie codata se transmite numai pe doua legaturi. Optimizare conduce lareducerea complexitat, ii operat, iilor de codare s, i de decodare prin simplificarea matricii de transfera ret,elei s, i va elibera unele legaturi, care ar putea fi folosite pentru transmisia altor date.

Au fost efectuate mai multe teste pe un simulator implementat ın MatLab pentru evaluareaalgoritmului genetic adaptat la optimizarea topologiei de codare. Operat, iile de RNC sunt efectuateın campul finit GF (25).

Pentru primul test s-au considerat urmatorii parametri ai algoritmului: presiunea de select, ie5, probabilitatea de ıncrucis,are 20%, probabilitatea de mutat, ie 2%, numarul maxim de generat, ii150, iar dimensiunea populat, iei ia valori din mult, imea: {20, 30, 50, 70, 100, 150, 200}. Se poateobserva din Figura 4.26 ca numarul de generat, ii necesar pentru optimizarea ret,elei este 7, care nuse modifica cu dimensiunea populat, iei, ın condit, iile ın care daca ın 5 generat, ii consecutive nu semodifica valoarea funct, iei ”fitness” pentru cel mai bun cromozom algoritmul genetic se opres,te.Durata optimizarii cres,te proport, ional cu dimensiunea populat, iei. Pentru 50 de cromozomi dinpopulat, ie este 13.8s, pentru 100 cromozomi este 26.24s, iar pentru 150 de cromozomi ajunge la39.68s, intervalele de timp fiind valide pentru simularile efectuate. Operat, iile algoritmului geneticau loc pentru fiecare cromozom al populat, iei, de aceea o populat, ie mai mare necesita mai multeoperat, ii, ceea ce va conduce la cres,eterea dimensiunii populat, iei.

Pentru al doilea test s-a considerat dimensiunea populat, iei 100, numarul maxim de generat, ii100, iar probabilitatea de ıncrucis,are din valorile{5%, 10%, 15%, 20%, 25%, 30%, 40%, 50%, 100%}, restul parametrilor fiind neschimbat, i. DinFigura 4.27 se poate observa ca timpul necesar pentru optimizare nu variaza semnificativ cuvariat, ia probabilitat, ii de ıncrucis,are. De aceea se recomanda folosirea unei probabilitat, i deıncrucis,are mici (∼ 20%) pentru reducerea complexitat, ii computat, ionale.

Al treilea test efectuat a avut urmatoarele condit, ii de testare: presiunea de select, ie 5,probabilitatea de ıncrucis,are 20%, numarul maxim de generat, ii 100, probabilitatea de mutat, ie iadoua valori: 2%, respectiv 3%, iar dimensiunea populat, iei ia tot doua valori: 100, respectiv 150de cromozomi care formeaza o populat, ie. In Figura 4.28 se poate observa ca pentru aceeas, idimensiune a populat, iei, durata unei iterat, ii este mai mica pentru probabilitatea de mutat, ie maimare (3%), iar pentru aceeas, i probabilitate de mutat, ie durata unei iterat, ii este mai mica pentrudimensiunea populat, iei mai mica (100), deoarece numarul total de mutat, ii care are loc ıntr-opopulat, ie este direct proport, ionala cu dimensiunea populat, iei. Daca dimensiunea populat, iei estemai mica, numarul total de mutat, ii este mai mic, deci numarul de operat, ii necesare pentrurealizarea mutat, iei este mai mic, adica durata unei iterat, ii este mai mica [57].

54

24

25

26

27

28

29

30

31

5 10 15 20 25 30 40 50 100

Tim

pu

lde

op

tim

izar

e [s

]

Probabilitatea de încruciーare [%]

Timpul de optimizare

Figura 4.27: Durata de optimizare ın funct, ie de probabilitatea de ıncrucis,are

0

1

2

3

4

5

6

2 3

Dura

ta u

nei it

era‐

ii [s]

Probabilitatea de muta‐ie [%]

Dim. popula―ie = 100

Dim. popula―ie = 150

Figura 4.28: Durata unei iterat, ii ın funct, ie de probabilitatea de mutat, ie s, i dimensiunea populat, iei

55

02468

101214161820

3 5 7 8 10 15 20 25 30 40 50 75 100 150 200N

┌マBヴ

┌ノ S

W キデW

ヴ;バキキ

Nr. maxim de genera‐ii

Nr. Itera―ii, optimizare cu succes Nr. Itera―ii, optimizare nereu〇it<

Figura 4.29: Numarul de iterat, ii ın funct, ie de numarul de generat, ii

Algoritmul genetic pentru al patrulea test a avut parametrii urmatori: dimensiuneapopulat, iei 100, presiunea de select, ie 5, probabilitatea de ıncrucis,are 20%, probabilitatea demutat, ie 2%, iar numarul maxim de generat, ii ia valori din mult, imea:{3, 5, 7, 8, 10, 15, 20, 25, 30, 40, 50, 75, 100, 150, 200}. Se poate observa din Figura 4.29 ca dacanumarul de generat, ii este mic (< 20), optimizarea nu are loc cu success, deoarece nu se poateobt, ine ımbunatat, irea valorii ”fitness” a celui mai bun cromozom ıntr-un numar foarte mic degenerat, ii. Daca numarul maxim de generat, ii depas,es,te un anumit prag (∼ 25 ın acest caz),optimizarea are loc cu success. Numarul de iterat, ii depinde de topologia de ret,ea care trebuieoptimizata. Daca topologia este foarte mare, numarul de generat, ii trebuie sa fie mai mare, decatın cazul unei topologii mici.

Dimensiunea campului finit are o important, a deosebita din punctul de vedere alperformant,elor algoritmului genetic, deoarece pentru evaluarea unei populat, ii se foloses,teRandom Network Coding, unde coeficient, ii de codare se aleg aleator dintr-un camp finit. Pentruacest test s-au considerat aceeas, i parametrii ai algoritmului genetic ca s, i ın cazul precedent,numarul maxim de generat, ii fiind stabilit la 100. Pentru doua dimensiuni ale campului finit,GF (24) s, i GF (25) au fost realizate cate s,apte simulari cu aceeas, i parametri. S-a evaluat numarultotal de iterat, ii necesari pentru optimizare s, i durata optimizarii pentru fiecare dimensiune acampului finit pentru fiecare simulare. S-a evaluat de asemenea numarul mediu de iterat, ii,respectiv timpul mediu de optimizare pentru cele doua dimensiuni al campului finit. Din Figura4.30 se poate observa ca timpul necesar pentru optimizare este mare ın cazul unui camp finit maimic (GF (24)), decat ın cazul unui camp finit mai mare (GF (25)). Des, i operat, iile de adunare s, ide ınmult, ire se realizeaza mai rapid ıntr-un camp de dimensiune mai mica, durata optimizariieste mai mare, pentru ca cu scaderea dimensiunii campului scade s, i probabilitatea alegeriicoeficient, ilor, astfel ıncat matricea de transfer a ret,elei sa aiba determinant diferit de zero.

4.3 Concluzii s, i contribut, ii

Solut, ia de control al congestiei propusa are un grad de scalabilitate ridicat datorita ideii de baza:ımpart, irea problemei de rezolvat ın mai multe probleme mai simple. Solut, ia este eficienta dinpunctul de vedere al resurselor suplimentare necesare, iar acest aspect influent,eaza scalabilitateaalgoritmilor propus, i. Comparata cu alte solut, ii mai complexe pe baza NC care codeaza toatefluxurile (care genereaza congestia) ımpreuna, solut, ia propusa necesita pana la (k − 1) ori maiput, ine resurse suplimentare, unde k este numarul fluxurilor care trec pe legatura gatuita. Solut, iapropusa are de asemenea complexitate relativ mica s, i necesita ”overhead” de semnalizare mairedus, dar dezavantajul este ca are o capabilitate mai redusa de control al congestiei.

Algoritmul de cautare a topologiilor capabile de NC se bazeaza pe un proces de optimizare care

56

0

50

100

150

200

250

300

1 2 3 4 5 6 7

Tim

p d

e o

pti

miz

are

[s]

Num=r simulare

Timp de optimizare GF(32)

Timp mediu de optimizare GF(32)

Timp de optimizare GF(16)

Timp mediu de optimizare GF(16)

Figura 4.30: Numar de iterat, ii s, i durata optimizarii ın funct, ie de dimensiunea campului finit ales

Dimensiunea Presiunea Probabilitatea Probabilitatea Numarulpopulat, iei de select, ie de ıncrucis,are de mutat, ie de generat, ii

100 5 20% 2% 100

Tabela 4.3: Parametrii optimali ai algoritmului genetic implementat

foloses,te multiplicatorul Lagrange discret. Folosind metoda propusa se poate obt, ine o solut, ie decodare care necesita o cantitate acceptabila de resurse suplimentare, fat, a de cea mai buna solut, iede codare posibila, s, i pentru un numar ridicat de fluxuri.

In al doilea subcapitol performant,ele de complexitate, scalabilitate s, i de timp de procesareale algoritmului genetic implementat au fost evaluate ın funct, ie de parametrii principali aiacestui algoritm: dimensiunea populat, iei, presiunea de select, ie, probabilitatea de ıncrucis,are,probabilitatea de mutat, ie, numarul maxim de generat, ii s, i dimensiunea campului finit ın care seefectueaza operat, iile de codare. Dupa evaluarea performant,elor ment, ionate ın cazul a douatopologii diferite, s-a ajuns la concluzia ca parametrii optimali ai algoritmului genetic utilizatpentru optimizarea unor topologii de complexitate medie sunt cei prezentat, i ın 4.3.

Numarul de iterat, ii ın care algoritmul genetic a reus, it optimizarea ret,elei din punctul de vedereal costurilor nu s-a modificat semnificativ cu variat, ia parametrilor, ceea ce ınseamna ca algoritmulimplementat este foarte robust. Timpul de optimizare ridicat poate reprezenta un dezavantajmajor al algoritmului genetic, atunci cand acesta este aplicat ın topologii de ret,ea care se schimbarapid ın timp, cum sunt ret,elele wireless. Varianta implementata a algoritmului genetic se poatefolosi pentru optimizarea ret,elelor a caror topologie se schimba relativ lent ın timp [57].

Contribut, iile aduse de autor ın acest capitol sunt pe scurt urmatoarele:Contribut, ie 1: elaborarea unei solut, ii de control al congestiei care utilizeaza NC ın topologii

simple instant, iate ın jurul legaturii gatuite, precum s, i a unei metode de identificare s, i optimizarea acestor topologii utilizand multiplicatorul Lagrange discret. Acesta contribut, ie se refera laurmatoarele aspecte:

• elaborarea modelului matematic adaptat la cerint,ele problemei de identificare s, i optimizarea topologiilor (identice) capabile de NC;

• generalizarea solut, iei pentru diverse tipuri de topologii care act, ioneaza ımpreuna pentrucontrolul congestiei;

• implementarea unor simulatoare pentru verificarea algoritmilor bazat, i pe modelul matematicdefinit;

• evaluarea algoritmului de optimizare s, i validarea modelului matematic prin simulari pentrudiferite cazuri.

57

Contribut, ie 2: utilizarea algoritmilor genetici pentru optimizarea topologiilor de ret,ele ıncare se implementeaza NC din punctul de vedere al costurilor prin identificarea nodurilor la caretrebuie sa aiba loc operat, iile de codare.

• implementarea unui simulator pentru verificarea performant,elor algoritmului genetic;

• determinarea parametrilor optimali ai algoritmului genetic pentru problema de optimizareconsiderata ın cazul unor topologii de complexitate medie.

58

Capitolul 5

Integrarea tehnicilor NC ın ret,ele“wireless“ centralizate

Majoritatea protocoalelor folosite ın Internet au fost proiectate pentru canale cu pierderi reduse,ınsa canalele wireless au o rata de pierderi mai ridicata. Protocolul TCP foloses,te confirmari s, iretransmisia pachetelor neconfirmate pentru a asigura ca datele ajung la destinat, ie. Deasemenea protocolul TCP foloses,te mecanisme de control al fluxurilor pentru detect, ia congestieis, i ajustarea ratelor de transfer. Pentru canale avand rate de pierderi mici aceste mecanismeasigura performant,e bune, dar pentru canale cu rate de pierderi ridicate performant,eleprotocolului TCP se degredeaza semnificativ. In aceasta situat, ie se pot folosi coduri corectoarede s,tergeri, coduri “rateless“ sau coduri de ret,ea pentru ımbunatat, irea performant,elortransmisiei[59]. Codurile “rateless“ pot genera un numar infinit de simboluri codate dintr-un setlimitat de simboluri de intrare. Simbolurile pot fi recuperate dintr-un numar de simboluri codateput, in mai mare decat numarul simbolurilor de intrare. Codurile “rateless“ pot fi privite ca uncaz particular de codare de ret,ea, unde numai nodul sursa realizeaza operat, ii de codare. Prinfolosirea acestor coduri nu este nevoie de retransmisii fiind inserata o redundant, a suplimentara,iar ın cazul canalelor cu o rata de pierdere a pachetelor ridicata se obt, in performant,e mai bunedecat cele asigurate de protocolul TCP [59].

Acest capitol prezinta doua abordari a implementarii tehnicilor de cooperare pe baza NC ınret,ele wireless. Prima implementare considera un cod de ret,ea bazat pe operat, iei XOR ca s, i codde ret,ea, iar a doua foloses,te coduri Reed-Solomon. Se prezinta unele metode de optimizare aclusterelor de cooperare ın scopul select, iei nodurilor care participa la procesul de cooperare, astfelıncat performant,ele transmisiei sa fie ımbunatat, ite.

5.1 Tehnici de codare de ret,ea bazate pe operat, ia XOR

In acest capitol este prezentat un algoritm de select, ie a ”cluster”-ului (grupului) de cooperare ıncazul unei ret,ele fara fir centralizate. Select, ia nodurilor implicate ın procesul de cooperare sebazeaza pe optimizarea grafului de conexiuni care descrie grupul de noduri ın funct, ie de maimulte criterii. Optimizarea grafului se realizeaza folosind algoritmi genetici adaptat, i la topologia”cluster”-ului de cooperare s, i la obiectivele de optimizare considerate. Studiul se realizeazapentru un protocol de cooperare utilizat ın transmisia uplink a ret,elelor celulare asistate de relee.Optimizarea se realizeaza pe baza unor indicatori de performant, a, s, i anume probabilitatea de“outage“ a decodorului s, i probabilitatea de eroare de bloc a utilizatorilor implicat, i ın cooperare.

Ideea de baza a transmisiilor prin cooperare ın telecomunicat, ii a fost introdusa de Van derMeulen [60], iar mai tarziu proprietat, ile canalelor asistate de relee au fost studiate de Cover s, iGamal [61]. Conceptul transmisiilor prin relee folosind tehnici de cooperare a fost extins deLaneman s, i Wornell [62] care au proiectat protocoale eficiente energetic bazate pe transmisii detip Decode and Forward (DF) s, i Amplify and Forward (AF). Cooperarea bazata pe coduri decanal integrata ın scheme ın care un nod releu (RN) ajuta un singur terminal (UT) ın

59

conexiunea lui la stat, ia de baza (BS) este una dintre tehnicile propuse ın literatura [63] [64] [65]pentru obt, inerea performant,elor prevazute de studiile teoretice. Prin aceasta abordare se poateobt, ine ımbunatat, irea performant,elor pentru terminalele deservite ın ceea ce prives,teprobabilitatea de eroare de bit (BER), probabilitatea de eroare de bloc (BLER) s, i/sauacoperirea, iar resursele adit, ionale cerute de releu pentru deservirea unui singur terminal vorconduce la pierderi de performant, a din punctul de vedere al eficient,ei spectrale.

Pentru a reduce efectul asupra eficient,ei spectrale ın transmisia UT-BS ale resurselor adit, ionalecerute de releu, au fost propus, i algoritmi de cooperare bazate pe NC [1]. Tehnicile NC permitstructuri cooperative ın care un releu deserves,te mai multe terminale s, i/sau un terminal estedeservit de mai mult,e noduri releu, ın care resursele adit, ionale ale releelor pot fi folosite maieficient, dar ın care ”cluster”-ul de cooperare trebuie sa fie selectat s, i structurat ın mod dinamic.O solut, ie pentru implementarea tehnicilor NC reprezinta utilizarea codurilor bazate pe XOR [66],pentru obt, inerea unei eficient,e spectrale mai bune fara ca sa fie afectat cas,tigul de diversitate.Reprezentarea prin grafuri a ret,elei cooperative a fost propusa [67] pentru a implementa cooperareacodata ın topologii multi-sursa multi-relee (MSMR). In acest capitol va fi descrisa cooperareacodata bazata pe XOR ın topologii MSMR s, i va fi prezentata analiza performant,ele pe bazateoriei codurilor pe grafuri [68]. Prezentarea acestei analize este necesara deoarece pe baza eise realizeaza optimizarea clusterului de cooperare s, i serves,te drept referint, a pentru comparareacazurilor optimizate cu cele neoptimizate.

Analizele teoretice [61] au aratat ca select, ia releului potrivit pentru deservirea unui utilizatoreste critica pentru obt, inerea performant,elor as,teptate de la ret,elele cooperative. Majoritateaalgoritmilor de select, ie a releelor [62] [63] considera scenarii de cooperare simple, cand un releudeserves,te un singur terminal sau numai ımparte resursele sale ıntre mai multe terminale deservite.Definirea unor algoritmi de select, ie s, i alocare a releelor pentru formarea unui grup de noduri releus, i terminale care permite cooperarea bazata pe NC este o sarcina provocatoare s, i numai catevalucrari considera select, ia s, i alocarea nodurilor releu.

O solut, ie posibila pentru generarea topologiilor capabile de NC a fost propusa de Medard [7][22] s, i se bazeaza pe algoritmi genetici (GA). Aces,ti algoritmi au fost introdus, i prin descriereamatematica realizata de J. Holland [58] s, i sunt utilizat, i pentru gasirea solut, iilor unor problemede cautare s, i optimizare, folosind tehnici inspirate din evolut, ia biologica: select, ie, ıncrucis,are s, imutat, ie.

Abordarea propusa de Medard pentru generarea topologiilor capabile de NC ın ret,ele fixe,se poate adapta pentru rezolvarea problemei de alocare a releelor ın “clustere“ de cooperare“wireless“ MSMR, ın care se folosesc algoritmi de cooperare bazate pe NC. Algoritmii geneticipot oferi solut, ii pentru construirea clusterelor de cooperare MSMR care satisfac mai multe condit, iicontradictorii. Scopul ambelor solut, ii, cea folosita de Medard s, i cea propusa aici, este optimizareagrafului de conexiune, dar difera criteriile de optimizare s, i principiile procesului de cooperare.Dezavantajul solut, iei propuse este cantitatea ridicata de procesare, care limiteaza aplicabilitateaın medii dinamice, aceasta fiind propusa pentru ret,ele fara fir nomadice cu mobilitate redusa.

Arhitectura de ret,ea considerata este una celulara care implementeaza cooperare de tip MSMR.Nodurile releu (RN) se pot aloca unui singur sau mai multor terminale (UT) s, i implementeazacooperare bazata pe NC ın transmisia uplink. In funct, ie de alocarea UT-RN pot fi identificateuna sau mai multe clustere de cooperare MSMR, sau cateva clustere de cooperare multi-sursaun-releu (MS1R), care implementeaza independent operat, iile NC. Modelul clusterului presupuneca terminalele au legaturi directe la stat, ia de baza (BS) [69].

Clusterele de cooperare sunt descrise de grafuri bipartite s, i de structurile necesare pentruaceasta reprezentare. Reprezentarea prin grafuri, Figura 5.1, este foarte convenabila pentru aevident, ia procesarile implicate s, i pentru a analiza performant,ele clusterului de cooperare.

Legaturile RNi - UTj stabilite ın cluster sunt definite de graful de conexiuni, care cont, ine douaseturi: setul nodurilor U , U = {UT1, . . . , UTNu}, s, i setul nodurilor R, R = {RN1, . . . , RNNr},unde Nu este numarul de terminale s, i Nr este numarul de relee din cluster. Doua echipamente seconsidera conectate daca BLER-ul pe legatura lor este sub o anumita limita [70].

60

UT1 UT2 UTk UTNu

Cluster C

RN1 RNi RNNr

Leg<tur< RN-BS

Leg<tur< UT-RN

Leg<tur< UT-BS

Sta―ie de baz< (BS)

Terminal (UT)

Releu (RN)Clus

ter A

Cluster B

Figura 5.1: Ret,ea celulara cooperativa

UT 1 UT NuUT3UT2 RN1 RN2 RNNr

Noduri T

Noduri B

B1 BNrB2

Leg<tur< UT-BS

Leg<tur< RN-BS

Figura 5.2: Graful de cooperare

O reprezentare matriciala A[Nr × Nu] a grafului bipartit se poate folosi pentru indicarealegaturilor dintre nodurile U s, i nodurile R, iar elementele matricii sunt definite ca [71][72]:

A[j, i] =

{1 , daca RNj s, i UTi sunt conectate

0 , daca RNj s, i UTi nu sunt conectate(5.1)

Graful de conexiune arata cine cu cine coopereaza s, i modeleaza comunicarea s, i procesarile pelegaturile UTi - RNj. Pentru fiecare releu apart, inand setului R, se defines,te un set de terminalevecine din setul U , notat cu nRj, care indica care terminale sunt deservite de releul j. De asemenea,pentru fiecare terminal se defines,te setul de noduri releu vecine din setul R, notat cu nUi, careindica care noduri releu ajuta terminalul i [68].

nRj = UTi|A[j, i] = 1, i = 1, Nu;nUi = RNj|A[j, i] = 1, j = 1, Nr (5.2)

Comunicarea s, i procesarile UTi - BS s, i RNj - BS sunt modelate de graful de cooperareprezentat ın Figura 5.2. Setul de noduri T , T = {T1, . . . , Ti, . . . , TNu+Nr}, al grafului de cooperareinclude toate nodurile care au legatura directa la stat, ia de baza, T = U∪R, daca toate terminaleleincluse ın ”cluster” sunt conectate la cel put, in un releu. Nodurile B, B = {B1, . . . , BNr}, alegrafului de cooperare indica grupurile de noduri T care sunt procesate ımpreuna s, i procesarile caretrebuie realizate de decodorul clusterului situat ın stat, ia de baza. Un nod B poate reprezenta unsistem de ecuat, ii care implica blocurile de informat, ie generate de terminal s, i blocurile de controlgenerate de releele din cluster. Matricea grafului extins A′ devine A′[A|I] unde I este matriceaidentitate [Nr ×Nr].

Similar cu graful de conexiune se pot defini seturile de vecini nBj s, i nTi [68]:

nBj = Ti|A′[j, i] = 1, i = 1, Nu +Nr;nTi = Bj|A′[j, i] = 1, j = 1, Nr (5.3)

Toate legaturile directe UTi - BS s, i legaturile RNj - BS sunt afectate de fading Rayleighs, i zgomot alb gaussian (AWGN). Pentru fiecare dintre aceste legaturi ies, irea canalului yi pentru

61

es,antionul de intrare i este data de relat, ia: yi = hixi + ni, unde xi ∈ −1, 1 reprezinta intrareacanalului, hi este coeficientul canalului conform distribut, iei Rayleigh, constant pe durata unuibloc de date s, i constrans de condit, ia E(h2

i ) = 1, iar ni este zgomotul cu distribut, ia normala avand

media 0 s, i deviat, ia σ =√

10SNR/10, unde SNR este raportul semnal zgomot exprimat ın dB. Sepresupune ca legaturile UTi - RNj sunt canale cvasiideale din punctul de vedere al parametruluiBLER [70] [71]. Se impune o constrangere asupra puterii de transmitere totale din cluster [68]:∑

UT∈U

Pt,UT +∑RN∈R

Pt,RN︸ ︷︷ ︸cooperare

=∑UT∈U

Pt,UT︸ ︷︷ ︸fara cooperare

(5.4)

unde Pt,UT este puterea de transmisie a unui terminal, iar Pt,RN este puterea de transmisie aunui releu.

Principiul de baza a protocoalelor de cooperare bazate pe NC ın clusterele de cooperare MSMRconsta din generarea de catre releu a unor blocuri de control adit, ionale ce sunt trimise la stat, iade baza, s, i care sunt folosite de catre aceasta pentru recuperarea blocurilor eronate primite de laterminale pe legaturile directe. Acest protocol este suportat de schema de cooperare clasica ındoua faze, adica faza de broadcast cand utilizatorii trimit blocurile la releu s, i la stat, ia de baza, s, ifaza de transmisie prin relee cand nodurile releu trimit blocurile adit, ionale la stat, ia de baza.

Schema de cooperare codata propusa pentru topologii de cooperare MSMR implica doua nivelede codare [70] [71]:

1. Primul nivel este reprezentat de codul de canal prezent pe fiecare dintre legaturile clusteruluide cooperare, care genereaza cuvinte de cod de lungime Nci bit, i ın faza de broadcast. Codul decanal folosit de terminal trebuie sa asigure (cel put, in teoretic) legaturi UTi - RN fara erori. Acestnivel de codare trebuie sa mai asigure s, i un mecanism de detect, ie a erorilor, de exemplu CRC(Cyclic Redundancy Check), care transforma legaturile UTi - BS s, i RNj - BS ın BLEC (BlockErasure Channel). Probabilitat, ile de s,tergere ale BLEC sunt egale cu BLER-ul asigurat de codulde canal, s, i se presupune ca se afla sub un anumit prag, BLERth. Daca nu se specifica altcumva,se presupune ca acest prag este identic pentru toate legaturile care conecteaza membrii clusteruluila stat, ia de baza [68].

BLERUT1−BS = . . . = BLERUTNu−BS = BLERRN1−BS = . . . = BLERRNNr−BS = BLERth

(5.5)2. Al doilea nivel de codare este reprezentat de codul de ret,ea (sau cluster) s, i este realizat

la releu. Codarea de ret,ea este realizata numai asupra bit, ilor de informat, ie trimis, i de catreterminalele conectate la acel releu. Lungimea blocurilor de informat, ie recept, ionate de la terminaletrebuie sa aiba aceeas, i lungime la intrarea codorului de ret,ea, blocurile de lungime mai mica fiindcompletate cu zerouri.

Fiecare releu genereaza unul sau mai multe blocuri de control prin codarea de ret,ea a unuisimbol din toate blocurile de date ale terminalelor care sunt disponibile ın releu ın aceea perioadade simbol. Aceste blocuri de control sunt codate cu codul de canal s, i trimise pe legaturile RNj -BS. Principiile de codare s, i decodare a codului de cluster sunt prezentate ın Figura 5.3.

Se folosesc coduri XOR la nodurile releu care act, ioneaza ca s, i coduri de “cluster“. Fiecarereleu calculeaza blocul de control (un bloc de control pe o perioada de bloc de date) prin operat, iaXOR asupra bit, ilor de informat, ie primit, i de la terminalele vecine, UTi ∈ nRj.

RNj check block =UT∈nRjXOR UT data block (5.6)

La stat, ia de baza decodorul de ret,ea va ıncerca sa recupereze blocurile de date eronate primitede la terminale pe legaturile UTi - BS folosind blocurile de control primite de la nodurile releu.Blocurile de date eronate sunt marcate de catre mecanismul de detect, ie de erori (CRC) folosit laprimul nivel de codare, iar codul de ret,ea considera legaturile ca fiind seturi de BLEC paralele.

62

Cuvânt de cod de

canal sistematic

RN-BS

Codor

de canal

Codor

de re―ea

Bi―i informa―ie UT1

Bi―i informa―ie UT2

Bi―i informa―ie UTNu

Decodor

de canal

Cuvânt de cod de canal

sistematic UT1-RN

Cuvânt de cod de canal

sistematic UT2-RN

Cuvânt de cod de canal

sistematic UTNu-RN

Bi―i NC

Decodor

de canal

Decodor

de canal

Figura 5.3: Principiul de codare al codului de cluster

Decodor de

canal UT1

Decodor de

canal UTNu

Decodor de

canal RN1

Decodor de

canal RNNr

Detec―ie erori CRC

Detec―ie erori CRC

Detec―ie erori CRC

Detec―ie erori CRC

ACK

ACK

ACK

ACK

NACK

NACK

NACK

NACK

Decodor

de re―eaGraf de

decodare

Date UT1

Date UT2

Date UTNu

Figura 5.4: Decodarea codului de cluster la stat, ia de baza

63

Decodorul de ret,ea foloses,te algoritmul ”belief propagation”, ın mod similar cu cel folositpentru canale cu s,tergeri binare (Binary Erasure Channel, BEC). Inainte de decodarea de ret,ea,lungimea blocurilor de date este egalizata din nou prin completare cu zerouri. Procesul de decodarepoate fi descompus ın pas, ii urmatori [70] [71] [72]:

Pas 1: Se init, iaza toate nodurile B cu blocurile de control recept, ionate corect de la nodurilereleu corespunzatoare (un releu corespunde unui nod B). Daca exista blocuri de control eronatepe durata unui cadru, nodurile B corespunzatoare acestor blocuri sunt ınlaturate din graful decooperare ımpreuna cu toate legaturile lor, pe durata acelui cadru. Daca graful de conexiunecont, ine noduri T de grad 0, s, i aceste noduri sunt ınlaturate din graful de cooperare pe durataacelui cadru.

Pas 2: pentru fiecare nod Ti ∈ U , se verifica daca blocul de date este decodat corect dedecodorul de canal din stat, ia de baza. Daca da, este realizata operat, ia XOR ıntre blocul de dates, i blocurile de date stocate ın toate nodurile Bj ∈ nTi adiacente. Dupa aceasta operat, ie, nodul Tieste ınlaturat din graful de cooperare cu toate legaturile care pornesc din acest nod.

Pas 3: Pentru fiecare nod Bj ∈ B de gradul 1, blocurile de date sunt transferate la vecinulunic Ti ∈ nBj, s, i nodul Ti este marcat fiind recuperat corect. Algoritmul se reia de la pasul 2 s, ise continua pana cand nu mai exista nici un nod B de gradul 1.

Se folosesc doua metrici [70] pentru evaluarea protocolului de cooperare codata: Poutageprobabilitatea de “outage“ a decodorului de ret,ea s, i BLERNC−UTi rata de eroare pe bloc afiecarui UTi, i = 1, Nu, asigurat dupa decodarea de ret,ea.

”Stopping set”-urile sunt structuri care nu se pot recupera peste BEC de catre un algoritm dedecodare bazat pe principul “belief propagation“. Se pot defini structuri similare s, i pentru codurilede ret,ea bazate pe XOR peste BLEC paralele s, i independente. Aceste structuri se numesc seturide “outage“, s, i sunt definite ca fiind un subset S a nodurilor T , ın care toate nodurile B vecinenodurilor T care apart, in setului S sunt conectate la S de cel put, in doua ori. Familia de seturi de”outage” poate fi exprimata ca fiind [68]:

OS =

{os ∈ P (T )

∣∣∣∣∣∣∣∣∣{Bk ∈ B

∣∣ ∑tq∈OS

A′[k, q] = 1}∣∣∣∣ = 0

}(5.7)

unde P (T ) este setul de putere al T .Evenimentele de “outage“ sunt generate de seturile de “outage“, deci probabilitatea de

“outage“ se poate calcula ınsumand probabilitat, ile de aparit, ie a tuturor seturilor de ”outage”, s, ipoate fi exprimat ca [68]:

Poutage =∑os∈OS

∏tq∈os

BLERtq−BS ·∏

tq∈T\os

(1−BLERtq−BS)

(5.8)

unde tq ∈ T este un terminal sau un releu.Daca se presupune ca, codul de canal asigura acelas, i BLER, mai mic sau egal cu BLERth, pe

fiecare legatura care se termina ın stat, ia de baza, atunci probabilitatea de “outage“ este limitatasuperior de [68]:

Poutage ≤Nu+Nr∑k=2

(|OS(k)| ·BLERk

th · (1−BLERth)Nu+Nr−k

)(5.9)

unde OS(k) reprezinta familia seturilor de outage de lungime k.Alternativ, probabilitatea de ”outage” poate fi calculata ca fiind probabilitatea sa existe k

blocuri eronate care formeaza un set de ”outage”. Aceasta abordare ar permite calcularea corectaa Poutage numai daca legaturile UTi - BS s, i RNj - BS ar avea acelas, i BLER. In aceasta abordareprobabilitatea de “outage“ se poate exprima ca [68]:

64

UT1

RN1

Graful iniYial de conexiuni G(V,E) Graful final de cooperare G’(V,E’)

RN2 RN3

UT2 UT3 UT4 UT5 UT6

Procesul de

optimizare

UT1 UT2 UT3 UT4 UT5 UT6

RN1 RN2 RN3

Figura 5.5: Procesul de optimizare a clusterului de cooperare

Poutage =Nu+Nr∑k=2

P kOS · pk−err (5.10)

unde P kOS este probabilitatea de a avea seturi de ”outage” de lungime k, corespunzatoare

grafului de cooperare, iar pk−err este probabilitatea de a avea k blocuri eronate, care este calculataın modul urmator [68]:

pk−err =∑

T ′∈T (k)

∏tq∈T ′

BLERtq−BS ·∏

tq∈T\T ′(1−BLERtq−BS)

(5.11)

unde T (k) reprezinta subseturile de dimensiune k a setului T .Probabilitatea de aparit, ie a seturilor de “outage“ de dimensiune k nu este aceeas, i pentru

toate seturile de “outage“ de aceasta lungime, datorita calitat, ilor diferite ale legaturilor implicate.Pentru simplificare se considera ca probabilitat, ile de aparit, ie a seturilor de ”outage” de lungimek sunt egale s, i se poate calcula folosind relat, ia [68]:

P kOS =

|OS(k)|(Nu +Nr

k

) (5.12)

Pentru a determina rata de eroare pe bloc a fiecarui terminal deservit de clusterul de cooperare,trebuie gasite tiparele de erori care cauzeaza es,ecul decodorului ın recuperarea blocurilor de datetrimise de terminale. O asemenea structura se numes,te set de “outage“ extins (eos) iar familiaacestor structuri EOSUTi pentru un UTi dat este definita ca [68]:

EOSUTi = {eos ∈ P (T )|UTi ∈ eos, ∃os ⊆ eos, os ∈ OS,UTi ∈ os} (5.13)

Rata de eroare pe bloc obt, inut pentru fiecare UTi dupa decodorul de ”cluster”, BLERNC−UTi ,se poate calcula fiind probabilitatea de aparit, ie a unui tipar de eroare care este un set de “outage“extins pentru acel UTi, s, i are expresia [68]:

BLERNC−UTi =∑

eos∈EOSUTi

∏tq∈eos

BLERtq−BS ·∏

tq∈T\eos

(1−BLERtq−BS)

(5.14)

Structurarea clusterului de cooperare se realizeaza ın doua faze: faza de select, ie init, iala s, i fazade optimizare. Figura 5.5 prezinta procesul de optimizare al clusterului de cooperare.

Prima faza consta din select, ia init, iala, care aloca la fiecare terminal nodurile releu careındeplinesc anumite condit, ii, de exemplu legatura UTi - RNj este cvasiideala din punctul devedere al BLER, iar valoarea parametrului BLERRNj−BS este mai mica decat o valoare de pragimpusa. Aceasta faza va oferi un graf de conexiune init, ial G′(V ′, E ′), unde V ′ este setul de

65

noduri, V ′ = T , iar E ′ este setul de legaturi, care este compus din toate legaturile UTi - RNj

selectate.Faza a doua a algoritmului modifica graful de conexiune init, ial ın funct, ie de criteriul de

optimizare, ıncercand sa ımbunatat,easca performant,ele transmisiilor UTi - BS sau/s, iperformant,ele globale ale clusterului de cooperare, cum ar fi BLER-ul maxim asigurat unuiterminal sau probabilitatea de ”outage” maxima pentru ıntregul ”cluster” de cooperare. GrafulG′ generat de prima faza va fi unul dens, deoarece setul legaturilor E ′ include toate legaturileUTi - RNj selectate init, ial. Teoria codurilor bazate pe grafuri arata ca grafurile dense genereazacoduri de performant,e scazute, datorita buclelor scurte ce pot sa apara ın graf. Performant,elecodului de “cluster“ pot fi ımbunatat, ite prin optimizarea ın faza a doua algoritmului, dupa carese obt, ine un graf rar. Procesul de optimizare genereaza un subgraf G(V,E) al grafului init, ialG′(V ′, E ′) avand acelas, i numar de noduri, V = V ′, dar mai put, ine legaturi [69].

Pas, ii realizat, i ın cele doua faze ale construirii clusterului de cooperare sunt:

1. Faza de select, ie init, iala

[a] R′′ este setul de noduri releu disponibile ıntr-o celula, sau ıntr-un sector al celulei.Se selecteaza un subset de noduri releu R′ = {RN1, . . . , RNN ′r} ⊂ R′′ a carui elementesatisfac condit, ia: BLERRNj−BS ≤ BLERth−r, j = 1, N ′r, unde BLERth−r este o valoare deprag ce trebuie aleasa ın mod potrivit pentru a permite performant,e bune ale clusterului decooperare.

[b] U ′ este setul de terminale localizate ıntr-o celula, sau ıntr-un sector al celulei. Seselecteaza un subset de terminale U = {UT1, . . . , UTNu} ⊂ U ′ al carui elemente satisfacurmatoarele condit, ii: BLERUTi−RNk−i

≤ BLERth−u, i = 1, Nu, RNk−i ∈ R′, k− i ∈ {ak−i},unde {ak−i} este un set de indici Nk−i care nu este gol, 1 ≤ Nk−i ≤ N ′r. Prin impunereaBLERth−u → 0 aceasta condit, ie va selecta pentru cooperare toate terminalele care aulegaturi “quasi-error free“ la cel put, in unul dintre nodurile releu selectate init, ial, s, i va alocapentru fiecare terminal numai nodurile releu care satisfac condit, iile ment, ionate anterior.Daca toate seturile {ak−i} sunt goale, select, ia init, iala nu se poate realiza s, i algoritmul setermina.

[c] Se selecteaza setul final de noduri releu implicate ın cooperare,R = {RNb1 , . . . , RNbNr

} ∈ R′ al carui elemente satisfac condit, ia adit, ionala: |nRj| ≥ 2 ,RNj ∈ R′, j ∈ {bk} unde {bk} este un set de indici Nr care nu este gol, 1 ≤ Nr ≤ N ′r.Aceasta condit, ie impune un numar minim de terminale la care se poate aloca un releu.Daca {bk} este gol procesul de select, ie init, iala nu se poate finaliza s, i algoritmul se termina.Nodurile releu RNj care au |nRj| = 1 nu vor fi incluse ın clusterul de cooperare, deoarecenu permit folosirea codurilor de ret,ea. Aceste noduri pot implementate scheme decooperare 1S1R ın afara clusterului de cooperare, pentru terminalele la care sunt alocate[69].

2. Faza de optimizare a clusterului

Aceasta faza ınlatura anumite legaturi UTi - RNj din graful de conexiuni construit init, ial,pentru a face graful clusterului mai rar, s, i are ca s, i scop reducerea BLER-ului asigurat decodul de cluster pentru fiecare terminal deservit s, i/sau reducerea probabilitat, ii de ”outage”a clusterului. Legaturile sunt eliminate ın funct, ie de criteriile de optimizare predefinite.Aceste criterii de optimizare sunt urmatoarele:

[a] Criteriul a (C-a): are scopul de a minimiza BLER-ul asigurat pentru oricare dintreconexiunile UTi - BS dupa decodarea de cluster, BLERNC−UTi , impunand ca fiecarevaloare BLERNC−UTi trebuie sa fie mai mica sau egala cu valorile BLER asigurate degraful de conexiune init, ial, BLER′NC−UTi . Aceste cerint,e trebuie sa fie satisfacute pentrufiecare terminal implicat ın cooperare, adica terminalele selectate ın prima faza. Criteriulde optimizare se poate exprima ca [69]:

66

minimize maxi=1,NuBLERNC−UTi

subject to |V | = Nu +Nr

thi ≤ |nRj| ≤ thsBLERNC−UTi ≤ BLER′NC−UTi , i = 1, Nu

(5.15)

unde Nu s, i Nr sunt numarul de terminale s, i de relee care apart, in clusterului de cooperare,V este setul de legaturi al grafului optimizat, iar thi s, i ths reprezinta pragurile inferioare s, isuperioare ale gradului unui releu. Limita inferioara, thi ≥ 2, este impusa pentru a implicafiecare releu ın schema de cooperare care permite codarea NC, iar limita superioara, ths < 5,este impusa pentru a genera un graf de conexiuni rar.

[b] Criteriul b (C-b): este similar cu primul criteriu, avand scopul de a minimizaBLERNC−UTi pentru toate terminalele, dar nu impune nici o condit, ie asupra valorii BLERfinale pentru fiecare terminal. Din acest motiv, acest criteriu nu garanteaza reducereavalorii BLERNC−UTi pentru toate terminalele dupa finalizarea optimizarii. Avand ınvedere numarul mai redus de constrangeri, acest criteriu poate oferi solut, ie pentruproblema de optimizare s, i cand C-a nu poate. Acest criteriu poate fi exprimat prin:

minimize maxi=1,NuBLERNC−UTi

subject to |V | = Nu +Nr

thi ≤ |nRj| ≤ ths

(5.16)

[c] Criteriul c (C-c): are scopul de a minimiza probabilitatea de “outage“ a decodorului deret,ea, presupunand ca toate nodurile selectate init, ial sunt implicate ın cooperare s, i impunandun interval predefinit pentru gradul nodurilor releu, |nRj|. Pentru terminale nu se impuncondit, ii separate. Acest criteriu este exprimat prin:

minimize Poutagesubject to |V | = Nu +Nr

thi ≤ |nRj| ≤ ths

(5.17)

Optimizarea clusterului de cooperare bazat pe NC a fost realizata folosind algoritmi geneticidescris, i ın capitolul precedent s, i criteriile de optimizare definite anterior. Algoritmul genetic folositpentru optimizare ın cazul acesta este prezentat ın Figura 5.6.

1 Reprezentarea cromozomilor: fiecare cromozom reprezinta un subgraf G(V,E) al grafuluide conexiune init, ial G′(V,E), fiecare subgraf avand numar egal de noduri, V = V ′ = T . Uncromozom este reprezentat de un s, ir de simboluri de 0 s, i 1, obt, inut, i prin concatenarea randurilormatricii A[j, i] asociata cu graful init, ial G′ sau cu un subgraf G. Lungimea unui cromozom m esteacelas, i pentru fiecare subgraf s, i este definita de relat, ia: m = |U | · |R| = Nu ·Nr.

2 Init, ializarea populat, iei: dimensiunea populat, iei init, iale este de N cromozomi. Primulcromozom al populat, iei init, iale reprezinta graful init, ial de conexiune G′(V ′, E ′), restulcromozomilor ce reprezinta subgrafurile G(V,E) fiind generate aleator.

3 Preselect, ie: numai subgrafurile care satisfac condit, ia thi ≤ |nRj| ≤ ths sunt evaluate.Aceasta condit, ie asigura “raritatea“ grafului de conexiune optimizat G(V,E) s, i reducecomplexitatea computat, ionala a procesului de optimizare.

4 Fezabilitatea cromozomilor: cromozomii care satisfac condit, ia de preselect, ie s, i alte condit, iiimpuse (daca exista) se considera fezabile. Daca se foloses,te criteriul de optimizare C-a esteimpusa o condit, ie adit, ionala, s, i anume [69]:

BLERx−NC−UTi ≤ BLERX−NC−UTi ,∀i = 1, Nu (5.18)

unde BLERx−NC−UTi este rata de erori pe bloc a UTi obt, inuta dupa decodarea NC pe bazasubgrafului de conexiune asociat cu cromozomul x, iar BLERX−NC−UTi este rata de eroare pe

67

Graful iniYial &

Parametrii AG

Generarea aleatoare

a populaYiei iniYiale

Evaluarea populaYiei iniYiale

While ! Nr. max. de

generaYii

SelecYie aleatoare Încrucişare într-un

singur punct

MutaYie binar<

SelecYia celui mai bun cromozom

PreselecYieEvaluarea

populaYiei

Cel mai bun

cromozom şi valoarea fitness

Figura 5.6: Algoritmul genetic folosit pentru optimizarea grafului de cooperare

bloc a UTi obt, inuta dupa decodarea NC pe baza grafului de conexiune init, ial G′(V ′, E ′) asociatcu cromozomul X.

5 Evaluarea funct, iei “fitness“: valoarea funct, iei “fitness“ este calculata pentru fiecarecromozom x. Funct, ia “fitness“ depinde de criteriul de optimizare folosit, de aceea se consideraurmatoarele funct, ii ”fitness” f(x) specifice celor trei criterii de optimizare.

Pentru C-a s, i C-b funct, ia ”fitness” este definita de:

fa,b(x) =

{max(BLERx−NC−UTi), i = 1, Nu daca x fezabil

∞ altfel(5.19)

unde BLERx−NC−UTi este probabilitatea de eroare pe bloc asigurat pentru UTi de catredecodorul NC peste subgraful asociat cu cromozomul x.

Pentru criteriul de optimizare C-c, funct, ia “fitness” este:

fc(x) =

{max(Poutage−x) daca x fezabil

∞ altfel(5.20)

unde Poutage−x reprezinta probabilitatea de ”outage” a decodorului NC care opereaza pestesubgraful asociat cu cromozomul x [69].

6 Evaluarea populat, iei: consta ın calcularea valorilor “fitness“ pentru fiecare cromozom fezabildin populat, ie.

7 Select, ie: implica selectarea aleatoare a P cromozomi din populat, ia curenta, unde P estepresiunea de select, ie. Dintre cei P cromozomi selectat, i, cel cu valoarea ”fitness” cea mai bunaeste pastrat pentru generat, ia urmatoare. Procesul de select, ie este repetat pana se obt, ine nouapopulat, ie de N cromozomi.

8 Incrucis,are: doi cromozomi ales, i aleator din populat, ia curenta vor realiza ıncrucis,area cusingur punct de rupere, prin interschimbarea un numar aleator de gene. Numarul total deıncrucis, ari din populat, ie depinde de probabilitatea de ıncrucis,are.

9 Mutat, ie: dupa ıncrucis,are, cromozomii din noua populat, ie vor suferi de mutat, ia binara.Cromozomii vor modifica valorile unor gene alese aleator, iar numarul total de mutat, ii dinpopulat, ie depinde de probabilitatea de mutat, ie.

68

10-2 10-1 10010-4

10-3

10-2

10-1

100

BLERth

Pou

tage

EstimareSimulare

Figura 5.7: Performant,ele Poutage vs. BLERth obt, inute prin evaluare teoretica s, i simulari [68]

10 Criteriul de terminare: algoritmul genetic se opres,te cand un numar maxim de generat, iipredefinit Ng este atins.

11 Select, ia celui mai bun cromozom: cei mai buni cromozomi din fiecare iterat, ie sunt stocat, iımpreuna cu valorile lor “fitness“. Aceasta operat, ie va furniza un set de cromozomi care au celemai mici valori “fitness“ din toate generat, iile, dintre care este selectat cel cu valoarea “fitness“minima. Daca dupa cele Ng generat, ii exista mai mult, i cromozomi cu aceeas, i valoare minima afunct, iei ”fitness”, atunci ei sunt supus, i unui proces de postselect, ie, care alege numai unul dintreei. Criteriul de postselect, ie este: mean(BLERNC−UTi), i = 1, Nu are valoare minima [69].

Pentru validare se considera un cluster de cooperare format din 8 terminale s, i 4 releecaracterizate de aceeas, i valoare BLER pe fiecare legatura UTi - BS s, i RNj - BS, egala cuBLERth, iar legaturile UTi - RNj au fost cosiderate fara erori [70] [71]. Graful de conexiune estedescris de matricea de adiacent, a, ın care valoarea 1 indica faptul ca UTi (indice coloana) esteconectat la RNj (indice rand), iar valoarea 0 indica lipsa unei conexiuni ıntre UTi - RNj:

A =

1 1 1 1 1 0 1 10 1 1 1 1 1 1 01 0 1 1 1 1 1 01 0 0 1 1 1 1 1

(5.21)

Figura 5.7 compara valorile probabilitat, ii de outage ın funct, ie de BLERth, obt, inute prin calcules, i simulari. Rezultatele arata o potrivire foarte buna ıntre valorile obt, inute prin simulari s, i valorilecalculate teoretic. Poutage scade cu scaderea valorii de prag BLERth impusa legaturilor din cluster[70].

Eficacitatea algoritmilor de optimizare care folosesc algoritmi genetici s, i cele trei criterii deoptimizare, respectiv funct, iile fitness definite mai sus a fost evaluata prin calitatea grafului deconexiune obt, inut. Aceasta calitate se bazeaza pe compararea performant,elor Poutage s, iBLERNC−UTi asigurate de protocolul de cooperare pe baza NC implementat ın graful optimizatcu performant,ele asigurate de acelas, i protocol ın graful neoptimizat.

Evaluarea performant,elor a avut loc ın urmatoarele condit, ii: BLERUTi−BS = BLERRNj−BS =

BLERth, BLERUTi−RNj= BLERth−u, i = 1, Nu, j = 1, Nr. Valoarea BLERth a fost stabilita

la 0.1, valoare ce este folosita de mai multe standarde de comunicat, ii wireless, fiind valoareamaxima permisa a ratei de eroare de cadru MAC. Valoarea BLERth−u a fost aproximata cafiind 0. Numarul de iterat, ii al algoritmului este stabilit la 20, presiunea de select, ie este P = 4,iar populat, ia init, iala este formata din 100 de cromozomi, aces,ti parametri oferind solut, ie pentrumajoritatea grafurilor de conexiune analizate. Reducerea numarului de cromozomi din populat, ie ar

69

afecta semnificativ performant,ele algoritmului genetic, deoarece ıntr-o populat, ie mica (de exemplu10 cromozomi) este ridicata probabilitatea sa nu existe nici un cromozom fezabil [69].

Graful init, ial de conexiune este graful complet 5.22 sau graful descris de 5.23. Rezultateleoptimizarii folosind cele trei criterii de optimizare sunt prezentate ın (5.22) s, i Figura 5.8 pentrugraful init, ial complet s, i ın (5.23 s, i Figura 5.9, pentru graful init, ial definit de ecuat, ia 5.23. Relat, iileprezinta grafurile de conexiune init, iale s, i cele optimizate, s, i valorile Poutage, iar figurile prezintavalorile BLERNC−UTi ale utilizatorilor.

Simularile au aratat ca primul criteriu, C-a, nu ofera tot timpul un graf optimizat care poateasigura totdeauna pentru toate UT-urile din cluster BLERNC−UTi mai mic decat valorile asiguratede graful init, ial din cauza condit, iei adit, ionale fat, a de criteriul C-b. Rezultatele arata ca toatecriteriile de optimizare, inclusiv C-a cand are solut, ie, conduc la scaderea probabilitat, ii de outage.

initial optimizat C − a

A =

1 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 1

A =

0 1 1 1 0 1 0 00 1 0 0 0 1 0 11 1 0 1 0 0 1 00 0 0 1 1 1 1 0

BLERth = 0.1Poutage = 0.1869BLERav = 0.0522

Poutage = 0.0217BLERav = 0.0083

optimizat C − b optimizat C − c

A =

1 1 0 1 1 0 0 01 1 0 0 1 0 1 00 1 0 0 0 1 0 10 1 1 1 0 0 0 1

A =

1 0 0 1 0 0 1 10 1 1 1 0 0 1 00 1 0 0 1 1 0 10 0 1 1 0 1 0 0

Poutage = 0.0239BLERav = 0.0098

Poutage = 0.0175BLERav = 0.0073

(5.22)

initial optimizat C − a

A =

1 1 1 1 1 0 1 10 1 1 1 1 1 1 01 0 1 1 1 1 1 01 0 0 1 1 1 1 1

A =

1 1 0 0 0 0 0 10 1 1 0 1 0 1 01 0 0 1 0 1 1 00 0 0 1 1 0 1 1

BLERth = 0.1Poutage = 0.0526BLERav = 0.0177

Poutage = 0.0173BLERav = 0.0072

optimizat C − b optimizat C − c

A =

1 1 0 1 0 0 0 10 1 0 1 1 0 1 01 0 1 0 1 0 1 00 0 0 1 1 1 0 1

A =

0 1 0 1 1 0 1 00 1 1 0 0 0 1 01 0 1 1 0 1 0 01 0 0 0 1 0 1 1

Poutage = 0.0176BLERav = 0.0073

Poutage = 0.0175BLERav = 0.0073

(5.23)

Rezultatele din Figura 5.8 s, i Figura 5.9 arata ca primul criteriu de optimizare, C-a, cand aresolut, ie, ofera tot timpul BLERNC−UTi < BLER′NC−UTi (asigurate de graful init, ial) pentru toateterminalele din cluster, datorita condit, iei adit, ionale impuse. Criteriile de optimizare C-b s, i C-casigura condit, ia BLERNC−UTi < BLER′NC−UTi pentru majoritatea terminalelor, dar nu pentrutot, i, ın funct, ie de structura grafurilor init, iale s, i cele optimizate. Totus, i, ambele criterii asigurascaderea BLER-ului mediu pe utilizator, BLERav, calculat pentru toate terminalele din cluster.

Pentru toate criteriile de optimizare, numarul de legaturi UTi - RNj incluse ın graful deconexiune optimizat scade semnificativ, pana la 40-50% fat, a de graful init, ial, ceea ce ınseamna ca

70

0

0.01

0.02

0.03

0.04

0.05

0.06

1 2 3 4 5 6 7 8

Org

P-a

P-b

P-c

BLERNC

Figura 5.8: Performant,ele Poutage vs. BLERth obt, inute prin evaluare teoretica s, i simulari

0

0.005

0.01

0.015

0.02

0.025

0.03

1 2 3 4 5 6 7 8

Org

P-a

P-b

P-c

Figura 5.9: Performant,ele Poutage vs. BLERth obt, inute prin evaluare teoretica s, i simulari

graful de conexiune optimizat este mai rar decat cel init, ial. Pe langa ımbunatat, irea peformant,elor,este simplificata managementul resurselor timp-frecvent, a s, i putere ale clusterului de cooperare.

Simularile efectuate au aratat ca cres,terea numarului de generat, ii, Ng, peste 25 s, i cres,tereadimensiunii populat, iei N peste 100 nu aduce o ımbunatat, ire a performant,elor care ar justificacres,terea complexitat, ii computat, ionale.

Valorile BLERNC−UTi furnizate de cele trei criterii de optimizare sunt apropiate, s, i depindde graful init, ial de conexiune, de aceea daca nu sunt impuse cerint,e suplimentare, se recomandafolosirea criteriilor C-b sau C-c, deoarece acestea necesita putere de calcul mai redusa.

5.2 Tehnici de codare de ret,ea bazate pe coduri Reed-

Solomon

Dezvoltarea intensiva a tehnologiilor wireless ın ultimii ani a permis integrarea lor ın sistemeautomate, ın sisteme de securitate, ın agricultura s, i ın aplicat, ii industriale care necesita detect, iaunei serie de parametrii [73]. Ret,elele de senzori wireless (WSN) ofera o flexibilitate ridicataprocesului de detect, ie, dar au o serie de cerint,e impuse de catre aplicat, ii, cele mai importantefiind consumul de putere redus s, i costurile reduse [73]. Sistemele de control industrial impuncerint,e stricte ın ceea ce prives,te calitatea transmisiei, sincronizarea nodurilor s, i securitatea ınret,elele de senzori [74]. Aceste ret,ele trebuie sa ındeplineasca s, i constrangerile date de ıntarzierilemaxime permise [75]. Pentru a satisface aceste cerint,e ret,elele de senzori industriale utilizeazasincronizare s, i algoritmi de alocare a resurselor centralizate, s, i tehnici de diversitate a cailor ınprocesul de rutare s, i diversitate ın frecvent, a ın procesul de transmisie ”wireless” [76].

Aspectele legate de calitatea serviciilor s, i de eficient,a energetica reprezinta o cerint, a foarteimportanta ın WSN industriale. Pentru rezolvarea problemelor enumerate au fost propuse solut, ii

71

Dispozitiv

Releu

Punct de acces

a)

b)

c)

Figura 5.10: a. Topologie de tip arbore cu nod releu b. Topologie de test 1 c. Topologie de test 2

bazate pe tehnici NC ın studiile teoretice existente. In [77] este propusa o tehnica NC care permitecodarea tuturor pachetelor capturate, reducand numarul de transmisii de date s, i consumul deputere, iar ın [78] s, i [79] au fost propuse tehnici NC pentru recuperarea erorilor. Aceste solut, ii aufost propuse pentru ret,ele de senzori subacvatice, dar pot fi aplicate s, i ın ret,ele de senzori wireless.

In acest capitol va fi prezentata adaptarea tehnicilor NC care se bazeaza pe coduri Reed-Solomon [80] pentru WSN cu topologie “cluster“ (grup), fiecare din acest “cluster“ fiind compusdintr-un numar relativ mic de noduri (20-25 de noduri). Aceste topologii sunt folosite ın aplicat, iiindustriale, ”cluster-ele” fiind conectate ıntre ele printr-o magistrala [81].

Sunt considerate topologii fixe de tip arbore, compuse dintr-un grup de noduri, avand aceeas, iradacina ıntr-un nod special, care are rolul unui punct de acces sau “gateway“. Acest nodconecteaza nodurile din diferite grupuri la magistrala sau la un controler central. In Figura5.10.a este prezentat un “cluster“ compus din nodurile care pot fi dispozitive de senzori sauroutere, s, i un nod releu care asculta toate transmisiile. Figura 5.10 prezinta de asemenea douatopologii particulare care au fost folosite pentru analiza performant,elor. Prima topologie de test,prezentata ın Figura 5.10.b reprezinta o topologie de tip arbore ın care fiecare nod are o singurafrunza, ın afara de radacina, cea mai importanta proprietate fiind: nl1 = nl2 = . . . = nlz , undenlk este numarul nodurilor aflate la nivelul (”hop”) k fat, a la radacina (nivelul 0), iar z estenumarul maxim de nivele. Figura 5.10.c prezinta o topologie arbore ın care fiecare nod are douafrunze, ın afara de radacina. Proprietatea cea mai importanta a acestei topologii este:nlz = 2nl(z−1)

= 4nl(z−2)= . . . = 2(z−1)nl1 .

Fiecare legatura este modelata ca fiind un canal cu s,tergeri la nivel de bloc (Block ErasureChannel, BLEC) caracterizat de parametrul BLER (Block Error Rate). S-au considerat douascenarii pentru distribut, ia BLER:

• Nu exista adaptarea legaturilor individuale: BLER-ul compus a fiecarei cai care conecteazanodurile la radacina este distribuit uniform ıntre BLERmin = 0.01 s, i BLERmax = w · 0.1.

• Exista adaptarea legaturilor individuale: BLER-ul are o distribut, ie uniforma ıntreBLERmin = 0.01 s, i BLERmax = 0.1 pe fiecare legatura.

Se presupune ca ret,eaua are un controler centralizat care realizeaza operat, iile de alocare aresurselor s, i de rutare ın toata ret,eaua. Acest element central controleaza de asemenea operat, iilede codare efectuate ın fiecare cluster. Se presupune ca transmisiile pe fiecare legatura sunt afectatede interferent, a de la alte sisteme de comunicat, ii [81].

72

S1,1 …

Bloc/pachet nod 1S1,2 S1,3 S1,t-1 S1,t

S2,1 S2,2 S2,3 S2,t-1 S2,t

Sk,1 Sk,2 Sk,3 Sk,t-1 Sk,t Bloc/pachet nod k

Bloc/pachet nod 2

Bloc/pachet de control mBloc/pachet de control 1

ck1,1 ck1,2 ck1,3 ck1,t-1 ck1,t ckm,1 ckm,2 ckm,3 ckm,t-1 ckm,t

Figura 5.11: Operat, iile de codare efectuate de nodul releu

Solut, ia NC propusa pentru tipurile de ret,ele prezentate urmares,te atingerea urmatoarelorobiective:

• Asigurarea unei scalabilitat, i ridicate;

• Asigurarea integrarii us,oare ale tehnicilor NC ın diferite WSN construite dupa modelul deret,ea descris anterior, dar avand caracteristici s, i moduri de operare diferite;

• Modificarea minimala a rutarii, a ”scheduling”-ului, a managementului de putere s, i a altoroperat, ii din ret,ea;

• Cres,terea calitat, ii transmisiei.

In scopul atingerii acestor obiective protocolul de transmisie pe baza NC propus funct, ioneazaın modul urmator: se foloses,te un singur nod releu ıntr-un cluster, care este echipat cu un receptormult mai sensibil s, i poate cu un emit, ator mai bun decat celelalte noduri din ret,ea. Releul estepozit, ionat astfel ıncat sa fie capabil de recept, ia s, i de decodarea tuturor transmisiilor efectuate denodurile din “cluster“ cu un anumit BLER. In Figura 5.10 cercurile reprezinta aria de acoperirea unor noduri care se intersecteaza cu aria de acoperire a nodurilor vecine. La intersect, ia arieide acoperire a tuturor nodurilor este pozit, ionat nodul releu. Releul (RN) realizeaza codareablocurilor/pachetelor decodate corect de catre decodorul de canal, recept, ionate de la noduriledin cluster. Releul genereaza una sau mai multe blocuri/pachete de control care sunt trimise lapunctul de acces al clusterului ın care va avea loc decodare. Numarul blocurilor/pachetelor decontrol este ales astfel ıncat dupa decodare sa fie atins un BLER t, inta s, i sa fie satisfacute cerint,elelegate de eficient,a transmisiei.

Sunt necesare modificari la nivelul punctului de acces (AP) care trebuie sa fie capabil dedecodarea pachetelor, s, i la controlerul de ret,ea care trebuie sa aloce resurse pentru legatura AP-RNs, i trebuie sa controleze procesul NC prin select, ia celui mai bun cod s, i prin activarea/dezactivareaoperat, iilor NC. La nivelul dispozitivelor de senzori nu este necesara nici o modificare, s, i nicialgoritmul de rutare nu trebuie schimbat.

Ca s, i coduri de ret,ea sunt folosite codurile MDS (Maximum Distance Separable), din aceastafamilie de coduri facand parte s, i codurile Reed-Solomon (RS). Solut, ia este similara cu cea propusaın [72] pentru o topologie stea cu un singur nivel (”hop”), specifica ret,elelor celulare. CodurileMDS au capabilitat, i ridicate de corect, ie a erorilor s, i a s,tergerilor s, i reprezinta o alegere foartebuna pentru un numar mic de noduri releu. Operat, iile de codare efectuate de nodul RN suntprezentate ın Figura 5.11.

Codorul care se afla ın nodul RN primes,te blocuri de lungime egala generate de cele unoduri/dispozitive din cluster, fiecare nod generand un singur bloc/pachet ıntr-o unitate detimp. Fiecare pachet este ımpart, it ın t simboluri din campul finit GF (2s), unde s este numarul

73

Dec. canal D1 Det. er.

DecodorRS

Selec―ie

Det. er.

Det. er.

Selec―ie

Selec―ie

… …

CRC nu OKCRC OK

Det. er.…

Det. er.…

Dec. canal D2

Dec. canal Du

Dec. canal 1

Dec. canal m

Dec. Canal = Decodor canal

Dx = Dispozitiv x

Chx = Pachet de control x

Det. Er. = Detec―ie de erori

Figura 5.12: Operat, iile de decodare efectuate de AP

de bit, i/simbol. Simbolurile din toate blocurile sunt codate prin select, ia unui singur simbol dinfiecare bloc la un moment de timp, fiind generate m blocuri de control, fiecare fiind compus din tsimboluri. Parametrii codului RS(n, k) ales trebuie sa satisfaca urmatoarele condit, ii: k ≥ u;n − k ≥ m. La fiecare moment de timp codorul proceseaza numai blocurile recept, ionate corectde la nodurile din cluster, dar numarul blocurilor de control ramane acelas, i. Se presupune cafiecare bloc de date s, i de control include un CRC (Cyclic Redundancy Check) care permiteidentificarea blocurilor recept, ionate corect.

Procesul de decodare realizat de nodul AP este prezentat ın Figura 5.12. Blocurile de date s, ide control generate de decodorul de canal sunt verificate folosind secvent,a CRC inclusa daca aufost decodate corect sau nu. Toate blocurile de date s, i de control decodate corect sunt aplicatedecodorului RS. In acelas, i timp blocurile decodate corect sunt trimise la unitat, ile de select, ie.

Aceste unitat, i genereaza blocurile de date decodate, DateDx, pe baza urmatoarei reguli:

• DateDx = Dec.can.Dx, daca Dec.can.Dx este corect;

• DateDx = Dec.RSx, daca Dec.can.Dx nu este corect s, i decodare RS cu succes

• DateDx = s,tergere, daca Dec.can.Dx nu este corect s, i decodare RS es,uata;

Se poate observa ca decodarea NC nu afecteaza operat, iile obis,nuite ale ret,elei, datele decodatede decodorul NC fiind luate ın considerare numai ın cazul unei transmisii directe es,uate, iar astfelNC aduce pe langa cas,tigul de codare s, i o diversitate suplimentara ın ret,ea.

Pe baza modelului de sistem considerat exista doua tipuri de cai ın ret,ea: cai compuse dinlegaturi fara adaptare s, i cai compuse din legaturi cu adaptare a tehnicilor de transmisie lacaracteristicile legaturilor. Funct, ia de densitate de probabilitate (pdf, probability densityfunction) a parametrului BLER pe caile fara adaptare este data de [72]:

pBLER−cale(x) =

{p = 1

BLERmax−BLERmindaca x ∈ [BLERmin, BLERmax]

0 altfel(5.24)

unde BLERmin = 0.01, BLERmax = z · 0.1 s, i z este numarul maxim de legaturi care compuncaile de transmisie ce conecteaza nodurile la AP. Limita superioara a BLER = 0.1 a fost aleasaastfel ıncat sa corespunda la valoarea maxima pe o legatura de transmisie impusa de diferitesisteme de transmisie, ca IEEE 802.11. Distribut, ia BLER este similara s, i pe legaturile dintrenoduri/dispozitive s, i RN.

BLER-ul unei cai de comunicat, ie compusa din z legaturi cu adaptare la caracteristiciletransmisiei poate fi exprimat ca:

74

z p(erBLER > 5%) p(erBLER > 10%) p(erBLER > 15%)

3 0.49 0 04 0.9 0.15 05 0.99 0.56 0.04

Tabela 5.1: Cdf al erorii de aproximare BLERcale

BLERcale =∑z

i=1BLERlinki −∑

i,j,i6=j BLERlinkiBLERlinkj+

+∑

i,j,k,i 6=j 6=k BLERlinkiBLERlinkjBLERlinkk − . . . ≈∑z

i=1BLERlinki

(5.25)

Funct, ia de densitate cumulativa (cdf) a erorii de aproximare, erBLER, a valorilor BLERcale

pentru BLERlink < 0.1 s, i pentru diferite valori ale z este data ın tabelul 5.1.Aceste rezultate arata ca pentru numarul nivelelor (“hop“) mai mic de cinci, eroarea de

aproximare este ın jur de 5%, iar pentru z = 5 este ın jur de 10%. Pe baza acestor aproximarifunct, ia de densitate de probabilitate ın cazul cailor cu adaptare este data de:

pBLER−cale =z∏i=1

∗pBLER−linki(x) (5.26)

unde notat, ia ∗ se refera la produsul de convolut, ie, iar z este numarul de legaturi care compuncalea. Pdf-ul BLER al legaturilor, pBLER−link(x), este dat de Ecuat, ia (5.24) cu BLERmax = 0.1.Pentru valori particulare ale lui z (z = 2 s, i z = 3), pBLER−zlink(x) este dat de ecuat, iile (5.27) s, i(5.28) [81]:

pBLER−2link(x) = pBLER−link(x) ∗ pBLER−link(x) =

=

p2x daca x ∈ [0.01, BLERmax = 0.1]

p2(2BLERmax − x) daca x ∈ [BLERmax, 2BLERmax]

0 altfel

(5.27)

pBLER−3link(x) = pBLER−link(x) ∗ pBLER−2link(x) =

=

p3 x2

2daca x ∈ [0.01, BLERmax = 0.1]

p3(BLERmax · x− BLER2

max

2

)daca x ∈ [BLERmax, 2BLERmax]

p3(BLERmax · x− x2

2+ 3BLER2

max

2

)daca x ∈ [2BLERmax, 3BLERmax]

0 altfel

(5.28)

Ecuat, iile (5.27) s, i (5.28) arata cres,terea valorii BLERmax a caii de transmisie cu cres,tereanumarului de legaturi care compun calea, valoarea maxima a pdf-ului pBLER−zlink(x) fiind limitatala valoarea dz/2eBLERmax−link.

Pe baza principiului de funct, ionare al decodorului NC BLER-ul care afecteaza blocuriletransmise de nodul/dispozitivul Di este dat de [72]:

BLERDi= 1− PcorDi

PcorDi= 1−BLERDi−AP + PDi

coop(1− PEbl(Di))(5.29)

unde BLERDi−AP este BLER pe legatura Di - AP , PDicoop = 1−BLERDi−RN este probabilitatea

de decodare corecta la RN a blocului generat de Di s, i PEbl(Di) este probabilitatea de decodareeronata la decodorul RS a blocului de date Di.

Probabilitatea PEbl(Di) este aceeas, i pentru toate nodurile s, i se poate calcula folosind formula[68]:

75

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4-5

0

5

10

15

20

25

1 nivel

2 nivele

3 nivele

pdf(

BLE

Rca

le)

BLERcale

Figura 5.13: PDF pentru z = {1, 2, 3}

PEbl(Di) =

ND+Ncheck∑k=Ncheck+1

∑BL′∈BL(k)

bl(Di)∈BL′

( ∏bl∈BL′

BLER(bl) ·∏

bl∈BL\BL′(1−BLER(bl))

) (5.30)

unde ND este numarul total de noduri/dispozitive din cluster, Ncheck este numarul de blocuride control generate de releu, BL este setul tuturor blocurilor (de date s, i de control) generate denodurile din cluster s, i de releu, iar BL(k) reprezinta subseturile de lungime k ale BL.

Probabilitatea de eroare a decodorului, PEbl(Di), reprezinta o limita superioara, fiind afectatde numarul nodurilor care sunt decodate corect la RN la un moment dat, datorita probabilitat, iide eroare diferite de zero pe legaturile nod-releu. Numarul mediu de noduri decodate corect lareleu se poate calcula pe baza formulelor (5.31) s, i (5.32):

ND−mean =

ND∑i=1

pi · i (5.31)

unde pi este probabilitatea de a avea i noduri/dispozitive decodate corect de catre RN [72].

pi =∑

d′∈D(i)

( ∏Dj∈D′

PDjcoop ·

∏Dj∈D\D′

(1− PDjcoop)

)(5.32)

unde Dj reprezinta nodul/dispozitivul j, D reprezinta setul tuturor nodurilor/dispozitivelordin cluster, iar D(i) este familia subseturilor de lungime i ale lui D.

In anumite situat, ii se pot obt, ine ımbunatat, iri ale performant,elor BLERDiprin select, ia unui

numar mai mic de noduri/dispozitive care sunt codate de RN, daca blocurile sunt recept, ionatecorect, t, inand cont de BLER-ul legaturilor Di - AP s, i Di - RN . Acest proces de select, ie s, ioptimizare ın cazul ret,elelor cu topologie fixa face parte din operat, iile de planificare s, i de ıntret, inerea ret,elei s, i trebuie efectuat la dezvoltarea ret,elei sau atunci cand apar schimbari semnificative aletopologiei sau ale caracteristicilor legaturilor [81].

Criteriile de optimizare considerate sunt urmatoarele:

76

Graf de optimizat &

Parametrii AG

Popula―ia ini―ial<Generare & Evaluare

Selec―ie cel mai bun cromozom global

Popula―ie nou<Opera―ii AG:

Selec―ie, încruci〇are

& muta―ie

Evaluare &

Cromozomul cel mai

bun

While

! Max genera―ii

Figura 5.14: Schema logica a algoritmului genetic folosit pentru optimizarea ret,elei

criteriu 1 : minBLERDi= min

(1

ND

ND∑i=1

BLERDi

)(5.33)

criteriu 2 : min maxi=1,ND

(BLERDi) (5.34)

Pentru optimizare se foloses,te un algoritm genetic, deoarece acesta este destul de flexibil pentrua fi adaptat la problema de optimizare data s, i ofera performant,e de optimizare bune. Pe de altaparte, algoritmii genetici implica complexitate computat, ionala ridicata, ceea ce limiteaza folosirealor ın scenarii dinamice, dar scenariile considerate se refera la problemele de planificarea saurestructurarea ret,elei [81].

Fluxul logic al algoritmului genetic folosit pentru optimizarea ret,elei ın care se implementeazaNC este prezentat ın Figura 5.14. Algoritmul primes,te ca date de intrare topologia ret,elei s, idistribut, ia BLER a fiecarei legaturi, s, i genereaza un set de noduri care vor fi codate de releu.

Fiecare cromozom este un subset al setului care cont, ine toate nodurile din cluster s, i estereprezentat ca un s, ir de ND simboluri binare; fiecare pozit, ie fiind asociata cu un nod. O valoare1 pe pozit, ia x ınseamna ca nodul Dx este implicat ın operat, iile NC, iar valoarea 0 ınseamna canodul Dx nu este implicat ın operat, iile NC.

Populat, ia init, iala este formata din N = 30− 40 cromozomi s, i este generata aleator. Populat, iainit, iala este evaluata folosind criteriile de optimizare definite de relat, iile (5.33) s, i (5.34), astfelfiind obt, inuta valoarea fitness a fiecarui cromozom. Dupa evaluarea init, iala este construita nouapopulat, ie folosind operat, iile de baza ale algoritmului genetic: select, ie, ıncrucis,are s, i mutat, ie. Dinpopulat, ia curenta se aleg P (presiunea de select, ie, P = 4) cromozomi ın mod aleator, iar dintreaces,tia se pastreaza cel cu valoarea fitness cea mai buna. Acest proces se repeta pana candnoua populat, ie este completa. Dupa select, ie cromozomii trec prin procesul de ıncrucis,are ıntr-unsingur punct ın concordant, a cu probabilitatea de ıncrucis,are (20%), iar dupa aceea are loc mutat, iabinara aleatoare ın funct, ie de probabilitatea de mutat, ie (2%), aceste probabilitat, i facand partedin parametrii algoritmului genetic. Noua populat, ie este evaluata ın mod similar cu cea init, iala,iar cel mai bun cromozom s, i valoarea lui fitness sunt stocate. Populat, iile noi sunt generate panacand se ajunge la numarul de generat, ii impus la ınceputul algoritmului, Ngen = 20 − 30. Dintrecromozomii stocat, i se alege cel cu valoarea fitness cea mai buna, s, i acest cromozom va da subsetulfinal al setului nodurilor din cluster care va fi implicat ın operat, iile NC [81].

Pentru analiza performant,elor BLER a transmisiei codate NC au fost considerate trei scenariidiferite:

• ND = 20, fara adaptare, numarul maxim de nivele zmax = 5, topologia de test 1 (Figura5.10.b), BLERDi−AP distribuit uniform ın intervalul [0.01, 0.5], BLERDi−RN distribuit

77

Parametru BLER uniform Topologie test 1 Topologie test 2

BLERDimediu 0.2390 0.1606 0.2094

BLERDimax 0.4845 0.3478 0.4022

Tabela 5.2: Valorile medii s, i maxime ale BLERDiın scenariul necodat

0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.980

0.5

1

1.5

2

2.5

3

3.5

Distribu―ie BLER uniform<Topologie de test 1Topologie de test 2

log 1

0(G

av)

RNC

Figura 5.15: Cas,tigul de codare mediu ın funct, ie de rata de codare NC

uniform ın intervalul [0.01, 0.25], iar BLERRN−AP = 0.1;

• ND = 20, cu adaptare, zmax = 5, topologia de test 1, BLERlink distribuit dupa ecuat, ia(5.24), BLERDi−AP distribuit dupa formula (5.26), aceleas, i condit, ii pentru BLERDi−RN ,iar BLERRN−AP = 0.1;

• ND = 24, cu adaptare, zmax = 5, topologia de test 2 (Figura 5.10.c), BLERlink distribuitdupa ecuat, ia (5.24), BLERDi−AP distribuit dupa formula (5.26), aceleas, i condit, ii pentruBLERDi−RN , iar BLERRN−AP = 0.1;

Numarul blocurilor de control este Ncheck ∈ {1, 2, 4, 6} ın fiecare scenariu.Valorile medii s, i maxime ale BLERDi

, i = 1, ND, au fost evaluate pentru cateva seturi deprobabilitat, i BLERDi−AP s, i BLERDi−RN generate dupa distribut, iile considerate, s, i s-a realizatmedierea valorilor obt, inute din aceste experimente. In al doilea set de experimente operat, iile NCau fost optimizate folosind algoritmul genetic, scopul fiind minimizarea valorilor medii s, i maximeale BLERDi

. Valorile medii s, i maxime ale probabilitat, ilor BLERDiın cazul necodat sunt date

ın Tabelul 5.2.In Figura 5.15 s, i 5.16 sunt prezentate cas,tigurile de codare medii s, i maxime, Gav s, i Gmax

(valorile medii ale experimentelor) obt, inute pentru diferite rate de codare NC, RNC = ND/(ND +Ncheck), ın scenariile descrise anterior.

experiment x :Gav−x =

BLERDi−AP−xi=1,ND

BLERDi−xi=1,ND

Gmax−x =maxi=1,ND

(BLERDi−AP−x)

maxi=1,ND(BLERDi−x)

(5.35)

Din rezultatele prezentate se poate observa ca se obt, ine cas,tig de codare semnificativ s, i pentrurate de codare ridicate RNC = 0.8− 0.85 ın toate scenariile considerate. Se poate obt, ine un cas,tigde codare ∈ [1.2− 10] pentru rate de codare foarte mari RNC = 0.92− 0.96.

In Figura 5.17 s, i 5.18 sunt prezentate pentru cele trei scenarii cas,tigurile de codare relative,Gr−av s, i Gr−max, obt, inute cu operat, iile NC optimizate folosind criteriile date de relat, iile (5.33) s, i(5.34), avand ca referint, a cas,tigurile de codare obt, inute pentru operat, iile NC neoptimizate [81].

78

0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.980

0.5

1

1.5

2

2.5

3

log 1

0(G

max

)

RNC

Distribu―ie BLER uniform<

Topologie de test 2Topologie de test 1

Figura 5.16: Cas,tigul de codare maxim ın funct, ie de rata de codare NC

0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.980

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

RNC

Gr-

av

Distribu―ie BLER uniform<

Topologie de test 2Topologie de test 1

Figura 5.17: Cas,tigul mediu de codare relativ ın funct, ie de rata de codare NC

0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.980

0.2

0.4

0.6

0.8

1

1.2

1.4

Distribu―ie BLER uniform<

Topologie de test 2Topologie de test 1

RNC

Gr-

max

Figura 5.18: Cas,tigul maxim de codare relativ ın funct, ie de rata de codare NC

79

16 20 24 300

10

20

30

40

50

60

70

80

90

100

Nr.

med

iu n

odur

i cod

ate

NC

(%

)

Nr. noduri

BLER Di-RN constant 0.01

BLER Di-RN uniform [0.1-0.4]BLER Di-RN constant 0.1

BLER Di-RN uniform [0.01-0.1]

Figura 5.19: Numarul mediu de noduri implicate ın NC ın funct, ie de BLERDi−RN

Rezultatele arata ca ımbunatat, irea cas,tigului de codare prin optimizarea operat, iilor NC sepoate obt, ine numai pentru rate de codare mari RNC = 0.92− 0.96. Cas,tigul de codare cres,te cu1.1− 1.8, ın funct, ie de distribut, ia BLERDi−AP .

Evaluarile de performant,e precedente au fost facute ın cel mai defavorabil caz al probabilitat, iide eroare al decodorului, PEbl(Di), cand toate nodurile din ret,ea sunt implicate ın operat, iile NC.Avand ın vedere ca legaturile Di - RN nu sunt ideale, RN poate decoda numai o parte dintreblocurile generate de noduri, ın consecint, a numai aceste noduri vor fi implicate ın operat, iile NC.Figura 5.19 prezinta numarul mediu de noduri implicate ın operat, iile NC pentru cateva scenarii,caracterizate de BLER constant sau de BLER distribuit uniform pentru legaturile Di - RN s, i denumar diferit de noduri ın cluster.

Se poate observa ca pentru valorile BLERDi−RN mai mici de 0.1 numarul mediu de noduriimplicate ın NC este mai mare de 90%, iar daca valorile BLERDi−RN sunt distribuite ıntr-uninterval mai mare, [0.01, 0.4], numarul mediu de noduri implicate ın NC scade la 75% - 80%reducand astfel rata de codare.

Figura 5.20 prezinta pentru primul scenariu, caracterizat de distribut, ia uniforma aBLERDi−AP , cas,tigul de codare mediu Gmean ın situat, ia ın care probabilitatea de eroare adecodorului, PEbl(Di), este afectat de numarul de noduri decodate corect de RN. Se considera ca90% dintre noduri sunt decodate corect de RN, iar rezultatele au fost obt, inute considerandcateva seturi de probabilitat, i BLERDi−AP s, i BLERDi−RN , iar nodurile decodate corect de RNsunt selectate aleator. Reducerea numarului de noduri implicate ın operat, iile NC ımbunatat,es,tecas,tigul de codare prin reducerea ratei de codare. Performant,ele sistemului optimizat sunt deasemenea afectate, cas,tigul de codare fiind ımbunatat, it s, i ın acest caz, dar cas,tigul de codareobt, inut prin optimizare scade cu scaderea ratei de codare [81].

5.3 Concluzii s, i contribut, ii

Protocolul de cooperare pe baza NC cu operat, ia XOR descris este o metoda de cooperare relativsimpla s, i eficienta pentru transmisia uplink ın ret,ele fara fir centralizate. Acest protocol poateımbunatat, i semnificativ probabilitatea de “outage“ a clusterului/ret,elei s, i performant,ele BLERale terminalelor folosind o codare s, i decodare simpla s, i eficienta pe baza operat, iei XOR, darnecesita o structurare corespunzatoare a clusterului de cooperare. Algoritmul propus pentrustructurarea s, i optimizarea clusterului de cooperare pe baza algoritmilor genetici este o metoda

80

0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 10

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

log 1

0(G

av)

RNC

100% noduri codate NC

90% noduri codate NC + optimizare90% noduri codate NC

Figura 5.20: Cas,tigul de codare mediu ın funct, ie de rata de codare s, i numarul de noduri implicateın NC

flexibila s, i eficient, a ın condit, iile ın care exista cerint,e multiple ın ceea ce privesc constrangerileimpuse topologiilor cooperative. Optimizarea propusa a grafurilor a fost testata pe mai multegrafuri de conexiune de complexitate medie, s, i a furnizat o scadere semnificativa a probabilitat, iide ”outage” a ret,elei s, i o valoare BLER medie mai mica. Valorile BLER pentru fiecare terminalscad pentru majoritatea utilizatorilor implicat, i ın procesul de cooperare, s, i depind de grafulinit, ial de conexiune s, i de criteriul de optimizare utilizat. Algoritmul de optimizare al clusteruluiscade semnificativ numarul de legaturi UTi - RN , ceea simplifica managementul dinamic alclusterului. Prin formularea potrivita a criteriului de optimizare s, i prin alegerea parametriloralgoritmului genetic, viteza procesului de optimizare poate fi ımbunatat, ita, oferind o solut, iepentru ret,ele “wireless“ nomadice [69].

Solut, ia NC pe baza codurilor Reed Solomon ımbunatat,es,te sigurant,a transmisiei ın ret,ele desenzori avand topologie de tip arbore. In situat, ia considerata se foloses,te un singur nod releuın fiecare cluster care asculta transmisiile tuturor nodurilor din cluster. Solut, ia prezentata estefoarte scalabila s, i necesita modificari minimale ın algoritmii de transmisie ın ret,ea pentru a permiteoperat, iile NC. Rezultatele arata ca se pot obt, ine ımbunatat, iri ale BLER-ului, iar algoritmii geneticipermit select, ia nodurilor care vor fi implicate ın operat, iile NC astfel ıncat performant,ele globale safie cat mai bune posibil. Procesul de optimizare poate ımbunatat, i semnificativ cas,tigul de codarepentru rate de codare NC mari (RNC > 0.85).

Contribut, ia principala adusa ın acest capitol se poate exprima ca:Contribut, ie: elaborarea unei solut, ii de optimizare a topologiilor de ret,ele ”wireless”

centralizate care implementeaza tehnici NC ın scopul ımbunatat, irii performant,elor transmisieifolosind algoritmi genetici.

• adaptarea algoritmilor genetici la problemele considerate;

• implementarea unor simulatoare pentru validarea metodelor de optimizare;

• evaluarea prin simulari a algoritmilor genetici folosit, i.

81

Capitolul 6

Integrarea tehnicilor NC ın ret,ele fixe

Acest capitol prezinta doua exemple de integrare codarii de ret,ea ın ret,ele de test reale s, i o solut, iede utilizare a RNC ın transmisii unicast multiple.

Prima ret,ea de test implementata a avut ca scop realizarea unei infrastructuri minimale pecare sa se poata testa unele concepte de arhitectura noi definite ın cadrul proiectului de cercetareFP7-4WARD. Tehnica NC folosita este bazata pe operat, ia XOR ıntre pachete s, i fluxurile detest sunt fluxuri video. Alegerea acestor tipuri de fluxuri de test este motivata de faptul ca elepermit testarea metodelor de codare dinamice, algoritmilor de sincronizare a fluxurilor s, i evaluareacalitat, ii transmisiei atat obiectiv cat s, i subiectiv.

A doua ret,ea de test a fost realizata pentru evaluarea solut, iei propuse pentru utilizarea RNC ıntransmisii unicast multiple. Aceste tehnici de codare de ret,ea asigura rate de transfer la capacitatearet,elei ın cazul unor transmisii multicast [2]. Solut, ia propusa ın al doilea subcapitol adapteazacodarea RNC pentru transmisii unicast multiple ın ret,ele direct, ionate s, i demonstreaza ca s, i pentruaceste transmisii este posibila atingerea unei rate de transfer apropiate (ın unele cazuri egale) decapacitatea ret,elei. Al doilea banc de testare a fost construit ın scopul verificarii conceptelorteoretice elaborate.

6.1 NC bazat pe operat, ia XOR pentru transmisii video.

Studiu de caz

In cadrul proiectului de cercetare FP7-4WARD a fost realizat un banc de testare format din 6calculatoare ın topologie fluture prezentat ın Figura 6.1, ın care tehnicile NC au fost utilizatepentru controlul congestiei. Topologia fluture este suficient de complexa sa permita operat, ii NC,dar totus, i este suficient de simpla sa permita o implementare reala. Fiecare nod din ret,ea este omas, ina virtuala sau fizica, iar legaturile dintre ele sunt conexiuni Fast Ethernet. Toate transmisiiledin ret,ea se bazeaza pe protocolul UDP, iar pentru transferul pachetelor ın ret,ea se folosesc socket-uri de tip SOCK_DGRAM. Pe mas, inile fizice sau virtuale ruleaza sistem de operare Linux, iar aplicat, iilepentru fiecare nod ın parte sunt implementate ın limbajul de programare ANSI C.

Nodul de codare N3 realizeaza codare bazata pe operat, ia XOR ıntre pachete. Implementareareala a codarii ridica o serie de probleme legate de sincronizarea fluxurilor, variabilitatea fluxurilors, i activarea/dezactivarea a procesului de codare. Activarea/dezactivarea codarii este necesarapentru folosirea eficienta a resurselor ret,elei pe legaturile N1 -N5 , respectiv N2 -N6.

6.1.1 Codarea pachetelor

Se foloses,te codare dinamica, ın sensul ca se codeaza numai pachetele care genereaza congestiela un moment dat, s, i daca aceste pachete au lungimi diferite, se codeaza numai partea comunaa pachetelor. Structura pachetelor sursa s, i a celor codate este prezentata Figura 6.2. Au fostdefinite diferite flaguri pentru sincronizarea nodurilor s, i pentru activarea codarii. Pe baza acestor

82

HARDWARE (Re―ea de substrat)

Topologie

flutureN1

S2S1

N6N5

N4

N3

D1 D2

N2

Tehnici CL

Tehnici CL Tehnici CL

Tehnici CLTehnici CL

Tehnici CLTehnici CL

Tehnici CL

Tehnici CL

Tehnici CL

CL=Cross-Layer

Figura 6.1: Testbed [82] [83]

End_I-A St_I-B End_I-B Date codate (X octe―i)Flag St_I-A

Flag St_I-A End_I-A Date1 (X octe―i) Flag St_I-B End_I-B Date2 (Y octe―i; Y>X)

XOR

Date necodate (Y-X octe―i)

Figura 6.2: Structura pachetelor codate s, i necodate

indici se poate identifica care part, i din pachetele sursa sunt codate s, i care nu, s, i poate fi identificatpachetul pereche necesar pentru decodarea unui pachet codat.

In cazul pachetelor necodate, campurile au urmatoarele semnificat, ii:

• Flag - este folosit pentru semnalizarile necesare pentru pornirea, respective oprirea operat, iilorde codare.

• S - este indicele la care ıncepe pachetul, este indicele primului octet din pachet.

• E - este indicele de sfars, it al pachetului, indicele ultimului octet din pachet.

• Data - sunt datele utile recept, ionate de la VLC prin pachetul UDP.

In cazul pachetelor codate semnificat, ia campurilor este similara cu cazul precedent:

• Flag - este folosit pentru semnalizarile necesare pentru activarea s, i dezactivarea codarii

• S1 - este indicele la care ıncepe pachetul recept, ionat de la fluxul 1

• E1 - este indicele la care se termina pachetul recept, ionat de la fluxul 1

• S2 - este indicele la care ıncepe pachetul recept, ionat de la fluxul 2

• E2 - este indicele la care se termina pachetul recept, ionat de la fluxul 2

• Data - sunt datele utile cont, inute de pachet, cont, ine informat, ia codata datef lux1⊕datef lux2.

83

Flag I1-y S1-y Date 1-y

Flag I1-x S1-x Date 1-x Å Date 2-x

Flag I1-1 S1-1 Date 1-1

Flag I1-2 S1-2 Date 1-2

Flag I1-4 S1-4 Date 1-4

Flag I1-y S1-y Date 1-x I2-x S2-x

Flag I1-4 S1-4 Date 1-4 Å Date 2-4I2-4 S2-4

Flag I1-2 S1-2 Date 1-2 Å Date 2-2I2-2 S2-2

Flag I1-1 S1-1 Date 1-1 Å Date 2-1I2-1 S2-1

Flag I1-y S1-y Date 1-y Å Date 2-yI2-y S2-y

Flag I1-3 S1-3 Date 1-3 Å Date 2-3I2-3 S2-3

Å

Å

Å

Å

Å

Pachet întârziatProces

decodare

Buffer pachete necodate Buffer pachete codate Buffer pachete nedecodate

Buffer pachete decodate

Figura 6.3: Decodarea la nodurile destinat, ie

In momentul activarii operat, iilor NC, nodul de codare s,tie care fluxuri de date genereazacongestie. Pentru implementarea mecanismului de codare, nodul de codare are doua buffere, cateunul pentru fiecare flux. Scopul acestora este evitarea sincronizarii precise ale fluxurilor ın cazul ıncare sursele transmit cu rate diferite. Timpul de stocare ın buffere depinde de rata fluxului de dates, i trebuie ales corespunzator, pentru ca o nepotrivire ıntre rata de sosire a pachetelor s, i timpul destocare poate diminiua eficient,a operat, iilor NC crescand rata pachetelor necodate. Daca un pachetajunge la nodul de codare s, i nu exista alt pachet care as,teapta sa fie codat, pachetul recept, ionateste stocat ın bufferul care corespunde fluxului. Daca timpul de stocare expira, pachetul estetrimis necodat la nodurile destinat, ie.

La nodurile destinat, ie ajung pachetele multicast trimise de nodurile sursa s, i pachetele codatede nodul de codare. Pentru a facilita formarea perechilor pachet codat - pachet multicast noduriledestinat, ie au doua buffere, unul pentru pachetele multicast, iar unul pentru pachetele codate.Daca nodul destinat, ie primes,te un pachet multicast acesta va identifica pachetul s, i fluxul de careapart, ine, iar apoi va cauta ın bufferul pachetelor codate pachetul pereche pe baza identificatorilorde pachet s, i de flux. Daca pachetul pereche nu este gasit, pachetul multicast va fi stocat o perioadade timp ın bufferul pachetelor multicast. Nodul destinat, ie procedeaza similar s, i la sosirea unuipachet codat. Daca timpul de stocare expira ınseamna ca nu a ajuns nici un pachet pereche ınacest interval de timp, iar pachetul este eliminat din buffer.

6.1.2 Activarea dinamica a codarii

Activarea/dezactivarea codarii se realizeaza pe baza statisticilor pe termen mediu a ratelor detransfer pe legaturile N1 - N5, respectiv N2 - N6 s, i pe baza existent,ei congestiei ın nodul N3,informat, ii oferite de un modul de management al ret,elei. Daca toate condit, iile sunt satisfacute,adica:

• DdisponibilN1−N5> DtransferN1−N6

• DdisponibilN2−N6> DtransferN2−N5

• pe legatura N3 - N4 este congestie

codarea este activata. Aceste condit, ii sunt verificate periodic, iar daca la un moment dat unadintre ele nu este satisfacuta codarea NC este dezactivata. Daca una dintre primele doua condit, iinu este satisfacuta, codarea nu poate fi activata, deoarece va fi imposibila decodarea pachetelorcodate la ambele noduri destinat, ie. Daca a treia condit, ie nu este satisfacuta, codarea nu trebuieactivata, deoarece este posibila transmisia tuturor pachetelor fara codare s, i codarea ar utilizaresurse suplimentare, care ar putea fi folosite pentru alte transmisii. In activarea codarii rolul

84

N1

N5

N3

Flag N3

semnalizareFlag N

1

semnalizare Indice început

Indice sfâr〇it Date 1 (X octe―i)

Figura 6.4: Semnalizarea ıntre nodul sursa s, i nodul de codare

principal ıl are nodul de codare, care ia decizia finala pe baza mesajelor de semnalizare primite dela nodul sursa.

6.1.3 Mesajele de semnalizare

Semnalizarea ıntre nodurile sursa s, i nodul de codare, prezentata ın Figura 6.4 este importanta,deoarece aceste trei noduri decid activarea/dezactivarea codarii. Nodurile sursa verifica ın modcontinuu condit, ia impusa de debite. Daca condit, ia este ındeplinita, flagul folosit pentrusemnalizare ia valoarea 1, daca nu va avea valoarea 0 s, i va fi trimis la nodul de codare ımpreunacu datele.

Nodul de codare verifica continuu existent,a congestiei pe legatura sa de ies, ire spre nodulintermediar. Daca exista congestie s, i ambele flaguri primite de la nodurile sursa au valoarea1, flagul trimis de nodul de codare catre nodurile sursa va avea valoarea 1, ınsemnand ca seactiveaza codarea. In orice alt caz, flagul trimis de catre nodul de codarea la nodurile sursa vaavea valoarea 0, ındicand dezactivarea codarii, deorece nu sunt ındeplinite toate condit, iile necesarepentru codare.

Pachetele codate includ ın antetul lor indicii de ınceput s, i de sfars, it ai octet, ilor codat, i dela nodul sursa N1 , respectiv nodul sursa N2 . Decodarea este realizata numai daca tot, i ceipatru indici sunt diferit, i de zero, ca altfel ınseamna ca nu este pachet codat, decodarea nu estenecesara. Nodul intermediar daca recept, ioneaza un pachet de la nodul de codare, ın antetulcaruia unul dintre cele doua seturi de indici ınceput-sfars, it este 0, el va trimite pachetul respectivnumai la o singura destinat, ie, codarea nu este realizata, iar decodarea nu este necesara. Dacacele doua perechi de indici nu sunt 0, codarea este realizata, iar pachetele sunt trimise la celedoua noduri destinat, ie prin transmisie multicast. Figura 6.5 prezinta mesajul de semnalizare ıntrenodul intermediar s, i nodul destinat, ie.

Informat, iile referitoare la debitele disponibile s, i existent,a congestiei sunt oferite de modululde management al ret,elei dupa efectuarea masuratorilor din ret,ea. Informat, iile sunt disponibil ıncele trei noduri strategice din punctul de vedere al activarii/dezactivarii codarii.

6.1.4 Principiile de funct, ionare ale nodurilor

In structura ret,elei se pot identifica patru tipuri de noduri, s, i anume: nod sursa (N1, N2), nodde codare (N3), nod intermediar (N4), nod destinat, ie (N5, N6). Fiecare nod din ret,ea are unfis, ier de configurare, care cont, ine informat, iile legate de adresele IP s, i de porturile folosite pentrutransmisiile de date. Fluxurile de date sunt generate de VLC player care foloses,te streaming videopentru transmiterea datelor la nodurile sursa.

85

N1

N5

N4

Flag N1

semnalizare

Indice

început

Indice

sfâr〇itDate 1

(X octe―i)

FlagIndice

început

Indice

sfâr〇itDate codate/

necodate

Indice

început

Indice

sfâr〇itDate N2Date N1

Figura 6.5: Semnalizarea ıntre nodul intermediar s, i nodul destinat, ie

Nodurile sursa N1 s, i N2 sunt identice din punctul de vedere al funct, ionarii lor, diferent,a ıntreele consta ın fis, ierele de configurare, adica adresele nodurilor la care transmit. Aceste noduriprimesc cate un flux video de la VLC player s, i le trimit catre nodul de codare N3.

La pornirea aplicat, iei se cites,te fis, ierul de configurare. Funct, ionalitat, ile nodului sursa suntseparate ın doua fire de execut, ie:

• Un fir de execut, ie prin care sunt recept, ionate pachetele de la VLC: Cei mai important, iparametri ai acestui fir de execut, ie sunt adresa s, i portul pentru recept, ia fluxului media dela VLC, o variabila booleana pentru oprirea firului de execut, ie s, i un buffer pentru stocareapachetelor recept, ionate. In acest fir de execut, ie este creat un socket UDP pentru recept, iapachetelor care formeaza fluxul media. Cat timp parametrul boolean are valoarea “true“,firul de execut, ie continua sa recept, ioneze pachetele de la VLC. Pentru a evita situat, iilecand un socket nu recept, ioneaza nimic s, i blocheaza firul de execut, ie prin as,teptarea pentrupachetul urmator, este setat un timer de 100 µs, care indica perioada maxima de as,teptarepentru un pachet nou.

• Un fir de execut, ie care se ocupa de transmisia pachetelor s, i de semnalizari: Parametriiprincipali ai acestui fir de execut, ie sunt adresa IP s, i portul nodului destinat, ie cu care exista olegatura directa, adresa IP s, i portul al nodului de codare, adresa IP s, i portul interfet,ei pe carese recept, ioneaza mesajele de semnalizare de la nodul de codare, un parametru Boolean folositpentru oprirea firului de execut, ie, perioada de timp ıntre doua pachete trimise, perioada deverificare a condit, iilor din ret,ea s, i bufferul din care sunt preluate pachetele s, i trimise maideparte (buffer comun cu threadul de recept, ie).

Condit, iile din ret,ea (debite disponibile, exitent,a congestiei) se pot schimba ın timp. Acestnod ıs, i verifica condit, iile cu o anumita perioada s, i trimite condit, iile proprii la nodul de codareımpreuna cu pachetele de date. Cand primes,te raspunsul de la nodul de codare printr-un mesajde semnalizare, va afla daca condit, iile de debit impuse la celalalt nod sursa sunt satisfacute s, idaca exista congestie ın ret,ea. Daca toate cele trei condit, ii sunt satisfacute, nodul sursa va trimiteaceleas, i pachete atat la nodul destinat, ie cat s, i la nodul de codare. Daca nu sunt satisfacute toatecele trei condit, ii, nodul sursa trimite pachetele numai la nodul de codare.

Nodul N3 este nodul de codare. Acest nod recept, ioneaza pachetele de la nodurile sursa, verificaperiodic condit, iile sale s, i flagurile primite de la nodurile sursa. Nodul N3 - ımpreuna cu nodurilesursa - decide activarea/dezactivarea codarii. Daca toate condit, iile sunt satisfacute, trimite unmesaj de semnalizare la nodurile sursa, indicand faptul ca este posibila codarea, s, i dupa aceea vaıncepe sa trimita mesaje codate pe legatura de ies, ire. Daca una dintre condit, ii nu este satisfacuta,nodul de codare trimite un mesaj de semnalizare la nodurile sursa, prin care va indica ca nu esteposibila codarea, iar dupa aceea va trimite mesajele recept, ionate pe legatura de ies, ire fara codare.

Funct, ionalitat, ile nodului de codare sunt separate ın trei fire de execut, ie:

86

• doua fire de execut, ie identice pentru recept, ia pachetelor de la cele doua noduri sursa:Parametrii principali ai acestui fir de execut, ie sunt adresa IP s, i portul de recept, ie,parametrul Boolean folosit pentru oprirea firului de execut, ie, dimensiunea maxima abufferului de recept, ie ın care sunt stocate pachetele recept, ionate. Cat timp parametrulBoolean de oprire a firului de execut, ie are valoarea ”false”, nodul va continua sarecept, ioneze pachete de la nodul sursa. Socketul de recept, ie trebuie sa fie fara blocare,timpul maxim de as,teptare ıntre doua pachete consecutive fiind 100 µs. Dupa recept, iaunui pachet, acesta va fi stocat ıntr-un buffer, din care va fi preluat pentru prelucrariulterioare - codare sau nu - s, i va trimis pe legatura de ies, ire a nodului de codare.

• firul de execut, ie care controleaza partea de semnalizare, codare s, i transmisie: Parametriiprincipali ai acestui fir de execut, ie sunt adresa IP s, i portul folosit pe interfat,a pe care vorfi trimise pachetele, adresele IP s, i porturile nodurilor sursa N1 s, i N2 pe care vor fi trimisemesajele de semnalizare, parametrul Boolean care controleaza oprirea firului de execut, ie,cele doua buffere care cont, in pachetele recept, ionate de la cele doua noduri sursa s, i perioadade verificare a condit, iilor din ret,ea. Se verifica condit, iile necesare pentru activarea codarii lacele trei noduri, daca toate sunt ındeplinite, nodul de codare va anunt,a nodurile sursa ca sepornes,te codarea, s, i ca acestea trebuie sa trimita pachetele necodate la nodurile destinat, iepe legaturile directe. Dupa trimiterea mesajului de semnalizare, nodul de codare verificacele doua buffere, care cont, in pachetele recept, ionate de la nodurile sursa s, i formeaza unpachet codat pe care trimite catre nodul N4.

Nodul N4 este un simplu nod intermediar, care are rolul sa recept, ioneze pachetele de la nodulde codare s, i sa le trimita spre nodurile N5 s, i N6 , ın funct, ie de indicile de sfars, it din antetulpachetului codat.

Funct, ionalitat, ile acestui nod sunt ındeplinite de doua fire de execut, ie:

• un fir de execut, ie pentru recept, ionarea pachetelor: Socketul pe care sunt recept, ionatepachetele nu poate bloca execut, ia programului, de aceea este necesara stabilirea timpuluimaxim de as,teptare ıntre doua pachete consecutive. Cand un pachet este recept, ionat,acesta va fi stocat ıntr-un buffer, la care are acces s, i firul de execut, ie care va trimite maideparte pachetul respectiv.

• un fir de execut, ie pentru transmisia pachetelor: Verifica indicii din antetul pachetului codat.Daca indicele de sfars, it E1 nu este 0, ınseamna ca a fost recept, ionat un pachet din primulflux de date, s, i ca acest pachet trebuie transmis la nodul N6; nodul de destinat, ie N5 nu arenevoie de acest pachet. Daca indicele de sfars, it E2 nu este 0, ınseamna ca a fost recept, ionatun pachet din primul flux de date, s, i ca acest pachet trebuie transmis la nodul N5; nodul dedestinat, ie N6 nu are nevoie de acest pachet.

Nodurile N5 s, i N6 sunt nodurile de destinat, ie s, i ele funct, ioneaza exact la fel, diferent,a ıntre eleconstand ın fis, ierul lor de configurare. Aceste noduri recept, ioneza pachetele codate s, i necodate dela nodul intermediar s, i pachetele necodate de la nodurile sursa. Daca se recept, ioneaza un pachetcodat, se verifica daca pachetul necesar pentru decodare a ajuns pe calea directa. Daca pachetulnecesar pentru decodare a fost recept, ionat, are loc decodarea pachetului codat s, i pachetul decodateste trimis catre VLC. Daca de la nodul intermediar ajunge un pachet necodat, acesta este trimisdirect la VLC.

Aceasta aplicat, ie pornes,te trei fire de execut, ie:

• un fir de execut, ie pentru recept, ionarea pachetelor codate de la nodul intermediar: Parametriiacestui thread sunt adresa IP s, i portul interfet,ei prin care se recept, ioneaza pachetele codatede la nodul intermediar s, i bufferul ın care sunt stocate pachetele codate, s, i din care vor fipreluate acestea pentru decodare. Socketul creat pentru comunicarea cu nodul intermediarnu poate bloca execut, ia threadului, timpul maxim de as,teptare ıntre doua pachete fiind

87

N1

N5

N4

N3

N2

N6

John Mary

Youtube Metacafe

Re―ea de transport

Figura 6.6: Scenariul de testare

stabilit la 100 µs. Cand un pachet este recept, ionat de la nodul intermediar, acesta va fistocat ın bufferul pachetelor codate.

• un fir de execut, ie pentru recept, ia pachetelor necodate de la nodul sursa: Parametrii acestuithread sunt adresa IP s, i portul interfet,ei prin care nodul destinat, ie se conecteaza direct lanodul sursa s, i un buffer ın care sunt stocate pachetele recept, ionate de la nodul sursa, carevor fi folosite pentru decodarea pachetelor codate. Init, ial este creat socketul pentru recept, iapachetelor de la nodul sursa. Acest socket nu poate bloca firul de execut, ie, de aceea seimpune timpul maxim de as,teptare ıntre doua pachete consecutive, fiind 100 µs. Cand serecept, ioneaza un pachet pe aceasta interfat, a, el va fi stocat ıntr-un buffer de unde va fipreluat de threadul de decodare s, i folosit pentru decodarea unui pachet codat.

• un fir de execut, ie pentru decodarea pachetelor s, i transmisia acestora catre VLC: Parametriiacestui thread sunt cele doua buffere ın care sunt stocate pachetele necodate recept, ionatede la nodul sursa, respectiv pachetele codate recept, ionate de la nodul intermediar, adresaIP s, i portul pe care se trimit pachetele decodate catre VLC.

Prima data este creat socketul prin care se trimit pachetele decodate catre VLC. Decodareaare loc printr-o operat, ie XOR ıntre pachetul codat s, i cel necodat. Pachetul decodat este trimiscatre VLC, iar pachetul codat este s,ters din bufferul pachetelor codate, respectiv pachetul utilizatpentru decodare este s,ters din bufferul pachetelor necodate.

6.1.5 Rezultate experimentale

Activarea/dezactivarea codarii nu se poate realiza frecvent, deoarece ar putea cauza problemelegate de semnalizare s, i pierderi de pachete din cauza schimbarii modului de operarecodat/necodat. Avantajul metodei este ca un necesita alocarea precedenta a resurselor, deoarececodarea este legata numai de ındeplinirea celor trei condit, ii. Rezultatele arata ca numarul de

88

R1 R2

R5

R6

R3 R4

Congestie f<r< NC

Figura 6.7: Imaginile recept, ionate daca exista congestie s, i NC nu este activat

R1 R2

R5

R6

R3 R4

Congestie 群i NC

Figura 6.8: Imaginile recept, ionate daca exista congestie s, i NC este activat

pachete pierdute este foarte mic ın cazul ın care este congestie s, i codarea NC este activata,0.75%, comparativ cu cazul ın care exista congestie s, i codarea NC nu este activata, cand era18%, cum se arata ın Figura 6.9. Atat numarul redus de pachete pierdute cat s, i cres,tereacalitat, ii fluxului video recept, ionat, cat timp exista congestie ın ret,ea se datoreaza acestor tehnicide codare.

Un alt aspect important este eficient,a algoritmului de codare pe baza operat, iei XOR, ın cazulın care fluxurile de date nu sunt constante. Acesta a fost testat prin codarea a doua fluxurivideo de rata egala. Figura 6.10 prezinta histograma ıntarzierilor ıntre pachete pentru cele douafluxuri video, distribut, ie necesara pentru un “scheduling“ corespunzator ın codor, care asiguracombinarea eficienta a fluxurilor de date.

Chiar daca aceste fluxuri video au aceeas, i rata datorita variabilitat, ii (”burstiness”) fluxurilor,se poate ıntampla ca la nodul de codare sa nu ajunga pachetele ın aceals, i moment de timp.Codorul stocheaza pachetele o perioada de timp limitata. Daca ın aceasta perioada de timp nuajunge nici un pachet la codor din fluxul celalalt, pachetul va fi transmis necodat.

Figura 6.11 prezinta raportul de pachete codate s, i necodate generate la codor pentru diferitevalori ale timpului de as,teptare inserat de codor. Din Figura 6.11 se poate observa ca raportulıntre numarul de pachete codate s, i necodate la ies, irea codorului, nc/nu, este aproximativ 2 pentruun timp de as,teptare redus (< 1ms), iar pentru o ıntarziere de 4ms acest raport este 5 s, i cres,tesemnificativ cu cres,terea timpului de as,teptare.

Daca se considera ca lungimea pachetelor din cele doua fluxuri care urmeaza a fi codate esteegala, raportul ro/i ıntre rata de ies, ire s, i rata totala de intrare a codorului este dat de relat, ia:

89

Caz 1 Caz 2 Caz 3

Pro

cent

ul d

e pa

chet

e pi

erdu

te

Figura 6.9: Procentul de pachete pierdute. Caz 1: nu exista congestie, transmisie fara NC. Caz2: Exista congestie, transmisie fara NC. Caz 3: Exista congestie, transmisie cu NC

Frecv. relativ< Frecv. relativ<

Timp[s]Timp[s]

Figura 6.10: Histograma ıntarzierilor ıntre pachete ale celor doua fluxuri video

0

5

10

15

20

25

30

50 200 750 1500 4000 8000 15000

Timp de aーteptare [us]

Raport pachete codate / necodate

Figura 6.11: Raportul de pachete codate/necodate la ies, irea codorului

90

ro/i =nc/nu + 1

2nc/nu + 1; limnu→0

ro/i = 0.5 (6.1)

Pentru nc/nu = 2 raportul ro/i este 0.6, ın loc de 0.5 caracteristic unei codari ideale (nu → 0).Pentru nc/nu = 5 valoarea raportului ro/i este 0.54, apropiata de cazul ideal.

6.2 Implementarea tehnicilor RNC pentru aplicat, ii de

“streaming“

In acest subcapitol este descrisa o solut, ie bazata pe RNC pentru transmisii unicast sau multicastde la aceeas, i nod sursa la diferite noduri de destinat, ie. Folosirea NC simplifica managementulresurselor, toate transmisiile fiind integrate ın aceeas, i cale de comunicat, ie care ajunge la toatenodurile destinat, ie, s, i permite atingerea capacitat, ii ret,elei. Solut, ia propusa reprezinta ogeneralizare a tehnicilor RNC pentru transmisii multicast s, i permite ca fiecare destinat, ie sadecodeze un numar limitat de fluxuri de date din fluxul codat, ın condit, iile ın care rata detransmisie a fluxurilor de date sursa este mai mare decat capacitatea ret,elei.

6.2.1 Tehnici de codare RNC

Se considera urmatorul model de sistem: o sursa (server) transmite un numar de r fluxuri de datela un grup de k destinat, ii, k ≥ r. Sursa s, i destinat, iile sunt conectate de o ret,ea de transportdirect, ionata s, i aciclica. Se noteaza cu S0 = {f1, . . . , fr} setul fluxurilor de date sursa. Fiecaredestinat, ie recept, ioneaza un subset Si a setului init, ial de fluxuri S0. Subseturile Si, i = 1, k nu suntdistincte, anumite destinat, ii recept, ionand acelas, i flux de date. Transmisiile unicast multiple punct-la-punct ıntre sursa s, i fiecare destinat, ie reprezinta o solut, ie des ıntalnita ın ret,elele de ditribut, iede cont, inut, dar sunt caracterizate de folosirea ineficienta a resurselor ret,elei. Solut, ia pe baza NCasigura pentru fiecare nod destinat, ie rate de transfer apropiate de capacitatea ret,elei, s, i implicitutilizarea eficienta a resurselor ret,elei. Se presupune ca nodurile ret,elei sunt sincronizate, ratele detransfer s, i ıntarzierile legaturilor sunt cunoscute, s, i sunt folosite tehnici avansate de managementale ret,elei (ca cele propuse ın [31]). Se presupune ca legaturile din ret,ea sunt quasi error free, fiindfolosite codurile de canal corespunzatoare. Aceste condit, ii fac posibila implementarea tehnicilorNC ın ret,eaua de transport.

Ret,eaua de comunicat, ii este modelata ca un graf G = (V,E), unde V este setul denoduri, iarE este setul de legaturi. In cazul RNC fiecare nod al ret,elei realizeaza o mapare liniara aleatoarea proceselor de intrare ın procese de ies, ire. Un proces reprezinta o funct, ie care genereaza un fluxde date. Maparile liniare sunt alese aleator la fiecare nod. Nodurile destinat, ie trebuie sa cunoascacombinat, ia liniara globala a proceselor de intrare de pe legaturile lor. Informat, ia legata de maparepoate fi trimisa ımpreuna cu pachetele sub forma unui vector de coeficient, i, care este actualizatla fiecare nod aplicand aceleas, i operat, ii asupra vectorului de codare ca s, i asupra datelor [4].

In Figura 6.12 este prezentata o topologie fluture, ın care este implementat RNC. X1 s, i X2 suntprocesele prezente la nodul sursa, fiecare dintre ele generand fluxuri de date separate, fi, i = 1, 2.Coeficient, ii ci, i = 1, 6 sunt selectate aleator dintre elementele campului finit GF (2m). In Figura6.12 sunt prezentate s, i procesele transmise pe diferite legaturi.

Procesele discrete aleatoare X1, X2, . . . , Xr sunt observate la nodul sursa, iar procesele deies, ire reprezinta o combinat, ie liniara aleatoare a proceselor de intrare. Sunt ın total w legaturi ınret,ea. O legatura l este legatura de ies, ire a nodului v daca v = tail(l) s, i legatura de intrare ınnpdul v daca v = head(l). Pe fiecare legatura se transmite un proces aleator Y (l). Se presupuneca toate legaturile au capacitate unitara, iar legaturile cu o capacitate mai mare sunt modelateca legaturi avand capacitate unitara paralele. Procesele aleatoare genereaza secvent,e binare,lungimea vectorilor de informat, ie fiind constanta ın toate transmisiile. Operat, iile de codare suntefectuate pe vectori de lungime m, care sunt elementele unui camp finit GF (2m) [4].

91

S

N1

N3

D1

N4

D2

N2

X1,X2

1 1 2 2c X c X 3 1 4 2c X c X

5 1 1 2 2

6 3 1 4 2

c c X c X

c c X c X

Figura 6.12: Exemplu de Random Network Coding

Pe baza acestor observat, ii, procesul Y (j) transmis de un nod v pe o legatura de ies, ire j,v = tail(j) este o combinat, ie liniara a proceselor Xi generate la acest nod s, i procesele Y (l)recept, ionate pe legaturile de intrare l. In cazul unei transmisii fara ıntarzieri Y (j) poate fi scrisca:

Y (j) =∑

{i:Xi generated at v}

ai,jXi +∑

{l:head(l)=v}

fl,jY (l) (6.2)

Procesul de ies, ire Z(β, i) la nodul destinat, ie Dβ este o combinat, ie liniara a proceselorrecept, ionate:

Z(β, i) =∑

{l:head(l)=β}

bβi,lY (l) (6.3)

Coeficient, ii de codare {ai,j, fl,j, bβi,l ∈ GF (2m)} formeaza matricile:

Ai,j =

{ai,j if v = tail(j)

0 otherwise(6.4)

Bβi,l =

{bβi,l if v = head(l)

0 otherwise(6.5)

de dimensiune r × w, unde r este numarul de procese sursa s, i w este numarul de legaturi dinret,ea, s, i matricea:

Fl,j =

{fl,j if head(l) = tail(j)

0 otherwise(6.6)

de dimensiune w × w. Un triplet A,F,Bβ reprezinta un cod de ret,ea liniar. Folosind notat, iaG = (I−F )−1 unde I este matricea identitate de dimensiune w×w, matricea de transfer a ret,eleila nodul destinat, ie Dβ poate fi exprimat ca:

Mβ = AGBTβ (6.7)

Pentru o transmisie multicast problema de codare are solut, ie daca matricea de transfer Mβ

este inversabila [4].

6.2.2 Adaptarea tehnicilor RNC pentru transmisii unicast multiple

Diseminarea datelor de la un nod sursa la un numar dat de noduri destinat, ie implica mai multetransmisii unicast sau multicast care partajeaza resursele ret,elei de transport. In Figura 6.13 esteprezentata o topologie de ret,ea ın care au loc transmisii unicast multiple. Capacitatea C a acestei

92

N1

D1 D2

N7N6

N5N4

N3N2

f1, f2, f3

f1, f2 f2, f3f1, f3

S

D3

Figura 6.13: RNC pentru transmisii unicast multiple

ret,ele, considerand legaturi de capacitate unitara, este data de teorema flux maxim - taieturaminima s, i este de doua unitat, i de date/unitate de timp. Aceasta capacitate poate fi atinsa pentrutransmisii multicast folosind RNC. In cazul transmisiilor unicast multiple, nodurile destinat, ie nutrebuie sa decodeze toate pachetele trimise de sursa, sunt suficiente pachetele care sunt destinateacelui nod destinat, ie.

In exemplul prezentat ın Figura 6.13 nodul sursa S trimite fluxurile de date f1, f2 s, i f3, fiecaredintre fluxuri avand rata unitara. Rata totala r a acestor fluxuri de date este mai mare decatcapacitatea ret,elei s, i nodurile destinat, ie nu pot decoda toate fluxurile de date trimise de sursa.In scenariul considerat nodurile destinat, ie D1, D2 s, i D3 sunt interesate de fluxurile f1, f2; f1, f3 s, if2, f3. Fiecare pereche de fluxuri are rata egala cu doi, iar fiecare destinat, ie poate decoda fluxurilenecesare, daca se folosesc tehnici de codare de ret,ea potrivite.

In general, daca rata totala a fluxurilor de date sursa r ındeplines,te condit, ia r ≤ C toatenodurile destinat, ie pot decoda toate fluxurile unicast. Daca r > C nu este posibila decodareatuturor fluxurilor de catre fiecare nod destinat, ie, dar fiecare destinat, ie poate decoda un set defluxuri de date a caror rata este rg ≤ C [84].

In scenariul considerat pentru decodarea proceselor de interes la nodul destinat, ie Dβ estenecesara rezolvarea unui sistem de ecuat, ii subdeterminate:

Zβ = MβX (6.8)

unde Mβ este matricea de transfer la nodul Dβ s, i X reprezinta procesele sursa.Pentru gasirea solut, iilor acestui sistem de ecuat, ii, trebuie calculata pseudoinversa matricii de

transfer Mβ folosind eliminarea Gauss-Jordan. Matricea de transfer este completata cu matriceaidentitate. Se realizeaza operat, ii elementare pe randuri pana cand matricea ajunge ın forma scararedusa. Eliminand matricea de identiate se obt, ine inversa, sau ın cazul acesta pseudoinversa,matricii de transfer.

[MβI]→M−1β [MβI]→ [IM−1

β ] (6.9)

Pentru a asigura ca fiecare destinat, ie poate decoda fluxurile necesare, trebuie impuse anumitecondit, ii pentru fiecare matrice de transfer Mβ:

• Rangul matricii de transfer trebuie sa fie mai mare sau egal cu numarul fluxurile care trebuiedecodate;

• Daca matricea de transfer nu are rangul maxim, liniile corespunzatoare fluxului sau fluxurilorcare nu vor fi decodate trebuie sa fie zero [84].

93

Deci matricea de transfer trebuie sa fie de forma:

Mβi,j =

{mβi,j daca fluxul i trebuie decodat

0 altfel(6.10)

Matricea de transfer Mβ satisface aceste condit, ii daca matricea N = A(I−F )−1 de dimensiuner × w are urmatoarea structura [84]:

Ni,j =

{ni,j daca fluxul i trebuie decodat s, i v 6= head(j)

0 altfel(6.11)

Avand ın vedere ca structura matricii F este data de topologia ret,elei s, i depinde de toatenodurile implicate ın NC, aceasta nu poate fi modificat foarte us,or. Singura posibilitate de aındeplini condit, ia de mai sus este alegerea coeficient, ilor de codare care compun matricea A ınmod corespunzator prin rezolvarea urm.torului sistem de ecuat, ii:

A(I − F )−1 = N (6.12)

astfel ıncat sa fie ındeplinite condit, iile legate de matricea N .Pentru a evita complexitatea computat, ionala ridicata care ar rezulta din recalcularea

coeficient, ilor de codare la fiecare nod, ıntr-un sistem de transmisie real se propune folosireacodarii de ret,ea deterministe. In cazul acestor coduri, coeficient, ii de codare se determina laınceputul transmisiei s, i raman nemodificate pana la terminarea transmisiei sau pana lamodificarea topologiei.

Structura matricii A corespunzatoare ret,elei din Figura 6.13, de dimensiune 3× 15 (3 fluxurisursa s, i 15 legaturi ın ret,ea), potrivit (6.4) este:

A =

a1,1 a1,2 a1,3 0 · · · 0a2,1 a2,2 a2,3 0 · · · 0a3,1 a3,2 a3,3 0 · · · 0

(6.13)

Pentru a permite decodarea corecta a fluxurilor dorite la fiecare nod destinat, ie, urmatoarelecondit, ii trebuie sa fie satisfacute de coeficient, ii de codare: a2,1 = g2,12, a2,2 = g1,12 s, i a2,3 =a2,2 ∗ g2,13/g3,13, unde se foloses,te notat, ia G = (I − F )−1 s, i gi,j sunt elementele matricii G;a1,1 = a1,2 = a3,2 = a3,3 = 0; coefiecient, ii a1,3, a3,1 pot lua orice valoare din campul GF (2m).

Structura matricii N = A(I − F )−1, de dimensiune 3 × 15 cu criteriile impuse de (6.11) esteurmatoarea:

N = A(I − F )−1 =

n1,1 · · · n1,15

n2,1 · · · n2,15

n3,1 · · · n3,15

(6.14)

unde n1,10 = n1,11 = n2,12 = n2,13 = n3,14 = n3,15 = 0.Matricile Bβ, Mβ s, i M

−1β pentru nodul destinat, ie D1, care trebuie sa decodeze fluxurile de date

f1 s, i f2 vor fi prezentate ın urmatoarele paragrafe.Structura matricii B1, de dimensiune 3× 15 ın conformitate cu (6.5) este urmatoarea:

B1 =

0 · · · 0 b11,10 b11,11 0 · · · 00 · · · 0 b12,10 b12,11 0 · · · 00 · · · 0 b13,10 b13,11 0 · · · 0

(6.15)

unde elementele matricii B1 nenule sunt alese aleator dintre elementele campului finit GF (2m).Avand ın vedere condit, iile impuse matricilor A, N s, i Mβ, matricea de transfer la nodul D1

conform (6.10) poate fi scrisa ca:

94

A(I − F )−1BT1 = M1 =

0 0 0m2,1 m2,2 m2,3

m3,1 m3,2 m3,3

(6.16)

Dupa eliminarea Gauss-Jordan, se obt, ine pseudoinversa matricii de transfer sub forma:

M−11 =

0 q1,2 q1,3

0 q2,2 q2,3

1 0 0

(6.17)

Folosind matricea pseudoinversa, fluxurile de date dorite (f2 s, i f3) pot fi decodate corect decatre nodul destinat, ie D1. Pentru celelalte noduri destinat, ie matricile de transfer sunt construiteın mod similar.

6.2.3 Implementarea s, i evaluarea solut, iei propuse

In scopul evaluarii solut, iei propuse, tehnica de codare de ret,ea descrisa a fost implementata ınlimbajul de programare C, sub sistemul de operare Ubuntu, folosind topologia 6.13. Fiecare nodeste reprezentat de un program separat, care implementeaza operat, iile necesare pentru NC,semnalizare s, i transmisii de date. Datele sunt transmise ıntre noduri folosind socketuri UDP.Coeficient, ii de codare sunt determinat, i la ınceputul aplicat, iei s, i sunt constant, i pe duratatransmisiilor, fiind implementat RNC determinist. Pentru efectuarea calculelor ın campuri finites-a folosit o librarie dedicata [85].

Din punctul de vedere al solut, iei propuse, rolul nodului sursa S este cel mai important, deoareceacest nod trebuie sa determine matricea A, de care depinde decodarea corecta a datelor. Dateletransmise sunt citite din trei fis, iere diferite, fiecare reprezentand o sursa de date. Fiecare procesde citire genereaza un flux de date separat.

Intarzierea dintre doua pachete consecutive are distribut, ie Pareto limitata, a carei parametriisunt ales, i conform modelului de trafic video ın timp real, descris ın specificat, ia IEEE 802.16m[86]. Funct, ia de densitate de probabilitate a distribut, iei Pareto este [87]:

h(x) =αkαx−α−1

1− (k/p)αdaca k ≤ x ≤ p (6.18)

unde α = 1.2, k = 2.5ms s, i p = 12.5ms.Funct, ia de densitate cumulativa a distribut, iei Pareto este:

H(x) =1− (k/x)α

1− (k/p)αdaca k ≤ x ≤ p (6.19)

Pentru generarea unor variabile aleatoare cu distribut, ie Pareto, se foloses,te metodatransformatei inverse. Conform acestei metode, daca U1, U2, . . . este o secvent, a de variabilealeatoare independente s, i distribuite uniform ın (0, 1] s, i H : R → [0, 1] este o distribut, ie, atuncivariabilele aleatoare X1, X2, . . . unde Xi = H−1(Ui) pentru i = 1, 2, . . . sunt independente s, ifunct, ia de distribut, ie este data de H [88]. Distribut, ia Pareto inversa este data de:

H−1(x) =

(pα − pαx+ kαx

kαpα

)−1/α

if k ≤ x ≤ p (6.20)

Fiecare dintre fluxurile de date generate conform metodei descrise are o rata medie de 1.9Mbps masurata folosind un program de captura a pachetelor, numit Wireshark [84].

In Figura 6.14 este prezentata procesarea facuta de nodul sursa S. Nodul sursa genereazapachetele care formeaza fluxurile sursa prin citirea datelor din trei fis, iere diferite. Lungimeapachetelor poate varia, de aceea pachetele se completeaza cu zero, pentru a avea acees, i lungimea tuturor pachetelor. Daca la un moment dat nu este pachet recept, ionat de la careva dintre

95

Pachet de la

fiecare flux?

Adaug< “padding” dac< este necesar

Adaug< ID pachet, flux

Codeaz< folosind matricea A 〇i trimite

Creeaz< pachet zero în loc de

pachetul lips<

Adaug< “padding” dac< este necesar

DaNu

Figura 6.14: Procesarile la nodul sursa

Pachet în

ambele cozi?

Codeaz< pachete 〇i trimite

A〇teapt< pachetele 〇i verific< din nou

DaNu

Figura 6.15: Codarea la nodurile intermediare

fluxuri, atunci pachetul lipsa este ınlocuit cu un pachet care cont, ine numai bit, i de zero. Aceastacompletare este necesara pentru a realiza codarea. Dupa obt, inerea datelor utile, ın fiecare pacheteste inclus un antet definit de utilizator:

• ID flux: identificaa fluxul din care provin datele

• ID pachet sau numar de secvent, a: este folosit la decodor pentru identificarea pachetelorpereche s, i pentru ordonarea pachetelor la destinat, ie. Acelas, i scop poate fi atins s, i folosindo eticheta de timp care se adauga la pachet la nodul sursa.

In Figura 6.15 este prezentat modul de operare al nodurilor de codare N4 s, i N5. Fiecare nodde codare verifica daca a recept, ionat pachete pe ambele legaturi de intrare. Daca da, nodul decodare realizeaza o combinat, ie liniara aleatoare a pachetelor recept, ionate s, i trimite pachetul codatpe lagatura de ies, ire. Daca numai pe o singura legatura de intrare exista pachete recept, ionate,nodul de codare as,teapta o perioda de timp pentru recept, ia pachetelor s, i de pe cealalta legaturade intrare. Dupa ce se recept, ioneaza pachetul de pe legatura cealalta, se genereaza pachetul codats, i se transmite pe legatura de ies, ire.

In Figura 6.16 este prezentata procesarea realizata de nodurile destinat, ie D1, D2 s, i D3.Pachetele recept, ionate de pe legaturile de intrare sunt stocate ın doua cozi FIFO. De fiecare datacand un pachet este recept, ionat ıntr-o coada, este verificata cealalta coada daca exista pachetulpereche, necesar pentru decodare. Daca pachetul pereche este gasit, pe baza ID-ului pachet saupe baza etichetei de timp, are loc decodarea, iar pachetele folosite pentru decodare sunteliminate din cozi. Daca pachetul pereche nu este gasit, atunci pachetul este stocat s, i candajunge un pachet nou ın coada cealalta, se verifica daca acesta este sau nu perechea pachetuluistocat [84].

In Figura 6.17 este prezentata arhitectura bancului de testare. In loc de 11 calculatoareconectate conform topologiei prezentate ın Figura 6.13, sunt folosite numai doua calculatoare. Peprimul calculator ruleaza aplicat, iile corespunzatoare nodurilor S s, i Ni, i = 1, 5, iar pe al doileacalculator ruleaza aplicat, iile care corespund nodurilor N6, N7 s, i Di, i = 1, 3. Fiecare calculator

96

Pachet în

ambele cozi?

Verific< perechea

A〇teapt< pachetel 〇i verific< din nou

Da

NuG<sit<? Decodeaz<Stocheaz< pachetul

nedecodat Da

Nu

Figura 6.16: Decodarea la nodurile destinat, ie

N1

D1 D2 D3

N7N6

N5N4

N3N2

S

SDSL

IEEE 802.11g

PC1

PC2

Figura 6.17: Arhitectura bancului de testare RNC

are doua interfet,e Ethernet s, i doua interfet,e IEEE 802.11g. Legaturile stabilite ıntre cele douacalculatoare sunt urmatoarele: ıntre nodurile N1 s, i D1, s, i nodurile N3 s, i D3 este o legaturawireless; iar ıntre nodurile N4 s, i N6, s, i nodurile N5 s, i N7 este stabilita cate o conexiune SDSL(Symmetric Digital Subscriber Line) folosind interfet,ele Ethernet. Conexiunea SDSL este folosita,pentru ca permite limitarea fizica a ratelor de transfer pe legaturile N4 − N6 s, i N5 − N7 pentrumodificarea capacitat, ii ret,elei. Legaturile wireless au fost folosite pentru a asigura un scenariu detransmisie cat mai real din punctul de vedere al ıntarzierilor, al ratelor de transfer variabile s, i alaltor parametri.

Pentru a evalua performant,ele solut, iei RNC propuse, a fost implementata ca s, i referint, a oschema de transmisie simpla fara RNC. In cazul acestui scenariu fiecare nod intermediar trimitetoate pachetele recept, ionate pe toate legaturile de ies, ire. In tabelul 6.1 sunt prezentate rezultateleobt, inute. Tabelul arata procentul de octet, i recept, ionat, i corect de nodurile destinat, ie ın ambelecazuri: transmisie cu s, i fara RNC. Rata de transfer pe legaturile gatuite N4 − N6 s, i N5 − N7 afost limitata la valorile date ın tabel, care reprezinta rate de transfer SDSL standard.

Se poate observa, ca daca rata de transfer pe legaturile gatuite (conexiunile SDSL) rbn estemai mica decat rata medie a surselor rs (fiecare sursa avand aceeas, i rata medie), atunci datele nupot fi recuperate nici macar folosind RNC, dar procentul datelor decodate corect este mai marecu 15-20% fat, a de cazul necodat. Daca rs ≤ rbn < 2 ∗ rs toate datele se decodeaza corect folosindRNC, s, i numai 80% din date se recept, ioneaza corect daca nu se foloses,te RNC. Daca rbn ≥ 2 ∗ rs

97

Tabela 6.1: Procentul datelor recept, ionate corect

Rata de transfer Octet, i recept, ionat, i corect [%]

SDSL [kbps] RNC Fara RNC

1280 85 65

2304 100 88

3840 100 100

5200 100 100

Re―ea de transport

Nod capabil de NC

Gateway capabil de NC

Fluxuri de date surs<

Figura 6.18: Scenariu de comunicat, ie folosind RNC

atunci datele pot fi recuperate folosind oricare dintre cele doua metode de transmisie.Solut, ia RNC propusa pentru transmisia datelor de la un nod sursa la mai multe destinat, ii

poate fi aplicata s, i ın scenariul prezentat ın Figura 6.18. In acest scenariu un ”gateway” conectezaret,eaua din care fac parte nodurile destinat, ie la o ret,ea de transport. Toate fluxurile de datetrebuie sa treaca prin acest gateway pentru a ajunge la nodurile destinat, ie. Gateway-ul va codafluxurile de date ıntr-un mod similar cu nodul sursa din modelul descris anterior.

Pentru a extinde solut, ia la un scenariu cu mai multe noduri sursa, ar trebui definita o sursavirtuala care este capabila de codarea fluxurilor surselor individuale. Pentru a realiza acest lucru,nodurile sursa ar trebui sa aiba acces la fluxurile de date ale celorlalte surse, ceea ce nu este osolut, ie practica.

6.3 Concluzii s, i contribut, ii

Testele efectuate au aratat ca din punctul de vedere al pachetelor pierdute folosirea tehnicilor decodare NC pe baza operat, iei XOR a condus la cres,terea semnificativa a performant,elor, chiar dacaexista congestie ın ret,ea. Transmisiile au fost evaluate atat folosind metrici obiective (procentulde pachete pierdute) cat s, i metrici subiective (calitatea perceputa a imaginilor decodate).

Evaluarea metodei de codare dinamica a pachetelor arata ca daca timpul de as,teptare a

98

pachetelor ın codor are valoare apropiata de valoarea ıntarzierii ıntre pachete ale fluxurilor sursase poate asigura un control al congestiei bun pe legatura gatuita. In acelas, i timp, timpul deas,teptare trebuie sa fie relativ mic pentru a satisface cerint,ele serviciilor video referitoare laıntarzieri [55].

Cadrul matematic propus ın al doilea subcapitol pentru utilizarea RNC ın aplicat, iile dediseminare a datelor se bazeaza pe teoria codurilor de ret,ea RNC folosite pentru transmisiimulticast s, i descrie modul de construire a matricilor de codare astfel ıncat sa fie posibil pentrufiecare destinat, ie sa selecteze fluxurile de date pe care vrea sa le decodeze ın condit, iile ın carerata ınsumata a fluxurilor de date sursa este mai mare decat capacitatea ret,elei.

Metoda dezvoltata permite transmisii unicast multiple ıntre sursa s, i destinat, ii a caror rataglobala se apropie (ın cazul unor topologii particulare chiar atinge) de capacitatea ret,elei. Solut, iaRNC propusa permite de asemenea o alocare mai simpla s, i mai eficienta a resurselor fat, a detransmisiile unicast multiple sau multicast clasice. Codarea RNC a fluxurilor sursa distribuieaceste fluxuri pe toate resursele disponibile ın ret,ea s, i nu mai este nevoie de alocarea resurselorpentru fiecare flux de date ın parte.

Solut, ia propusa a fost evaluata folosind un banc de testare care permite ajustarea fizica a rateide transfer pe anumite legaturi, ceea ce influent,eaza ın mod direct capacitatea ret,elei. Masuratorileefectuate arata performant,e semnificativ mai bune decat transmisiile fara RNC din punctul devedere al pachetelor pierdute.

Contribut, iile autorului ın acest capitol sunt:Contribut, ie 1: Integrarea tehnicilor de codare de ret,ea pe baza operat, iei XOR ıntr-o ret,ea

de comunicat, ii reala.

• elaborarea metodelor de codare/decodare dinamice;

• realizarea unui protocol de semnalizare folosit pentru activarea/dezactivarea operat, iilor NC;

• implementarea unei metode pentru sincronizarea fluxurilor de date la codor s, i la decodor;

• implementarea unor module software integrate ıntr-o ret,ea reala;

• testarea practica a solut, iei.

Contribut, ie 2: Elaborarea unei solut, ii de codare RNC pentru transmisii unicast multiple ınret,ele direct, ionate s, i evaluarea acesteia ıntr-o ret,ea de comunicat, ii reala.

• elaborarea bazei matematice a codurilor RNC pentru transmisii unicast multiple;

• definirea modelului de trafic al fluxurilor de test;

• elaborarea metodelor practice de codare/decodare s, i de sincronizare a fluxurilor;

• implementare software a acestor tehnici de codare;

• testarea solut, iei RNC.

99

Capitolul 7

Integrarea tehnicilor NC ın arhitecturilede ret,ele propuse pentru viitorulInternet

Chiar daca avantajele tehnicilor de codare de ret,ea au fost studiate ın detaliu, proiectarea unorarhitecturi de ret,ele care permit integrarea de complexitate redusa s, i scalabila a tehnicilor NC aprimit mult mai put, ina atent, ie din partea comunitat, ii de cercetare decat alte tehnologii propusepentru viitorul Internet. Datorita complexitat, ii operat, iilor necesare pentru realizarea codariide ret,ea s, i natura distribuita a acestora, multe init, iative se concentreaza asupra unor solut, iialternative mai conservative.

Dezvoltarea unor arhitecturi noi de ret,ele reprezinta una dintre direct, iile de cercetare cele maidinamice. Limitarile pe care le impun ret,elele curente, limitari care nu se mai pot rezolva prinmodificarea arhitecturilor s, i a protocoalelor curente care stau la baza acestor cercetari. Noilearhitecturi propuse urmaresc trei aspecte majore:

• Dezvoltarea unor arhitecturi s, i stive de protocoale mult mai flexibile care pot sa ofere uncadru pentru integrarea serviciilor noi, pentru compunerea serviciilor s, i care pot oferi osolut, ie la limitarile oferite de OSI-ficarea Internetului actual.

• Dezvoltarea unor arhitecturi s, i ret,ele care sunt orientate spre transferul de informat, ie s, inu spre transferul de date. Acest lucru presupune luarea ın calcul a semnaticii datelor detransferat precum s, i definirea unor module/entitat, i care pot procesa informat, ii s, i nu numaidate.

• Integrarea unor tehnici de ”cross-layer” care permite o exploatare mult mai eficienta aresurselor retelei precum s, i o flexibilitate mai buna ın integrarea de servicii noi. Acesteoperat, ii sunt necesare de asemenea s, i pentru procesarile de informat, ie realizate ın cadrulret,elelor (In-Network Processing).

In acest capitol va fi prezentata posibilitatea integrarii tehnicilor NC ın diferite arhitecturide ret,ea propuse pentru ret,elele viitoare. Sunt prezentate unele arhitecturi identificate de catreautor ca fiind potrivite pentru integrarea NC, printre care arhitectura GP propusa ın proiectulFP7-4WARD, arhitectura FIND, FARA, SILO, RBA.

7.1 Arhitectura “Generic path“

7.1.1 Aspecte generale

Scopul proiectului FP7-4WARD este dezvoltarea unei arhitecturi care permite proiectarea s, iimplementarea mai multor paradigme s, i protocoale de comunicat, ii noi. Calea generica (Generic

100

Entitate

EP

MP

Comparti-ment de

nod

-

Hook / Port

ReYea / Compartiment

GP

GP

Figura 7.1: Elementele arhitecturii GP

Path, GP) propusa ın [89] reprezinta o solut, ie flexibila pentru a permite integrarea tehnologiilorcurente s, i viitoare, fiind ın acelas, i timp bazat pe o abordare orientata pe obiect. Calea genericaeste o entitate capabila de a transfera date, de exemplu poate fi o conexiune TCP, un ”torrent”folosit pentru partajarea fis, ierelor, o ruta etc. Conceptul de GP permite generarea unei cai decomunicat, ii complexe prin mos,tenirea funct, ionalitat, ilor cailor mai simple. O cale generica maicomplexa construita din cai generice simple poate fi capabila de cooperare s, i codare.

Cele mai importante abstractizari definite ın framework-ul GP prezentate ın Figura 7.1 sunturmatoarele:

• Entitate (ET): este un obiect capabil sa produca, proceseze sau sa consume informat, ie.Poate fi un proces, un fir de execut, ie dintr-un proces sau un set de procese, s, i se poate aflaın terminale sau ın elemente de ret,ea (noduri).

• Cale generica (Generic Path, GP): este un mijloc pentru transferul datelor ıntre puncteleterminale (Endpoints, EP). Caile generice sunt folosite de catre entitat, i pentru schimbul deinformat, ii, care este injectata sau extrasa ıntr-un/dintr-un GP prin intermediul unui punctterminal. Caile generice pot avea capacitate de procesare s, i sunt ımpart, ite ın sub-GP-uri,funct, iile putand fi executate ın punctele de conectare.

• Punct de mediere (Mediation Point, MP): este o entitate speciala, care interconecteaza cailegenerice, astfel fiind format o cale generica noua. Punctul de mediere are rol importantın adaptarea de rata, multiplexare, codare, etc. Punctul de mediere permite schimbul deinformat, ii “cross-layer“ ıntr-o stiva de protocoale.

• Compartiment (CT): reprezinta un set de cai generice de acelas, i tip s, i cu aceleas, icaracteristici. Un compartiment poate fi accesat prin punctele de mediere. Uncompartiment poate corespunde la o ret,ea ıntreaga sau o subret,ea, la un domeniu IP, saupoate avea un scop mult mai limitat, fiind legat de un singur strat din stiva de protocoalesau de un singur nod. Limitele compartimentului sunt impuse de aspecte tehnice sauadministrative, iar membrii compartimentului sunt entitat, i abstracte: noduri s, i procesecare comunica conform regulilor definite de compartiment.

• Entitate generatoare de cai generice (Generic Path Factory, GPF): este un obiect al unuicompartiment care este responsabil de generarea s, i init, ializarea cailor generice. Este dedicatın special generarii s, i instant, ierii a unor cai mai complexe.

• “Hook/port“: permite comunicarea ıntre entitat, ile localizate ın acelas, i sistem de procesaresau ın acelas, i nod, dar ın compartimente diferite.

101

• ”Framework-ul” de cooperare s, i codare (Cooperation and Coding Framework, CCFW):acumuleaza funct, ionalitat, ile cerute de diferite tehnici de cooperare s, i de codare. Permite ointegrare mai simpla s, i uniforma a tehnicilor de cooperare s, i de codare ın ret,elele actuale s, iın ret,elele viitorului.

“Framework-ul“ de cooperare s, i codare propus ın [33], reprezinta un cadru pentru integrareadiferitelor tehnici de cooperare s, i de codare ın ret,elele de comunicat, ii pe baza elementelor dearhitectura prezentate mai sus. Pentru a realiza procesari cooperative, entitat, ile implicate ıncooperare trebuie sa fie cons,tiente de prezent,a celorlalte entitat, i s, i trebuie sa fie capabile de aschimba informat, ii de management s, i de control pe langa datele utile. Daca topologia ret,elei ıncare se implementeaza tehnicile de cooperare este extinsa, comunicarea trebuie sa aiba loc atatıntre entitat, ile din acelas, i, cat s, i din domenii de administrat, ie diferite. Pe de alta parte, caile careinterconecteaza entitat, ile cooperative trebuie sa permita mecanisme speciale, cum sunt rutareamulticale, multicast, rezervare de resurse, etc., indiferent de locul de instant, iere a acestor cai.

Compartimentul de nod, N-CT, este un compartiment special care reprezinta reuniunea tuturorentitat, ilor instant, iate ın acelas, i sistem de operare, ce ruleaza pe o mas, ina fizica sau virtuala.Entitat, ile dintr-un compartiment de nod realizeaza operat, ii caracteristice diferitelor straturi dinstiva de protocoale.

In-Network Management (INM) [31] reprezinta o paradigma noua de management pentruInternetul viitorului. Ideea de baza este distribuirea sarcinilor de management pe mai multenoduri, oferind astfel o protect, ie ımpotriva defectarii sistemului ıntr-un singur punct. INM Cross-Layer QoS (INM CLQ) este un modul INM dedicat, care ofera servicii “cross-layer“ (“bottom-up“s, i “top-down“) pentru o entitate din acelas, i compartiment. Modulul CLQ foloses,te semnalizareın afara benzii pe caile generice dedicate, care transporta informat, ii de control s, i de stare ıntreentitat, i. Procesul de adaptare este asincron s, i se afla ın interiorul sau ın afara procesului decomunicat, ie. In funct, ie de metoda de implementare, comunicarea cu entitat, ile INM CLQ se poaterealiza printr-o baza de date comuna sau prin cale generica dedicata.

In cazul semnalizarii CL ”bottom-up”, modulul CLQ ofera indicatori de performant, a ın timpreal, obt, inut, i de la substratul MAC. Din acest motiv, trebuie instant, iat un mecanism CLQ ınfiecare nod al compartimentului, care va realiza masuratori active sau pasive, atunci candparametrii cerut, i (rata de transfer disponibila, ATR; ıntarzierea ıntr-un sens, OWD) nu pot fifurnizat, i de tehnologia actuala. Indicatorii de performant, a ment, ionat, i reprezinta informat, ieimportanta pentru entitat, i pentru a ajuta luarea deciziilor ın timpul funct, ionarii, de exempluactivarea/dezactivarea operat, iilor de codare NC. Pe de alta parte, serviciile CL “top-down“ suntdedicate impunerii parametrilor t, inta pentru entitat, ile din compartimentele inferioare. [47]

In acest subcapitol se propune integrarea tehnicilor de codare NC ın arhitectura bazata pe caleagenerica, propusa ın cadrul proiectului de cercetare FP7-4WARD. Scopul autorului este creareaunui “framework“ ın care sunt integrate abstract, iile de baza ale arhitecturilor GP s, i INM CLQ,tehnicile de codare NC, semnalizarile s, i protocolul de rutare. Se dores,te analiza interact, ionariidintre aceste module ıntr-un ”testbed” real s, i a modului ın care ele pot ımbunatat, i performant,eleglobale ale sistemului.

7.1.2 Arhitectura GP pentru integrarea NC ın ret,ele WAN

Ret,elel WAN (Wide Area Network) sunt formate din mai multe ret,ele distincte care utilizeazatehnologii diferite s, i care sunt grupate ın diferite domenii de administrative independente.Integrarea tehnicilor NC ın ret,elele WAN necesita o procesare distribuita peste ret,eleleheterogene s, i este nevoie de gestionarea unitara a resurselor acestor ret,ele.

Problemele ment, ionate pot fi rezolvate prin definirea unui compartiment de cooperare s, i decodare (CC-CT) peste ret,elele fizice (sau domeniile de administrare) care include entitat, ilecooperative. De asemenea, trebuie sa existe un spat, iu de nume s, i un plan de control s, imanagement comun pentru toate entitat, ile implicate ın cooperare, care trebuie sa includa oentitate GPF responsabil de instant, ierea GP-urilor cu funct, ionalitat, i similare.

102

CT2

CT de cooperare & codare

ET2

ET2

MP2

CT1

ET1

ET1

CT4

ET4

ET4

MP4

CT3

ET3

ET3

MP3

CT6

ET6

ET6

MP6

CT5

ET5

ET5

MP5

GP_B

GP_A

GP_B

GP_A

MP1

GP_B

GP_A

GP_B

GP_A

GPF

Figura 7.2: Compartiment de cooperare s, i codare instant, iat peste sisteme autonome

Figura 7.2 prezinta o situat, ie ın care entitat, ile capabile de cooperare s, i codare sunt situateın nodurile unor sisteme autonome (AS) diferite. Aceste sisteme sunt caracterizate de diferitemecanisme interne s, i spat, ii de nume s, i sunt transparente pentru vecini ın ceea ce prives,te topologialor interna. Fiecare sistem autonom reprezinta un compartiment separat. In exemplul prezentatun flux de date trebuie transmis ıntre compartimentele CT1 s, i CT4, iar un alt flux de date ıntrecompartimentele CT2 s, i CT3, ıntre compartimentele CT5 s, i CT6 existand o legatura gatuita. CC-CT definit peste sistemele autonome ofera infrastructura capabila sa rezolve problema controluluicongestiei prin cooperare s, i codare, fiind instant, iata o topologie fluture capabila sa implementezeNC. Topologia fluture este compusa din urmatoarele cai generice capabile de procesari de flux[90]:

• 2 GP-uri unicast: ET1-ET5 s, i ET2-ET5,

• 1 GP de codare: ET5-ET6, realizeaza NC,

• 2 GP-uri de decodare (“convergecast“): ET1-ET3 s, i ET6-ET3; ET2-ET4 s, i ET6-ET4.

Entitat, ile implicate ın cooperare act, ioneaza ca punct de mediere care conecteaza caile genericeimplicate ın transmisia cooperativa. Topologia fluture reprezinta o cale generica multipunct lamultipunct (MP2MP) cu un mecanism de control al congestiei integrat.

Entitat, ile dintr-un compartiment de nod realizeaza operat, ii care fac parte din diferitecompartimente orizontale care intersecteaza N-CT-ul (compartiment vertical). Pentru aimplementa operat, iile de cooperare s, i codare, fiecare compartiment de nod trebuie sa includapuncte de mediere s, i modulul INM CLQ. Punctele de mediere au rolul de a interconecta cailegenerice dintre nodurile care coopereaza s, i trebuie sa implementeze procedurile de cooperare.Entitat, ile INM CLQ au un rol important ın descoperirea topologiei actuale s, i a caracteristicilorlegaturii, s, i ın rezervarea resurselor de comunicat, ii.

Construirea unei cai generice complexe, capabila de cooperare necesita o entitate generatoarede GP-uri avand o privire de ansamblu asupra ret,elei. Rolul entitat, ii GPF este identificareatopologiilor de subret,ea ın care se poate implementa cooperarea, s, i controlul instant, ierii cailorgenerice capabile de cooperare. Entitatea GPF care instant, iaza caile cooperative este un obiectcentralizat, care nu este localizat neaparat ıntr-o singura entitate/nod fizic, ci poate fi distribuitpe mai multe entitat, i sau noduri. Arhitectura propusa pentru entitatea GPF include urmatoarelemodule, dupa cum se prezinta ın Figura 7.3 [90]:

103

GP Factory

InterfaY< de comunicaYie (InterfaY< de semnalizare)

Modul de control

semnaliz<ri

G<sirea topologieiGenerarea soluYiei de codare

Baz< de date- Entit<Yi cooperative- Capacitatea entit<Yilor- Lista fluxurilor- Caracteristicile fluxurilor- Parametrii leg<turilor

Modul de control

instanYiereGP

Figura 7.3: Arhitectura entitat, ii GPF

• un modul de procesare care ruleaza algoritmii de descoperire a topologiei s, i de gasirea solut, ieide cooperare s, i codare;

• un modul de control care instant, iaza caile generice capabile de cooperare pe baza solut, iilorde codare gasite anterior;

• un modul de baza de date care stocheaza toate entitat, ile compartimentului implicate ıncooperare cu urmatoarele informat, ii: nume, capabilitat, i de cooperare, resurse, parametriilegaturilor, caracteristicile fluxurilor de date care le traverseaza;

• un modul de semnalizare care implementeaza schimbul informat, iilor de control ıntre GPFs, i entitat, ile cooperative;

• interfat, a de comunicare care instant, iaza GP-urile de semnalizare catre entitat, ile implicateın cooperare.

Entitat, ile INM CLQ obt, in de la entitat, ile aflate ın compartiment datele legate de flux s, i delegaturi, proces care are loc, chiar daca punctul de mediere nu implementeaza interconectareacailor generice ın CC-CT. GPF obt, ine datele despre fluxuri s, i legaturi de la fiecare entitate INMfolosind cai generice de semnalizare dedicate. In acest mod GPF va avea o privire de ansambluasupra compartimentului CC-CT s, i va fi capabil sa genereze solut, ii de cooperare s, i codare.

O solut, ie posibila pentru instant, ierea cailor de comunicat, ii capabile de cooperare consta ınconstruirea acestor structuri cooperative pe baza statisticilor ret,elelor pe termen mediu s, i lung,s, i activarea procedurilor de cooperare numai cand acestea sunt necesare pe baza statisticilor petermen scurt. Dezavantajul acestei solut, ii consta ın necesitatea identificarii entitat, ilor, fluxurilorde date s, i resurselor ret,elei care vor fi implicate ın cooperare ınainte de activarea procedurilorde cooperare. O abordare mai generala consta din utilizarea capacitat, ii de transformare a cailorgenerice. Cateva cai generice punct la punct deja instant, iate pot fi transformate ıntr-o calegenerica multipunct-la-multipunct cu facilitat, i de cooperare s, i codare. Noua cale generica vamos,teni resursele s, i modurile de operare de la cele init, iale s, i va adauga resurse s, i metode deprocesare noi. Transformarea cailor generice vechi este us,urat de capabilitat, ile de procesare alepunctelor de mediere [90].

Un exemplu este prezentat ın Figura 7.4. Se presupune ca este construit un CC-CT care poateinstant, ia cai generice capabile de NC. Acest compartiment foloses,te serviciile de comunicat, ii oferitede compartimentul de ret,ea (Net-CT) situat sub CC-CT, care implementeaza operat, iile specificedin straturile inferioare ale stivei de protocoale OSI. Punctele de mediere s, i modulul INM, caresunt membrii ai CC-CT, trebuie sa fie prezente ın fiecare nod care este capabil de sarcini decooperare s, i codare. In Net-CT exista entitat, i simple de mediere, avand rolul de a transmitemai departe datele. Entitat, ile RP localizate ın compartimentele inferioare sunt responsabile de

104

GP_B

GP_B

GP_A

CT de cooperare & Codare

GP_A GP_B

GP_A

GPuri unicast iniYiale

GPuri adiYionale GPuri codate

GPuri multicast

GP MP2MP Capabil de NC

TransformareMoştenire

ET1

ET1

ET2

ET2

ET5

ET5 ET6

ET6

ET4

ET4

ET3

ET3

GP_B

GP_A

Figura 7.4: Transformare de GP-uri simple fara codare ıntr-un GP complex capabil de NC

implementarea protocolului de rutare. Se prezinta situat, ia ın care doua fluxuri de date punct-la-punct trebuie transmise prin CC-CT, iar pentru acest lucru GPF instant, iaza doua cai generice,una ıntre entitat, ile ET1 s, i ET4, iar una ıntre entitat, ile ET2 s, i ET3. Entitat, ile CC-CT ale acestorcompartimente de nod realizeaza medierea ıntre caile generice care vin/pleaca dinspre/spre exteriors, i caile generice interne ale CC-CT. Medierea ıntre legaturile care compun caile generice din CC-CT este realizata de entitat, ile Net-CT ale compartimentului de nod.

Fiecare entitate INM din CC-CT achizit, ioneaza prin operat, ii CL de la entitat, ile Net-CTidentificatorul s, i caracteristicile fluxurilor care ıl traverseaza, s, i caracteristicile legaturilor careinterconecteaza compartimentele de nod. Aceasta informat, ie este centralizata ın GPF, care vaavea o privire de ansamblu asupra CC-CT. Transferul de informat, ii CL este implementat prin”hook-urile” care interconecteaza entitat, ile ale aceluias, i compartiment de nod.

Daca operat, iile de cooperare s, i codare sunt necesare, atunci fluxurile de date care traverseazaentitat, ile din Net-CT sunt interceptate s, i trimise la punctele de mediere din CC-CT, careimplementeaza procesarile de date necesare pentru cooperare s, i codare. Fluxurile procesate suntinjectate ınapoi ın Net-CT. Caile generice care compun noul GP multipunct-la-multipunctcapabil de cooperare sunt instant, iate sub controlul GPF. Pentru a instant, ia aceste cai genericeintrarile tabelelor de rutare s, i a tabelelor de alocare a resurselor ale tuturor compartimentelor denod trebuie pastrate s, i trebuie stabilite rute noi. Calea generica noua va mos,teni resursele de lacaile generice vechi din care este formata s, i va cere noi resurse necesare pentru operat, iile decooperare s, i codare.

Daca se considera cazul topologiei fluture, codarea NC are loc ın nodul N3, iar decodareaın nodurile N5 s, i N6. Cai generice adit, ionale sunt instant, iate ıntre nodurile N1 s, i N5, s, i N2 s, iN6. Punctele de mediere permit ımpart, irea cailor generice vechi ın sub-GP-uri s, i conectarea cailorgenerice instant, iate. Instant, ierea unei cai generice complexe cu capabilitat, i de cooperare s, i codarenecesita o interact, iune puternica ıntre GPF a CC-CT s, i modulul INM CLQ. Sarcinile entitat, ilorINM ın aceasta interact, iune sunt [90]:

• Oferirea indicatorilor QoS de nivele inferioare (nivel fizic/MAC) pentru GPF (ATR s, i/sauOWD) pentru a informa GPF-ul despre starea actuala a ret,elei;

105

GPF INM CLQ RP

getExisting

Flows

listOfExisting

Flows

listOfGlobal

QoSParams

getQoS

Params

DetecYia fluxurilor în nodul curent

getPath

BetweenNodes

listOfInterme-

diaryNOdes

Calcularea

parametrilor QoS

globali

Figura 7.5: Interact, iunea ıntre INM CLQ, GPF s, i protocolul de rutare

• Recunoas,terea fluxurilor, necesara cand se proiecteaza o schema de cooperare sau codare.

Modulul INM CLQ care ruleaza ın fiecare nod al CC-CT are o privire limitata asupra ret,elei,pentru ca masuratorile sunt efectuate numai ıntre vecini. Din acest motiv, pentru a furnizainformat, ii despre o anumita cale (care cont, ine mai multe legaturi), modulul INM CLQ are treisarcini:

• Gasirea nodurilor intermediare de pe cale prin interact, iune directa cu protocolul de rutare[31] [47];

• Interogarea nodurilor intermediare despre parametrii lor QoS masurat, i local;

• Calcularea valorii globale a fiecarui parametru QoS: ATR global este ATR minim masuratpe fiecare legatura care formeaza calea, iar OWD global este suma tuturor parametrii OWDmasurat, i [47].

Interact, iunea dintre GPF, INM CLQ s, i protocolul de rutare este prezentata ın Figura 7.5. Pebaza datelor legate de fluxuri s, i de legaturi achizit, ionate GPF poate genera solut, ie de codare,care identifica entitat, ile implicate ın cooperare s, i procedurile de cooperare ce vor fi implementate.Pe baza solut, iei gasite punctele de mediere instant, iaza caile generice s, i blocurile de procesarenecesare.

Pentru verificarea funct, ionalitat, ii solut, iilor propuse a fost construit un banc de testare real(Figura 7.6) care implementeaza topologia fluture. Scopul este verificarea integrarii algoritmilorde NC s, i CLQ ın “framework-ul“ de GP s, i de INM, s, i verificarea interact, ionarii conceptelor ıntr-osituat, ie reala [82].

Bancul de testare este compus din 6 calculatoare conectate prin legaturi Fast Ethernet,nodurile sursa s, i destinat, ie fiind calculatoare separate. Fiecare compartiment de nod estereprezentata de o mas, ina virtuala, iar ın fiecare nod sunt instant, iate punctele de mediere s, ientitatea INM s, i modulul CCFW. Punctul de mediere este reprezentat de firul de execut, ieprincipal de pe mas, ina virtuala. Firul de execut, ie principal instant, iaza punctele terminale ale

106

GP unicast multiplu cu mecanism de control al congestiei pe baza NC

Compartiment (re‐ea) cu capabilit=‐i NC & INM

INMMP

INM MP

MP

INM

MP

NC

GP

INM

MP INM MP INM

OU

T GP

OU

T GP

CCFW CCFW

CCFW

CCFW

EP

EP

EP

EP

EP

EP EP

EP

EP

EP EP

EP

EP EP

EP

EP EP

CCFW CCFW

EP-c

EP-d1 EP-d2

N-CT N1 N-CT N2

N-CT N4

N-CT N6N-CT N5

N-CT N3

EP

EP

GPF

IN GPIN GP

Multicast GP

Multicast GP

Multi

cast

GP

Mu

lticast GP

Multicast GP

Mu

lticast GP

Figura 7.6: Testbedul implementat

cailor generice care ıncep sau se termina ın compartimentul de nod s, i controleaza transferul dedate ıntre punctele terminale. Punctele terminale sunt reprezentate de fire de execut, ie separatecare realizeaza operat, iile caracteristice cailor generice atas,ate. ”Hook-urile” care conecteazapunctele de mediere la entitat, ile aflate ın Net-CT sunt implementate folosind socket-uri UDP.Aceste ”hook”-uri permit punctelor terminale sa acceseze serviciile oferite de compartimentul denivel inferior. Entitatea INM este un fir de execut, ie separat care achizit, ioneaza prin operat, ii CLcaracteristicile fluxurilor s, i legaturilor de la Net-CT. “Hook-urile“ dintre INM s, i Net-CT suntimplementate prin socket-uri raw [82] [90].

Entitat, ile din Net-CT, o ret,ea IPv4 ın acest caz, sunt instant, iate cand N-CT este implementat.Operat, iile efectuate de calea generica care implementeaza topologia fluture sunt urmatoarele:

• Nodurile N1 s, i N2 instant, iaza cai generice multicast catre nodul central N3, ın care are loccodarea, s, i catre nodurile destinat, ie, ın care are loc decodarea;

• Codarea NC este realizata ın punctul de mediere, EP − c, aflat ın nodul N3;

• Nodul N4 instant, iaza o alta cale generica multicast catre nodurile destinat, ie;

• Decodarea are loc ın punctele de mediere, EP − d1 s, i EP − d2, ale nodurilor N5 s, i N6.

Interact, iunile dintre modulul INM CLQ, GPF s, i punctele de mediere situate ın noduri suntprezentate ın Figura 7.7.

Figura 7.8 prezinta diagrama de semnalizare ıntre modulul INM CLQ, GPF s, i punctele demediere din nodurile topologiei fluture. Pentru generarea unor cai generice unicast simple careconecteaza nodurile sursa de nodurile destinat, ie, caile generice s, i punctele terminale existente suntdezactivate, s, i sunt instant, iate puncte terminale separate ın nodurile sursa s, i destinat, ie. GPF esteimplementat ın nodul N3, care are un rol central ın bancul de testare, s, i controleaza toate operat, iile

107

GPFINM CLQ

Date legate de Topologie

& Leg<turi

Date de Control &

Management GP

MP1 MP2

MP3

MP4

MP5 MP6

Date legate de Topologie

& Leg<turi

Figura 7.7: Interact, iunea ıntre INM CLQ, GPF s, i MP

INM CLQ GPF MP1/2 MP3/4 MP5/6

F<r< congestie

Congestie

F<r< congestie

Cerere

ATR/OWD

R<spuns ATR/OWD

InstanYiere EPGenerare GPuri unicast

Generare GP MP2 MP capabil de NC( Moştenire resurse GPuri unicast )

Dezactivare GP MP2MP

Dezactivare EP

Dezactivare EP

DezactivareEP

InstanYiere EP

InstanYiere EP

InstanYiere EP

InstanYiere EP

Figura 7.8: Diagrama de semnalizare ıntre INM CLQ, GPF s, i MP

de semnalizare. In cazul ın care este detectata congestia pe legatura gatuita de catre modululINM, acesta va anunt,a GPF-ul. Entitatea GPF, pe baza informat, iilor oferite de catre modululINM CLQ, va dezactiva punctele terminale existente s, i va crea cai generice complexe, capabilede cooperare s, i codare, care mos,tenesc resursele cailor generice unicast simple. Daca ın ret,ea nuexista congestie, caile generice complexe sunt dezactivate s, i se activeaza caile generice simple [90].

Arhitectura punctului de mediere care implementeaza operat, iile de codare NC s, i procesarilerealizate de punctele controlate de acest MP sunt prezentate ın Figura 7.9. Caile generice deintrare s, i de ies, ire pot transporta pe langa date s, i semnalizari ıntre entitat, ile GP-ului capabil decooperare. Sunt instant, iate puncte terminale separate pentru comunicarea cu entitatea GPF.

Arhitectura punctului de mediere care implementeaza operat, iile de decodare NC s, i procesarilerealizate de punctele terminale controlate de acest MP sunt prezentate ın Figura 7.10. Acest punctde mediere este similar cu celalalt MP, avand bloc de control, modulul CCFW s, i puncte terminaleın care se realizeaza procesarea informat, iilor. Punctul de mediere poate avea semnalizari interneıntre diferite module, s, i are de asemenea un GP de semnalizare, prin care comunica cu entitateaGPF [90].

Folosind bancul de testare descris au fost transmise doua fluxuri video ıntre nodurile N1 - N5 s, i

108

Semnalizare GPEP_sig

EP_out

Trimitere + MUX

date /semnalizare

Modul CCFW

Entitate MP

Date GP_out

Date

Hook la entit=‐ile din compartimentele inferioare

Bloc control MP

Semnalizare

Semnalizare

EP_in_1

Date GP_in_1Codare XOR, MUX

Demux date/

semnalizare

M=sur=tori

EP_in_2

Date GP_in_2

Demux date/

semnalizare

M=sur=tori Semnalizare

Date

Con

trol

La / de la GPF

Semnalizare GPEP_sig

Semnalizare

Figura 7.9: MP de codare

EP_out

Bloc de

trimitere

Entitate MP

Date GP_out

DateDate GP_in_1

Pachete codate ーi necodate separate

Date GP_in_2

Date

Date codate

NC

Date necodate

Date decodate

Decodare NC

(XOR)

Semnalizare GPEP_sig

La / de la GPF

Semnalizare GPEP_sig

Bloc control MP Semnalizare

Semna

lizar

eEP_in_2

Demux date/

semnalizare

M=sur=tori

EP_in_1

Demux date/

semnalizare

M=sur=tori

Modul CCFW

semnalizareSem

nalizare Con

trol

Hook la entit=‐ile din compartimentele inferioare

Figura 7.10: MP de decodare

109

N2 - N6 folosind doua cai generice unicast, acestea fiind cele mai utilizate ın ret,elele IP. Fenomenulde congestie a fost creat artificial pe legatura dintre nodurile N3 - N4 folosind utilitarul IPerf.Sistemul dupa ce a detectat congestia, a instant, iat un GP multipunct-la-multipunct capabil deNC, s, i capabil sa rezolve problema congestiei de pe legatura N3 - N4 [90].

Daca fenomenul de congestie a disparut (detect, ia congestiei se face de catre modulul INMCLQ [47]), sistemul a transformat automat calea generica capabila de NC ın cai generice unicast.In acest mod performant,ele sistemului de comunicat, ii au fost ımbunatat, ite semnificativ. Pedurata congestiei, procentul de pachete pierdute a ajuns de la 20% la 1% (din cauza gestionariibufferelor la decodor), ceea ce dovedes,te eficient,a solut, iei. Datorita timpilor deactivare/dezactivare a mecanismului de codare destul de lung (>1s , valoare ce depinde s, i decapacitatea de procesare a sistemului) solut, ia este potrivita pentru ret,ele cu fir sau nomadice[82].

Testele efectuate au demonstrat ca ”framework”-ul de arhitectura propus, bazat pe GP s, i INMCLQ, este capabil de crearea unui mediu ın care cooperarea, tehnicile ”cross-layer”, semnalizareas, i tehnicile de rutare pot interact, iona ıntr-un mod flexibil, ımbunatat, ind performant,ele globaleale ret,elei.

7.1.3 Arhitectura GP pentru integrarea NC ın ret,ele “wireless”

Sistemul COPE propus de S. Katti s, i D. Katabi ın [14] reprezinta o prima implementare practicaa tehnicilor NC ın ret,ele wireless mesh. Sistemul propus foloses,te NC pe baza operat, iei XORıntre doua pachete s, i presupune ca nu exista sincronizare ıntre nodurile ret,elei sau informat, iiprealabile despre emit, ator, receptor s, i despre caracteristicile traficului. Caracteristica de baza asistemului este oportunismul, cele mai importante concepte fiind ascultarea oportunista s, i codareaoportunista.

Ascultarea oportunista: Natura broadcast a mediului wireless creeaza multe oportunitat, ipentru un nod ca acesta sa poata asculta toate pachetele transmise, chiar s, i cele destinate altornoduri. In sistemul COPE fiecare nod asculta toate transmisiile care au loc s, i stocheaza pachetelecapturate pentru o perioada de timp limitata. Fiecare nod trimite un raport de recept, ie la nodurilevecine, care cont, ine lista pachetelor stocate s, i este atas,at pachetelor de date transmise, sau estetransmis separat ın cazul ın care nu exista pachete de date de trimis [14].

Codarea oportunista: Problema de baza a acestui sistem este alegerea pachetelor care vorfi codate astfel ıncat sa fie maximizata rata de transfer. Un nod poate avea mai multe opt, iuni decodare, dar trebuie sa se asigure sa maximizeze numarul de pachete inovative trimise ıntr-o singuratransmisie, s, i sa se asigure ca nodul urmator are suficienta informat, ie sa recupereze acele pachetedin pachetul codat. Acest obiectiv poate fi atins folosind o regula simpla: pentru a transmite npachete p1, . . . , pn la nodurile urmatoare r1, . . . , rn un nod poate coda aceste n pachete ımpreunanumai daca fiecare nod urmator ri are toate cele n− 1 pachete pj, j 6= i. Cand un nod transmiteun pachet, acesta alege cel mai mare n astfel ıncat regula de mai sus sa fie satisfacuta s, i sa fiemaximizate beneficiile codarii [14].

Cunoas,terea starii nodurilor vecine: Pentru implementarea algoritmului de codaredescris mai sus fiecare nod trebuie sa cunoasca pachetele det, inute de nodurile vecine, adicastarea nodurilor vecine. Fiecare nod trimite rapoartele de recept, ie la nodurile vecine, ınsa ınanumite situat, ii aceste rapoarte se pot pierde sau pot sa ajunga prea tarziu, dupa luarea uneidecizii de codare suboptimale. Din aceste motive un nod nu se poate baza numai pe rapoartelede recept, ie, ci uneori va trebui sa estimeze starea vecinilor. Daca estimarile sunt incorecte,pachetul codat nu se poate decoda la nodurile urmatoare s, i va trebui retransmis, ceea ce implicafolosirea ineficienta a resurselor ret,elei. In sistemul COPE probabilitatea ca un nod vecin sa aibaun anumit pachet este estimat ca fiind probabilitatea de transmisie corecta pe legatura dintrenodul precedent al pachetului s, i nodul vecin. Se poate ıntampla ca un pachet codat sa nu sepoata decoda, ın acest caz pachetele originale vor fi retransmise, poate codate ımpreuna cu altepachete [14].

110

A BR

a

ab

b

(a) a.

A BR

aÅb

a

b

aÅb

(b) b.

Figura 7.11: Exemplu de Network Coding ın ret,ele wireless

In exemplul prezentat ın Figura 7.11 nodul A (Alice) dores,te sa transmita un pachet catrenodul B (Bob), iar nodul B un pachet catre nodul A. Nodul B nu se afla ın raza de acoperirea nodului A, s, i invers; singura posibilitate de comunicare printre cele doua noduri fiind prinintermediul nodului releu R, care este capabil de recept, ia sau transmisia unui singur pachet peunitate de timp. Daca se foloses,te rutare, sunt necesare 4 unitat, i de timp pentru transmisia celordoua pachete dupa cum se vede ın Figura 7.11.a; iar daca se foloses,te NC, situat, ie prezentata ınFigura 7.11.b, sunt de ajuns 3 unitat, i de timp pentru transmisia celor doua pachete [14].

Modul ın care se pot utiliza conceptele de arhitectura descrise mai sus pentru implementareacomunicat, iei cooperative ıntre nodurile A s, i B este prezentat ın Figura 7.12. In aceeas, i figura seprezinta s, i comunicarea directa (necooperativa) ıntre nodurile A s, i B ın framework-ul GP. Fiecarenod din ret,ea cont, ine doua entitat, i:

• Entitatea MP: instant, iaza punctele terminale (EP) s, i permite accesarea cailor genericefolosite pentru transmisia datelor s, i a semnalizarilor. Funct, ioneaza ca un switch inteligenttransferand datele ıntre diferite cai generice care se termina ın punctele terminaleinstant, iate. Aceasta entitate instant, ieaza de asemenea frameworkul de cooperare s, i codare(Cooperation and Coding Framework, CCFW), care defines,te metodele necesare pentruoperat, iile de codare s, i decodare NC. Cand este necesara codarea, cu ajutorul CCFW seinstant, iaza metodele de codare s, i decodare ın punctele terminale care trimit saurecept, ioneaza pachetele codate [33].

• Entitatea INM (In-Network Management): Implementeaza operat, iile de management aleret,elei, necesare pentru implementarea NC s, i activarea, respectiv dezactivarea codarii. Sebazeaza pe operat, ii cross-layer pentru achizit, ionarea informat, iilor legate de starea legaturilors, i a ret,elei, s, i pentru modificarea eventuala a parametrilor legaturilor [83] [31].

In Figura 7.12 sunt prezentate s, i caile generice care pot fi instant, iate pentru implementareatransmisiei directe, respectiv a transmisiei prin cooperare cu sau fara NC. Aceste cai generice nusunt instant, iate simultan, ci ın funct, ie de modul de operare al ret,elei [36]:

• transmisie directa;

• transmisie prin cooperare fara codare NC;

• transmisie prin cooperare folosind codarea NC.

In Figura 7.13 este prezentata arhitectura entitat, ii MP instant, iata ın nodul A (entitatea MP dinnodul B este identica cu aceasta). Figura prezinta toate punctele terminale care pot fi instant, iate,dar la un moment dat numai o parte din ele sunt instant, iate ın funct, ie de modul de operare, careeste ales ın funct, ie de informat, iile oferite de modulul INM [36].

Daca exista o legatura directa ıntre nodurile A s, i B, pachetele vor fi trimise pe aceasta legatura,iar nodul releu (R) nu va fi implicat ın procesul de comunicat, ii. In acest caz sunt instant, iatedoua cai generice unicast: DataInGP1 pe care sunt recept, ionate pachetele de la nodul B, s, i

111

I NM

INMIN

MEP

EP

EPEP

EP

EPEP

EP

EP

EP EP

EP

EP

EP

EP

EP

CCFW CCFW

CCFWA B

EP

Unicast GP Multicast GPUnicast GPUnicast GP

EP Endpoint (EP) Mediation Point (MP)

Compartiment re郡ea wireless

R

Figura 7.12: Comunicarea cooperativa ıntre nodurile A s, i B ın frameworkul GP

DataOutGP1 pe care sunt trimise pachetele la nodul B. Datele sunt introduse/extrase ın/dincaile generice prin intermediul punctelor terminale corespunzatoare, ın care au loc s, i operat, iile demultiplexare. Funct, ionarea nodului B este identica cu funct, ionarea nodului A. Modulul de controlal punctului de mediere (MP) este responsabil de operat, iile de semnalizare s, i de control.

In al doilea mod de operare, cand nu exista legatura directa ıntre nodurile A s, i B s, i nu sefoloses,te codarea NC, sunt create doua cai generice unicast ıntre nodul A s, i nodul R: DataInGP2s, iDataOutGP2. Nodul A funct, ioneaza ca s, i ın cazul precedent, singura diferent, a fiind ca pachetelesunt transmise la nodul R ın loc de transmisia lor directa la nodul B.

In al treilea mod de operare, cand nu exista legatura directa ıntre nodurile A s, i B s, i se foloses,tecodarea NC, nodul A creeaza caile generice care ıl conecteaza la nodul R. Pe DataOutGP se trimitpachetele la nodul R, iar ın punctul terminal al acestui GP sunt stocate pachetele trimise ıntr-unbuffer local. Aceste pachete stocate sunt necesare pentru decodarea pachetelor codate recept, ionatepe CodedDataInGP , care transporta pachetele codate de la nodul R la nodul A. Decodarea are locın punctul terminal al CodedDataInGP , care primes,te de asemenea pachetele stocate ın punctulterminal al DataOutGP . Modulul CCFW cont, ine metodele necesare pentru decodare [36].

Caile generice de semnalizare transporta toate mesajele de semnalizare legate deactivarea/dezactivarea s, i controlul operat, iilor NC. Datele de semnalizare pot fi multiplexate cudatele utilizatorilor ın punctele terminale ale cailor generice care transporta datele utilizatorilor.

In Figura 7.14 arhitectura punctului de mediere istant, iat ın nodul releu R. Nodul releu aredoua moduri de operare:

• Transmisie fara codare NC;

• Transmisie folosind codarea NC.

In primul caz entitatea MP a nodului R instant, iaza cai generice unicast catre nodurile A s, i B.Pe aceste cai generice nodul R recept, ioneaza pachetele de la nodurile A s, i B, s, i le transmite catredestinat, iile lor. Modulul de control al MP este responsabil de operat, iile de semnalizare.

In cazul al doilea, entitatea MP a nodului R instant, iaza doua cai generice unicast pe carerecept, ioneaza datele de la nodurile A s, i B s, i o cale generica multicast pe care transmite pachetelecodate la nodurile A s, i B. Operat, iile de codare sunt realizate ın punctul terminal al caii genericemulticast CodedDataOutGP . Codarea NC este implementata la nivel de pachet, s, i se bazeaza peoperat, ia XOR ıntre bit, ii pachetelor recept, ionate. Inainte de codare printr-o operat, ie de completarecu bit, i de zero se realizeaza egalizarea lungimii pachetelor. Modulul CCFW cont, ine toate funct, iilenecesare pentru codarea NC [36].

112

Modul CCFW

Modul de control MP

Entitate MP

Epin

EPin1

EPout

EPsig2

EPsig1

Porturi c<tre entit<郡ile din compartimentele inferioare

GP Semnalizare

GP Semnalizare

Data out GP 1

Data out GP

Data in GP 1

Data in GP

Coded data in GP

EPinC

Decodare XOR

DMUX date/semnalizare

Date

Contro

l

Semna

lizar

e

Date

DateEPin2

EPout2

Data out GP 1

Data in GP 2

MUX date/semnalizare

EPoutC

Stocare date

MUX date/semnalizare &

Trimitere

EPout1

Data out GP

DMUX date/semnalizare

MUX date/semnalizare &

trimitere

MUX date/semnalizare &

Trimitere

DMUX date/semnalizare

DMUX date/semnalizare

Semnalizare

Sem

nalizare

Sem

naliz

are

Sem

naliz

are

Semnalizare

Con

trol

Control

Control

Date

Date

Date

Date

Figura 7.13: Arhitectura entitat, ii MP din punctele A s, i B

Modul CCFW

Modul de control MP

Entitate MP

Epin1 EPin2

EPout1EPout2

EPsig2

EPsig1

Porturi c<tre entit<郡ile din compartimentele inferioare

Signaling GP

Signaling GP

Data out GP 1Data out GP 2

Data in GP 2Data in GP 1

Coded data out GP

EPoutC

DMUX date/semnalizare

Codare XOR

DMUX date/semnalizare

MUX date/semnalizare &

Trimitere

MUX date/semnalizare &

Trimitere

MUX date/semnalizare &

Trimitere

Date

Sem

naliz

areC

ontrol

Semnalizare

Semnalizare

Semnalizare

Control Control

Date

Date

Date

Figura 7.14: Arhitectura entitat, ii MP din nodul R

113

MP MP MP

EP

EP

EP

EP EP EP

EP

EP EP

EP EP

Unicast GP Unicast GP

Multicast GP

A R B

Figura 7.15: Cai generice instant, iate ın cazul transmisiei prin releu folosind NC

In Figura 7.15 sunt prezentate caile generice instant, iate ın cazul ın care NC pe baza operat, iilorXOR este integrat ın framework-ul GP. Intrarea/ies, irea datelor ın/din caile generice se face prinpunctele terminale (EP). Rolul punctelor de mediere este de asemenea prezentat. Aceste punctede mediere act, ioneaza ca s, i comutatoare, realizand transferul datelor ıntre punctele terminale alediferitelor cai generice. In punctele de mediere din nodurile sursa datele recept, ionate de la cailegenerice externe (de la nodurile vecine) sau de la aplicat, ii sunt trimise la punctul terminal al caiigenerice unicast care face legatura cu nodul R. Datele stocate ın acest EP sunt trimise la punctulterminal al caii generice pe care se recept, ioneaza datele codate, EP ın care are loc decodarea.Datele decodate sunt trimise la cai generice externe sau la aplicat, ii. Toate aceste comunicat, iilocale, ın interiorul nodului sursa se realizeaza prin intermediul punctului de mediere.

La nodul releu datele sunt recept, ionate de la nodurile A s, i B prin intermediul celor doua caigenerice unicast. Aceste date sunt trimise de la punctele terminale ale acestor doua cai generice lapunctul terminal al caii generice multicast pe care se trimit pachetele codate la cele doua noduriA s, i B. Operat, iile de codare au loc ın punctul terminal al caii generice multicast. S, i aceastacomunicat, ie interna ın nodul R are loc prin intermediul unui punct de mediere.

Procesarea datelor poate fi implementata s, i ın alte puncte ale arhitecturii, aceasta nu trebuiesa aiba loc neaparat ın punctele terminale (EP). Implementarea procesarii datelor ın EP este ceamai simpla s, i intuitiva solut, ie [32].

In scopul verificarii interact, iunilor dintre elementele arhitecturii GP care implementeazaoperat, iile NC prezentate anterior a fost realizat un “testbed“ real conform scenariului prezentatın Figura 7.16. Bancul de testare este alcatuit din trei laptopuri as,ezate ın cladiri diferiteneavand posibilitatea comunicat, iei directe, iar interfet,ele radio folosite sunt IEEE 802.11 b/g.

Entitat, ile MP s, i INM sunt implementate la stratul aplicat, ie, iar punctele terminale instant, iatecomunica direct cu stratul MAC prin intermediul porturilor (hook). Astfel funct, ionalitat, ile oferitede TCP/IP nu sunt utilizate, iar solut, ia se poate adapta la stivele de protocoale viitoare, care nufolosesc TCP/IP. Pentru a evita pierderea informat, iei datorita pierderilor de pachete ın mediulwireless, a fost implementat un algoritm de retransmisie ”stop and wait”, acesta fiind integrat ıntransmisia prin cooperare cu NC [36].

Structura pachetelor este definita astfel ıncat sa permita operat, iile specifice NC. In aplicat, ieexista doua tipuri de pachete: pachete de date s, i pachete de confirmare (ACK). Lungimeapachetelor de date este de 1500 de octet, i, din care 50 de octet, i reprezinta antetul pachetului s, i1450 de octet, i datele utile. Pachetele ACK nu cont, in date utile, numai antetul, lungimea lorfiind de 50 de octet, i. Structura pachetelor este prezentata ın Figura 7.17.

Structura antetului este: 12 octet, i pentru antetul MAC s, i 38 de octet, i pentru un antetspecific definit pentru aceasta aplicat, ie. Antetul MAC cont, ine adresele MAC ale nodurilor sursas, i destinat, ie. Antetul specific este mai complex s, i cont, ine urmatoarele campuri:

• Identificatorul de protocol: este folosit pentru identificarea tipurilor de pachete trimise deaplicat, iile implementate, indicand s, i modul de operare.

114

N2N2

N1

R

4.5m

20m

35m

18.5m

Nu

exis

tă le

gătu

Releu

Releu

Direct

Figura 7.16: Bancul de testare folosit

Date 1

Antet specificAntet MAC

6 o. 6 o. 6 o.6 o. 2 o. 2 o. 2 o. 2 o. 2 o. 2o. 2o. 2o.2o.2o. 2o. 2o. 2o. 1450 o.

Date 2

Antet MAC Antet specific

6 o.6 o. 2 o. 2 o. 2 o. 2 o. 2o. 2o. 2o.2o.2o. 2o. 2o.6 o. 6 o. 2 o. 2o. 1450 o.

Date codate: Date1ÅDate2

Antet specificAntet MAC

6 o. 6 o. 6 o.2 o. 6 o. 2 o.2 o. 2 o.2 o. 2 o.2 o. 2 o.2 o. 2 o.2 o. 2 o.2 o. 1450 o.

MAC1 MAC2 Id. prot. Tip p1Id. p1 ACK1 L1

MAC3 MAC4 Id. prot. Tip p2Id. p2 ACK2 L2

Tip p1Id. p1 ACK1 L1 Tip p2Id. p2 ACK2 L2Tip pId. p ACK LMAC2 MAC4MAC5MAC Id. prot.

Figura 7.17: Structura pachetelor necodate s, i codate

115

Tabela 7.1: Timpii de transmisie pentru diferite scenarii

Transmisie directa Cu NC Fara NC

Ambele stat, ii 4s 29s 2minO stat, ie 2.5s 25s 18s

• Urmatoarele doua campuri sunt folosite ın cazul unui pachet codat s, i cont, in adresele MACale nodurilor sursa, de la care s-au recept, ionat pachetele care urmeaza sa fie codate.

• ID pachet: cont, ine numarul de secvent, a al pachetului utilizat pentru controlul fluxului s, i alerorilor.

• Tip pachet: defines,te tipul de pachet, care poate fi codat, necodat sau ACK.

• ID ACK: numarul de secvent, a al unui pachet de tip ACK.

• Lungime pachet: precizeaza lungimea pachetului, care este stabilit la 1500 de octet, i.Urmatoarele 8 campuri sunt definite la nodul releu pentru pachetele codate. Acestecampuri cont, in ID pachet, tipul de pachet, ID ACK s, i lungimea pachetelor recept, ionate dela cele doua noduri sursa.

Cu except, ia campurilor de adresa MAC, care au lungimea de 6 octet, i, toate campurile aulungimea de 2 octet, i.

Testele au fost efectuate folosind trei laptopuri, fiecare reprezentand un nod din topologie. Pefiecare nod ruleaza aplicat, ia corespunzatoare implementata ın limbajul de programare C++ subsistemul de operare Linux. Sunt considerate trei scenarii de testare corespunzatoare celor treimoduri de operare:

• Transmisie directa;

• Transmisie prin releu fara NC;

• Transmisie prin releu cu NC.

Pentru fiecare dintre scenariile de mai sus s-a considerat cazul ın care numai un singur nodsursa transmite date s, i cazul ın care ambele noduri sursa transmit date. Nodurile sursa transmitcate 500 de pachete ın fiecare test. Lungimea pachetelor este de 1500 de octet, i.

Timpul de transmisie a fost masurat ın cazul tuturor scenariilor testate s, i este prezentat ınTabel 7.1. Cel mai mic timp de transmisie s-a obt, inut ın cazul transmisiei directe, deoarece ınacest caz nu exista ıntarzieri cauzate de nodul releu s, i de procesarile realizate de acest nod. Inmod evident, daca numai un singur nod transmite date, timpul de transmisie este mai mic.

In cazul transmisiilor asistate de releu, daca ambele terminale transmit date, timpul detransmisie este mai mic daca este activat NC pe baza operat, iei XOR. Timpul de transmisie estecu 75% mai mare ın cazul ın care ambele noduri sursa transmit date s, i nu se activeaza NC,deoarece ın acest caz apar mai multe coliziuni s, i au loc mai multe retransmisii de pachete [36].

Daca numai o singura stat, ie trimite date, timpul de transmisie este mai mic daca la releu nu serealizeaza operat, ii de codare. In acest caz operat, iile de codare practic nu sunt necesare, introducnumai ıntarzieri de procesare, iar releul poate sa transmita mai departe pachetele fara codare.

7.2 Integrarea NC ın alte arhitecturi propuse pentru

viitorul Internet

In afara arhitecturilor propuse ın cadrul proiectului de cercetare FP7-4WARD exista numeroasealte init, iative de cercetare care ıs, i propun dezvoltarea arhitecturilor pentru viitorul Internet. In

116

Slot Slot

Slot

AId

1

AId

3

AId

2

AId

3

AId

1

AId

2

Entitate

Entitate

Entitate

Nod Nod

Nod

FD2Date

FD3

Date

FD1

Dat

e

Figura 7.18: Elementele arhitecturii FARA

acest subcapitol autorul propune identificarea unor arhitecturi care pot oferi cadrul necesar pentruintegrarea tehnicilor NC. In cazul arhitecturilor identificate sunt propuse s, i cateva metode concretede integrare a NC.

7.2.1 FARA

D. Clark ın [39] a introdus arhitectura FARA (Forwarding directive, Association, and RendezvousArchitecture) ın cadrul proiectului NewArch. FARA descrie un model abstract cu grad ridicat degeneralitate s, i flexibilitate, pe baza decuplarii numelor terminalelor de la adresele de ret,ea.

Modelul FARA defines,te un set abstract de componente s, i relat, iile modulare ıntre ele, dar multemecanisme tehnice de detaliu nu sunt definite. De aceea, FARA defines,te o clasa de arhitecturi,din care se pot dezvolta o varietate de arhitecturi specifice prin definirea diferitelor mecanisme.

Un proiectant de ret,ea poate sa alega orice schema de adresare care satisface cerint,ele, s, i ınmod independent poate sa aleaga o schema de atribuire a numelor. O entitate FARA este ogeneralizare a unei aplicat, ii care este un punct terminal a comunicat, iei prin ret,ea. O entitatecont, ine atat starea aplicat, iei cat s, i starea comunicat, iei, s, i o entitate este cea mai mica unitatecare poate fi mobila. O entitate poate fi un proces, un fir de execut, ie ıntr-un proces, un set deprocese, un calculator ıntreg, un cluster de calculatoare, etc.

Entitat, ile FARA comunica ıntre ele folosind legaturi logice de comunicat, ii, numite asocieri. Oasociat, ie poate fi considerata ın mod grosolan ca s, i o conexiune de strat transport ın arhitecturacurenta. Fiecare pachet apart, ine unei singure asociat, ii, iar o entitate poate avea asociat, ii multiple.Asociat, iile sunt cap la cap, ele sunt cunoscute de catre entitat, i s, i sunt invizibile pentru routere.

FARA presupune o ret,ea de substrat, care transporta datele asociat, iilor. Modelul FARAconsidera un mecanism de livrare a pachetelor fara conexiune, cu adresare s, i rutarecorespunzatoare, dar nu impune un anumit mecanism.

Cand o entitate vrea sa trimita un pachet la o asociat, ie, acesta va da pachetul la substratulde comunicat, ii cu un antet numit Forwarding Directive (FD) destinat, ie. FD de destinat, ie cont, ineinformat, ia necesara trimiterii pachetului la entitatea destinat, ie. FARA nu trimite pachetele laun nod sau la stiva de protocoale a terminalului destinat, ie, ci la o entitate care cont, ine capatulasociat, iei.

Modularitatea modelului FARA separa mecanismul de transmitere a pachetelor din substratulde comunicat, ii de funct, iile de comunicat, ie cap la cap a entitat, ilor. Aceasta separare permiteevolut, ia independenta a aplicat, iilor s, i mecanismelor de trimitere a pachetelor, ascunzand structuras, i semantica substratului de comunicat, ie de entitat, i.

Conceptele propuse ın FARA sunt similare cu cele propuse ın proiectul FP7-4WARD. Entitat, ilesunt asemanatoare cu cele considerate de FP7-4WARD, iar asociat, iile pot fi privite ca fiind cai

117

Metaleg<tur< metareYea 1

Metaleg<tur< metareYea 2

Metarouter metareYea 1

Metarouter metareYea 2

Leg<tur< reYea substrat

Router reYea substrat

InterfaY< utilizator 1InterfaY< utilizator 2

Figura 7.19: Metaret,ele definite peste o ret,ea de substrat

generice. Pe baza acestor observat, ii, modelul de integrare a tehnicilor NC ın arhitectura “GenericPath” poate fi adaptat pentru integrarea acestor tehnici de codare ın FARA.

7.2.2 FIND

Proiectul de cercetare FIND (Future InterNet Design), finant,at de National Science Foundation,este dedicat dezvoltarii unei arhitecturi noi pentru Internetul viitorului. In cadrul acestui proiectJ. Turner a propus conceptul de metaret,ele (”metanetworks”), care permit definirea mai multorarhitecturi de ret,ele, care pot coexista ın aceeas, i infrastructura fizica, s, i care au scopul de astimula dezvoltarea unor aplicat, ii noi. Rolul arhitecturii de substrat este de a oferi planul dedate, accesul, topologia “backbone“, transmiterea informat, iilor de control s, i securitatea. In cazulmetaret,elelor stratificarea se face ın interiorul acestora. Schimbarea ret,elei de substrat este destulde greu de realizat, de aceea se propune minimizarea rolurilor substratului s, i maximizarea rolurilormetaret,elei, substratul fiind limitat la furnizarea resurselor.

O componenta importanta a metaret,elelor o reprezinta metalegaturile (metalink), adicalegaturile din interiorul metaret,elei, care pot fi legaturi punct la punct sau multipunct saumetaroutere, care se ocupa de rutarea din interiorul metaret,elei. O categorie importanta demetalegaturi reprezinta legaturile de acces, care sunt folosite ın procesul de conectare autilizatorilor. Aceste legaturi de acces sunt create ın mod dinamic, ın momentul ın care unechipament este pornit, sau cand acesta se reconecteaza. Utilizatorii pot sa ceara conexiuni deoriunde, oricand, iar metaret,eaua determina punctele terminale, segmentele de rutare s, idomeniile de rutare.

In Figura 7.19 se prezinta cazul unei ret,ele de substrat peste care sunt construite douametaret,ele care partajeaza resursele ret,elei de substrat. Fiecare metaret,ea, s, i nu ret,eaua desubstrat, poate specifica formatul pachetelor, metodele de adresare, protocolul de rutare,planurile de management s, i de control ın funct, ie de cerint,ele aplicat, iilor. Utilizatorii se potconecta la una sau la mai multe metaret,ele, iar o metaret,ea poate fi definita s, i peste mai multeret,ele de substrat.

Pentru folosirea eficienta a resurselor fizice pot fi implementate diferite mecanisme de cooperares, i codare. Controlul congestiei pe legaturile ret,elei de substrat se poate realiza prin construirea

118

Router

Router Router

Router

Router

Furnizarea serviciilor pe routere

Port

Procesoare de reYea

ComutaYieMaparea calculelor pe

procesoare de reYea

Figura 7.20: Elementele arhitecturii bazata pe servicii

unor metaret,ele capabile de NC, fiecare controland ın parte fenomenul de congestie. Un exempluconcret de metaret,ea a fost propus de catre S. Gorinsky ın [91] pentru distribut, ie de date, fiinddefinite protocoalele de transport s, i de control al congestiei pentru aceste tipuri de ret,ea.

7.2.3 Arhitectura pe baza serviciilor

Conceptul de arhitectura pe baza serviciilor (SCA, Service Centric Architecture) a fost propus deT. Wolf ın [92] s, i ın [93] unde au fost introduse noi concepte abstracte pentru transferul informat, ieis, i servicii. Acest concept de arhitectura se bazeaza pe separarea explicita a comunicat, iilor deprocesarile de date, ceea ce permite extinderea capabilitat, ilor ret,elelor. Procesul de tratare adatelor s, i stocarea informant, iei este un serviciu. Acest lucru asigura o flexibilitate ridicata ret,elei,un serviciu fiind capabil de recept, ia, stocarea, prelucrarea s, i transmiterea datelor. Serviciile dedate pot implementa diferite mecanisme, cum ar fi codarea, procesarea, etc. pe baza informat, iilorsemnatice despre fuxul de date. Serviciile de date includ controlul congestiei, calitatea serviciilor,securitatea, transmisii multicast, etc.

In ret,elele actuale datele sunt privite ca entitat, i care nu se pot schimba. Informat, ia este codatade catre sistemele terminale, iar ret,eaua nu t, ine cont de semantica. Pe de alta parte terminalelevor sa transfere cont, inutul informat, ie, nu neapaarat numai un s, ir de bit, i. Ret,eaua trebuie saofere mai mult decat transmiterea unor bit, i fara semnificat, ie. Ret,elele viitorului vor comunica s, iprocesa informat, iile ıntr-un mod potrivit. Procesarea datelor nu va fi limitata la terminale, ci vaavea loc prin toata ret,eaua. Arhitectura propusa ın [92] foloses,te funct, ionalitat, i bazate pe routerepentru implementarea serviciilor de date la diferite noduri din ret,ea, datele fiind procesate ın timpce traverseaza ret,eaua.

Definirea intermediarilor permite procesari ın ret,ea, datele pot fi procesate de orice punctintermediar din ret,ea, s, i nu numai de nodurile terminale. Introducerea intermediarilor estefoarte importanta s, i din punctul de vedere al integrarii tehnicilor NC ın aceste ret,ele, deoareceaceste puncte intermediare pot efectua diverse operat, ii asupra datelor recept, ionate, fiind posibilaprocesarea distribuita a datelor. Tehnicile de codare de tip NC se bazeaza tocmai pecapabilitatea nodurilor intermediare de a efectua operat, ii matematice asupra datelor.

SCA astfel devine o arhitectura candidata foarte buna pentru integrarea tehnicilor NC. Sepropune ca NC s, i serviciile aferente sa fie privite ca un serviciu de date. In Figura 7.20 esteprezentata o abordare posibila pentru construirea unor arhitecturi bazate pe servicii.

Avantajele acestei abordari ar fi: un model de programare mai clar, control avansat alcongestiei, folosirea mai eficienta a legaturilor, proiectare mai eficienta a protocoalelor de rutare,

119

control mai us,or al traficului. Cele mai mari provocari tehnice sunt: localizarea punctelorintermediare, reducerea timpului de stabilire a sesiunilor, managementul cozilor ın starileintermediare, managementul starilor punctelor intermediare, probleme de securitate.

7.2.4 SILO

I. Baldine ın [94] a propus ın cadrul proiectului FIND o alta arhitectura similara cu SCA, carese bazeaza pe tehnici “cross-layer“. Internetul curent nu permite operat, iile de ”cross-layer”, unscop primar al noului Internet fiind integrarea proiectarii s, i optimizarii cross-layer. Arhitecturapropusa consta din blocuri funct, ionale de granularitate mica, suport explicit pentru combinareablocurilor elementare ın scopul de a ındeplini sarcini complexe s, i elemente de control care permitinteract, iuni cross-layer.

Arhitectura propusa se numes,te Service Integration Control and Optimization (SILO) s, i sebazeaza pe o colect, ie de servicii care se activeaza la cerere s, i sunt specifice unei aplicat, ii. Blocurilefundamentale ale arhitecturii SILO sunt serviciile care realizeaza diferite funct, ii asupra datelorprimite de la aplicat, ii, funct, ii relevante pentru un anumit proces de comunicat, ii. Aceste funct, iipermit o granularitate s, i o flexibilitate mai mare decat protocoalele curente. La baza arhitecturiista un mecanism prin care serviciile pot interact, iona pentru ındepliniriea proceselor complexe decomunicat, ii.

Serviciile sunt selectate dinamic pentru o sarcina data, iar ordinea aplicarii serviciilor nudepinde de stratul de care apart, ine sarcina, ci de prioritatea lor data de un set de constrangeri,stabilit ın funct, ie de cerint,ele aplicat, iilor. Serviciile se definesc ın funct, ie de procesele pe care leexecuta, interfet,ele catre alte servicii, proprietat, i care afecteaza interact, iunea cu alte servicii s, iparametrii de control.

Metodele reprezinta implementarea serviciilor folosind un anumit mecanism. Metodeletrebuie sa implementeze interfet,ele dependente de servicii, care sunt descrise prin serviciul pecare implementeaza, algoritmul folosit pentru implementarea serviciului s, i parametrii opt, ionalide control specifici metodei, act, iunile s, i constrangerile acestora.

Arhitectura SILO defines,te numai serviciile s, i interfet,ele, nu s, i metodele. Setul ordonat demetode, din care fiecare metoda implementeaza un serviciu, reprezinta SILO, care practic este ostiva verticala de metode.

SILO are o stare care reprezinta uniunea starilor tuturor metodelor s, i a starilor rezultantedin interact, iunile dintre metode. O structura SILO s, i toate informat, iile de stare sunt asociatecu un anumit flux de date s, i persista pe toata durata a conexiunii. SILO se poate optimizapentru fiecare flux de date ın parte. Agent, ii de control, care sunt entitat, i dintr-un nod, suntresponsabili de compunerea sau selectarea SILO pentru o anumita aplicat, ie. Agent, ii de control potajusta serviciile s, i metodele folosind interfet,ele de control, s, i ın acest mod permit implementareaoperat, iilor ”cross-layer“.

In tehnicile ”cross-layer” clasice, fiecare strat trebuie sa publice o parte dintre starile interne,care vor fi vizibile pentru celelalte straturi. In arhitectura SILO metodele pot sa fie proiectate s, iimplementate izolat, dar agent, ii de control pot controla toate metodele dintr-un SILO. Operat, iilede “cross-layer“ s, i de control pot fi implementate devenind parte din arhitectura. ArhitecturaSILO se pozit, ioneaza ıntre stiva clasica de protocoale s, i propunerea RBA.

Fiecare nod/echipament din ret,ea poate implementa orice serviciu s, i poate genera SILO dinserviciile existente. Numarul serviciilor suportate nu este limitat, iar arhitectura permiteadaugarea de servicii noi. Arhitectura SILO nu necesita metode de control s, i de management lainterfet,ele pentru routere. Setul de date pentru monitorizarea folosirii resurselor s, i aperformant,elor poate fi privit ca un serviciu specific routerelor s, i switch-urilor.

Se propune integrarea tehnicilor NC ın arhitectura SILO. In acest caz operat, iile NC pot ficompuse dintr-un set de servicii specifice, fiecare serviciu fiind compus dintr-un set de metodedupa cum urmeaza [36]:

1. Serviciu NC (Serviciu s1)

120

1.1. Metoda de generare s, i de procesare a coeficient, ilor de codare;

1.2. Metoda de codare;

1.3. Metoda de decodare;

2. Serviciu de sincronizare a fluxurilor (Serviciu s2)

2.1. Metoda de analiza s, i de procesare a antetelor;

2.2. Metoda de generare s, i de extragere a etichetelor de timp;

2.3. Metoda de generare s, i de procesare a identificatorilor de flux;

3. Serviciu de adaptare a ratei (Serviciu s3)

3.1. Metoda de generare s, i de analiza a statisticilor de rata;

3.2. Metoda de completare a pachetelor (”padding“);

3.3. Metoda de segmentare a pachetelor;

4. Serviciu de ıncapsulare specifica NC (Serviciu s4)

4.1. Metoda de ıncapsulare a pachetelor;

4.2. Metoda de generare a antetului;

5. Rutare specifica NC (Serviciu s5)

5.1. Metoda de select, ie a algoritmului de rutare (multicast, unicast);

5.2. Metoda de actualizare a tabelei de rutare;

6. Serviciu de semnalizare NC (Serviciu s6)

6.1. Generarea s, i interpretarea mesajelor de semnalizare;

6.2. Rutare legata de semnalizare;

6.3. Controlul fluxului de semnalizare.

Serviciile legate de NC sunt activate la cerere pe baza unor mesaje de semnalizare care indicafaptul ca destinat, iile pot decoda pachetele codate. Mecanismul de semnalizare reprezinta unserviciu separat. Toate serviciile legate de NC trebuie sa interact, ioneze pentru a livra datele ladestinat, ii s, i pentru a asigura ca este posibila decodarea corecta la fiecare nod destinat, ie.

In Figura 7.21 este prezentata integrarea operat, iilor NC realizate ıntr-o topologie fluture ınarhitectura SILO [36]. Aceste servicii sunt activate de agentul de control care supervizeazaconstruct, ia SILO. Agentul de control trebuie sa aiba o viziune globala asupra ret,elei pentru aidentifica care servicii trebuie instant, iate ın fiecare nod. Pentru atingerea acestui obiectiv estenecesara o colaborare foarte stransa ıntre agentul de control s, i sistemul de management al ret,elei.

7.2.5 RBA

P. Mueller s, i R. Braden ın [95] au propus de asemenea arhitecturi orientate pe servicii. Cele maiimportante condit, ii necesare pentru definirea unei arhitecturi orientata pe servicii sunt legate degasirea granularitat, ii potrivite a datelor s, i a serviciilor, descrierea explicita a tipurilor de date s, iservicii s, i utilizarea unor interfet,e bine definite ıntre servicii.

R. Braden ın [40] a propus o abordare nestratificata (Role Based Architecture, RBA), careasigura flexibilitate ridicata s, i control avansat. Printre obiectivele arhitecturii RBA se numaraextensibilitatea, portabilitatea, accesul controlat la metadate. Arhitectura RBA organizeazacomunicat, iile pe baza unor unitat, i funct, ionale, numite roluri, care se folosesc ın locul straturilorde protocol.

121

s4,…,s6 s4,…,s6

s4,…,s6

s1,…,s6

s1,…,s6s1,…,s6

m4,1m4,2

m6,3...

m4,1m4,2

m6,3...

m4,1m4,2

m6,3...

m1,1m1,2

m6,3...

m1,1m1,2

m6,3...

m1,1m1,2

m6,3...

m2,1

m3,3

m1,1

m2,3

m1,3

m5,2

SILO 1

m6,1

m2,2

m2,1

m3,1

m3,2

m1,1

m1,2

m2,2

m5,1

m4,1

m2,3

SILO 2

m6,1

m4,2

m6,2

m6,1

si = serviciul i mi,j = metoda j a serviciului i

Figura 7.21: Integrarea tehnicilor NC ın SILO

Rolurile sunt unitat, i modulare de protocol, care reprezinta descrierea funct, ionala a unor blocuride comunicat, ii, care realizeaza funct, ii specifice procesarii s, i transmiterii pachetelor, de exemplufragmentarea pachetelor, rutarea pachetelor, controlul ratei fluxurilor de date etc. Aceste rolurisunt reprezentate de blocuri bine definite s, i bine cunoscute, s, i de blocuri experimentale sau definitelocal. Rolurile nu sunt organizate ın mod ierarhic s, i ıntre ele pot exista interact, iuni, definite ınmod explicit, mai puternice decat ıntre straturile clasice de protocol. Datele primite de la aplicat, iis, i metadatele de control reprezinta intrarile s, i ies, irile unui rol.

Rolurile sunt instant, iate de actori, care act, ioneaza ıntr-un singur nod. Un rol poate cuprindemai multe noduri s, i poate fi compus din subroluri. RBA ofera un model pentru procesareaantetelor pachetelor, nu un mecanism pentru rutarea acestora. RBA ıncorporeaza mecanismele detransmisie ıntr-un rol general, ”Forward Role”, care depinde de starile locale sau globale. Stabilireaunei rute din punctul de vedere al RBA este numai o alta aplicat, ie.

Ca ın orice ret,ea bazata pe pachete structura metadatelor este foarte importanta. Antetulpachetelor cont, ine blocuri de metadate de dimensiune variabila, care se pot insera, accesa,modifica, s,terge ın orice ordine. Aceste blocuri de dimensiuni variabile reprezinta antetul specificrolului (Role Specific Header, RSH), care implementeaza comunicarea s, i interact, ionarea ıntreroluri, s, i care defines,te funct, iile unui rol. Sunt definite diferite reguli pentru accesul la metadate,controlul s, i ordinea de procesare a acestora.

Problemele tehnice legate de RBA sunt: aspectele legate de “scheduling“, controlul accesuluila RSH, compozit, ia rolurilor, procesarea interna a starilor, definirea interfet,elor.

Arhitectura RBA ideala ınlocuies,te toate straturile din stiva de protocoale clasica.Implementarea practica a arhitecturii RBA s-ar putea sa pastreze stratul de legaturi de date caun strat distinct sub RBA, sau s-ar putea sa ınlocuiasca numai straturile de transport s, i deaplicat, ii. In Figura 7.22 este prezentat un exemplu concret de integrare a tehnicilor NC folosindtopologia fluture ın arhitectura RBA. In exemplul considerat sunt definite doua roluri: rolul

122

N1 N2

N3

N4

N5 N6

Rol Multicast

(RSH3)

RSH 3 RSH2 RSH 1 Date

RSH3 RSH2 RSH1 RSH4 RSH5RSH1RSH3

RSH3 RSH2 RSH1 RSH6

Rol NC

Subrol ID pachet RSH1

Subrol semnalizareRSH2

Subrol codare RSH4, RSH5

Subrol decodare RSH6

RSH3 RSH2 RSH1 RSH4 RSH5

Figura 7.22: Integrarea NC ın RBA

multicast s, i rolul de NC [36].Fiecare rol este compus din subroluri dupa cum urmeaza:

1. Rolul NC

1.1. Subrolul ID pachet

1.2. Subrolul de semnalizare

1.3. Subrolul de codare

1.4. Subrolul de decodare

2. Rolul multicast este compus dintr-un singur subrol care actualizeaza tabelel de rutare s, igestioneaza campul de adrese ale pachetelor multicast.

In Figura 7.22 se prezinta de asemenea structura pachetelor din diferite noduri s, i loculinstant, ierii rolurilor. Rolul multicast, care cuprinde nodurile N1, N2 s, i N4, defines,te RSH3, carecont, ine adresele nodurilor sursa s, i destinat, ie. RSH3 va fi modificat ın timpul transmisiei denodul de codare N3, respectiv de nodul intermediar N4.

Subrolurile, care compun rolul NC instant, iat ın fiecare nod al topologiei fluture, definesc deasemenea un set de RSH:

• subrolul de identificare a pachetelor: RSH1 care cont, ine un numar de secvent, a, necesarpentru identificare blocurilor pereche la decodare

• subrolul de semnalizare: RSH2, care cont, ine flagurile de semnalizare, necesare pentru adetermina daca este posibila codarea NC ın topologia data

• subrolul de codare: RSH4 s, i RSH5, care cont, in datele codate s, i necodate la ies, irea codoruluiNC.

• subrolul de decodare: RSH6, care cont, ine datele decodate.

Pe timpul transmisiei, toate antetele RSH pot fi accesate sau modificate de diferite roluri sausubroluri.

123

7.3 Concluzii s, i contribut, ii

In primul subcapitol au fost propuse metodele de integrare a tehnicilor NC ın arhitectura bazata pecalea generica propusa ın proiectul de cercetare FP7-4WARD. S-a propus arhitectura entitat, ii caregenereaza caile generice (GPF) capabile de NC. A fost elaborat o secvent, a de semnalizare ıntrecomponentele ret,elei ın care se implementeaza NC, adica ıntre modulul GPF s, i INM CLQ. A fostpropusa o metoda de instant, iere a unor cai generice multipunct la multipunct pe baza proprietat, iide mos,tenire a cailor generice simple. Bancul de testare prezentat ın capitolul anterior a fostextins pentru a testa conceptele s, i metodele propuse s, i interact, iunile dintre ele.

Punctul de mediere are un rol important ın arhitectura GP, deoarece ea permite procesareadatelor. Procesarea datelor la punctele de mediere este una dintre posibilitat, ile oferite dearhitectura GP s, i a fost considerata pentru integrarea tehnicilor NC. In acest scop au fostpropuse arhitecturile punctelor de mediere care participa ın procesul de codare/ decodare NC.

Arhitectura punctelor de mediere a fost particularizata pentru integrarea tehnicilor NC ınret,ele wireless. Solut, iile propuse au fost testate pe un banc de testare ”wireless”, iar rezultateleobt, inute au demonstrat avantajele utilizarii acestor tehnici de codare.

In al doilea subcapitol au fost analizate unele propuneri de arhitectura pentru viitorulInternet. Analiza se rezuma la arhitecturile care au fost identificate de catre autor ca fiindpotrivite pentru integrarea tehnicilor NC. Au fost propuse doua solut, ii de integrare concreteconsiderand arhitectura SILO s, i RBA.

Contribut, ie: Integrarea tehnicilor de codare de ret,ea ın diferite arhitecturi propuse pentruviitorul Internet.

• definirea unui model de integrare ın conceptele de arhitectura propuse ın proiectul decercetare FP7-4WARD;

• identificare altor arhitecturi propuse pentru ret,elele viitorului care permit integrareatehnicilor de codare de ret,ea;

• solut, ii de integrare propuse.

124

Capitolul 8

Concluzii s, i contribut, ii

8.1 Concluzii

Primul capitol reprezinta introducerea tezei incluzand motivarea temei, definirea obiectivelorprincipale ale cercetarii efectuate ın timpul doctoratului s, i descrierea principalelor contribut, iioriginale ale autorului.

Al doilea capitol prezinta stadiul actual al cercetarii. Primul subcapitol prezinta aspecteleteoretice legate de tehnicile de codare de ret,ea s, i clasificarea acestora. Al doilea subcapitolprezinta propunerile de arhitectura pentru viitorul Internet, trecand ın revista unele dintre celemai importante proiecte de cercetare existente care se ocupa de acest aspect.

In capitolul al treilea sunt prezentate aspectele generale legate de integrarea tehnicilor NC ınret,elele de comunicat, ii reale. Ca acesta integrare sa fie posibila este nevoie de identificarea ret,elei decodare, de o interact, iune puternica ıntre diferite componente ale ret,elei pentru activarea dinamicaa operat, iilor de codare s, i de select, ia nodurilor capabile de implementarea acestor operat, ii. In acestcapitol a fost propusa arhitectura de principiu a unei ret,ele capabile de NC, fiind identificate celemai importante module de procesare s, i management necesare. Arhitectura nodurilor capabile deNC care cont, in modulele identificate este propusa ın acest capitol. A fost propus de asemeneaun protocol de semnalizare necesar pentru controlul operat, iilor de codare/decodare. Metodele s, iprincipiile propuse ın acest capitol reprezinta baza solut, iilor de integrare prezentate ın celelaltecapitole.

In al patrulea capitol sunt propuse unele metode de select, ie a nodurilor implicate ın NC s, i atopologiilor capabile de NC. Pentru procesul de select, ie sunt folosite metode de optimizare care potfi aplicate ın orice ret,ea, independent de tipul acestora. Metodele de optimizare considerate potfi ıncadrate ın doua categorii: metode deterministe s, i metode evolutive. Multiplicatorul Lagrangediscret, care reprezinta o metoda determinista este folosit pentru a obt, ine controlul congestieiıntr-o ret,ea de comunicat, ii ın condit, ia minimizarii resurselor necesare pentru transmisie. Suntdescrise aspectele teoretice legate de acesta metoda, adaptarea lor la problema data s, i rezultateleexperimentale obt, inute. S-a aratat ca solut, ia de control al congestiei propusa are un grad descalabilitate ridicat s, i este eficienta din punctul de vedere al resurselor suplimentare necesare, iaracest aspect influent,eaza scalabilitatea algoritmilor propus, i. Folosind metoda propusa se poateobt, ine o solut, ie de codare care necesita o cantitate acceptabila de resurse suplimentare, fat, a de ceamai buna solut, ie de codare posibila, s, i pentru un numar ridicat de fluxuri. Din categoria metodelorevolutive au fost prezentat, i algoritmii genetici, care se folosesc pentru select, ia nodurilor din ret,eacare trebuie sa realizeze operat, iile de codare. Performant,ele de complexitate, scalabilitate s, i detimp de procesare ale algoritmului genetic implementat au fost evaluate ın funct, ie de parametriiprincipali ai acestui algoritm. Aceasta evaluare a avut ca scop determinarea unui set optim deparametri ai algoritmului astfel ıncat acesta sa ofere solut, ii de optimizare bune pentru topologiide ret,ea de complexitate medie. S-a aratat ca numarul de iterat, ii ın care algoritmul genetic areus, it optimizarea ret,elei din punctul de vedere al costurilor nu s-a modificat semnificativ cuvariat, ia parametrilor, ceea ce ınseamna ca algoritmul implementat este foarte robust. Timpul

125

de optimizare ridicat poate reprezenta un dezavantaj major al algoritmului genetic, atunci candacesta este aplicat ın topologii de ret,ea care se schimba rapid ın timp, cum sunt ret,elele wireless.

Al cincilea capitol prezinta integrarea tehnicilor de codare de ret,ea ın ret,ele de comunicat, iiwireless cooperative. Sunt considerate doua tipuri de coduri de ret,ea: XOR ıntre pachete s, ifolosirea codurilor Reed-Solomon. Sunt descrise modelele de ret,ea s, i analiza teoretica a acestorcoduri s, i sunt propuse metode de structurare a clusterelor de cooperare. Pentru select, iatopologiilor de ret,ea ın care se implementeaza NC se folosesc algoritmi genetici. Prin optimizarese obt, ine un cluster de cooperare care necesita mai put, ine resurse suplimentare s, i asiguraperformant,e mai bune decat clusterul init, ial. Este descrisa adaptarea algoritmilor genetici laaceste probleme, definirea funct, iilor obiectiv s, i implementarea simulatoarelor folosite.Rezultatele experimentale arata ca algoritmul propus pentru structurarea s, i optimizareaclusterului de cooperare pe baza algoritmilor genetici este o metoda flexibila s, i eficient, a ıncondit, iile ın care exista cerint,e multiple ın ceea ce privesc constrangerile impuse topologiilorcooperative. Optimizarea propusa a grafurilor, testata pe mai multe grafuri de conexiune decomplexitate medie, a furnizat o scadere semnificativa a probabilitat, ii de ”outage” a ret,elei s, i ovaloare BLER medie mai mica. Valorile BLER pentru fiecare terminal scad pentru majoritateautilizatorilor implicat, i ın procesul de cooperare. Algoritmul de optimizare al clusterului scadesemnificativ numarul de legaturi ıntre nodurile din cluster, ceea simplifica managementuldinamic al clusterului. Solut, ia NC pe baza codurilor Reed Solomon ımbunatat,es,te sigurant,atransmisiei ın ret,ele de senzori avand topologie de tip arbore. Solut, ia prezentata este foartescalabila s, i necesita modificari minimale ın algoritmii de transmisie ın ret,ea pentru a permiteoperat, iile NC. Rezultatele arata ca se pot obt, ine ımbunatat, iri ale BLER-ului, iar algoritmiigenetici permit select, ia nodurilor care vor fi implicate ın operat, iile NC astfel ıncat performant,eleglobale sa fie cat mai bune posibil.

Al s,aselea capitol descrie integrarea tehnicilor de codare de ret,ea ın ret,ele de comunicat, iireale. Este prezentata implementarea a doua tipuri de coduri de ret,ea: cea bazata pe operat, iaXOR ıntre pachete s, i cea bazata pe RNC. Tehnicile de codare de ret,ea au fost implementatepractic, fiind testate pe testbeduri reale, a caror configurat, ie este de asemenea prezentata. Suntdescrise s, i aspectele cele mai importante legate de integrare: protocoalele de semnalizare definite,structura pachetelor, antetele specifice aplicat, iei, controlul s, i sincronizarea fluxurilor de datepentru a asigura decodarea corecta a pachetelor. Tehnicile pe baza operat, iei XOR sunt folositepentru transmisii video, calitatea transmisiei fiind evaluata ata dupa criterii obiective (procentulde pachete pierdute) cat s, i criterii subiective (calitatea perceputa a imaginilor decodate). Testeleefectuate au aratat ca din punctul de vedere al pachetelor pierdute folosirea tehnicilor de codareNC a condus la cres,terea semnificativa a performant,elor. Evaluarea metodei de codare dinamicaa pachetelor arata ca daca timpul de as,teptare a pachetelor ın codor are valoare apropiata devaloarea ıntarzierii ıntre pachete ale fluxurilor sursa se poate asigura un control al congestiei bunpe legatura gatuita. In acelas, i timp, timpul de as,teptare trebuie sa fie relativ mic pentru asatisface cerint,ele serviciilor video referitoare la ıntarzieri. Cadrul matematic propus ın al doileasubcapitol pentru utilizarea RNC ın aplicat, iile de diseminare a datelor se bazeaza pe teoriacodurilor de ret,ea RNC folosite pentru transmisii multicast s, i descrie modul de construire amatricilor de codare astfel ıncat sa fie posibil pentru fiecare destinat, ie sa selecteze fluxurile dedate pe care vrea sa le decodeze ın condit, iile ın care rata ınsumata a fluxurilor de date sursa estemai mare decat capacitatea ret,elei. Metoda dezvoltata permite transmisii unicast multiple ıntresursa s, i destinat, ii a caror rata globala se apropie (ın cazul unor topologii particulare chiaratinge) de capacitatea ret,elei. Solut, ia propusa a fost evaluata folosind un banc de testare carepermite ajustarea fizica a ratei de transfer pe anumite legaturi, ceea ce influent,eaza ın moddirect capacitatea ret,elei. Masuratorile efectuate arata performant,e semnificativ mai bune decattransmisiile fara RNC din punctul de vedere al pachetelor pierdute.

Al s,aptelea capitol cont, ine descrierea unor arhitecturi de ret,ea propuse pentru viitorul Internet,pe care autorul le-a identificat ca fiind potrivite pentru integrarea tehnicilor NC. Sunt prezentatemai multe arhitecturi, cea mai importanta fiind cea propusa ın cadrul proicetului de cercetare

126

Figura 8.1: Tag cloud teza

FP7 4WARD. Se identifica principalele elemente de arhitectura care permit integrarea tehnicilorde codare de ret,ea s, i se prezinta cum este posibila aceasta integrare atat ın cazul unor ret,elefara fir cat s, i ın cazul unor ret,ele cu fir. S-a propus arhitectura entitat, ii care genereaza cailegenerice capabile de NC. A fost elaborat o secvent, a de semnalizare ıntre componentele ret,eleiın care se implementeaza NC, adica ıntre modulul GPF s, i INM CLQ. A fost propusa o metodade instant, iere a unor cai generice multipunct la multipunct pe baza proprietat, ii de mos,tenire acailor generice simple. Bancul de testare prezentat ın capitolul anterior a fost extins pentru atesta conceptele s, i metodele propuse s, i interact, iunile dintre ele. Au fost propuse de asemeneaarhitecturile punctelor de mediere care participa ın procesul de codare/decodare NC. Arhitecturapunctelor de mediere a fost particularizata pentru integrarea tehnicilor NC ın ret,ele wireless.Solut, iile propuse au fost testate pe un banc de testare ”wireless”, iar rezultatele obt, inute audemonstrat avantajele utilizarii acestor tehnici de codare. Sunt analizate solut, ii pentru integrareatehnicilor NC s, i ın alte arhitecturi propuse pentru viitorul Internet, printre care: FIND, arhitecturape baza serviciilor, RNA, FARA, SILO s, i RBA. Au fost propuse doua solut, ii de integrare concreteconsiderand arhitectura SILO s, i RBA.

8.2 Contribut, ii

In acest subcapitol vor fi prezentate contribut, iile principale din fiecare capitol al tezei.

Capitol 3: Principii generale de integrare a tehnicilor NC ın ret,ele de comunicat,ii

Contribut, ie: identificarea principalelor probleme legate de integrarea tehnicilor de codare deret,ea ın ret,ele de comunicat, ii reale. Propunerea unor solut, ii generale privind:

• Identificarea topologiilor de ret,ea ın care se pot aplica tehnicile NC;

• Arhitectura nodurilor capabile de NC;

• Protocol de semnalizare pentru activarea/dezactivarea dinamica a operat, iilor de codare.

O parte din aspectele prezentate ın acest capitol au fost descrise ın articolele:

127

• Z. Polgar, Z. Kiss, A. B. Rus, G. Boanea, M. Barabas, V. Dobrota, “PreliminaryImplementation of Point-to-Multi-Point Multicast Transmission Based on Cross-Layer QoSand Network Coding”, 17th International Conference on Software, Telecommunications &Computer Networks (SoftCom2009), Split-Hvar-Korcula, Croatia, 24-26 September 2009,ISBN: 978-953-290-015-6, pp. 131-135.

• Z. Kiss, Z. Polgar, C. Vinti, M. Varga, A.B. Rus, V. Dobrota, “Network Coding-basedCongestion Control at Network Layer: Protocol Design and Evaluation”, InternationalJournal of Computer Networks & Communications (IJCNC), ISSN: 0974-9322 (Online),ISSN: 0975-2293 (Print), Vol. 3., No. 1., pp. 119-138, Academy & Industry ResearchCollaboration Center (AIRCC), India, January 2011.

Capitol 4: Optimizarea ret,elelor de comunicat,ii ın care se implementeaza NC

Contribut, ie: elaborarea unei solut, ii de control al congestiei care utilizeaza NC ın topologiisimple instant, iate ın jurul legaturii gatuite, precum s, i a unei metode de identificare s, i optimizarea acestor topologii utilizand multiplicatorul Lagrange discret. Acesta contribut, ie se refera laurmatoarele aspecte:

• elaborarea modelului matematic adaptat la cerint,ele problemei de identificare s, i optimizarea topologiilor (identice) capabile de NC;

• generalizarea solut, iei pentru diverse tipuri de topologii care act, ioneaza ımpreuna pentrucontrolul congestiei;

• implementarea unor simulatoare pentru verificarea algoritmilor bazat, i pe modelul matematicdefinit;

• evaluarea algoritmului de optimizare s, i validarea modelului matematic prin simulari pentrudiferite cazuri.

Contribut, ie: utilizarea algoritmilor genetici pentru optimizarea topologiilor de ret,ele ın carese implementeaza NC din punctul de vedere al costurilor prin identificarea nodurilor la care trebuiesa aiba loc operat, iile de codare.

• implementarea unui simulator pentru verificarea performant,elor algoritmului genetic;

• determinarea parametrilor optimali ai algoritmului genetic pentru problema de optimizareconsiderata ın cazul unor topologii de complexitate medie.

Rezultatele incluse ın acest capitol au format baza publicat, iilor:

• Z. Kiss, Z. Polgar, M. Giurgiu, “Genetic Algorithms for Network Coding Optimization”,Acta Technica Napocensis, Electronics and Telecommunications, ISSN: 1221-6542, Vol. 51.,No. 4., pp. 51-56, Cluj-Napoca, Romania, December 2010.

• Z. Kiss, Z. Polgar, M. Giurgiu, V. Dobrota, “Resource Efficient Network Coding BasedCongestion Control for Streaming Applications“, 34th International Conference onTelecommunications and Signal Processing (TSP2011), Budapest, Hungary, 18-20 August2011, ISBN: 978-1-4577-1410-8, pp. 85-90.

• Z. Kiss, Z. Polgar, M. Giurgiu, V. Dobrota, ”Network Coding Based Resource EfficientCongestion Control for Video Streaming“, Telecommunication Systems, ISSN: 1572-9451(Online), ISSN: 1018-4864 (Print), Springer.

128

Capitol 5: Integrarea tehnicilor NC ın ret,ele “wireless“ centralizate

Contribut, ie: elaborarea unei solut, ii de optimizare a topologiilor de ret,ele ”wireless”centralizate care implementeaza tehnici NC ın scopul ımbunatat, irii performant,elor transmisieifolosind algoritmi genetici.

• adaptarea algoritmilor genetici la problemele considerate;

• implementarea unor simulatoare pentru validarea metodelor de optimizare;

• evaluarea prin simulari a algoritmilor genetici folosit, i.

Activitatea de cercetare ın aceasta direct, ie a condus la elaborarea urmatoarelor articole:

• Z. Polgar, Z. Kiss, M. Stef, A. Hosu, V. Bota, “Improving Link Reliability through NetworkCoding in Cooperative Cellular Networks”, Radioengineering, ISSN: 1210-2512, Vol. 21.,No. 2., pp. 673-682, Brno, Czech Republic, June 2012.

• Z. Kiss, Z. Polgar, M. Stef, V. Bota, “Network Coding Solution for ImprovingTransmission Reliability in Wireless Sensor Networks Employed in Industrial Monitoring”,35th International Conference on Telecommunications and Signal Processing (TSP2012),Prague, Czech Republic, 3-4 July 2012.

• A. Botos, Z. Polgar, Z. Kiss, “FECTCP for High Packet Error Rate Wireless Channels”,8th International Conference on Communications (COMM2010), Bucharest, Romania, 10-12June 2010, ISBN: 978-1-4244-6361-9, pp. 327-330.

Capitol 6: Integrarea tehnicilor NC ın ret,ele fixe

Contribut, ie: Integrarea tehnicilor de codare de ret,ea pe baza operat, iei XOR ıntr-o ret,ea decomunicat, ii reala.

• elaborarea metodelor de codare/decodare dinamice;

• realizarea unui protocol de semnalizare folosit pentru activarea/dezactivarea operat, iilor NC;

• implementarea unei metode pentru sincronizarea fluxurilor de date la codor s, i la decodor;

• implementarea unor module software integrate ıntr-o ret,ea reala;

• testarea practica a solut, iei.

Contribut, ie: Elaborarea unei solut, ii de codare RNC pentru transmisii unicast multiple ınret,ele direct, ionate s, i evaluarea acesteia ıntr-o ret,ea de comunicat, ii reala.

• elaborarea bazei matematice a codurilor RNC pentru transmisii unicast multiple;

• definirea modelului de trafic al fluxurilor de test;

• elaborarea metodelor practice de codare/decodare s, i de sincronizare a fluxurilor;

• implementare software a acestor tehnici de codare;

• testarea solut, iei RNC.

Acest capitol a stat la baza unei publicat, ii care descrie solut, ia RNC propusa:

129

• Z. Kiss, Z. Polgar, “Random Network Coding Based Solution for Resource Efficient DataDissemination“, 8th International Conference on Intelligent Computer Communication andProcessing (ICCP2012), August 30 - September 1 2012, Cluj-Napoca, Romania.

Capitol 7: Integrarea tehnicilor NC ın arhitecturile de ret,ele propuse pentru viitorul Internet

Contribut, ie: Integrarea tehnicilor de codare de ret,ea ın diferite arhitecturi propuse pentruviitorul Internet.

• definirea unui model de integrare ın conceptele de arhitectura propuse ın proiectul decercetare FP7-4WARD;

• identificare altor arhitecturi propuse pentru ret,elele viitorului care permit integrareatehnicilor de codare de ret,ea;

• solut, ii de integrare propuse.

Rezultatele au fost publicate ın urmatoarele articole:

• Z. Kiss, Z. Polgar, A. B. Rus, V. Dobrota, “Integration of Coding and CooperationTechniques into Communication Networks: An Architecture Framework”, 10th RoEduNetInternational Conference (RoEduNet2011), Ias, i, Romania, 23-25 June 2011, ISSN:2247-5443, pp. 24-30.

• A. B. Rus, M. Barabas, G. Boanea, Z. Kiss, Z. Polgar, V. Dobrota, “Cross-Layer QoS andIts Application in Congestion Control”, 17th IEEE Workshop on Local and MetropolitanArea Networks (LANMAN2010), Long Branch, New Jersey, USA, 5-7 May 2010, ISBN:978-1-4244-6068-7, ISSN: 1944-0367, pp. 1-6.

• Z. Kiss, Z. Polgar, G. Medan, M. Giurgiu, “Integration of Network Coding Techniques inFuture Internet Architectures”, Acta Technica Napocensis, Electronics andTelecommunications, ISSN: 1221-6542, Vol. 53., No. 1., pp. 31-36, Cluj-Napoca, Romania,March 2012.

• L. Correia, H. Abramowicz, M. Johnsson, K. Wunstel (editors), A.B. Rus, A. Botos, G.Lazar, G. Boanea, M. Barabas, V. Dobrota, Z. Polgar, Z. Kiss (included in list ofcontributors) et al., “Architecture and Design for the Future Internet - 4WARD Project”,Prototype Implementations, Chapter 12, pp. 270-273, Springer, 1st Edition, Signals andCommunications Technology Series, ISBN: 978-90-481-9345-5, e-ISBN: 978-90-481-9346-2,ISSN: 1860-4862, 10 January 2011.

130

Bibliografie

[1] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network information flow,” IEEETransactions on Information Theory, vol. 46, pp. 1204–1216, July 2000.

[2] R. Koetter and M. Medard, “Beyond routing: an algebraic approach to network coding,”in Proceedings of Annual Joint Conference of the IEEE Computer and CommunicationsSocieties, vol. 1, pp. 122–130, IEEE, June 2002.

[3] R. Yeung and Z. Zhang, “Distributed source coding for satellite communications,” IEEETransactions on Information Theory, vol. 45, no. 4, pp. 1111–1120, 1999.

[4] R. Koetter and M. Medard, “An algebraic approach to network coding,” IEEE/ACMTransactions on Networking, vol. 11, no. 5, pp. 782–795, 2003.

[5] S. Jaggi, P. Sanders, P. Chou, M. Effros, S. Egner, K. Jain, and L. Tolhuizen, “Polynomialtime algorithms for multicast network code construction,” IEEE Transactions on InformationTheory, vol. 51, no. 6, pp. 1973–1982, 2005.

[6] A. M. Barbero and O. Ytrehus, “Heuristic algorithms for small field multicast encoding,”in Proceedings of IEEE International Symposium Information Theory, pp. 428–432, IEEE,October 2006.

[7] T. Ho, M. Medard, R. Koetter, D. R. Karger, M. Effros, J. Shi, and B. Leong, “A randomlinear network coding approach to multicast,” IEEE Transactions on Information Theory,vol. 52, pp. 4413–4430, October 2006.

[8] P. Sanders, S. Egner, and L. Tolhuizen, “Polynomial time algorithms for network informationflow,” in Proceedings of ACM Symposium on Parallel Algorithms and Architectures, 2003.

[9] C. Fragouli and E. Soljanin, “Information flow decomposition for network coding,” IEEETransactions on Information Theory, vol. 52, pp. 829–848, 2006.

[10] Z. Narmawala and S. Srivastava, “Survey of applications of network coding in wired andwireless networks,” in Proceedings of National Conference on Communications, pp. 153–157,2008.

[11] C. Fragouli, J. Widmer, and J.-Y. Boudec, “On the benefits of network coding for wirelessapplications,” in Proceedings of Workshop on Network Coding, Theory, and Applications,2006.

[12] A. Erylmaz, A. Ozdaglar, and M. Medard, “On delay performance gains from networkcoding,” in Proceedings of IEEE Conference on Information Sciences and Systems, pp. 864–870, IEEE, March 2006.

[13] S. Zhang, S. Liew, and P. Lam, “Physical layer network coding,” in Proceedings of AnnualInternational Conference on Mobile Computing and Networking, ACM, September 2006.

131

[14] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft, “Xors in theair: practical wireless network coding,” in Proceedings of ACM SIGCOMM Conferenceon Applications, Technologies, Architectures, and Protocols for Computer Communications,ACM, September 2006.

[15] A. . Dimakis, V. Prabhakaran, and K. Ramchandran, “Ubiquitous access to distributeddata in large-scale sensor networks through decentralized erasure codes,” in Proceedings ofInternational Symposium on Information Processing in Sensor Networks, 2005.

[16] D. Tuninetti and C. Fragouli, “On the throughput improvement due to limited complexityprocessing at relay nodes,” in Proceedings of IEEE International Symposium InformationTheory, pp. 1081–1085, IEEE, September 2005.

[17] D. Lun, M. Medard, and M. Effros, “On coding for reliable communication over packetnetworks,” in Allerton Conference on Communication, Control,and Computing, 2004.

[18] P. Pakzad, C. Fragouli, and A. Shokrollahi, “Coding schemes for line networks,” in Proceedingsof IEEE International Symposium Information Theory, pp. 1853–1857, IEEE, September2005.

[19] R. W. Yeung and N. Cai, “Network error correction, part i: Basic concepts and upperbounds,” Journal of Communications in Information and Systems, vol. 6, no. 1, pp. 19–36,2006.

[20] J. Feldman, T. Malkin, C. Stein, and R. A. Servedio, “On the capacity of secure networkcoding,” in Proceedings of Allerton Conference on Communication, Control, and Computing,September 2004.

[21] T. Ho, B. Leong, R. Koetter, M. Medard, M. Effros, and D. Karger, “Byzantine modificationdetection in multicast networks using randomized network coding,” in Proceedings of IEEEInternational Symposium Information Theory, p. 144, IEEE, June 2004.

[22] M. Kim, M. Medard, V. Aggarwal, U.-M. O’Reilly, W. Kim, C. W. Ahn, and M. Effros,“Evolutionary approaches to minimizing network coding resources,” in Proceedings of IEEEInternational Conference on Computer Communications, pp. 1991–1999, IEEE, May 2007.

[23] C. Gkantsidis and P. Rodriguez, “Network coding for large scale content distribution,”in Proceedings of Annual Joint Conference of the IEEE Computer and CommunicationsSocieties, vol. 4, pp. 2235–2245, IEEE, March 2005.

[24] S. Katti, D. Katabi, H. Balakrishnan, and M. Medard, “Symbol-level network coding forwireless mesh networks,” in Proceedings of ACM SIGCOMM Conference on Applications,Technologies, Architectures, and Protocols for Computer Communications, ACM, August2008.

[25] J. Sundararajan, D. Shah, M. Medard, M. Mitzenmacher, and J. Barros, “Networkcoding meets tcp,” in Proceedings of Annual Joint Conference of the IEEE Computer andCommunications Societies, pp. 280–288, IEEE, 2009.

[26] K. Nguyen, T. Nguyen, and S. Cheung, “Video streaming with network coding,” Journal ofSignal Processing Systems, vol. 59, pp. 319–333, June 2010.

[27] N. Thomos and P. Frossard, “Network coding: from theory to media streaming,” Journal ofCommunications, vol. 4, no. 9, pp. 628–639, 2009.

[28] I. Broustis and et al., “First report on test-bed functionalities and implementation of networkcoding schemes,” Deliverable 4.2, FP7 N-CRAVE, July 2009.

132

[29] D. Ferreira, L. Lima, and J. Barros, “Neco: Network coding simulator,” in Proceedings ofInternational Conference on Simulation Tools and Techniques, pp. 52–68, 2009.

[30] T. Biermann, M. Draxler, and H. Karl, “Flow sychronization for network coding,” Journalof Communications, vol. 4, no. 11, pp. 873–884, 2009.

[31] G. Nunzi and et al., “In-network management concept,” Deliverable 4.2, FP7 4WARD, 2009.

[32] T. Biermann and et al., “Description of generic path mechanism,” Deliverable 5.2.0, FP74WARD, 2009.

[33] T. Biermann, Z. Polgar, and H. Karl, “Cooperation and coding framework,” in Proceedings ofIEEE International Conference on Communications Workshops, pp. 1–5, IEEE, June 2009.

[34] Z. Liu, C. Wu, B. Li, and S. Zhao, “Uusee: Large-scale operational on-demand streaming withrandom network coding,” in Proceedings of Annual Joint Conference of the IEEE Computerand Communications Societies, pp. 1–9, IEEE, March 2010.

[35] S. Paul, “Find mobility/dtn sub-group meeting report.” Online, 2007.

[36] Z. Kiss, Z. Polgar, G. Medan, and M. Giurgiu, “Integration of network codingtechniques in future internet architectures,” Acta Technica Napocensis, Electronics andTelecommunications, vol. 53, no. 1, pp. 31–36, 2012.

[37] K. Fall and N. Shalaby, “Breakout on networking at the information layer.” Online, 2007.

[38] ***, “New arch project.” Online: http://www.isi.edu/newarch/, 2000.

[39] D. Clark, R. Braden, A. Falk, and V. Pingali, “Fara: Reorganizing the addressingarchitecture,” in Proceedings of ACM SIGCOMM Workshop on Future Directions in NetworkArchitecture, vol. 33, ACM, 2003.

[40] R. Braden, T. Faber, and M. Handley, “From protocol stack to protocol heap: Role-basedarchitecture,” ACM SIGCOMM Computer Communication Review, vol. 33, no. 1, pp. 17–22,2003.

[41] ***, “Fire project.” Online: http://cordis.europa.eu/fp7/ict/fire/, 2006.

[42] ***, “4ward project.” Online: http://4ward-project.eu/, 2008.

[43] ***, “Trilogy project.” Online: http://trilogy-project.org/, 2008.

[44] ***, “Soa4all project.” Online: http://www.soa4all.eu/, 2010.

[45] ***, “Akari project.” Online: http://akari-project.nict.go.jp/, 2008.

[46] Z. Kiss, Z. Polgar, C. Vinti, M. Varga, A. Rus, and V. Dobrota, “Network coding-basedcongestion control at network layer: Protocol design and evaluation,” International Journalof Computer Networks and Communications, vol. 3, no. 1, pp. 119–138, 2011.

[47] A. B. Rus, Quality of Service through Cross-Layer Techniques for the Future Internet. PhDthesis, Technical University of Cluj- Napoca, 2011.

[48] Z. Polgar, Z. Kiss, A. B. Rus, G. Boanea, M. Barabas, and V. Dobrota, “Preliminaryimplementation of point-to-multi-point multicast transmission based on cross-layerqos and network coding,” in Proceedings of International Conference on Software,Telecommunications and Computer Networks, 2009.

133

[49] C.-C. Wang and N. B. Shroff, “Beyond the butterfly - a graph-theoretic characterizationof the feasibility of network coding with two simple unicast sessions,” in Proceedings of theInternational Symposium on Information Theory, pp. 121–125, IEEE, June 2007.

[50] M. J. Grobler, A. S. J. Helber, and S. E. Terblanche, “Optimal subgraph detection to identifyopportunities for the application of deterministic network coding,” in Proceedings of Satnac,September 2010.

[51] F. J. Boning, A. S. J. Helberg, and M. J. Grobler, “A comparison of wireless node topologiesfor network coding using practical path-loss models,” in Proceedings of IEEE InternationalConference on Networks, pp. 145–150, IEEE, 2010.

[52] T. Biermann, A. Schwabe, and H. Karl, “Creating butterflies in the core a a networkcoding extension for mpls/rsvp-te,” in Proceedings of the International IFIP-TC6 NetworkingConference, Lecture Notes In Computer Science, vol. 5550, pp. 883–894, 2009.

[53] Z. Wu, The Theory and Applications of Discrete Constrained Optimization Using LagrangeMultipliers. PhD thesis, University of Illinois at Urbana-Champaign, 2000.

[54] N. J. A. Harvey, R. D. Kleinberg, and A. R. Lehman, “Comparing network coding withmulticommodity flow for the k-pairs communication problem,” technical report, CSAIL,Massachusetts Institute of Technology, 2004.

[55] Z. Kiss, Z. Polgar, M. Giurgiu, and V. Dobrota, “Resource efficient network coding basedcongestion control for streaming applications,” in Proceedings of International Conference onTelecommunications and Signal Processing, 2011.

[56] Z. Kiss, Z. Polgar, M. Giurgiu, and V. Dobrota, “Network coding based resource efficientcongestion control for video streaming,” Telecommunication Systems, 2012.

[57] Z. Kiss, Z. Polgar, and M. Giurgiu, “Genetic algorithms for network coding optimization,”Acta Technica Napocensis, Electronics and Telecommunications, vol. 51, no. 4, pp. 51–56,2010.

[58] J. H. Holland, Adaptation in natural and artificial systems. MIT Press Cambridge, 1992.

[59] A. Botos, Z. Polgar, and Z. Kiss, “Fectcp for high packet error rate wireless channels,” inProceedings of International Conference on Communications, 2010.

[60] E. C. V. der Meulen, “Three terminal communication channels,” Advanced AppliedProbability, vol. 3, pp. 120–154, 1971.

[61] T. M. Cover and A. E. Gamal, “Capacity theorems for the relay channel,” IEEE Transactionson Information Theory, vol. 25, no. 5, pp. 572–584, 1979.

[62] J. N. Laneman and G. W. Wornell, “Energy efficient antenna sharing and relaying,” inProceedings of IEEE Wireless Communications and Networking Conference, pp. 7–12, IEEE,2000.

[63] B. Zhao and M. Valenti, “Distributed turbo coded diversity for the relay channel,” ElectronicLetters, vol. 39, pp. 786–787, 2003.

[64] T. Hunter and A. Nostratinia, “Diversity through coded cooperation,” IEEE Transactionson Wireless Communications, vol. 5, no. 2, pp. 283–289, 2006.

[65] A. Chakrabarti, A. de Baynast, A. Sabharwal, and B. Aazhang, “Ldpc code designfor half-duplex decode and forward relaying,” in Proceedings of Allerton Conference onCommunication, Control, and Computing, 2005.

134

[66] Y. Chen, S. Kishore, and J. Li, “Wireless diversity through network coding,” in Proceedingsof IEEE Wireless Communications and Networking Conference, vol. 3, pp. 1681–1686, IEEE,April 2006.

[67] X. Bao, S. Kishore, and J. Li, “Matching code-on-graph with network-on-graph: Adaptivenetwork coding for wireless relay networks,” in Proceedings of Annual Allerton Conferenceon Communication, Control and Computing, 2005.

[68] M. P. Stef, Tehnici de control al erorilor in transmisiunile prin cooperare pe canale radio.PhD thesis, Technical University of Cluj-Napoca, 2011.

[69] Z. Polgar, Z. Kiss, M. Stef, A. Hosu, and V. Bota, “Improving link reliability through networkcoding in cooperative cellular networks,” Radioengineering, vol. 21, no. 2, pp. 673–682, 2012.

[70] M. P. Stef, Z. Polgar, and V. Bota, “Network-coded cooperation protocol for multiple source- multiple relay topologies in cellular networks,” in Proceedings of Future Network and MobileSummit, June 2010.

[71] M. P. Stef, Z. Polgar, V. Bota, and A. Botos, “Network-coded cooperation algorithmfor multiple source - multiple relay topologies in cellular networks,” in Proceedings ofInternational Conference on Communications, 2010.

[72] M. P. Stef, Z. Polgar, and V. Bota, “Cooperation protocol for the uplink of relay assistedcellular networks,” in Proceedings of IEEE International Symposium on Personal Indoor andMobile Radio Communications, pp. 135–139, IEEE, 2010.

[73] S. C. Ergen, “Zigbee/ieee 802.15.4 summary,” white paper, University of California, Berkeley,2004.

[74] M. D. Francesco, G. Anastasi, and M. Conti, “Reliability and energy-efficiency in ieee802.15.4/zigbee sensor networks: An adaptive and cross-layer approach,” Journal on SelectedAreas in Communications, vol. 4, no. 8, pp. 1–18, 2011.

[75] S. Han, J. Song, X. Zhu, A. K. Mok, D. Chen, M. Nixon, W. Pratt, and V. Gondhalekar,“Wi-htest: Compliance test suite for diagnosing devices in real-time wirelesshart network,”in Proceedings of IEEE Real-Time and Embedded Technology and Applications Symposium,pp. 327–336, IEEE, April 2009.

[76] A. N. Kim, F. Hekland, , and S. Petersen, “When hart goes wireless: Understanding andimplementing the wirelesshart standard,” in Proceedings of International Conference onEmerging Technologies and Factory Automation, pp. 899–907, 2008.

[77] D. Platz, D. H. Woldegebreal, and H. Karl, “Random network coding in wireless sensornetworks: Energy efficiency via cross-layer approach,” in Proceedings of InternationalSymposium on Spread Spectrum Techniques and Applications, pp. 654–660, 2008.

[78] O. M. Al-Kofahi and A. Kamal, “Network coding-based protection of many-to-one wirelessflows,” Journal on Selected Areas in Communications, vol. 27, no. 5, pp. 797–813, 2009.

[79] Z. Guo, B. Wang, P. Xie, W. Zeng, and J.-H. Cui, “Efficient error recovery with networkcoding in underwater sensor networks,” Ad Hoc Networks, vol. 7, no. 4, pp. 791–802, 2009.

[80] I. S. Reed and G. Solomon, “Polynomial codes over certain finite fields,” SIAM Journal ofApplied Mathematics, vol. 8, pp. 300–304, 1960.

[81] Z. Kiss, Z. Polgar, M. Stef, and V. Bota, “Network coding solution for improving transmissionreliability in wireless sensor networks employed in industrial monitoring,” in Proceedings ofInternational Conference on Telecommunications and Signal Processing, 2012.

135

[82] A. Rus, A. Botos, G. Lazar, G. Boanea, M. Barabas, V. Dobrota, Z. Polgar, andZ. Kiss, Architecture and Design for the Future Internet - 4WARD Project. Signals andCommunications Technology, Springer-Verlag, 1st ed., January 2011.

[83] A. B. Rus, M. Barabas, G. Boanea, Z. Kiss, Z. Polgar, and V. Dobrota, “Cross-layer qosand its application in congestion control,” in Proceedings of IEEE Workshop on Local andMetropolitan Area Networks, pp. 1–6, IEEE, May 2010.

[84] Z. Kiss and Z. Polgar, “Random network coding based solution for resource efficientdata dissemination,” in Proceedings of International Conference on Intelligent ComputerCommunication and Processing, 2012.

[85] J. S. Plank, “Fast galois field arithmetic library in c/c++,” Tech. Rep. UT-CS-07-593,University of Tennessee, 2007.

[86] R.Srinivasan and et al., “Ieee 802.16m evaluation methodology document (emd),” tech. rep.,IEEE 802.16 Broadband Wireless Access Working Group, 2008.

[87] B. C. Arnold, Pareto Distributions. International Co-operative Publishing House, 1983.

[88] L. Devroye, Non-Uniform Random Variate Generation. Springer-Verlag, 1986.

[89] F. Guillemin and et al., “Architecture of a generic path,” Deliverable 5.1, FP7 4WARD, 2008.

[90] Z. Kiss, Z. Polgar, A. B. Rus, and V. Dobrota, “Integration of coding and cooperationtechniques into communication networks: An architecture framework,” in Proceedings ofRoEduNet International Conference, 2011.

[91] S. Gorinsky, “Bulk-data metanet: Virtualization by example.” Online, 2006.

[92] T. Wolf, “Service-centric end-to-end abstraction in next-generation networks,” in Proc. of15th International Conference on Computer Communications and Networks, pp. 79–86, 2006.

[93] D. Duchamp and T. Wolf, “Sevices architectures a network intermediaries and end-to-endabstractions.” Online, 2006.

[94] I. Baldine, M. Vellala, A. Wang, G. Rouskas, R. Dutta, and D. Stevenson, “A unified softwarearchitecture to enable cross-layer design in the future internet,” in Proceedings of InternationalConference on Computer Communications and Networks, pp. 1095–2055, IEEE, August 2007.

[95] P. Mueller and B. Reuther, “Future internet architecture a a service oriented approach,”Information Technology, vol. 50, no. 6, pp. 383–389, 2008.

136

Lista de publicat, ii

Rapoarte de cercetare

1. Z. Kiss, “Stadiul actual ın dezvoltarea metodelor de integrare a tehnicilor de codare deret,ea ın ret,ele de comunicat, ii”, Universitatea Tehnica din Cluj-Napoca, ianuarie 2011.

2. Z. Kiss, “Solut, ii propuse pentru integrarea tehnicilor de codare de ret,ea ın ret,ele decomunicat, ii”, Universitatea Tehnica din Cluj-Napoca, iulie 2011.

3. Z. Kiss, “Evaluarea solut, iilor propuse pentru integrarea tehnicilor de codare de ret,ea ınret,ele de comunicat, ii”, Universitatea Tehnica din Cluj-Napoca, ianuarie 2012.

Conferint,e internat, ionale

1. Z. Kiss, Z. Polgar, “Random Network Coding Based Solution for Resource Efficient DataDissemination”, 8th International Conference on Intelligent Computer Communication andProcessing (ICCP2012), August 30 - September 1 2012, Cluj-Napoca, Romania.

2. Z. Kiss, Z. Polgar, M. Stef, V. Bota, “Network Coding Solution for ImprovingTransmission Reliability in Wireless Sensor Networks Employed in Industrial Monitoring”,35th International Conference on Telecommunications and Signal Processing (TSP2012),Prague, Czech Republic, 3-4 July 2012.

3. Z. Kiss, Z. Polgar, M. Giurgiu, V. Dobrota, “Resource Efficient Network Coding BasedCongestion Control for Streaming Applications”, 34th International Conference onTelecommunications and Signal Processing (TSP2011), Budapest, Hungary, 18-20 August2011, ISBN: 978-1-4577-1410-8, pp. 85-90.

4. Z. Kiss, Z. Polgar, A. B. Rus, V. Dobrota, “Integration of Coding and CooperationTechniques into Communication Networks: An Architecture Framework”, 10th RoEduNetInternational Conference (RoEduNet2011), Ias, i, Romania, 23-25 June 2011, ISSN:2247-5443, pp. 24-30.

5. A. Botos, Z. Polgar, Z. Kiss, “FECTCP for High Packet Error Rate Wireless Channels”,8th International Conference on Communications (COMM2010), Bucharest, Romania, 10-12June 2010, ISBN: 978-1-4244-6361-9, pp. 327-330.

6. A. B. Rus, M. Barabas, G. Boanea, Z. Kiss, Z. Polgar, V. Dobrota, “Cross-Layer QoS andIts Application in Congestion Control“, 17th IEEE Workshop on Local and MetropolitanArea Networks (LANMAN2010), Long Branch, New Jersey, USA, 5-7 May 2010, ISBN:978-1-4244-6068-7, ISSN: 1944-0367, pp. 1-6.

7. Z. Polgar, Z. Kiss, A. B. Rus, G. Boanea, M. Barabas, V. Dobrota, ”PreliminaryImplementation of Point-to-Multi-Point Multicast Transmission Based on Cross-Layer QoSand Network Coding“, 17th International Conference on Software, Telecommunications &

137

Computer Networks (SoftCom2009), Split-Hvar-Korcula, Croatia, 24-26 September 2009,ISBN: 978-953-290-015-6, pp. 131-135.

Reviste de specialitate

1. Z. Kiss, Z. Polgar, M. Giurgiu, V. Dobrota, ”Network Coding Based Resource EfficientCongestion Control for Video Streaming“, Telecommunication Systems, ISSN: 1572-9451(Online), ISSN: 1018-4864 (Print), Springer.

2. Z. Polgar, Z. Kiss, M. Stef, A. Hosu, V. Bota, ”Improving Link Reliability through NetworkCoding in Cooperative Cellular Networks“, Radioengineering, ISSN: 1210-2512, Vol. 21., No.2., pp. 673-682, Brno, Czech Republic, June 2012.

3. Z. Kiss, Z. Polgar, G. Medan, M. Giurgiu, ”Integration of Network Coding Techniques inFuture Internet Architectures”, Acta Technica Napocensis, Electronics andTelecommunications, ISSN: 1221-6542, Vol. 53., No. 1., pp. 31-36, Cluj-Napoca, Romania,March 2012.

4. Z. Kiss, Z. Polgar, C. Vinti, M. Varga, A.B. Rus, V. Dobrota, “Network Coding-basedCongestion Control at Network Layer: Protocol Design and Evaluation”, InternationalJournal of Computer Networks & Communications (IJCNC), ISSN: 0974-9322 (Online),ISSN: 0975-2293 (Print), Vol. 3., No. 1., pp. 119-138, Academy & Industry ResearchCollaboration Center (AIRCC), India, January 2011.

5. Z. Kiss, Z. Polgar, M. Giurgiu, “Genetic Algorithms for Network Coding Optimization”,Acta Technica Napocensis, Electronics and Telecommunications, ISSN: 1221-6542, Vol. 51.,No. 4., pp. 51-56, Cluj-Napoca, Romania, December 2010.

Contribut, ie capitol de carte

1. L. Correia, H. Abramowicz, M. Johnsson, K. Wunstel (editors), A.B. Rus, A. Botos, G.Lazar, G. Boanea, M. Barabas, V. Dobrota, Z. Polgar, Z. Kiss (included in list ofcontributors) et al., “Architecture and Design for the Future Internet - 4WARD Project“,Prototype Implementations, Chapter 12, pp. 270-273, Springer, 1st Edition, Signals andCommunications Technology Series, ISBN: 978-90-481-9345-5, e-ISBN: 978-90-481-9346-2,ISSN: 1860-4862, 10 January 2011.

138

Lista de figuri

1.1 Aplicat, iile posibile ale tehnicilor NC s, i domenii de cercetare conexe . . . . . . . . 41.2 Structura tezei de doctorat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1 Topologia fluture cu s, i fara NC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Evolut, ia NC ın timp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 NC ın ret,ele wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 Planurile ret,elei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2 Arhitectura unui nod capabil de NC s, i INM . . . . . . . . . . . . . . . . . . . . . 213.3 Topologii de tip fluture identificate ıntr-o ret,ea mesh . . . . . . . . . . . . . . . . 223.4 Algoritmul de control al congestiei pe baza NC . . . . . . . . . . . . . . . . . . . . 233.5 Protocolul de semnalizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1 Diagrama logica a algoritmului DLM . . . . . . . . . . . . . . . . . . . . . . . . . 284.2 Topologia fluxurilor k perechi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3 Exemplu de topologie pentru optimizare . . . . . . . . . . . . . . . . . . . . . . . 314.4 Definirea vecinatat, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.5 Topologie exemplu pentru optimizare . . . . . . . . . . . . . . . . . . . . . . . . . 334.6 CDN ın care se implementeaza controlul congestiei pe baza NC . . . . . . . . . . 354.7 Diagrama de stare a algoritmului propus pentru controlul congestiei . . . . . . . . 374.8 Semnalizarile ıntre diferite elemente ale arhitecturii . . . . . . . . . . . . . . . . . 384.9 Controlul congestiei cu o topologie cu trei noduri sursa . . . . . . . . . . . . . . . 404.10 Diagrama logica a programului folosit pentru evaluarea metodei Lagrange . . . . . 444.11 Raportul ıntre numarul de topologii verificate de metoda FB s, i ML pe scara

logaritmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.12 Raportul ıntre numarul de topologii utilizate de metoda FB s, i ML . . . . . . . . . 454.13 Raportul ıntre resursele adit, ionale necesare ın cazul metodelor FB s, i ML . . . . . 464.14 Raportul ıntre numarul de topologii verificate de metoda FB s, i ML ın cazul celor

doua criterii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.15 Raportul ıntre resursele adit, ionale folosite de metoda FB s, i ML ın cazul celor doua

criterii de select, ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.16 Numarul de topologii gasite ın cazul celor doua metode folosind cele doua criterii

de select, ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.17 Resursele adit, ionale folosite de mecanismele 2-4 s, i 3-4 relativ la cele folosite de

mecanismul 2-3-4 ın cazul celor doua criterii de select, ie . . . . . . . . . . . . . . . 484.18 Numarul de topologii verificate de mecanismele 2-4 s, i 3-4 relativ la cele verificate

de mecanismul 2-3-4 ın cazul celor doua criterii de select, ie . . . . . . . . . . . . . 484.19 Numarul de topologii folosite pentru controlul congestiei de catre diferite variante

ale algoritmului ML (notat, ia xy: x - criteriul de optimizare a sau b; y - tipul detopologie n-surse 2, 3 sau 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.20 Raportul resurselor adit, ionale cerute de metodele FB s, i ML ın cazul diferitelorvariante de algoritm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.21 Exemplu de optimizare a operat, iilor NC folosind algoritmi genetici . . . . . . . . . 504.22 Shema logica a algoritmului genetic implementat . . . . . . . . . . . . . . . . . . . 51

139

4.23 Vectori de codare la nodul v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.24 Diagrama logica a programului folosit pentru evaluarea algoritmilor genetici . . . 534.25 Topologia de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.26 Numarul de iterat, ii s, i durata optimizarii ın funct, ie de dimensiunea populat, iei . . . 544.27 Durata de optimizare ın funct, ie de probabilitatea de ıncrucis,are . . . . . . . . . . 554.28 Durata unei iterat, ii ın funct, ie de probabilitatea de mutat, ie s, i dimensiunea populat, iei 554.29 Numarul de iterat, ii ın funct, ie de numarul de generat, ii . . . . . . . . . . . . . . . . 564.30 Numar de iterat, ii s, i durata optimizarii ın funct, ie de dimensiunea campului finit ales 57

5.1 Ret,ea celulara cooperativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.2 Graful de cooperare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3 Principiul de codare al codului de cluster . . . . . . . . . . . . . . . . . . . . . . . 635.4 Decodarea codului de cluster la stat, ia de baza . . . . . . . . . . . . . . . . . . . . 635.5 Procesul de optimizare a clusterului de cooperare . . . . . . . . . . . . . . . . . . 655.6 Algoritmul genetic folosit pentru optimizarea grafului de cooperare . . . . . . . . 685.7 Performant,ele Poutage vs. BLERth obt, inute prin evaluare teoretica s, i simulari [68] 695.8 Performant,ele Poutage vs. BLERth obt, inute prin evaluare teoretica s, i simulari . . . 715.9 Performant,ele Poutage vs. BLERth obt, inute prin evaluare teoretica s, i simulari . . . 715.10 a. Topologie de tip arbore cu nod releu b. Topologie de test 1 c. Topologie de test 2 725.11 Operat, iile de codare efectuate de nodul releu . . . . . . . . . . . . . . . . . . . . . 735.12 Operat, iile de decodare efectuate de AP . . . . . . . . . . . . . . . . . . . . . . . . 745.13 PDF pentru z = {1, 2, 3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.14 Schema logica a algoritmului genetic folosit pentru optimizarea ret,elei . . . . . . . 775.15 Cas,tigul de codare mediu ın funct, ie de rata de codare NC . . . . . . . . . . . . . 785.16 Cas,tigul de codare maxim ın funct, ie de rata de codare NC . . . . . . . . . . . . . 795.17 Cas,tigul mediu de codare relativ ın funct, ie de rata de codare NC . . . . . . . . . 795.18 Cas,tigul maxim de codare relativ ın funct, ie de rata de codare NC . . . . . . . . . 795.19 Numarul mediu de noduri implicate ın NC ın funct, ie de BLERDi−RN . . . . . . . 805.20 Cas,tigul de codare mediu ın funct, ie de rata de codare s, i numarul de noduri implicate

ın NC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.1 Testbed [82] [83] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.2 Structura pachetelor codate s, i necodate . . . . . . . . . . . . . . . . . . . . . . . . 836.3 Decodarea la nodurile destinat, ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846.4 Semnalizarea ıntre nodul sursa s, i nodul de codare . . . . . . . . . . . . . . . . . . 856.5 Semnalizarea ıntre nodul intermediar s, i nodul destinat, ie . . . . . . . . . . . . . . 866.6 Scenariul de testare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.7 Imaginile recept, ionate daca exista congestie s, i NC nu este activat . . . . . . . . . 896.8 Imaginile recept, ionate daca exista congestie s, i NC este activat . . . . . . . . . . . 896.9 Procentul de pachete pierdute. Caz 1: nu exista congestie, transmisie fara NC. Caz

2: Exista congestie, transmisie fara NC. Caz 3: Exista congestie, transmisie cu NC 906.10 Histograma ıntarzierilor ıntre pachete ale celor doua fluxuri video . . . . . . . . . 906.11 Raportul de pachete codate/necodate la ies, irea codorului . . . . . . . . . . . . . . 906.12 Exemplu de Random Network Coding . . . . . . . . . . . . . . . . . . . . . . . . . 926.13 RNC pentru transmisii unicast multiple . . . . . . . . . . . . . . . . . . . . . . . . 936.14 Procesarile la nodul sursa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.15 Codarea la nodurile intermediare . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.16 Decodarea la nodurile destinat, ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.17 Arhitectura bancului de testare RNC . . . . . . . . . . . . . . . . . . . . . . . . . 976.18 Scenariu de comunicat, ie folosind RNC . . . . . . . . . . . . . . . . . . . . . . . . 98

7.1 Elementele arhitecturii GP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.2 Compartiment de cooperare s, i codare instant, iat peste sisteme autonome . . . . . 103

140

7.3 Arhitectura entitat, ii GPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047.4 Transformare de GP-uri simple fara codare ıntr-un GP complex capabil de NC . . 1057.5 Interact, iunea ıntre INM CLQ, GPF s, i protocolul de rutare . . . . . . . . . . . . . 1067.6 Testbedul implementat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.7 Interact, iunea ıntre INM CLQ, GPF s, i MP . . . . . . . . . . . . . . . . . . . . . . 1087.8 Diagrama de semnalizare ıntre INM CLQ, GPF s, i MP . . . . . . . . . . . . . . . 1087.9 MP de codare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.10 MP de decodare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.11 Exemplu de Network Coding ın ret,ele wireless . . . . . . . . . . . . . . . . . . . . 1117.12 Comunicarea cooperativa ıntre nodurile A s, i B ın frameworkul GP . . . . . . . . . 1127.13 Arhitectura entitat, ii MP din punctele A s, i B . . . . . . . . . . . . . . . . . . . . . 1137.14 Arhitectura entitat, ii MP din nodul R . . . . . . . . . . . . . . . . . . . . . . . . . 1137.15 Cai generice instant, iate ın cazul transmisiei prin releu folosind NC . . . . . . . . . 1147.16 Bancul de testare folosit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.17 Structura pachetelor necodate s, i codate . . . . . . . . . . . . . . . . . . . . . . . . 1157.18 Elementele arhitecturii FARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.19 Metaret,ele definite peste o ret,ea de substrat . . . . . . . . . . . . . . . . . . . . . 1187.20 Elementele arhitecturii bazata pe servicii . . . . . . . . . . . . . . . . . . . . . . . 1197.21 Integrarea tehnicilor NC ın SILO . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.22 Integrarea NC ın RBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8.1 Tag cloud teza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

141

Lista de tabele

4.1 Comparat, ie ıntre metodele de optimizare FB s, i ML . . . . . . . . . . . . . . . . . 394.2 Comparat, ia topologiilor n-surse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3 Parametrii optimali ai algoritmului genetic implementat . . . . . . . . . . . . . . . 57

5.1 Cdf al erorii de aproximare BLERcale . . . . . . . . . . . . . . . . . . . . . . . . . 755.2 Valorile medii s, i maxime ale BLERDi

ın scenariul necodat . . . . . . . . . . . . . 78

6.1 Procentul datelor recept, ionate corect . . . . . . . . . . . . . . . . . . . . . . . . . 98

7.1 Timpii de transmisie pentru diferite scenarii . . . . . . . . . . . . . . . . . . . . . 116

142

Lista de abrevieri

ACK Acknowledgement

AF Amplify and Forward

ATR Available Transfer Rate

BEC Binary Erasure Channel

BER Bit Error Rate

BLEC Block Erasure Channel

BLER Block Error Rate

BR Border Router

BS Base Station

CCFW Cooperation and Coding Framework

CDN Content Delivery Network

CL Cross Layer

CLQ Cross Layer QoS

CRC Cyclic Redundancy Check

CT Compartment

DF Decode and Forward

DLM Discrete Lagrange Method

EP Endpoint

ET Entity

FARA Forwarding directive, Association, and Rendezvous Architecture

FB Fort,a Bruta

FIFO First In First Out

FIND Future Internet Design

GA Genetic Algorithm

GENI Global Environment for Network Innovations

GP Generic Path

143

GPF Generic Path Factory

INM In-Network Management

IP Internet Protocol

ISP Internet Service Provider

MAC Medium Access Control

ML Metoda Lagrange

MP Mediation Point

MP2MP Multipoint to Multipoint

MPLS Multiprotocol Label Switching

MS1R Multiple Source Single Relay

MSMR Multiple Source Multiple Relay

NC Network Coding

NCR NC Capable Router

NP Non Polinomial

OWD One Way Delay

P2P Peer to peer

QoS Quality of Service

RBA Role Based Architecture

RN Relay Node

RNC Random Network Coding

RS Reed Solomon

RSH Role Specific Header

SCA Service Centric Architecture

SDSL Symmetric Digital Subscriber Line

SILO Service Integration Control and Optimization

SNR Signal to Noise Ratio

TCP Transmission Control Protocol

UDP User Datagram Protocol

UT User Terminal

VoD Video on Demand

VoIP Voice over IP

XOR Exclusive or (sau exclusiv)

144