This invention relates generally to communications and, in particular, to managing the distribution of electronic content in communication systems.
With the evolution of communication systems having enhanced bandwidth capabilities, applications which require relatively large amounts of bandwidth become more feasible. Bandwidth-intensive applications include, for example, digital media services which can provide video information such as television programs or movies, audio programs, and information streams.
In multicast communication systems, multiple subscribers may be coupled to a single communication link that is coupled to a router. Through this communication link, electronic content in the form of program data streams or channels is distributed to end user communication devices. The Internet Group Management Protocol (IGMP) has been developed by the Internet Engineering Task Force (IETF) as a standard for communications between a router and subscribers, which are also often referred to as hosts. Communications between a router and hosts coupled to a particular communication link are accomplished using point-to-multipoint multicast transmissions. IETF specifications RFC-1112 “Host Extensions for IP Multicasting” and RFC-2236 “Internet Group Management Protocol, Version 2”, for example, describe one version of IGMP in detail.
Each of the hosts coupled to a router determines which electronic content, associated with multicast groups or channels, it actively receives. A host is generally considered to be actively receiving electronic content when it is receiving particular electronic content which it has been configured or set to receive and use. Although other electronic content might be transmitted to and received by a host, it is possible that the host is not actively receiving all of the electronic content which it receives. For example, a television signal receiver which is set to channel 1 might also receive channel 2, but is actively receiving only channel 1.
When a communication link from the router is shared by multiple hosts, bandwidth limitations on the communication link can require intelligent management of multicast connections provided via the communication link for transmission of electronic content. If a number of users communicate on a single communication link and bandwidth constraints allow a limited number of multicast connections to be supported over the communication link for instance, the actual usage of multicast connections on the link should be monitored. Monitoring of multicast connections in this manner can ensure that bandwidth is not wasted on multicast connections carrying electronic content which no hosts are actively receiving or using.
According to IGMP, a host changes the particular electronic content being received by first sending a Group Leave request to the router to terminate transmission of electronic content associated with a current multicast group and then sending a Group Join request to initiate transmission of new electronic content associated with another multicast group. Termination and initiation of electronic content transmission is also commonly referred to termination and establishment, respectively, of multicast group connections.
In bandwidth-limited environments, it is possible that a new multicast connection would require the termination of an existing connection. Thus, if a Group Leave request sent by a host is not received by a router, a subsequent Group Join request sent by the host might not be successful. In this situation, a host may continue to receive electronic content for a current multicast group, despite the fact that a Group Join request for a new multicast group has been sent to the router. Even if a user attempts several channel changes on a set top video receiver for instance, a channel change might not actually occur until a Group Leave request for the original multicast group is properly received and processed by the router. Lost Group Join requests may cause similar problems, with the possible exception that a host receives no content if a Group Leave request is received but a subsequent Group Join message is lost.
Several techniques have been proposed to address the issue of lost Group Leave or Group Join requests. In conventional IGMP, for example, a General Membership Query (GMQ) is sent to all hosts by a router at a predetermined interval, typically 125 seconds. Each host responds to a GMQ with a membership report indicating for which multicast group(s) the host is to receive electronic content. Where sufficient bandwidth is available, transmission of electronic content to a host in accordance with a membership report may be initiated, thereby restoring service to a host from which a Group Leave and/or Group Join request had been lost. However, conventional IGMP does not support the termination of a current multicast connection by a router in the event of a discrepancy between a membership report and group membership records and therefore does not provide a solution to the above service problem associated with a lost Group Leave request when available resources cannot support a new multicast connection.
U.S. patent application Ser. No. 10/310,910, published on Jun. 10, 2004 as US 2004/0111470, entitled “FAST SERVICE RESTORATION FOR LOST IGMP LEAVE REQUESTS”, and incorporated in its entirety herein by reference, discloses a technique whereby a lost Group Leave request is inferred by comparing Group Join messages received from a host. When it is determined that a Group Leave request from a host was lost, a Group Specific Query (GSQ) for the multicast group to which the lost Group Leave request related is transmitted on a communication link on which the host operates. Each host which is operating on the communication link and actively receiving electronic content for the multicast group responds to the GSQ. In the absence of any responses to a GSQ, a multicast connection on the communication link associated with the multicast group is terminated. Although termination of the multicast connection may free sufficient resources to establish a new multicast connection, transmission of desired electronic content is not initiated unless either a new Group Join request or a membership report in response to a GMQ is received.
These connection management techniques may entail unacceptable delays in initiating transmission of electronic content to hosts in limited-resource multicast systems. Where lost request issues are not resolved until a membership report is received in response to a GMQ, for example, the 125 second delay may be unacceptable. One further approach intended to reduce delays is the reduction of the time interval between GMQs. Considering that a GMQ involves transmitting messages to and from every host and processing membership reports from every host at a router, this approach would significantly increase both communication traffic in a communication system and processing load at a router.
Although the foregoing description relates primarily to multicast communications, similar problems may also arise in other types of communication systems.
There remains a general need for more robust and efficient methods and systems for management of electronic content distribution and communication system connections over which electronic content is transmitted.
In multicast systems, for instance, it may be desirable to offer connection management techniques which quickly and automatically resolve resource limitations to provide an end user with a newly selected channel or electronic content. These techniques thereby reduce the effects of lost Group Leave requests on an end user when making a selection of a new channel or electronic content.
According to one broad aspect of the invention, there is provided a method of managing electronic content distribution in a communication system. The method includes receiving from a communication device configured for communication on a communication link in the communication system a request for transmission of electronic content to the communication device on the communication link, and determining whether further electronic content being transmitted on the communication link precludes transmission of the electronic content to the communication device on the communication link. If termination of transmission of the further electronic content on the communication link is detected, an electronic content query is transmitted to the communication device. Transmission of electronic content specified in a response to the electronic content query is initiated after the response is received from the communication device.
In one embodiment, the communication link is a digital subscriber line (DSL), and the request, the electronic content query, and the response comprise Internet Group Management Protocol (IGMP) messages.
The operation of determining may involve determining whether transmission of the electronic content on the communication link would exceed available communication resources, such as bandwidth, on the communication link.
Transmission of the electronic content query may be controlled on the basis of a flag which is set when the further electronic content being transmitted on the communication link precludes transmission of the electronic content to the communication device on the communication link. The flag is set responsive to the determination, and checked when termination of transmission of the further electronic content is detected.
In some embodiments, a determination is made as to whether transmission of the further electronic content on the communication link can be terminated, and if so, transmission of the further electronic content on the communication link is terminated. For example, the transmission of the further electronic content can be terminated if the communication device from which the request was received previously requested transmission of the further electronic content and no communication devices configured for operation on the communication link wish to receive the further electronic content. One mechanism for determining whether any communication devices wish to receive the further electronic content involves transmitting a specific query for the further electronic content to all communication devices configured for communication on the communication link. If no responses to the specific query are received, then transmission of the further electronic content on the communication link can be terminated.
A system for managing distribution of electronic content in a communication system is also provided. The system receives from a communication device configured for communication on a communication link in the communication system a request for transmission of electronic content to the communication device on the communication link, determines whether further electronic content being transmitted on the communication link precludes transmission of the electronic content to the communication device on the communication link, detects a termination of transmission of the further electronic content on the communication link where the further electronic content being transmitted on the communication link precludes transmission of the electronic content to the communication device on the communication link, transmits an electronic content query to the communication device responsive to the detecting, and initiates transmission of electronic content specified in a response to the electronic content query received from the communication device. The system may also perform further electronic content distribution management functions.
In some embodiments, the system includes a transceiver and a processor. The transceiver performs the receiving and transmitting functions, and the processor is configured, by software for instance, to perform one or more of the functions of determining, detecting, and initiating. The system may also include a controllable switching element for switching electronic content for transmission on the communication link.
According to another aspect of the invention, a method of managing connections in a communication system is provided, and includes receiving from a communication device a request to establish a connection for transmission of electronic content, identifying an existing connection for transmission of further electronic content to the communication device, detecting termination of the existing connection, transmitting an electronic content query to the communication device responsive to the detecting, and establishing a connection for transmission of electronic content specified in a response to the electronic content query which is received from the communication device.
The method may also involve determining whether bandwidth currently available on a communication link on which the communication device is configured to communicate is sufficient for the connection, and if so, establishing the connection. In this case, the electronic content query is transmitted to the communication device only if the bandwidth currently available is insufficient for the connection. Termination of the existing connection may also be initiated if the bandwidth currently available is insufficient for the connection.
A connection management system for a communication system is also provided. The connection management system receives from a communication device a request to establish a connection for transmission of electronic content, identifies an existing connection for transmission of further electronic content to the communication device, detects termination of the existing connection, transmits an electronic content query to the communication device responsive to the detecting, and establishes a connection for transmission of electronic content specified in a response to the electronic content query which is received from the communication device.
The connection management system may also perform further functions, and may include a transceiver, a processor, and a controllable switching element, among other components.
Another aspect of the invention provides a machine-readable medium storing a data structure. The data structure includes a record including an identifier of electronic content and an identifier of a communication device to which the electronic content is to be transmitted, and a flag associated with the record indicating whether a query is to be transmitted to the communication device upon termination of transmission of the electronic content to the communication device.
In one embodiment, the electronic content is multicast group electronic content associated with a multicast group, and the identifier of electronic content is an identifier of the multicast group.
If the electronic content is to be transmitted to a plurality of communication devices, then the record may include an identifier of each of a plurality of communication devices. According to a further embodiment, the data structure includes a respective record for each of the plurality of communication devices and a respective flag associated with each of the records.
Other aspects and features of embodiments of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific illustrative embodiments of the invention.
Examples of embodiments of the invention will now be described in greater detail with reference to the accompanying drawings, in which:
The communication devices 10, 12 are configured for communication with the network element 14 and thus the communication network 16 over the shared communication link 15. In one embodiment, the communication devices 10, 12 are video receivers, also often referred to as set top boxes.
In general, as those skilled in the art will appreciate, the communication devices 10, 12 may include transceivers compatible with the communication link 15, processors which execute communication software and typically operating system software and software applications, memory devices for storing software, configuration parameters, and possibly other information, and user interfaces for receiving inputs from and/or providing outputs to users. In the case of a set top box, user interfaces often include an infrared (IR) or radio frequency (RF) receiver for receiving control signals from a user-operated remote control device and manual control keys mounted on the device, with received video signals being processed and output to an external monitor.
Although represented in
It should also be appreciated that the communication link 15 may include intermediate components or systems (not shown), illustratively at customer premises where the communication devices 10, 12 are located, to support interoperability between different types of transceiver and different protocols implemented at the communication devices 10, 12 and the network element 14. Thus, the communication link 15 may include a direct or indirect communication path between the communication devices 10, 12 and the network element 14.
The network element 14, like the communication devices 10, 12, is configured for communication over the communication link 15 and may include a transceiver which is compatible with the communication link 15. In some embodiments, the network element 14 includes the same type of transceiver as the communication devices 10, 12.
For communication with the content provider(s) 18 through the communication network 16, the network element 14 may include a further transceiver. However, it is also contemplated that a single transceiver may be used for communications on the communication link 15 and through the communication network 16, with any format or protocol conversions, if necessary, being performed by a processor and appropriate software in the network element 14.
An illustrative example of the network element 14 is described in further detail below with reference to
Each content provider 18 represents a system operated by a provider of electronic content. Electronic content may include, for example, video content, audio content, and information content such as program guides which contain information on currently available content. A content provider 18 may generate, store, or both generate and store electronic content. Through the network element 14, the one or more content providers 18 provide electronic content to the communication devices 10, 12.
In operation, requests for transmission of particular electronic content, illustratively a specific television channel or multicast content, are transmitted from the communication devices 10, 12 to the network element 14. The electronic content is requested if necessary and received from the content provider(s) 18 by the network element 14 and then transmitted to the communication devices 10, 12. The transmission of electronic content to the communication devices 10, 12 is represented in
Communication resources available for transmission of electronic content to the communication devices 10, 12 may be limited by such factors as the bandwidth of the communication link 15, the type of equipment installed at the network element 14 or the communication devices 10, 12, and the capacity of virtual circuits or paths through which the communication link 15 is established. In communication systems having limited resources, efficient connection management may be particularly important. For example, if the communication devices 10, 12 are set top boxes in a subscriber's home and the communication link 15 is able to simultaneously carry electronic content for up to two multicast television channels, then the multicast connections 11, 13 must be managed efficiently in order to free resources for re-use in transmission of other television channels, in the event of a channel change at one of the set top boxes for instance. Even in communication systems with less constrained resources, conservation of resources through efficient connection management may be desirable.
The method begins at 20 with an operation of receiving, from a communication device, a request for transmission of electronic content on a communication link. The request may be an explicit request for transmission of electronic content, such as an IGMP Group Join request. Other types of information may also be interpreted as a request for electronic content. For instance, a membership report for a communication device which is not consistent with membership records maintained at a network element may imply that a previous request was not properly received or processed and be interpreted as a request for electronic content.
A determination is then made at 22 as to whether other electronic content being transmitted on the communication link precludes transmission of the requested electronic content to the communication device. In some embodiments, the determining operation at 22 may involve determining whether transmission of the electronic content on the communication link would exceed communication resources which are currently available on the communication link. The communication resource which might most often limit whether requested electronic content may be transmitted is the bandwidth of the communication link.
In a communication system with plenty of bandwidth, for example, there may be sufficient bandwidth available on the communication link to initiate transmission of the requested electronic content at 24. However, where bandwidth or other communication resources are limited, it might not be possible to transmit the requested electronic content until transmission of some other content has been terminated. With reference to
At 26, termination of transmission of other electronic content, illustratively electronic content which is being transmitted but no longer actively received by a communication device, is detected. Responsive to this detection, an electronic content query is transmitted at 28 to the communication device from which the request was received at 20, and possibly other communication devices. The electronic query is intended to elicit a response from the communication device indicating the electronic content that should now be sent to the communication device. In response to an IGMP GMQ, for example, each host responds with a membership report indicating all multicast transmissions which the host is set to actively receive. An IGMP GMQ thus represents one illustrative example of an electronic content query.
Transmission of the electronic content which is specified in a subsequently received response to the electronic content query is initiated at 29. The electronic content which is transmitted at 29 may or may not be the electronic content which was originally requested. In a multicast television system, for example, there may be some delay between making a channel change and receiving a new channel, especially if a Group Leave request is lost. If a user patiently awaits receipt of the new channel, then the response to the electronic content query received at 28 would specify the same electronic content as the original request received at 20. An impatient user, however, may attempt one or more channel changes before the electronic content query is transmitted at 28, and therefore the response may specify different electronic content. Thus, it should be appreciated that the electronic content for which transmission is eventually initiated at 29 may or may not be the electronic content which was originally requested.
It should also be appreciated that the method of
The operation at 28, for example, may be dependent upon other conditions than the termination of transmission of electronic content. According to one embodiment, a flag is set if it is determined at 22 that the transmission of other electronic content on the communication link precludes transmission of requested electronic content. The electronic content query is then transmitted at 28 only if the flag has been set. Embodiments in which a flag is used to trigger transmission of an electronic content query may also include an operation to reset the flag after the electronic content query has been transmitted or transmission of electronic content has been initiated.
Although the method as shown in
An IGMP GSQ is one example of a specific query which is suitable for this purpose. In response to a GSQ for a particular multicast group, a communication device either responds, indicating that the communication device is actively receiving electronic content associated with the multicast group, or does not respond. In the absence of a response to a GSQ from a communication device within a predetermined response time period, it is assumed that the communication device is not actively receiving electronic content associated with the multicast group being queried.
Methods according to embodiments of the invention may be implemented, for example, to manage distribution of electronic content by managing communication system connections. When a request to establish a connection for transmission of electronic content is received from a communication device, an existing connection for transmission of other electronic content to the communication device is identified. If termination of the existing connection is detected, an electronic content query is transmitted to the communication device, and possibly also to other communication devices. A connection for transmission of electronic content specified in a response to the electronic content query which is received from the communication device is then established, to thereby initiate transmission of electronic content.
A communication device may specify all electronic content which the communication device is set to actively receive, in the form of multicast group identifiers for instance. A multicast connection for a multicast group or possibly more than one group specified in the response may thus be established. As a response to the query may include an indication of multicast groups for which multicast connections already exist, it may be desirable to first identify and then establish multicast connections only for those multicast groups in the response for which multicast connections do not exist.
When sufficient communication resources are available, a requested connection may be established before the existing connection is terminated. Termination of the existing connection may be initiated if sufficient communication resources are not available to establish the requested connection. Before the existing connection is terminated, however, a specific query may be transmitted. As described above, the existing connection may be terminated in the absence of any responses to the specific query. In one embodiment, two specific queries are transmitted on a communication link before a connection is terminated.
For illustrative purposes, it is assumed that the communication link over which the communication devices 10, 12 and the network element 14 communicate is able to support only up to two multicast connections, illustratively television channels, at any time.
As shown at 30 and 32, respective Group Join requests are sent from the communication devices 10, 12, set top boxes in this example, for specific multicast channels 1 and 2. At a later time, a Group Leave request 34 is sent by the communication device 10, when the end user of communication device 10 no longer wishes to view channel 1 and performs a channel change to channel 3. As shown at 36, the Group Leave request 34 is lost before it reaches the network element 14. The loss of the Group Leave request 34 at 36 may be due to a communication traffic overload control technique which discards packets, for instance. Those skilled in the art will appreciate that there may be other causes for the loss of the Group Leave request 34 at 36.
A further Group Join request 38 is sent by the communication device 10 for the new multicast channel 3 and is received by the network element 14. The network element 14, however, has no record of the lost Group Leave request 34. Since the communication link in this example can support only up to two multicast connections and the multicast connection for channel 1 is still active, the network element 14 cannot grant the Group Join request 38.
In accordance with the teachings of U.S. Patent Application Publication No. 2004/0111470, referenced above, the network element 14 monitors identifiers of communication devices which request to receive multicasts and detects a matching identifier in the Group Join requests 30, 38. This triggers a Lost Leave recovery procedure in which a GSQ 40 for the multicast group associated with channel 1 is sent by the network element 14. Although only a single GSQ 40 is shown in
At the end of the response time period 42, the multicast connection for channel 1 has been cleared. Unless the communication device 10 automatically repeats its desired channel selection, and not all devices will do this, the end user will be left without multicast service until another channel selection is made or a GMQ is performed, which as described above is typically every 125 seconds.
According to an aspect of the invention, a GMQ 44 is triggered responsive to termination of the multicast connection for channel 1 after the response time period 42. In response to the GMQ 44, the communication devices 10, 12 provide updates to the network element 14, in the form of membership reports 46, on the multicast groups for which the communication devices are set to actively receive electronic content. Whereas a GMQ usually sets a response time period of 10 seconds, a GMQ with a lower response time period such as one second could be used in order to get a quicker response.
In the example shown in
In an alternative embodiment, a flag is set to trigger a GMQ following a Lost Leave recovery procedure when a requested connection for a communication device is not successful due to a bandwidth limitation, for example. In the example of
In the case where the communication link between the network element 14 and the communication devices 10, 12 can support connections for channels 1, 2, and 3, then the Lost Leave recovery procedure may still be triggered when the Group Join request 38 for channel 3 is received. However, the Group Join request 38 will be fulfilled and therefore the flag is preferably not set. The GMQ 44 is preferably not immediately sent because the communication devices 10, 12 are receiving their requested multicasts.
Methods in accordance with embodiments of the invention have been described in detail above.
The transceiver 54 enables the network element 14 for communication with both communication devices and electronic content providers, which may operate in the same communication network or in different communication networks. If the communication devices and electronic content providers operate in different communication networks, then multiple transceivers may be provided, and any interoperability functions may be handled by the processor 50 and software stored in the memory 58. Any of many different types of transceiver 54 may be implemented in the network element 14.
The switch 56 is a switching element which is controllable by the processor 50 to cross-connect electronic content received from electronic content providers to one or more multicast connections established through the transceiver 54. Although shown as separate components in
The memory 58 represents a local memory device, and may include, for example, any of solid state memory devices, disk drives, and other memory devices adapted to operate with fixed or removable memory media. As described in further detail below, the memory 58 may be used to store membership records and flags, in addition to software and possibly other information.
The processor 50 may be a microprocessor which executes software stored in the memory 58, for example. The processor 50 may instead be implemented as a microcontroller, an ASIC, or other processing element. Embodiments of the invention may be implemented using either dedicated components or components which also perform other functions. For example, the processor 58 may execute operating system software and software applications to support functions other than those disclosed herein.
In the network element of
The network element 14 as shown in
The data structure of
The identifiers in the field 60 may be multicast group or channel identifiers, as shown. In one embodiment, the communication device identifiers in the field 62 are MAC addresses. A flag in the field 64 may be a single bit, for example, which is set high or low depending on whether a query is to be transmitted upon termination of a multicast connection associated with the group and reset after a query has been transmitted.
A network element which manages the distribution of electronic content updates the data structure as requests to initiate and stop transmission of electronic content are received. The entries in the data fields 60, 62, 64 as shown in
The effect of the flag in the field 64 will be apparent from the foregoing description. If a flag is set for a particular record, then termination of a multicast connection or transmission of electronic content associated with the record also triggers transmission of a query, illustratively a GMQ, on a communication link which is affected by the termination.
Embodiments of the present invention are not limited to the particular layout of the data structure shown in
The records might also be indexed by communication device identifier instead of by group or channel identifier. In this case, a single record for a communication device may include identifiers of all multicast groups to which it belongs or a record may be created for each multicast connection established for the communication device.
Although embodiments of the invention have been described above primarily with reference to electronic content transmission and multicast connections over a single communication link, it should be appreciated that a network element may service many communication links. For this type of network element, a data structure which includes a further data field for communication link identifiers or alternatively separate per-communication link records may be preferred.
Efficient communication system connection and resource management techniques in accordance with embodiments of the invention have been described. Responsiveness to control functions, which may be improved by embodiments of the invention, is important to an end user's satisfaction with any service. Therefore, improving the robustness and response time of these controls as disclosed herein may be important to service providers and vendors of equipment that provides services.
What has been described is merely illustrative of the application of the principles of the invention. Other arrangements and methods can be implemented by those skilled in the art without departing from the scope of the present invention.
For example, although described primarily in the context of methods and systems, other implementations of the invention are also contemplated, as instructions stored on a machine-readable medium for example.