Peer to Peer - Streaming of the Future

772 views

Published on

Presentatie over Peer to Peer in virtuele werelden en spelletjes.Opdracht communicatievaardigheden, 1e bachlor informatica.

Presentatie door Cedric Van Bockhaven en Arya Ghodsi

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
772
On SlideShare
0
From Embeds
0
Number of Embeds
306
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Voorbeelden: WoW, Google earth , second life,…
  • Voor te vertellen: FLOD  is een framework dat virtuele omgevingen opsplitst in grids.
  • De gebruiker krijgt informatie over de nabije objecten Belangrijkheidsgraad van objecten het downloaden van objecten naargelang hun prioriteit Voor te vertellen: FLOD
  • RUIMTE
  • Voorbeelden= meerdere malen inloggen Misbruik van het systeem= advertenties e.d. Verschillende versies= de ene gebruiker zit misschien met versie 1.5 terwijl de andere op versie 2 werkt  incompatibiliteit
  •  De “whole –model” : Is basisvorm, hierbij moet de content geheel gedownload worden vooraleer het kan worden geladen. standaard digitale handtekening met private en public key  Het “linear/progressive” model : Hierbij wordt het hele pakken in stukken gekapt(cfr. Grid) en de gebruiker kan aan de hand van een ruwe voorstelling beslissen waar hij naar toe wil gaan en zo de juiste “stuk” binnenhalen. het probleem hier is dat voor elk deel een aparte handtekening zou moeten toegevoegd worden, de uitgever handtekent daarom het eerste deel, waarna de verificatie van de volgende delen steunt op het vorige. Het eerste object wordt gehandtekend wanneer deze wordt geverifieerd, dan genereert deze een output. Op basis van die output wordt het tweede deeltje geverifieerd, deze heeft ook een output en op basis daarvan wordt het derde deeltje geverifieerd enz.  De “independant stream” model:hierbij wordt het geheel ook in stukken verdeeld, maar de stukken staan los van mekaar. De deeltjes kunnen ook geheel naar keuzen van de gebruiker worden binnegehaald. Omdat de deeltjes onafhankelijk opereren kan geen Hash chain worde gebruikt, zoals bij linear model. Dus moet het snelste verificiate algoritme gezocht worden. De rabin wijze is een goede oplossing. Het voordeel is dat de verificatie snel kan worden geverifieerd, maar het nadeel is wel dat het lang duurt om zo’n digitale handtekening te genereren, maar sinds dit vooraf kan gebeuren door de server, is dit geen probleem.  De “Partially linear stream” model: Daarmee wordt bedoeld dat de deeltjes onderling een complexe relatiestructuur hebben. Deze leunt sterk aan bij de het lineair model, alleen bepaalt de structuur welke deeltjes een hogere prioriteit hebben en dus vlugger worden moeten gedownload worden. |||| ?????? wapens worden apart gedownload (granaat, geweer, mes) daarna kleding (hemd, broek) daarna lichaamseigenschappen (huidskleur, snor, man/vrouw) etc etc.. ????? Hier wordt er gebruik gemaakt van Hash DAG, dit is een soort van Hash chain, alleen zijn er ook onafhankelijke delen. Dus eigenlijk is er een combinatie van independant stream en linear stream. Verificatie van een deeltje steunt op het andere, maar niet altijd. Bijvoorbeeld stuk 45 kan steunen op 5, maar je kan hem stuk 45 wel binnenhalen,zonder dat de overige stukken zijn geverifieerd(stuk 5 moet WEL geverifieerd zijn). Bij linear... moet stuk 1 tot 44 eerst geverifieerd worden vooraleer het kan binnengehaald.
  •  De “whole –model” : Is basisvorm, hierbij moet de content geheel gedownload worden vooraleer het kan worden geladen. standaard digitale handtekening met private en public key  Het “linear/progressive” model : Hierbij wordt het hele pakken in stukken gekapt(cfr. Grid) en de gebruiker kan aan de hand van een ruwe voorstelling beslissen waar hij naar toe wil gaan en zo de juiste “stuk” binnenhalen. het probleem hier is dat voor elk deel een aparte handtekening zou moeten toegevoegd worden, de uitgever handtekent daarom het eerste deel, waarna de verificatie van de volgende delen steunt op het vorige. Het eerste object wordt gehandtekend wanneer deze wordt geverifieerd, dan genereert deze een output. Op basis van die output wordt het tweede deeltje geverifieerd, deze heeft ook een output en op basis daarvan wordt het derde deeltje geverifieerd enz.  De “independant stream” model:hierbij wordt het geheel ook in stukken verdeeld, maar de stukken staan los van mekaar. De deeltjes kunnen ook geheel naar keuzen van de gebruiker worden binnegehaald. Omdat de deeltjes onafhankelijk opereren kan geen Hash chain worde gebruikt, zoals bij linear model. Dus moet het snelste verificiate algoritme gezocht worden. De rabin wijze is een goede oplossing. Het voordeel is dat de verificatie snel kan worden geverifieerd, maar het nadeel is wel dat het lang duurt om zo’n digitale handtekening te genereren, maar sinds dit vooraf kan gebeuren door de server, is dit geen probleem.  De “Partially linear stream” model: Daarmee wordt bedoeld dat de deeltjes onderling een complexe relatiestructuur hebben. Deze leunt sterk aan bij de het lineair model, alleen bepaalt de structuur welke deeltjes een hogere prioriteit hebben en dus vlugger worden moeten gedownload worden. |||| ?????? wapens worden apart gedownload (granaat, geweer, mes) daarna kleding (hemd, broek) daarna lichaamseigenschappen (huidskleur, snor, man/vrouw) etc etc.. ????? Hier wordt er gebruik gemaakt van Hash DAG, dit is een soort van Hash chain, alleen zijn er ook onafhankelijke delen. Dus eigenlijk is er een combinatie van independant stream en linear stream. Verificatie van een deeltje steunt op het andere, maar niet altijd. Bijvoorbeeld stuk 45 kan steunen op 5, maar je kan hem stuk 45 wel binnenhalen,zonder dat de overige stukken zijn geverifieerd(stuk 5 moet WEL geverifieerd zijn). Bij linear... moet stuk 1 tot 44 eerst geverifieerd worden vooraleer het kan binnengehaald.
  •  De “whole –model” : Is basisvorm, hierbij moet de content geheel gedownload worden vooraleer het kan worden geladen. standaard digitale handtekening met private en public key  Het “linear/progressive” model : Hierbij wordt het hele pakken in stukken gekapt(cfr. Grid) en de gebruiker kan aan de hand van een ruwe voorstelling beslissen waar hij naar toe wil gaan en zo het juiste “stuk” binnenhalen. het probleem hier is dat voor elk deel een aparte handtekening zou moeten toegevoegd worden, de uitgever handtekent daarom het eerste deel, waarna de verificatie van de volgende delen steunt op het vorige. Het eerste object wordt gehandtekend wanneer deze wordt geverifieerd, dan genereert deze een output. Op basis van die output wordt het tweede deeltje geverifieerd, deze heeft ook een output en op basis daarvan wordt het derde deeltje geverifieerd enz.  De “independant stream” model:hierbij wordt het geheel ook in stukken verdeeld, maar de stukken staan los van mekaar. De deeltjes kunnen ook geheel naar keuzen van de gebruiker worden binnegehaald. Omdat de deeltjes onafhankelijk opereren kan geen Hash chain worde gebruikt, zoals bij linear model. Dus moet het snelste verificiate algoritme gezocht worden. De rabin wijze is een goede oplossing. Het voordeel is dat de verificatie snel kan worden geverifieerd, maar het nadeel is wel dat het lang duurt om zo’n digitale handtekening te genereren, maar sinds dit vooraf kan gebeuren door de server, is dit geen probleem.  De “Partially linear stream” model: Daarmee wordt bedoeld dat de deeltjes onderling een complexe relatiestructuur hebben. Deze leunt sterk aan bij de het lineair model, alleen bepaalt de structuur welke deeltjes een hogere prioriteit hebben en dus vlugger worden moeten gedownload worden. |||| ?????? wapens worden apart gedownload (granaat, geweer, mes) daarna kleding (hemd, broek) daarna lichaamseigenschappen (huidskleur, snor, man/vrouw) etc etc.. ????? Hier wordt er gebruik gemaakt van Hash DAG, dit is een soort van Hash chain, alleen zijn er ook onafhankelijke delen. Dus eigenlijk is er een combinatie van independant stream en linear stream. Verificatie van een deeltje steunt op het andere, maar niet altijd. Bijvoorbeeld stuk 45 kan steunen op 5, maar je kan hem stuk 45 wel binnenhalen,zonder dat de overige stukken zijn geverifieerd(stuk 5 moet WEL geverifieerd zijn). Bij linear... moet stuk 1 tot 44 eerst geverifieerd worden vooraleer het kan binnengehaald.
  •  De “whole –model” : Is basisvorm, hierbij moet de content geheel gedownload worden vooraleer het kan worden geladen. standaard digitale handtekening met private en public key  Het “linear/progressive” model : Hierbij wordt het hele pakken in stukken gekapt(cfr. Grid) en de gebruiker kan aan de hand van een ruwe voorstelling beslissen waar hij naar toe wil gaan en zo de juiste “stuk” binnenhalen. het probleem hier is dat voor elk deel een aparte handtekening zou moeten toegevoegd worden, de uitgever handtekent daarom het eerste deel, waarna de verificatie van de volgende delen steunt op het vorige. Het eerste object wordt gehandtekend wanneer deze wordt geverifieerd, dan genereert deze een output. Op basis van die output wordt het tweede deeltje geverifieerd, deze heeft ook een output en op basis daarvan wordt het derde deeltje geverifieerd enz.  De “independant stream” model:hierbij wordt het geheel ook in stukken verdeeld, maar de stukken staan los van mekaar. De deeltjes kunnen ook geheel naar keuzen van de gebruiker worden binnegehaald. Omdat de deeltjes onafhankelijk opereren kan geen Hash chain worde gebruikt, zoals bij linear model. Dus moet het snelste verificiate algoritme gezocht worden. De rabin wijze is een goede oplossing. Het voordeel is dat de verificatie snel kan worden geverifieerd, maar het nadeel is wel dat het lang duurt om zo’n digitale handtekening te genereren, maar sinds dit vooraf kan gebeuren door de server, is dit geen probleem.  De “Partially linear stream” model: Daarmee wordt bedoeld dat de deeltjes onderling een complexe relatiestructuur hebben. Deze leunt sterk aan bij de het lineair model, alleen bepaalt de structuur welke deeltjes een hogere prioriteit hebben en dus vlugger worden moeten gedownload worden. |||| ?????? wapens worden apart gedownload (granaat, geweer, mes) daarna kleding (hemd, broek) daarna lichaamseigenschappen (huidskleur, snor, man/vrouw) etc etc.. ????? Hier wordt er gebruik gemaakt van Hash DAG, dit is een soort van Hash chain, alleen zijn er ook onafhankelijke delen. Dus eigenlijk is er een combinatie van independant stream en linear stream. Verificatie van een deeltje steunt op het andere, maar niet altijd. Bijvoorbeeld stuk 45 kan steunen op 5, maar je kan hem stuk 45 wel binnenhalen,zonder dat de overige stukken zijn geverifieerd(stuk 5 moet WEL geverifieerd zijn). Bij linear... moet stuk 1 tot 44 eerst geverifieerd worden vooraleer het kan binnengehaald.
  • Peer to Peer - Streaming of the Future

    1. 1. Beveiligde 3D streams via peer-to-peer Presentatie door Arya Ghodsi en Cedric Van Bockhaven
    2. 2. Virtuele omgevingen <ul><li>Problemen </li></ul><ul><ul><li>Virtuele omgevingen omvatten veel data </li></ul></ul><ul><ul><li>Meer gebruikers, meer serverbelasting </li></ul></ul><ul><li>Veilige en goedkope alternatieven </li></ul><ul><ul><li>Streamen vanaf server </li></ul></ul><ul><ul><li>Peer-to-peer (p2p) </li></ul></ul>Arya Ghodsi en Cedric Van Bockhaven
    3. 3. Scène-streaming Status-uitwisseling: hebben de gebruikers de inhoud die ik zoek, zijn ze fysiek dichtbij, etc.? Transmissie: het downloaden van objecten naargelang de prioriteit Prioritisatie: belangrijkheidsgraad van objecten wordt bepaald Determinatie: de gebruiker krijgt informatie over nabije objecten Bronnen zoeken: welke andere gebruikers hebben de data die ik wil? Arya Ghodsi en Cedric Van Bockhaven Streamen vanaf server Streamen via P2P Determinatie Determinatie Prioritisatie Bronnen zoeken Status-uitwisseling Transmissie Transmissie
    4. 4. AOI-buren Area of Interest neighbours <ul><li>Mensen in dezelfde virtuele omgeving </li></ul><ul><li>Personen (peers) met hoogste kans om dezelfde data te bezitten </li></ul>Arya Ghodsi en Cedric Van Bockhaven
    5. 5. Object-fragmenten Ruwe schets Base piece Verfijnde afbeelding Refinement pieces Arya Ghodsi en Cedric Van Bockhaven
    6. 6. Waarom beveiligen?  Data beveiligen met digitale handtekening Arya Ghodsi en Cedric Van Bockhaven
    7. 7. Werking van digitale handtekening Ondertekenen Hash-functie Data Encryptie met private key Toevoegen ______ ________________________________________ Arya Ghodsi en Cedric Van Bockhaven 101100110100010 Hash Data met digitale handtekening ______ ________________________________________ 001011101101001 Digitale handtekening
    8. 8. Werking van digitale handtekening Verifiëren Hash-functie Decryptie met public key 101100 001 100010 Arya Ghodsi en Cedric Van Bockhaven Data ______ ________________________________________ Data ______ __________ X _________________ X ___________ 101100110100010 Hash Data met digitale handtekening ______ ________________________________________ 001011101101001 Digitale handtekening 101100110100010 Hash
    9. 9. Beveiligde streams via p2p <ul><li>Digitale handtekening toevoegen is veilig maar serverintensief </li></ul><ul><li>Realtime rendering van 3D-objecten vraagt veel servercapaciteit </li></ul><ul><li>Snelle methode nodig om data te streamen op een veilige manier </li></ul><ul><li>4 streamtypes met bijhorend algoritme </li></ul>Arya Ghodsi en Cedric Van Bockhaven
    10. 10. Verschillende streamtypes Gehele download <ul><li>Eerst volledig downloaden </li></ul><ul><li>Weinig resources nodig </li></ul><ul><li>Standaard digitale handtekening </li></ul><ul><li>Gebruiker moet wachten </li></ul>Arya Ghodsi en Cedric Van Bockhaven
    11. 11. Verschillende streamtypes Lineaire stream <ul><li>Data in stukken verdelen </li></ul><ul><li>Ketting van hashes </li></ul><ul><li>Verificatie van deeltje steunt op de verificatie van een vorig deeltje </li></ul>Arya Ghodsi en Cedric Van Bockhaven
    12. 12. Verschillende streamtypes Onafhankelijke stream <ul><li>Data in stukken verdelen </li></ul><ul><li>Stukken zijn onafhankelijk </li></ul><ul><li>Fast-forward ondersteuning </li></ul><ul><li>Rabin-algoritme </li></ul><ul><li>Verifiëren gaat snel, ondertekenen traag </li></ul>Arya Ghodsi en Cedric Van Bockhaven
    13. 13. Verschillende streamtypes Gedeeltelijk lineaire stream <ul><li>Downloads kunnen gegroepeerd worden </li></ul><ul><li>Combinatie lineaire en onafhankelijke stream </li></ul><ul><li>Hash DAG </li></ul>Arya Ghodsi en Cedric Van Bockhaven
    14. 14. Conclusie <ul><li>Streamen via p2p bewerkstelligt een betere gebruikerservaring </li></ul><ul><li>Dankzij p2p wordt de server minder belast en zijn er minder serverkosten </li></ul><ul><li>De vier voorgestelde mogelijkheden zijn veilig en betrouwbaar </li></ul>Arya Ghodsi en Cedric Van Bockhaven Bron: Shun-Yun Hu, Jehn-Ruey Jiang, Bing-Yu Chen, &quot;Peer-to-Peer 3D Streaming,&quot; IEEE Internet Computing , 31 Aug. 2009. IEEE computer Society Digital Library. IEEE Computer Society, <http://doi.ieeecomputersociety.org/10.1109/MIC.2009.98>

    ×