# US 8,149,832 B2 · Methods, systems, and computer program products for pushing and/or popping multiple multiprotocol label switching (MPLS) labels/shim headers at a single node

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,149,832 B2
- Document ID: US8149832B2
- Status: Granted
- Kind: B2
- Application number: 10/889,083
- Filed: 2004-07-12
- Published: 2006-01-12
- Granted: 2012-04-03
- Earliest claimed: 2004-07-12
- Assignees: AT&T Intellectual Property I, L.P.
- Inventors: Steven Allen Wright; Thomas Arnold Anschutz; James William Rembert; Andrew Vernon
- Web page: https://patentgrep.com/patent/US8149832B2

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- H04L 45/16: Multipoint routing
- H04L 45/50: using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L 12/18: for broadcast or conference {, e.g. multicast}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An MPLS network is operated by pushing a plurality of MPLS shim headers onto a packet at network node. The packet is replicated to obtain a plurality of packets for transmission on a plurality of paths associated with a plurality of nodes, respectively. At least one MPLS shim header is popped from respective ones of the plurality of packets. The one or more MPLS shim headers that are popped correspond to at least one of the plurality of nodes that is not associated with one of the plurality of paths for which one of the plurality of packets comprising the one or more MPLS shim headers is destined for transmission. The plurality of packets is then transmitted on the plurality of paths, respectively.

## Claims

### Claim 1

A method of operating a multiprotocol label switching network to perform multicast communications, comprising:
pushing a plurality of multiprotocol label switching shim headers simultaneously onto a packet at a node;
replicating the packet at the node to obtain a plurality of packets for transmission on a plurality of paths associated with a plurality of nodes, respectively, wherein each of the plurality of packets is to be transmitted to a different ultimate destination;
popping at least one multiprotocol label switching shim header from respective ones of the plurality of packets at the node, the at least one multiprotocol label switching shim header corresponding to at least one of the plurality of nodes that is not associated with one of the plurality of paths for which one of the plurality of packets comprising the at least one multiprotocol label switching shim header is destined for transmission; then
transmitting the plurality of packets on the plurality of paths to the different ultimate destinations, respectively.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
establishing a packet communication context for the packet, the context comprising an uncompressed version of the plurality of multiprotocol label switching shim headers;
compressing the plurality of multiprotocol label switching shim headers; and
wherein pushing the plurality of multiprotocol label switching shim headers comprises pushing the plurality of compressed multiprotocol label switching shim headers onto the packet at the node.

### Claim 3 (depends on 2)

The method of claim 2, wherein compressing the plurality of multiprotocol label switching shim headers comprises replacing static information in the plurality of multiprotocol label switching shim headers with a context identification field that identifies the context.

### Claim 4

A system for operating a multiprotocol label switching network, comprising:
means for pushing a plurality of multiprotocol label switching shim headers simultaneously onto a packet at a node;
means for replicating the packet at the node to obtain a plurality of packets for transmission on a plurality of paths associated with a plurality of nodes, respectively, wherein each of the plurality of packets is to be transmitted to a different ultimate destination;
means for popping at least one multiprotocol label switching shim header from respective ones of the plurality of packets at the node, the at least one multiprotocol label switching shim header corresponding to at least one of the plurality of nodes that is not associated with one of the plurality of paths for which one of the plurality of packets comprising the at least one multiprotocol label switching shim header is destined for transmission; and
means for transmitting the plurality of packets on the plurality of paths to the different ultimate destinations, respectively.

### Claim 5 (depends on 4)

The system of claim 4, further comprising:
means for establishing a packet communication context for the packet, the context comprising an uncompressed version of the plurality of multiprotocol label switching shim headers;
means for compressing the plurality of multiprotocol label switching shim headers; and
wherein the means for pushing the plurality of multiprotocol label switching shim headers comprises means for pushing the plurality of compressed multiprotocol label switching shim headers onto the packet at the node.

### Claim 6 (depends on 5)

The system of claim 5, wherein the means for compressing the plurality of multiprotocol label switching shim headers comprises means for replacing static information in the plurality of multiprotocol label switching shim headers with a context identification field that identifies the context.

### Claim 7

A computer program product for operating a multiprotocol label switching network, comprising:
a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising:
computer readable program code configured to push a plurality of multiprotocol label switching shim headers simultaneously onto a packet at a node;
computer readable program code configured to replicate the packet at the node to obtain a plurality of packets for transmission on a plurality of paths associated with a plurality of nodes, respectively, wherein each of the plurality of packets is to be transmitted to a different ultimate destination;
computer readable program code configured to pop at least one multiprotocol label switching shim header from respective ones of the plurality of packets at the node, the at least one multiprotocol label switching shim header corresponding to at least one of the plurality of nodes that is not associated with one of the plurality of paths for which one of the plurality of packets comprising the at least one multiprotocol label switching shim header is destined for transmission; and
computer readable program code configured to transmit the plurality of packets on the plurality of paths to the different ultimate destinations, respectively.

### Claim 8 (depends on 7)

The computer program product of claim 7, further comprising:
computer readable program code configured to establish a packet communication context for the packet, the context comprising an uncompressed version of the plurality of multiprotocol label switching shim headers;
computer readable program code configured to compress the plurality of multiprotocol label switching shim headers; and
wherein the computer readable program code configured to push the plurality of multiprotocol label switching shim headers comprises computer readable program code configured to push the plurality of compressed multiprotocol label switching shim headers onto the packet at the node.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the computer readable program code configured to compress the plurality of multiprotocol label switching shim headers comprises computer readable program code configured to replace static information in the plurality of multiprotocol label switching shim headers with a context identification field that identifies the context.

### Claim 10

A method of transmitting a multicast communication over a multiprotocol label switching network, the method comprising:
receiving a packet containing at least part of the multicast communication;
pushing a plurality of multiprotocol label switching shim headers simultaneously onto the packet at a node;
replicating the packet at the node to obtain at least a first packet that is to transmitted via the multiprotocol label switching network to a first destination node via a first transmission path and a second packet that is to transmitted via the multi protocol label switching network to a second destination node via a second transmission path;
popping from the first packet one of the plurality of multiprotocol label switching shim headers that corresponds to the second destination node at the node; and
transmitting the first packet on its way to the first destination node via the first transmission path and transmitting the second packet on its way to the second destination node via the second transmission path.

### Claim 11 (depends on 10)

The method of claim 10, further comprising popping from the second packet one of the plurality of multiprotocol label switching shim headers that corresponds to the first destination node at the node.

### Claim 12 (depends on 11)

The method of claim 11, further comprising replicating the packet at the node to obtain a third packet that is to be transmitted via the multiprotocol label switching network to a third destination node and popping from the first packet one of the plurality of multiprotocol label switching shim headers that corresponds to the third destination node at the node.

### Claim 13 (depends on 10)

The method of claim 10, wherein the first and second packets are a subset of a plurality of packets that are generated by replicating the received packet, wherein the first and second destination nodes are a subset of a plurality of destination nodes, and wherein each of the plurality of packets are to be transmitted to a respective one of the plurality of destination nodes, where the method further comprises popping from the first packet of the plurality of packets any of the plurality of multiprotocol label switching shim headers that correspond to a one of the plurality of destination nodes that is not on the first transmission path at the node.
