The present invention generally relates to network switches and, more particularly, to a method and apparatus for improving multicast functionality of network switches.
Multicast network traffic or content traversing a network switch is commonly forwarded to all the physical ports of the switch. Such a configuration creates a high degree of traffic across all of the ports and presents a high network traffic load to devices attached to the ports.
As such, some advanced network switches support Internet Group Management Protocol (IGMP) ‘sniffing’ or ‘snooping’ to address such traffic issues. This technique enables a network switch to refrain from forwarding received multicast traffic to a port until it is positively determined that a device attached to that port is supposed to receive the multicast traffic. In such techniques, by monitoring the IGMP protocol, the network switch can determine when to begin forwarding the multicast traffic to a specific physical port. That is, in such techniques, the network switch waits for a port device to issue a command, such as an ‘IGMP’ join command, before forwarding received multicast traffic.
Such solutions, however, create latency between the time a port device is ready to receive multicast traffic and when the traffic begins to be forwarded by the network switch.
Embodiments of the present invention address the deficiencies of the prior art by providing a method and apparatus for improved network switch multicast functionality.
In one embodiment of the present invention, method for improved multicast functionality in a network switch includes receiving information regarding for which group or groups of receivers content is intended, comparing the received information with stored information regarding which receivers belong to which group or groups of receivers to identify receivers belonging to the group or groups of receivers for which the content is intended, and multicasting the content to the identified receivers. In one embodiment of the present invention, the group or groups of receivers can be pre-established using, for example, a device group control protocol in which each group can be distinguished using a unique identifier. In an alternate embodiment, the group or groups of receivers can be established by the network switch for improving multicast functionality.
In an alternate embodiment of the present invention, an apparatus for improved multicast functionality includes a network switch for communicating received content to intended receivers, and a device for storing information regarding a grouping or groupings of receivers and which receivers belong to which group or groups of receivers. In such an embodiment, the apparatus is configured to receive information regarding for which group or groups of receivers content is intended, to compare the received information with the stored information to identify receivers belonging to the group or groups of receivers for which the content is intended, and to multicast the content to the identified receivers.
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
It should be understood that the drawings are for purposes of illustrating the concepts of the invention and are not necessarily the only possible configuration for illustrating the invention. To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
The present invention advantageously provides a method and apparatus for improved network switch multicast functionality. Although the present invention will be described primarily within the context of a retail advertising network environment, the specific embodiments of the present invention should not be treated as limiting the scope of the invention. It will be appreciated by those skilled in the art and informed by the teachings of the present invention that the concepts of the present invention can be advantageously applied in substantially any broadcast environment for the distribution/multicasting of content.
The functions of the various elements shown in the figures can be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions can be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which can be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and can implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future (i.e., any elements developed that perform the same function, regardless of structure).
Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative system components and/or circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
Although in the system 100 of
In one embodiment of the present invention, the content distribution system 100 of
In one embodiment of the present invention, software for controlling the various elements of the in-store advertising network 200 and the content distribution system 100 can include a 32-bit operating system using a windowing environment (e.g., MS-Windows™ or X-Windows operating system) and high-performance computing hardware. The advertising network 200 can utilize a distributed architecture and provides centralized content management and distribution control via, in one embodiment, satellite (or other method, e.g., a wide-area network (WAN), the Internet, a series of microwave links, or a similar mechanism) and in-store modules.
As depicted in
A recording company 204 can be a record label, music publisher, licensing/publishing entity (e.g., BMI or ASCAP), individual artist, or other such source of music-related content. The recording company 204 provides audiovisual content such as music clips (short segments of recorded music), music video clips, and the like. The movie studio 206 can be a movie studio, a film production company, a publicist, or other source related to the film industry. The movie studio 106 can provide movie clips, pre-recorded interviews with actors and actresses, movie reviews, “behind-the-scenes” presentations, and similar content.
The other content provider 208 can be any other provider of video, audio or audiovisual content that can be distributed and displayed via, for example, the content distribution system 100 of
In one embodiment of the present invention, content is procured via the network management center 210 (NMC) using, for example, traditional recorded media (tapes, CD's, videos, and the like). Content provided to the NMC 210 is compiled into a form suitable for distribution to, for example, the local distribution system 100, which distributes and displays the content at a local site.
The NMC 210 can digitize the received content and provide it to a Network Operations Center (NOC) 220 in the form of digitized data files 222. It will be noted that data files 222, although referred to in terms of digitized content, can also be streaming audio, streaming video, or other such information. The content compiled and received by the NMC 210 can include commercials, bumpers, graphics, audio and the like. All files are preferably named so that they are uniquely identifiable. More specifically, the NMC 210 creates distribution packs that are targeted to specific sites, such as store locations, and delivered to one or more stores on a scheduled or on-demand basis. The distribution packs, if used, contain content that is intended to either replace or enhance existing content already present on-site (unless the site's system is being initialized for the first time, in which case the packages delivered will form the basis of the site's initial content). Alternatively, the files may be compressed and transferred separately, or a streaming compression program of some type employed.
The NOC 220 communicates digitized data files 222 to, in this example, the content distribution system 100 at a commercial sales outlet 230 via a communications network 225. The communications network 225 can be implemented in any one of several technologies. For example, in one embodiment of the present invention, a satellite link can be used to distribute digitized data files 222 to the content distribution system 100 of the commercial sales outlet 230. This enables content to easily be distributed by broadcasting (or multicasting) the content to various locations. Alternatively, the Internet can be used to both distribute audiovisual content to and allow feedback from commercial sales outlet 230. Other ways of implementing communications network 225, such as using leased lines, a microwave network, or other such mechanisms can also be used in accordance with alternate embodiments of the present invention.
Referring back to
The server 110 of the content distribution system 100 receives content and can create various different content channels of text, audio, video and/or audio/video to be communicated to the various receivers throughout the store. That is, in one embodiment of the present invention, the server 110 receives content, as described above with respect to
That is in accordance with the Device Group Control Protocol, a receiver can be configured to belong to at least one group—itself—and can also belong to many other groups. As such, commands or requests can be targeted by group—which can contain one or a plurality of devices. Each device of a group will, as such, transmit and receive using the same broadcast or multicast channel. In various embodiments of the above described invention, devices can support being members of as many groups as desired. In addition, devices can be configured to be members of or not members of groups either by using the protocol or by external means, such as configuration files or other transactions such as (Simple Network Management Protocol) SNMP or web configuration pages. In addition, some applications of the above described invention find it highly desirable to also pre-configure group membership.
Referring back to
More specifically and as depicted in
As such, in accordance with the various embodiments of the present invention, a network switch of the present invention does not suffer from the inefficiencies of prior art techniques which employ Internet Group Management Protocol (IGMP) ‘sniffing’ or ‘snooping’ because such techniques enable a network switch to refrain from forwarding received multicast traffic to a port until it is positively determined that a device attached to that port is supposed to receive the multicast traffic. In such techniques, by monitoring the IGMP protocol, the network switch can determine when to begin forwarding the multicast traffic to a specific physical port. That is, in such techniques, the network switch waits for a port device to issue a command, such as an ‘IGMP’ join command, before forwarding received multicast traffic.
In contrast, a network switch of the present invention is able to determine for which receiver(s) or group(s) of receivers the content is intended by, in one embodiment, referring to a stored list of pre-established groups to which the receivers belong and comparing that stored information to information received, in one embodiment, with content received from the server 110, indicating for which group or groups of receivers the content is intended. That is, when information, such as a unique identifier for identifying a group or groups of receivers for which content is intended, is received by the network switch of the present invention, the network switch refers to stored information, in one embodiment stored in the DGCP device 117, regarding the configuration of the groups of receivers and which receivers belong to the specific groups identified by the unique group identifiers, and multicasts the content to the intended receivers or group(s) of receivers. In accordance with the DGCP protocol, the receivers of the groups, having been pre-established in specific groups, can examine received content and/or streams for the unique identifier of a group to which the receiver(s) belongs, to determine if the content is actually intended for it.
In addition, in various embodiments of the present invention, to improve the efficiency of multicasting of a network switch of the present invention, along with the stored information regarding which receivers belong to which groups, a network switch of the present invention can have associated with the unique group identifiers identifying the groups, information regarding on which ports the various receivers of the groups are connected to the network switch such that when a group and associated receivers are identified, the physical ports on which the receivers of an identified group are connected can also be quickly identified to increase the multicasting efficiency of the various described embodiments of a network switch of the present invention.
For example, suppose that in the content distribution system 100 of
Similarly, when a network switch of the present invention receives content intended for group ID2, identified by information communicated with the content, the network switch examines the information communicated with the content and determines that the content is intended for group ID2. Because the network switch contains information identifying which receivers belong to which groups, the network switch determines which receivers belong to group ID2 and, in the above described example, multicasts the content out of a physical port of the network switch on which the third set-top box and the fourth set-top box are connected.
Although the DGCP device 117 of
In an alternate embodiment of the present invention, in addition to having the capability of receiving and storing information regarding the configuration of the group(s) of receivers and which receivers belong to which group(s), a network switch of the present invention can also determine group information for configuring a specific receiver group or group(s) of receivers. More specifically, in one embodiment of the present invention, intended receivers of communicated content may not be previously pre-established or configured as groups. However, a network switch of the present invention, such as the network switch 115 of
In addition, in accordance with an embodiment of the present invention, the unique group identifier established by a network switch can have associated with the identifier the ports on which the intended receivers of that specific group are connected to the network switch, such that when content is intended for a group established by the network switch, the unique group identifier created by the network switch for that group can identify the ports on which the intended receivers of that specific group are connected to the network switch for more efficient multicasting. That is, a network switch would more quickly know on which ports to multicast received content once a group identifier has been identified.
For example, suppose that in the above described example the Fashion Department set-top boxes and Food Department set-top boxes do not comprise pre-established groups. When a network switch of the present invention receives content intended for the first and second set-top box of the Fashion Department on more than one occasion, which can occur because in various embodiments of retail advertising the same content is communicated to receivers based on location, a network switch of the present invention can establish a unique identifier for representing, for example, the first and second set-top boxes of the Fashion
Department as a group and the third and fourth set-top boxes of the Food Department as a different group having respective, unique identifiers. As such, when content is received by the network switch, intended for, for example, the first and second set-top boxes of the Fashion Department, the network switch multicasts the content out of a physical port of the network switch on which the first set-top box and the second set-top box are connected using the unique identifier established by the network switch for representing the Fashion Department receiver group, which can also identify the ports on which the intended receivers are connected for more efficient multicasting as described above.
Similarly, when content is received by the network switch, intended for, for example, the third and fourth set-top boxes of the Food Department, the network switch multicasts the content out of a physical port of the network switch on which the third set-top box and the fourth set-top box are connected using the unique identifier established by the network switch for representing the Food Department receiver group. Again, and as described above, the unique identifier for the group established by the network switch of the present invention can also identify the ports on which the intended receivers are connected for more efficient multicasting as described above.
In one specific embodiment of the present invention, a network switch (or switches) of the present invention can be configured to keep a list of set top box (STB) units and identifiers of a group or groups to which a STB belongs. When content is communicated to a network switch of the present invention intended for a specific group, the network switch can automatically modify a MAC table to forward the desired multicast traffic to all ports with a STB in that group. Such a configuration of the present invention eliminates the delays in waiting for an IGMP message and actually takes processing load off the network switch of the present invention, since the network switch only needs to respond to one command for multicasting the content to all of the STBs of the group instead of many commands to send the content to the individual STBs. Since the network switch can instantly begin forwarding packets to the group of STBs, the packets are much more likely to arrive at each individual STB at the same time, resulting in a tighter synchronization of content playback.
At step 604, the received information regarding for which group or groups of receivers the content is intended is compared with stored information regarding established receiver groups and which receivers belong to which groups for determining for which receivers the content is intended. For example, in one embodiment of the present invention in which groups of receivers and unique group identifiers are pre-established (e.g., DGCP), a network switch of the present invention can compare received information regarding for which group or groups of receivers content is intended (i.e., the network switch receives unique group identifiers indicating for which groups of receivers the content is intended) with stored information regarding which receivers belong to which pre-established groups for identifying which ports of the network switch to utilize to multicast the content to the intended receivers of the identified group(s).
In an alternate embodiment and as described above, a network switch of the present invention can establish groups of receivers and group identifiers for the locally established groups based on to which receiver(s) content is communicated. As such, content received in the future for the same group can use the established group identifiers for identifying which ports of the network switch to utilize to multicast the content to the intended receivers of the established group(s). The method 600 proceeds to step 606.
At step 606, content is communicated to the intended receivers which were identified using the unique group identifiers and stored receiver information list by, for example, multicasting the content out of the physical ports of the network switch on which member receiver(s) of the group(s) is/are connected. The method can then be exited.
Having described various embodiments for a method and apparatus for an improved network switch multicast functionality (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments of the invention disclosed which are within the scope and spirit of the invention as outlined by the appended claims. While the forgoing is directed to various embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof.
This application is related to U.S. Patent Provisional Application No. 60/921714, filed on Apr. 04, 2007 in the USPTO and International Patent Application serial no. PCT/US07/013949, filed on Jun. 13, 2007 in the PCT and claiming priority to the U.S. Patent Provisional Application No. 60/921714, both entitled “Device Group Control”, which are hereby incorporated by reference in their entireties.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2008/013875 | 12/19/2008 | WO | 00 | 6/1/2011 |