# US 8,542,591 B2 · Communication network design

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

- Number: US 8,542,591 B2
- Document ID: US8542591B2
- Status: Granted
- Kind: B2
- Application number: 13/492,423
- Filed: 2012-06-08
- Published: 2012-09-27
- Granted: 2013-09-24
- Earliest claimed: 2000-08-09
- Assignees: Juniper Networks, Inc.
- Applicants: Hiroyuki Saito
- Inventors: Hiroyuki Saito
- Web page: https://patentgrep.com/patent/US8542591B2

## CPC

- H04L 45/00: Routing or path finding of packets in data switching networks (routing or path finding in wireless networks H04W40/00)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A communication network design circuit can derive a path and a necessary link capacity for multiple point communication service permitting arbitrary communication within a predetermined range of communication amount by providing traffic amount of data in-flowing through an ingress node and traffic amount of data flowing out through an egress node. The communication network designing circuit has setting means for setting a mathematical programming problem for deriving the multiple point communication service and optimizing means for solving the mathematical programming problem set by the setting means and obtaining the path for the multiple point communication service.

## Claims

### Claim 1

A method comprising:
setting, by a processor of a device, a first constraint equation for deriving a link load in a network;
generating, by the processor, a second constraint equation for determining routes for transmitting data, received from another network, through the network;
generating, by the processor, a third constraint equation for calculating a link band necessary in each link, of a plurality of links, used to transmit the data between nodes of the network;
generating, by the processor, a fourth constraint equation for preventing a link capacity of each link, of the plurality of links, from being exceeded; and
determining, by the processor, a path for transmitting the data through the network based on the first constraint equation, the second constraint equation, the third constraint equation, the fourth constraint equation, and an objective function,
the objective function being set to minimize the link load in the network.

### Claim 2 (depends on 1)

The method of claim 1, where determining the path includes:
performing parallel processing to solve at least two of the first constraint equation, the second constraint equation, the third constraint equation, or the fourth constraint equation.

### Claim 3 (depends on 1)

The method of claim 1, where determining the path includes:
performing parallel processing to solve the first constraint equation, the second constraint equation, the third constraint equation, and the fourth constraint equation.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining a first data rate associated with receiving the data from the other network;
determining a second data rate associated with transmitting the data from the network; and
determining for each link of the plurality of links, a transmission speed for performing multiple point communication within the network; and
where determining the path includes:
determining the path for transmitting the data through the network based on the first data rate, the second data rate, and the transmission speed determined for each link of the plurality of links.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
setting a second objective function to maximize a minimum link vacant capacity for each link of the plurality of links; and
where determining the path includes:
determining the path for transmitting the data through the network based on the second objective function.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining a cost associated with transmitting the data over each link of the plurality of links; and
setting a second objective function to minimize the cost associated with transmitting the data over each link of the plurality of links; and
where determining the path includes:
determining the path for transmitting the data through the network based on the second objective function.

### Claim 7 (depends on 6)

The method of claim 6, where determining the cost associated with transmitting the data over each link of the plurality of links includes:
determining the cost associated with transmitting the data over each link, of the plurality of links, based on a cost per unit link capacity of each link of the plurality of links.

### Claim 8

A non-transitory computer-readable medium, storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to:
set a first constraint equation for deriving a link load in a network,
generate a second constraint equation for determining routes for transmitting data received from another network through the network,
generate a third constraint equation for calculating a link band necessary in each link, of a plurality of links, used to transmit the data between nodes of the network,
generate a fourth constraint equation for preventing a link capacity limit of each link from being exceeded, and
determine a path for transmitting the data through the network based on the first constraint equation, the second constraint equation, the third constraint equation, the fourth constraint equation, and an objective function that is set to minimize the link load in the network.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
perform parallel processing to solve at least two of the first constraint equation, the second constraint equation, the third constraint equation, or the fourth constraint equation.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
perform parallel processing to solve the first constraint equation, the second constraint equation, the third constraint equation, and the fourth constraint equation.

### Claim 11 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
determine a first data rate associated with receiving the data from the other network,
determine a second data rate associated with transmitting the data from the network, and
determine for each link, of the plurality of links, a transmission speed for performing multiple point communication within the network, and
where the one or more instructions to determine the path for transmitting the data through the network further cause the one or more processors to:
determine the path for transmitting the data through the network based on the first data rate, the second data rate, and the transmission speed determined for each link of the plurality of links.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
set a second objective function to maximize a minimum link vacant capacity for each link of the plurality of links, and
where the one or more instructions to determine the path for transmitting the data through the network further cause the one or more processors to:
determine the path for transmitting the data through the network based on the second objective function.

### Claim 13 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
determine a cost associated with transmitting the data over each link of the plurality of links, and
set a second objective function to minimize the cost associated with transmitting the data over each link of the plurality of links, and
where the one or more instructions to determine the path for transmitting the data through the network further cause the one or more processors to:
determine the path for transmitting the data through the network based on the second objective function.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, where the one or more instructions to determine the cost associated with transmitting the data over each link of the plurality of links further cause the one or more processors to:
determine the cost associated with transmitting the data over each link, of the plurality of links, based on a cost per unit link capacity of each link of the plurality of links.

### Claim 15

A device comprising:
a memory storing instructions; and
a processor to execute the instructions stored in the memory to:
set a first constraint equation for deriving a link load in a network,
generate a second constraint equation for determining routes for transmitting data received from another network through the network,
generate a third constraint equation for calculating a link band necessary in each link, of a plurality of links, used to transmit the data between nodes of the network,
generate a fourth constraint equation for preventing a link capacity limit of each link from being exceeded, and
determine a path for transmitting the data through the network based on the first constraint equation, the second constraint equation, the third constraint equation, the fourth constraint equation, and an objective function that is set to minimize the link load in the network.

### Claim 16 (depends on 15)

The device of claim 15, where the processor is further to execute the instructions stored in the memory to:
perform parallel processing to solve at least two of the first constraint equation, the second constraint equation, the third constraint equation, or the fourth constraint equation.

### Claim 17 (depends on 15)

The system device of claim 15, where the processor is further to execute the instructions stored in the memory to:
perform parallel processing to solve the first constraint equation, the second constraint equation, the third constraint equation, and the fourth constraint equation.

### Claim 18 (depends on 15)

The device of claim 15, where the processor is further to execute the instructions stored in the memory to:
determine a first data rate associated with receiving the data from the other network,
determine a second data rate associated with transmitting the data from the network, and
determine for each link of the plurality of links, a transmission speed for performing multiple point communication within the network, and
where, when determining the path for transmitting the data through the network, the processor is further to:
determine the path through the network based on the first data rate, the second data rate, and the transmission speed determined for each link of the plurality of links.

### Claim 19 (depends on 15)

The system device of claim 15, where the processor is further to execute the instructions stored in the memory to:
set a second objective function to maximize a minimum link vacant capacity for each link of the plurality of links, and
where, when determining the path for transmitting the data through the network, the processor is further to:
determine the path for transmitting the data through the network based on the second objective function.

### Claim 20 (depends on 15)

The device of claim 15, where the processor is further to execute the instructions stored in the memory to:
determine a cost per unit link capacity associated with transmitting the data over each link of the plurality of links, and
set a second objective function to minimize the cost per unit link capacity associated with transmitting the data over each link of the plurality of links, and
where, when determining the path for transmitting the data through the network, the processor is further to:
determine the path for transmitting the data through the network based on the second objective function.
