# US 11,909,666 B2 · Methods and systems for resource optimization

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

- Number: US 11,909,666 B2
- Document ID: US11909666B2
- Status: Granted
- Kind: B2
- Application number: 17/991,170
- Filed: 2022-11-21
- Published: 2023-03-16
- Granted: 2024-02-20
- Earliest claimed: 2020-03-27
- Assignees: Arista Networks, Inc.
- Applicants: Arista Networks, Inc.
- Inventors: Binglai Niu; Mayukh Saubhasik
- Web page: https://patentgrep.com/patent/US11909666B2

## CPC

- H04L 47/82: {Miscellaneous aspects}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- H04L 45/24: Multipath
- H04L 45/245: {Link aggregation, e.g. trunking}
- H04L 45/34: {Source routing}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for optimizing network device resources that includes receiving, by an optimizer, first resource utilization data, making a first determination, based on the first resource utilization data, that resource utilization exceeds an upper threshold, starting, based on the first determination, an optimization process, that includes identifying a resource optimization entry of a resource class optimization queue, and initiating optimization of a resource fragment specified by the resource optimization entry. After initiating optimization of the region of the memory, the method additionally includes receiving second resource utilization data, making a second determination, based on the second resource utilization data, that the resource utilization is below a lower threshold, and halting, based on the second determination, the optimization process.

## Claims

### Claim 1

A method for managing optimization of network device resources, the method comprising:
receiving a resource allocation entry that identifies a resource fragment;
receiving an indication of whether the resource allocation entry is indicated as optimal;
in response to receiving the indication that the resource allocation entry is indicated as optimal, removing from a resource class optimization queue that is a data structure stored in a memory of a network device any resource optimization entry associated with the resource fragment; and
in response to receiving the indication that the resource allocation entry is indicated as non-optimal, either maintaining an existing resource optimization entry associated with the resource fragment or adding a new resource optimization entry associated with the resource fragment in the resource class optimization queue.

### Claim 2 (depends on 1)

The method of claim 1, further comprising performing an optimization of the resource fragment if any resource optimization entry associated with the resource fragment remains in the resource class optimization queue.

### Claim 3 (depends on 1)

The method of claim 1, further comprising identifying the resource class optimization queue associated with the identifier associated with the resource fragment using an identifier of the resource fragment.

### Claim 4 (depends on 1)

The method of claim 1, wherein the resource allocation entry is received from a resource manager of a network device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the resource allocation entry is received by an optimizer of a network device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the resource allocation entry comprises a resource fragment identifier, an allocation identifier, and an optimality indicator.

### Claim 7 (depends on 1)

The method of claim 1, further comprising generating, by a network device optimizer, the indication of whether the resource allocation entry is indicated as optimal, the generating including:
in response to determining that utilization of the resource fragment is below a lower threshold, generating the indication that the resource allocation entry is optimal; and
in response to determining that utilization of the resource fragment exceeds an upper threshold, generating the indication that the resource allocation entry is non-optimal.

### Claim 8 (depends on 1)

The method of claim 1, wherein the resource fragment comprises a fragment of a hardware resource of the network device.

### Claim 9

A network device, comprising:
memory; and
a processor, wherein the processor is configured to perform a method for optimizing network device resources, comprising:
receiving a resource allocation entry that identifies a resource fragment;
receiving an indication of whether the resource allocation entry is indicated as optimal;
in response to receiving the indication that the resource allocation entry is indicated as optimal, removing from a resource class optimization queue that is a data structure stored in a memory of a network device any resource optimization entry associated with the resource fragment; and
in response to receiving the indication that the resource allocation entry is indicated as non-optimal, either maintaining an existing resource optimization entry associated with the resource fragment or adding a new resource optimization entry associated with the resource fragment in the resource class optimization queue.

### Claim 10 (depends on 9)

The network device of claim 9, further comprising performing an optimization of the resource fragment if any resource optimization entry associated with the resource fragment remains in the resource class optimization queue.

### Claim 11 (depends on 9)

The network device of claim 9, further comprising identifying the resource class optimization queue associated with the identifier associated with the resource fragment using an identifier of the resource fragment.

### Claim 12 (depends on 9)

The network device of claim 9, wherein the resource allocation entry is received from a resource manager of a network device.

### Claim 13 (depends on 9)

The network device of claim 9, wherein the resource allocation entry is received by an optimizer of a network device.

### Claim 14 (depends on 9)

The network device of claim 9, wherein the resource allocation entry comprises a resource fragment identifier, an allocation identifier, and an optimality indicator.

### Claim 15

A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for optimizing network device resources, comprising:
receiving a resource allocation entry that identifies a resource fragment;
receiving an indication of whether the resource allocation entry is indicated as optimal;
in response to receiving the indication that the resource allocation entry is indicated as optimal, removing from a resource class optimization queue that is a data structure stored in a memory of a network device any resource optimization entry associated with the resource fragment; and
in response to receiving the indication that the resource allocation entry is indicated as non-optimal, either maintaining an existing resource optimization entry associated with the resource fragment or adding a new resource optimization entry associated with the resource fragment in the resource class optimization queue.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, the method further comprising performing an optimization of the resource fragment if any resource optimization entry associated with the resource fragment remains in the resource class optimization queue.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, the method further comprising identifying the resource class optimization queue associated with the identifier associated with the resource fragment using an identifier of the resource fragment.

### Claim 18 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the resource allocation entry is received from a resource manager of a network device.

### Claim 19 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the resource allocation entry is received by an optimizer of a network device.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the resource allocation entry comprises a resource fragment identifier, an allocation identifier, and an optimality indicator.
