# US 11,909,663 B1 · Methods and apparatus for efficient use of link aggregation groups

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

- Number: US 11,909,663 B1
- Document ID: US11909663B1
- Status: Granted
- Kind: B1
- Application number: 17/587,675
- Filed: 2022-01-28
- Granted: 2024-02-20
- Earliest claimed: 2012-12-18
- Assignees: Juniper Networks, Inc.
- Applicants: Juniper Networks, Inc.
- Inventors: Jeevan Madhu Kamisetty; Lakshmana Murthy Mantha; Joseph L. White; Simon Jonathan Gordon
- Web page: https://patentgrep.com/patent/US11909663B1

## CPC

- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 12/12: Arrangements for remote connection or disconnection of substations or of equipment thereof
- H04L 45/586: of virtual routers
- H04L 47/76: using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L 49/351: for local area network [LAN], e.g. Ethernet switches
- H04L 49/357: {Fibre channel switches}
- H04Q 11/0005: {Switch and router aspects}
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A non-transitory processor-readable medium storing code representing instructions to be executed by a processor can cause the processor to receive an indication to load balance a group of sessions associated with a network node and a switch across a group of links between a gateway device and the switch at a first time. The code causes the processor to calculate at a second time, a load based on the group of sessions and associated with a first set of links in an active configuration before the first time. The code causes the processor to send a signal to cause a set of sessions from the group of sessions to re-establish themselves at a third time based on a threshold value calculated based on the load such that the set of sessions are load balanced across a second set of links in the active configuration at the third time.

## Claims

### Claim 1

A gateway device, comprising:
a memory device; and
a processor operatively coupled to the memory, the processor configured to calculate, at a first time, a plurality of link-session profiles associating each session from a first plurality of sessions with a link from a plurality of links between the gateway device and a switch, the first plurality of sessions including sessions between a plurality of network nodes and the switch, each virtual port from a plurality of virtual ports being associated with a network node from the plurality of network nodes, the plurality of virtual ports and the switch associated with a second plurality of sessions between the plurality of virtual ports and the switch; and
the processor configured to select a link-session profile from the_plurality of link-session profiles based on a load balancing profile associated with the link-session profile.

### Claim 2 (depends on 1)

The gateway device of claim 1, wherein the first plurality of sessions includes a first subset of sessions initiated by a plurality of Fibre Channel over Ethernet (FCoE) fabric login (FLOGI) requests and a second subset of sessions initiated by a plurality of Fibre Channel over Ethernet (FCoE) fabric discovery (FDISC) requests.

### Claim 3 (depends on 1)

The gateway device of claim 1, wherein:
the processor is configured to calculate, prior to the first time, a plurality of load values, each load value from the plurality of load values associated with a link from the plurality of links; and
the processor is configured to calculate, at the first time, the plurality of link-session profiles based on the plurality of load values.

### Claim 4 (depends on 1)

The gateway device of claim 1, wherein:
the plurality of link-session profiles includes an amount of load on each link of the plurality of links and a bandwidth requirement from a plurality of bandwidth requirements on each session from the first plurality of sessions.

### Claim 5 (depends on 1)

The gateway device of claim 1, wherein:
the processor is configured to calculate a link-session profile from the plurality of link-session profiles for each distinct link-session combination between each session from the first plurality of sessions and each link from the plurality of links.

### Claim 6 (depends on 1)

The gateway device of claim 1, wherein the switch is a Fibre Channel (FC) switch.

### Claim 7 (depends on 1)

The gateway device of claim 1, wherein:
the processor is configured to calculate, prior to the first time, a plurality of load values, each load value from the plurality of load value associated with a link from the plurality of links; and
the processor is configured to calculate the threshold value based on the plurality of load values.

### Claim 8 (depends on 7)

The gateway device of claim 7, wherein:
the processor is configured to calculate the threshold value based on an average load of the plurality of load values and a standard deviation of the plurality of load values.

### Claim 9 (depends on 1)

The gateway device of claim 1, wherein:
the processor is configured to receive an indication to load balance the first plurality of sessions in response to a link from the plurality of links changing from an inactive configuration to an active configuration.

### Claim 10 (depends on 1)

The gateway device of claim 1, wherein the first plurality of sessions includes a first subset of sessions initiated by a plurality of Fibre Channel over Ethernet (FCoE) fabric login (FLOGI) requests, the first subset of sessions does not include a third plurality of sessions initiated by a plurality of Fibre Channel over Ethernet (FCoE) fabric discovery (FDISC) requests.

### Claim 11 (depends on 1)

The gateway device of claim 1, further comprising:
a first plurality of ports operatively coupled to the plurality of network nodes; and
a second plurality of ports operatively coupled to the switch.

### Claim 12

A method, comprising:
calculating, at a first time, a plurality of link-session profiles associating each session from a first plurality of sessions with a link from a plurality of links between the gateway device and a switch, the first plurality of sessions including sessions between a plurality of network nodes and the switch, the plurality of link-session profiles including at least one of an amount of load on each link of the plurality of links or a bandwidth requirement from a plurality of bandwidth requirements on each session from first the plurality of sessions, each virtual port from a plurality of virtual ports being associated with a network node from the plurality of network nodes, the plurality of virtual ports and the switch associated with a second plurality of sessions between the plurality of virtual ports and the switch; and
selecting a link-session profile from the plurality of link-session profiles based on a load balancing profile associated with the link-session profile.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first plurality of sessions includes a first subset of sessions initiated by a plurality of Fibre Channel over Ethernet (FCoE) fabric login (FLOGI) requests and a second subset of sessions initiated by a plurality of Fibre Channel over Ethernet (FCoE) fabric discovery (FDISC) requests.

### Claim 14 (depends on 12)

The method of claim 12, further comprising:
calculating, prior to the first time, an amount of load from a plurality of amounts of load on each link from the plurality of links; and
calculating, at the first time, the plurality of link-session profiles based on the plurality of amounts of load.

### Claim 15 (depends on 12)

The method of claim 12, wherein:
the selecting the link-session profile from the plurality of link-session profiles is based on the disruptions to the first plurality of sessions being less than the criteria and load imbalance being less than a threshold value.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
calculating, prior to the first time, an amount of load from a plurality of amounts of load on each link of the plurality of links; and
calculating the threshold value based on an average amount of load of the plurality of amounts of load and a standard deviation of the plurality of amounts of load.

### Claim 17 (depends on 12)

The method of claim 12, further comprising:
receiving an indication to load balance the first plurality of sessions in response to a link from the plurality of links changing from an inactive configuration to an active configuration.

### Claim 18 (depends on 12)

The method of claim 12, wherein the switch is a Fibre Channel (FC) switch.

### Claim 19

A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
receive an indication to load balance a first plurality of sessions across a plurality of links between a gateway device and a switch, the first plurality of sessions including sessions between a plurality of network nodes and the switch, each virtual port from a plurality of virtual ports being associated with a network node from the plurality of network nodes, the plurality of virtual ports and the switch associated with a second plurality of sessions between the plurality of virtual ports and the switch;
calculate a plurality of link-session profiles associating each session from the first plurality of sessions with a link from a plurality of links between the gateway device and the switch; and
select at least one link-session profile from the plurality of link-session profiles based on a load balancing profile associated with the link-session profile.

### Claim 20 (depends on 19)

The non-transitory processor-readable medium of claim 19, wherein:
the plurality of link-session profiles includes an amount of load on each link of the plurality of links and a bandwidth requirement from a plurality of bandwidth requirements on each session from the first plurality of sessions.
