multicast. multimedia systems what is multicast? a new concept for transmitting data over computer...

87
Multicast Multicast

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

MulticastMulticast

Page 2: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

What is Multicast?What is Multicast?

• A new concept for transmitting data over A new concept for transmitting data over computer networkscomputer networks

• Best suited for Best suited for one-to-manyone-to-many or or many-to-many-to-manymany delivery of data delivery of data

• Designed to reduce network loadDesigned to reduce network load

• Developed for next-generation applicationsDeveloped for next-generation applications

Page 3: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

A Brief HistoryA Brief History

• The interest in building a multicast capable The interest in building a multicast capable Internet achieved critical mass in late 1980sInternet achieved critical mass in late 1980s

• MBone has been created in the beginning of MBone has been created in the beginning of 1990s and grew rapidly after 19921990s and grew rapidly after 1992

• Multicast aware routers and lately even Multicast aware routers and lately even switches appeared on the marketswitches appeared on the market

• Today multicast is still evolving, new Today multicast is still evolving, new multicast routing protocols are being multicast routing protocols are being developeddeveloped

Page 4: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Applications that Need MulticastApplications that Need Multicast

• Audio and video conferencingAudio and video conferencing

• Multimedia distribution (audio, video)Multimedia distribution (audio, video)

• Delivering stock tickers from stock exchanges Delivering stock tickers from stock exchanges to brokers or businessmento brokers or businessmen

• ““Shared whiteboards” and joint document Shared whiteboards” and joint document editing by a groupediting by a group

• Distance learning and training (lectures)Distance learning and training (lectures)

Page 5: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Specific Multicast Applications?Specific Multicast Applications?

• There is There is nono “specific” multicast application “specific” multicast application

• Some think that multicast is suited Some think that multicast is suited onlyonly for for bandwidth consuming applicationsbandwidth consuming applications

• Some think that multicast is suited Some think that multicast is suited onlyonly for for multimedia delivery applicationsmultimedia delivery applications

• Some think that multicast is suited Some think that multicast is suited onlyonly for for applications with large number of receiversapplications with large number of receivers

Page 6: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Why Multicast?Why Multicast?

• Multicast introduces Multicast introduces efficiencyefficiency in data in data transportation, shifting to transportation, shifting to the network layer the the network layer the responsibility of delivering responsibility of delivering packets to packets to allall interested end- interested end-stationsstations

• There are a lot of one-to-There are a lot of one-to-many or many-to-many many or many-to-many applications that use applications that use replicated-unicastreplicated-unicast or or broadcastbroadcast in order to send in order to send data to the receivers, but this data to the receivers, but this consumes processing power consumes processing power and bandwidthand bandwidth

Replicated unicastReplicated unicast

GG

GG

SS

GG

GG

GG

GG

GG

77

66 22

66

22

22

33

MulticastMulticast

SS

GGGG

GG

GG

GG

GGGG

Page 7: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

How to Understand Multicast…How to Understand Multicast…

• Multicast falls between Multicast falls between unicastunicast and and broadcastbroadcast

• In fact we can view unicast and broadcast as two In fact we can view unicast and broadcast as two “degenerate” cases of multicast“degenerate” cases of multicast

• Taking this viewpoint:Taking this viewpoint: unicast happens when there is a unicast happens when there is a one-to-oneone-to-one data delivery data delivery broadcast happens when there is a broadcast happens when there is a one-to-allone-to-all data delivery data delivery

Page 8: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

The Multicast GroupsThe Multicast Groups

• Multicast introduces the concept of a Multicast introduces the concept of a multicast groupmulticast group• A multicast group has a single multicast group address, all hosts A multicast group has a single multicast group address, all hosts

from a group will receive the data sent to that addressfrom a group will receive the data sent to that address• Multicast groups are dynamical, hosts can join and leave a group Multicast groups are dynamical, hosts can join and leave a group

at any timeat any time• Whether or not to be member of a group is a local decisionWhether or not to be member of a group is a local decision• A group can have any number of membersA group can have any number of members• A group can have any shape, size, or geographical extentA group can have any shape, size, or geographical extent• A host can belong to several multicast groups at the same timeA host can belong to several multicast groups at the same time• The sender(s) do not have to belong to the group(s) to which they The sender(s) do not have to belong to the group(s) to which they

send trafficsend traffic• Group membership is receiver initiated (!)Group membership is receiver initiated (!)

Page 9: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

IPv4 Address SpaceIPv4 Address Space

• The IPv4 address is 32 bits wideThe IPv4 address is 32 bits wide• The address space has been divided in several The address space has been divided in several

address classes originally to yield network address classes originally to yield network numbers of different sizesnumbers of different sizes

• IP addresses are usually expressed in the IP addresses are usually expressed in the “dotted-decimal” notation, each address is “dotted-decimal” notation, each address is written as four numbers between 0 and 255 written as four numbers between 0 and 255 divided by dots (e.g. 130.230.50.30)divided by dots (e.g. 130.230.50.30)

Page 10: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

The IPv4 Address ClassesThe IPv4 Address Classes

• There are 4 IPv4 There are 4 IPv4 classes to date: A, classes to date: A, B, C and DB, C and D

• Initially all defined Initially all defined addresses were addresses were unicastunicast

• After multicast After multicast addresses being addresses being defined, classes A, defined, classes A, B and C are for B and C are for unicast, and class D unicast, and class D is for multicastis for multicast

25,00%

12,50%

6,25%

6,25%

50,00%

Class AClass BClass CClass DUnspecified

Class A Class A AddressAddress

0.0.0.0 - 127.255.255.2550.0.0.0 - 127.255.255.255

Class B Class B AddressAddress

128.0.0.0 - 128.0.0.0 - 191.255.255.255191.255.255.255

Class C Class C AddressAddress

192.0.0.0 - 192.0.0.0 - 223.255.255.255223.255.255.255

Class D Class D AddressAddress

224.0.0.0 - 224.0.0.0 - 239.255.255.255239.255.255.255

Page 11: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

The IPv4 Address Syntax The IPv4 Address Syntax

• Class A addresses begin with a 0 bit:Class A addresses begin with a 0 bit: 0 | 7 bits network number | 24 bits host number0 | 7 bits network number | 24 bits host number

• Class A addresses begin with a 10 bit:Class A addresses begin with a 10 bit: 10 | 16 bits network number | 16 bits host number10 | 16 bits network number | 16 bits host number

• Class A addresses begin with a 110 bit:Class A addresses begin with a 110 bit: 110 | 24 bits network number | 8 bits host number110 | 24 bits network number | 8 bits host number

• Class A addresses begin with a 1110 bit:Class A addresses begin with a 1110 bit: 1110 | 28 bits multicast group number1110 | 28 bits multicast group number

Page 12: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Reserved Multicast AddressesReserved Multicast Addresses

• A group can take any address available from the multicast address space. A group can take any address available from the multicast address space. However there are some addresses that are reserved and cannot be used, However there are some addresses that are reserved and cannot be used, since those are reserved for different protocols, certain applications or since those are reserved for different protocols, certain applications or special groupsspecial groups

• Class D addresses starting with 224.0.0.x and 224.0.1.x have been reserved Class D addresses starting with 224.0.0.x and 224.0.1.x have been reserved for various permanent assignments. For example:for various permanent assignments. For example:

224.0.0.0 : Base Address224.0.0.0 : Base Address 224.0.0.1 : All Systems on this Subnet224.0.0.1 : All Systems on this Subnet 224.0.0.2 : All Routers on this Subnet224.0.0.2 : All Routers on this Subnet 224.0.0.4 : DVMRP Routers224.0.0.4 : DVMRP Routers 224.0.0.5 : OSPF All Routers224.0.0.5 : OSPF All Routers …… 224.0.1.1 : Network Time Protocol224.0.1.1 : Network Time Protocol 224.0.1.2 : SGI-Dogfight224.0.1.2 : SGI-Dogfight 224.0.1.3 : rwhod224.0.1.3 : rwhod 224.0.1.5 : Artificial Horizons – Aviator224.0.1.5 : Artificial Horizons – Aviator

Page 13: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Other Reserved Multicast AddressesOther Reserved Multicast Addresses

• The last reserved multicast addresses The last reserved multicast addresses 239.0.0.0/8 are set aside for use within private 239.0.0.0/8 are set aside for use within private networksnetworks

• Host groups on the public Internet should not Host groups on the public Internet should not use these addressesuse these addresses

• Private networks that employ such addresses Private networks that employ such addresses should not forward packets destined to such should not forward packets destined to such groups onto the Internetgroups onto the Internet

Page 14: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Scoping the Multicast TrafficScoping the Multicast Traffic

• Multicast traffic should be limited, in order not Multicast traffic should be limited, in order not to flood the Internetto flood the Internet

• Scoping the multicast traffic presents it’s Scoping the multicast traffic presents it’s difficulties when there are overlapping regionsdifficulties when there are overlapping regions

• There are several ways of scoping the There are several ways of scoping the multicast traffic (implicit scoping, TTL multicast traffic (implicit scoping, TTL scoping, administrative scoping)scoping, administrative scoping)

Page 15: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Implicit ScopingImplicit Scoping

• Implicit scoped groups are generally reserved Implicit scoped groups are generally reserved multicast addressesmulticast addresses

• These packets are limited to the subnet on which they These packets are limited to the subnet on which they are originally transmittedare originally transmitted

• Both the TTL field is set to 1 (only the current Both the TTL field is set to 1 (only the current subnet), and the routers know not to ever forward subnet), and the routers know not to ever forward packets having the destination address within certain packets having the destination address within certain rangerange

• The implicit scoped addresses are taken from the The implicit scoped addresses are taken from the range 224.0.0.0/24range 224.0.0.0/24

Page 16: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

TTL-Based ScopingTTL-Based Scoping

• Each IP packet has a field Each IP packet has a field containing the TTL (time to containing the TTL (time to live)live)

• Any router has a TTL value Any router has a TTL value assigned to itassigned to it

• Any packet having the TTL Any packet having the TTL value less or equal than the value less or equal than the router’s, is not to be router’s, is not to be forwardedforwarded

• Any packet having the TTL Any packet having the TTL value greater than the value greater than the router’s, will be forwarded router’s, will be forwarded with the TTL value with the TTL value decremented by 1decremented by 1

TTLTTL Scope Scope ThresholdThreshold

00 Restricted to the same hostRestricted to the same host

11 Restricted to the same sub-Restricted to the same sub-networknetwork

1515 Restricted to the same siteRestricted to the same site

6363 Restricted to the same Restricted to the same regionregion

127127 WorldwideWorldwide

191191 Worldwide; limited Worldwide; limited bandwidthbandwidth

255255 Unrestricted in scopeUnrestricted in scope

Page 17: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Properties of TTL-Based ScopingProperties of TTL-Based Scoping

• It requires arbitrary choices of TTL ranges in It requires arbitrary choices of TTL ranges in order to be effectiveorder to be effective

• The responsibility of enforcing the scope is The responsibility of enforcing the scope is divided between 2 separate entities: the divided between 2 separate entities: the network manager and the users of the source network manager and the users of the source station(s)station(s)

• Privacy and security policies are not applicable Privacy and security policies are not applicable if the if the onlyonly administrative metric is the TTL, administrative metric is the TTL, because TTL is indiscriminatebecause TTL is indiscriminate

Page 18: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Administrative ScopingAdministrative Scoping

• The idea behind administrative scoping is to provide a way to do scoping The idea behind administrative scoping is to provide a way to do scoping based on the multicast addressbased on the multicast address

• The range 239.0.0.0/8 has been reserved for administrative scopingThe range 239.0.0.0/8 has been reserved for administrative scoping• Even if these addresses represent 1/16 of multicast addresses, there still are Even if these addresses represent 1/16 of multicast addresses, there still are

16,777,216 addresses to use16,777,216 addresses to use

IPv6 IPv6 ScopeScope

DescriptionDescription IPv4 PrefixIPv4 Prefix

33 LocalLocal 239.255.0.0/16239.255.0.0/16

55 Site-localSite-local 239.253.0.0/16239.253.0.0/16

88 Organization-Organization-locallocal

239.132.0.0/14239.132.0.0/14

Page 19: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Properties of Administrative ScopingProperties of Administrative Scoping

• An administratively scoped region has fixed An administratively scoped region has fixed boundariesboundaries

• Provides a mechanism for well-defined Provides a mechanism for well-defined boundaries (which may overlap)boundaries (which may overlap)

• It is a good privacy mechanism (important for It is a good privacy mechanism (important for business conferencing and other private business conferencing and other private information exchange)information exchange)

• All administratively and TTL scoped regions All administratively and TTL scoped regions must have the following properties:must have the following properties:

They must be They must be convexconvex They must be They must be connectedconnected or or compactcompact

Page 20: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Multicast Routing and ForwardingMulticast Routing and Forwarding

• Multicast routingMulticast routing protocols are used by multicast protocols are used by multicast routers to discover multicast delivery treesrouters to discover multicast delivery trees

• Multicast forwardingMulticast forwarding is the procedure of transmitting is the procedure of transmitting from one router to another the multicast packets, from one router to another the multicast packets, based on the information derived from multicast based on the information derived from multicast routing protocolsrouting protocols

• Routers get information from the end-stations about Routers get information from the end-stations about their group memberships (consequently about the their group memberships (consequently about the active groups) through IGMPactive groups) through IGMP

• Routers maintain the multicast delivery trees through Routers maintain the multicast delivery trees through specific protocols (DVMRP, PIM, MOSPF)specific protocols (DVMRP, PIM, MOSPF)

Page 21: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Internet Group Management ProtocolInternet Group Management Protocol

• IGMP is the signaling protocol that the end-stations IGMP is the signaling protocol that the end-stations use to signal their group membership interestuse to signal their group membership interest

• It is an integral part of IP, every router today is It is an integral part of IP, every router today is supposed to support itsupposed to support it

• There have been two versions of IGMP, and the third There have been two versions of IGMP, and the third is being developed as we speakis being developed as we speak

• Some companies (i.e. CISCO) have made their own Some companies (i.e. CISCO) have made their own version of IGMP for their switches (CGMP)version of IGMP for their switches (CGMP)

Page 22: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

IGMPv1IGMPv1

• One multicast router per LAN must periodically transmit Host One multicast router per LAN must periodically transmit Host Membership Query messages, addressed to the all hosts groupMembership Query messages, addressed to the all hosts group

• When an end-station receives an IGMP Query message, or when it When an end-station receives an IGMP Query message, or when it wants to join a group, it sends a Host Membership Report addressed wants to join a group, it sends a Host Membership Report addressed to the group’s address, for each group to which it belongs or in to the group’s address, for each group to which it belongs or in which it wants to joinwhich it wants to join

• In order to avoid a flurry of Reports from every group members, In order to avoid a flurry of Reports from every group members, each end-station chooses a random delay until it transmits the each end-station chooses a random delay until it transmits the Report(s). If meanwhile it has detected another Report to a group to Report(s). If meanwhile it has detected another Report to a group to which it is a member, the end-station will not send that Report which it is a member, the end-station will not send that Report anymoreanymore

• If the router does not receive any Report from any member of a If the router does not receive any Report from any member of a group after a number of Queries, it will assume that no group group after a number of Queries, it will assume that no group members are present on that particular interface, and it will stop members are present on that particular interface, and it will stop forwarding the multicast packets for that group on that interfaceforwarding the multicast packets for that group on that interface

Page 23: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

IGMPv2IGMPv2

• All the features from IGMPv1 are present in IGMPv2 with All the features from IGMPv1 are present in IGMPv2 with some enhancements to improve efficiencysome enhancements to improve efficiency

• The multicast querier is the router with the The multicast querier is the router with the lowest IP addresslowest IP address• When an end-station leaves a group, it sends a Leave Group When an end-station leaves a group, it sends a Leave Group

message to the message to the all-routers groupall-routers group (224.0.0.2) (224.0.0.2)• In IGMPv2 there is a Group-Specific Query addressed only to In IGMPv2 there is a Group-Specific Query addressed only to

one group, so only one member from that group will send back one group, so only one member from that group will send back a Reporta Report

• When there are a mixture between IGMPv1 and IGMPv2 end-When there are a mixture between IGMPv1 and IGMPv2 end-stations and/or routers the IGMPv1 will be usedstations and/or routers the IGMPv1 will be used

Page 24: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

How to Implement a Multicast How to Implement a Multicast Application?Application?

• Decide what the application should do (text chat, Decide what the application should do (text chat, radio, TV, conferencing, on-demand services, etc) radio, TV, conferencing, on-demand services, etc) considering the necessary and the available considering the necessary and the available bandwidthbandwidth

• Decide about the size of the intended coverage (LAN Decide about the size of the intended coverage (LAN only, corporate intranet, campus MAN, etc)only, corporate intranet, campus MAN, etc)

• Decide about the scoping (TTL, administrative) Decide about the scoping (TTL, administrative) considering also on the network configurationconsidering also on the network configuration

Page 25: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Routing TechniquesRouting Techniques

• Broadcast and PruneBroadcast and Prune The multicast data itself is the mean to control the delivery treesThe multicast data itself is the mean to control the delivery trees From time to time the multicast stream is From time to time the multicast stream is broadcastedbroadcasted, and routers , and routers

which do not have end-stations for those group(s) send backwards which do not have end-stations for those group(s) send backwards a a pruneprune message in order to remove themselves from the stream message in order to remove themselves from the stream

Protocols and Algorithms: DVMRP, PIM Dense Mode, RPMProtocols and Algorithms: DVMRP, PIM Dense Mode, RPM

• Shared TreesShared Trees There is a central point to which all receivers attachThere is a central point to which all receivers attach Shared treesShared trees (rendezvous points) must be joined before the flow of (rendezvous points) must be joined before the flow of

data, otherwise the central point doesn’t know of any stream and data, otherwise the central point doesn’t know of any stream and the data stopsthe data stops

Protocols and Algorithms: MOSPF, PIM Sparse ModeProtocols and Algorithms: MOSPF, PIM Sparse Mode

Page 26: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Reverse Path Multicasting AlgorithmReverse Path Multicasting Algorithm

• The first datagram is broadcasted The first datagram is broadcasted to all “child” routersto all “child” routers

• If a “leaf” router detects that it has If a “leaf” router detects that it has no groups interested in that no groups interested in that datagram, it sends “upward” a datagram, it sends “upward” a prune messageprune message

• Each “non-leaf” router keeps the Each “non-leaf” router keeps the prune messages from it’s children prune messages from it’s children for a period of time. If it has for a period of time. If it has received prune messages from all received prune messages from all children, it send upwards a prune children, it send upwards a prune messagemessage

• After the time delay has passed, After the time delay has passed, each router purges it’s prune each router purges it’s prune records and rebroadcast records and rebroadcast “downward” a datagram“downward” a datagram

• If a leaf-router detects a “first” If a leaf-router detects a “first” member of a group, it sends member of a group, it sends upward a “graft” message. This upward a “graft” message. This message is forwarded upwards by message is forwarded upwards by the routers until it reaches a active the routers until it reaches a active routerrouter

SS

GGGG

GG

GG

GG

GGGG

Page 27: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Multicast Routing ProtocolsMulticast Routing Protocols

• There are several multicast routing protocols: DVMRP, PIM There are several multicast routing protocols: DVMRP, PIM (DM, SM), MOSPF(DM, SM), MOSPF

• These protocols rely until today on the These protocols rely until today on the Broadcast and PruneBroadcast and Prune and and Shared TreesShared Trees routing techniques routing techniques

• The routing protocols implement the routing algorithms (i.e. The routing protocols implement the routing algorithms (i.e. RPM), each with it’s own special enhancements, depending on RPM), each with it’s own special enhancements, depending on the network topology or group-members density that they the network topology or group-members density that they focus onfocus on

• Each network manager should select inside his/her network Each network manager should select inside his/her network the routing protocol that is best suited for the network (s)he is the routing protocol that is best suited for the network (s)he is managingmanaging

Page 28: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

The MBoneThe MBone

• The Internet Multicast Backbone is an interconnected set of The Internet Multicast Backbone is an interconnected set of sub-networks and routers that support the delivery of multicast sub-networks and routers that support the delivery of multicast traffictraffic

• The MBone has grown from 40 subnets in four different The MBone has grown from 40 subnets in four different countries, to a few hundred thousands subnets todaycountries, to a few hundred thousands subnets today

• It’s goal was to construct a semi-permanent IP multicast It’s goal was to construct a semi-permanent IP multicast testbed to enable the deployment of multicast applicationstestbed to enable the deployment of multicast applications

• The MBone carries audio/video multicasts of IETF, NASA The MBone carries audio/video multicasts of IETF, NASA Space Shuttle Missions, U.S. House and Senate sessions, Space Shuttle Missions, U.S. House and Senate sessions, occasional concerts, sporting events, lectures etcoccasional concerts, sporting events, lectures etc

Page 29: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

SummarySummary

• We found out what multicast isWe found out what multicast is

• We know why multicast should be usedWe know why multicast should be used

• We learned how multicast traffic is scopedWe learned how multicast traffic is scoped

• We understood the algorithms with which We understood the algorithms with which routers route and forward the multicast trafficrouters route and forward the multicast traffic

• We have seen the true potential of multicast We have seen the true potential of multicast trough the MBonetrough the MBone

Page 30: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Multicasting Digital Video StreamsMulticasting Digital Video Streams

• The TUT’s Multimedia Laboratory has a project to The TUT’s Multimedia Laboratory has a project to distribute digital streamsdistribute digital streams

• In the Tietotalo building is installed a system that In the Tietotalo building is installed a system that captures satellite and terrestrial digital video streamscaptures satellite and terrestrial digital video streams

• These streams are multicasted through the TUT’s These streams are multicasted through the TUT’s networknetwork

• There are a series of programs that can receive and There are a series of programs that can receive and play the streams, both for Windows and Linux play the streams, both for Windows and Linux platforms (e.g. NetFilter)platforms (e.g. NetFilter)

Page 31: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

ConclusionsConclusions

• Multicast becomes more and more a necessityMulticast becomes more and more a necessity• Multicast improves network performances, Multicast improves network performances,

respectively the costsrespectively the costs• It is easy to configure the network (routers, switches) It is easy to configure the network (routers, switches)

to support multicastto support multicast• In the future, more and more applications will In the future, more and more applications will

become multicast-dependentbecome multicast-dependent• Multicast has yet to prove it’s impact on our Multicast has yet to prove it’s impact on our

networkingnetworking

Page 32: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

MPEG-4 over MPEG-4 over IPIP

Page 33: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

OUTLINEOUTLINE

• MPEG-4 SystemsMPEG-4 Systems

• Transport Protocols for MPEG-4 deliveryTransport Protocols for MPEG-4 delivery

• Issues of “MPEG-4 over IP”Issues of “MPEG-4 over IP”

• ConclusionsConclusions

• ReferencesReferences

Page 34: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

IntroductionIntroduction

• MPEG (Moving Picture Experts Group);MPEG (Moving Picture Experts Group);

• MPEG-1 MPEG-1 standard on which Video-CD and MP3 are based; standard on which Video-CD and MP3 are based;

• MPEG-2 MPEG-2 standard on which Digital Television set top boxes and DVD are standard on which Digital Television set top boxes and DVD are based;based;

• MPEG-4 MPEG-4 standard for multimedia for the fixed and mobile web; standard for multimedia for the fixed and mobile web;

• MPEG-7 MPEG-7 standard for description and search of audio and visual content; standard for description and search of audio and visual content;

• An An “IP (Internet Protocol) address”“IP (Internet Protocol) address” uniquely identifies a node, a device or host uniquely identifies a node, a device or host connection on an IP network (or TCP/IP);connection on an IP network (or TCP/IP);

Page 35: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Carriage of MPEG-4 contents over IP Carriage of MPEG-4 contents over IP Networks Networks

• MPEG-4 is a standard designated for the representation and delivery of MPEG-4 is a standard designated for the representation and delivery of multimedia information over a variety of transport protocols;multimedia information over a variety of transport protocols;

• MPEG-4 includes:MPEG-4 includes:– Interactive scene management;Interactive scene management;– Visual & Audio representations;Visual & Audio representations;– Functional systems (multiplexing, synchronization);Functional systems (multiplexing, synchronization);– Object descriptor framework;Object descriptor framework;

• Transfer method for MPEG-4 over IP:Transfer method for MPEG-4 over IP:– In context with specific IP packets;In context with specific IP packets;– Multiplexed in MPEG-4 Flexmux (carried in IP packets);Multiplexed in MPEG-4 Flexmux (carried in IP packets);– Multiplexed in MPEG-2 TS (carried in IP packets);Multiplexed in MPEG-2 TS (carried in IP packets);

Page 36: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Streaming Media Formats Streaming Media Formats

Page 37: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Example of MPEG-4 over IP Example of MPEG-4 over IP

Page 38: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Example of MPEG-4 sceneExample of MPEG-4 scene

Page 39: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Object-based compression and deliveryObject-based compression and delivery

Page 40: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

HTTP Transport ProtocolHTTP Transport Protocol

• It is a very simple way to stream media files;It is a very simple way to stream media files;

• The wire format is the same as the file-format storage;The wire format is the same as the file-format storage;

• Arbitrary MPEG-4 Intermedia files cannot be streamed directly using HTTP, Arbitrary MPEG-4 Intermedia files cannot be streamed directly using HTTP, because of the “loose” in ordering the objects, and possible cross-references because of the “loose” in ordering the objects, and possible cross-references within the media file;within the media file;

• Live streaming for Intermedia files can also be supported using proprietary Live streaming for Intermedia files can also be supported using proprietary methods;methods;

Page 41: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Media Control ProtocolsMedia Control Protocols

• In order to enable full streaming systems, a media control protocol needs to In order to enable full streaming systems, a media control protocol needs to be defined to support the following features:be defined to support the following features:

1.1. Seeking:Seeking:

– Forward;Forward;

– Rewind;Rewind;

– Skip.Skip.

2.2. Bandwidth ScalabilityBandwidth Scalability

3.3. Live StreamingLive Streaming

Page 42: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

MPEG-4 SystemsMPEG-4 Systems• In MPEG-4 Systems, the transport of streams is divided in 4 layers:In MPEG-4 Systems, the transport of streams is divided in 4 layers:

– Compression LayerCompression Layer: includes elementary (raw) media streams (audio, video, etc.). : includes elementary (raw) media streams (audio, video, etc.).

– Synchronization Layer (SL)Synchronization Layer (SL):: Adds a header to each unit of an elementary stream, Adds a header to each unit of an elementary stream, which includes time stamps, reference to a clock elementary stream, and which includes time stamps, reference to a clock elementary stream, and identification of key frames (RandomAccessPoint). This is similar to the task of RTP identification of key frames (RandomAccessPoint). This is similar to the task of RTP in IP networks. However, SL does not contain payload type (like RTP), and does not in IP networks. However, SL does not contain payload type (like RTP), and does not contain the Elementary Stream. In addition, an SL packet does not contain an contain the Elementary Stream. In addition, an SL packet does not contain an indication of its length, so it must be framed by a lower-level protocol such as indication of its length, so it must be framed by a lower-level protocol such as FlexMux or RTP.FlexMux or RTP.

– FlexMux LayerFlexMux Layer: Groups elementary streams according to common attributes, such a : Groups elementary streams according to common attributes, such a QoS requirements. This is very simple multiplexing protocol, but also very low QoS requirements. This is very simple multiplexing protocol, but also very low overhead.overhead.

– TransxMux LayerTransxMux Layer: This is the actual transport protocol, such as RTP/UDP, MPEG-2, : This is the actual transport protocol, such as RTP/UDP, MPEG-2, etc. MPEG-4 does not define its own transport protocol, but assumes the application etc. MPEG-4 does not define its own transport protocol, but assumes the application relies on an existing transport protocol. The FlexMux Layer is optional, but the relies on an existing transport protocol. The FlexMux Layer is optional, but the Synchronization Layer is always present.Synchronization Layer is always present.

Page 43: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

TCP/IP & SL-packet over UDP/IPTCP/IP & SL-packet over UDP/IP

• TCP/IP:TCP/IP:– Not suitable for real-time transfers (high delays and causes jitter, it was Not suitable for real-time transfers (high delays and causes jitter, it was

created for reliable transmission over timely delivery);created for reliable transmission over timely delivery);

– Does not support multicast;Does not support multicast;

– Congestion control mechanism not suitable for AV media;Congestion control mechanism not suitable for AV media;

• SL-packet over UDP/IP:SL-packet over UDP/IP:– SL provides: Timing & Sequence numbering;SL provides: Timing & Sequence numbering;

– UDP provides: Multiplexing, Length field, Checksum service;UDP provides: Multiplexing, Length field, Checksum service;

– SL+UDP may be used like a transport protocol for AV media;SL+UDP may be used like a transport protocol for AV media;

Page 44: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Problems of SL/UDP/IPProblems of SL/UDP/IP

• No other media stream can be synchronized with MPEG-4 data carried No other media stream can be synchronized with MPEG-4 data carried directly over UDP;directly over UDP;

• The dynamic scene and session control concepts cannot be extended to non The dynamic scene and session control concepts cannot be extended to non MPEG-4 data;MPEG-4 data;

• No defined technique for synchronizing MPEG-4 streams from different No defined technique for synchronizing MPEG-4 streams from different servers;servers;

• Streams from different servers may collide (their sources may become Streams from different servers may collide (their sources may become unresolvable at destination) in a multicast session;unresolvable at destination) in a multicast session;

• Mechanisms need to be defined to protect sensitive MPEG-4 data (RTP Mechanisms need to be defined to protect sensitive MPEG-4 data (RTP supports FEC);supports FEC);

• A feedback channel must be defined for quality control;A feedback channel must be defined for quality control;

Page 45: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

RTP & RTCPRTP & RTCP

• RTP = Real-time Transport Protocol;RTP = Real-time Transport Protocol;

• RTCP = Real-time Transport Control Protocol;RTCP = Real-time Transport Control Protocol;

• A session consists of an RTP/RTCP pair of channelsA session consists of an RTP/RTCP pair of channels

• Usually works over UDP/IP (can work with other protocols also);Usually works over UDP/IP (can work with other protocols also);

• RTP supports:RTP supports:– Multicasting;Multicasting;– Payload type identification;Payload type identification;– Time stamping;Time stamping;– Sequence numbering;Sequence numbering;– Delivery monitoring;Delivery monitoring;– From UDP (Multiplexing, Length field, Checksum service);From UDP (Multiplexing, Length field, Checksum service);

Page 46: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

RTPRTP

• RTP Problems:RTP Problems:– It does not support the timely delivery of data or any other QoS guarantees;It does not support the timely delivery of data or any other QoS guarantees;– It does not guarantee delivery, so packets may be delivered out of order or get lost It does not guarantee delivery, so packets may be delivered out of order or get lost

(no mechanism to recover from packet loss);(no mechanism to recover from packet loss);

• Time Stamp (TS):Time Stamp (TS):– Place incoming packet in correct timing orderPlace incoming packet in correct timing order– Initial values are picked randomly and independently for each RTP stream;Initial values are picked randomly and independently for each RTP stream;– Increase in time indicated by each packet;Increase in time indicated by each packet;

• Sequence Number (SN):Sequence Number (SN):– Detect packet loss;Detect packet loss;– Increase by one for each packet;Increase by one for each packet;

• For video frame that is split into multiple RTP packets: they share the same For video frame that is split into multiple RTP packets: they share the same TS but use different SN;TS but use different SN;

Page 47: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

RTP CharacteristicsRTP Characteristics

• RTP can map only one source stream onto RTP session:RTP can map only one source stream onto RTP session:– Multiplexing causes problems;Multiplexing causes problems;– For scale coding, each layer must have its own RTP session and multicast group;For scale coding, each layer must have its own RTP session and multicast group;

• Within each RTP session, source can change its data format over time;Within each RTP session, source can change its data format over time;

• It allows FEC (Forward Error Correction);It allows FEC (Forward Error Correction);

• Synchronize across different media streams;Synchronize across different media streams;

• Provide feedback on the quality of data using packet counts;Provide feedback on the quality of data using packet counts;

• Identify and keep track of participants;Identify and keep track of participants;

Page 48: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

MPEG-4 over RTP/UDP/IPMPEG-4 over RTP/UDP/IP

• Easiest is to wrap the MPEG-4 SL packet in an RTP packet:Easiest is to wrap the MPEG-4 SL packet in an RTP packet:– High overhead: two full headers;High overhead: two full headers;– RTCP may not provide enough control for the MPEG-4 stream;RTCP may not provide enough control for the MPEG-4 stream;

• Several types of MPEG-4 payloads are being defined by the IETF for different Several types of MPEG-4 payloads are being defined by the IETF for different ESs;ESs;

Page 49: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

RTP ES & SL payload restrictionsRTP ES & SL payload restrictions• RTP packetization is not media aware:RTP packetization is not media aware:

– No unique scheme can be defined, need a payload definition per payload type (not No unique scheme can be defined, need a payload definition per payload type (not practical);practical);

– This may require the definition of new session and scene description mechanisms This may require the definition of new session and scene description mechanisms to deal with all the flows;to deal with all the flows;

• Common restrictions:Common restrictions:– RTP timestamp corresponds to composition time stamp (CTS) of MPEG-4 stream;RTP timestamp corresponds to composition time stamp (CTS) of MPEG-4 stream;– Packets should be sent in decoding order;Packets should be sent in decoding order;– Streams can be synchronized using RTCP;Streams can be synchronized using RTCP;

• Map SL stream onto RTP session:Map SL stream onto RTP session:– SL header is optional;SL header is optional;

• Reduced SL headers does not include:Reduced SL headers does not include:– Sequence number (mapped to RTP header);Sequence number (mapped to RTP header);– Composition Time Stamp (mapped to RTP header);Composition Time Stamp (mapped to RTP header);

Page 50: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Streams & Media Control in MPEG-4Streams & Media Control in MPEG-4

• Multiple Strems inMPEG-4:Multiple Strems inMPEG-4:– Port consuming:Port consuming:

• Each AV contains one or more streams;Each AV contains one or more streams;

• Each stream needs one RTP session;Each stream needs one RTP session;

– Potential solution:Potential solution:• Selective bundling of ESs-FlexMux -> define a multiplexed MPEG-4 payload (may have Selective bundling of ESs-FlexMux -> define a multiplexed MPEG-4 payload (may have

to be defined for multiple payload types);to be defined for multiple payload types);

• Generic RTP multiplexing for use with MPEG-4, under development by IETF.Generic RTP multiplexing for use with MPEG-4, under development by IETF.

• MPEG-4 Media Control:MPEG-4 Media Control:– Remote interactivity: add or delete a stream, etc.Remote interactivity: add or delete a stream, etc.– Media control channel allows renegotiating in time the available network and Media control channel allows renegotiating in time the available network and

processing resources;processing resources;– Must have an efficient signaling protocol that can handle such messages;Must have an efficient signaling protocol that can handle such messages;

Page 51: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Media Control FrameworkMedia Control Framework

• To allow a client and one or more servers to exchange types of control To allow a client and one or more servers to exchange types of control messages and also allow for peer to peer exchange between two or more messages and also allow for peer to peer exchange between two or more clients, the framework requires several components:clients, the framework requires several components:

– A description of the stored or live presentation;A description of the stored or live presentation;

– A set of protocols that can provide proper services for the back channel message A set of protocols that can provide proper services for the back channel message delivery;delivery;

– A set of protocols that can allocate resources for the involved hosts and networks;A set of protocols that can allocate resources for the involved hosts and networks;

Page 52: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Components of media control (1)Components of media control (1)

• Presentation Description:Presentation Description:

– The client needs to refer to the description of a presentation that The client needs to refer to the description of a presentation that expresses the temporal and static properties of the presentation itself;expresses the temporal and static properties of the presentation itself;

– Must include information about the media, location of the media, etc.Must include information about the media, location of the media, etc.

– Should provide multiple description instances of the same presentation so Should provide multiple description instances of the same presentation so that the client can specify a given combination that fits its that the client can specify a given combination that fits its needs/capabilities – the client is the orchestrator of the presentation and needs/capabilities – the client is the orchestrator of the presentation and the server is participating;the server is participating;

Page 53: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Components of media control (2)Components of media control (2)

• Client and Server State Representations:Client and Server State Representations:

– Out of band signaling is used: the data streams and the control Out of band signaling is used: the data streams and the control information are carried over separate channels using different protocols, information are carried over separate channels using different protocols, each best suited to their needs and modes of operation;each best suited to their needs and modes of operation;

– As the media streams may be modified by the end user, the server needs As the media streams may be modified by the end user, the server needs to a state if the streams status for each client it is serving;to a state if the streams status for each client it is serving;

– The client has to keep track of all the participating streams;The client has to keep track of all the participating streams;

Page 54: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Components of media control (3)Components of media control (3)

• Basic Media Control Messages:Basic Media Control Messages:

– A multimedia system should have access to control messages ranging A multimedia system should have access to control messages ranging from remote VCR functions such as stop, play, fast forward and fast from remote VCR functions such as stop, play, fast forward and fast reverse, to messages generated in response to user actions to modify the reverse, to messages generated in response to user actions to modify the presentation of a given object stream such as add or remove or alter, etc.presentation of a given object stream such as add or remove or alter, etc.

– The basic control functionality relates to presentation and stream set-up: The basic control functionality relates to presentation and stream set-up: play, stop, pause, teardown and recording;play, stop, pause, teardown and recording;

Page 55: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Real Time Streaming Protocol (RTSP)Real Time Streaming Protocol (RTSP)

• It is an application level protocol that provides an extensible framework to It is an application level protocol that provides an extensible framework to enable controlled delivery of real-time data, such as audio & video;enable controlled delivery of real-time data, such as audio & video;

• It can be transported over UDP, TCP and is designated to work with RTP and It can be transported over UDP, TCP and is designated to work with RTP and HTTP;HTTP;

• Provide support for bidirectional communications (frame level timing for Provide support for bidirectional communications (frame level timing for remote video editing);remote video editing);

• RTSP does:RTSP does:– Control the transmission of media stream;Control the transmission of media stream;– Use out-of-band signaling;Use out-of-band signaling;

• RTSP does not:RTSP does not:– Define compression schemes;Define compression schemes;– Define how AV is encapsulated;Define how AV is encapsulated;– Define how to buffer;Define how to buffer;

Page 56: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

MPEG-4 and RTSPMPEG-4 and RTSP

• From DMIF’s perspective, RTSP is an application alongside MPEG-4 From DMIF’s perspective, RTSP is an application alongside MPEG-4 systems;systems;

• The RTSP client and server interact with the MPEG-4 systems;The RTSP client and server interact with the MPEG-4 systems;

• The RTSP client and server control the streams through the DAI by an RTSP-The RTSP client and server control the streams through the DAI by an RTSP-DMIF interface;DMIF interface;

• The interface is kept very simple by limiting it to field mapping between the The interface is kept very simple by limiting it to field mapping between the RTSP fields and the DAI primitive parameters;RTSP fields and the DAI primitive parameters;

• The RTSP client server interactions are used to control the MPEG-4 The RTSP client server interactions are used to control the MPEG-4 elementary streams;elementary streams;

Page 57: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Session Initiation Protocol (SIP)Session Initiation Protocol (SIP)

• IETF Family of Session Protocols:IETF Family of Session Protocols:– Session Description Protocol (SDP);Session Description Protocol (SDP);– Session Announcement Protocol (SAP);Session Announcement Protocol (SAP);– Session Initiation Protocol (SIP);Session Initiation Protocol (SIP);

• SIP:SIP:– Two basic components: user agent & network server;Two basic components: user agent & network server;– Independent of lower layer protocols;Independent of lower layer protocols;– Extensible to be application specific;Extensible to be application specific;– Gaining widespread use in IP telephony;Gaining widespread use in IP telephony;

• MPEG-4 and SIP:MPEG-4 and SIP:– Unique ability to control different media types within a single session Unique ability to control different media types within a single session Multiple Multiple

stream transmission in one network session;stream transmission in one network session;– User Agent model fits in well with an MPEG-4 Client/Server model (point-to-point User Agent model fits in well with an MPEG-4 Client/Server model (point-to-point

communication);communication);

Page 58: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Toolboxes for transmitting MPEG-4 over Toolboxes for transmitting MPEG-4 over internetinternet

• RTP RTP transport of audio/video/… data, quality-of-service feedback; transport of audio/video/… data, quality-of-service feedback;

• RTSP RTSP very simple media control of streams; very simple media control of streams;

• SIP SIP inviting people, media servers to sessions – telephony and streaming inviting people, media servers to sessions – telephony and streaming audio/video;audio/video;

• HTTP, SDP HTTP, SDP retrieve media descriptions; retrieve media descriptions;

Page 59: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

IssuesIssues

• Encapsulation of MPEG-4 Sync layer packetized stream:Encapsulation of MPEG-4 Sync layer packetized stream:– IEC/ISO 14496-8, framework still in revision;IEC/ISO 14496-8, framework still in revision;– Lots of issues still remain: time axis, buffer management, etc…Lots of issues still remain: time axis, buffer management, etc…

• Interactivity between application and End User:Interactivity between application and End User:– Description of MPEG-4 content;Description of MPEG-4 content;– Initialization of an MPEG-4 session;Initialization of an MPEG-4 session;

• SIP and IPC (Inter Process communication):SIP and IPC (Inter Process communication):– How to describe the dynamic process of channel (stream) setup and release?How to describe the dynamic process of channel (stream) setup and release?– What control information is necessary and how to transport it?What control information is necessary and how to transport it?

• Transport and IP QoS:Transport and IP QoS:– Must define a mapping mechanism among the different QoS mechanisms: Must define a mapping mechanism among the different QoS mechanisms:

transport QoS (not available yet), network QoS, etc.transport QoS (not available yet), network QoS, etc.

• And much more…And much more…

Page 60: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

ConclusionsConclusions

• MPEG-4 is here in a limited fashion;MPEG-4 is here in a limited fashion;

• We will see a marked growth in MPEG-4 products as chip sets become more We will see a marked growth in MPEG-4 products as chip sets become more readily available;readily available;

• Simple basic MPEG-4 service is not a problem;Simple basic MPEG-4 service is not a problem;

• There is a lot of ongoing research on how to deliver MPEG-4 content over IP-There is a lot of ongoing research on how to deliver MPEG-4 content over IP-based networks;based networks;

• The extended version still requires a lot more work.The extended version still requires a lot more work.

Page 61: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

ReferencesReferences

• Multimedia Systems, Standards, and NetworksMultimedia Systems, Standards, and Networks, edited by Atul Puri and , edited by Atul Puri and Tsuhan chen, publ. Marcel Dekker, Signal Processing and Communications Tsuhan chen, publ. Marcel Dekker, Signal Processing and Communications Series;Series;

• Magda El-Zarki, Magda El-Zarki, Video Over IPVideo Over IP, IEEE Infocom 2001, April 2001., IEEE Infocom 2001, April 2001.

• Standards for Multimedia Streaming and Communication over Wireless Standards for Multimedia Streaming and Communication over Wireless Networks v1.0Networks v1.0, by Emblaze Research, July 2000., by Emblaze Research, July 2000.

• Haining Liu, Xiaoping Wei, Magda El Zarki, Haining Liu, Xiaoping Wei, Magda El Zarki, A transport infrastructure A transport infrastructure supporting real time interactive MPEG-4 Client-Server Applications over IP supporting real time interactive MPEG-4 Client-Server Applications over IP networksnetworks, IWDC 2001, pp. 401-412., IWDC 2001, pp. 401-412.

Page 62: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Windows MediaWindows Media

Page 63: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Microsoft® Windows Microsoft® Windows Media™Media™

• a set of digital media components a set of digital media components and features for personal computers and features for personal computers and consumer appliancesand consumer appliances

• is fueling a revolution in how news, is fueling a revolution in how news, information, and entertainment is information, and entertainment is distributed and experienceddistributed and experienced

Page 64: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

The BeginningThe Beginning

• started with the personal computer and started with the personal computer and streaming media over the Internet or streaming media over the Internet or corporate networkcorporate network

• provided for the first time, truly provided for the first time, truly interactive, on-demand audio and videointeractive, on-demand audio and video

• though the quality over analog modems though the quality over analog modems was constrained, users were intrigued and was constrained, users were intrigued and satisfied with capabilities like news and satisfied with capabilities like news and training on-demand, international radio, training on-demand, international radio, and Web-only event broadcasts. and Web-only event broadcasts.

Page 65: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

The Present and FutureThe Present and Future

• several key initiatives that have already several key initiatives that have already started to broaden the impact of started to broaden the impact of streaming media on the consumer and the streaming media on the consumer and the worker, the media and the IT industries:worker, the media and the IT industries:– Broadband InternetBroadband Internet– Digital MusicDigital Music– Consumer ElectronicsConsumer Electronics– BusinessBusiness– E-comerceE-comerce

Page 66: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Broadband InternetBroadband Internet

• DSL and cable connected homes has DSL and cable connected homes has paved the way for the delivery of CD paved the way for the delivery of CD quality music and near-broadcast quality music and near-broadcast quality videoquality video

• need for high speed Internet access need for high speed Internet access for high quality video and rich for high quality video and rich interactivityinteractivity

Page 67: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Digital MusicDigital Music

• the music industry is at the forefront the music industry is at the forefront of the digital media revolutionof the digital media revolution

• providing CD-quality playbackproviding CD-quality playback

• increase the number of listenersincrease the number of listeners

• protect and distribute contentprotect and distribute content

• allow for widespread compatibility allow for widespread compatibility with other digital consumer deviceswith other digital consumer devices

Page 68: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Consumer ElectronicsConsumer Electronics

• ensure that the digital media revolution ensure that the digital media revolution extends beyond the PC!extends beyond the PC!

• media throughout homes, in cars, while media throughout homes, in cars, while joggingjogging

• a whole suite of additional Windows Media a whole suite of additional Windows Media compatible consumer electronics devices, compatible consumer electronics devices, will soon be on the market, that span will soon be on the market, that span digital stereos, car stereos, and advanced digital stereos, car stereos, and advanced television set top boxestelevision set top boxes

Page 69: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

BusinessBusiness

• Companies are rapidly discovering Companies are rapidly discovering the benefits of streaming media in the benefits of streaming media in their organizations:their organizations:– virtual company meetingsvirtual company meetings– "just-in-time" learning"just-in-time" learning– ability to react to changing business ability to react to changing business

conditions quickly with immediate conditions quickly with immediate communication to employees, partners communication to employees, partners and customersand customers

Page 70: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

E-commerceE-commerce

• rapid growth in usage of digital media for rapid growth in usage of digital media for both consumer and business applicationsboth consumer and business applications

• content providers are looking to move content providers are looking to move from experimentation to revenue from experimentation to revenue generation as quickly as possiblegeneration as quickly as possible

• enables content providers to manage, enables content providers to manage, deliver, and sell Pay-Per-Download and deliver, and sell Pay-Per-Download and Pay-Per-Stream content with Windows Pay-Per-Stream content with Windows Media™ over the InternetMedia™ over the Internet

Page 71: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Key Features of Windows Key Features of Windows MediaMedia• Highest Quality AudioHighest Quality Audio• Fast video encodingFast video encoding• Scalable to Full ScreenScalable to Full Screen• Windows Media On-Demand ProducerWindows Media On-Demand Producer• Intelligent StreamingIntelligent Streaming• Advanced Compression Technologies Advanced Compression Technologies • Integrated with other Microsoft ProductsIntegrated with other Microsoft Products• Digital Rights ManagementDigital Rights Management• Microsoft ProducerMicrosoft Producer

Page 72: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Windows Media Windows Media ComponentsComponents

• Windows Media PlayerWindows Media Player

• Windows Media Content Creation Windows Media Content Creation ToolsTools

• Windows Media Content Editing ToolsWindows Media Content Editing Tools

• Windows Media ServicesWindows Media Services

Page 73: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Windows Media PlayerWindows Media Player

• play audio and video in most popular formatsplay audio and video in most popular formats• read and perform commands scripted in read and perform commands scripted in

an .asx (ASF Stream Redirector) filean .asx (ASF Stream Redirector) file• receive script commands, markers, and receive script commands, markers, and

metadata, such as clip title, author, and metadata, such as clip title, author, and copyright copyright

• render Windows Media broadcasts and on-render Windows Media broadcasts and on-demand content for viewing live news updates demand content for viewing live news updates on the Interneton the Internet

• Play movie clips and music videos on a Web Play movie clips and music videos on a Web sitesite

Page 74: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Windows Media Content Windows Media Content Creation ToolsCreation Tools

• used to create ASF content:used to create ASF content:– Windows Media EncoderWindows Media Encoder– Windows Media On-Demand ProducerWindows Media On-Demand Producer– Presentation BroadcastingPresentation Broadcasting– Windows Media AuthorWindows Media Author– VidToASFVidToASF– WavToASFWavToASF

Page 75: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Windows Media Content Windows Media Content Editing ToolsEditing Tools

• manage and edit your .asf files:manage and edit your .asf files:– indexingindexing– checkingchecking– choppingchopping

Page 76: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Windows Media Services Windows Media Services

• used to send audio and video used to send audio and video content, by unicast and multicast, to content, by unicast and multicast, to clientsclients

• control number of streams playedcontrol number of streams played

• monitors clients connected to monitors clients connected to publishing pointspublishing points

Page 77: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Inside Windows Media - Inside Windows Media - DirectXDirectX• advanced suite of multimedia APIs advanced suite of multimedia APIs

(application programming interfaces) built (application programming interfaces) built into Microsoft Windows operating systemsinto Microsoft Windows operating systems

• provides a standard development platform provides a standard development platform for Windows-based PCs by enabling for Windows-based PCs by enabling software developers to access specialized software developers to access specialized hardware features without having to write hardware features without having to write hardware-specific codehardware-specific code

• DirectX was first introduced in 1995 and is a DirectX was first introduced in 1995 and is a recognized standard for multimedia recognized standard for multimedia application development on the Windows application development on the Windows platformplatform

Page 78: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

DirectX UsageDirectX Usage

• running and displaying applications running and displaying applications like games that are rich in real-time like games that are rich in real-time full-color 3-D graphicsfull-color 3-D graphics

• movies, video presentationsmovies, video presentations

• music, surround soundmusic, surround sound

• playing network gamesplaying network games

Page 79: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

DirectShow OverviewDirectShow Overview

• DirectShowDirectShow is the streaming media is the streaming media component of DirectXcomponent of DirectX

• enables the high-quality capture and enables the high-quality capture and playback of multimedia streams such as playback of multimedia streams such as AVI, MP3, and WAV filesAVI, MP3, and WAV files

• with DirectShow you can create DVD with DirectShow you can create DVD Players, Video Editing Packages, Converters, Players, Video Editing Packages, Converters, MP3 Players and Encoders, and other MP3 Players and Encoders, and other video/audio manipulation applications. video/audio manipulation applications.

Page 80: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

DirectShow GoalDirectShow Goal

• design goal is to simplify the task of design goal is to simplify the task of creating multimedia applications on the creating multimedia applications on the Windows platform by isolating applications Windows platform by isolating applications from the complexities of data transports, from the complexities of data transports, hardware differences, and synchronization hardware differences, and synchronization issuesissues

• to achieve the throughput necessary for to achieve the throughput necessary for streaming video and audio, DirectShow uses streaming video and audio, DirectShow uses DirectDraw and DirectSound to render data DirectDraw and DirectSound to render data efficiently to the system's sound and efficiently to the system's sound and graphics cardsgraphics cards

Page 81: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

DirectShow relationship with DirectShow relationship with other componentsother components

Page 82: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

DirectShow ArchitectureDirectShow Architecture

• DirectShow uses a modular architecture in which DirectShow uses a modular architecture in which operating system components called operating system components called filtersfilters can can be mixed and matched to provide support for be mixed and matched to provide support for many different scenarios.many different scenarios.

• DirectShow includes filters that support cutting-DirectShow includes filters that support cutting-edge multimedia capture and tuning devices edge multimedia capture and tuning devices based on the Windows Driver Model (WDM) as based on the Windows Driver Model (WDM) as well as filters that support legacy Video for well as filters that support legacy Video for Windows (VfW) capture cards and older codecs Windows (VfW) capture cards and older codecs written for the Audio Compression Manager (ACM) written for the Audio Compression Manager (ACM) and Video Compression Manager (VCM) and Video Compression Manager (VCM) interfaces.interfaces.

Page 83: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Filter OverviewFilter Overview• special DLL file (.ax)special DLL file (.ax)• create with Microsoft Visual Studiocreate with Microsoft Visual Studio• based on COM (Component Object Model)based on COM (Component Object Model)

– getting a pointer to the interfacegetting a pointer to the interface– release the pointer after you are done Object Modelrelease the pointer after you are done Object Model

• implements standard interfacesimplements standard interfaces• input and output pinsinput and output pins

Page 84: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Filter mixingFilter mixing

• source filters (file, local network, internet)source filters (file, local network, internet)

• splitter filters (MPEG2 Demux)splitter filters (MPEG2 Demux)

• audio/video (de)compressors filters (MP3, DivX)audio/video (de)compressors filters (MP3, DivX)

• audio/video renderer filters (FullScreen, DirectSound)audio/video renderer filters (FullScreen, DirectSound)

Page 85: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Filter’s PinsFilter’s Pins

• interconnects two filtersinterconnects two filters

• input and output pinsinput and output pins

• link between two filters: one-to-onelink between two filters: one-to-one

• responsible forresponsible for– negotiation of media transferred throughnegotiation of media transferred through– data exchangedata exchange– synchronizationsynchronization

Page 86: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

Filter Graph ManagerFilter Graph Manager

• all DirectShow applications use this all DirectShow applications use this object at some pointobject at some point

• this object controls the filter graphthis object controls the filter graph

• controls the data flow in the filterscontrols the data flow in the filters

• simple APIsimple API– addFilteraddFilter– run, stop, and pauserun, stop, and pause

Page 87: Multicast. Multimedia Systems What is Multicast? A new concept for transmitting data over computer networks A new concept for transmitting data over computer

Multimedia SystemsMultimedia Systems

ReferencesReferences

• Microsoft Microsoft www.microsoft.comwww.microsoft.com

• Windows Media Windows Media www.windowsmedia.comwww.windowsmedia.com

• MSDN (Microsoft Developer Network)MSDN (Microsoft Developer Network)msdn.microsoft.commsdn.microsoft.com