# US 2007/0140128 A1 · System and method to provide routing control of information over networks

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

- Number: US 2007/0140128 A1
- Document ID: US20070140128A1
- Status: Published application
- Kind: A1
- Application number: 11/589,313
- Filed: 2006-10-27
- Published: 2007-06-21
- Earliest claimed: 2001-12-28
- Assignees: Internap Network Services Corporation
- Inventors: Eric Klinker; Jeremy Johnson
- Web page: https://patentgrep.com/patent/US20070140128A1

## CPC

- H04L 65/80: Responding to QoS
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 43/026: using flow identification
- H04L 45/033: by updating distance vector protocols
- H04L 45/302: Route determination based on requested QoS
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 45/308: {Route determination based on user's profile, e.g. premium users}
- H04L 45/38: {Flow based routing}
- H04L 47/20: Traffic policing
- H04L 47/2441: relying on flow classification, e.g. using integrated services [IntServ]
- H04L 49/9023: for implementing a jitter-buffer
- H04L 41/5003: Managing SLA; Interaction between SLA and QoS
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 43/0829: Packet loss
- H04L 43/087: Jitter
- H04L 43/0882: Utilisation of link capacity
- H04L 43/12: Network monitoring probes
- H04L 43/16: Threshold monitoring
- H04L 69/14: Multichannel or multilink protocols
- H04L 69/22: Parsing or analysis of headers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for controlling routing of data. It is determined whether at least one data flow is active, the at least one data flow having an ingress portion of a current ingress path to a first point from a second point and an egress portion of a current egress path to the second point from the first point. Another data flow is routed via a next ingress portion of a next path to the first point from the second point.

## Claims

### Claim at position 1

-51. (canceled)

### Claim 52

A method for routing data in a network, the method comprising:
tagging a data packet with identifier information that specifies a network element to control an egress path for the data packet, wherein the egress path is from a first point to a second point;
routing the data packet according to the identifier information;
modifying a source address of the data packet using network address translation (NAT) to create a translated network source address to control an ingress path through a network service provider (NSP) associated with the translated source address, wherein the ingress path is from the second point to the first point;
routing the data packet via the egress path, wherein the source address is associated with a second NSP and the egress path includes the second NSP; and
receiving a return data packet via the ingress path, wherein the ingress path includes the NSP.

### Claim 53 (depends on 52)

The method of claim 52, wherein tagging a data packet or modifying a source address is based on a flow policy.

### Claim 54 (depends on 52)

The method of claim 52, wherein the first point is directly coupled to the NSP and the second NSP.

### Claim 55 (depends on 52)

The method of claim 52, wherein tagging a data packet with identifier information that specifies a network element to control an egress path for the data packet comprises selecting the identifier information based on a policy based routing statement.

### Claim 56 (depends on 52)

The method of claim 52, wherein the identifier information comprises a virtual local network (VLAN) tag and the network element comprises a virtual router facility (VRF).

### Claim 57

A method for routing data in a network, the method comprising:
modifying a source address of a data packet using network address translation (NAT) to create a translated network source address to control an ingress path through a network service provider (NSP), wherein the ingress path is from a second point to a first point;
tagging the data packet with identifier information that specifies a network element to control an egress path for the data packet, wherein the egress path is from the first point to the second point;
routing the data packet along the egress path according to the network element, wherein the egress path includes a second NSP; and
receiving a return data packet via the ingress path, wherein the ingress path includes the NSP.

### Claim 58 (depends on 57)

The method of claim 57, wherein tagging a data packet or modifying a source address is based on a flow policy.

### Claim 59 (depends on 57)

The method of claim 57, wherein the first point is directly coupled to the NSP and the second NSP.

### Claim 60 (depends on 57)

The method of claim 57, wherein tagging the data packet with identifier information that specifies a network element to control an egress path for the data packet comprises selecting the identifier information based on a policy based routing statement.

### Claim 61 (depends on 57)

The method of claim 57, wherein the identifier information comprises a virtual local network (VLAN) tag and the network element comprises a virtual router facility (VRF).

### Claim 62

A system for routing data in a network via an egress path from a first point to a second point and an ingress path from the second point to the first point, the system comprising:
a controller for providing ingress path change information and egress path change information, wherein the ingress path and the egress path differ;
a network address translation (NAT) engine for modifying a NAT address to control the ingress path;
a route server for modifying a routing table to control the egress path; and
a router for routing a data packet via the egress path, wherein the egress path includes a first network service provider (NSP) and for receiving a return data packet via the ingress path, wherein the ingress path includes a second NSP that is distinct from the first NSP.

### Claim 63 (depends on 62)

The system of claim 62, wherein the NAT engine modifies a NAT address on a per prefix basis.

### Claim 64 (depends on 62)

The system of claim 62, wherein the first point is directly coupled to the first NSP and the second NSP.

### Claim 65 (depends on 62)

The system of claim 62, wherein the route server modifies the routing table by sending a BGP update message to the router.

### Claim 66

A method for managing routes in a network, comprising:
determining an activity status of a first data flow along a first data path, wherein the first data path is associated with a destination address and at least one network element;
if the activity status of the first data flow is active, then preserving a record associated with the first data path in a routing data structure;
once the activity status of the first data flow becomes inactive, then withdrawing the first path from the routing data structure;
receiving a route update, wherein the route update identifies a second path associated with the destination address and at least one updated network element; and
updating the routing data structure by creating a record associated with the second data path, so that a second data flow directed to the destination address is routed via the second path.

### Claim 67 (depends on 66)

The method of claim 66, wherein the at least one updated network element specified by the route update changes an egress path from a first point associated with a source address to a point associated with the destination address.

### Claim 68 (depends on 66)

The method of claim 66, wherein the at least one updated network element specified by the route update changes an ingress path from a point associated with the destination address to a first point associated with a source address.

### Claim 69 (depends on 66)

The method of claim 66, wherein determining an activity status of a first data flow comprises performing a stateful inspection of the first data flow by comparing the first data flow to at least one inspection rule.
