# US 2014/0153568 A1 · Network routing based on resource availability

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

- Number: US 2014/0153568 A1
- Document ID: US20140153568A1
- Status: Published application
- Kind: A1
- Application number: 13/995,978
- Filed: 2012-05-10
- Published: 2014-06-05
- Earliest claimed: 2012-05-10
- Assignees: Intel Corporation
- Inventors: Iosif Gasparakis
- Web page: https://patentgrep.com/patent/US20140153568A1

## CPC

- H04L 45/42: Centralised routing
- H04L 5/0058: {Allocation criteria}
- H04L 49/00: Packet switching elements
- H04L 49/505: Corrective measures
- H04L 45/38: {Flow based routing}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system for network routing based on resource availability. A network switching element (NSE) may be configured to provide status information to a controller. The controller may be configured to utilize the status information in determining control information that may be provided to the NSE. The NSE may further be configured to assign processing of information flows to processors in the NSE based on the control information. For example, the control information may contain minimum and maximum percent utilization levels for the processors. Information flows may be reassigned to processors that have available processing capacity from processors whose operation is determined not to be in compliance with the minimum and maximum levels. Moreover, inactive processors may be deactivated and alerts may be sent to the controller when the NSE determines that no available processing capacity exists to reassign the flows of processors whose operation is determined to be noncompliant.

## Claims

### Claim at position 1

1-30. (canceled)

### Claim 31

A system, comprising:
a network switching element including at least ports and processors, the network switching element being configured to assign at least one of the processors to process information flows between the ports based on control information; and
a controller configured to control the network switching element by providing the control information to the network switching element.

### Claim 32 (depends on 31)

The system of claim 31, wherein the network switching element comprises a software-based switch configured to control operation of a device comprising the ports and processors.

### Claim 33 (depends on 32)

The system of claim 32, wherein the software-based switch is configured to interact with a flow table in the device, the flow table defining how information will be routed in an Ethernet network based on Institute of Electrical and Electronics Engineers (IEEE) standard 802.3.

### Claim 34 (depends on 31)

The system of claim 31, wherein the control information comprises at least one of a minimum utilization level or a maximum utilization level for the processors.

### Claim 35 (depends on 31)

The system of claim 31, wherein the processors comprise at least one processor configured to assign the processing of the information flows based on the control information.

### Claim 36 (depends on 35)

The system of claim 35, wherein the at least one processor is further configured to provide information regarding status of the processors to the controller.

### Claim 37 (depends on 36)

The system of claim 36, wherein the controller is configured to determine the control information based on the status information received from the at least one controller.

### Claim 38

A controller, comprising:
a communication module configured to communicate on a network; and
a network switching element control module configured to receive status information from a network switching element via the communication module, to determine control information based on the status information, and to provide the control information to the network switching element via the communication module.

### Claim 39 (depends on 38)

The controller of claim 38, wherein the status information includes at least one of capability information or utilization information for processors in the network switching element.

### Claim 40 (depends on 39)

The controller of claim 39, wherein the control information includes at least one of a minimum utilization level or a maximum utilization level for the processors.

### Claim 41 (depends on 40)

The controller of claim 40, wherein the network switching element control module is further configured to receive an alert from the network switching element via the communication module, the alert indicating that at least one of the processors is exceeding the maximum utilization level, and to redirect information flows away from the network switching element based on the alert.

### Claim 42

A device, comprising:
a communication module configured to communicate on a network;
ports configured to transmit and receive information flows;
processors configured to process the information flows between the ports; and
a network switching element module configured to provide status information to a controller via the communication module, to receive control information from the controller via the communication module, and to assign at least one of the processors to process the information flows between the ports based on the control information.

### Claim 43 (depends on 42)

The device of claim 42, wherein the network switching element module is configured to interact with a flow table in the device, the flow table defining how information will be routed in an Ethernet network based on Institute of Electrical and Electronics Engineers (IEEE) standard 802.3.

### Claim 44 (depends on 42)

The device of claim 42, wherein the status information includes at least one of capability information or utilization information for processors in the network switching element.

### Claim 45 (depends on 42)

The device of claim 42, wherein the control information comprises at least one of a minimum utilization level or a maximum utilization level for the processors based on the status information.

### Claim 46

A method, comprising:
providing status information to a controller;
receiving control information from the controller;
determining whether processors are operating in compliance with the control information; and
controlling the processing of information flows between ports so that the operation of the processors complies with the control information.

### Claim 47 (depends on 46)

The method of claim 46, wherein the control information comprises at least one of a minimum utilization level or a maximum utilization level for the processors based on the status information.

### Claim 48 (depends on 46)

The method of claim 46, wherein controlling the processing of information flows comprises determining if any processors have available processing capacity, and reallocating information flows from processors determined not in compliance with the control information to processors determined to have available processing capacity.

### Claim 49 (depends on 48)

The method of claim 48, wherein controlling the processing of information flows comprises alerting the controller when it is determined that processors are not in compliance with the control information and no processors have available processing capacity.

### Claim 50 (depends on 48)

The method of claim 48, wherein controlling the processing of information flows comprises determining if any information flows have been discontinued, and reallocating information flows between the processors based on the control information.

### Claim 51 (depends on 50)

The method of claim 50, further comprising deactivating any processors that are not processing information flows as a result of the reallocation of information flows.

### Claim 52

At least one machine-readable storage medium having stored thereon, individually or in combination, instructions that when executed by one or more processors result in the following operations comprising:
providing status information to a controller;
receiving control information from the controller;
determining whether processors are operating in compliance with the control information; and
controlling the processing of information flows between ports so that the operation of the processors complies with the control information.

### Claim 53 (depends on 52)

The medium of claim 52, wherein the control information comprises at least one of a minimum utilization level or a maximum utilization level for the processors based on the status information.

### Claim 54 (depends on 52)

The medium of claim 52, wherein controlling the processing of information flows comprises determining if any processors have available processing capacity, and reallocating information flows from processors determined not to be operating in compliance with the control information to processors determined to have available processing capacity.

### Claim 55 (depends on 54)

The medium of claim 54, wherein controlling the processing of information flows comprises alerting the controller when it is determined that processors are not operating in compliance with the control information and no processors have available processing capacity.

### Claim 56 (depends on 54)

The medium of claim 54, wherein controlling the processing of information flows comprises determining if any information flows have been discontinued, and reallocating information flows between the processors based on the control information

### Claim 57 (depends on 56)

The medium of claim 56, further comprising deactivating any processors that are not processing information flows as a result of the reallocation of information flows.
