Distributing usage of bandwidth for on-demand streaming

Slides:



Advertisements
Lignende præsentationer
Logistik Mål og strategier
Advertisements

Berit A. Faber September Bioteknologiens udfordringer til forskningsetikken.
Produktionsfunktion Lang sigt Erhvervsøkonomi / Managerial Economics
Produktionsøkonomi Kort sigt Erhvervsøkonomi / Managerial Economics
Web 2.0 Teoretisk viden.
Arkitektur - data.
TEST 1 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Sidetyper Web-udvikling med FrontPage 2003 RHS - Informationsteknologi.
Computerens anatomi.
Aalborg Universitet Esbjerg
Bibliotekarforbundet, 18. juni filmstriben.dk version 1.0 Ejnar Slot Dansk BiblioteksCenter as.
Computerens anatomi! Hvad skal du vide før du køber din egen?
Kommunikation.
Grundbegreb + Priselasticitet
Cell ● Cell er implementeret vha. intermediate state transfer ● State der skal overføres – Værdi referencen – Delta af versionerne af de værdi-orienterede.
Computer anatomi Vi skal kigge lidt nærmere på kabinens grundlæggende indhold. Tryk på F5 for fuld skærmbillede Skift til næste dias (Museklik) for et.
Introduktion til indholdsfortegnelser j Tryk derefter på F5, eller klik på Slideshow > Fra begyndelsen for at starte kurset. Klik på Aktivér redigering.
To modsatrettede Opfattelser Organisation, Trojka, 4. udgave, 2007
Sådan skaber vi et kampagnekorps Baggrund Foreningen skal bruge flere frivillige til centrale og lokale events For fortsat at sikre midler til foreningens.
Informationsteknologi B-A, HHX, 2005,
FORTROLIGT. Må kun distribueres til partnere med aftale om hemmeligholdelse. Microsoft giver ingen garantier, hverken udtrykkeligt eller stiltiende. ©
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
Velkommen til Hvordan vises skolens værdier bedst muligt i SkolePorten? SkolePortens fleksibilitet kan medvirke til at understøtte skolens værdier. Oplægget.
e-Tinglysning WebService Arkitektur
Introduktion til Access (Access, del 1)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Samarbejde eksternt/Netværk Et inspirationsværktøj Det er ikke, hvad du ved, men hvem du kender, der tæller!
Circle of change Benægtelse Reaktion Accept Handling
Hvem er Parseport? -- ParsePort er en nystiftet, dansk virksomhed med speciale i data-opsamling, -behandling og - præsentation. Hvem står bag ParsePort?
Portalanalyse Udfordringer ved iFrame integrationsformen i forbindelse med FOBS løsningen.
Backup/Storage Søren Helmer Jensen.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
Konstant acceleration
Secret Key kryptering – teknikker og problemer INTRODUKTION TIL KRYPTERING.
Multi-vejs hobe med ekstra bytes Foredrag: Claus Jensen Projektmedlemmer: Jyrki Katajainen, Fabio Vitale, Claus Jensen.
Sensus Hyppige brud på retningslinierne for tilgængelighed - WCAG Helene Nørgaard Bech Sensus ApS.
Effektiv adgang til data Niels Mørck, Carl Bro GIS & IT  Carl Bro GIS og IT  Problemstillingen  Nordjyllands Amts Blanketsystem  Centralisering / decentralisering.
Netværk og interprocess- kommunikation. Disposition Softwarelag Protokollag ◦UDP ◦TCP.
OC-Området Temadag om fjernlån november E-kopi Digital kopiservice Temadag om fjernlån Jens Hjørne DBC og SB, november 2007.
Serviceorienteret arkitektur SOA. SOA bygger på Der findes en serviceleverandør, som udstiller en formåen til at udføre en veldefineret og afgrænset aktivitet,
1 Design, analyse og verifikation. 2 Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær søgning Verifikation.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Objektorienteret Netværkskommunikation Præsentation 28: Eksamen.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Interaktionsformer En begrebsmæssig model kan understøttes med forskellige interaktionsformer Interaktionsformen fastlægger centrale egenskaber: Hvordan.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Netværk og interprocess- kommunikation - Et eksamensoplæg!
Økonometri 1: Heteroskedasticitet1 Økonometri 1 Heteroskedasticitet 31. marts 2003.
Økonometri 1: Den simple regressionsmodel Økonometri 1 Den simple regressionsmodel 7. september 2004.
Brand Communities: Nye Segmenttyper? Per Østergaard Institut for Marketing Syddansk Universitet.
Læsning og skrivning af pakker på IP niveau. Hvorfor er det svært? Fra et normalt programmeringssprog er netværksadgangen begrænset Vælg protokol, port,
DAIMIProgrammering af Store Systemer1 Concurrency i Java – Samarbejdende tråde.
Indledende Programmering Uge 6 - Efterår 2006
Dagens gang Komponenter Projektetablering Opgave i komponenter til næste gang.
NAT Implementation. Setup Grafik fra teori-afsnit, med ip’er og andet info på.
 Jens Bennedsen 2001Multimedie programmering3B.1 Specifikationer Betingelser, specifikationer og JavaDoc.
Netteknik 1 (AMU 44947) Netteknik 1
Skabelon til udarbejdelse af YoungCRM Årshjul
Værdibaseret ledelse. Udgangspunktet Fokus på procesværdi som et middel til at opnå målet (højere produktværdi) Alle byggeriets parter er på banen, og.
Effektiv vækst - Workshop
Modul 2.1 – Go’dag til Cura og Fælles Sprog III
Anvendelse.
Cloud Computing Model-View-Controller
Samarbejdende LEGO-Robotter
Tre lags arkitektur.
Modul 3.2 – Forberedelse til læringsteams
Post Danmark eKommunikation – Post-let
Dokumentation.
Dokumentation.
Præsentationens transcript:

Distributing usage of bandwidth for on-demand streaming Specialeforsvar, 15. jan 2007 Datalogisk Institut ved Københavns Universitet Distributing usage of bandwidth for on-demand streaming Jacob de Fine Skibsted & Stephan Lynge Herlev Larsen

Agenda Baggrund: Begreber, problemstillinger og krav. Protokolspecifikation: Arkitektur, video data, topologi og pakketyper. Implementering: Protokol implementering og testprogrammer. Resultat: Demonstration og opnået besparelse. Opsummering DIKU - Specialeforsvar 15. jan 2007 2 / 22

“Distributing usage of bandwidth for on-demand streaming” Baggrund Begreber Streaming: Afsendelse af data med samme hastighed som modtageren konsumerer dette. On-Demand: Grundlæggende findes der 2 former for streaming: On-demand streaming og Live streaming: Live Streaming, kan bedst sammenlignes med en direkte fodboldkamp. On-demand streaming, kan bedst sammenlignes med afspilning af en DVD. Båndbredde: Et lidt misbrugt udtryk som betegner en linies kapacitet - udtryk for hvor meget data der kan sendes fra A til B. Distribuering: Omfordeling af en resurse mellem flere enheder. Deraf specialets overskrift: “Distributing usage of bandwidth for on-demand streaming” DIKU - Specialeforsvar 15. jan 2007 3 / 22

Baggrund s K2 K3 K1 K4 K5 Problemstilling Server sender data til een klient. Serveren sender en datastrøm til flere klienter. K2 K3 I stedet for dette kan klienterne sende data videre til hinanden. K1 Dette giver dog det problem, at hvis klient K4 interagerer med filmen, hvem skal da sende data til K5? K4 Den grundlæggende problemstilling er derfor at sørge for, at klienterne videresender data, man at de ikke er indbyrdes afhængige. K5 DIKU - Specialeforsvar 15. jan 2007 4 / 22

Baggrund Krav Serverens båndbredde forbrug skal begrænses: Båndbreddeforbruget for serveren må ikke ’skalere lineært’ i forhold til antallet af klienter der ser filmen. Bruger-interaktion: En klients interaktion må ikke forårsage uregelmæssigheder for andre brugere. Det skal være muligt for en klient at “springe” i filmen. Det skal være muligt for en klient at pause en film. Hurtig opstart. Datastrøm: Klienter der ikke er i stand til, at aflevere en komplet upstream skal ikke udelukkes fra at kunne være med. Data skal derfor kunne leveres fra flere klienter. Serveren skal have mulighed for at styre dataflowet mellem de enkelte klienter. Sikkerhed: Serveren skal autorisere alle brugere der ønsker at se en film. En klient må ikke have mulighed for, uopdaget at ændre på data inden det sendes videre til andre klienter. Det skal i et vist omfang sikres at en klient ikke kan kopiere data. DIKU - Specialeforsvar 15. jan 2007 5 / 22

Protokolspecifikation Arkitektur DIKU - Specialeforsvar 15. jan 2007 6 / 22

Dette fordrer brugen af to forskellige datastrømme, nemlig... Protokolspecifikation Topologi Central server: Opbevarer som den eneste den fulde videofil. Varetager klienternes adfærd. Opbygger den topologi som er tilsigtet af implementeringen. Bestemmer hvilke klienter der sender hvad til andre. Topologien er således ikke fastlagt af specifikationen. Klient: Udfører serverens ordrer. Videresender data til andre klienter. Skal kunne sende data til flere andre klienter. Dette fordrer brugen af to forskellige datastrømme, nemlig... DIKU - Specialeforsvar 15. jan 2007 7 / 22

Protokolspecifikation Topologi Kontrolkanal (CCP): Benyttes af klienten til at underrette serveren om dens status. Underretter klienter om datastrømmens karakteristika. Benyttes af serveren til at give ordrer til klienterne. Indkapsles ved hjælp af TCP. Datakanal (DCP): Distribuerer videodata mellem klienter. Synkronisering mellem klienter. Indkapsles ved hjælp af UDP. Kan sende med højere/lavere hastighed end strømmen reelt har behov for. Gensender data ved behov, dog skal undgås ’late retransmissions’. DIKU - Specialeforsvar 15. jan 2007 8 / 22

Protokolspecifikation Topologi Karakteristika for udvælgelsesalgoritmen: Udvælger een eller flere klienter som skal sende data til en anden klient. Udføres hver gang topologiændringer sker: Når klienter indtræder eller forlader netværket. Når klienter omflyttes pga. brugerinteraktion eller udfald. Kan baseres på følgende parametre: Klienternes båndbredde. Bufferkapacitet. Netværksstabilitet. Brugerinteraktion / adfærd. Hvor sociale klienterne er. DIKU - Specialeforsvar 15. jan 2007 9 / 22

Protokolspecifikation Datafragmentering Buffer blok (BB): Benyttes til at skippe mellem dele af filmen. Modtages een af gangen fra en eller flere afsendere. På hinanden følgende blokke afsendes efter samme mønster givet af serveren. Består af et antal data blokke. Data blok (DB): Mindste entitet filmen neddeles i. Hver DB afsendes i een UDP pakke. Maksimale størrelse er 65536 byte. DIKU - Specialeforsvar 15. jan 2007 10 / 22

Protokolspecifikation Buffering Bufferens formål er: Skjule netværksudsving for klientapplikationen. Videresende data til andre klienter. Absorbere udfald, når serveren ændrer datastrømmens karakteristika. Dette rejser spørgsmålet, hvorfor skal bufferen være en del af specifikationen? Idet serveren er nødt til at kende indholdet af hver klients buffer må der være en fælles opfattelse af bufferen. DIKU - Specialeforsvar 15. jan 2007 11 / 22

Protokolspecifikation Buffering Klientens buffer: Opfattes som en cirkulær buffer. Punkter hvor handlinger finder sted: Play pointer (PP) Receive pointer (RP) Stream pointer (SP) Opdeles i flere områder: Send area (SA) Connect area (CA) Reserved area (RA) Absorption area (AA) Størrelser på disse områder fastlægges af klienten. DIKU - Specialeforsvar 15. jan 2007 12 / 22

Protokolspecifikation Brugerinteraktion Start: Skal opfattes som ’instant’ start-up. Uhensigtsmæssigt at vente til AA er fyldt. Skip: Skip inden for bufferen. Skip uden for bufferen. Pause: Bør man ændre topologi straks eller bør man vente? Hensigtsmæssigt at vente: Muliggør korte pauser. Klienter kan fungere som ’proxy’ Når bufferen løber fuld vil topologiændringen være nødvendig. DIKU - Specialeforsvar 15. jan 2007 13 / 22

Protokolspecifikation Protokoltilstande Det er ikke muligt at snakke om protokoller uden at snakke om tilstande. Det er dog vigtigt at skelne mellem hvem der opfatter tilstanden. I vores protokol er det dog altid serverens opfattelse der regnes for den gældende. Serverens egen tilstand er simpel – faktisk kun en. Vil kun kort gennemgå de enkelte tilstande blot: Not connected. Connect pending. Connected, initializing. Buffering. Playing. Paused. Skipping. Stopping. Det er således altid serverens opfattelse der bestemmer, om en pakke afsendt fra en klient er gyldig. DIKU - Specialeforsvar 15. jan 2007 14 / 22

Protokolspecifikation Pakketyper Alle pakketyper bærer den samme header, både DCP samt CCP pakker: Headeren indeholder derfor informationer som er delt mellem alle pakketyper. DIKU - Specialeforsvar 15. jan 2007 15 / 22

Protokolspecifikation Pakketyper Pakker inddeles grundlæggende i: Connection: Etableringsfase for en klient. Configuration: Konfiguration af den datastrøm som afsendes/modtages af en klient. Herunder hvilke blokke der afsendes fra hver klient. Streaming: Udveksling af videodata samt justering af den hastighed hvormed data sendes mellem forbundne klienter. Interaction: Udveksling af kommandoer for brugerinteraktion. Status: Forespørgsel samt svar på status. RTT calculation: Beregning af round-trip tid mellem klienter. Security: Afsendelse af sikkerhedsrelateret information fra server til klient. DIKU - Specialeforsvar 15. jan 2007 16 / 22

Protokolspecifikation Sikkerhed Autenticitet: Løses ved hjælp af udveksling af nøglepar som ses ved eks. kerberos. Autorisering: Udføres af serverapplikation. Data integritet og sikkerhed for tyveri af data: Udføres ikke, men designets fleksibilitet åbner for muligheden for det. Sikring af data er nærmest umuligt idet en sådan altid kan omgås. Ideen er at gøre det så vanskeligt at det ikke er attraktivt. Derfor er dette er skilt ud fra protokollen idet der kan benyttes mange forskellige typer af sikkerhed. DIKU - Specialeforsvar 15. jan 2007 17 / 22

Implementation Protokol For at godtgøre protokolspecifikationens grundlæggende funktionalitet er foretaget en implementering af de centrale dele af specifikationen. Implementeringen er tosidet (klient/server) og er karakteriseret ved: Modulær opbygning. Genbrug af moduler mellem de to sider. Opbygget med en klar grænseflade. Benytter flertrådet funktionalitet. Servergrænseflade: Data afleveres til protokollen af serverapplikation for at åbne for at serverapplikationen kan benytte avancerede algoritmer til disk tilgang. Dette giver desuden den fordel at kopiering af hukommelse undgås. Protokollen benytter en kø af opgaver som betjenes af serverapplikationen til at autorisere klienter, forespørge data etc. Klientgrænseflade: Kald der returnerer videodata og sikkerhedsdata. Transporterer kald til brugerinteraktion. Oprindelig intention var en implementering under Linux som derved nemt kunne portes til Windows. Al koden blev dog konverteret til C++ under Windows. DIKU - Specialeforsvar 15. jan 2007 18 / 22

Resultat Demonstration I stedet for en live demonstration viser vi en optagelse der er lavet ved hjælp af de udviklede testapplikationer. Optagelsen viser følgende scenarier: Normal streaming: Først vises en komplet streaming af filmen fra serveren til en klient, uden nogen former for afbrydelser. Brugerinteraktion: Serveren streamer data til en klient som foretager 2 skip i filmen. Videresendelse af data: En klient startes som derefter modtager data fra serveren. Endnu en klient startes op, men denne modtager data fra klient 1. Begge klienter stoppes. Omflytning af klient: En klient startes op herefter startes klient 2 som modtager data fra klient 1. Klient 1 stoppes hvilket medfører at klient 2 får data fra serveren. Endelig foretager klient 2 et skip i filmen hvorefter den stoppes. Data fra flere kilder: En klient startes op som modtager data fra serveren. Herefter startes klient 2 som modtager data fra klient 1, endelig startes klient 3 som modtager data fra klient 1 og klient 2. Klient 2 stoppes og klient 3 modtager nu data fra serveren og fra klient 1 og klient 1 stopper med at sende til klient 2. DIKU - Specialeforsvar 15. jan 2007 19 / 22

Resultat Båndbreddebesparelse Vi kan godtgøre at protokollen opnår en båndbreddebesparelse i et setup under bestemte forudsætninger: Klienterne kan bidrage med tilpas stor upload Klienterne har en tilpas stor buffer til rådighed Et tilpas stort antal klienter Ydermere kan vi konstatere at en række andre faktorer har stor indflydelse på protokollens effektivitet: Netværkets stabilitet. Mængden af brugerinteraktion hos klienterne. I værste tilfælde: Der opnås ingen besparelse idet ingen klienter har muligheden for at sende data videre til andre. Dette vil resultere i unicasting tilmed med mindre effektivitet end traditionelle systemer. I bedste tilfælde: ...? Bemærk dog, at der aldrig opnås en lineær skalering idet CCP optager en konstant stigende mængde båndbredde. DIKU - Specialeforsvar 15. jan 2007 20 / 21

Opsummering Til slut vil vi kort opsummere de områder vi har dækket i denne præsentation: Baggrunden for specialet, herunder de forskellige begreber, problemer og krav. De vigtigste elementer af den udarbejde protokolspecifikation, såsom topologien, brugen af buffer, transport og inddeling af data, pakketyper, tilstande samt de problemer som opstår i forbindelse med sikring af ophavsrettigheder ved denne type netværk. Implementering af den udarbejdede protokolspecifikation samt de testapplikationer som illustrerer protokolimplementeringens funktionalitet. Beskrevet de opnåede resultater herunder vist en kort video der viser brugen af testapplikationerne samt godtgjort at der under normale forudsætninger opnås en båndbreddebesparelse. DIKU - Specialeforsvar 15. jan 2007 21 / 22

Slut Til sidst vil vi bare have lov til at sige tak for jeres tid og for at i gad lytte på os. DIKU - Specialeforsvar 15. jan 2007 22 / 22