Implementing Real-Time Transport Services
- ver an Ossified Network
Stephen McQuistin and Colin Perkins
University of Glasgow
Marwan Fayed
University of Stirling
Implementing Real-Time Transport Services over an Ossified Network - - PowerPoint PPT Presentation
Implementing Real-Time Transport Services over an Ossified Network Stephen McQuistin and Colin Perkins University of Glasgow Marwan Fayed University of Stirling Talk Overview Multimedia Applications and the Transport Layer Ossification
Stephen McQuistin and Colin Perkins
University of Glasgow
Marwan Fayed
University of Stirling
2
3
4
5
6
7
8
9
10
11
12
MPEG-1: I, P, and B frames
13
14
Transport Service Requirement Deadlines Core Partial reliability Core Dependencies Core Message-oriented Core Sub-streams Core Congestion controlled Core Connection oriented Subsidiary Keep-alive Subsidiary
15
Server Client
socket() bind() listen() accept() close() socket() close() connect() Socket creation and connection primitives inherited from Berkeley API
16
Server Client
socket() bind() listen() accept() close() socket() close() connect() set_po_delay() Sets play-out delay, in milliseconds, and sends to server
17
Server Client
socket() bind() listen() accept() close() socket() close() connect() set_po_delay() send_message() recv_message() Sends message; requires sequence number, sub-stream, deadline, and dependency information
18
Server Client
socket() bind() listen() accept() close() socket() close() connect() set_po_delay() send_message() recv_message() Retrieves next message in arrival order, with its sub- stream identifier
19
Transport Service Deadlines Partial reliability Dependencies Message-oriented Sub-streams Congestion controlled Connection oriented Keep-alive
20
21
TCP TCP TCP TCP TCP
time message fragmentation
22
time
x
seq: 1 seq: 2 seq: 3 seq: 4 seq: 5 ack: 2 ack: 3 ack: 3 ack: 3 ack: 3 seq: 3
23
Hollywood socket
Socket
COBS encoding send_message() write() setsockopt()
RTT estimate
Application Intermediary Layer Kernel: Transport Kernel: Network
send queue timing data buffer Timing info
Hollywood receive logic
read() fragment reassembly buffer incomplete messages COBS decoding receive_message()
Sender Receiver
receive queue metadata queue reassembly buffer
TCP receive logic
ACKs
24
ISP Port 80 4001 Fixed-line Andrews & Arnold
EE
O2
Three
25
Transport Service Deadlines Partial reliability Dependencies Message-oriented Sub-streams Congestion controlled Connection oriented Keep-alive