chapter 7 end-to-end data

21
Jun 12, 2022 CPSC558: Advanced Computer Networks Chapter 7 End-to-End Data Data Manipulating Functions (Affecting Throughputs) • How to encode the message into different formats in presentation format ? (MPEG, JPEG, GIF…) • How to perform data compression in the message (more redundancy vs. more simplify) Application data Presentation encoding Application data Presentation decoding Message Message Message ■ ■ ■ Fig. 7.1 – Presentation formatting involves encoding and decoding application data.

Upload: adena-chang

Post on 03-Jan-2016

38 views

Category:

Documents


1 download

DESCRIPTION

Chapter 7 End-to-End Data. Application. Application. data. data. Presentation. Presentation. encoding. decoding. ■ ■ ■. Message. Message. Message. Data Manipulating Functions (Affecting Throughputs) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Chapter 7 End-to-End Data

– Data Manipulating Functions (Affecting Throughputs)• How to encode the message into different formats in

presentation format? (MPEG, JPEG, GIF…)• How to perform data compression in the message

(more redundancy vs. more simplify)Application

data

Presentationencoding

Applicationdata

Presentationdecoding

Message Message Message■ ■ ■

Fig. 7.1 – Presentation formatting involves encoding and decoding application data.

Page 2: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Chapter 7 End-to-End Data

• Argument Marshalling (encoding) and Un-marshalling (decoding) is difficult because

– Computer represents same data in different ways (e.g. Big/Little-endian format.)

– Application programs are written in different languages (Compiler/Machine structure may be different.)

So, what do we consider when dealing with encoding/decoding process? (next slide please…)

Page 3: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Facts to consider about data encoding/decoding

• Data Types– Base types : integer, floating-point, characters– Flat types : structures and arrays– Complex types : for examples, trees (has Pointers)

• Serializing– A network must be able to serialize the complex types

(transfer complex types data) via the network. (Or ‘flatten’ the complex type data). Because complex type of data contains pointers (address of data) which may not the same in different machines.

Page 4: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Data Encoding (Argument Marchalling Strategies

• A. Canonical Intermediate Form– Sender translates message from internal representation to

an external representation for each type.

• B. Receive-makes-right– Sender does not convert the base types but transfer data

in its own internal types to receiver. The receiver is responsible for translating the data from sender into receiver’s own local format. (But use this strategy, every host must be ready to do the translate work – N-by-N solution.)

– NOTE: if both sender and receiver are the same type of machine, then really there is no need to do the translation.

Page 5: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Tags (Encoding issues)

• How the receiver knows what kind of data is contained in the message it receives?– Use tagged data approach

• Type tag : data is a integer, floating point or character• Length tag : no. of integer in an array or size of an

integer• Architecture tag

– Use untagged data approach• In a Remote Procedure call, the message is

programmed to send to receiver and receiver already knows/expect certain format or kind of data will be transmitted from sender.

Page 6: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Stubs (Encoding issues)

• We use stubs (a piece of code) that perform argument marshalling (data encoding).

• Stubs are typically used to support RPC (remote procedure calls)

• On client side : stubs marshalling (encode) the procedure arguments into a message that can be transmitted by means of RPC protocol.

• On server side : stubs un-marshalling (decode) the message back into a set of variables that can be used as arguments to call remote procedure.

Page 7: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Stubs (Encoding issues)

Call P

Clientstub

RPC

Arguments

Marshalledarguments

Interfacedescriptor forprocedure P

Stubcompiler

Message

Specification

P

Serverstub

RPC

Arguments

Marshalledarguments

Code Code

Figure 7.5

Page 8: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Multimedia

OutlineCompression

RTP

Scheduling

Page 9: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Compression Overview

• Encoding and Compression– Huffman codes

• Lossless – data received = data sent– used for executables, text files, numeric data

• Lossy– data received does not != data sent– used for images, video, audio

Page 10: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Lossless Algorithms

• Run Length Encoding (RLE)– example: AAABBCDDDD encoding as 3A2B1C4D – good for scanned text (8-to-1 compression ratio) – can increase size for data with variation (e.g., some

images)

• Differential Pulse Code Modulation (DPCM)– example AAABBCDDDD encoding as A001123333– change reference symbol if delta becomes too large– works better than RLE for many digital images (1.5-to-1)

Page 11: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Dictionary-Based Methods

• Build dictionary of common terms – variable length strings

• Transmit index into dictionary for each term • Lempel-Ziv (LZ) is the best-known example• Commonly achieve 2-to-1 ration on text• Variation of LZ used to compress GIF images

– first reduce 24-bit color to 8-bit color – treat common sequence of pixels as terms in

dictionary– not uncommon to achieve 10-to-1 compression (x3)

Page 12: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Image Compression

• JPEG: Joint Photographic Expert Group (ISO/ITU)• Lossy still-image compression • Three phase process

– process in 8x8 block chunks (macro-block)– grayscale: each pixel is three values (YUV)– DCT: transforms signal from spatial domain into and equivalent

signal in the frequency domain (loss-less)– apply a quantization to the results (lossy) – RLE-like encoding (loss-less)

Sourceimage

JPEG compression

DCT Quantization EncodingCompressed

image

Page 13: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Quantization and Encoding

• Quantization Table3 5 7 9 11 13 15 17

5 7 9 11 13 15 17 19

7 9 11 13 15 17 19 21

9 11 13 15 17 19 21 23

11 13 15 17 19 21 23 25

13 15 17 19 21 23 25 27

15 17 19 21 23 25 27 29

17 19 21 23 25 27 29 31

• Encoding Pattern

Page 14: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

MPEG

• Motion Picture Expert Group• Lossy compression of video • First approximation: JPEG on each frame• Also remove inter-frame redundancy

Page 15: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

MPEG (cont)

• Frame types– I frames: intrapicture – P frames: predicted picture– B frames: bidirectional predicted picture

• Example sequence transmitted as I P B B I B B

Frame 1 Frame 2 Frame 3 Frame 4 Frame 5 Frame 6 Frame 7

I frame B frame B frame P frame B frame B frame I frame

MPEGcompression

Forwardprediction

Bidirectionalprediction

Compressedstream

Inputstream

Page 16: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

MPEG (cont)

• B and P frames– coordinate for the macroblock in the frame– motion vector relative to previous reference frame (B, P)– motion vector relative to subsequent reference frame (B)– delta for each pixel in the macro block

• Effectiveness– typically 90-to-1– as high as 150-to-1– 30-to-1 for I frames– P and B frames get another 3 to 5x

Page 17: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

MP3

• CD Quality– 44.1 kHz sampling rate– 2 x 44.1 x 1000 x 16 = 1.41 Mbps– 49/16 x 1.41 Mbps = 4.32 Mbps

• Strategy– split into some number of frequency bands– divide each subband into a sequence of blocks– encode each block using DCT + Quantization +

Huffman– trick: how many bits assigned to each subband

Page 18: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

RTP

• Application-Level Framing• Data Packets

– sequence number– timestamp (app defines “tick”)

• Control Packets (send periodically)– loss rate (fraction of packets received since last report)– measured jitter

Page 19: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Transmitting MPEG

• Adapt the encoding– resolution– frame rate– quantization table– GOP mix

• Packetization• Dealing with loss• GOP-induced latency

Page 20: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Layered Video

• Layered encoding– e.g., wavelet encoded

• Receiver Layered Multicast (RLM)– transmit each layer to a different group address– receivers subscribe to the groups they can “afford”– Probe to learn if you can afford next higher group/layer

• Smart Packet Dropper (multicast or unicast)– select layers to send/drop based on observed

congestion– observe directly or use RTP feedback

Page 21: Chapter 7 End-to-End Data

Apr 20, 2023 CPSC558: Advanced Computer Networks

Real-Time Scheduling

• Priority • Earliest Deadline First (EDF)• Rate Monotonic (RM)• Proportional Share

– with feedback– with adjustments for deadlines