Communication and DASH Presented by: Gabriel Loewen and Vivens - - PowerPoint PPT Presentation

communication and dash
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Communication and DASH

Presented by: Gabriel Loewen and Vivens Ndatinya

slide-2
SLIDE 2

Communication

  • Hypertext Transfer Protocol
  • SOAP web services
  • RESTful web services and JSON
  • Ajax
slide-3
SLIDE 3

HTTP: Hypertext Transfer Protocol

  • Relatively simple client-server protocol
  • HTTP is stateless

○ HTTP does not any concept of open connections and does not require a server to maintain information on its clients.

slide-4
SLIDE 4

HTTP Connections

  • Based on TCP
  • Drawback in HTTP version 1.0 and older:

○ A Web document is constructed from a

collection of different files from the same server.

○ Inefficient use of TCP connections ○ Non-persistent

slide-5
SLIDE 5

Non-persistent vs Persistent Connections

slide-6
SLIDE 6

HTTP 1.1 Pipelining

slide-7
SLIDE 7

HTTP methods

  • Head : Request to return the header of a document
  • Get: Request to return a document to the client
  • Put: Request to store a document
  • Post: Provide data that are to be added to a document
  • Delete: Request to delete a document
slide-8
SLIDE 8

HTTP Messages

HTTP Request Message:

slide-9
SLIDE 9

HTTP Messages

HTTP response message:

slide-10
SLIDE 10

HTTP Message Headers: Examples

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

slide-11
SLIDE 11

Problems in HTTP 1.1

  • Does not allow for graceful abortion of HTTP

transactions without closing the TCP connection.

  • Does not adequately support simultaneous

rendering of inlined objects - part of most Web pages today.

  • The lack of modularity makes the evolution
  • f HTTP more difficult.
slide-12
SLIDE 12

MUX: Transition to Future Web Protocols

MUX is a session management protocol separating the underlying transport from the upper level application protocols.

  • Multiplexing data streams on top of a reliable stream
  • riented transport.
  • Support web private protocols with servers over the

same connection as the HTTP conversation.

  • Still a draft and part of the W3C HTTP-NG project
slide-13
SLIDE 13

SOAP: Simple Object Access Protocol

  • It has been the standard for communication

with web services

  • Main purpose: provide simple means for

different parties to communicate

  • Very little common knowledge between

communicating entities

  • Based on XML
slide-14
SLIDE 14

SOAP Message Example

slide-15
SLIDE 15

RESTful Web Services

  • Current Predominant web service model
  • Simpler alternative to SOAP and WSDL

based Web services

  • Easier-to-use resource-oriented model to

expose services

  • Yahoo, Google, and Facebook have

deprecated or passed on SOAP and WSDL- based interfaces in favor of REST,

slide-16
SLIDE 16

REST Four Basic Design Principles

  • 1. Use HTTP methods explicitly
  • RESTful Web services explicitly use HTTP methods

in a way that follows the protocol as defined by RFC 2616.

  • 2. Be stateless
  • Statelessness improves Web service performance
slide-17
SLIDE 17

REST Four Basic Design Principles

  • 3. Expose directory-like URIs
  • The structure of a URI should be straightforward,

predictable, and easily understood.

  • Hierarchical URIs :

http://www.myservice.org/discussion/topics/{topic} http://www.myservice.org/discussion/2008/12/10/{topic}

  • 4. Transfer XML, Json or both
  • Resource representation should be simple and

human-readable

slide-18
SLIDE 18

Json Object: Example

{

"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"} } }

slide-19
SLIDE 19

RESTful services vs. SOAP services

The goal of web services: simplifying data as much as possible without compromising security services.

  • SOAP suffers from huge overhead of

headers and heavy xml payloads.

  • Restful services are preferred on PDA and

mobile devices.

slide-20
SLIDE 20

RESTful services vs. SOAP services

  • No specialized web service client is needed

to access REST web services.

  • REST's Json objects seamlessly integrate

with Javascript, python, C# , Ruby, and etc.

  • REST web services with JSON have made

web applications highly scalable.

slide-21
SLIDE 21

Ajax: Asynchronous JavaScript and XML

  • Send requests and retrieve data from a server

asynchronously (in the background) without interfering with the display and behavior of the existing page.

  • XMLHttpRequest

○ 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

  • Responsive and dynamic web applications : Gmail,

Google Maps, Facebook, and etc.

slide-22
SLIDE 22

RESTful Web Services: Example

Delicious: Bookmarking distributed web system has a simple REST API http://www.peej.co.uk/articles/restfully- delicious.html

slide-23
SLIDE 23

Dynamic Adaptive Streaming over HTTP (DASH)

  • Breaks multimedia streams into many chunks
  • Each chunk has several alternative bitrates
  • DASH mechanism automatically selects the

appropriate bitrate based on network conditions

  • Dynamic bitrate allows for smooth playback with

minimal interruption

slide-24
SLIDE 24

Dynamic Adaptive Streaming over HTTP (DASH)

Goals of DASH:

  • Decrease time spent buffering of media
  • Increase QOS of streaming services
  • Dynamic approach to bitrate selection

○ Previous solutions relied upon user bias

slide-25
SLIDE 25

Dynamic Adaptive Streaming over HTTP (DASH)

  • Specified by International Standards

Organization

○ ISO/IEC DIS 23009-1

  • Specifications:

○ Client model ○ Data model ○ Protocols ○ and others...

slide-26
SLIDE 26

Dynamic Adaptive Streaming over HTTP (DASH)

Client model - Composed of two components

  • Dash access engine
  • Media engine

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

slide-27
SLIDE 27

Dynamic Adaptive Streaming over HTTP (DASH)

Dash client model diagram:

slide-28
SLIDE 28

Dynamic Adaptive Streaming over HTTP (DASH)

Data model: hierarchical format described by Media Presentation Description document Contains information regarding the time interval

  • f the segment, along with the set of available

bit rates, languages, captions, and subtitles.

slide-29
SLIDE 29

Dynamic Adaptive Streaming over HTTP (DASH)

MPD Diagram Notice the hierarchical nature of the structure.

slide-30
SLIDE 30

Dynamic Adaptive Streaming over HTTP (DASH)

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.

slide-31
SLIDE 31

Dynamic Adaptive Streaming over HTTP (DASH)

Client/Server protocol is used

  • Specified in RFC 2616

Utilizes the HTTP GET method for transmission

  • f data from server to client.
slide-32
SLIDE 32

Evaluation of DASH Rate-Adaptation

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.

slide-33
SLIDE 33

Evaluation of DASH Rate-Adaptation

  • DASH must adapt to the network conditions
  • Many questions about adaptation process
  • 1. How does an adaptive video react to

changes in the bandwidth?

  • 2. How fast can the player converge to the

maximum bitrate available?

  • 3. How does it handle competition between

multiple players on the same link?

slide-34
SLIDE 34

Evaluation of DASH Rate-Adaptation

Three DASH players tested:

  • Microsoft Smooth Streaming
  • Netflix
  • OSMF
slide-35
SLIDE 35

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.

slide-36
SLIDE 36

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

  • f TCP
slide-37
SLIDE 37

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

slide-38
SLIDE 38

Dynamic Adaptive Streaming over HTTP (DASH) Overview

  • DASH is a relatively new approach to

streaming media

  • Aim is to provide best QOS under fluctuating

network conditions

  • Current players suffer from problematic

bitrate-switching algorithms. Some fail to be consistent in switching decisions

slide-39
SLIDE 39

Dynamic Adaptive Streaming over HTTP (DASH)

Conclusion:

  • New technology in media streaming
  • More research necessary to determine best

bitrate-selection algorithm

  • Many services already adopting DASH

○ Netflix, Youtube, Amazon VOD

  • Platforms becoming available

○ Smooth Streaming, OSMF

slide-40
SLIDE 40

Questions?