EEC-484/584 Computer Networks Lecture 21 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of last lecture WWW Today s topics Multimedia 1
The World Wide Web 3 Architectural Overview Static Web Documents Dynamic Web Documents HTTP The HyperText Transfer Protocol Performance Enhancements The Wireless Web (not required) Architectural Overview 4 WWW consists of a vast collection of documents or Web pages Each page may contain links to other pages. Users can follow a link by clicking on it, which then takes them to the page pointed to The idea of having one page point to another is called hypertext Invented by Vannevar Bush, a MIT EE professor, in 1945 Browser program used to view Web pages Hyperlinks strings of text that are links to other pages 2
URLs Uniform Resource Locaters 5 URL Uniform Resource Locator URL encodes three types of information What is the page called local name uniquely indicating the specific page Where is the page located DNS name of the server on which the page is located How can the page be accessed protocol, e.g., http, ftp Statelessness and Cookies 6 HTTP is basically stateless Sometimes, it is necessary to have stateful Web client/server communications Cookies: name derives from ancient programmer slang in which a program calls a procedure and gets something back that it may need to present later to get some work done Some examples of cookies 3
HTML HyperText Markup Language 7 (b) XML and XSL 8 Drawback of HTML Mixes content with formatting Does not provide structure to Web pages XML: extensible Markup Language Describes Web content in a structured way XSL: extensible Style Language Describes the formatting independently of the content 4
A Simple Web Page in XML 9 A Style Sheet in XSL 10 5
Dynamic Web Documents 11 Server-side dynamic Web page generation CGI Common Gateway Interface Standard interface to allow Web servers to talk to backend programs and scripts that can accept input and generate HTML pages in response PHP PHP: Hypertext Preprocessor PHP scripts embeded inside HTML pages and have them be executed by the server itself to generate response page JSP - Java Server Pages ASP Active Server Pages Server-Side Dynamic Web Page Generation 12 Steps in processing the information from an HTML form 6
Server-Side Dynamic Web Page Generation A Web page containing a form A PHP script for handling the output of the form Output from the PHP script when the inputs are "Barbara" and 24 respectively Client-Side Dynamic Web Page Generation Use of JavaScript for processing a form. 7
Client-Side Dynamic Web Page Generation 15 Server-side scripting with PHP Client-side scripting with JavaScript Client-Side Dynamic Web Page Generation 16 The various ways to generate and display content 8
HyperText Transfer Protocol 17 HTTP HyperText Transfer Protocol It specifies what messages clients may send to servers and what responses they get back in return Each interaction consists of one ASCII request, followed by one RFC 822 MIME-like response Defined in RFC 2616 HTTP Connection In HTTP 1.0: make connection, sends a request, gets a response, tears down connection In HTTP 2.0: connection can be reused Methods: had some provision for object-oriented programming Message header HTTP Methods 18 The built-in HTTP request methods Method names are case sensitive! 9
HTTP Methods 19 The status code response groups HTTP Message Headers Redirection 10
Example HTTP Usage >telnet www.ietf.org 80 >log >GET /rfc.html HTTP/1.1 >Host: www.ietf.org > >close Content of the log file Performance Enhancement 22 Caching Save pages that have been requested in case they are used again Client-side technique Server replication Replicate server s contents at multiple locations Sometimes called mirroring Content delivery networks Deliver contents for their providers to end users efficiently for a fee Whole process starts with URL replacement so all contents point to a CDN server On receiving client s request, the request is redirected to the closest proxy server 11
Caching 23 Hierarchical caching with three proxies Content Delivery Networks Original Web page Same page after transformation 12
Content Delivery Networks 25 Steps in looking up a URL when a CDN is used Multimedia Introduction to Audio Audio Compression Streaming Audio Internet Radio Voice over IP Introduction to Video Video Compression Video on Demand The MBone The Multicast Backbone 26 13
Introduction to Audio 27 The frequency range: 20Hz 20,000Hz The ear hears logarithmically. Ratio of two sounds with power A and B is expressed in db (decibels): db = 10 log 10 (A/B) Low limit of audibility for a 1-kHz sine wave as 0 db Ordinary conversion is about 50 db Pain threshold is about 120 db => a dynamic range of a factor of 1 million Introduction to Audio 28 Audio waves can be converted to digital form by an ADC (Analog Digital Converter) Quantization noise: the error introduced by the finite number of bits per sample On a telephone line, 8000 samples/sec, frequencies above 4kHz are lost (recall Nyquist theorem) Audio CDs: digitized with a sampling rate of 44,100 samples/sec (enough to capture freq. up to 22,050Hz) The samples are 16 bits each and are linear over the range of amplitudes Allow only 65,536 distinct values Needs a bandwidth of 1.411 Mbps for stereo 14
Introduction to Audio 29 A sine wave Sampling the sine wave Quantizing the samples to 4 bits Audio Compression 30 Waveform coding: the signal is transformed mathematically by a Fourier transform into its frequency components The amplitude of each component is then encoded in a minimal way The goal is to reproduce the waveform accurately at the other end in as few bits as possible 15
Audio Compression 31 Perceptual coding: based on the science of psychoacoustics how people perceive sound Some sounds can mask other sounds Frequency masking: a loud sound in one frequency band can hide a softer sound in another frequency band Temporal masking: it takes the human ear a brief period of time to hear the masked signal even after the masking signal goes away MP3 (MPEG audio layer 3) is based on perceptual coding Audio Compression 32 The threshold of audibility as a function of frequency The masking effect 16
Streaming Audio 33 A straightforward way to implement clickable music on a Web page Streaming Audio 34 The media player has four major jobs to do Manage the user interface Handle transmission errors Decompress the music Eliminate jitter 17
Streaming Audio 35 When packets carry alternate samples, the loss of a packet reduces the temporal resolution rather than creating a gap in time. Streaming Audio The media player buffers input from the media server and plays from the buffer rather than directly from the network 36 18
Streaming Audio 37 RTSP (Real Time Streaming Protocol) provides the mechanism for the player to control the server It does not provide for the data stream, which is usually RTP RTSP commands from the player to the server Internet Radio 38 An example radio station 19
Voice over IP 39 ITU recommendation for Voice over IP H.323 Visual Telephone Systems and Equipment for Local Area Networks Which Provide a Non-Guaranteed Quality of Service The H323 architectural model for Internet telephony The H323 Protocol Stack 40 20
The H323 Protocol Stack 41 G.711 PCM system. It encodes a single voice channel by sampling 8000 times per second with an 8-bit sample to give uncompressed speech at 64 kbps All H.323 systems must support G.711 Other speech compression protocols are permitted, e.g., G.7723.1 H.245 protocol needed to allow terminals to negotiate which compression algorithm they are going to use It also negotiates other aspects of the connection such as the bit rate RTP needed for actual data transmission The H323 Protocol Stack 42 RTCP is needed for the control of the RTP channels Q.931 protocol for establishing and releasing connections, providing dial tones, making ringing sounds, and the rest of standard telephony H.225 protocol for terminals to talk to the gatekeeper RAS (Registration/Admission/Status) channel: PC-togatekeeper channel This channel allows terminals to join and leave the zone, request and return bandwidth, and provide status updates 21
The H323 Protocol Stack 43 Logical channels between the caller and callee during a call SIP The Session Initiation Protocol A simpler and more modular way to do voice over IP, by IETF The SIP methods defined in the core specification 44 22
SIP 45 Use a proxy and redirection servers with SIP Comparison of H.323 and SIP 23
Video Analog Systems 47 Frame: the scan of a two-dimensional image as a onedimensional voltage as a function of time The camera scans an electron beam rapidly across the image and slowly down it, recording the light intensity as it goes Field: half frame with odd or even scan lines Interlacing: the technique to eliminate the flicking by displaying odd and even scan lines with increased rate Noninterlaced television or video is called progressive Video Analog Systems 48 The scanning pattern used for NTSC video and television 24
Video Analog Systems 49 Television system standards National Television Standards Committee (NTSC) Phase Alternating Line (PAL) Sequential Couleur Avec Memoire (SECAM) High Definition TeleVision (HDTV) Video Analog Systems 50 To allow color transmissions to be viewed on black-and-white receivers, RGB signals into a luminance (brightness) signal and two chrominance (color) signals The eye is much more sensitive to the luminance signal than to the chrominance signals Luminance signal can be broadcast at the same frequency as old black-and-white signal Two chrominance signals are broadcast in narrow bands at higher frequencies 25
Video Compression 51 Requirements on encoding and decoding Decoding happens a lot and it must be fast For most of video documents, it is OK if the encoding algorithm is complex and time consuming For real-time multimedia, encoding must also be fast and efficient Encode/decode process need not be invertible A video is just a sequence of images plus sound A good algorithm for encoding a single image is a good starting point. When the decoded output is not exactly the same as original input, the system is said to be lossy JPEG Joint Photographic Experts Group The JPEG Standard 52 The operation of JPEG in lossy sequential mode 26
The JPEG Standard 53 RGB input data After block preparation The JPEG Standard 54 (a) One block of the Y matrix (b) The DTC coefficients 27
The JPEG Standard 55 Computation of the quantized DTC coefficients The JPEG Standard 56 The order in which the quantized values are transmitted 28
The MPEG Standard 57 MPEG Motion Picture Experts Group MPEG-1: to produce video-recorder-quality output 352x240 for NTSC, bit rate of 1.2 Mbps 352x240 image with 24 bits/pixel and 25 frames/sec requires 50.7 Mbps. We need a factor of 40 compression MPEG-2: designed for compressing broadcast-quality video into 4 to 6 Mbps. Later, MPEG-2 was expanded to support higher resolution, including HDTV It forms the basis for DVD and digital satellite television The MPEG Standard 58 Synchronization of the audio and video streams in MPEG-1 90-kHz 29
The MPEG Standard 59 MPEG-1 output consists of four kinds of frames I (Intracoded) frames: self-contained JPEG-encoded still pictures P (Predictive) frames: block-by-block difference with the last frame B (Bidirectional) frames: differences between the last and next frame D (DC-coded) frames: block averages used for fast forward The MPEG Standard 60 I-frames: still pictures coded using a variant of JPEG, also using full-resolution luminance and half-resolution chrominance along each axis It is necessary to have I-frames appear in the output stream periodically for three reasons MPEG-1 can be used for a multicast transmission, with viewers tuning it at will. Without periodical I-frames, anyone who missed first frame could never decode any subsequent frames If any frame were received in error, no further ecoding would be possible Without I-frames, while doing a fast forward or rewind, the decoder would have to calculate every frame passed over so it would know the full value of the one it stopped on 30
The MPEG Standard 61 Macroblocks 16x16 pixels in luminance space and 8x8 pixels in chrominance space. A macroblock is encoded by searching the previous frame for it or something only slightly different from it P-frames: code interframe differences. They are based on the idea of macroblocks Three consecutive frames The MPEG Standard 62 B-frames: similar to P-frames, except that they allow the reference macroblock to be in either a previous frame or in a succeeding frame This additional freedom allows improved motion compensation and is also useful when objects pass in front of, or behind, other objects To do B-frame encoding, the encoder needs to hold three decoded frames in memory at once: the past one, the current one, and the future one 31
The MPEG Standard 63 D-frames: only used to make it possible to display a low-resolution image when doing a rewind or fast forward. Each D-frame entry is just the average value of one block, with no further encoding The MPEG Standard 64 MPEG-2: targeted at broadcast television as well as DVD It supports both progressive and interlaced images (MPEG-1 supports only progressive images) Supports four resolution level Low (352x240) Main (720x480) High-1440 (1440x1152) High (1920x1080) 32
Video on Demand 65 Video Servers 66 Zipf s law: experimentally, when N movies are available, the fraction of all requests being for the k th most popular one is approximately C/k. Here C is computed to normalize the sum to 1, namely, C = 1/(1+1/2+1/3+ +1/N) A video server storage hierarchy 33
Video Servers 67 The hardware architecture of a typical video server Video on Demand 68 Distribution network ADSL Bandwidth not quite big enough FTTC Fiber To The Curb Telephone company runs optical fiber from the end office into each residential neighborhood, terminating in a device called an ONU (Optical Network Unit) FTTH Fiber To The Home Everyone can have an OC-1, OC-3, or even higher carrier if that is required. FTTH is very expensive and will not happen for years HFC Hybrid Fiber Coax Currently being installed by cable TV providers. Uses 750-MHz coax cables 34
MBone The Multicast Backbone 69 MBone is used for broadcasting live video in digital form all over the world via the Internet It can be thought of as Internet television It has been operational since early 1992 Many scientific conferences, especially IETF meetings, have been broadcast Unlike video on demand, where the emphasis is on calling up and viewing precompressed movies stored on a server MBone The Multicast Backbone 70 MBone is a virtual overlay network on top of the Internet. It consists of multicast-capable islands connected by tunnels 35