WO2006027380A1 - A device and method for multicasting packets in a subscriber network - Google Patents

A device and method for multicasting packets in a subscriber network Download PDF

Info

Publication number
WO2006027380A1
WO2006027380A1 PCT/EP2005/054477 EP2005054477W WO2006027380A1 WO 2006027380 A1 WO2006027380 A1 WO 2006027380A1 EP 2005054477 W EP2005054477 W EP 2005054477W WO 2006027380 A1 WO2006027380 A1 WO 2006027380A1
Authority
WO
WIPO (PCT)
Prior art keywords
port
group
multicast
subscribed
request
Prior art date
Application number
PCT/EP2005/054477
Other languages
French (fr)
Inventor
Wayne Thomas Daniel
Mark Alan Gladden
Kenneth A. Lauffenburger
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2006027380A1 publication Critical patent/WO2006027380A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains

Definitions

  • the present invention relates to a delivery of information in a communication network, and more particularly to a delivery of a multicast packet of information in a subscriber network.
  • Multicasting is widely used in communication networks to provide data, such as television (TV) video streams, toward multiple subscribers.
  • a hierarchical configuration of routers is used to facilitate multicasting by having a multicast router that is coupled to a multicast traffic source send data toward subsequent multicast routers.
  • the multicast traffic source is any suitable device that provides traffic to the multicast router.
  • Traffic refers to a packet, message, data streams, or other suitable forms of data.
  • Subsequent multicast routers are routers capable of multicasting and that are coupled to a subscriber device that has requested the data. This is repeated in the network until the data reaches a terminal device.
  • the traffic from a communication network is routed toward a terminal device based on the type of traffic.
  • a gateway routes Internet Protocol (IP) packets from the communication network towards devices in the subscriber network.
  • IP Internet Protocol
  • the devices in the subscriber network communicate between each other using IP packets and Ethernet frames. This is also known as "bridging" where packets are transparent between each other on the subscriber network as well as the internal interface to the gateway function.
  • Multicast packets are forwarded toward all the devices in the subscriber network because the packets have a multicast destination address. This is in contrast to a unicast packet having a destination address for a single device, wherein the unicast packet is forwarded toward the single device.
  • multicast router includes subsequent multicast router.
  • the modified network layer communicates to a communication network over a communication link and receives a group multicast packet for a multicast group from the communication network
  • the volatile memory device having a membership list and a provisioned subscription level.
  • the volatile memory device in the modified network layer.
  • the over- subscription mechanism selected from the group consisting of a fast leave and a session limit on a proxy interface, the over- subscription mechanism for generally avoiding subscribing to more multicast groups than provided by a provisioned subscription level.
  • an intelligent multicast device for use in a subscriber network comprising a modified network layer, a volatile memory device, and an intelligent bridge.
  • the modified network layer communicates to a communication network over a communication link and receives a group multicast packet for a multicast group from the communication network.
  • the volatile memory device has a port identifier identifying a subscribed port and a group identifier identifying the multicast group.
  • the intelligent bridge forwards the group multicast packet to the subscribed port identified by the port identifier.
  • a method for an over-subscription mechanism in a subscriber network comprising providing an over- subscription mechanism that generally avoids over- subscription on a subscriber network, and providing a first port and a subscribed port in a device in the subscriber network, the first port coupled to a first device and the subscribed port coupled to a subscribed device.
  • a method of multicasting for a packet received from a communication network comprising providing a first port coupled to a first device and a second port coupled to a second device, detecting a subscribe group request for a multicast group from the first port, storing data in a table, the table having a port identifier identifying the first port and a group identifier that identifies the multicast group, selectively forwarding a packet received via the communication link.
  • Figure 1 is an exemplary prior art schematic diagram of a subscriber network
  • Figure 2 is an exemplary schematic diagram of a subscriber network in accordance with the present invention
  • Figure 3 is an exemplary table layout for storing multicast subscriptions in accordance with the present invention
  • Figure 4 is an exemplary flow diagram of an update table portion of a selective forward in accordance with the present invention
  • Figure 5 is an exemplary flow diagram of a forwarding portion of a selective forwarding in accordance with the present invention
  • Figure 6 is an exemplary flow diagram of a notification to an intelligent bridge from a modified IP layer of a group membership removal in accordance with the present invention
  • Figure 7 is an exemplary flow diagram for a fast leave to avoid an over- subscription in accordance with the present invention
  • Figure 8 is an exemplary flow diagram for a session limit on proxy interface to avoid an over- subscription in accordance with the present invention
  • Figure 9 is an exemplary flow diagram of a group query timeout part for a session limit on proxy interface in accordance with the present invention.
  • the invention described herein may employ one or more of the following concepts.
  • one concept relates to an intelligent multicast device where a packet is not simply forwarded toward all ports but is forwarded toward a port having a device that is active in a multicast group.
  • Another concept relates to an intelligent bridge that keeps track of the ports having a device that has requested a packet.
  • Another concept relates to an intelligent bridge that monitors communication from a port to detect subscribe and unsubscribe requests.
  • Another concept relates to a device sending a query response when the device is not a member of a multicast group.
  • Yet another concept relates to an over- subscription mechanism to avoid allowing a specific number of multicast subscriptions beyond a provisioned threshold.
  • the present invention is disclosed in context of a multicast in a Digital Subscriber Line (DSL) modem.
  • DSL Digital Subscriber Line
  • the principles of the invention are not limited to use within a DSL modem but may be applied to other devices capable of multicasting toward a physical port, such as a cable modem or wireless modem.
  • IP IP
  • OSI Open Systems Interconnection
  • IGMP Internet Group Management Protocol
  • an IGMP join is used by a device to subscribe to receive a multicast service and an IGMP leave is used by the device to unsubscribe from the multicast service.
  • protocols other than IGMP may be used by an end user device to subscribe to or unsubscribe from a multicast service.
  • other protocols other than IGMP may be used to query a device to determine if the device is subscribed to a multicast group.
  • the present invention is described in context of the DSL modem having a modified IP layer and an intelligent bridge, the modified IP layer and intelligent bridge may be in separate devices.
  • IPTV IP Television
  • other multicast services that allow a subscription to a multicast group and use multicasting may be used, such as audio or video services other than IPTV.
  • FIG. 1 an exemplary prior art schematic diagram of a subscriber network 10 having a communication link 28, a DSL modem 12, and a plurality of devices 20, 22 that are coupled to the DSL modem 12 via physical ports 30 is shown.
  • the term “coupled” refers to any direct or indirect communication between two or more elements, whether or not those elements are in physical contact with one another.
  • the term “communication link” refers to any system that suitably supports communication between coupled network elements such as wireless, wireline, electrical, optical and combinations thereof, and the like.
  • the subscriber network 10 may be any network having a device of an end user, wherein the end user device is capable of originating a request to subscribe to a multicast service.
  • a data processing unit such as a personal computer 22, a Set Top Box (STB) that decodes video streams for a coupled television (TV), or a TV 20 capable of decoding video streams.
  • STB Set Top Box
  • TV coupled television
  • TV 20 capable of decoding video streams.
  • the end user device originates the request, the resulting traffic might not terminate at the end user device.
  • a STB that is coupled to a TV may originate the request and decode the traffic received; however, the decoded traffic is forwarded and subsequently displayed on the TV.
  • the last device to receive the traffic such as the TV, is referred to as the "terminal device".
  • the DSL modem 12 includes an IP layer 14 and a bridge 18.
  • the bridge 18 uses a data- link layer of the OSI model and is coupled to the ports 30 and to the IP layer 14.
  • the bridge 18 learns an address, such as a Media Access Control (MAC) address, of the device 20, 22 that is coupled to the port 30 to facilitate forwarding unicast packets toward the correct port.
  • the terms "toward” and “towards” refers to sending traffic from a sending point to a receiving point either directly or indirectly and wherein the sending point does not have to originate the traffic and wherein the traffic does not have to end at the receiving point.
  • the IP layer 14 has membership tables 16 used in multicasting and the IP layer 14 is coupled to the communication network via a communication link 28.
  • the communication network is "upstream” and the device 20, 22 is “downstream” to the DSL modem 12.
  • the TV 20(a) requests to receive channel 2 by sending an IGMP join request toward the DSL modem 12.
  • the IGMP join request is for a multicast group address.
  • the multicast group address maps to a multicast service to which the device is subscribing, in this example the channel to be received.
  • Sending the IGMP join allows the end user device to subscribe to a multicast group to receive the multicast service. For this example, TV 20(a) becomes a subscribed device to a multicast group to receive channel 2.
  • the port that received the IGMP join is a subscribing port, for example port 30(a) is a subscribing port to the multicast group to receive channel 2.
  • the term "subscribed device” refers to a device (20, 22) that is active in a multicast group and the term “subscribed port” refers to the port (30) that is coupled to subscribed device.
  • the IP layer 14 uses the IGMP join request to store information in the membership list 16 and informs the communication network via the communication link 28 of the request by sending a proxy IGMP join request.
  • a proxy request is a request that appears to have originated from the device that "proxies" the request.
  • the DSL modem 12 proxies the IGMP join request by using the IP address of the DSL modem 12 so that proxy IGMP join request sent by the DSL modem appears to have originated by the DSL modem 12 instead of the TV 20(a).
  • the proxy IGMP join request allows multicast routers that are upstream to the DSL modem 12 to learn about subscription information.
  • the bridge 18 After receiving a multicast packet for channel 2 from the communication link 28, the bridge 18 forwards the packet to every port because the packet has a multicast destination address. Therefore TV 20(b), and data processing units 22(a), 22(b) all receive the packet even though it was not requested because the bridge function must do so because the packet destination address uses a multicast address. Forwarding to every port regardless of subscription unnecessarily increases bandwidth usage and may cause congestion on subscriber network 10, resulting in loss and/or unacceptable delay of packets, and a degradation in the quality and integrity of the video streams and other packet traffic transmitted in the subscriber network 10.
  • the TV 20(a) requests to leave channel 2 and receive channel 5 by sending an IGMP leave request and an IGMP join request.
  • the IGMP leave request allows the TV 20(a) to unsubscribe from the multicast service and quit receiving packets for channel 2.
  • the IP layer 14 may update the membership list 16 based on the requests. Additionally, the IP layer 14 sends a proxy IGMP leave request for channel 2 and a proxy IGMP join request for channel 5 to communication network via the communication link 28.
  • the leave request causes TV 20(a) to no longer be a subscribed device to channel 2 and the port 30(a) to no longer be a subscribed port to channel 2.
  • the communication network will process the join request without delay; however, there may be a delay by communication network to process the leave. This delay is caused by the upstream-multicast routers trying to determine if a leave request stops the forwarding of the packets for a multicast group downstream to another multicast router or the subscriber network 10.
  • the communication network may send an IGMP query request to its downstream devices to determine if there are any subscribed devices to channel 2.
  • the DSL modem 12 may receive on the communication link 28 packets for channel 2 in addition to receiving packets for channels 3, and 5 until the query is processed.
  • the subscriber network 10 includes a DSL modem 24 and a plurality of devices 20, 22 that are coupled to the DSL modem 24 via physical ports 30.
  • the ports 30 may be any type of port capable of allowing communication between the DSL modem 24 and the device 20, 22.
  • the port 30 may be Ethernet, USB, cable, powerline (HomePlug), or wireless.
  • the DSL modem 24 includes a modified IP layer 32 and an intelligent bridge 34.
  • the intelligent bridge 34 uses the data- link layer of the OSI model, and monitors as well as uses multicast group information used in multicasting.
  • the intelligent bridge 34 is coupled to the ports 30 and the modified IP layer 32.
  • the intelligent bridge 34 includes a volatile memory device 39 having a table 38 for storing subscriber information. The table 38 is described below in further detail.
  • the modified IP layer 32 is coupled to the communication network via a communication link 28 and is adapted to include functionalities of the upstream-multicast router.
  • the modified IP layer 32 includes a memory device 41 that comprises membership list 16, a session limit 19, a current session count 21, and a queue 23.
  • the membership list 16, the session limit 19, the current session count 21, and the queue 23 may be stored in memory segments of a volatile memory device as illustrated by Figure 2, in separate volatile memory devices or combinations thereof.
  • the session limit 19 may, however, be stored in a nonvolatile memory device.
  • the membership list 16, the session limit 19, the current session count 21, and the queue 23 are described below in further detail.
  • Figure 2 depicts a single device coupled to a single port, such as TV 20(a) coupled to port 30(a), multiple devices may be coupled to the port. Additionally, the DSL modem 24 may have more or fewer ports 30 than illustrated.
  • the TV 20(a) requests to receive channel 2 by sending an IGMP join request to the DSL modem 24.
  • the intelligent bridge 34 monitors traffic from the ports 30 and after an IGMP join request is detected, the intelligent bridge 34 uses the request to store information in the table 38.
  • the IGMP join request is forwarded to the modified IP layer 32.
  • the modified IP layer 32 updates its membership list 16 and sends a proxy IGMP join request to the communication network via the communication link 28.
  • the intelligent bridge 34 After receiving a multicast packet for channel 2 from the communication link 28, the intelligent bridge 34 uses the table 38 to determine subscribed ports for channel 2. In this example, the intelligent bridge 34 determines that port 30(a) is the subscribed port for channel 2 and forwards the packet to the port 30(a). "Selective forward” refers to forwarding the multicast packet to the subscribed port. This is in contrast the DSL modem 12 in Figure 1, wherein the ports 30 are flooded with the multicast packet, thus unnecessarily increasing bandwidth.
  • the TV 20(b) subscribes as explained above.
  • channel 2 is already being received by TV 20(a) so it is desirable that the join is not sent upstream because is not required because it was already sent when TV 20(a) joined.
  • the intelligent bridge 34 determines via the table 38 that ports 30(a) and 30(b) are subscribed ports for channel 2 and forwards the packet to ports 30(a) and 30(b).
  • the TV 20(b) requests to leave channel 2 and receive channel 7 by sending an IGMP leave request and an IGMP join request.
  • the modified IP layer 32 may send proxy IGMP requests over the communication link 28 based on the requests received over the port 30(b).
  • a delay may occur in the leave by the communication network.
  • the DSL modem 24 has a fast leave as described in more detail below.
  • the table 38 has a group record 100 that may comprise a group identifier 102, a subscriber list 104, and fast-forwarding list 106.
  • the table 38 may comprise of an array of the group records 100.
  • the group identifier 102 may be any suitable value used to identify the multicast group to which a device has subscribed. For example an IP address of the multicast group may be used as a group identifier 102.
  • the subscriber list 104 provides a list of devices that are subscribed to the multicast group.
  • the fast-forwarding list 106 provides a mechanism to quickly determine ports 30 having devices that are subscribed to the multicast group.
  • the subscriber list is a pointer to a subscriber record 110 and the fast-forwarding list 106 is a pointer to a port record 120.
  • the subscriber record 110 may comprise a device identifier 112, port identifier 114, and next subscriber 116.
  • the device identifier 112 identifies the subscribed device. For example, a MAC address may be used to identify the subscribed device.
  • the port identifier 114 identifies the subscribed port.
  • the next subscriber 116 indicates the next subscriber record 110 having a subscribed device to the multicast group or indicates the end of the subscriber list. In the illustrated example, the next subscriber 116 is a pointer wherein the next subscriber 116(b) for subscriber record 110(b) points to subscriber record 110(a) and the next subscriber 116(a) indicates end of the subscriber list.
  • the port record 120 may comprise a port identifier 124 and a next port 125.
  • the port identifier 124 like the port identifier 114, identifies the subscribed port.
  • the next port 125 is a pointer to a next port record 120 in the fast-forwarding list 106.
  • the next port 125(b) for port record 120(b) points to port record 120(a) and the next port 125(a) indicates end of the subscriber list.
  • the port identifier 114 included in the subscriber record 110, and the port identifier 124 included in the port record 120 are redundant, it is advantageous to have a separate fast forward list 106 since multiple devices 20, 22 may subscribe to the same multicast group on the same port 30. If this occurs, it is possible that multiple subscriber records 110 will have the same port identifier 114.
  • the fast- forwarding list 106 advantageously would only represent the subscribed port once to reduce the time to process the subscribed ports. If the fast-forwarding list 106 is not included, the subscriber record 110 could be traversed, preferably ignoring duplicate subscribed ports, to determine the port identifier 114 of the ports to forward the record. Conversely, the subscriber record 110 may be excluded for any number of reasons, such as in the case that a port 30 is adapted to only be coupled to a single device 20, 22.
  • Figure 3 illustrates 3 group records 100 and a group record 100 having 2 subscriber records 110 and 2 port records 120. Those skilled in the art would appreciate that there may be more or less subscriber records 110 as well as more or less port records 120 associated with a group record 100. Additionally, those skilled in the art would appreciate that there may be more or less group records 100 than what was illustrated in Figure 3.
  • FIG. 2 an exemplary flow diagram of an update table portion 314(a) of the selective forward 314 in accordance to the present invention is provided.
  • "Updating" a record means modifying the contents of an existing record or removing an existing record and creating a new record.
  • "Removing" a record means modifying the record to make the record a spare record and may include deleting the record, such as deleting the record from memory.
  • "Creating" a record means modifying the record so that the record is no longer a spare record and may include adding the record, such as adding the record to memory.
  • the intelligent bridge 34 monitors the communication received from a port 30 to determine if the packet is an "IGMP join request" 142 or an "IGMP leave request” 156.
  • the intelligent bridge 34 advantageously updates the table 38 with the monitored information to facilitate selective forward 314.
  • a check if a "subscriber belongs to the group" 144 is made. If a group record 100 does not exist for the multicast group or if by traversing the subscriber list 104 in the group record 100, the device identifier identifying the subscribing device is not represented in a device identifier 112 then the subscriber does not belong to the group. Otherwise, the subscriber belongs to the group. "Subscribing device” refers to the device (20, 22) subscribing to the multicast group. If the subscriber does not belong to the group, an "include device in group" 150 to represent the IGMP join request is done.
  • the include of the device may comprise creating the group record 100 if the group record 100 does not exist for the group as well as creating a subscriber record 110 using a device identifier identifying the subscribing device and using a port identifier identifying a subscribing port.
  • Subscriber port refers to a port (30) coupled to the subscribing device. If the subscriber device belongs to the group, a check to determine if the "port changed" 146 is made. The port changed if the port identifier 114 in the subscriber record 110 does not represent the port identifier identifying the subscribing port.
  • an "update port in group" 148 is made by changing the port identifier 114 in the subscriber record 110 to the port identifier identifying the subscribing port. If the port has changed or if the subscriber does not belong to the group a "port identifier in fast forwarding" 152 check is made.
  • the port identifier is in fast forwarding if the fast-forwarding list 106 includes the subscribing port as a port identifier 124 in the group record 100. If the subscribing port is not in the fast-forwarding list 106 for the group record 100 an "include port identifier in fast forwarding" 154 is done by including the port identifier representing the subscribing port to the fast-forwarding list 106.
  • the include of the port identifier 120 may comprise creating the port record 120.
  • a check if a "subscriber belongs to the group" 158 is made. If a group record 100 does not exist for the multicast group or if by traversing the subscriber list 104 in the group record 100 the device identifier identifying the subscribed device is not represented in a device identifier 112 then the subscriber does not belong to the group. Otherwise, the subscriber belongs to the group. If the subscriber belongs to the group a "remove device from group" 160 is done by removing the subscriber record 110 that represents the IGMP join request from the subscriber list 104 of the group record 100.
  • the remove of the subscriber record 110 may include a remove of the group record 100 if the subscriber list 104 is empty. After the remove of the subscriber record, a check to determine if there are "more subscribed device(s) for the same port" 162 is made. There is another subscribed device if subscriber record 110 having the port identifier identifying the subscribed port exists in the subscriber list 104 of the group record 100. If another subscribed device does not exist, a "remove port identifier from fast forwarding" 164 is done by removing the port record 120 for the subscriber port from the fast-forwarding list 106 of the group record 100.
  • FIG. 2 a flow diagram of a forwarding portion 314(b) of a selective forwarding in accordance with the present invention is provided.
  • the packet is sent to the intelligent bridge 34.
  • the packet is checked to see if the packet is a "group multicast packet" 200.
  • a group multicast packet 200 is associated with a multicast group that a subscriber belongs to in order to receive that packet.
  • the group multicast packet is identified as such using a unique multicast address in the packet header.
  • An "all multicast packet" is a packet that should be forwarded toward all of the ports 30. For example, Universal Plug and Play UPnP packets.
  • a "unicast packet is a packet that is forwarded toward a single device. If the packet is not a group multicast packet, then a "perform normal packet forwarding" 202 is done.
  • a normal packet forwarding includes forwarding of the all multicast packet and the unicast packet.
  • the packet is the group multicast packet, a check if "subscriber exists for the group" 204 is done. If a group record 100 does not exist for the multicast group or the fast-forwarding list is empty or the subscriber list is empty then a subscriber does not exist in the group; otherwise, a subscriber does exist in the group. If a subscriber exists in the group a "forward of the packet to each subscribed port in the group” 208 is done. This advantageously selectively forwards the group multicast packet to the subscribed ports in contrast to flooding all of the ports with the group multicast packet; and preferably forwards the packet only to the subscribed ports.
  • FIG. 2 a flow diagram of a notification to the intelligent bridge 34 from the modified IP layer 32 of a group membership removal in accordance with the present invention is provided.
  • the intelligent bridge 34 does not receive the IGMP leave so that the subscribed device is not removed from the group.
  • the device 22, 24 may be powered down prior to sending the request.
  • the communication network periodically sends a IGMP query request having a multicast group to each subnet to monitor the subscription information in the communication network
  • the DSL modem 24 sends the IGMP query request toward a port 30 to check if the device is still subscribed to the group.
  • the IGMP query request is sent to the port 30 subscribed to the multicast group as to not flood the ports 30 with the IGMP query request. This may be done using the selective forwarding described above for Figure 5.
  • the IGMP query request may be flooded to the ports.
  • the device (20, 22) sends a response indicating the device (20, 22) is not subscribed to the multicast group and the DSL modem 24 processes the response. This is in contrast to typical processing wherein the device (20, 22) does not send a response when the device (20, 22) is not subscribed to the multicast group and after a time the DSL modem 24 determines the device (20, 22) is not a subscriber to the multicast group.
  • the intelligent bridge 34 responds to IGMP query request.
  • the intelligent bridge 34 receives a notification of a group membership removal based on the IGMP query response informing the intelligent bridge 34 that the membership needs to be removed.
  • the intelligent bridge 34 determines if "a subscriber exists in the group" 300 as described above. If a subscriber exists a "remove of the subscriber" 302 is done. The remove may be done by deleting the group record 100 and the records associated with the group record 100. In an alternative embodiment, the intelligent bridge 34 may update the table based upon the IGMP query response instead of waiting for a notification of a group membership removal.
  • Over- subscription occurs when the DSL modem 24 has subscribed to more multicast groups than provided by a provisioned subscription level.
  • the provisioned subscription level may, for example, be based to avoid degrading traffic, on a service grade wherein different service grade have different billing levels, or based on a performance level.
  • the term "completely” avoiding means that the DSL modem 24 prevents an over-subscription.
  • the term “substantially” avoiding means that the DSL modem allows an over- subscription up through a 30% increase over a provisioned subscription level.
  • the term “generally” avoiding modem allows an over- subscription up through a 100% over a provisioned subscription level.
  • One method to avoid over- subscription 311 is to use a fast leave mechanism 31 l(a).
  • the modified IP layer 32 After the modified IP layer 32 receives an IGMP leave request from the intelligent bridge 34, the modified IP layer 32 sends an IGMP query request to the intelligent bridge 34 and holds off sending a proxy IGMP leave request to the communication network via the communication link 28. This is in contrast to the typical behavior, referring to Figure 1, wherein the IP layer 14 sends a proxy IGMP leave request to the communication network immediately, and without sending an IGMP query request to the bridge 18.
  • the intelligent bridge 34 determines if a "subscriber exists for the group" 308.
  • the intelligent bridge may determine if a subscriber exists for the group by checking the table 38 as described above for Figure 5 or by sending queries to the ports as described above for Figure 6, or by a combination thereof. If a "subscriber exists for the group” 308 the intelligent bridge 34 returns with a "yes response" 310 if clients exist and a "no response" 312 if clients do not exist. If the modified IP layer 32 receives a no for the response to the IGMP query request, the modified IP layer 32 subsequently sends a proxy IGMP leave request indicating the group membership may be cancelled to the communication network via the communication link 28.
  • the fast leave may make changes in a subscription, for example changing a channel, faster to enhance the channel surfing experience.
  • the DSL modem 24 may use a "session limit on proxy interface" 311(b) to limit the number of sessions to avoid over-subscription.
  • the DSL modem 24 may include a session limit 19 is the provisioned subscription level, a current session count 21 that indicates the number of group subscriptions currently handled by the DSL modem 24, a queue 23 for queuing a subscription request if a session limit 19 has been reached, and a group active list for storing group identifiers for groups to which a device 20, 22 is subscriber.
  • a session is the same as a group membership on the proxy interface.
  • Group subscription refers to a subscription to a multicast group.
  • the modified IP layer 32 determines if the "group is in active list" 320. If the group is not active, the queue 23 is checked to determine if the "group is in the queue” 322. If the group is not in the queue, the current session count 21 is compared to the session limit 19. If the current session count 21 is less than the session limit 19 then a "session is available" 324. If the session is available, the "current session count is incremented by 1" 326, an IGMP "join proxy sent" 328, and the "active list is updated" 330 to include the group identifier for the group.
  • the IGMP "join request is added to the queue" 334, a "query is sent for each active group” 336 towards the devices 20, 22 and "response timer is started for each active group” 338.
  • the response timer is for limiting the time the devices 20, 22 have to respond in case of such things as a lost packet as well as other situations.
  • the query request is preferably selectively forwarded to a subscribed device as previously described. However, the query request may be forwarded toward all of the ports (30). The response timer is described in more detail below.
  • a separate active list may not be necessary, for example if the modified IP layer 32 has access to table 38, the IP layer 32 could consult the group record 100 to determine if a group was active. Additionally, a single response timer may be used instead of one per group.
  • FIG. 2 an exemplary flow diagram of a group query timeout part 311(c) for the session limit 19 on proxy interface is provided. If the response timer, described by Figure 7, expires then the devices 20, 22 have not responded to the query in the time allotted; the table 38 may be updated to remove a group record associated with the group timeout; in the modified IP layer 32 a "remove the group identifier from the active list” 350, and a "decrement the current session count by 1" 352 is made.
  • a preferred embodiment includes the selective forwarding 314, the fast leave 311(a), and the session limit on a proxy interface 311(b), 311(c).
  • another embodiment may include the selective forwarding 314 without an over subscription mechanism 311.
  • another embodiment may have an over subscription mechanism 311 without the selective forwarding 314.
  • an embodiment may include the fast leave 311(a) with out the session limit on a proxy interface 311(b).
  • an embodiment may include the session limit on a proxy interface 311(b) without the fast leave 311(a).
  • Figure 2 shows a single communication link 28 between the communication network and the DSL modem 24, it would be recognized by those skilled in the art that multiple communication links may exist, the communication links having a logical connection between the communication network and the DSL modem 24. Furthermore, it would be appreciated that having multiple communication links would allow traffic separation. For example, a first communication link could be used for packet delivery, a second communication link for sending subscription requests, and a third communication link for sending query request.
  • the invention may be embodied in many different forms and may be applied to many different types of networks, protocols, and protocol versions and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Thus, the scope of the invention should be determined based upon the appended claims and their legal equivalents, rather than the specific embodiments described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A device and method for multicasting packets in a subscriber network is provided. According to one embodiment, an intelligent multicast device (24) for use in a subscriber network (10) comprising a modified network layer (32), a volatile memory device (41), and an over-subscription mechanism (311) is provided. The modified network layer (32) communicates to a communication network over a communication link (28) and receives a group multicast packet for a multicast group from the communication network. The modified network layer (32) includes a volatile memory device (41) having a membership list (16) and a provisioned subscription level (19). The over-subscription mechanism for generally avoiding subscribing to more multicast groups than provided by a provisioned subscription level (19).

Description

A DEVICE AND METHOD FOR MULTICASTING PACKETS IN A
SUBSCRIBER NETWORK
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of the provisional patent application filed on September 10, 2004, and assigned application number 60/608803.
FIELD OF THE INVENTION
[0002] The present invention relates to a delivery of information in a communication network, and more particularly to a delivery of a multicast packet of information in a subscriber network.
BACKGROUND OF INVENTION
[0003] Multicasting is widely used in communication networks to provide data, such as television (TV) video streams, toward multiple subscribers. A hierarchical configuration of routers is used to facilitate multicasting by having a multicast router that is coupled to a multicast traffic source send data toward subsequent multicast routers. The multicast traffic source is any suitable device that provides traffic to the multicast router. "Traffic" refers to a packet, message, data streams, or other suitable forms of data. Subsequent multicast routers are routers capable of multicasting and that are coupled to a subscriber device that has requested the data. This is repeated in the network until the data reaches a terminal device.
[0004] In the subscriber network, the traffic from a communication network is routed toward a terminal device based on the type of traffic. At a subscriber's premises, such as an office or home, a gateway routes Internet Protocol (IP) packets from the communication network towards devices in the subscriber network. The devices in the subscriber network communicate between each other using IP packets and Ethernet frames. This is also known as "bridging" where packets are transparent between each other on the subscriber network as well as the internal interface to the gateway function. Multicast packets are forwarded toward all the devices in the subscriber network because the packets have a multicast destination address. This is in contrast to a unicast packet having a destination address for a single device, wherein the unicast packet is forwarded toward the single device.
[0005] There is a need for an improvement on multicasting in a subscriber network. Hereinafter, the term "multicast router" includes subsequent multicast router.
SUMMARY OF INVENTION
[0006] In one aspect of the invention, an intelligent multicast device for use in a subscriber network comprising a modified network layer, a volatile memory device, and an over- subscription mechanism. The modified network layer communicates to a communication network over a communication link and receives a group multicast packet for a multicast group from the communication network The volatile memory device having a membership list and a provisioned subscription level. The volatile memory device in the modified network layer. The over- subscription mechanism selected from the group consisting of a fast leave and a session limit on a proxy interface, the over- subscription mechanism for generally avoiding subscribing to more multicast groups than provided by a provisioned subscription level.
[0007] In another aspect of the invention, an intelligent multicast device for use in a subscriber network comprising a modified network layer, a volatile memory device, and an intelligent bridge is provided. The modified network layer communicates to a communication network over a communication link and receives a group multicast packet for a multicast group from the communication network. The volatile memory device has a port identifier identifying a subscribed port and a group identifier identifying the multicast group. The intelligent bridge forwards the group multicast packet to the subscribed port identified by the port identifier.
[0008] In another aspect of the invention, a method for an over-subscription mechanism in a subscriber network is provided. The method comprising providing an over- subscription mechanism that generally avoids over- subscription on a subscriber network, and providing a first port and a subscribed port in a device in the subscriber network, the first port coupled to a first device and the subscribed port coupled to a subscribed device.
[0009] In yet another aspect of the invention, a method of multicasting for a packet received from a communication network is provided. The method comprising providing a first port coupled to a first device and a second port coupled to a second device, detecting a subscribe group request for a multicast group from the first port, storing data in a table, the table having a port identifier identifying the first port and a group identifier that identifies the multicast group, selectively forwarding a packet received via the communication link.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above mentioned and other concepts of the present invention will now be described with reference to the drawings of the exemplary and preferred embodiments of the present invention. The drawings contain the following figures, in which like numbers refer to like parts throughout the description and drawings wherein:
Figure 1 is an exemplary prior art schematic diagram of a subscriber network; Figure 2 is an exemplary schematic diagram of a subscriber network in accordance with the present invention; Figure 3 is an exemplary table layout for storing multicast subscriptions in accordance with the present invention; Figure 4 is an exemplary flow diagram of an update table portion of a selective forward in accordance with the present invention; Figure 5 is an exemplary flow diagram of a forwarding portion of a selective forwarding in accordance with the present invention; Figure 6 is an exemplary flow diagram of a notification to an intelligent bridge from a modified IP layer of a group membership removal in accordance with the present invention; Figure 7 is an exemplary flow diagram for a fast leave to avoid an over- subscription in accordance with the present invention; Figure 8 is an exemplary flow diagram for a session limit on proxy interface to avoid an over- subscription in accordance with the present invention; and Figure 9 is an exemplary flow diagram of a group query timeout part for a session limit on proxy interface in accordance with the present invention.
DETAILED DESCRIPTION OF INVENTION
[0011] The invention described herein may employ one or more of the following concepts. For example, one concept relates to an intelligent multicast device where a packet is not simply forwarded toward all ports but is forwarded toward a port having a device that is active in a multicast group. Another concept relates to an intelligent bridge that keeps track of the ports having a device that has requested a packet. Another concept relates to an intelligent bridge that monitors communication from a port to detect subscribe and unsubscribe requests. Another concept relates to a device sending a query response when the device is not a member of a multicast group. Yet another concept relates to an over- subscription mechanism to avoid allowing a specific number of multicast subscriptions beyond a provisioned threshold.
[0012] The present invention is disclosed in context of a multicast in a Digital Subscriber Line (DSL) modem. The principles of the invention, however, are not limited to use within a DSL modem but may be applied to other devices capable of multicasting toward a physical port, such as a cable modem or wireless modem. While the present invention is disclosed in terms of an IP, other network layer protocols of the Open Systems Interconnection (OSI) model may be used to send packets of data in a network. The present invention is disclosed in terms of Internet Group Management Protocol (IGMP) allowing an end user device to subscribe to or unsubscribe from a multicast service. For example, an IGMP join is used by a device to subscribe to receive a multicast service and an IGMP leave is used by the device to unsubscribe from the multicast service. However, protocols other than IGMP may be used by an end user device to subscribe to or unsubscribe from a multicast service. Also, other protocols other than IGMP may be used to query a device to determine if the device is subscribed to a multicast group. Additionally, while the present invention is described in context of the DSL modem having a modified IP layer and an intelligent bridge, the modified IP layer and intelligent bridge may be in separate devices. Furthermore, while the present invention is described in terms of subscribing to an IP Television (IPTV), other multicast services that allow a subscription to a multicast group and use multicasting may be used, such as audio or video services other than IPTV.
[0013] Referring to Figure 1, an exemplary prior art schematic diagram of a subscriber network 10 having a communication link 28, a DSL modem 12, and a plurality of devices 20, 22 that are coupled to the DSL modem 12 via physical ports 30 is shown. The term "coupled" refers to any direct or indirect communication between two or more elements, whether or not those elements are in physical contact with one another. The term "communication link" refers to any system that suitably supports communication between coupled network elements such as wireless, wireline, electrical, optical and combinations thereof, and the like.
[0014] The subscriber network 10 may be any network having a device of an end user, wherein the end user device is capable of originating a request to subscribe to a multicast service. For example, a data processing unit such as a personal computer 22, a Set Top Box (STB) that decodes video streams for a coupled television (TV), or a TV 20 capable of decoding video streams. Although the end user device originates the request, the resulting traffic might not terminate at the end user device. For example, a STB that is coupled to a TV may originate the request and decode the traffic received; however, the decoded traffic is forwarded and subsequently displayed on the TV. The last device to receive the traffic, such as the TV, is referred to as the "terminal device".
[0015] The DSL modem 12 includes an IP layer 14 and a bridge 18. The bridge 18 uses a data- link layer of the OSI model and is coupled to the ports 30 and to the IP layer 14. The bridge 18 learns an address, such as a Media Access Control (MAC) address, of the device 20, 22 that is coupled to the port 30 to facilitate forwarding unicast packets toward the correct port. The bridge 18, however, floods the ports 30 with multicast packets by forwarding multicast packets towards all of the ports 30. The terms "toward" and "towards" refers to sending traffic from a sending point to a receiving point either directly or indirectly and wherein the sending point does not have to originate the traffic and wherein the traffic does not have to end at the receiving point. The IP layer 14 has membership tables 16 used in multicasting and the IP layer 14 is coupled to the communication network via a communication link 28. The communication network is "upstream" and the device 20, 22 is "downstream" to the DSL modem 12.
[0016] When an end user prefers to receive channel 2 on TV 20(a), the TV 20(a) requests to receive channel 2 by sending an IGMP join request toward the DSL modem 12. Although in this example, the end user is a person, the end user may be a signal or a device that can communicate to the device. The IGMP join request is for a multicast group address. The multicast group address maps to a multicast service to which the device is subscribing, in this example the channel to be received. Sending the IGMP join allows the end user device to subscribe to a multicast group to receive the multicast service. For this example, TV 20(a) becomes a subscribed device to a multicast group to receive channel 2. The port that received the IGMP join is a subscribing port, for example port 30(a) is a subscribing port to the multicast group to receive channel 2. The term "subscribed device" refers to a device (20, 22) that is active in a multicast group and the term "subscribed port" refers to the port (30) that is coupled to subscribed device.
[0017] The IP layer 14 uses the IGMP join request to store information in the membership list 16 and informs the communication network via the communication link 28 of the request by sending a proxy IGMP join request. A proxy request is a request that appears to have originated from the device that "proxies" the request. In this example, the DSL modem 12 proxies the IGMP join request by using the IP address of the DSL modem 12 so that proxy IGMP join request sent by the DSL modem appears to have originated by the DSL modem 12 instead of the TV 20(a). The proxy IGMP join request allows multicast routers that are upstream to the DSL modem 12 to learn about subscription information.
[0018] After receiving a multicast packet for channel 2 from the communication link 28, the bridge 18 forwards the packet to every port because the packet has a multicast destination address. Therefore TV 20(b), and data processing units 22(a), 22(b) all receive the packet even though it was not requested because the bridge function must do so because the packet destination address uses a multicast address. Forwarding to every port regardless of subscription unnecessarily increases bandwidth usage and may cause congestion on subscriber network 10, resulting in loss and/or unacceptable delay of packets, and a degradation in the quality and integrity of the video streams and other packet traffic transmitted in the subscriber network 10.
[0019] This problem is compounded if an end user then desires to receive channel 3 on TV 20(b). The requests and packets are handled in the same manner as the foregoing description for channel 2 on TV 20(a). However, now the bridge 18 is broadcasting packets for channel 2 and channel 3 to ports 30.
[0020] If the end user for TV 20(a) then decides to receive channel 5 instead of channel 2 on TV 20(a), the TV 20(a) requests to leave channel 2 and receive channel 5 by sending an IGMP leave request and an IGMP join request. The IGMP leave request allows the TV 20(a) to unsubscribe from the multicast service and quit receiving packets for channel 2. The IP layer 14 may update the membership list 16 based on the requests. Additionally, the IP layer 14 sends a proxy IGMP leave request for channel 2 and a proxy IGMP join request for channel 5 to communication network via the communication link 28. The leave request causes TV 20(a) to no longer be a subscribed device to channel 2 and the port 30(a) to no longer be a subscribed port to channel 2.
[0021] The communication network will process the join request without delay; however, there may be a delay by communication network to process the leave. This delay is caused by the upstream-multicast routers trying to determine if a leave request stops the forwarding of the packets for a multicast group downstream to another multicast router or the subscriber network 10. For this example, the communication network may send an IGMP query request to its downstream devices to determine if there are any subscribed devices to channel 2. The DSL modem 12 may receive on the communication link 28 packets for channel 2 in addition to receiving packets for channels 3, and 5 until the query is processed.
[0022] Referring now to Figure 2, an exemplary schematic diagram of a subscriber network 10 of the present invention is provided. The subscriber network 10 includes a DSL modem 24 and a plurality of devices 20, 22 that are coupled to the DSL modem 24 via physical ports 30. The ports 30 may be any type of port capable of allowing communication between the DSL modem 24 and the device 20, 22. For example the port 30 may be Ethernet, USB, cable, powerline (HomePlug), or wireless.
[0023] The DSL modem 24 includes a modified IP layer 32 and an intelligent bridge 34. The intelligent bridge 34 uses the data- link layer of the OSI model, and monitors as well as uses multicast group information used in multicasting. The intelligent bridge 34 is coupled to the ports 30 and the modified IP layer 32. The intelligent bridge 34 includes a volatile memory device 39 having a table 38 for storing subscriber information. The table 38 is described below in further detail.
[0024] The modified IP layer 32 is coupled to the communication network via a communication link 28 and is adapted to include functionalities of the upstream-multicast router. The modified IP layer 32 includes a memory device 41 that comprises membership list 16, a session limit 19, a current session count 21, and a queue 23. The membership list 16, the session limit 19, the current session count 21, and the queue 23 may be stored in memory segments of a volatile memory device as illustrated by Figure 2, in separate volatile memory devices or combinations thereof. The session limit 19 may, however, be stored in a nonvolatile memory device. The membership list 16, the session limit 19, the current session count 21, and the queue 23 are described below in further detail.
[0025] Although Figure 2 depicts a single device coupled to a single port, such as TV 20(a) coupled to port 30(a), multiple devices may be coupled to the port. Additionally, the DSL modem 24 may have more or fewer ports 30 than illustrated.
[0026] When an end user prefers to receive channel 2 on TV 20(a), the TV 20(a) requests to receive channel 2 by sending an IGMP join request to the DSL modem 24. The intelligent bridge 34 monitors traffic from the ports 30 and after an IGMP join request is detected, the intelligent bridge 34 uses the request to store information in the table 38. The IGMP join request is forwarded to the modified IP layer 32. The modified IP layer 32 updates its membership list 16 and sends a proxy IGMP join request to the communication network via the communication link 28.
[0027] After receiving a multicast packet for channel 2 from the communication link 28, the intelligent bridge 34 uses the table 38 to determine subscribed ports for channel 2. In this example, the intelligent bridge 34 determines that port 30(a) is the subscribed port for channel 2 and forwards the packet to the port 30(a). "Selective forward" refers to forwarding the multicast packet to the subscribed port. This is in contrast the DSL modem 12 in Figure 1, wherein the ports 30 are flooded with the multicast packet, thus unnecessarily increasing bandwidth.
[0028] If an end user for TV 20(b) also desires to receive channel 2 on TV 20(b) the TV 20(b) subscribes as explained above. For this example, channel 2 is already being received by TV 20(a) so it is desirable that the join is not sent upstream because is not required because it was already sent when TV 20(a) joined. However, after the multicast packet for channel 2 is received by the DSL modem 24, the intelligent bridge 34 determines via the table 38 that ports 30(a) and 30(b) are subscribed ports for channel 2 and forwards the packet to ports 30(a) and 30(b).
[0029] If an end user for TV 20(b) desires to receive channel 7 on TV 20(b) instead of channel 2, the TV 20(b) requests to leave channel 2 and receive channel 7 by sending an IGMP leave request and an IGMP join request. The modified IP layer 32 may send proxy IGMP requests over the communication link 28 based on the requests received over the port 30(b). However, as described in the example for Figure 1, a delay may occur in the leave by the communication network. In one embodiment, the DSL modem 24 has a fast leave as described in more detail below.
[0030] Referring now to Figure 3, an exemplary table layout for storing multicast subscriptions to facilitate the subscription determination in accordance with the present invention is provided. The table 38 has a group record 100 that may comprise a group identifier 102, a subscriber list 104, and fast-forwarding list 106. The table 38 may comprise of an array of the group records 100. The group identifier 102 may be any suitable value used to identify the multicast group to which a device has subscribed. For example an IP address of the multicast group may be used as a group identifier 102. The subscriber list 104 provides a list of devices that are subscribed to the multicast group. The fast-forwarding list 106 provides a mechanism to quickly determine ports 30 having devices that are subscribed to the multicast group. In the exemplary illustration of Figure 3, the subscriber list is a pointer to a subscriber record 110 and the fast-forwarding list 106 is a pointer to a port record 120.
[0031] The subscriber record 110 may comprise a device identifier 112, port identifier 114, and next subscriber 116. The device identifier 112 identifies the subscribed device. For example, a MAC address may be used to identify the subscribed device. The port identifier 114 identifies the subscribed port. The next subscriber 116 indicates the next subscriber record 110 having a subscribed device to the multicast group or indicates the end of the subscriber list. In the illustrated example, the next subscriber 116 is a pointer wherein the next subscriber 116(b) for subscriber record 110(b) points to subscriber record 110(a) and the next subscriber 116(a) indicates end of the subscriber list.
[0032] The port record 120 may comprise a port identifier 124 and a next port 125. The port identifier 124, like the port identifier 114, identifies the subscribed port. The next port 125 is a pointer to a next port record 120 in the fast-forwarding list 106. In the illustrated example the next port 125(b) for port record 120(b) points to port record 120(a) and the next port 125(a) indicates end of the subscriber list.
[0033] Although the port identifier 114 included in the subscriber record 110, and the port identifier 124 included in the port record 120 are redundant, it is advantageous to have a separate fast forward list 106 since multiple devices 20, 22 may subscribe to the same multicast group on the same port 30. If this occurs, it is possible that multiple subscriber records 110 will have the same port identifier 114. However, the fast- forwarding list 106 advantageously would only represent the subscribed port once to reduce the time to process the subscribed ports. If the fast-forwarding list 106 is not included, the subscriber record 110 could be traversed, preferably ignoring duplicate subscribed ports, to determine the port identifier 114 of the ports to forward the record. Conversely, the subscriber record 110 may be excluded for any number of reasons, such as in the case that a port 30 is adapted to only be coupled to a single device 20, 22.
[0034] Figure 3 illustrates 3 group records 100 and a group record 100 having 2 subscriber records 110 and 2 port records 120. Those skilled in the art would appreciate that there may be more or less subscriber records 110 as well as more or less port records 120 associated with a group record 100. Additionally, those skilled in the art would appreciate that there may be more or less group records 100 than what was illustrated in Figure 3.
[0035] Subsequent flow charts are described in terms of the exemplary table 38 illustrated in Figure 3. However, those skilled in the art would recognize that the table 38 might be represented using other data structure formats having more or less fields, records and combinations thereof than illustrated in Figure 3. For example, arrays may be used instead of link lists thus eliminating the need for the pointer in the link list. For another example, the fast- forwarding list 106 may be represented using a bit map representing the ports thus eliminating the port record 120. Records and individual fields may be statically defined or dynamically allocated.
[0036] Now referring to Figures 2, 3 and 4, an exemplary flow diagram of an update table portion 314(a) of the selective forward 314 in accordance to the present invention is provided. "Updating" a record means modifying the contents of an existing record or removing an existing record and creating a new record. "Removing" a record means modifying the record to make the record a spare record and may include deleting the record, such as deleting the record from memory. "Creating" a record means modifying the record so that the record is no longer a spare record and may include adding the record, such as adding the record to memory.
[0037] The intelligent bridge 34 monitors the communication received from a port 30 to determine if the packet is an "IGMP join request" 142 or an "IGMP leave request" 156. The intelligent bridge 34 advantageously updates the table 38 with the monitored information to facilitate selective forward 314.
[0038] In the event that the communication is an IGMP join request, a check if a "subscriber belongs to the group" 144 is made. If a group record 100 does not exist for the multicast group or if by traversing the subscriber list 104 in the group record 100, the device identifier identifying the subscribing device is not represented in a device identifier 112 then the subscriber does not belong to the group. Otherwise, the subscriber belongs to the group. "Subscribing device" refers to the device (20, 22) subscribing to the multicast group. If the subscriber does not belong to the group, an "include device in group" 150 to represent the IGMP join request is done. The include of the device may comprise creating the group record 100 if the group record 100 does not exist for the group as well as creating a subscriber record 110 using a device identifier identifying the subscribing device and using a port identifier identifying a subscribing port. "Subscribing port" refers to a port (30) coupled to the subscribing device". If the subscriber device belongs to the group, a check to determine if the "port changed" 146 is made. The port changed if the port identifier 114 in the subscriber record 110 does not represent the port identifier identifying the subscribing port. If the port has changed an "update port in group" 148 is made by changing the port identifier 114 in the subscriber record 110 to the port identifier identifying the subscribing port. If the port has changed or if the subscriber does not belong to the group a "port identifier in fast forwarding" 152 check is made. The port identifier is in fast forwarding if the fast-forwarding list 106 includes the subscribing port as a port identifier 124 in the group record 100. If the subscribing port is not in the fast-forwarding list 106 for the group record 100 an "include port identifier in fast forwarding" 154 is done by including the port identifier representing the subscribing port to the fast-forwarding list 106. The include of the port identifier 120 may comprise creating the port record 120.
[0039] In the case that the communication is an IGMP leave request, a check if a "subscriber belongs to the group" 158 is made. If a group record 100 does not exist for the multicast group or if by traversing the subscriber list 104 in the group record 100 the device identifier identifying the subscribed device is not represented in a device identifier 112 then the subscriber does not belong to the group. Otherwise, the subscriber belongs to the group. If the subscriber belongs to the group a "remove device from group" 160 is done by removing the subscriber record 110 that represents the IGMP join request from the subscriber list 104 of the group record 100. The remove of the subscriber record 110 may include a remove of the group record 100 if the subscriber list 104 is empty. After the remove of the subscriber record, a check to determine if there are "more subscribed device(s) for the same port" 162 is made. There is another subscribed device if subscriber record 110 having the port identifier identifying the subscribed port exists in the subscriber list 104 of the group record 100. If another subscribed device does not exist, a "remove port identifier from fast forwarding" 164 is done by removing the port record 120 for the subscriber port from the fast-forwarding list 106 of the group record 100.
[0040] Referring now to Figures 2, 3, and 5, a flow diagram of a forwarding portion 314(b) of a selective forwarding in accordance with the present invention is provided. After a packet is received from the communication network via the communication link 28, the packet is sent to the intelligent bridge 34. The packet is checked to see if the packet is a "group multicast packet" 200. A group multicast packet 200 is associated with a multicast group that a subscriber belongs to in order to receive that packet. The group multicast packet is identified as such using a unique multicast address in the packet header. An "all multicast packet" is a packet that should be forwarded toward all of the ports 30. For example, Universal Plug and Play UPnP packets. A "unicast packet is a packet that is forwarded toward a single device. If the packet is not a group multicast packet, then a "perform normal packet forwarding" 202 is done. A normal packet forwarding includes forwarding of the all multicast packet and the unicast packet.
[0041] If the packet is the group multicast packet, a check if "subscriber exists for the group" 204 is done. If a group record 100 does not exist for the multicast group or the fast-forwarding list is empty or the subscriber list is empty then a subscriber does not exist in the group; otherwise, a subscriber does exist in the group. If a subscriber exists in the group a "forward of the packet to each subscribed port in the group" 208 is done. This advantageously selectively forwards the group multicast packet to the subscribed ports in contrast to flooding all of the ports with the group multicast packet; and preferably forwards the packet only to the subscribed ports.
[0042] Referring now to Figures 2, 3, and 6, a flow diagram of a notification to the intelligent bridge 34 from the modified IP layer 32 of a group membership removal in accordance with the present invention is provided. It may be possible that the intelligent bridge 34 does not receive the IGMP leave so that the subscribed device is not removed from the group. For example, the device 22, 24 may be powered down prior to sending the request. The communication network periodically sends a IGMP query request having a multicast group to each subnet to monitor the subscription information in the communication network After receiving the IGMP query request, the DSL modem 24 sends the IGMP query request toward a port 30 to check if the device is still subscribed to the group. In a preferred embodiment the IGMP query request is sent to the port 30 subscribed to the multicast group as to not flood the ports 30 with the IGMP query request. This may be done using the selective forwarding described above for Figure 5. The IGMP query request, however, may be flooded to the ports.
[0043] A subscriber exists in the group if a device (20, 22) responds to the IGMP query request indicating that the device (20, 22) is in the multicast group. In a preferred embodiment the device (20, 22) sends a response indicating the device (20, 22) is not subscribed to the multicast group and the DSL modem 24 processes the response. This is in contrast to typical processing wherein the device (20, 22) does not send a response when the device (20, 22) is not subscribed to the multicast group and after a time the DSL modem 24 determines the device (20, 22) is not a subscriber to the multicast group. The intelligent bridge 34 responds to IGMP query request.
[0044] In one embodiment, the intelligent bridge 34 receives a notification of a group membership removal based on the IGMP query response informing the intelligent bridge 34 that the membership needs to be removed. The intelligent bridge 34 determines if "a subscriber exists in the group" 300 as described above. If a subscriber exists a "remove of the subscriber" 302 is done. The remove may be done by deleting the group record 100 and the records associated with the group record 100. In an alternative embodiment, the intelligent bridge 34 may update the table based upon the IGMP query response instead of waiting for a notification of a group membership removal.
[0045] Referring now to Figures 2, 3, and 7 a flow diagram to avoid over¬ subscription is provided. Over- subscription occurs when the DSL modem 24 has subscribed to more multicast groups than provided by a provisioned subscription level. The provisioned subscription level may, for example, be based to avoid degrading traffic, on a service grade wherein different service grade have different billing levels, or based on a performance level.
[0046] The term "completely" avoiding means that the DSL modem 24 prevents an over-subscription. The term "substantially" avoiding means that the DSL modem allows an over- subscription up through a 30% increase over a provisioned subscription level. The term "generally" avoiding modem allows an over- subscription up through a 100% over a provisioned subscription level.
[0047] One method to avoid over- subscription 311 is to use a fast leave mechanism 31 l(a). After the modified IP layer 32 receives an IGMP leave request from the intelligent bridge 34, the modified IP layer 32 sends an IGMP query request to the intelligent bridge 34 and holds off sending a proxy IGMP leave request to the communication network via the communication link 28. This is in contrast to the typical behavior, referring to Figure 1, wherein the IP layer 14 sends a proxy IGMP leave request to the communication network immediately, and without sending an IGMP query request to the bridge 18.
[0048] After receiving the IGMP query request, the intelligent bridge 34 determines if a "subscriber exists for the group" 308. The intelligent bridge may determine if a subscriber exists for the group by checking the table 38 as described above for Figure 5 or by sending queries to the ports as described above for Figure 6, or by a combination thereof. If a "subscriber exists for the group" 308 the intelligent bridge 34 returns with a "yes response" 310 if clients exist and a "no response" 312 if clients do not exist. If the modified IP layer 32 receives a no for the response to the IGMP query request, the modified IP layer 32 subsequently sends a proxy IGMP leave request indicating the group membership may be cancelled to the communication network via the communication link 28. This facilitates a "fast leave" by not waiting for the communication network to send an IGMP query request to determine if a subscriber exists for the group. Advantageously, the fast leave may make changes in a subscription, for example changing a channel, faster to enhance the channel surfing experience.
[0049] Now referring now to Figures 2, 3, and 8 another exemplary flow diagram to avoid over- subscription is provided. The DSL modem 24 may use a "session limit on proxy interface" 311(b) to limit the number of sessions to avoid over-subscription. The DSL modem 24 may include a session limit 19 is the provisioned subscription level, a current session count 21 that indicates the number of group subscriptions currently handled by the DSL modem 24, a queue 23 for queuing a subscription request if a session limit 19 has been reached, and a group active list for storing group identifiers for groups to which a device 20, 22 is subscriber. A session is the same as a group membership on the proxy interface. For example, subscribing to channel 3 by TV 20(a) and TV 20(b) represents one session whereas subscribing to channel 3 by TV 20(a) and channel 5 by TV20 (b) represents two sessions. "Group subscription" refers to a subscription to a multicast group.
[0050] If the modified IP layer 32 detects an IGMP join request, the modified IP layer 32 determines if the "group is in active list" 320. If the group is not active, the queue 23 is checked to determine if the "group is in the queue" 322. If the group is not in the queue, the current session count 21 is compared to the session limit 19. If the current session count 21 is less than the session limit 19 then a "session is available" 324. If the session is available, the "current session count is incremented by 1" 326, an IGMP "join proxy sent" 328, and the "active list is updated" 330 to include the group identifier for the group. However, if the session is unavailable, the IGMP "join request is added to the queue" 334, a "query is sent for each active group" 336 towards the devices 20, 22 and "response timer is started for each active group" 338. The response timer is for limiting the time the devices 20, 22 have to respond in case of such things as a lost packet as well as other situations. When the "query is sent for each active group" 336, the query request is preferably selectively forwarded to a subscribed device as previously described. However, the query request may be forwarded toward all of the ports (30). The response timer is described in more detail below.
[0051] A separate active list may not be necessary, for example if the modified IP layer 32 has access to table 38, the IP layer 32 could consult the group record 100 to determine if a group was active. Additionally, a single response timer may be used instead of one per group.
[0052] Now referring now to Figures 2, 3, and 9 an exemplary flow diagram of a group query timeout part 311(c) for the session limit 19 on proxy interface is provided. If the response timer, described by Figure 7, expires then the devices 20, 22 have not responded to the query in the time allotted; the table 38 may be updated to remove a group record associated with the group timeout; in the modified IP layer 32 a "remove the group identifier from the active list" 350, and a "decrement the current session count by 1" 352 is made. Additionally, if the "group is in the queue" 354, the modified IP layer 32 does a "dequeue request" 356 to dequeue the associated IGMP join request, an "increment the current session count by 1" 358, a "send proxy IGMP join request" 360 based on the dequeued request, and an "add the group identifier to the active list" 362. [0053] A preferred embodiment includes the selective forwarding 314, the fast leave 311(a), and the session limit on a proxy interface 311(b), 311(c). However, another embodiment may include the selective forwarding 314 without an over subscription mechanism 311. Likewise, another embodiment may have an over subscription mechanism 311 without the selective forwarding 314. Additionally, an embodiment may include the fast leave 311(a) with out the session limit on a proxy interface 311(b). Conversely, an embodiment may include the session limit on a proxy interface 311(b) without the fast leave 311(a).
[0054] Although Figure 2 shows a single communication link 28 between the communication network and the DSL modem 24, it would be recognized by those skilled in the art that multiple communication links may exist, the communication links having a logical connection between the communication network and the DSL modem 24. Furthermore, it would be appreciated that having multiple communication links would allow traffic separation. For example, a first communication link could be used for packet delivery, a second communication link for sending subscription requests, and a third communication link for sending query request.
[0055] The invention may be embodied in many different forms and may be applied to many different types of networks, protocols, and protocol versions and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Thus, the scope of the invention should be determined based upon the appended claims and their legal equivalents, rather than the specific embodiments described above.

Claims

Claims
1. An intelligent multicast device (24) for use in a subscriber network (10), comprising: a modified network layer (32) that communicates to a communication network over a communication link (28) and that receives a group multicast packet for a multicast group from the communication network, a volatile memory device (41) having a membership list (16) and a provisioned subscription level (19), the volatile memory device in the modified network layer (32); and an over- subscription mechanism (311) selected from the group consisting of a fast leave 311(a) and a session limit on a proxy interface 311(b), the over- subscription mechanism for generally avoiding subscribing to more multicast groups than provided by a provisioned subscription level (19).
2. The multicast device as claimed in claim 1, wherein the volatile memory device further includes a current session count (21).
3. The multicast device as claimed in claim 2, further includes the current session count (21) is incremented by 1 if after receiving a subscribe request the current session count (21) is less than provisioned subscription level (19).
4. The multicast device as claimed in claim 2, further includes a queue (23) for queuing a subscribe group request when the current session count (21) is equal to the provisioned subscription level (19).
5. An intelligent multicast device (24) for use in a subscriber network (10), comprising: a modified network layer (32) that communicates to a communication network over a communication link (28) and that receives a group multicast packet for a multicast group from the communication network, a volatile memory device (39) having table (38) comprising a port identifier (114) identifying a subscribed port and a group identifier (102) identifying the multicast group; and an intelligent bridge (34) that forwards the group multicast packet to the subscribed port identified by the port identifier (114).
6. The multicast device as claimed in claim 5, wherein the table (38) further comprising a device identifier (112) identifying the subscribed device.
7. The multicast device as claimed in claim 5, wherein the intelligent bridge (34) monitors traffic from a port (30) and wherein after the intelligent bridge (34) monitors a subscribe request the table (38) is updated to include a port identifier (114) identifying a subscribing port.
8. The multicast device as claimed in claim 5, wherein the intelligent bridge (34) monitors traffic from a port (30) and wherein after the intelligent bridge (34) monitors an unsubscribe request the table (38) is updated to remove the port identifier (114) identifying a subscribed port.
9. A method for an over- subscription mechanism (311) in a subscriber network (10), comprising: providing an over- subscription mechanism (311) that generally avoids over¬ subscription on a subscriber network (10); and providing a first port (30) and a subscribed port (30) in a device (24) in the subscriber network (10), the first port (30) coupled to a first device (20, 22) and the subscribed port (30) coupled to a subscribed device (20, 22).
10. The method according to claim 9, wherein the over- subscription mechanism (311) substantially or completely avoids an over- subscription on the subscriber network (10).
11. The method according to claim 9, wherein the over- subscription mechanism (311) is a fast leave (311 (a)) and wherein the method further comprising: providing a subscribed port (30) coupled to a subscribed device (20, 22), receiving a unsubscribe request with a multicast group from the subscribed port (30) by a modified network layer (32), sending a query request with the multicast group from the modified network layer (32) to an intelligent bridge (34), and sending the query request from the intelligent bridge (34) to the subscribed port (30).
12. The method according to claim 11, wherein the subscribed device (20, 22) responses to the query request indicating that subscribed device (20, 22) is not subscribed to the multicast group.
13. The method according to claim 11, wherein the modified network layer (32) holds off sending a proxy leave request when an unsubscribe request is received from the subscribed port (30).
14. The method according to claim 11, further comprising: receiving by the modified network layer (32) a query response indicating that the subscribed device (20, 22) is no longer subscribed to the multicast group, and sending a proxy leave request indicating the group membership may be cancelled.
15. The method according to claim 9, wherein the over- subscription mechanism (311) is a session limit on proxy interface (311(b)).
16. A method of multicasting for a packet received from a communication network, comprising: providing a first port (30) coupled to a first device (20, 22) and a second port (30) coupled to a second device (20, 22); detecting a subscribe group request (142) for a multicast group from the first port (30); storing data in a table (38), the table having a port identifier identifying (114) the first port (30) and a group identifier 102 that identifies the multicast group; and selectively forwarding (314(b)) a packet received via the communication link (28).
17. The method according to claim 16, further comprising: detecting a unsubscribe request (156) for the multicast group from the subscribed port (30), and removing the data subscribed device (20, 22) from the multicast group in the table (38).
18. The method according to claim 16, further comprising: receiving a group multicast packet wherein a subscriber does not exist in the table (39) for the multicast group 204, and discarding the packet (206).
19. The method according to claim 16, further comprising sending a query request with a multicast group toward the subscribed port (30).
20. The method according to claim 16, wherein a device (20, 22) sends a negative response to a query request for a multicast group indicating the device (20, 22) is not subscribed to the multicast group.
PCT/EP2005/054477 2004-09-10 2005-09-09 A device and method for multicasting packets in a subscriber network WO2006027380A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60880304P 2004-09-10 2004-09-10
US60/608,803 2004-09-10

Publications (1)

Publication Number Publication Date
WO2006027380A1 true WO2006027380A1 (en) 2006-03-16

Family

ID=35427637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/054477 WO2006027380A1 (en) 2004-09-10 2005-09-09 A device and method for multicasting packets in a subscriber network

Country Status (1)

Country Link
WO (1) WO2006027380A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1863219A1 (en) 2006-05-29 2007-12-05 Huawei Technologies Co., Ltd. Method and system for processing abnormally becoming power off of a terminal of multicast user
WO2008097611A3 (en) * 2007-02-07 2008-10-02 Marvell World Trade Ltd Wireless multicast proxy
CN101094132B (en) * 2006-06-20 2010-04-21 中兴通讯股份有限公司 Process method for restarting terminal device of multicast service
US20120075998A1 (en) * 2010-09-27 2012-03-29 Kunal Shah Reducing access network congestion caused by oversubscription of multicast groups
US8937898B2 (en) 2007-02-07 2015-01-20 Marvell World Trade Ltd. Wireless multicast proxy

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1119134A2 (en) * 1999-12-21 2001-07-25 Alcatel Canada Inc. Method and apparatus for an improved internet group management protocol

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1119134A2 (en) * 1999-12-21 2001-07-25 Alcatel Canada Inc. Method and apparatus for an improved internet group management protocol

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CAIN B ET AL: "Request for Comments 3376: Internet Group Management Protocol, Version 3", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, 1 October 2002 (2002-10-01), XP015009135 *
FENNER W: "IGMPv2", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, February 1997 (1997-02-01), pages 1 - 24, XP015008020 *
RIZZO L: "Fast group management in IGMP", PROCEEDINGS OF HIPPARCH WORKSHOP, June 1998 (1998-06-01), London (UK), pages 32 - 41, XP002357489 *
VIDA R ET AL: "Multicast Listener Discovery Version 2 (MLDv2) for IPv6", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, June 2004 (2004-06-01), XP015009588 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1863219A1 (en) 2006-05-29 2007-12-05 Huawei Technologies Co., Ltd. Method and system for processing abnormally becoming power off of a terminal of multicast user
CN101094132B (en) * 2006-06-20 2010-04-21 中兴通讯股份有限公司 Process method for restarting terminal device of multicast service
WO2008097611A3 (en) * 2007-02-07 2008-10-02 Marvell World Trade Ltd Wireless multicast proxy
US8379559B2 (en) 2007-02-07 2013-02-19 Marvell World Trade Ltd. Wireless multicast proxy
US8937898B2 (en) 2007-02-07 2015-01-20 Marvell World Trade Ltd. Wireless multicast proxy
US20120075998A1 (en) * 2010-09-27 2012-03-29 Kunal Shah Reducing access network congestion caused by oversubscription of multicast groups
WO2012042435A1 (en) * 2010-09-27 2012-04-05 Telefonaktiebolaget L M Ericsson (Publ) Reducing access network congestion caused by oversubscription of multicast groups
US8937858B2 (en) * 2010-09-27 2015-01-20 Telefonaktiebolaget L M Ericsson (Publ) Reducing access network congestion caused by oversubscription of multicast groups

Similar Documents

Publication Publication Date Title
US20070058646A1 (en) Device and method for forwarding multicast traffic in a hybrid device
US8208483B2 (en) Ethernet switching
US6331983B1 (en) Multicast switching
US7986693B2 (en) Data link layer switch with multicast capability
US7532624B2 (en) Multicast packet control apparatus
US20050041680A1 (en) L2 switch and control method therof
EP1646182A1 (en) Electronic content distribution management methods and systems
US6208647B1 (en) Multicast extension to data link layer protocols
EP1892881A1 (en) A method for processing the abnormal multicast service and a network equipment thereof
EP1189387A2 (en) Method of providing bidirectional communication in a network for multicasting Internet Protocol data streams and network for applying the method
US10057080B2 (en) Multicast transmission over bonded broadband
WO2008069455A1 (en) Method and apparatus for blocking forged multicast packets
WO2006027380A1 (en) A device and method for multicasting packets in a subscriber network
EP1863219B1 (en) Method and system for processing abnormally becoming power off of a terminal of multicast user
EP1983713A1 (en) Method for operating a network element and according device as well as communication system comprising such device
US9161108B2 (en) Method and system for establishing communication relations
KR100649716B1 (en) Method and apparatus for multicast forwarding in broadcast service based on multicast packet
EP2260612B1 (en) Bandwidth signalling
CN101193017B (en) A multicast control processing method, system and broadband access device
EP2066073B1 (en) Access system and method for multicast management
KR100965053B1 (en) Method for transmitting internet broadcasting data using restricted multicast
Nugraha et al. Multicast communication for video broadcasting service over IPv4 network using IP option
AU5189901A (en) Improved multicasting in IP distributed networks

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase