Admission control mechanism for multicast receivers
Claim Score by NHIP
Abstract
A method and system for controlling admission of an end user to a multicast channel over a network implementing a source filtering protocol. Incoming packet traffic received by an edge router is snooped and, when a request to join a multicast channel is received, the traffic is analyzed. Any service policy associated with the traffic class is found and applied to packet traffic from the requesting user. The actions include accepting membership in a group associated with a multicast channel and pushing the packets to the end user. If the action is to deny membership, then the multicast packets are prevented from reaching the end user. In addition information is logged and may be used for billing purposes or for accumulating marketing or other such information. Also, the actions may be to limit the number of routing states, by denying admittance to a groups once a limit number of requests to join, or other such parameter, is reached. Such limiting will substantially prevent DOS attacks on a multicast router.

Term
Projected expiry 9 February 2027.
- Priority and filed
- Published
- Today
- Projected expiry
22 claims: 4 independent, 18 dependent
- 1Broadest claimClaim Score 76, broad(NHIP)A method for controlling admission of an end user to a multicast group arranged for receiving at least one multicast source channel, each source channel assigned a multicast address, the method comprising the steps of:snooping report message packet traffic received from the end user, and determining therefrom if the packet traffic was a request to join or change of status of the end user, and if so then, classifying the packet traffic, determining if any actions are associated with the traffic classification, and if so applying the actions to the packet traffic.
- 8A system for controlling admission of an end user to a multicast group arranged for receiving at least one multicast source channel, each source channel assigned a multicast address, the system comprising:a packet snooper configured to detect report message packet traffic received from the end user that are requests to join or change of status of the end user, a classifier operating on information in the report message packet traffic, a policy map associated with the traffic classification, the policy map containing actions to be taken, and a command language that applies the actions, if any, to the interface from which the report message was received.
- 15A system for controlling admission of an end user to a group arranged for receiving at least one multicast source channel, each source channel assigned a multicast address, the system comprising:means for snooping a report message packet traffic received from the end user, and means for determining therefrom if the packet traffic was a request to join or change of status of an end user, and if so then means for traffic classifying the packet traffic, means for determining any actions associated with the traffic classification, and if so means for applying the actions, if any, to the packet traffic.
- 22A computer readable medium containing executable program instructions for controlling admission, using a source filtering protocol, of an end user receiver to a group arranged for receiving at least one multicast source channel, each source channel assigned a multicast address, the executable program instructions comprising program instructions for:snooping report message packets received from the end user, and determining therefrom if the packet was a request to join or change of status of an end user, and if so then classifying the packet traffic, determining any actions are associated with the traffic classification, and if so applying the actions, if any, to the packet traffic.
Independent claims4
86 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001This invention relates generally to computer networks, and more particularly, to controlling multicast classes of traffic destined for hosts or end users in a computer network.
BACKGROUND OF THE INVENTION
0002Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links, segments and sub-networks. These entities are typically software processes executing on hardware computer platforms, such as end nodes and intermediate nodes. Communication software executing on the end nodes correlate and manage data communication with other end nodes. The nodes typically communicate by exchanging discrete frames or packets of data according to predefined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP).
0003An intermediate node, such as a router or switch, executes routing protocols used to direct the transmission of data traffic between the end nodes, such as hosts or users. Typically, the router directs network traffic based on destination address prefixes contained in the packets, i.e., the portions of destination addresses used by the routing protocol to render routing (“next hop”) decisions. Examples of such destination addresses include Internet Protocol (IP) version 4 (IPv4) and version 6 (IPv6) addresses. A prefix implies a combination of an IP address and a mask that cooperate to describe an area or range of the network that a router can reach, whereas a route implies a combination of a set of path attributes and a prefix.
0004A local area network (LAN) is an example of a subnetwork that provides relatively short distance communications among the intermediate nodes. A wide area network (WAN) enables log distance communication over paths provided by public or private telecommunication facilities. The Internet is an example of a WAN that connects disparate computer networks throughout the world providing global communications between nodes and various networks. A router or switch may interconnect sub-networks to extend the effective “size” of the computer network. However, the router or switch that joins to LAN's is often called a “last hop,” or an edge router or switch, since it resides at the “edge” of the Internet. In this application “edge router,” “edge switch” or “switch” are used synonymously to designate this edge device.
0005Unicast data transfer (i.e., unicast forwarding) involves forwarding a data packet from a single sending process of an end node (<b>37</b> source”) to a single receiving process of an end node (“receiver”) on the computer network. Often the destination of the data packet issued by a source may be more than one, but less than all of the receivers on the network. This type of multicast data transfer (i.e., multicast forwarding) is typically employed to segregate communication between groups of receivers on the network. IP multicasting, in particular, may be used to disseminate data to a large group of receivers on the network.
0006To effect IP multicasting, the source generally specifies a destination IP address that is a multicast group address for the message and, as such, can only represent receivers of packets. The IPv4 (or IPv6) address range is subdivided into different prefixes, one of which is designated for use by IP multicast. Receivers typically notify their communication software of their desire to receive messages destined for the multicast group address; this is called “joining a multicast group.” These receiving members then “listen” on the multicast address and, when a multicast message is received at a receiver, it delivers a copy of the message to each process that belongs to the group.
0007IP multicasting relies on (i) a group management protocol to establish and maintain local multicast group membership, and (ii) multicast routing protocols to route packets efficiently. The Internet Group Management Protocol (IGMP) manages packet communication between hosts and their local multicast router, letting them join or leave groups. That is, IGMP is used to send a group membership message from a host to its directly connected router, indicating that the host wants to join a group (address) as a receiver. Note that IGMP is an IPv4 group membership protocol; the conventional Multicast Listener Discovery (MLD) protocol is substantially similar to, and performs the same functions as, IGMP, but for IPv6. When group membership is established, multicast packets (identified by a multicast group address in the destination address field of an IP header) are forwarded between routers using multicast routing protocols. IGMP Version 3 (IGMPv3) adds support for “source filtering,” i.e., the ability for a system to report interest in receiving packets “only” from specific source addresses (INCLUDE operation), or packets from “all but” specific source addresses (EXCLUDE operation).
0008Multicast routing protocols construct distribution trees through the network and direct multicast forwarding. The multicast distribution trees define the path that multicast traffic will take through the network to group members. These paths are based on source or shared multicast distribution trees. A multicast distribution tree is shared when any source (host) originating data traffic destined to a group address of a multicast group uses the same distribution tree to forward data to the receivers. In contrast, a source distribution tree is a separate, shortest path tree (SPT) built for each source originating traffic to the multicast group.
0009A rendezvous point is a specific router that is designated as the root of a shared multicast distribution tree. An announcement protocol is used to select and announce rendezvous points to all routers in the network. However, an alternative to using an announcement protocol to automatically advertise rendezvous points to all routers in the network is to manually configure the identity of the rendezvous points on all of the routers. Examples of such an announcement protocol include the Auto-RP multicast protocol available from Cisco Systems Inc. and the Bootstrap Router (BSR) described in <i>Bootstrap Router </i>(<i>BSR</i>) <i>Mechanism for PIM Sparse Mode, </i>Internet Engineering Task Force Internet-Draft, draft-ietf-pim-sm-bsr-03.txt, by Fenner, et al. February 2003. Examples of multicast routing protocols that use a rendezvous point include Protocol Independent Multicast-Sparse Mode (PIM-SM) and Bidirectional PIM (BIDIR-PIM) protocols. Other multicast protocols that do not require a rendezvous point include PIM dense mode (PIM-DM) and PIM source specific multicast (PIM-SSM) protocols.
0010IP multicast may be deployed on a computer network using a specific rendezvous point to build a shared multicast distribution tree for a multicast group falling within a destination address prefix or to build a separate SPT for each source originating traffic to the multicast group. Broadly stated, a router joins a multicast group (distribution tree) towards the rendezvous point or source. The interface on the router leading towards the rendezvous point or source is an ingress interface. Depending upon the multicast routing protocol, there is usually only one ingress interface on the router receiving multicast packets for a particular route. One or more interfaces on the router leading towards the hosts (receivers) are egress interfaces. The receivers are leaves or nodes on the distribution tree. Packets are sent from a source to the root (rendezvous point or source itself) of the distribution tree, where they are forwarded towards the branches and out to the nodes that represent the receivers. On each node, packets are received on the ingress interface towards the root of the tree and packets are forwarded out egress interfaces towards the receivers or nodes.
0011IP protocol of the TCP/IP Reference Model defines five classes of IP addresses. Class D IP addresses, which begin with the bit sequence “1110,” are used for sourcing multicast messages. That is, a host or entity wishing to send a multicast message utilizes a class D IP address. To receive multicast messages, entities typically register with one or more multicast routers. Registration may be accomplished via the IGMP, which defines a set of registration messages and operations that are used by entities to join and leave multicast groups (e.g., JoinGroup and LeaveGroup), and is implemented as part of the IP protocol. <i>Internet Group Management Protocol, Version </i>3,<i>Request for Comments (RFC) </i>3376, by Cain et al., October 2002, is hereby incorporated herein by reference as though fully set forth herein.
0012Specifically, a receiver uses IGMP to communicate a request to join a multicast group address to a last-hop router. The router communicates that request to its neighboring routers (neighbors) on the link towards the rendezvous point (for a shared tree) or source (for a SPT) using a multicast routing protocol, such as Protocol Independent Multicast (PIM). Announcement protocols, known in the art, are used to distribute group range-to-rendezvous point address mapping configuration to all PIM-enabled routers that participate in the network topology. Collectively the routers construct a multicast distribution tree rooted at a rendezvous point or source for that group address and having a branch (link) that “pulls” packets towards the last-hop router. Note that only a single multicast router (forwarder) should forward packets for a route over a specific link of the tree.
0013A computer network may also be segregated into a series of logical network segments. U.S. Pat. No.5,394,402, issued Feb. 28, 1995 (the “402 Patent”), and U.S. Pat. No. 5,959,989, issued Feb. 28, 1999 (the “989 Patent” that is commonly owned with this application), for example, disclose multicast distributions in a VLAN environment. These patents are incorporated herein by reference. Specifically, according to the '402 Patent, any number of physical ports of a particular switch may be associated with any number of groups within the switch by using a virtual local area network (VLAN) arrangement that virtually associates the port with a particular VLAN designation.
0014The VLAN designation for each port is stored in a memory portion of the switch such that every time a message is received on a given access port the VLAN designation for that port is associated with the message. Association is accomplished by a flow processing element which looks up the VLAN designation in the memory portion based on the particular access port at which the message was received. In many cases, it may be desirable to interconnect a plurality of these switches in order to extend the VLAN associations of ports in the network. However, since more than one port can be associated with the same VLAN, multicast transmissions will be sent to all those ports, possibly flooding those ports.
0015To limit the traffic caused by registration messages, only one entity per LAN typically transmits such a request. Other interested entities listen in on the requests of their neighbors and rely on the first subscription request, rather than making their own individual requests, to ensure that messages are delivered to their LAN. Bridges and switches may perform additional filtering so that multicast routers receive only one subscription request per router interface. In particular, bridges and switches may be configured to monitor the IGMP messaging between subscribing entities and multicast routers to learn which of their ports lead either to a multicast router or to at least one entity subscribing to a particular multicast group address. This configuration is referred to as IGMP snooping.
0016To distribute multicast messages, routers may employ a multicast routing algorithm, such as multicast open shortest path first (MSOPF) or distance vector multicast routing protocol (DVMRP). With MSOPF and DVMRP, routers construct a spanning tree per multicast group address that basically includes all group members. The routers is then build multicast forwarding tables for use in distributing multicast messages. DVMRP, in particular, creates an overlay topology on top of the computer network consisting of several multicast-capable islands interconnected by tunnels. Upon receipt of a multicast message, both MSOPF and DVMRP utilize a multicast forwarding algorithm, such as reverse path forwarding (RPF), to determine whether the message should be forwarded. In response to receiving a multicast message from a particular source, a multicast router using RPF first determines which interface it uses to send unicast messages to the source. If the multicast message was received on the same interface used to send unicast messages, the router forwards the multicast message onto those interfaces that are coupled to subscribers of the message. If the multicast message is received on an interface other than the one used to reach the source, the router discards the message as it is probably a duplicate of a message already forwarded by the router.
0017Known multicast distribution techniques provide access control lists (ACL) that are implemented at the internetwork layer, L3, of the well known Internet Protocol stack. But ACL's at the L3 layer do not meet the requirements of edge routers with multiple ports connected to a VLAN. An ACL can be configured to accept or deny an IGMP re-quest, but for end users connected by a VLAN to several ports of the respective edge router, the multicast is sent to all those ports. As mentioned above the same limitations exists where the ACL's are tied to specific platforms and where the ports may be flooded with multicast requests and subsequent transmissions. Moreover, configuring such ACL's with two IP source addresses, one for the reporter and one for the channel to be joined under the IGMPv3 protocol is not feasible, and such ACL's lack multicast information base (MIB) support.
0018Some switching platforms support IGMP filtering using ACL's, but do not implement the source filtering of the IGMPv3 protocol.
0019Multicast has found its way into cable TV, where providers are sending “video over IP” to end users. This is typically achieved using the Ethernet-to-the-home (ETTH) deployment where video, voice and data are carried over a single Ethernet media to the end users. IP multicast provides for optimal bandwidth utilization, so the content providers multicast video streams via ETTH using PIM-SM (Protocol Independent Multicast-Spare Mode) or Bi-directional PIM.
0020In the ETTH deployment, each video channel is assigned a unique multicast group address (a Class D address) and the video channel is distributed in User Defined Protocol (UDP) streams to the multicast group address. Each end user has a set-top-box that has an IP stack and an IGMP stack. The user via the set-top-box sends a IGMP join to the edge router which creates the necessary PIM routing states and starts pushing the video streams to the end user. Access lists are currently used at the L3 interface layer. These access lists are defined to accept/deny and IGMP request, but such an implementation will send multicast traffic to all edge router ports that are connected to a given VLAN, possibly flooding the ports. Access lists are also used in some switch platforms, but these suffer from the same limitation as the L3 implementations.
0021In the known ETTH deployment there is a need for a mechanism where an end user in a VLAN specifies a particular video channel.
0022The present invention is directed to controlling admission to multicast groups that provides source filtering; implementing multicast distribution that does not flood switch ports; and providing a mechanism for the service provider to implement a service/distribution policy.
SUMMARY OF THE INVENTION
0023The present invention is directed to a system and method for controlling access to multicast data traffic at end nodes in a computer network. An Admission Control Module (ACM) executes on an intermediate node of the network to monitor incoming request issued by the end nodes to join, leave or modify membership in multicast groups designated to receive the data. The ACM accepts or denies these requests based on a configurable service policy. The ACM also prevents attacks, such as denial of service (DOS) on the intermediate node by limiting the number of joins and leave states for the multicast group. Moreover, the ACM cooperates with an Explicit Tracking Database maintained by the intermediate node to record statistics of multicast data traffic.
0024In the illustrative embodiment, the intermediate node is a edge (switch) router and the end nodes are multicast receivers or hosts. The incoming requests are preferably IGMP join and leave packets directed to the multicast group destined to receive the multicast data, typically video streams or channels. Furthermore, the service policy comprises a plurality of data structures configurable by a network administrator via a Command Language Interface (CLI) of the router. The data structures illustratively include a Traffic Classification Map (traffic map) and an associated policy map.
0025Specifically the ACM comprises an IGMP snooping process that cooperates with the traffic and policy maps to control access to the video channels at the hosts. The IGMP snooping process examines the incoming IGMP packets and extracts information, for example: source, multicast group and reporter address, as well as port number, etc. This information is applied to the traffic map that classifies the multicast data traffic at least by the following parameters: the IP address of the requesting host, the Media Access Control (MAC) address of the host, the IP address of the multicast groups being joined, the source channel and group addresses, the input interface and Local Area Network (LAN) address of the requester, the IGMP version number, the maximum number of hosts allowed on a port, and the maximum number of groups or channels allowed on a specific port. If the information matches the parameters, an associated policy map is entered to determine if any action associated with the class is required. The policy map of actions includes accepting or denying admission of a requester, logging the time and channel packets sent to the requester, and limiting the number of active routes the edge switch is allowed to form and/or support. Other actions may be used in specific applications.
0026Advantages of the ACM include, at least: controlling access to multicast hosts via the traffic and policy maps; using the Explicit Tracking database to log multicast usage statistics on a per port per user basis; and compiling statistics. These data are regularly sent to the service provider to be used for billings of the end users and for marketing profiles. ACM also limits multicast routing states created on a switch to provide, for example, security from DOS attacks that are often used by hackers to invade such switches and routers.
0027It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to illustrative embodiments, the drawings, and methods of use, the present invention is not intended to be limited to these embodiments and methods of use. Rather, the present invention is of broad scope and is intended to be defined as only set forth in the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
0028The invention description below refers to the accompanying drawings, of which:
0029<figref idref="DRAWINGS">FIG. 1</figref> is a schematic block diagram of a computer network that can be advantageously used with the present invention;
0030<figref idref="DRAWINGS">FIG. 2</figref> is a schematic block diagram of a router;
0031<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram of conventional Internet protocol layered stack;
0032<figref idref="DRAWINGS">FIG. 4</figref> is an example of a multicast forwarding table that may be advantageously used with the present invention;
0033<figref idref="DRAWINGS">FIG. 5</figref> is a functional block diagram of an edge router in accordance with the present invention;
0034<figref idref="DRAWINGS">FIGS. 6A, 6B</figref>, and <b>6</b>C are information formats of IGMPv3 messages; and
0035<figref idref="DRAWINGS">FIG. 7</figref> is a flowchart illustrating steps implementing a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
0036<figref idref="DRAWINGS">FIG. 1</figref> is a schematic block diagram of a computer network <b>100</b> that can advantageously incorporate an embodiment of the present invention. The computer network <b>100</b> comprises a collection of communication links, segments and sub-networks connected to a plurality of nodes, such as end nodes <b>110</b> and intermediate network nodes <b>200</b>. The links, segments and sub-networks may comprise local area networks (LAN's) <b>120</b>, virtual LAN's (VLAN's) <b>201</b>, wide area networks (WAN's) such as Internet <b>170</b> and WAN links <b>130</b> interconnected by intermediate nodes <b>200</b>, such as network switches or routers, to form a network of computer nodes. A sub-network is shown of edge router R<b>1</b> having two ports, P<b>1</b> and P<b>2</b>, connected to LAN's <b>121</b> and <b>123</b>, respectively. However, those two LAN's may also be part of a VLAN connecting end users <b>204</b>. Another port P<b>3</b> may connect to another LAN.
0037For video multicast, LAN's are, typically, Ethernet-to-the-home (ETTH) networks. But in other instances Token ring or other network types may connect to end users. The nodes and routers communicate with each other by exchanging data packets according to a predefined set of protocols, such as a user defined protocol (UDP) or the Transmission Control Protocol/Internet Protocol (TCP/IP), but edge routers, e.g. R<b>1</b>, connecting to LAN's operating under various other protocols must encapsulate the messages to accommodate the LAN protocol. UDP's typically include in their headers source, destination, message length and checksum fields in front of the data field. UDP's distinguish among multiple destinations, but usually do little else. However, even with such deficiencies (which may be handled in the applications) UDP's have found widespread use.
0038For ETTH connected end users, the encapsulating addressing scheme accommodates the Ethernet framing. Since such framing or encapsulation is known in the art, no further discussion is included, except for some relevant details. However, to use the present invention the end users, as discussed below, must include IP and IGMPv3 stacks and protocols <b>220</b> in order to join, leave, or change the multicast channels delivered to any one user. The end users <b>204</b> connecting to the VLAN, in this case, desire to join multicast groups. Such end users a have set-top-boxes <b>220</b> that implement IP and IGMPv3 stack protocols. The IP and IGMPv3 stack capability allows the end users to transmit Membership Queries and Reports, discussed herein.
0039To reiterate, these end users typically are connected together in an Ethernet LAN (ETTH) and the software in the set-top box and the RI are configured to properly encapsulate ETTH messages in the IP (IGMPv3) protocols.
0040<figref idref="DRAWINGS">FIG. 2</figref> is a schematic block diagram of the edge router R<b>1</b>. In this instance, the router is configured as a multicast router, that may advantageously be used in conjunction with an embodiment of the present invention. The router R<b>1</b> comprises a plurality of loosely coupled route processors <b>210</b> connected to a plurality of interface cards <b>260</b> that input (Rx) and output (Tx) messages. The interface cards are joined by an interconnect fabric <b>250</b> such as, e.g., a crossbar interconnection switch or high-speed bus. Those skilled in the art will recognize that other router platforms such as, e.g., a uniprocessor system or a plurality of independent nodes interconnected via a communications fabric as a multi-node cluster, could be used in accordance with the invention. In this context, the term “node” denotes a computer or processor complex comprising processors and an independent memory shared by the processors.
0041The route processors <b>210</b> often are configured as active and standby pairs, with each processor having a dedicated memory. The memory may comprise storage locations addressable by the processor for storing software programs and data structures associated ciated with the invention. The route processors <b>210</b> may comprise processing elements or logic for executing the software programs and manipulating the data structures. A router operating system <b>232</b>, portions of which are typically resident in memory and executed by the processor, functionally organizes the router by, inter alia, invoking network operations in support of software processes executing on the processors. These software processes include Protocol Independent Multicast (PIM) <b>234</b>, Routing Information Base (RIB) <b>236</b>, Intermet Grpoup Management Protocol version 3 (IGMPv3) <b>235</b>, Multicast Route Information BASE (MRIB) <b>238</b>, and the inventive Admission Control Module (ACM) <b>500</b>. It will be apparent to those skilled in the art that other processor and memory means, including various computer readable media, may be used for storing and executing program instructions pertaining to the inventive technique described herein.
0042Each route processor <b>210</b> preferably comprises two central processing units, e.g., Power-PC 7460 chips, configured as a symmetric multiprocessing (SMP) pair. The CPU SMP pair is adapted to run a single copy of the router operating system <b>232</b> and access its memory space <b>230</b>.
0043PIM <b>234</b> relies on an underlying topology-gathering protocol to populate a unicast routing table of a RIB <b>236</b> to establish and maintain routes. As used herein, a route comprises, inter alia, a combination of a set of path attributes and a prefix. The routes in the RIB table may be provided directly from the unicast routing table or by separate routing protocols, such as the Border Gateway Protocol version 4 (BGP4) and Multi-Protocol Extensions to BGP4 (MBGP). BGP4 is an interdomain routing protocol used to perform interdomain routing (for the internetwork layer) through the computer network. The neighboring routers (hereinafter “neighbors”) exchange routing and network layer reachability information (NLRI) among autonomous systems over a reliable transport layer connection, such as TCP. An adjacency is a relationship formed between selected neighbors for the purpose of exchanging routing messages and abstracting the network topology. The BGP4 routing protocol standard is well known and described in <i>Request For Comments (RFC) </i>1771, by Y. Rekhter and T. Li (1995), which is hereby incorporated herein by reference.
0044BGP4 is generally capable of only carrying routing information for IPv4; accordingly, MBGP extends BGP4 to allow carrying of routing information for multiple network layer protocols, including IPv6 addresses. MBGP extends BGP4 to associate these network layer protocols with next hop information and NLRI, including NLRI for multicast forwarding. Address Family Identifiers (AFIs) and Subsequent Address Family Identifiers (SAFIs) are used to identify the network layer protocols and the type of NLRI. MBGP and AFI/SAFI Address Family are well known and described in <i>RFC </i>2858, by T. Bates et al. (2000) and <i>RFC </i>1700 by J. Reynolds et al (1994), which are hereby incorporated herein by reference.
0045In the illustrative embodiment, the router operating system <b>232</b> implements multicast components as separate software process modules that are distributed over active route processors <b>210</b> and line cards <b>260</b> which, in turn, are individually hot-swapable and may have redundant (standby) backups. To that end, the multicast modules include Multicast Forwarding Information Bases (MFIB's) <b>1</b>-N <b>480</b> executing on the line cards and multicast components including the RIB <b>236</b>, PIM <b>234</b>, IGMPv3 <b>235</b>. ACM <b>500</b>, and a MRIB <b>238</b> executing on the route processors <b>210</b>. Operationally, the router builds the MRIB <b>238</b> (and, more specifically, its multicast routing table) after exchanging routing information with the neighbors. For example, PIM provides MRIB with a chosen reverse path forwarding (RPF) address and interface for each route, which is used to accept packets for forwarding through the router. The primary role of the MRIB <b>238</b> is to facilitate communication between the various multicast components, i.e., coordinate distribution of state between the protocol applications (e.g., PIM, IGMPv3, etc.) and between these protocols and MFIB. As a result, MRIB provides the routing information and a multicast-capable path to each multicast destination. The MFIB <b>480</b> is derived from the MRIB and is embodied as one or more multicast forwarding tables <b>400</b> that are populated on the line cards <b>260</b> and whose contents describe how to forward data packets through the router.
0046In the illustrative embodiment, the line cards <b>260</b> perform forwarding of the data traffic, while the route processors <b>210</b> handle routing and control of the data traffic forwarding. The interface <b>260</b> has a plurality of ports <b>256</b> with transmitting and receiving interface <b>270</b> electronics. The interface <b>270</b> is coupled to a receive forwarding processor (FP Rx) and a transmit forwarding processor (FP Tx). The FP Rx renders a forwarding decision for each packet received at a port and determines where to forward the packet. To that end, the FP Rx makes use of a multicast forwarding information base (MFIB) <b>480</b>, described further herein. In the event that the packet is to be forwarded to one of the router's two route processors, the FP Rx makes use of an internal forwarding information base (IFIB) to determine to which route processor the packet should be forwarded. Likewise, the FP Tx performs lookup operations (using MFIB) on a packet transmitted from the router via one or more ports.
0047A key function of routers in general is determining one or more interfaces to which a packet is forwarded in the router; in order to accomplish such “routing” the routers cooperate to determine best paths through the computer network <b>100</b>. The routing function is preferably performed by an internetwork layer (L3) of a conventional IP protocol stack within each router. <figref idref="DRAWINGS">FIG. 3</figref> is a schematic block diagram of the well known conventional network protocol stack, such as the Internet communications protocol stack <b>300</b>. The architecture of the Internet protocol stack is represented by four layers termed, in ascending interfacing order, the network interface layer <b>308</b>, the internetwork layer <b>306</b>, the transport layer <b>304</b> and the application layer <b>302</b>.
0048The lower network interface layer <b>308</b>, is generally standardized and implemented in hardware and firmware, whereas the higher layers are typically implemented in software. The primary internetwork layer (L3) protocol of the Internet architecture is the IP protocol (IP). IP is primarily a connectionless protocol that provides for internetwork routing, fragmentation and assembly of exchanged packets—generally referred to as “datagrams” in an Internet environment—and which relies on transport protocols for end-to-end reliability and other service characteristics. An example of such a transport protocol is the UDP (described above) and the TCP protocol. The TCP is implemented by the transport layer <b>304</b> and provides connection-oriented, end-to-end reliability services to the upper layer protocols of the Internet architecture. The term TCP/IP is commonly used to denote the Internet architecture.
0049In particular, the internetwork layer <b>306</b> is concerned with how packets are forwarded through the network, although typically it is not directly concerned with how the MFIB's are calculated. Examples of multicast protocols, mentioned above, that may be advantageously used with the present invention include the PIM-Sparse Mode (PIM-SM) and PIM Source Specific Multicast (PIM-SSM) routing protocols, along with IGMPv3.
0050<figref idref="DRAWINGS">FIG. 4</figref> shows a MFIB multicast forwarding table <b>400</b> that comprises a plurality of entries <b>410</b>, each of which is populated by a multicast routing protocol, such as PIM, with routing information (i.e., a route). Each entry <b>410</b> includes a group address field <b>412</b> containing a multicast group network (IP) address, a source address field <b>414</b> containing a source IP address and a mask field <b>416</b> containing a mask value indicating the number of most significant bits of the group (and source) address needed to form a prefix.
0051Each MFIB forwarding table entry <b>410</b> also includes an ingress interface field <b>420</b> that specifies an interface on which an incoming multicast packet should be accepted, as well as an interface(s) field <b>430</b> containing a list of output (forwarding) interfaces over which the incoming packet should be forwarded. One or more control flags <b>422</b>, <b>4532</b> may be associated with each interface of the entry, wherein the control flags specify certain actions/behavior to be taken by the router in response to the reception of the incoming packet. For example, a control flag F <b>434</b> indicates whether an accepted multicast packet matching the entry is to be forwarded over an associated interface, a control flag SP <b>436</b> is used to signal the route processor of the arrival of a multicast data packet and a control flag NS <b>438</b> is used to control the behavior of a forwarding engine (i.e., MFIB) in asserting the SP flag <b>436</b>. Examples of control flags that may be advantageously used with the present invention are provided in U.S. patent application Ser. No. 10/376,006 titled Multicast-Routing-Protocol-Independent Realization of IP Multicast Forwarding, by I. Kouvelas et al, filed Feb. 28, 2003, which is hereby incorporated by reference as though fully set forth herein.
0052In response to receiving the incoming packet from a neighbor, the MFIB <b>480</b> performs a lookup into its forwarding table <b>400</b> to find a route of an entry <b>410</b> that matches a multicast destination address of the packet. The matching route instructs the router as to which interfaces the packet should be forwarded. For certain multicast routing protocols (such as PIM-SM and PIM-SSM), the multicast packet is typically accepted on a single interface, i.e., the RPF interface that represents the shortest path to the source, and is forwarded out a set of egress interfaces to other destinations (routers) that have expressed interest in receiving the data traffic. The ingress interface <b>420</b> for the matching entry may have one or more asserted control flags <b>422</b>. The MFIB is configured to notify the route processor whenever an IGMPv3 packet arrives, and the ACM is configured to snoop all such arriving packets.
0053<figref idref="DRAWINGS">FIG. 5</figref> is a schematic block diagram of the admission Control Module (ACM) <b>500</b> that executes on an intermediate node of the network to monitor incoming request issued by the end nodes to join, leave or modify membership in multicast groups designated to receive data. The ACM accepts or denies these requests based on a configurable service policy. The ACM also prevents attacks, such as denial of service (DOS) on the intermediate node by limiting the number of joins and leave states for the multicast group. Moreover, the ACM cooperates with an Explicit Tracking Database <b>512</b> maintained by the intermediate node to record statistics of multicast data traffic for later reporting to an administrator (ISP).
0054The ACM <b>500</b> includes a process <b>502</b> that snoops <b>502</b> the IGMPv3 packets <b>504</b>, e.g. the joins and reports from all end users, and classifies the traffic via a traffic map <b>506</b>. A service policy map <b>508</b> associated with the traffic map is entered and the applicable service policy control is implemented via CLI. This allows the ACM to monitor and track the specific end users and the ports through which the joins traveled.
0055The ACM comprises an IGMP snooping process <b>502</b> that cooperates with the traffic <b>506</b> and policy <b>508</b> maps to control access to the video channels at the hosts. The IGMP snooping process examines the incoming IGMP packets and extracts certain information, for example: source and reporter addresses, as well as port numbers, etc. This information is applied to the traffic map that classified the multicast traffic at least by the following parameters: the IP address of the requesting host, the MAC address of the host, the IP address of the multicast groups being joined, the source channel and group addresses, the input interface and Local Area Network (LAN) address of the requestor, the IGMP version number, the maximum number of hosts allowed on a port, and the maximum number of groups or channels allowed on a specific port. If the information matches the parameters, the associated policy map is accessed to determine if any action associated with the class is required. The policy map of actions includes accepting or denying admission of the requestor, logging the time and channel packets sent to a requestor, and limiting the number of active routes the edge switch is allowed to form and/or support.
0056As is known, IGMPv3 adds source filtering to the earlier IGMP versions—that is the ability for a particular system to report interest in receiving packets only from specific source addresses, to support “Source Specific Multicast” (SSM). The logic mechanism within IGMPv3 allows an end user to specify receipt from “only” specific source addresses or from all source addresses “but for” certain specific source addresses. See the incorporated by reference IGMPv3 specification.
0057Generally within an IP system, there is a “service interface” used by upper-layer protocols and/or application program to direct the IP layer to enable or disable reception of packets sent to specific IP multicast (Class D) addresses. This service interface must support the following operation: IPMulticastListen (socket, interface, multicast-address, filter-mode, source-list). Summarizing these arguments: the “socket” distinguishes among different requesting entities within the system; the “interface” identifies the network interface which will be enabled or disabled from receiving multicast packets; the “multicast address” is the group to which the request pertains; “filter-mode” is the action of including sources or excluding sources sent to the multicast address to be received; “source-list” is the list of unicast addresses from which reception is desired or not. When multicast reception is desired the above command can have empty source-lists which function as requests to “join” a group or “leave” a group, as discussed below.
0058For each socket of an IPMulticastListen, the system records the desired multicast reception state for that socket. That state includes the interface associated with the socket, the multicast address, the source-list and the filter-mode. For each interface the system maintains or computes the multicast reception state for each of the interfaces. That state includes multicast address, filter-mode, and source-list.
0059IGMPv3 message formats classified as Membership Queries and Membership Reports have formats as follows.
0060<figref idref="DRAWINGS">FIG. 6A</figref> shows an IGMPv3 record packet format Membership Query. The type <b>602</b> field determines the type of IGMPv3 message. The different types include Membership Queries where routers ask the multicast reception state of neighboring interfaces—which interfaces have members attached on their local networks, only the most relevant headings are discussed as this format is known to the skilled in the art. The type <b>602</b> for a Query is 0x11, and other codes are used for reports, including “joins” and “leave(ing)” groups, etc. The group address <b>604</b> is set to a specific IP multicast address being queried, and is set to zero when sending a general query to all neighboring multicast interfaces. The number of sources <b>606</b> specifies how many source addresses are present in the query. This number is non-zero for a group-and-source specific query, and may be limited by the “packet” size of the network over which the query is transmitted. For example, over an Ethernet only 1464 octets (or 366 IP addresses (1464/4)) are available for source address, after headers, etc. The source addresses <b>608</b> are vectors of the number (the no. of sources <b>606</b>) of IP unicast addresses.
0061Membership reports are sent by IP systems to report the current multicast receptions state (or changes) and have the format of <figref idref="DRAWINGS">FIG. 6B</figref>. The number of groups <b>622</b> specifies how many group records are present in the report. Each group record contains information pertaining to the sender's membership in a single multicast group on the interface from which the report is being sent. Each group record has the format shown in the <figref idref="DRAWINGS">FIG. 6C</figref>.
0062Referring to <figref idref="DRAWINGS">FIG. 6C</figref>, the No. or sources <b>614</b> specifies how many source addresses are present in this particular group record. The multicast address <b>616</b> is the IP multicast address to which the group record pertains. The source addresses <b>618</b> are vectors from each of IP unicast source addresses listed.
0063There are a number of different Report types that may be found in a report message. One type is the current state record where source address fields specifies the data stream from source addresses that will be sent to the reporting system (either by listing those included or by listing those excluded). Another type is sent by a system whenever a change in the current state record. A “join”operations is an IP multicast “listen” command, EXCLUDES, with zero source addresses; and a “leave” operation is a command, INCLUDES, with zero sources addresses. See the included by reference IGMPv3 specification for more detail.
0064The checksum's are the well known one's complement of the whole IGMP message.
0065More relevant to embodiments of the present invention are: the number of sources <b>606</b> that specifies how many (n) source addresses are present in the query. This number is zero in a General Query or Group-specific query, and none zero for a group-and-source specific query. The source addresses are a vector from n IP unicast addresses.
0066In this embodiment, the ACM, inter alia, will track the number of channels joined from a port, the number of joins received from a port, the number of ports that have subscribed to a channel, and the time-period that a port was a member of a channel. This, of course, is information that the ISP will use for implementing a distribution policy. In particular, IGMPv3 reports (see below) are not suppressed so they are received by the edge route processor <b>210</b> or switch and are “snooped,” or read, by the ACM module <b>502</b> in conjunction with the IGMPv3 protocol. The ACM snoops IGMPv3 packets to learn and maintain group memberships and determine which ports are requesting to receive which multicast addresses from which source. At the switch level the specific ports to end users on SI receiving requests to join specific groups are read by the ACM. This information is used stored so that when multicast traffic is received at S<b>1</b> it is directed only to only those ports so interested. The traffic is not directed to those ports where no end user either requested or has the status to receive the multicast. For example, referring to <figref idref="DRAWINGS">FIG. 1</figref>, consider one end user in the VLAN requests and is accepted into a group for receiving a video channel. Typically the router R<b>1</b> would send the multicast to the VLAN network. But since the VLAN is connected to R<b>1</b> via P<b>1</b> and P<b>2</b> the packets would be sent to both ports. But, with the ACM, the video packets are directed only to the one port through which the request was received.
0067<figref idref="DRAWINGS">FIG. 7</figref> is an specific example of a flow chart illustrating a preferred embodiment of the present invention. Generally the decision is whether the IGMPv3 request should be accepted or denied. In a preferred embodiment, the command language interface (or interpreter) (CLI) is used to configure the policy to maintain a clean separation between the definition of traffic classes and the specification of the policies that applies to different classes. Those skilled in the art may define other arrangements of traffic classes and apply additional policies.
0068In a preferred embodiment the traffic classes are based upon: 1) IP address of the host requesting access to multicast applications, 2) MAC (Media Access Control) address of the host, 3) IP address of the multicast group being joined, 4) Channel address of a multicast stream (source, group-IP), 5) Input Interface, VLAN ID attached to a host, 6) IGMP protocol version (v3), 7) maximum no. of hosts allowed on a port, and 8) maximum number. of groups or channels allowed on a specific port.
0069In one embodiment, once traffic classification is complete, the following policy actions may be applied to packets matching a traffic classification: 1) Accept, 2) Deny, 3) Log, and 4) Limit.
0070When the ACM detects join messages it extracts the IP address, the multicast group IP address, the specific port requesting to join, and the reporter address found in the join request. If there are any service policy actions attached to the port from which the join received, the ACM determines if the packet matches the traffic class and criteria specified by the service policy. If there is a match the action is executed. In a preferred embodiment, if there is no policy the packet is processed with no denying access to any source. If the policy is “deny” the requesting host is prevented from gaining access to the designated channel.
0071Advantageously, the ACM snoops, tracks and accumulates statistics (LOG) in an Explicit Tracking Table, the data including, 1) the number of channels joined from each port, 2) the number of joins received from a port, 3) the number of ports subscribed for a channel, and 4) the time period that a port was a member of a channel. The statistic and data are made available to the ISP to generate billings and for other marketing information.
0072As mentioned above, in a preferred embodiment, there is a “LIMIT” action that may be used for preventing DOS attacks. DOS attacks try to create large streams of joins/leaves that will cause the PIM to create large routing structures or tie up the processors. If unchecked such attacks will eventually crash the system. The ACM, in an illustrative embodiment, would be loaded with a predetermining a maximum number of “joins” allowed by the switch, or “joins” received from a port, or the number of ports subscribed for a channel, or combinations thereof or of other relevant parameters. The ACM would track the number involved and compare it to the limit. When the limit is reached any additional joins will always be denied regardless of the traffic and service policy. The limit parameter may be stored in the tracking table described below, but in any event the PIM <b>234</b> and the MRIB <b>238</b> may participate in implementing such limits.
0073The <figref idref="DRAWINGS">FIG. 7</figref> flow chart, in a preferred embodiment, begins at <b>700</b> where channel sources, like video sources, are assigned multicast IP addresses, and continues at <b>704</b> where video streams of packets are sent to these assigned addresses. Traffic class maps and service policy maps pertaining to the traffic classes and the requesting ports have been previously established at <b>706</b> by an administrator, for example, of an ISP. At <b>708</b> an end user sends an IGMPv3 join Report to its local switch. The ACM snoops the IGMPv3 packets received and if a join message is detected at <b>710</b>, the ACM extracts all the traffic classification information (see the list above), and via the traffic map, checks the policy map at <b>712</b>. If an action is found, it is automatically applied to the requesting port <b>714</b>.
0074For example, after the ACM <b>500</b> classifies the traffic, it interrogates the Policy <b>25</b> map <b>508</b> that is tied to a particular traffic class and to a particular interface to determine and apply any policy found. If the action is to deny admission, the requestor does not become a member of the group, or if already a member the requestor is removed from the group and/or from the forwarding table. However, other ways to accomplish the action specified may be used by those skilled in the art.
0075An example of a logging record in the tracking table, <b>514</b>, for each source channel, may include the following:
0076a) a time stamp for the first join and the MAC address of the receiver;
0077b) the time stamp of the last to leave and the MAC address of the receiver;
0078c) how long the channel is active or up;
0079d) the list of port numbers with receivers;
0080e) the source IP address;
0081f) MAC address for each receiver;
0082g) the number of channels joined from each port;
0083h) the number of joins/leaves/queries from each port; and
0084i) the number of ports/receivers subscribed to a channel.
0085As is known in the art, switches, bridges, routers, etc, are configured to send and receive control messages among themselves. The particular switch's IP address, for example, and the op code field is recognized as a control message to that switch. The switch is configured to respond accordingly. For example, as mentioned above, the ISP policy regarding particular ports can be communicated to the edge router in this manner. Data, for example, of usage of a particular video channel by a specific user can be relayed to an ISP for billing, marketing profiles, etc. As known to those skilled in the art, the ISP may interrogate the switch or the data in the switch may be automatically sent to the ISP on some preloaded schedule.
0086The foregoing description has been directed to specific embodiments of this invention. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. For instance, it is expressly contemplated that the teachings of this invention, including the various multicast components described herein, can be implemented as software, including a computer-readable medium having program instructions executing on a computer, hardware, firmware, or a combination thereof In addition, it is understood that the data structures described herein can include additional information while remaining within the scope of the present invention. Accordingly this description is to be taken only by way of example and not to otherwise limit the scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.
Contents5
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2009049659A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2011145837A1 | Cited by | United States of America | Pre-grant |
| US2010054249A1 | Cited by | United States of America | Pre-grant |
| US8345540B2 | Cited by | United States of America | Search report |
| US2009285212A1 | Cited by | United States of America | Pre-grant |
| US2014289813A1 | Cited by | United States of America | Pre-grant |
| CN102739532A | Cited by | China | Search report |
| US10735214B2 | Cited by | United States of America | Applicant |
| US2013286921A1 | Cited by | United States of America | Pre-grant |
| WO2008023130A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8416777B2 | Cited by | United States of America | Search report |
| US11582258B2 | Cited by | United States of America | Search report |
| US2013128774A1 | Cited by | United States of America | Pre-grant |
| US8437350B2 | Cited by | United States of America | Applicant |
| EP2452470A1 | Cited by | European Patent Office (EPO) | Search report |
| US8189584B2 | Cited by | United States of America | Applicant |
| US2007262653A1 | Cited by | United States of America | Pre-grant |
| EP2202919A4 | Cited by | European Patent Office (EPO) | Search report |
| US2010054247A1 | Cited by | United States of America | Pre-grant |
| US8203943B2 | Cited by | United States of America | Search report |
| US11424961B2 | Cited by | United States of America | Search report |
| WO2008023130A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2016335418A1 | Cited by | United States of America | Pre-grant |
| US9294534B2 | Cited by | United States of America | Applicant |
| US8427944B2 | Cited by | United States of America | Search report |
| JP2010502071A | Cited by | Japan | Examiner |
| WO2009140983A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8416778B2 | Cited by | United States of America | Search report |
| US2011149960A1 | Cited by | United States of America | Pre-grant |
| US2009147786A1 | Cited by | United States of America | Pre-grant |
| US8184630B2 | Cited by | United States of America | Applicant |
| US10027497B2 | Cited by | United States of America | Applicant |
| EP2073457A1 | Cited by | European Patent Office (EPO) | Search report |
| US10367715B2 | Cited by | United States of America | Search report |
| US2009310609A1 | Cited by | United States of America | Pre-grant |
| CN102474445A | Cited by | China | Search report |
| US8582572B2 | Cited by | United States of America | Applicant |
| US7593402B2 | Cited by | United States of America | Search report |
| US2009190587A1 | Cited by | United States of America | Pre-grant |
| US10049191B2 | Cited by | United States of America | Search report |
| US2010202452A1 | Cited by | United States of America | Pre-grant |
| US2018343133A1 | Cited by | United States of America | Search report |
| WO2008046336A1 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US8514724B2 | Cited by | United States of America | Search report |
| US8340095B2 | Cited by | United States of America | Applicant |
| US9240893B2 | Cited by | United States of America | Applicant |
| US2011058551A1 | Cited by | United States of America | Pre-grant |
| US2005125420A1 | Cited by | United States of America | Pre-grant |
| US9485107B2 | Cited by | United States of America | Search report |
| US2010172352A1 | Cited by | United States of America | Pre-grant |
| US8422499B2 | Cited by | United States of America | Applicant |
| US2008159301A1 | Cited by | United States of America | Pre-grant |
| US7768932B2 | Cited by | United States of America | Search report |
| US2011010441A1 | Cited by | United States of America | Pre-grant |
| EP2073457A4 | Cited by | European Patent Office (EPO) | Search report |
| US2011211578A1 | Cited by | United States of America | Pre-grant |
| US2009059935A1 | Cited by | United States of America | Pre-grant |
| US2009319689A1 | Cited by | United States of America | Pre-grant |
| WO2011073391A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2010316050A1 | Cited by | United States of America | Pre-grant |
| US2010100637A1 | Cited by | United States of America | Pre-grant |
| US8064449B2 | Cited by | United States of America | Applicant |
| US9363268B2 | Cited by | United States of America | Search report |
| US2010014519A1 | Cited by | United States of America | Pre-grant |
| WO2009049659A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2013279504A1 | Cited by | United States of America | Pre-grant |
| US8014394B2 | Cited by | United States of America | Search report |
| US2007064695A1 | Cited by | United States of America | Pre-grant |
| WO2008085350A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2010183008A1 | Cited by | United States of America | Pre-grant |
| US2012278898A1 | Cited by | United States of America | Pre-grant |
| US8086716B2 | Cited by | United States of America | Applicant |
| US2013163474A1 | Cited by | United States of America | Pre-grant |
| US8804723B2 | Cited by | United States of America | Search report |
| US8355348B1 | Cited by | United States of America | Applicant |
| US2010020796A1 | Cited by | United States of America | Pre-grant |
| US10778564B2 | Cited by | United States of America | Applicant |
| US2012230331A1 | Cited by | United States of America | Pre-grant |
| US11070386B2 | Cited by | United States of America | Search report |
| US2010172353A1 | Cited by | United States of America | Pre-grant |
| US2009240804A1 | Cited by | United States of America | Pre-grant |
| EP2202919A1 | Cited by | European Patent Office (EPO) | Search report |
| US8094602B2 | Cited by | United States of America | Search report |
| US2011149961A1 | Cited by | United States of America | Pre-grant |
| US2022247779A1 | Cited by | United States of America | Search report |
| US10862826B2 | Cited by | United States of America | Search report |
| US2012182885A1 | Cited by | United States of America | Pre-grant |
| US9363227B2 | Cited by | United States of America | Search report |
| US2013195107A1 | Cited by | United States of America | Pre-grant |
| US9252970B2 | Cited by | United States of America | Search report |
| US2014052831A1 | Cited by | United States of America | Pre-grant |
| US8503446B2 | Cited by | United States of America | Search report |
| US2022337441A1 | Cited by | United States of America | Search report |
| US7640333B1 | Cited by | United States of America | Applicant |
| US7808993B2 | Cited by | United States of America | Search report |
| US8776256B2 | Cited by | United States of America | Search report |
| US2007047545A1 | Cited by | United States of America | Pre-grant |
| US8644310B2 | Cited by | United States of America | Applicant |
| US8270406B2 | Cited by | United States of America | Applicant |
| US2010254383A1 | Cited by | United States of America | Pre-grant |
2 members in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2646504 | United States of America | A | |
| US20040026465 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2006146857A1 | United States of America | A1 | |
| US7835276B2 | United States of America | B2 |
64 transactions on the USPTO file
Allowed after 3 non-final rejections, 2 final rejections and 2 RCEs.
- Non-final rejections
- 3
- Final rejections
- 2
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| Small Entity Statement (37 CFR 1.27)SES | SES | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Cleared by L&R (LARS)L128 | L128 | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20060146857
- Publication, DOCDB
- 2006146857
- Publication, EPODOC
- US2006146857
- Application
- 11026465
- Application, DOCDB
- 2646504
- Application, EPODOC
- US20040026465
Titles
- English
- Admission control mechanism for multicast receivers
Classification
- CPC, 10
- H04L12/1428
- H04L12/185
- H04L47/15
- H04L47/20
- H04L47/2441
- H04L47/765
- H04L47/806
- H04L63/101
- H04L63/1458
- H04L47/70
- IPC, 2
- H04L12 56
- H04L12 28
- USPC, 3
- 370432000
- 370230000
- 370390000