Communication and DASH
Presented by: Gabriel Loewen and Vivens Ndatinya
Communication and DASH Presented by: Gabriel Loewen and Vivens - - PowerPoint PPT Presentation
Communication and DASH Presented by: Gabriel Loewen and Vivens Ndatinya Communication Hypertext Transfer Protocol SOAP web services RESTful web services and JSON Ajax HTTP: Hypertext Transfer Protocol Relatively simple
Presented by: Gabriel Loewen and Vivens Ndatinya
○ HTTP does not any concept of open connections and does not require a server to maintain information on its clients.
○ A Web document is constructed from a
collection of different files from the same server.
○ Inefficient use of TCP connections ○ Non-persistent
HTTP Request Message:
HTTP response message:
Header Source Contents Accept Client The types of content the client can handle. Accept-Encoding Client The document encodings the client can handle Authorization Client A list of Client's credentials Last-Modified Server The time the returned document was last modified. Location: Server A document reference to which the client should redirect the request. Warning Both Information about the status of the data in a message
transactions without closing the TCP connection.
rendering of inlined objects - part of most Web pages today.
MUX is a session management protocol separating the underlying transport from the upper level application protocols.
same connection as the HTTP conversation.
with web services
different parties to communicate
communicating entities
based Web services
expose services
deprecated or passed on SOAP and WSDL- based interfaces in favor of REST,
in a way that follows the protocol as defined by RFC 2616.
predictable, and easily understood.
http://www.myservice.org/discussion/topics/{topic} http://www.myservice.org/discussion/2008/12/10/{topic}
human-readable
{
"firstName": "John", "lastName": "Smith", "age": 25, "address": {"streetAddress": " 21 2nd street", "city": "New York","state": "NY", "postalCode": 35405} "phoneNumber": { { "type": "home", "number": "212 555 1234"}, {"type": "home","number": "675 899 4000"} } }
The goal of web services: simplifying data as much as possible without compromising security services.
headers and heavy xml payloads.
mobile devices.
to access REST web services.
with Javascript, python, C# , Ruby, and etc.
web applications highly scalable.
asynchronously (in the background) without interfering with the display and behavior of the existing page.
○ Load the server's response back directly back into the script. ○ Data might be received as Json, xml, html, ... ○ Alter the DOM of the currently active document in the browser window
Google Maps, Facebook, and etc.
Delicious: Bookmarking distributed web system has a simple REST API http://www.peej.co.uk/articles/restfully- delicious.html
appropriate bitrate based on network conditions
minimal interruption
Goals of DASH:
○ Previous solutions relied upon user bias
Organization
○ ISO/IEC DIS 23009-1
○ Client model ○ Data model ○ Protocols ○ and others...
Client model - Composed of two components
Dash access engine: receives MPD (media presentation description), or metadata, and the media segment data. Segment is encoded as MPEG and synched to correct time in relation to overall stream
Dash client model diagram:
Data model: hierarchical format described by Media Presentation Description document Contains information regarding the time interval
bit rates, languages, captions, and subtitles.
MPD Diagram Notice the hierarchical nature of the structure.
The MPD is used to describe the location of the media segments. The player is responsible for reading the MPD using the DASH access engine and selecting the appropriate segment to retrieve. Client holds responsibility of ensuring QOS.
Client/Server protocol is used
Utilizes the HTTP GET method for transmission
Saamer Akhshabi, Ali C. Begen, and Constantine Dovrolis. 2011. An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP. In Proceedings of the second annual ACM conference on Multimedia systems (MMSys '11). ACM.
changes in the bandwidth?
maximum bitrate available?
multiple players on the same link?
Three DASH players tested:
How does an adaptive video react to changes in the bandwidth? Smooth Streaming: Conservative when switching bitrates under decreased bandwidth Netflix: Utilizes larger buffer, allows it to be less agressive OSMF: In infancy of development. Rate- adaption is faulty during experiment. Failed to adapt to network changes propery.
How fast can the player converge to the maximum bitrate available? Smooth Streaming: Bitrate switching is very frequent, causing convergence to be sporadic. Netflix: Priority on highest possible bitrate using largest buffer out of the three. But also changes bitrate very often, like Smooth Streaming. OSMF: Utilizes TCP, and fails to converge to appropriate bitrate due to additional complexity
How does it handle competition between multiple players on the same link? Smooth Streaming: Fails to provide fair bitrate between competing players Netflix: Suffers from same issues as Smooth Streaming OSMF: Favors one player. Tests indicate a failure or excessive buffering in one player
streaming media
network conditions
bitrate-switching algorithms. Some fail to be consistent in switching decisions
Conclusion:
bitrate-selection algorithm
○ Netflix, Youtube, Amazon VOD
○ Smooth Streaming, OSMF