US7672325B2 - Method and apparatus for improved IGMP group membership messaging - Google Patents

Method and apparatus for improved IGMP group membership messaging Download PDF

Info

Publication number
US7672325B2
US7672325B2 US11/604,724 US60472406A US7672325B2 US 7672325 B2 US7672325 B2 US 7672325B2 US 60472406 A US60472406 A US 60472406A US 7672325 B2 US7672325 B2 US 7672325B2
Authority
US
United States
Prior art keywords
records
max
igmpv3
host
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US11/604,724
Other versions
US20080123644A1 (en
Inventor
Charles Michael Storry
Frank Desseyn
Robert W. MacIntosh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Priority to US11/604,724 priority Critical patent/US7672325B2/en
Assigned to ALCATEL reassignment ALCATEL ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MACINTOSH, ROBERT W., STORRY, CHARLES MICHAEL, DESSEYN, FRANK
Publication of US20080123644A1 publication Critical patent/US20080123644A1/en
Assigned to ALCATEL LUCENT reassignment ALCATEL LUCENT CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ALCATEL
Application granted granted Critical
Publication of US7672325B2 publication Critical patent/US7672325B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV

Definitions

  • the present invention relates in general to maintenance messaging required for the provision of Internet Protocol (IP) multicast services, and in particular to the provision of IP multicast service using Internet Group Membership Protocol version 3 (IGMPv3) with improved group membership messaging.
  • IP Internet Protocol
  • IGMPv3 Internet Group Membership Protocol version 3
  • IP multicast services has become increasingly important, especially in view of recent advances in the distribution of television signals over IP networks.
  • IGMP Internet Group Membership Protocol
  • IPTV IP television
  • FIG. 1 is a schematic diagram of an exemplary distribution network for providing IPTV service to service subscribers.
  • a video head end receiver 10 receives a plurality of television signals associated with different television channels 12 - 16 .
  • a copy of each television signal is fed to a broadband service router (BSR) 18 using, for example, a statically configured link.
  • BSR 18 in turn sends one copy of each signal to a Broadband Service Aggregator (BSA) 20 .
  • BSA Broadband Service Aggregator
  • each channel that is being consumed by a subscriber served by an access node such as a digital subscriber line access multiplexer (DSLAM) 22 a - 22 c , as indicated by IGMPv3 group membership messages (joins) sent from the DSLAMs 22 a - 22 c to the BSA 20 .
  • consumed channels may be delivered directly to a DSLAM 22 d .
  • the DSLAMs 22 a - 22 d receive IMGP group membership messages (joins) from subscriber premises residential gateways (RGs) 24 a - 24 g or directly via a modem with a bridging function (not shown) from subscriber premises set top boxes (STBs) 26 d and 26 f .
  • RGs subscriber premises residential gateways
  • STBs subscriber premises set top boxes
  • the STBs 26 act as IGMP hosts.
  • a RG 24 a - 24 g When a RG 24 a - 24 g operates in routed mode, it supports an IGMP proxy function that acts as an IGMP router towards the STBs 26 a - 26 c and 26 e , and as an IGMP host towards the DSLAMs 22 a , 22 c and 22 d .
  • Each television signal (channel) is associated with a multicast group distributed on demand by the DSLAMs 22 to the RGs 24 a - 24 g and/or the STBs 26 d , 26 f .
  • the IGMP join messages indicate the IP multicast group(s) that the RGs 24 and/or the STBs 26 d , 26 f wish to join in response to commands input by IPTV viewers or automated STB functions.
  • the number of multicast streams supported by distribution equipment must be increased throughout the network. This is due to an increase in the number of channels being offered in IPTV networks, and by an increase in an average number of streams being consumed per STB, particularly since the introduction of IPTV mosaic features.
  • FIG. 2 is a schematic diagram of the format of an IGMPv3 Membership Query message.
  • Membership Queries are sent by IP multicast routers to query the multicast reception state of neighboring interfaces.
  • the Type field 102 identifies the message as a membership query message.
  • a Checksum 106 is a 16-bit one's complement of the one's complement sum of the whole IGMP message (the entire IP payload).
  • a Group Address field 108 is set to zero when sending a General Membership Query.
  • a Resv (reserved) field 110 is set to zero on transmission, and ignored on reception.
  • An “S” Flag (Suppress Router-Side Processing) field 111 if set to ‘1’ indicates to any receiving multicast routers that they are to suppress the normal timer updates they perform upon hearing a Query. If non-zero, a QRV field 112 contains the [Robustness Variable] value used by the querier, i.e., the sender of the Query.
  • a Querier's Query Interval Code (QQIC) field 114 specifies a [Query Interval] used by the querier.
  • a Number of Sources (N) field 116 specifies how many source addresses are present in the Query. This number is zero in a General Query or a Group-Specific Query, and non-zero in a Group-and-Source-Specific Query.
  • the Source Address fields 118 are a vector of n IP unicast addresses, where n is a value in the Number of Sources (N) field 116 .
  • the query response interval coding (Max Resp Code 104 ) now allows for a larger range of values than permitted in IGMPv2 (maximum of 25 seconds).
  • the query response interval should be less than the query interval.
  • the new Max Resp Code 104 supports values up to, and even greater than, the 125 second default query interval.
  • a lengthened query response interval (up to the query interval) can be used to help distribute membership report message processing loads.
  • IGMPv3 recommends that membership report messages include multiple current-state Group Records up to maximum message size. This IGMPv3 record aggregation feature is helpful in expediting the join and leave processing using unsolicited membership reports when an event affects multiple groups simultaneously, eg. grid-guide scrolling. For General Membership Queries, however, while this aggregated IGMPv3 group solicited report reduces overall message load compared to IGMPv2, it can result in non-deterministic behavior resulting in bursty and lengthy message processing conditions when a large number of current-state Group Records are included in a single solicited IGMPv3 membership report.
  • RFC 3376 clearly states that a system must maintain a timer per interface for scheduling responses to a general membership query (GMQ). The RFC also indicates that this timer should assume a random value between 0 and a maximum response time derived from the Max Resp Code 104 . RFC 3376 also specifies that multiple state records be packed into report messages to the extent possible (MTU limits restrict the maximum number of groups that may be reported in a single message). Therefore, upon expiry of the timer, a membership report message is sent that contains a current state record for each multicast address for which the host has a reception state (each multicast group that the host believes it has joined).
  • GMQ general membership query
  • RFC 3376 fails to provide an algorithm for accomplishing the message spreading.
  • the invention therefore provides a method for distributing an Internet Group Membership Protocol version 3 (IGMPv3) General Membership Query (GMQ) Report message processing load, comprising: provisioning an IGMPv3 host to compute a number of timers required to govern responses to a received GMQ by computing a number of current-state Group Records to be reported by a max_records number derived from a ⁇ max_records> variable made available to the IGMPv3 host; provisioning the IGMPv3 host to start the required number of timers by assigning each timer a random interval; and provisioning the IGMPv3 host to send a Report message each time a one of the timers expires, the Report message containing up to the max_records number of the current-state Group Records.
  • IGMPv3 Internet Group Membership Protocol version 3
  • GMQ General Membership Query
  • the invention further provides an Internet Group Membership Protocol version 3 (IGMPv3) host, comprising: program instructions that decode a ⁇ max_records> variable to derive a max_records number; program instructions that compute a number of General Membership Query (GMQ) response timers using a number of current-state Group Records to be reported divided by the max_records number; program instructions that start the computed number of response timers and assign each timer a random interval; and program instructions for inserting the max_records number of current-state Group Records into a Report message each time a one of the timers expires.
  • IGMPv3 Internet Group Membership Protocol version 3
  • the invention yet further provides an Internet Group Membership Protocol version 3 (IGMPv3) Digital Subscriber Access Multiplexer (DSLAM) for serving a plurality of IGMPv3 hosts through a plurality of interfaces, comprising program instructions that insert a ⁇ max_records> variable into each General Membership Query (GMQ) sent through each interface.
  • IGMPv3 Internet Group Membership Protocol version 3
  • DSLAM Digital Subscriber Access Multiplexer
  • FIG. 1 is a schematic diagram of a prior art network configuration for providing IPTV service to service subscribers;
  • FIG. 2 is a schematic diagram of a prior art IGMPv3 membership Query Message
  • FIG. 3 is a flow chart illustrating a method in accordance with the invention.
  • FIG. 4 is a flow chart illustrating another embodiment of the method in accordance with the invention.
  • the invention provides a method and apparatus for distributing a processing load required to process membership Report messages responsive to General Membership Queries (GMQ) issued by a proxy/router using IGMPv3 for multicast stream control.
  • GMQ General Membership Queries
  • variable ⁇ max_records> is added to control the number of current-state Group Records inserted in each solicited Report message.
  • the variable ⁇ max_records> may be manually provisioned in any IGMPv3 host, or may be dynamically assigned by a proxy/router which embeds the variable in the GMQs.
  • the number of current-state Group Records to be reported is divided by a max_records number derived from the ⁇ max_records> variable, to determine the number of timers needed to control the required Report messages.
  • the required number of timers is started, each being assigned a random value between 0 and max_response_time.
  • a Report message containing up to the max_records number of current-state Group Records is sent to the proxy/router. This ensures that the Report message processing load is distributed at the proxy/router.
  • FIG. 3 is a flow chart illustrating the method in accordance with a first embodiment of the invention.
  • an IGMPv3 host receives a GMQ ( 206 ) it determines how many current-state Group Records are to be reported ( 208 ).
  • the host executes program instructions that compute a number of timers needed for membership Report(s) required to respond to the GMQ.
  • the program instructions divide the number of current-state Group Records by a max_records number derived from a provisioned variable ⁇ max_records> to compute a number of timers “n” ( 210 ).
  • n is not an integer
  • “n” is rounded up to the nearest integer.
  • the host then starts the “n” random timers ( 212 ). Alternatively, “n” random counters may be used for the same purpose.
  • the IGMPv3 host then monitors the timers to determine when one of the timers has expired ( 214 ). When one of the timers has expired, the IGMPv3 host sends a Report message containing up to max_records current-state Group Records ( 216 ). The IGMPv3 host then determines whether all current-state Group Records have been reported ( 218 ). If it is determined that all of the current-state Group Records have not been reported, the process returns to 214 . Otherwise, the process returns to 206 .
  • the ⁇ max_records> variable may be provisioned by a manufacturer of the host, or provisioned by an installer or by network management personnel.
  • the ⁇ max_records> variable may be stored in a memory as a binary, or floating point number, or as a code that is converted to the max_records number using an algorithm, a look-up table, or the like.
  • Other encoding/decoding algorithms as described below in more detail with reference to FIG. 4 can also be used.
  • FIG. 4 is a flow chart illustrating another embodiment of the method in accordance with the invention.
  • the IGMPv3 host examines the GMQ and extracts the variable ⁇ max_records> embedded in the GMQ by the proxy/router that sent the GMQ.
  • the variable ⁇ max_records> is stored in the Resv field 110 (see FIG. 2 ) of the GMQ.
  • the Resv field 110 is 4 bits long. It can therefore be populated with a binary value in the range of 0-15 that is decoded in accordance with an algorithm for deriving the max_records number from the ⁇ max_records> variable.
  • a value of “0” means no limit on the number of current-state Group Records that can be sent in a single Report message (i.e. the default behavior in accordance with RFC 3376).
  • the four-bit Resv field 110 could be stored as a binary number having the values 0-15, and the decoded value of the field used to indicate the max_records number of current-state Group Records that are permitted to be inserted in any Report message.
  • a value of “0000” indicates the RFC 3376 standard, i.e. no limit up to maximum message size.
  • the max_records number is derived from the ⁇ max_records> variable ( 254 ) using an algorithm, such as one of the algorithms described above.
  • the IGMPv3 host determines how many current-state Group Records are to be reported ( 256 ).
  • a variable “n” is computed by dividing the number of current-state Group Records by the max_records number ( 258 ).
  • the IGMPv3 host starts the “n” random timers ( 260 ) and monitors the timers to determine when one of the timers has expired.
  • the IGMPv3 host When a timer expires ( 262 ), the IGMPv3 host sends a Report message with up to max_number of current-state Group Records in the Report message ( 264 ). The IGMPv3 host then determines if all current-state Group Records have been reported ( 266 ). If not, the IGMPv3 host returns to monitoring the timers ( 262 ). Otherwise, the IGMPv3 host returns ( 250 ) to await receipt of another GMQ.
  • an IGMPv3 proxy/router (DSLAM 22 or RG 24 ) can be provisioned with a ⁇ max_records> variable per interface.
  • the IGMPv3 router may be provisioned with an algorithm for dynamically assigning a ⁇ max_records> variable to each interface based on current processing load, time of day, or any other appropriate criteria.

Abstract

A method and apparatus for controlling a Report message processing load at an IGMPv3 proxy/router. A <max_records> variable governs a number of current-state Group Records that can be sent in an IGMPv3 Report message in response to a General Membership Query (GMQ). The <max_records> variable may be provisioned in IGMPv3 hosts, or dynamically provided by the IGMPv3 proxy/routers, which embed the <max_records> variable in the GMQs.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This is the first application filed for the present invention.
MICROFICHE APPENDIX
Not Applicable.
TECHNICAL FIELD
The present invention relates in general to maintenance messaging required for the provision of Internet Protocol (IP) multicast services, and in particular to the provision of IP multicast service using Internet Group Membership Protocol version 3 (IGMPv3) with improved group membership messaging.
BACKGROUND OF THE INVENTION
The provision of IP multicast services has become increasingly important, especially in view of recent advances in the distribution of television signals over IP networks.
The group membership reporting functions and messages required for the provision of IP multicast services is governed by the Internet Group Membership Protocol (IGMP) standard. A new version of the standard (Version 3) described in RFC 3376 is currently being implemented. IGMPv3 can be used to provide IP television (IPTV) enhanced services.
FIG. 1 is a schematic diagram of an exemplary distribution network for providing IPTV service to service subscribers. A video head end receiver 10 receives a plurality of television signals associated with different television channels 12-16. A copy of each television signal is fed to a broadband service router (BSR) 18 using, for example, a statically configured link. The BSR 18 in turn sends one copy of each signal to a Broadband Service Aggregator (BSA) 20. Copies of each channel that is being consumed by a subscriber served by an access node, such as a digital subscriber line access multiplexer (DSLAM) 22 a-22 c, as indicated by IGMPv3 group membership messages (joins) sent from the DSLAMs 22 a-22 c to the BSA 20. Alternatively, consumed channels may be delivered directly to a DSLAM 22 d. The DSLAMs 22 a-22 d receive IMGP group membership messages (joins) from subscriber premises residential gateways (RGs) 24 a-24 g or directly via a modem with a bridging function (not shown) from subscriber premises set top boxes (STBs) 26 d and 26 f. As will be understood by those skilled in the art, only a few residential gateways 24 and a few set top boxes 26 are shown for clarity.
The STBs 26 act as IGMP hosts. When a RG 24 a-24 g operates in routed mode, it supports an IGMP proxy function that acts as an IGMP router towards the STBs 26 a-26 c and 26 e, and as an IGMP host towards the DSLAMs 22 a, 22 c and 22 d. Each television signal (channel) is associated with a multicast group distributed on demand by the DSLAMs 22 to the RGs 24 a-24 g and/or the STBs 26 d, 26 f. The IGMP join messages indicate the IP multicast group(s) that the RGs 24 and/or the STBs 26 d, 26 f wish to join in response to commands input by IPTV viewers or automated STB functions.
As part of the evolution of IPTV services, the number of multicast streams supported by distribution equipment must be increased throughout the network. This is due to an increase in the number of channels being offered in IPTV networks, and by an increase in an average number of streams being consumed per STB, particularly since the introduction of IPTV mosaic features.
Not only does the increased number of multicast streams result in higher “zapping” (channel changing) concurrency, but also in a higher maintenance message load to support IGMP membership messaging. Two types of management messages are of particular importance to IGMP membership messaging, the Membership Query and the Membership Report.
FIG. 2 is a schematic diagram of the format of an IGMPv3 Membership Query message. Membership Queries are sent by IP multicast routers to query the multicast reception state of neighboring interfaces. The Type field 102 identifies the message as a membership query message. The Max Resp Code field 104 specifies a maximum time allowed before a membership report is to be sent by a receiver. The actual time allowed, called the Max Resp Time, is represented in units of 1/10 second and is derived from the Max Resp Code as follows: If Max Resp Code<128, Max Resp Time=Max Resp Code; If Max Resp Code>=128, Max Resp Code represents a floating-point value as follows: Max Resp Time=(mant|0×10)<<(exp+3).
A Checksum 106 is a 16-bit one's complement of the one's complement sum of the whole IGMP message (the entire IP payload). A Group Address field 108 is set to zero when sending a General Membership Query. A Resv (reserved) field 110 is set to zero on transmission, and ignored on reception. An “S” Flag (Suppress Router-Side Processing) field 111, if set to ‘1’ indicates to any receiving multicast routers that they are to suppress the normal timer updates they perform upon hearing a Query. If non-zero, a QRV field 112 contains the [Robustness Variable] value used by the querier, i.e., the sender of the Query. A Querier's Query Interval Code (QQIC) field 114 specifies a [Query Interval] used by the querier. A Number of Sources (N) field 116 specifies how many source addresses are present in the Query. This number is zero in a General Query or a Group-Specific Query, and non-zero in a Group-and-Source-Specific Query. The Source Address fields 118 are a vector of n IP unicast addresses, where n is a value in the Number of Sources (N) field 116.
While it will be appreciated by those skilled in the art that some management messaging enhancements are available in IGMPv3, a strict interpretation of the protocol can lead to increased peak message processing requirements, particularly within access nodes such as DSLAMs. For example, as explained above the query response interval coding (Max Resp Code 104) now allows for a larger range of values than permitted in IGMPv2 (maximum of 25 seconds). For proper operation of IGMPv3 membership messaging, the query response interval should be less than the query interval. The new Max Resp Code 104 supports values up to, and even greater than, the 125 second default query interval. Thus, a lengthened query response interval (up to the query interval) can be used to help distribute membership report message processing loads.
However, IGMPv3 recommends that membership report messages include multiple current-state Group Records up to maximum message size. This IGMPv3 record aggregation feature is helpful in expediting the join and leave processing using unsolicited membership reports when an event affects multiple groups simultaneously, eg. grid-guide scrolling. For General Membership Queries, however, while this aggregated IGMPv3 group solicited report reduces overall message load compared to IGMPv2, it can result in non-deterministic behavior resulting in bursty and lengthy message processing conditions when a large number of current-state Group Records are included in a single solicited IGMPv3 membership report.
RFC 3376 clearly states that a system must maintain a timer per interface for scheduling responses to a general membership query (GMQ). The RFC also indicates that this timer should assume a random value between 0 and a maximum response time derived from the Max Resp Code 104. RFC 3376 also specifies that multiple state records be packed into report messages to the extent possible (MTU limits restrict the maximum number of groups that may be reported in a single message). Therefore, upon expiry of the timer, a membership report message is sent that contains a current state record for each multicast address for which the host has a reception state (each multicast group that the host believes it has joined).
There is however a note in Section 5.2 of RFC 3376 that suggests that reporting on a large number of groups may result in a burst of packets if a larger number of groups are to be reported than will fit in a single report message. Specifically, RFC 3376 suggests that rather than using a single timer in such instances, report messages be spread over the interval 0 to maximum response time. However, RFC 3376 fails to provide an algorithm for accomplishing the message spreading.
There therefore remains a need for a method and apparatus for distributing the General Query Message processing load required for IGMPv3 membership maintenance.
SUMMARY OF THE INVENTION
It is an object of the invention to provide a method and apparatus for distributing the General Query Message processing load required for IGMPv3 membership maintenance.
The invention therefore provides a method for distributing an Internet Group Membership Protocol version 3 (IGMPv3) General Membership Query (GMQ) Report message processing load, comprising: provisioning an IGMPv3 host to compute a number of timers required to govern responses to a received GMQ by computing a number of current-state Group Records to be reported by a max_records number derived from a <max_records> variable made available to the IGMPv3 host; provisioning the IGMPv3 host to start the required number of timers by assigning each timer a random interval; and provisioning the IGMPv3 host to send a Report message each time a one of the timers expires, the Report message containing up to the max_records number of the current-state Group Records.
The invention further provides an Internet Group Membership Protocol version 3 (IGMPv3) host, comprising: program instructions that decode a <max_records> variable to derive a max_records number; program instructions that compute a number of General Membership Query (GMQ) response timers using a number of current-state Group Records to be reported divided by the max_records number; program instructions that start the computed number of response timers and assign each timer a random interval; and program instructions for inserting the max_records number of current-state Group Records into a Report message each time a one of the timers expires.
The invention yet further provides an Internet Group Membership Protocol version 3 (IGMPv3) Digital Subscriber Access Multiplexer (DSLAM) for serving a plurality of IGMPv3 hosts through a plurality of interfaces, comprising program instructions that insert a <max_records> variable into each General Membership Query (GMQ) sent through each interface.
BRIEF DESCRIPTION OF THE DRAWINGS
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
FIG. 1 is a schematic diagram of a prior art network configuration for providing IPTV service to service subscribers;
FIG. 2 is a schematic diagram of a prior art IGMPv3 membership Query Message;
FIG. 3 is a flow chart illustrating a method in accordance with the invention; and
FIG. 4 is a flow chart illustrating another embodiment of the method in accordance with the invention.
It should be noted that throughout the appended drawings, like features are identified by like reference numerals.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The invention provides a method and apparatus for distributing a processing load required to process membership Report messages responsive to General Membership Queries (GMQ) issued by a proxy/router using IGMPv3 for multicast stream control.
In accordance with the method, a variable <max_records> is added to control the number of current-state Group Records inserted in each solicited Report message. The variable <max_records> may be manually provisioned in any IGMPv3 host, or may be dynamically assigned by a proxy/router which embeds the variable in the GMQs.
When a GMQ is received, the number of current-state Group Records to be reported is divided by a max_records number derived from the <max_records> variable, to determine the number of timers needed to control the required Report messages. The required number of timers is started, each being assigned a random value between 0 and max_response_time. As each timer expires, a Report message containing up to the max_records number of current-state Group Records is sent to the proxy/router. This ensures that the Report message processing load is distributed at the proxy/router.
Only GMQ Reports are affected by the method. When a state has changed on multiple multicast addresses, unsolicited report messages containing aggregated multiple groups are sent in accordance with the standard behavior.
FIG. 3 is a flow chart illustrating the method in accordance with a first embodiment of the invention. In accordance with this embodiment, when an IGMPv3 host (RG 24 or STB 26, see FIG. 1) receives a GMQ (206) it determines how many current-state Group Records are to be reported (208). The host then executes program instructions that compute a number of timers needed for membership Report(s) required to respond to the GMQ. The program instructions divide the number of current-state Group Records by a max_records number derived from a provisioned variable <max_records> to compute a number of timers “n” (210). If “n” is not an integer, “n” is rounded up to the nearest integer. The host then starts the “n” random timers (212). Alternatively, “n” random counters may be used for the same purpose. The IGMPv3 host then monitors the timers to determine when one of the timers has expired (214). When one of the timers has expired, the IGMPv3 host sends a Report message containing up to max_records current-state Group Records (216). The IGMPv3 host then determines whether all current-state Group Records have been reported (218). If it is determined that all of the current-state Group Records have not been reported, the process returns to 214. Otherwise, the process returns to 206. Of course, as will be understood by those skilled in the art, the number of current-state Group Records may change during a query reply interval due to channel changing. Consequently, the current-state Group Records are dynamically maintained at all times by the IGMPv3 host. However, this activity has no bearing on the operations of method in accordance with the invention.
As will be understood by those skilled in the art, the <max_records> variable may be provisioned by a manufacturer of the host, or provisioned by an installer or by network management personnel. The <max_records> variable may be stored in a memory as a binary, or floating point number, or as a code that is converted to the max_records number using an algorithm, a look-up table, or the like. Other encoding/decoding algorithms, as described below in more detail with reference to FIG. 4 can also be used.
FIG. 4 is a flow chart illustrating another embodiment of the method in accordance with the invention. As shown in FIG. 4, when a GMQ is received (250), the IGMPv3 host examines the GMQ and extracts the variable <max_records> embedded in the GMQ by the proxy/router that sent the GMQ. In accordance with one embodiment of the invention, the variable <max_records> is stored in the Resv field 110 (see FIG. 2) of the GMQ.
The Resv field 110 is 4 bits long. It can therefore be populated with a binary value in the range of 0-15 that is decoded in accordance with an algorithm for deriving the max_records number from the <max_records> variable. In accordance with one embodiment of the invention, a value of “0” means no limit on the number of current-state Group Records that can be sent in a single Report message (i.e. the default behavior in accordance with RFC 3376). A value of “1” means 2 to the power of 1=2 current-state Group Records are permitted to be inserted in each Report message; a value of a “2” means 2 to the power of 2=4 current-state Group Records can be inserted in each Report message; etc.
As will be understood by those skilled in the art, other algorithms can also be used for deriving the max_records number from the <max_records> variable. For example, the four-bit Resv field 110 could be stored as a binary number having the values 0-15, and the decoded value of the field used to indicate the max_records number of current-state Group Records that are permitted to be inserted in any Report message. As above, a value of “0000” indicates the RFC 3376 standard, i.e. no limit up to maximum message size. However, “0001” indicates that 1 current-state Group Record can be inserted in each Report message; “0010” indicates that up to 2 current-state Group Records can be sent in each Report message; “0011” indicates that up to 3 current-state Group Records can be sent in each Report message; etc.
After the IGMPv3 host has extracted the <max_records> variable from the Resv field 110 of the GMQ 100 (252), the max_records number is derived from the <max_records> variable (254) using an algorithm, such as one of the algorithms described above. The IGMPv3 host then determines how many current-state Group Records are to be reported (256). A variable “n” is computed by dividing the number of current-state Group Records by the max_records number (258). The IGMPv3 host starts the “n” random timers (260) and monitors the timers to determine when one of the timers has expired. When a timer expires (262), the IGMPv3 host sends a Report message with up to max_number of current-state Group Records in the Report message (264). The IGMPv3 host then determines if all current-state Group Records have been reported (266). If not, the IGMPv3 host returns to monitoring the timers (262). Otherwise, the IGMPv3 host returns (250) to await receipt of another GMQ.
As will be understood by those skilled in the art, an IGMPv3 proxy/router (DSLAM 22 or RG 24) can be provisioned with a <max_records> variable per interface. Alternatively, the IGMPv3 router may be provisioned with an algorithm for dynamically assigning a <max_records> variable to each interface based on current processing load, time of day, or any other appropriate criteria.
The embodiments of the invention described above are intended to be exemplary only. The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.

Claims (13)

1. A method of distributing an Internet Group Membership Protocol version 3 (IGMPv3) General Membership Query (GMQ) Report message processing load, comprising:
receiving a GMQ with an IGMPv3 host;
extracting, with the IGMPv3 host, a <max13 records> variable from the GMQ;
deriving with the IGMPv3 host, a max records number from the <max13 records> variable;
determining, with the IGMPv3 host, a number of current-state Group Records;
computing, with the IGMPv3 host, a required number of timers to respond to the GMQ by dividing the number of current-state Group Records by the max records number;
starting, with the IQMPv3 host, the required number of timers, wherein each timer has a random interval before expiration; and
sending, with the IGMPv3 host, a Report message upon expiration of each timer, the Report message containing up to the max13 records number of the current-state Group Records.
2. The method as claimed in claim 1, wherein the deriving step further comprises:
computing, with the IGMPv3 host, 2n, where ‘n’ is a value of the <max13 records> variable, to derive the max13 records number.
3. The method as claimed in claim 1, wherein the deriving step further comprises:
using, in the IGMPv3 host, a value of the <max13 records> variable as the max13 records number.
4. The method as claimed in claim 1 wherein the deriving step further comprises:
inserting, with the IGMPv3 proxy/router, the <max13 records> variable into the GMQ.
5. The method as claimed in claim 4 wherein the inserting step further comprises:
inserting, with the IGMPv3 proxy/router, the <max13 records> variable into a Resv field of the GMQ.
6. A computer readable medium including computer program instructions that when executed by a computer distribute an Internet Group Membership Protocol version 3 (IGMPv3) General Membership Query (GMQ) Report message processing load in an Internet Group Membership Protocol version 3 (IGMPv3) host, comprising:
program instructions, in the IGMPv3 host, that derive a max13 records number from a <max13 records> variable;
program instructions, in the IGMPv3 host, that compute a number of General Membership Query (GMQ) response timers by dividing a number of current-State Group Records by the max13 records number;
program instructions, in the IGMPv3 host, that start the computed number of response timers and assign a random interval before expiration to each timer; and
program instructions, in the IGMPv3 host, that insert the Max13 records number of the current-state Group Records into a Report message upon expiration of each timer.
7. The computer readable medium as claimed in claim 6, further comprising:
program instructions, in the IGMPv3 host, that extract the <max13 records> variable from the GMQ.
8. The computer readable medium as claimed in claim 7, wherein program instructions, in the IGMPv3 host, extract the <max13 records> variable from the Resv field of the GMQ.
9. The computer readable medium as claimed in claim 6, wherein program instructions, in the IGMPv3 host, compute 2n, where ‘n’ is a value of the <max13 records> variable, to derive the max13 records number.
10. The computer readable medium as claimed in claim 6, wherein program instructions, in the IGMPv3 host, determine a binary value of the <max13 records> variable to derive the max13 records number.
11. A computer readable medium including computer program instructions that when executed by a computer serve a plurality of Internet Group Membership Protocol version 3 (IGMPv3) hosts through a plurality of interfaces in an Internet Group Membership Protocol version 3 (IGMPv3) Digital Subscriber Access Multiplexer (DSLAM), comprising:
program instructions, in the IGMPv3 hosts, that derive a max records number from a <max13 records> variable;
program instructions, in the IGMPv3 hosts, that compute a number of General Membership Query (GMQ) response timers by dividing a number of current-state Group Records b the max records number;
program instructions, in the IGMPv3 hosts, that start the computed number of response timers and assign a random interval before expiration to each timer; and
program instructions, in the IGMPv3 hosts, that insert the max13 records number of the current-state Group Records into a Report message upon expiration of each timer.
12. The computer readable medium as claimed in claim 11, wherein program instructions, in the IGMPv3 hosts, insert the <max13 records> variable in a Resv field of each of the plurality of GMQs.
13. The computer readable medium as claimed in claim 11, wherein program instructions, in the IGMPv3 hosts, retrieve a different <max13 records> variable for each of the plurality of interfaces.
US11/604,724 2006-11-28 2006-11-28 Method and apparatus for improved IGMP group membership messaging Expired - Fee Related US7672325B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/604,724 US7672325B2 (en) 2006-11-28 2006-11-28 Method and apparatus for improved IGMP group membership messaging

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/604,724 US7672325B2 (en) 2006-11-28 2006-11-28 Method and apparatus for improved IGMP group membership messaging

Publications (2)

Publication Number Publication Date
US20080123644A1 US20080123644A1 (en) 2008-05-29
US7672325B2 true US7672325B2 (en) 2010-03-02

Family

ID=39463613

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/604,724 Expired - Fee Related US7672325B2 (en) 2006-11-28 2006-11-28 Method and apparatus for improved IGMP group membership messaging

Country Status (1)

Country Link
US (1) US7672325B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874796B1 (en) * 2006-11-29 2014-10-28 Adtran, Inc. Techniques for using a general query to circumvent specific query response failure in an IGMP system

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100046516A1 (en) * 2007-06-26 2010-02-25 Media Patents, S.L. Methods and Devices for Managing Multicast Traffic
CN101766000A (en) * 2007-06-26 2010-06-30 传媒专利有限公司 The method and apparatus of managing multicast group
US8064449B2 (en) * 2007-10-15 2011-11-22 Media Patents, S.L. Methods and apparatus for managing multicast traffic
US8184630B2 (en) * 2007-10-15 2012-05-22 Media Patents, S.L. Method for managing multicast traffic in a data network and network equipment using said method
WO2009056175A1 (en) * 2007-10-30 2009-05-07 Soporte Multivendor S.L. Method for managing multicast traffic between routers communicating by means of a protocol integrating the pim protocol; and router and switch involved in said method
WO2009095041A1 (en) * 2008-02-01 2009-08-06 Soporte Multivendor S.L. Method for managing multicast traffic through a switch operating in the layer 2 of the osi model, and router and switch involved in said method
US9031068B2 (en) * 2008-02-01 2015-05-12 Media Patents, S.L. Methods and apparatus for managing multicast traffic through a switch
WO2009109684A1 (en) * 2008-03-05 2009-09-11 Media Patents, S. L. Method for monitoring or managing devices connected to a data network
US8189584B2 (en) * 2009-07-27 2012-05-29 Media Patents, S. L. Multicast traffic management in a network interface
US20110149960A1 (en) * 2009-12-17 2011-06-23 Media Patents, S.L. Method and apparatus for filtering multicast packets
CN104518889A (en) * 2013-10-08 2015-04-15 中兴通讯股份有限公司 Multicast message responding method and multicast message responding device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370142B1 (en) * 1995-07-12 2002-04-09 Nortel Networks Limited Method and apparatus for performing per-port IP multicast pruning
US6594703B1 (en) * 1999-06-02 2003-07-15 Yunzhou Li Apparatus and method of minimizing internal multicast traffic
US6633765B1 (en) * 2000-08-28 2003-10-14 Qualcomm, Incorporated Method and apparatus for performing coverage control for multicast services in a wireless network
US6763019B2 (en) * 2002-03-05 2004-07-13 Nokia Corporation Method and system for authenticated fast channel change of media provided over a DSL connection
US7009967B1 (en) * 1999-08-07 2006-03-07 Shrikumar Hariharasubrahmanian Systems and methods for transmitting data packets
US20070115963A1 (en) * 2005-11-22 2007-05-24 Cisco Technology, Inc. Maximum transmission unit tuning mechanism for a real-time transport protocol stream

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370142B1 (en) * 1995-07-12 2002-04-09 Nortel Networks Limited Method and apparatus for performing per-port IP multicast pruning
US6594703B1 (en) * 1999-06-02 2003-07-15 Yunzhou Li Apparatus and method of minimizing internal multicast traffic
US7009967B1 (en) * 1999-08-07 2006-03-07 Shrikumar Hariharasubrahmanian Systems and methods for transmitting data packets
US6633765B1 (en) * 2000-08-28 2003-10-14 Qualcomm, Incorporated Method and apparatus for performing coverage control for multicast services in a wireless network
US6763019B2 (en) * 2002-03-05 2004-07-13 Nokia Corporation Method and system for authenticated fast channel change of media provided over a DSL connection
US20070115963A1 (en) * 2005-11-22 2007-05-24 Cisco Technology, Inc. Maximum transmission unit tuning mechanism for a real-time transport protocol stream

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Cain, et al., Internet Group Management Protocol, Version 3, MEMO, The Internet Society, Oct. 2002, Network Working Group, pp. 1-53.
Cisco, Cisco IOS-XR Multicast Command Reference, Cisco IOS-XR Software Release 2.0, 2004. *
Ixia, HLTAPI Commands, Release 2.80 Rev. B, Sep. 2006. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874796B1 (en) * 2006-11-29 2014-10-28 Adtran, Inc. Techniques for using a general query to circumvent specific query response failure in an IGMP system

Also Published As

Publication number Publication date
US20080123644A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
US7672325B2 (en) Method and apparatus for improved IGMP group membership messaging
US7912056B1 (en) Dynamic traffic shaping adjustments for distributed multicast replication
US7228356B2 (en) IGMP expedited leave triggered by MAC address
US9426093B2 (en) Multicast interworking systems and methods
US6826612B1 (en) Method and apparatus for an improved internet group management protocol
US8824509B1 (en) Method and device for providing services to end user devices
US7359939B2 (en) Fast service restoration for lost IGMP leave requests
US7710983B2 (en) Method and apparatus for determining information associated with a particular multicast channel in a multicast network
US20050220132A1 (en) Multicast
CN101160858B (en) Implementing method and an apparatus for enhancing the multicast service manageability
CN101350763A (en) Resource management method, system and network appliance
JP2013537742A (en) Method and apparatus for delivery of internet protocol television services
CN101521583B (en) Resource admission control method, system and device
CN100438499C (en) Group broadcast program repeating processing method and connecting device for multicast repeat
US7444426B2 (en) Method for selecting a resource to provide a requested service in a multicasting environment
EP2351300B1 (en) Method and system for establishing digital media streams
US20120066720A1 (en) System and method of internet group management for multicast push in passive access networks
US10291420B2 (en) Method and system for managing the delivery of over-the-top streams
CN101060467B (en) A multicast user terminal powered-off fault processing method and system
CN101145922B (en) A system and method for realizing reliable exit of multi-cast terminal
US9288136B2 (en) Method and apparatus for in-band channel change for multicast data
CN101110814A (en) Method for implementing authority control of user multicast
JP4653851B2 (en) Method and apparatus for establishing a communication relationship
KR100789379B1 (en) Homegateway and its method for providing multicast traffic control function
CN1937513A (en) Multicast method and system with static group self-learning capability

Legal Events

Date Code Title Description
AS Assignment

Owner name: ALCATEL, FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STORRY, CHARLES MICHAEL;DESSEYN, FRANK;MACINTOSH, ROBERT W.;REEL/FRAME:018641/0245;SIGNING DATES FROM 20061122 TO 20061124

Owner name: ALCATEL,FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STORRY, CHARLES MICHAEL;DESSEYN, FRANK;MACINTOSH, ROBERT W.;SIGNING DATES FROM 20061122 TO 20061124;REEL/FRAME:018641/0245

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: ALCATEL LUCENT, FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:ALCATEL;REEL/FRAME:023710/0723

Effective date: 20061130

Owner name: ALCATEL LUCENT,FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:ALCATEL;REEL/FRAME:023710/0723

Effective date: 20061130

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220302