Upstream label assignment for the label distribution protocol

Information

  • Patent Grant
  • 8488614
  • Patent Number
    8,488,614
  • Date Filed
    Monday, November 22, 2010
    15 years ago
  • Date Issued
    Tuesday, July 16, 2013
    12 years ago
Abstract
The invention is directed toward techniques for Multi-Protocol Label Switching (MPLS) upstream label assignment for the Label Distribution Protocol (LDP). The techniques include extensions to the LDP that enable distribution of upstream assigned labels from an upstream router to two or more downstream routers of a tunnel established over a network. The tunnel may comprise a LDP Point to Multi-Point (P2MP) Label Switched Path (LSP), an Internet Protocol (IP) multicast tunnel, or a Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE) P2MP LSP. The techniques also include extensions to the LDP that enable a router to advertise upstream label assignment capability to neighboring routers in the network. The MPLS upstream label assignment using LDP described herein enables a branch router to avoid traffic replication on a Local Area Network (LAN) for LDP P2MP LSPs.
Description
TECHNICAL FIELD

The invention relates to computer networks and, more particularly, to engineering traffic flows within computer networks.


BACKGROUND

Routing devices within a network, often referred to as routers, maintain routing information that describe available routes through the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with one or more defined routing protocol, such as the Border Gateway Protocol (BGP).


The term “link” is often used to refer to the connection between two devices on a network. The link may be a physical medium, such as a copper wire, a coaxial cable, any of a host of different fiber optic lines or a wireless connection. In addition, network devices may define “virtual” or “logical” links, and map the virtual links to the physical links As networks grow in size and complexity, the traffic on any given link, including peering links, may approach a maximum bandwidth capacity for the link, thereby leading to congestion and loss.


Multi-Protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. By utilizing MPLS, a source device can request a path through a network to a destination device, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the source device to a destination device. Each router along a LSP allocates a label and propagates the label to the closest upstream router along the path. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path. In order to carry multicast packets, a source device can request a path through a network to multiple destination devices, i.e., a Point to Multi-Point (P2MP) LSP.


In the case of a P2MP LSP, one or more of the routers along the path may comprise branch routers located at points where the path divides. In addition to performing MPLS operations to forward the MPLS multicast packets along the path, the branch routers perform replication of the multicast packets such that each branch of the P2MP LSP continues to carry copies of the multicast packets. A variety of protocols exist for establishing LSPs. For example, the Label Distribution Protocol (LDP), and the Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE).


SUMMARY

In general, the invention is directed toward techniques for Multi-Protocol Label Switching (MPLS) upstream label assignment for the Label Distribution Protocol (LDP). The techniques include extensions to the LDP that enable distribution of upstream assigned labels from an upstream router to two or more downstream routers of a tunnel established over a network. The tunnel may comprise a LDP Point to Multi-Point (P2MP) Label Switched Path (LSP), an Internet Protocol (IP) multicast tunnel, or a Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE) P2MP LSP.


The techniques also include extensions to the LDP that enable a router to advertise upstream label assignment capability to neighboring routers in the network. The MPLS upstream label assignment using LDP described herein enables a branch router to avoid traffic replication on a Local Area Network (LAN) for LDP P2MP LSPs.


The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is a block diagram illustrating an exemplary computer network having a tunnel established over the network between an upstream router and two or more downstream routers.



FIG. 2 is a block diagram illustrating an exemplary router capable of supporting LDP with upstream label assignment extensions in accordance with the techniques described herein.



FIGS. 3A and 3B illustrate an exemplary LDP Capability TLV that includes an Upstream Label Assignment Capability sub-TLV used to indicate whether a router supports upstream assigned labels.



FIG. 4 illustrates an exemplary Upstream-Assigned Label Request TLV that signals upstream assigned Label Requests.



FIG. 5 illustrates an exemplary Upstream-Assigned Label TLV that signals upstream assigned labels.



FIGS. 6 and 7 illustrate exemplary LDP Interface ID TLVs that signals a Tunnel Identifier.



FIG. 8 is a flowchart illustrating an exemplary operation of distributing upstream assigned labels using LDP.



FIG. 9 is a block diagram illustrating a computer system including a backbone domain and edge domains.



FIG. 10 is a flowchart illustrating an exemplary operation of nesting an LDP P2MP LSP in an RSVP-TE P2MP LSP using upstream assigned labels.





DETAILED DESCRIPTION


FIG. 1 is a block diagram illustrating an exemplary computer network 12 having a tunnel 18 established over network 12 between an upstream router 20 and downstream routers 22 and 24. Tunnel 18 may conform to a Multi-Protocol Label Switching (MPLS) tunnel or an Internet Protocol (IP) tunnel. For example, tunnel 18 may comprise a Label Distribution Protocol (LDP) Point to Multi-Point (P2MP) Label Switched Path (LSP) or an IP multicast tunnel. Routers 20, 22 and 24 within computer network 12 utilize extensions to the LDP that enable upstream label assignment.


Upstream router 20 and downstream routers 22 and 24 maintain routing information that describes available routes through computer network 12. Upon receiving an incoming packet, the routers examine information within the packet and forward the packet in accordance with the routing information. In order to maintain an accurate representation of network 12, the routers exchange routing information, e.g., bandwidth availability of links, in accordance with a defined routing protocol, such as an Interior Gateway Protocol (IGP).


In the example of FIG. 1, router 20 uses LDP extended to include upstream label assignment to carry traffic on tunnel 18 between source network 10 and subscriber networks 14A and 14B (“subscriber networks 14”). Source network 10 may comprise any public or private network or the Internet that provides multicast traffic to router 20 in network 12. Subscriber networks 14 may include LANs or wide area networks (WANs) that comprise a plurality of subscriber devices. The subscriber devices may include personal computers, laptops, workstations, personal digital assistants (PDAs), wireless devices, network-ready appliances, file servers, print servers or other devices that access source network 10 via network 12.


The extensions to the LDP enable routers 20, 22 and 24 to advertise upstream label assignment capability to neighboring routers in network 12. The extensions to LDP also enable upstream router 20 to distribute upstream assigned labels to downstream routers 22 and 24 upon receiving advertisements indicating upstream label assignment capability from downstream routers 22 and 24. In the case where tunnel 18 comprises an LDP P2MP LSP, upstream label assignment described herein enables a branch router, such as router 20, to avoid replicating traffic to routers 22 and 24 on a Local Area Network (LAN).


In some cases, subscriber devices within subscriber networks 14 request multicast streams, such as IPTV channels, from source network 10. LDP with upstream label assignment extensions enables transmission of multicast traffic over tunnel 18 from source network 10 to subscriber networks 18 without requiring upstream router 20 to perform traffic replication. For example, upstream router 20 may allocate the same upstream assigned label to downstream router 22 and downstream router 24 such that upstream router 20 may forward traffic from source network 10 in a single packet with the upstream assigned label to both routers 22 and 24.


In accordance with principles of the invention, LDP is extended to include upstream label assignment capability and upstream assigned label distribution. LDP may also include a tunnel identifier that identifies tunnel 18, e.g., LDP P2MP LSP or IP multicast tunnel, as carrying upstream label assignments and traffic from upstream router 20 to downstream routers 22 and 24. In this way, the techniques enabling binding of the upstream assigned label to the tunnel 18. For example, LDP associates a forwarding equivalence class (FEC) with each LSP in network 12. In the case where tunnel 18 comprises a LDP P2MP LSP, upstream router 20 with upstream label assignment capability binds an upstream assigned label to the FEC for tunnel 18.


As described in more detail below, a RSVP-TE tunnel identifier enables an LDP P2MP LSP to be nested in an RSVP-TE P2MP LSP. Nesting is needed when an “inner” LDP P2MP LSP is established over multiple edge domains via an “outer” RSVP-TE P2MP LSP established within a backbone domain. Upstream label assignment extensions to LDP allow an upstream router within the backbone domain to tunnel the inner LDP P2MP LSP with upstream assigned labels over the outer RSVP-TE P2MP LSP within the backbone domain that has downstream assigned labels. The tunnel identifier allows the upstream router to signal upstream assigned labels for the inner LDP P2MP LSP with a tunnel identifier for the outer RSVP-TE P2MP LSP to the downstream routers of the outer RSVP-TE P2MP LSP. In this way, the upstream router effectively binds the LDP P2MP LSP to the outer RSVP-TE P2MP LSP.


An exemplary application of LDP with upstream label assignment extensions will be described in which network 12 comprises a LAN and tunnel 18 within network 12 comprises an LDP P2MP LSP. Conventionally, LDP P2MP LSPs on a LAN require “ingress replication” in which a branch router for the P2MP LSP on the LAN replicates a received packet and sends a separate copy of the packet on the P2MP LSP to each of the downstream routers on the LAN that are adjacent to the branch router. In order to increase efficiency of bandwidth utilization, it is desirable for the branch router of the P2MP LSP on the LAN to send a single copy of the packet to multiple downstream routers that are adjacent to the branch router of the P2MP LSP.


As illustrated in FIG. 1, the upstream label assignment extensions to LDP enable each of downstream routers 22 and 24 to associate a label L allocated by upstream router 20 and used by upstream router 20 to transmit packets with the P2MP LSP on the LAN. Each of downstream routers 22 and 24 receives the FEC associated with the LDP P2MP LSP from a downstream LDP peer. In this example, the upstream interface to reach upstream router 20, which is the next-hop toward the P2MP LSP root address in the FEC associated with the LDP P2MP LSP, is a LAN interface.


First, upstream router 20 receives advertisements indicating upstream label assignment capability from neighboring routers in network 12, including router 22 and router 24. If downstream routers 22 and 24 are capable of supporting upstream assigned labels, each of downstream routers 22 and 24 may send a Label Request message to upstream router 20. The Label Request message contains an Upstream Assigned Label Request type-length-value (TLV). Upon receiving the Label Request messages from downstream routers 22 and 24, upstream router 20 sends back a Label Mapping message to downstream routers 22 and 24 with an upstream assigned label. In some cases, downstream routers 22 and 24 may not send upstream assigned Label Request messages to upstream router 20.


As shown in FIG. 1, if upstream router 20 receives a Label Request for an upstream assigned label for the same FEC associated with the LDP P2MP LSP from multiple downstream routers 22, 24 on the LAN, upstream router 20 sends the same upstream assigned label, L, to each of the multiple downstream routers 22, 24. Upstream router 20 can then transmit a single packet for the P2MP LSP on the LAN to downstream routers 22 and 24 with the upstream assigned label L. However, downstream routers 22 and 24 may have more than one equal cost next-hop on the LAN to reach the P2MP LSP root address. In this case, if it is desirable for router 22 and 24 to send the Label Request to the same upstream router, downstream routers 22 and 24 may be configured to send the upstream assigned Label Request to the next-hop router with the lowest Router ID.


In the case where tunnel 18 includes a plurality of downstream routers (not shown), if a subset of the downstream routers do not support upstream label assignment, upstream router 20 may still use upstream label assignment for the remaining sub-set of the downstream routers. Upstream router 20 will then use ingress replication and downstream label assignment for downstream routers that do not support upstream label assignment.



FIG. 2 is a block diagram illustrating an exemplary router 30 capable of supporting LDP with upstream label assignment extensions in accordance with the techniques described herein. As one example, router 30 may comprise an upstream router or root of a tunnel established across a network. Router 30 may also comprise a downstream router or leaf of a tunnel established across the network by an upstream router. Router 30 may operate substantially similar to any of routers 20, 22 and 24 from FIG. 1.


In the example illustrated in FIG. 2, router 30 includes interface cards 32A-32N (“IFCs 32”) that receive multicast packets via inbound links 33A-33N (“inbound links 33”) and send multicast packets via outbound links 34A-34N (“outbound links 34”). IFCs 32 are typically coupled to links 33, 34 via a number of interface ports. Router 30 also includes a control unit 36 that determines routes of received packets and forwards the packets accordingly via IFCs 32.


Control unit 36 maintains routing information 44 that describes the topology of a network and, in particular, routes through the network. Routing information 44 may include, for example, route data that describes various routes within the network, and corresponding next hop data indicating appropriate neighboring devices within the network for each of the routes. Router 30 updates routing information 44 to accurately reflect the topology of the network.


Control unit 36 also maintains forwarding information 46 that associates network destinations with specific next hops and corresponding interface ports. In general, when router 30 receives a multicast packet with a downstream assigned label via one of inbound links 33, control unit 36 determines a destination and associated next hop for the packet in accordance with routing information 44 and forwards the packet on one of outbound links 34 to the corresponding next hop in accordance with forwarding information 46 based on the destination of the packet.


In accordance with the invention, control unit 36 provides an operating environment for LDP 38 to execute. LDP 38 includes an upstream capability module 40 and an upstream label module 42 to support upstream assigned labels. In the case where router 30 comprises an upstream router or root of a tunnel, router 30 establishes the tunnel across a network having two or more downstream routers or leaves. Upstream capability module 40 then sends advertisements to neighboring routers in the network indicating that router 30 is capable of supporting upstream assigned labels. In addition, upstream capability module 40 receives advertisements from the neighboring routers in the network indicating that at least some of neighboring routers are capable of supporting upstream assigned labels.


Upon receiving the advertisement from router 30, downstream routers in the tunnel capable of supporting upstream assigned labels may send upstream assigned Label Requests to router 30. Upon receiving the advertisements and the Label Requests from the downstream routers, upstream label module 42 within router 30 allocates an upstream assigned label to each of the capable downstream routers of the tunnel that requested an upstream assigned label. Router 30 uses the upstream assigned label to forward packets to the downstream routers capable of supporting upstream assigned labels. In addition, control unit 36 may receive downstream assigned labels in Label Mapping messages from downstream routers of the tunnel that do not support upstream assigned labels. In that case, router 30 uses the downstream assigned labels to forward packet to the downstream routers that are not capable of supporting upstream assigned labels.


Upstream label module 42 may also send a tunnel identifier in the Path message to each of the downstream routers of the tunnel that identifies the tunnel as carrying upstream assigned labels and packets from router 30. In this way, the tunnel identifier enables binding of the upstream label to the tunnel. In the case of P2MP LSP nesting, upstream label module 42 may send an upstream assigned label for an “inner” LDP P2MP LSP to downstream routers of an “outer” RSVP-TE P2MP LSP with a tunnel identifier that identifies the “outer” RSVP-TE P2MP LSP. In this way, the tunnel identifier enables binding of the inner LSP P2MP LSP to the outer RSVP-TE P2MP LSP.


In the case where router 30 comprises a downstream router or leaf of a tunnel, upstream capability module 40 sends advertisements to neighboring routers in the network indicating that router 30 is capable of supporting upstream assigned labels. In addition, upstream capability module 40 receives advertisements from the neighboring routers in the network indicating that at least some of neighboring routers are capable of supporting upstream assigned labels.


Upstream label module 42 receives an upstream assigned label in a Path message from the upstream router or root of the tunnel. Router 30 reserves the label in a context specific label space within upstream label spaces 48 for that upstream router.


Upon receiving an advertisement from an upstream router of the tunnel indicating that the upstream router is capable of supporting upstream label assignment, router 30 may send an upstream assigned Label Request to the upstream router. Upon receiving the advertisement and the Label Request from router 30, the capable upstream router of the tunnel allocates an upstream assigned label to router 30. Upstream label module 42 recognizes that an upstream assigned label was received from the upstream router, and knows not to send a downstream assigned label to the upstream router in a Label Mapping message. Upstream label module 42 may also receive a tunnel identifier from the upstream router of the tunnel that identifies the tunnel as carrying upstream assigned labels and packets from the upstream router. Router 30 receives packets from the upstream router with the upstream assigned label.


The architecture of router 30 illustrated in FIG. 2 is shown for exemplary purposes only. The invention is not limited to this architecture. In other embodiments, router 30 may be configured in a variety of ways. In one embodiment, for example, some of the functionally of control unit 36 may be distributed within IFCs 32. In another embodiment, control unit 36 may include a routing engine that performs routing functions and maintains routing information base (RIB), e.g., routing information 44, and a forwarding engine that performs packet forwarding based on a forwarding information base (FIB), e.g., forwarding information 46, generated in accordance with the RIB.


Control unit 36 may be implemented solely in software, or hardware, or may be implemented as a combination of software, hardware, or firmware. For example, control unit 36 may include one or more processors which execute software instructions. In that case, the various software modules of control unit 36 may comprise executable instructions stored on a computer-readable medium, such as computer memory or hard disk.



FIGS. 3A and 3B illustrate an exemplary LDP Capability TLV 50 that includes an Upstream Label Assignment Capability sub-TLV 52A used to indicate whether a router supports upstream assigned labels. In accordance with the invention, LDP Capability TLV 50 is defined in an LDP Initialization message sent from a router to neighboring routers in a network and indicates a set of capabilities supported by the router.


As shown in FIG. 3A, LDP Capability TLV 50 includes a type field, a length field, and one or more sub-TLVs 52 that each signal a specific capability. Upstream Label Assignment Capability sub-TLV 52A is defined in LDP Capability TLV 50 to indicate that a router supports upstream label assignment. As shown in FIG. 3B, Upstream Label Assignment Capability sub-TLV 52A includes a type field, a length field, and a reserved field.


The usage of LDP Initialization messages for exchanging upstream label assignment capability implies that a router may exchange LDP Initialization messages with a neighboring router before sending or receiving any other LDP messages with that neighboring router. A downstream router cannot send an upstream Label Request message to an upstream router of a tunnel unless the downstream router knows that the upstream router supports upstream assigned labels. In turn, an upstream router cannot allocate upstream assigned labels to downstream routers of a tunnel unless the upstream router knows that at least some of the downstream routers support upstream assigned labels. Upstream Label Assignment Capability sub-TLV 52A within LDP Capability TLV 50 provides a mechanism for routers to advertise upstream label assignment capability to neighboring routers in a network.


When the Upstream Label Assignment Capability sub-TLV 52A is included in the LDP Initialization message, the router is capable of both distributing upstream assigned labels and receiving upstream assigned labels. When the Upstream Label Assignment Capability sub-TLV 52A is not included in the LDP Initialization message, the router is not capable of either distributing or receiving upstream assigned labels. The reserved bits are be set to zero on transmission and ignored on receipt.



FIG. 4 illustrates an exemplary Upstream-Assigned Label Request TLV 56 that signals upstream assigned Label Requests. In accordance with the invention, Upstream-Assigned Label Request TLV 56 is defined in a Label Request message sent from a downstream router to an upstream router of a tunnel indicated to be capable of supporting upstream assigned labels. As shown in FIG. 4, Upstream-Assigned Label Request TLV 56 includes a type field, a length field, and a reserved field.


A downstream router does not send Upstream Assigned Label Request TLV 56 in a Label Request message to an upstream router of a tunnel if the upstream router did not advertise the Upstream Label Assignment Capability sub-TLV 52A of LDP Capability TLV 50 (from FIGS. 3A and 3B) in LDP Initialization messages.



FIG. 5 illustrates an exemplary Upstream-Assigned Label TLV 58 that signals upstream assigned labels. In accordance with the invention, Upstream-Assigned Label TLV 58 is defined in a message used to advertise, release and withdraw upstream assigned label mappings. Upstream-Assigned Label TLV 58 is sent in messages from an upstream router to downstream routers of a tunnel indicated to be capable of supporting upstream assigned labels and that requested an upstream assigned label. As shown in FIG. 5, Upstream-Assigned Label TLV 58 includes a type field, a length field, a reserved field, and a label field 60. In some cases, Upstream Assigned Label TLV 58 may be included in Label Withdraw and Label Release messages that withdraw and release particular upstream assigned labels.


An upstream router does not send Upstream Assigned Label TLV 58 in a Label Mapping message to a downstream router of a tunnel if the downstream router did not advertise the Upstream Label Assignment Capability sub-TLV 52A of LDP Capability TLV 50 (from FIGS. 3A and 3B) in LDP Initialization messages. The distribution of upstream assigned labels is similar to either ordered LSP control or independent LSP control of downstream assigned labels.


When the label distributed in a Label Mapping message is an upstream assigned label, the upstream router includes Upstream Assigned Label TLV 58 in the Label Mapping message. When a downstream router receives a Label Mapping message with Upstream Assigned Label TLV 58 and does not recognize the TLV, the downstream router generates a Notification message with a status code of “Unknown TLV”. If the downstream router does recognize the TLV but is unable to process the upstream assigned label, the downstream router generates a Notification message with a status code of “No Label Resources”.


If an upstream router generated the Label Mapping message in response to a Label Request message from a downstream router of a tunnel, the downstream router includes Upstream Assigned Label Request TLV 56 in the Label Request message. A downstream router that generates an upstream assigned Label Request to an upstream router for a given FEC does not send a downstream assigned label in a Label Mapping message to the upstream router for that FEC unless the downstream router withdraws the upstream assigned label. Similarly if a downstream router generates a downstream assigned Label Request to a neighbor LSR for a given FEC, the downstream router does not send an upstream assigned Label Request to the upstream router for that FEC, unless the downstream router withdraws the downstream assigned Label Request.



FIGS. 6 and 7 illustrate exemplary LDP Interface ID TLVs that signals a Tunnel Identifier. An upstream router may transmit a MPLS packet with an upstream assigned label, L, to a downstream router by encapsulating the MPLS packet in an IP tunnel or a MPLS tunnel. In this case, the downstream router may determine that L is an upstream assigned label based on the tunnel on which the downstream router receives the packet. The TLVs illustrated in FIGS. 5 and 6 provide a mechanism for the upstream router to inform the downstream router that the upstream router will use a particular tunnel for transmitting MPLS packets with upstream assigned labels.


When using LDP for upstream label assignment, the Interface ID TLV may be used to signal the Tunnel Identifier. If the upstream router uses an IP or MPLS tunnel to transmit MPLS packets with upstream assigned labels to the downstream router, the upstream router includes the Interface ID TLV in Label Mapping messages along with the Upstream Assigned Label TLV 58 from FIG. 5. In accordance with the invention, two new Interface ID TLVs are defined to support RSVP-TE P2MP LSPs and IP Multicast Tunnels, respectively. The TLV value acts as the Tunnel Identifier.



FIG. 6 illustrates an exemplary RSVP-TE P2MP LSP TLV 62 in the Interface ID TLV. RSVP-TE P2MP LSP TLV 62 includes a type field, a length field, and a value field 64 that acts as the Tunnel Identifier. In this case, value field 64 comprises the RSVP-TE P2MP Session Object and optionally the P2MP Sender Template Object. The TLV value field 64 identifies the RSVP-TE P2MP LSP.


This mechanism enables an LDP P2MP LSP to nest within a RSVP-TE P2MP LSP. The Tunnel Identifier allows an upstream router to tunnel an “inner” LDP P2MP LSP, the label for which is upstream assigned, over an “outer” RSVP-TE P2MP LSP that has multiple downstream routers. The RSVP-TE P2MP LSP TLV allows the upstream router to signal the binding of the inner LDP P2MP LSP to the outer RSVP-TE P2MP LSP to the multiple downstream routers. The control plane signaling between the upstream router and the multiple downstream routers for the inner LDP P2MP LSP uses targeted LDP signaling messages.



FIG. 7 illustrates an exemplary IP Multicast Tunnel TLV 66 in the Interface ID TLV. IP Multicast Tunnel TLV 66 includes a type field, a length field, and a value field 68 that acts as the Tunnel Identifier. In this case, value field 68 comprises a <Source Address, Multicast Group Address>tuple. The TLV value field 68 identifies the IP Multicast Tunnel.



FIG. 8 is a flowchart illustrating an exemplary operation of distributing upstream assigned labels using LDP. The operation will be described herein reference to router 30 from FIG. 2. Upstream router 30 establishes a tunnel across a network between upstream router 30 and two or more downstream routers (70). The tunnel may comprise an IP tunnel, such as an IP multicast tunnel, or a MPLS tunnel, such as a LDP P2MP LSP.


Upstream capability module 40 advertises upstream label assignment capability to neighboring routers in the network (72). The advertisements may comprise LDP Initialization messages including a LDP Capability TLV with an Upstream Label Assignment Capability sub-TLV. In turn, upstream capability module 40 may receive advertisements indicating upstream label assignment capability from the neighboring routers in the network (73).


Upstream label module 42 receives upstream assigned Label Request messages from downstream routers of the tunnel capable of supporting upstream assigned labels (74). The capable downstream routers may send the upstream assigned Label Request messages in response to receiving the advertisement from upstream router 30. The upstream assigned Label Request may comprise an Upstream-Assigned Label Request TLV. Upstream label module 42 then allocates an upstream assigned label to the capable downstream routers of the tunnel in a Label Mapping message (76). The label allocation may comprise an Upstream-Assigned Label TLV.


Upstream label module 42 may also send a tunnel identifier in the Label Mapping message to the capable downstream routers that identifies the tunnel as carrying upstream assigned labels from upstream router 30. The tunnel identifier may comprise LDP Interface ID TLVs that signal either a RSVP-TE P2MP LSP or an IP Multicast Tunnel. In this way, upstream router 30 binds the upstream assigned label to the tunnel with the tunnel identifier (78).


Upstream router 30 then forwards a single packet received from source network 10 to the capable downstream routers of the tunnel with the upstream assigned label (80). Upstream router 30 may also send packets to downstream routers of the tunnel that are not capable of supporting upstream assigned labels. In this case, upstream router 30 receives downstream assigned labels from each of the incapable downstream router of the tunnel. Upstream router 30 then performs ingress replication and sends copies of the packets to each of the incapable downstream routers with the associated downstream assigned label.



FIG. 9 is a block diagram illustrating a computer system including a backbone domain 82 and edge domains 84, 86 and 88. Backbone domain 82 includes an upstream router (UR) 92 and downstream routers (DR) 94 and 96. UR 92 establishes a RSVP-TE P2MP LSP 90 over backbone domain 82 between UR 92 and DRs 94 and 96. RSVP-TE P2MP LSP 90 utilizes downstream assigned labels. Edge domain 84 includes an edge upstream router (EUR) 100, edge domain 86 includes edge downstream router (EDR) 102, and edge domain 88 includes EDR 104. EUR 100 establishes a LDP P2MP LSP 98 over edge domains 84, 86 and 88 via RSVP-TE P2MP LSP 90 within backbone domain 82 between EUR 100 and EDRs 102 and 104.


As described above, the RSVP-TE tunnel identifier enables P2MP LDP nesting. RSVP-TE P2MP LSP 90 within backbone domain 82 comprises an “outer” RSVP-TE P2MP LSP, and LDP P2MP LSP 98 across edge domains 84, 86 and 88 comprises an “inner” LDP P2MP LSP. The upstream label assignment extensions to LDP described herein allow UR 92 within backbone domain 82 to tunnel LDP P2MP LSP 98 with upstream assigned labels over RSVP-TE P2MP LSP 90 within backbone domain 82. The tunnel identifier described herein allows UR 92 to signal upstream assigned labels for LDP P2MP LSP 98 with an identifier for RSVP-TE P2MP LSP 90 to DRs 94 and 96 of RSVP-TE P2MP LSP 90. In this way, UR 92 effectively binds LDP P2MP LSP 98 to RSVP-TE P2MP LSP 90.


P2MP LSP nesting allows all of the routers within backbone domain 82 to maintain control and forwarding state only for RSVP-TE P2MP LSP 90 within backbone domain 82. The control and forward state for LDP P2MP LSP 98 is nested within RSVP-TE P2MP LSP 90. Therefore, only the routers within backbone domain 82 associated with RSVP-TE P2MP LSP 90 (i.e., UR 92, DR 94, and DR 96) maintain the control and forwarding state for LDP P2MP LSP 98.



FIG. 10 is a flowchart illustrating an exemplary operation of nesting an LDP P2MP LSP in an RSVP-TE P2MP LSP using upstream assigned labels. The operation will be described herein in reference to UR 92 within backbone domain 82 from FIG. 9. UR 92 establishes RSVP-TE P2MP LSP 90 across backbone domain 82 between UR 92 and DRs 94 and 96 with downstream assigned labels (110). UR 92 then receives a message from EUR 100 within edge domain 84 for LDP P2MP LSP 98 established over edge domains 84, 86 and 88 via RSVP-TE P2MP LSP 90 within backbone domain 82 between EUR 100 and EDRs 102 and 104 (112).


For purposes of explanation, it is assumed that DRs 94 and 96 within backbone domain 82 advertise that they are capable of supporting upstream label assignment to UR 92 and may send upstream assigned Label Request to UR 92. UR 92 then allocates an upstream assigned label for LDP P2MP LSP 98 in a Label Mapping message to DRs 94 and 96 within the backbone domain 82 (114). UR 92 also sends a tunnel identifier in the Label Mapping message to DRs 94 and 96 within backbone domain 82 that identifies RSVP-TE P2MP LSP 90. In this way, UR 92 binds LDP P2MP LSP 98 to RSVP-TE P2MP LSP 90 with the tunnel identifier (116).


UR 92 and all the routers within backbone domain 82 maintain control and forwarding state for RSVP-TE P2MP LSP 90 within backbone domain 82. The control and forward state for LDP P2MP LSP 98 is nested within RSVP-TE P2MP LSP 90. Therefore, only UR 92, DR 94, and DR 96 of RSVP-TE P2MP LSP 90 within backbone domain 82 maintain the control and forwarding state for LDP P2MP LSP 98. UR 92 then encapsulates a single packet received on LDP P2MP LSP 98 in RSVP-TE P2MP LSP 90 (122) and forwards the single packet to DRs 94 and 96 of RSVP-TE P2MP LSP 90 within backbone domain 82 with the upstream assigned label (124).


Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims.

Claims
  • 1. A method comprising: establishing a Resource Reservation Protocol with Traffic Engineering (RSVP-TE) Point to Multi-Point (P2MP) Label Switched Path (LSP) for carrying traffic across a backbone domain from an ingress router to two or more egress routers, wherein the ingress router and the two or more egress routers are positioned within the backbone domain, and wherein the ingress router is positioned between the egress routers and a source of the traffic;establishing a Label Distribution Protocol (LDP) P2MP LSP between two or more edge domains that are external to the backbone domain by nesting the LDP P2MP LSP within the RSVP-TE P2MP LSP to carry the traffic across the backbone domain;receiving, from one of the edge domains via the LDP P2MP LSP, a packet at the ingress router of the backbone domain; andencapsulating the packet within the RSVP-TE P2MP LSP at the ingress router and forwarding the packet across the backbone domain to the egress routers via the RSVP-TE P2MP LSP.
  • 2. The method of claim 1, wherein nesting the LDP P2MP LSP within the RSVP-TE P2MP LSP comprises maintaining control and forwarding state for the LDP PSMP within the backbone domain only at the ingress router and the two or more egress routers for the RSVP-TE P2MP LSP.
  • 3. The method of claim 1, wherein nesting the LDP P2MP LSP within the RSVP-TE P2MP LSP comprises establishing the RSVPN-TE P2MP LSP as an outer P2MP LSP and establishing the LDP P2MP LSP as an inner P2MP LSP carried by the outer P2MP LSP through the backbone domain.
  • 4. The method of claim 1, wherein establishing the LDP P2MP LSP comprises sending an LDP message from the upstream router to the two or more downstream routers within the backbone domain, wherein the LDP message comprises both: (1) an upstream assigned label allocated for the LDP P2MP LSP being established, and (2) a tunnel identifier that identifies the RSVP-TE P2MP LSP within which the P2MP LSP is to be nested.
  • 5. The method of claim 1, receiving, with an ingress router of the LDP P2MP LSP, LDP Initialization messages that include upstream label assignment capability indications from the two or more egress routers, wherein the upstream label assignment capability indications comprise a LDP Capability Type-Length-Value (TLV) with an Upstream Label Assignment Capability sub-TLV that indicates that the egress routers are capable of supporting labels that are assigned by the ingress router; andallocating an upstream assigned label with the ingress router of the LDP P2MP LSP for the two or more egress routers from which the upstream label assignment capability indications were received.
  • 6. A router within a backbone domain comprising: a processor executing a signaling protocol to establish a Resource Reservation Protocol with Traffic Engineering (RSVP-TE) Point to Multi-Point (P2MP) Label Switched Path (LSP) for carrying traffic across a backbone domain from the ingress router to two or more egress routers, wherein the ingress router and the two or more egress routers are positioned within the backbone domain such that the ingress router is between the egress routers and a source of the traffic, andwherein the signaling protocol establishes a Label Distribution Protocol (LDP) P2MP LSP between two or more edge domains that are external to the backbone domain by nesting the LDP P2MP LSP within the RSVP-TE P2MP LSP to carry the traffic across the backbone domain; anda forwarding engine that receives, from one of the edge domains via the LDP P2MP LSP, a packet and encapsulates the packet within the RSVP-TE P2MP LSP for forwarding the packet across the backbone domain to the egress routers via the RSVP-TE P2MP LSP.
  • 7. The ingress router of claim 6, wherein the signaling protocol includes an upstream label module that sends a Label Mapping message to the egress routers within the backbone domain that includes an upstream assigned label allocated for the LDP P2MP LSP and a tunnel identifier that identifies the RSVP-TE P2MP LSP to establish P2MP LSP nesting.
  • 8. A system comprising: a backbone domain that includes an upstream router and two or more downstream routers, wherein the upstream router establishes a Resource Reservation Protocol with Traffic Engineering (RSVP-TE) Point to Multi-Point (P2MP) Label Switched Path (LSP) across the backbone domain between the upstream router and the downstream routers; and an edge domain that includes an ingress router that establishes a Label Distribution Protocol (LDP) P2MP LSP over two or more edge domains via the RSVP-TE P2MP LSP within the backbone domain,
Parent Case Info

This application is a Continuation of application Ser. No. 11/566,480, filed Dec. 4, 2006, now U.S. Pat. No. 7,839,862, which claims the benefit of U.S. Provisional Application No. 60/817,899, filed Jun. 30, 2006, the entire contents of each of which are incorporated herein by reference.

US Referenced Citations (152)
Number Name Date Kind
5600642 Pauwels et al. Feb 1997 A
6374303 Armitage et al. Apr 2002 B1
6466985 Goyal et al. Oct 2002 B1
6477166 Sanzi et al. Nov 2002 B1
6493349 Casey Dec 2002 B1
6501754 Ohba et al. Dec 2002 B1
6553028 Tang et al. Apr 2003 B1
6571218 Sadler May 2003 B1
6597703 Li et al. Jul 2003 B1
6611528 Farinacci et al. Aug 2003 B1
6625773 Boivie et al. Sep 2003 B1
6731652 Ramfelt et al. May 2004 B2
6778531 Kodialam et al. Aug 2004 B1
6807182 Dolphin et al. Oct 2004 B1
6879594 Lee et al. Apr 2005 B1
6920503 Nanji et al. Jul 2005 B1
6968389 Menditto et al. Nov 2005 B1
7035226 Enoki et al. Apr 2006 B2
7039687 Jamieson et al. May 2006 B1
7082102 Wright Jul 2006 B1
7133928 McCanne Nov 2006 B2
7251218 Joregensen Jul 2007 B2
7269135 Frick et al. Sep 2007 B2
7281058 Shepherd et al. Oct 2007 B1
7296090 Jamieson et al. Nov 2007 B2
7330468 Tse-Au Feb 2008 B1
7333491 Chen et al. Feb 2008 B2
7359328 Allan Apr 2008 B1
7359393 Nalawade et al. Apr 2008 B1
7360084 Hardjono Apr 2008 B1
7366894 Kalimuthu et al. Apr 2008 B1
7418003 Alvarez et al. Aug 2008 B1
7463591 Kompella et al. Dec 2008 B1
7477642 Aggarwal et al. Jan 2009 B2
7483439 Shepherd et al. Jan 2009 B2
7489695 Ayyangar Feb 2009 B1
7519010 Aggarwal et al. Apr 2009 B1
7522599 Aggarwal et al. Apr 2009 B1
7522600 Aggarwal et al. Apr 2009 B1
7532624 Ikegami et al. May 2009 B2
7545735 Shabtay et al. Jun 2009 B1
7558219 Aggarwal et al. Jul 2009 B1
7558263 Aggarwal et al. Jul 2009 B1
7564803 Minei et al. Jul 2009 B1
7564806 Aggarwal et al. Jul 2009 B1
7570604 Aggarwal et al. Aug 2009 B1
7570605 Aggarwal et al. Aug 2009 B1
7570638 Shimizu et al. Aug 2009 B2
7590115 Aggarwal et al. Sep 2009 B1
7593405 Shirazipour et al. Sep 2009 B2
7602702 Aggarwal Oct 2009 B1
7633859 Filsfils et al. Dec 2009 B2
7742482 Aggarwal Jun 2010 B1
7768925 He et al. Aug 2010 B2
7787380 Aggarwal et al. Aug 2010 B1
7797382 Bou-Diab Sep 2010 B2
7804790 Aggarwal et al. Sep 2010 B1
7830787 Wijnands et al. Nov 2010 B1
7856509 Kodeboyina Dec 2010 B1
7925778 Wijnands et al. Apr 2011 B1
20020071390 Reeves et al. Jun 2002 A1
20020109879 Wing So Aug 2002 A1
20020116669 Jain Aug 2002 A1
20020118644 Moir Aug 2002 A1
20020181477 Mo et al. Dec 2002 A1
20020186664 Gibson et al. Dec 2002 A1
20020191584 Korus et al. Dec 2002 A1
20030012215 Novaes Jan 2003 A1
20030016672 Rosen et al. Jan 2003 A1
20030021282 Hospodor Jan 2003 A1
20030031175 Hayashi et al. Feb 2003 A1
20030043772 Mathis et al. Mar 2003 A1
20030056007 Katsube et al. Mar 2003 A1
20030063591 Leung et al. Apr 2003 A1
20030087653 Leung et al. May 2003 A1
20030088696 McCanne May 2003 A1
20030099235 Shin et al. May 2003 A1
20030108047 Mackiewich et al. Jun 2003 A1
20030112748 Puppa et al. Jun 2003 A1
20030123446 Muirhead et al. Jul 2003 A1
20030172114 Leung Sep 2003 A1
20030177221 Ould-Brahim et al. Sep 2003 A1
20030191937 Balissat et al. Oct 2003 A1
20030210705 Seddigh et al. Nov 2003 A1
20040032856 Sandstrom Feb 2004 A1
20040034702 He Feb 2004 A1
20040037279 Zelig et al. Feb 2004 A1
20040042406 Wu et al. Mar 2004 A1
20040047342 Gavish et al. Mar 2004 A1
20040081154 Kouvelas Apr 2004 A1
20040100951 O'neill May 2004 A1
20040133692 Blanchet et al. Jul 2004 A1
20040151180 Hu et al. Aug 2004 A1
20040151181 Chu et al. Aug 2004 A1
20040165600 Lee Aug 2004 A1
20040190517 Gupta et al. Sep 2004 A1
20040213160 Regan et al. Oct 2004 A1
20040218536 Yasukawa et al. Nov 2004 A1
20040240445 Shin et al. Dec 2004 A1
20040240446 Compton Dec 2004 A1
20050001720 Mason et al. Jan 2005 A1
20050013295 Regan et al. Jan 2005 A1
20050018693 Dull Jan 2005 A1
20050025156 Smathers Feb 2005 A1
20050027782 Jalan et al. Feb 2005 A1
20050097203 Unbehagen et al. May 2005 A1
20050108419 Eubanks May 2005 A1
20050111351 Shen May 2005 A1
20050129001 Backman et al. Jun 2005 A1
20050169270 Mutou et al. Aug 2005 A1
20050220132 Oman et al. Oct 2005 A1
20050232193 Jorgensen Oct 2005 A1
20050262232 Cuervo et al. Nov 2005 A1
20050265308 Barbir et al. Dec 2005 A1
20050271035 Cohen et al. Dec 2005 A1
20050271036 Cohen et al. Dec 2005 A1
20050281192 Nadeau et al. Dec 2005 A1
20060013141 Mutoh et al. Jan 2006 A1
20060039364 Wright Feb 2006 A1
20060047851 Voit et al. Mar 2006 A1
20060088031 Nalawade Apr 2006 A1
20060126496 Filsfils et al. Jun 2006 A1
20060147204 Yasukawa et al. Jul 2006 A1
20060153067 Vasseur et al. Jul 2006 A1
20060164975 Filsfils et al. Jul 2006 A1
20060182034 Klinker et al. Aug 2006 A1
20060221958 Wijnands et al. Oct 2006 A1
20060262735 Guichard et al. Nov 2006 A1
20060262786 Shimizu et al. Nov 2006 A1
20070025276 Zweibel et al. Feb 2007 A1
20070025277 Sajassi et al. Feb 2007 A1
20070036162 Tingle et al. Feb 2007 A1
20070076709 Mattson et al. Apr 2007 A1
20070091891 Zwiebel et al. Apr 2007 A1
20070098003 Boers et al. May 2007 A1
20070104119 Sarkar et al. May 2007 A1
20070124454 Watkinson May 2007 A1
20070129291 Tian Jun 2007 A1
20070140107 Eckert et al. Jun 2007 A1
20070177593 Kompella Aug 2007 A1
20070177594 Kompella Aug 2007 A1
20070189177 Zhai Aug 2007 A1
20080056258 Sharma et al. Mar 2008 A1
20080112330 He et al. May 2008 A1
20080123524 Vasseur et al. May 2008 A1
20080123654 Tse-Au May 2008 A1
20080291921 Du et al. Nov 2008 A1
20090028149 Yasukawa et al. Jan 2009 A1
20090122732 Brockners et al. May 2009 A1
20090175274 Aggarwal et al. Jul 2009 A1
20090225650 Vasseur Sep 2009 A1
20090268731 Narayanan et al. Oct 2009 A1
Foreign Referenced Citations (8)
Number Date Country
2005-086222 Mar 2005 JP
2005-130258 May 2005 JP
2005-167482 Jun 2005 JP
2005-252385 Sep 2005 JP
2005-323266 Nov 2005 JP
2004001206 Jan 2004 KR
02091670 Nov 2002 WO
2004071032 Aug 2004 WO
Non-Patent Literature Citations (48)
Entry
Satyanarayana et al., “Extensions to GMPLS RSVP Graceful Restart”, draft-aruns-ccamp-restart-ext-01.txt, Jul. 2004, Network Working Group Internet Draft, 23 pgs.
Aggarwal et al., “MPLS Upstream Label Assignment and Context Specific Label Space,” Network Working Group Internet Draft, Jan. 2005, draft-raggarwa-mpls-upstream-label-00.txt, 9 pgs.
Wijnands et al., “Multicast Extensions for LDP,” Network Working Group Internet Draft, Mar. 2005, draft-wijnands-mpls-ldp-mcast-ext-00.txt, 13 pgs.
Aggarwal et al., “MPLS Upstream Label Assignment for RSVP-TE and LDP,” Aug. 24, 2005, http://www.tla-group.com/˜mpls/ietf-63-mpls-upstream-rsvp-ldp.ppt, 8 pgs.
Fujita, N., “Dynamic Selective Replication Schemes for Content Delivery Networks,” IPSJ SIG Notes, vol. 2001, No. 111, Information Processing Society of Japan, Nov. 21, 2001, 2 pgs.
Awduche et al., “RFC 3209—RSVP-TE: Extensions to RSVP for LSP Tunnels,” Network Working Group, Dec. 2001, 64 pgs. http://rfc.sunsite.dk/rfc/rfc3209html.
RSVP-TE: Resource Reservation Protocol—Traffic Extension, Javvin Company, 2 pgs, printed Apr. 18, 2005. http://www.javvin.com/protocolRSVPTE.html.
Zhang et al., “A Destination-initiated Multicast Routing Protocol for Shortest Path Tree Constructions,” GLOBECOM 2003, IEEE Global Telecommunications Conference, XP010677629, pp. 2840-2844.
Yasukawa et al., Requirements for point to multipoint extension to RSVP-TE, Oct. 2003.
Wei et al., “Establishing point to multipoint MPLS TE LSPs,” Aug. 2004.
Aggarwal et al., “Establishing Point to Multipoint MPLS TE LSPs,” submitted to Internet Engineering Task Force (IETF) Feb. 11, 2007, pp. 1-15.
Rekhter et al., “A Border Gateway Protocol 4 (BGP-4),” Mar. 1995, 72 pp.
Atlas et al., “MPLS RSVP-TE Interoperability for Local Protection/Fast Reroute,” IETF, Jul. 2001, pp. 1-14.
Rosen et al., “Multicast in MPLS/BGP IP VPNs,” draft-rosen-vpn-mcast-07.txt, May 2004, 27 pgs.
Deering et al., “Protocol Independent Multicast-Sparse Mode (PIM-SM): Motivation and Architecture,” draft-ietf-idmr-pim-arch-05.txt, Aug. 4, 1998, 30 pgs.
Kompella et al., “Virtual Private LAN Service,” draft-ietf-12vpn-vpls-bgp-00.txt, May 2003, 22 pgs.
Martini et al., “Transport of Layer 2 Frames Over MPLS,” Network Working Group Internet Draft, draft-martini-12circuit-trans-mpls-08.txt, Nov. 2001, 18 pgs.
Martini et al., “Encapsulation Methods for Transport of Layer 2 Frames Over IP and MPLS Networks,” Network Working Group Internet Draft, draft-martini-12circuit-encap-mpls-04.txt, Nov. 2001, 17 pgs.
Decraene et al., “LDP Extension for Inter-Area Label Switched Paths (LSPs),” Network Working Group RFC 5283, Jul. 2008, 13 pp.
Decraene et al., “LDP extension for Inter-Area LSP”, Network Working Group, draft-ietf-mpls-ldp-interarea-03.txt, Feb. 2008, 12 pp.
Decraene et al., “LDP extensions for Inter-Area LSP”, Network Working Group, draft-decraene-mpls-ldp-interarea-02.txt, Jun. 2006, 8 pp.
Kompella, “Layer 2 VPNs Over Tunnels,” Network Working Group, Jan. 2006, 27 pp.
Rekhter et al., “Carrying Label Information in BGP-4”, Network Working Group, RFC 3107, May 2001, 9 pp.
Andersson et al., “LDP Specification”, Network Working Group, RFC 3036, Jan. 2001, (118 pages).
Swallow et al., “Network Scaling with Aggregated IP LSPs”, Network Working Group, draft-swallow-mpls-aggregated-fec-00.txt, Jul. 2007, 10 pp.
Shah et al., “Extensions to MPLS-based Layer 2 VPNs,” Network Working Group, Sep. 2001, 14 pp.
Office Action from U.S. Appl. No. 11/508,096, dated Jan. 9, 2009, 22 pp.
Response to Office Action dated Jan. 9, 2009, from U.S. Appl. No. 11/508,096, filed Mar. 19, 2009, 13 pp.
Office Action from U.S. Appl. No. 11/508,096, dated Apr. 8, 2009, 17 pp.
Response to Office Action dated Apr. 8, 2009, from U.S. Appl. No. 11/508,096, filed Jul. 30, 2009, 15 pp.
Notice of Allowance from U.S. Appl. No. 11/508,096, dated Sep. 4, 2009, 11 pp.
Notice of Allowance from U.S. Appl. No. 11/508,096, dated Jan. 12, 2010, 14 pp.
U.S. Appl. No. 11/213,638, by Rahul Aggarwal, filed Aug. 26, 2005.
U.S. Appl. No. 11/213, 640, by Rahul Aggarwal, filed Aug. 26, 2005.
U.S. Appl. No. 12/423,640, by Rahul Aggarwal, filed Apr. 14, 2009.
U.S. Appl. No. 12/427,542, by Rahul Aggarwal, filed Apr. 21, 2009.
U.S. Appl. No. 12/469,075, by Rahul Aggarwal, filed May 20, 2009.
U.S. Appl. No. 12/497,078, by Rahul Aggarwal, filed Jul. 2, 2009.
U.S. Appl. No. 12/497,957, by Rahul Aggarwal, filed Jul. 6, 2009.
U.S. Appl. No. 12/497,939, by Rahul Aggarwal, filed Jul. 6, 2009.
U.S. Appl. No. 12/574,428, by Rahul Aggarwal, filed Oct. 6, 2009.
U.S. Appl. No. 12/499,606, by Ina Minei, filed Jul. 8, 2009.
U.S. Appl. No. 11/192,432, by Rahul Aggarwal, filed Jul. 28, 2005.
U.S. Appl. No. 12/404,786, by Rahul Aggarwal, filed Mar. 16, 2009.
U.S. Appl. No. 12/871,784, by Rahul Aggarwal, filed Aug. 30, 2010.
U.S. Appl. No. 12/819,906 by Rahul Aggarwal, filed Jun. 10, 2010.
U.S. Appl. No. 11/566,480, by Rahul Aggarwal, filed Dec. 4, 2006.
Office Action mailed Sep. 14, 2012 in U.S. Appl. No. 12/871,784, 8 pgs.
Provisional Applications (1)
Number Date Country
60817899 Jun 2006 US
Continuations (1)
Number Date Country
Parent 11566480 Dec 2006 US
Child 12951885 US