# US 8,543,727 B2 · Devices and methods for routing a unit of data in a network

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

- Number: US 8,543,727 B2
- Document ID: US8543727B2
- Status: Granted
- Kind: B2
- Application number: 11/581,794
- Filed: 2006-10-16
- Published: 2007-06-14
- Granted: 2013-09-24
- Earliest claimed: 2004-04-16
- Assignees: Dolby Laboratories Licensing Corporation
- Applicants: Paul Andrew Boustead; Farzad Safaei
- Inventors: Paul Andrew Boustead; Farzad Safaei
- Web page: https://patentgrep.com/patent/US8543727B2

## CPC

- H04L 45/22: {Alternate routing}
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 45/50: using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L 45/54: {Organization of routing tables}
- H04L 45/64: using an overlay routing layer
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A device for routing a unit of data in a network, the device comprising a processing means that is operable to: determine an identity of a first path in the network that was used to transfer the unit of data; identify a second path in the network based on the identity of the first path; and forward the unit of data over the second path to thereby route the unit of data in the network.

## Claims

### Claim 1

A device for routing a unit of data in a network, the device comprising:
a subsystem, implemented at least partially in hardware, that determines a destination of the unit of data;
a subsystem, implemented at least partially in hardware, that assigns the unit of data a label based on the destination of the unit of data;
a subsystem, implemented at least partially in hardware, that selects a routing record from one or more routing records based on the label, the one or more routing records alterable by one or more application providers, the one or more routing records comprising application provider associated information alterable by each associated application provider; and
a subsystem, implemented at least partially in hardware, that forwards the unit of data over a path identified in the routing record;
a processing means operable to select the routing record by identifying one of the routing records that comprises information that corresponds to the label assigned to the unit of data, and additional information that corresponds to originating application information, specific to a particular application provider, contained in the unit of data.

### Claim 2 (depends on 1)

The device as claimed in claim 1, wherein the application information contained in the unit of data comprises an identification of a computing device from which the unit of data originated.

### Claim 3 (depends on 2)

The device as claimed in claim 2, wherein the device is operable such that when forwarding the unit of data over the path it arranges the unit of data such that it identifies the path.

### Claim 4 (depends on 3)

The device as claimed in claim 3, wherein the path is one of a plurality of paths in the network, wherein the paths comprises a tunnel in the network and a non-tunnel path in the network.

### Claim 5 (depends on 1)

The device as claimed in claim 1, wherein the network comprises a packet switched network.

### Claim 6 (depends on 1)

The device as claimed in claim 1, wherein the unit of data comprises an IP packet.

### Claim 7

A method for routing a unit of data in a network, the method comprising:
determining a destination of the unit of data;
assigning the unit of data a label based on the destination of the unit of data;
selecting a routing record from one or more routing records based on the label, the one or more routing records alterable by one or more application providers, the one or more routing records comprising application provider associated information alterable by each associated application provider; and
forwarding the unit of data over a path identified in the routing record;
wherein the selecting the routing record step further comprises identifying one of the routing records which comprises information that corresponds to the label assigned to the unit of data, and additional information that corresponds to originating application information, specific to a particular application provider, contained in the unit of data.

### Claim 8 (depends on 7)

The method as claimed in claim 7, wherein the application information contained in the unit of data comprises an identification of a computing device from which the unit of data originated.

### Claim 9 (depends on 7)

The method as claimed in claim 7, wherein forwarding the unit of data over the path comprises arranging the unit of data such that it identifies the path.

### Claim 10 (depends on 7)

The method as claimed in claim 7, wherein the path is one of a plurality of paths in the network, wherein the paths comprise a tunnel in the network and a non-tunnel path in the network.

### Claim 11 (depends on 7)

The method as claimed in claim 7, wherein the network comprises a packet switched network.

### Claim 12 (depends on 7)

The method as claimed in claim 7, wherein the unit of data comprises an IP packet.

### Claim 13

A non-transitory computer readable medium comprising at least one instruction for causing a computing device to carry out a method comprising:
determining a destination of the unit of data; assigning the unit of data a label based on the destination of the unit of data;
selecting a routing record from one or more routing records based on the label, the one or more routing records alterable by one or more application providers, the one or more routing records comprising application provider associated information alterable by each associated application provider; and
forwarding the unit of data over a path identified in the routing record;
wherein the selecting the routing record step further comprises identifying one of the routing records which comprises information that corresponds to the label assigned to the unit of data, and additional information that corresponds to originating application information, specific to a particular application provider, contained in the unit of data.
