The present invention relates generally to communications systems and in particular to methods, devices and systems for distributing media using multicast transmissions.
As the level of technology increases, the options for communications have become more varied. For example, in the last 30 years in the telecommunications industry, personal communications have evolved from a home having a single rotary dial telephone, to a home having multiple telephone, cable and/or fiber optic lines that accommodate both voice and data. Additionally cellular phones and Wi-Fi have added a mobile element to communications. Similarly, in the entertainment industry, 30 years ago there was only one format for television and this format was transmitted over the air and received via antennas located at homes. This has evolved into both different standards of picture quality such as, standard definition television (SDTV), enhanced definition TV (EDTV) and high definition TV (HDTV), and more systems for delivery of these different television display formats such as cable and satellite. Additionally, services have grown to become overlapping between these two industries. As these systems continue to evolve in both industries, the service offerings will continue to merge and new services can be expected to be available for a consumer. Also these services will be based on the technical capability to process and output more information, for example as seen in the improvements in the picture quality of programs viewed on televisions, and therefore it is expected that service delivery requirements will continue to rely on more bandwidth being available through the network including the “last mile” to the end user.
Another related technology that impacts both the communications and entertainment industries is the Internet. The physical structure of the Internet, and associated communication streams, has also evolved to handle an increased flow of data. Servers have more memory than ever before, communications links exist that have a higher bandwidth than in the past, processors are faster and more capable and protocols exist to take advantage of these elements. As consumers' usage of the Internet grows, service companies have turned to the Internet (and other IP networks) as a mechanism for providing traditional services. These multimedia services include Internet Protocol television (IPTV, referring to systems or services that deliver television programs over a network using IP data packets), Internet radio, video on demand (VoD), live events, voice over IP (VoIP), and other web related services received singly or bundled together.
Multicast is one technique used to distribute IPTV (and other multimedia) content to users. As used herein, the term “multicast” refers to a broadcast or point-to-multipoint connection which is established between an end user or an end user's device and a content provider or content provider's equipment, e.g., involving a stream of IP packets which have an address associated with a group of potential recipients. By way of contrast, a “unicast” transmission involves a point-to-point connection. Internet Group Management Protocol (IGMP) is an IP-based control protocol that is used to signal membership of an end station (or any “host” in the IETF standard sense) to a multicast group (e.g., associated with an IPTV channel), e.g., in a local area network (LAN). Once an IGMP Join message leaves the LAN, another protocol called Protocol-Independent Multicast (PIM) is used to convey the message through one or more routers to a source associated with the requested group.
There are a variety of PIM protocol types in use today. For example, the PIM-Sparse Mode (PIM-SM) protocol builds unidirectional shared trees (paths) via which Join requests are routed to a source and multicast traffic is returned to the requester (receiver). The PIM-SM trees are rooted at special routers called “rendezvous point” (RP) routers, through which all of the requests and traffic flow as shown, for example, in
Even though PIM-SSM is source specific, there may exist multiple sources that are capable of sending the desired data stream, i.e., plural sources are associated with the multicast group to which membership is requested. Today, the receiver is responsible for indicating which source or sources that it will (or will not) accept to receive the content associated with the multicast group that it wishes to join. However, the source(s) requested by the receiver may not be the best (or authorized) source(s) to provide the desired multimedia content from, e.g., the network operator's point of view.
Accordingly, it would be desirable to provide other mechanisms for source selection of multicast content in communication networks.
Systems, devices and methods according to the exemplary embodiments enable routers to assist in the source selection process for multicast link establishment. Among other advantages, this provides at least some potential for extra, operator-based network control of source selection in, e.g., source specific multicast systems.
According to one exemplary embodiment, a method for routing a multicast group request message includes receiving the multicast group request message at a router, the multicast group request message including a list of sources associated with a multicast group to which membership is being requested, modifying the list of sources to generate a modified list based upon information stored in the router, and forwarding, by the router, the multicast group request message with the modified list which includes at least one source.
According to another exemplary embodiment, a router includes an interface configured to receive a multicast group request message, the multicast group request message including a list of sources associated with a multicast group to which membership is being requested, a memory in which information is stored, and a processor configured to modify the list of sources based on the information and to forward the multicast group request message with the modified list which includes at least one source.
The accompanying drawings illustrate exemplary embodiments, wherein:
a) depicts a tree associated with a PIM-Sparse Mode (PIM-SM) protocol;
b) depicts a tree associated with a PIM-Source Specific Mode (PIM-SSM) protocol;
a) depicts conventional operation of a local router to establish a multicast link;
b) depicts operation of a local router according to an exemplary embodiment to establish a multicast link;
The following detailed description of the exemplary embodiments refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims.
As mentioned above, when multicast content is available from multiple sources in communication networks employing PIM-SSM protocols (or other protocols which are source selective), it has conventionally been the case that source selection is performed by the receiver. That is, the local router which connects the receiver to the communication network simply forwards the Join message that it receives from the receiver, with its original list of one or more sources, through the network until that Join message propagates to one or more of the identified sources. However, according to exemplary embodiments, the local router can modify the list of source(s) provided by the receiver before the local router forwards the list into the network in order to, for example, implement a network policy.
To provide some context from which to discuss the exemplary embodiments in more detail,
To provide an illustrative example, when the receiver 204 desires membership in a multicast group, an IGMP Join message can be sent from the receiver 204 (optionally through a switch 206, e.g., an Ethernet switch) to a local (multicast enabled) router 208. In this context, the local router 208 is the router which is closest to (i.e., most directly connected to) the receiver 204 relative to other routers in the network. The local router 208 then forwards the PIM Join message through one or more other routers 210, 212 until the Join message reaches an edge router 202 which is connected to a source 200 that is associated with the multicast group to which the client 10 requested membership. Whereas IGMP is typically used to convey such requests between the receiver 204, the (optional) switch 206 and a local router 208, a PIM protocol is typically used to convey such Join requests between the various routers 208, 210, 212, and 202 which provide a path to the server or source 200 associated with the requested group.
In version 3 of IGMP (IGMPv3), source filtering capability was added. Since the phrase “Join message” is commonly used as part of the technical lexicon for discussing IGMP functionality, the term is used generically herein to refer to IGMP messages which are sent to join a multicast group regardless of which version of IGMP is involved. As specified in RFC 3376, the IP Multicast interface role with IGMPv3 can take the form IPMulticastListen {socket, interface, multi-cast address, filter mode, source list}, where:
“socket” is an implementation specific parameter used to distinguish among different programs or processes associated with a receiver,
“interface” is a local identifier of the network interface on which reception of the specified multicast address is to be enabled or disabled,
“multi-cast address” is the IP multicast address, or group, to which the request pertains,
“filter mode” may take either the value EXCLUDE or INCLUDE. If the value of “filter mode” is EXCLUDE, then reception of packets sent to the specified multicast address is requested from all IP source addresses associated with the group except for those listed in the source-list parameter, whereas if the value of “filter mode” is INCLUDE, then reception of packets sent to the specified multicast address is requested only from those IP source addresses listed in the source-list parameter, and “source list” is an unordered list of zero or more IP unicast addresses from which multicast reception is desired or not desired, depending on the filter mode.
Receivers 204 can become aware of different sources associated with a particular multicast group in a variety of legitimate ways, e.g., via the Internet, from a service provider, or perhaps even illegitimately as described below. Using the IGMPv3 signaling described above a receiver 204 could, therefore, send a request toward its local router 208 to join a multicast group which filters the sources that it is aware of, i.e., to either identify a plurality of sources which are acceptable or identify a plurality of sources which are unacceptable. For example, as shown in
By way of contrast, according to exemplary embodiments, the local router 208 can modify the list of sources which the local router 208 receives in an IGMP Join message and send a modified PIM Join command to be promulgated through the network as part of the process for establishing a link (e.g., an SSM link) between the receiver 204 and one or more sources 200 by which the receiver 204 will subsequently receive the multicast content. As a purely illustrative example, shown in
Although
The local router 208 can use locally stored information about the receiver 204 and/or the sources 200 in order to modify the incoming multicast membership request message 300. For example, exemplary embodiments can be used to implement different levels of service for multicast content delivery from the network point of view. Suppose that, for example, the different sources S1, S2, and S3 represent different servers which output the same multimedia content, but with different quality of service (QoS) characteristics, e.g., delay, audio/video resolution, etc. In such a case, exemplary embodiments which enable the local router 208 to choose which of the sources listed by the receiver 204 shall be used provide a mechanism whereby a network operator can correlate the receiver 204 to a particular user's subscription and operate as a gateway to restrict the receiver 204 to access only those sources for which it has paid to receive a certain QoS. This aspect of the exemplary embodiments can also be used to provide a useful security feature against the distribution of source identities to unauthorized client devices (receivers). For example, if source identities are hacked or otherwise published for unauthorized distribution and entered into client devices to access multicast sources, e.g., having high (gold) service levels, these exemplary embodiments provide a mechanism to restrict unauthorized access to such sources by comparing the received list of sources in the received Join message to, for example, subscription information associated with receiver 204.
Numerous other (or alternative) criteria or information can be used by the local router 208 to make modifications to the source list according to exemplary embodiments. For example, traffic conditions or administrative distance in the network could be considered by the local router 208. Alternatively, link cost or network policy information could be used to make a decision as to which of the listed sources should be included in a modified Join message to be forwarded by the local router 208. More generally, the local router 208 uses its stored routing information to evaluate possible paths between the requesting receiver 204 and the listed sources to determine whether some of the sources listed in the received Join message are sub-optimal for inclusion based on one or more predetermined criteria.
Thus, a generalized method for routing a multicast group request message according to an exemplary embodiment can be described from the perspective of the local router 208 as set forth in the flowchart of
Such a router 208 can, for example, be implemented in both hardware and software to achieve the functionality described above. A purely illustrative hardware architecture 500 that can be used to implement local routers 208 according to these exemplary embodiments is provided as
The above-described exemplary embodiments are intended to be illustrative in all respects, rather than restrictive, of the present invention. All such variations and modifications are considered to be within the scope and spirit of the present invention as defined by the following claims. No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items.