throbber
ALMA MATER STUDIORUM · UNIVERSITÀ DI BOLOGNA
`
`Facoltà di Scienze Matematiche, Fisiche e Naturali
`Corso di Laurea Specialistica in Informatica
`
`MECCANISMI SCALABILI DI ACCESSO A
`CONTENT DISTRIBUTION NETWORK:
`UNO STUDIO SPERIMENTALE
`
`Tesi di Laurea in Sistemi Middleware
`
`Relatore:
`Chiar.mo Prof.
`FABIO PANZIERI
`
`Presentata da:
`MARCO COCCIARINI
`
`Parole chiave: Servizi Web, PlanetLab, Load Balancing, Overlay Networks, Scalabilità
`
`Sessione I
`
`AnnoAccademico2004-2005
`
`Microsoft Ex. 1038, p. 1
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`Microsoft Ex. 1038, p. 2
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`Microsoft Ex. 1038, p. 2
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`A. . .
`mia madre Rosalba, mio padre Ezio, mia sorella Laura
`ed alla memoria di Emil.
`
`Microsoft Ex. 1038, p. 3
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`Microsoft Ex. 1038, p. 4
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`Microsoft Ex. 1038, p. 4
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`Indice
`
`Introduzione
`
`1 Lo stato dell’arte
`1.1 Cenni sul protocollo HTTP . . . . . . . . . . . . . . . . . . . . . . . . .
`1.1.1
`Struttura del protocollo . . . . . . . . . . . . . . . . . . . . . . .
`1.1.2 Le richieste HEAD e GET . . . . . . . . . . . . . . . . . . . . .
`1.1.3
`Il campo range . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.1.4 Connessioni persistenti . . . . . . . . . . . . . . . . . . . . . . .
`1.2 Servizi Web Replicati . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.2.1 Gestione server-side . . . . . . . . . . . . . . . . . . . . . . . .
`1.2.2 Gestione client-side . . . . . . . . . . . . . . . . . . . . . . . . .
`
`2 Distribuzione di carico client-centered: C2LD
`2.1 La versione precedente di C2LD . . . . . . . . . . . . . . . . . . . . . .
`2.1.1 Motivazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.1.2 Modus operandi
`. . . . . . . . . . . . . . . . . . . . . . . . . .
`2.1.3 Dimensione del frammento . . . . . . . . . . . . . . . . . . . . .
`2.1.4 Repliche in difficoltà . . . . . . . . . . . . . . . . . . . . . . . .
`2.1.5 L’architettura software e la sua implementazione . . . . . . . . .
`2.1.5.1
`Soluzioni algoritmiche: prima GET . . . . . . . . . . .
`2.1.5.2
`Il linguaggio C++ . . . . . . . . . . . . . . . . . . . .
`2.1.5.3
`Classi progettate ed implementate . . . . . . . . . . . .
`2.2 La nuova versione del software C2LD . . . . . . . . . . . . . . . . . . .
`2.2.1 Lo storico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.2.2
`Politiche per l’inoltro della richiesta iniziale . . . . . . . . . . . .
`2.2.3
`Politiche per lo scaricamento di file di grandi dimensioni . . . . .
`
`3
`
`5
`6
`6
`9
`9
`10
`11
`11
`13
`
`17
`18
`18
`18
`19
`19
`26
`26
`28
`29
`33
`33
`37
`39
`
`i
`
`Microsoft Ex. 1038, p. 5
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`ii
`
`INDICE
`
`3 PlanetLab come TestBed realistico per verificare la scalabilità di C2LD
`3.1 PlanetLab: idee e princìpi alla base del progetto . . . . . . . . . . . . . .
`3.1.1 Virtualizzazione Distribuita
`. . . . . . . . . . . . . . . . . . . .
`3.1.2 Gestione disaccoppiata . . . . . . . . . . . . . . . . . . . . . . .
`3.1.3 Evoluzione efficiente . . . . . . . . . . . . . . . . . . . . . . . .
`3.2 PlanetLab come base per la “nuova internet” . . . . . . . . . . . . . . . .
`3.3 Breve storia di PlanetLab dalla nascita ad oggi . . . . . . . . . . . . . . .
`3.4 Scelte progettuali e caratteristiche tecniche principali
`. . . . . . . . . . .
`3.4.1 L’architettura dal punto di vista locale . . . . . . . . . . . . . . .
`3.4.2 L’architettura dal punto di vista globale . . . . . . . . . . . . . .
`3.4.3 Le macchine virtuali
`. . . . . . . . . . . . . . . . . . . . . . . .
`3.4.3.1
`I Vserver: virtualizzazione ed utente root . . . . . . . .
`3.4.3.2
`I Raw Socket protetti
`. . . . . . . . . . . . . . . . . .
`Servizi di amministrazione: installazione ed aggiornamento del
`sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.4.4.1
`Il CD di boot . . . . . . . . . . . . . . . . . . . . . . .
`3.4.4.2
`Il boot server e l’aggiornamento del software . . . . . .
`PlanetLab versione 3.0: principali novità
`. . . . . . . . . . . . .
`3.4.5.1 Node Manager
`. . . . . . . . . . . . . . . . . . . . .
`3.4.5.2
`Il kernel
`. . . . . . . . . . . . . . . . . . . . . . . . .
`3.5 Confronto con altre piattaforme concorrenti
`. . . . . . . . . . . . . . . .
`3.5.1
`PlanetLab e The Grid . . . . . . . . . . . . . . . . . . . . . . . .
`3.5.2
`PlanetLab e RON . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.6 Limiti di PlanetLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.7 Conclusioni
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`3.4.4
`
`3.4.5
`
`43
`44
`46
`47
`49
`52
`56
`59
`60
`63
`65
`66
`68
`
`68
`69
`70
`70
`73
`73
`76
`76
`79
`81
`84
`
`87
`4 Test svolti e risultati ottenuti
`88
`4.1 Studio ed analisi dell’ambiente di test PlanetLab . . . . . . . . . . . . . .
`90
`4.2 Configurazione della piattaforma: scelta dei nodi client e server . . . . . .
`4.3 Selezione della versione ottimale del software C2LD . . . . . . . . . . . 104
`4.3.1 Risultati ottenuti: test su singolo file grande . . . . . . . . . . . . 109
`4.3.2 Risultati ottenuti: test su singolo file piccolo . . . . . . . . . . . . 112
`4.3.3 Risultati ottenuti: test su homepage completa . . . . . . . . . . . 113
`4.3.4 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
`
`Microsoft Ex. 1038, p. 6
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`Indice
`
`iii
`
`4.4 Test di scalabilità del software C2LD . . . . . . . . . . . . . . . . . . . . 115
`4.5 Test comparativo tra C2LD e BitTorrent
`. . . . . . . . . . . . . . . . . . 122
`4.5.1
`Introduzione a BitTorrent . . . . . . . . . . . . . . . . . . . . . . 122
`4.5.2
`Protocollo e funzionamento di BitTorrent
`. . . . . . . . . . . . . 123
`4.5.3 Test svolti e risultati ottenuti
`. . . . . . . . . . . . . . . . . . . . 131
`4.5.4 Ulteriori considerazioni
`. . . . . . . . . . . . . . . . . . . . . . 138
`
`139
`5 Futuri sviluppi: miglioramenti ed ampliamenti
`5.1 Politiche di aggiornamento dello storico . . . . . . . . . . . . . . . . . . 140
`5.2 Struttura dello storico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
`5.3 Politiche di funzionamento di C2LD . . . . . . . . . . . . . . . . . . . . 143
`
`Conclusioni
`
`Ringraziamenti
`
`Bibliografia
`
`147
`
`149
`
`151
`
`Microsoft Ex. 1038, p. 7
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`3.4. Scelteprogettualiecaratteristichetecnicheprincipali
`
`65
`
`un insieme di advertisement. Durante il passo 3, il broker combina gli advertisement con
`le richieste del servizio in termini di risorse, producendo una specifica di slice. Il broker
`richiede all’agente i ticket necessari per la slice, durante il passo 4, e l’agente risponde
`con i ticket. Infine, al passo 5, il servizio presenta i ticket al nodo per cui questi sono
`validi; il nodo istanzia una macchina virtuale associandole le risorse relative e ritorna al
`servizio un lease per questa VM.
`
`3.4.3 Le macchine virtuali
`
`In questa sezione verrà descritto il modo in cui PlanetLab implementa le macchine vir-
`tuali presenti su ogni nodo. L’obiettivo del consorzio centrale è quello di evolvere il
`Virtual Machine Monitor (VMM), supportando inizialmente una sola API ben nota (le
`chiamate di sistema Linux) e successivamente cambiarne l’implementazione sottostante
`con il tempo.
`
`A fine 2002, in occasione del previsto passaggio dalla versione 1.0 alla 2.0 di Pla-
`netLab, la nozione di isolation kernel è stata proposta da alcuni gruppi di ricerca in so-
`stituzione del precedente sistema di virtualizzazione del kernel. Successivamente è sta-
`ta valutata l’effettiva applicabilità di questo nuovo sistema con esiti purtroppo negativi:
`infatti nella versione 3.0 di PlanetLab è ancora presente un approccio basato su virtua-
`lized kernel.
`I sistemi basati su isolation kernel come ad esempio Denali [WSG02] e
`Xenoservers [FHH+03] [WHHP02] forniscono un’interfaccia di isolamento a basso li-
`vello che assomiglia molto ad una virtualizzazione dell’hardware reale. In questo tipo
`di approccio la protezione e l’allocazione delle risorse viene eseguita al livello in cui si
`trova l’interfaccia di isolamento, mentre gli utenti nello scrivere le loro applicazioni fanno
`riferimento alle API del sistema operativo che viene eseguito all’interno della macchina
`virtuale. La differenza fondamentale con i sistemi di virtualizzazione del kernel risiede nel
`fatto che questi ultimi (generalmente si tratta di sistemi operativi Unix-like, come Linux)
`non distinguono tra l’interfaccia nella quale si mette in atto il meccanismo di protezione
`e l’interfaccia di chiamate di sistema usata dagli sviluppatori di applicazioni. La scelta
`è quindi ricaduta su un approccio di tipo virtualized kernel, in virtù della sua maggior
`flessibilità e delle migliori prestazioni da esso offerte.
`
`Microsoft Ex. 1038, p. 8
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

`

`Bibliografia
`
`155
`
`[SGP04] Karl-André Skevik, Vera Goebel, e Thomas Plagemann. Analysis of
`bittorrent and its use for the design of a p2p based streaming protocol for
`a hybrid cdn. Department of Informatics - University of Oslo Technical
`Report, June 2004.
`
`[SHJ+03] Nabah S., Franke H., Choi J., Seetharaman C., Kaplan S., Singhi N.,
`Kashyap V., e Kravetz M. class-based prioritized resource control in linux.
`In Proceedings of Linux Symposium OLS 2003 (Ottawa, Ontario, Canada),
`July 2003.
`
`[SJPS+05] Lee Sung-Ju, Sharma Puneet, Banerjee Sujata, Basu Sujoy, e Fonseca
`Rodrigo. Measuring bandwidth between planetlab nodes. HP Labs Technical
`Report HPL-2005-24. To be published in Passive and Active Measurement
`Workshop (PAM 2005) 31 March -1 April 2005, Boston, MA, USA, March
`2005.
`
`[Sta03] William Stallings. Cryptography and Network Security (Third Edition).
`Prentice Hall, 2003.
`
`[UoA05] CS Department University of Arizona. http://www.cs.arizona.edu/scout/.
`Homepage del progetto Scout, 2005.
`
`[WHHP02] Andrew Warfield, Steve Hand, Timothy L. Harris, e Ian Pratt. Isolation oh
`shared network resources in xenoservers. PlanetLab Design Note PDN-02-
`006, November 2002.
`
`[WPRK03] Mike Wawrzoniak, Larry Peterson, Timothy Roscoe, e Scott Karlin. A
`simple common sensor interface for planetlab. PlanetLab Technical Report
`PDN-03-010, May 2003.
`
`[WSG02] Andrew Whitaker, Marianne Shaw, e Steven D. Gribble. Denali: A
`scalable isolation kernel. Proceedings of the Tenth ACM SIGOPS European
`Workshop, Saint-Emilion, France, September 2002.
`
`Microsoft Ex. 1038, p. 9
`Microsoft v. Daedalus Blue
`IPR2021-00832
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket