IP Library › Granted Patent US 12,375,410
Granted Patent B2
US 12,375,410 · App. 17/750,194 · Granted Jul 29, 2025

Position aware load balancing in a ring network

Inventors: Shruti Agarwal (Milpitas, CA); Xiaoguang Jason Chen (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L47/13H04L47/11H04L47/125
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,375,410
App. No.
17/750,194
Granted
Jul 29, 2025
Kind
B2
Abstract

According to one or more embodiments of the disclosure, a supervisory networking device in an Ethernet ring obtains identity information for each of a plurality of other networking devices in the Ethernet ring. The supervisory networking device determines, based on the identity information, a relative position for each of the plurality of other networking devices in the Ethernet ring. The supervisory networking device generates, based on the relative position of each of the plurality of other networking devices in the Ethernet ring, a load balancing configuration for the Ethernet ring. The supervisory networking device implements the load balancing configuration in the Ethernet ring by blocking a first link of the supervisory networking device for a first subset of the plurality of other networking devices and a second link of the supervisory networking device for a second subset of the plurality of other networking devices.

Claims (55)

1. A method comprising:

obtaining, by a supervisory networking device in an Ethernet ring, identity information for each of a plurality of other networking devices in the Ethernet ring;

determining, by the supervisory networking device and based on the identity information, a relative position for each of the plurality of other networking devices in the Ethernet ring;

generating, by the supervisory networking device and based on the relative position of each of the plurality of other networking devices in the Ethernet ring, a load balancing configuration for the Ethernet ring; and

implementing, by the supervisory networking device, the load balancing configuration in the Ethernet ring by blocking a first link of the supervisory networking device for a first subset of the plurality of other networking devices and a second link of the supervisory networking device for a second subset of the plurality of other networking devices.

2. The method as in claim 1 , wherein the supervisory networking device and the plurality of other networking devices in the Ethernet ring are Ethernet switches.

3. The method as in claim 1 , further comprising:

detecting, by the supervisory networking device, a fault along the first link of the supervisory networking device; and

unblocking, by the supervisory networking device, the second link of the supervisory networking device for the second subset of the plurality of other networking devices responsive to detecting the fault.

4. The method as in claim 1 , wherein the identity information for each of the plurality of other networking devices comprises an Ethernet frame indicating an offset for that other networking device, and wherein the supervisory networking device determines the relative position of that other networking device in the Ethernet ring based on the offset.

5. The method as in claim 1 , further comprising:

determining, by the supervisory networking device, the Ethernet ring has an even quantity of networking devices;

assigning, by the supervisory networking device, a first portion of the plurality of other networking devices to the first subset based on the first portion having a numbered relative position in the Ethernet ring no greater than half of the even quantity of networking devices; and

assigning, by the supervisory networking device, a second portion of the plurality of other networking devices to the second subset based on the second portion having a numbered relative position in the Ethernet ring no less than half of a sum of the even quantity of networking devices and two.

6. The method as in claim 1 , further comprising:

determining, by the supervisory networking device, the Ethernet ring has an odd quantity of networking devices;

assigning, by the supervisory networking device, a first portion of the plurality of other networking devices to the first subset based on the first portion having a numbered relative position in the Ethernet ring no greater than half of a sum of the odd quantity of networking devices and one; and

assigning, by the supervisory networking device, a second portion of the plurality of other networking devices to the second subset based on the second portion having a numbered relative position in the Ethernet ring no less than half of a sum of the odd quantity of networking devices and three.

7. The method as in claim 1 , wherein the first link is blocked for the first subset for unicast traffic and the second link is blocked for the second subset for unicast traffic.

8. The method as in claim 1 , wherein blocking the first link of the supervisory networking device includes:

preventing, by the supervisory networking device, traffic associated with the first subset of the plurality of other networking devices from utilizing a port of the supervisory networking device utilized for communication across the first link; and

configuring, by the supervisory networking device, the first subset of the plurality of other networking devices to utilize the second link.

9. The method as in claim 1 , wherein the identity information includes a media access control address for that other networking device, and wherein the media access control address for that other networking device is utilized to identify network traffic to be blocked.

10. The method as in claim 1 , wherein the supervisory networking device is a gateway for the Ethernet ring to an external network.

11. An apparatus, comprising:

one or more interfaces to communicate with a plurality of networking devices in an Ethernet ring;

a processor coupled to the one or more interfaces and configured to execute one or more processes; and

a memory configured to store a process that is executable by the processor, the process when executed configured to:

obtain identity information for each of a plurality of networking devices in an Ethernet ring;

determine, based on the identity information, a relative position for each of the plurality of networking devices in the Ethernet ring;

generate, based on the relative position of each of the plurality of networking devices in the Ethernet ring, a load balancing configuration for the Ethernet ring; and

implement the load balancing configuration in the Ethernet ring by blocking a first link of the apparatus for a first subset of the plurality of networking devices and a second link of the apparatus for a second subset of the plurality of networking devices.

12. The apparatus as in claim 11 , wherein the apparatus and the plurality of networking devices in the Ethernet ring are Ethernet switches.

13. The apparatus as in claim 11 , wherein the process, when executed, is further configured to:

detect a fault along the first link of the apparatus; and

unblock the second link of the apparatus for the second subset of the plurality of networking devices responsive to detecting the fault.

14. The apparatus as in claim 11 , wherein the identity information for each of the plurality of networking devices comprises an Ethernet frame indicating an offset for that networking device, and wherein the apparatus determines the relative position of that networking device in the Ethernet ring based on the offset indicated in the Ethernet frame.

15. The apparatus as in claim 11 , wherein the process, when executed, is further configured to:

determine the Ethernet ring has an even quantity of networking devices;

assign a first portion of the plurality of networking devices to the first subset based on the first portion having a numbered relative position in the Ethernet ring no greater than half of the even quantity of networking devices; and

assign a second portion of the plurality of networking devices to the second subset based on the second portion having a numbered relative position in the Ethernet ring no less than half of a sum of the even quantity of networking devices and two.

16. The apparatus as in claim 11 , wherein the process, when executed, is further configured to:

determine the Ethernet ring has an odd quantity of networking devices;

assign a first portion of the plurality of networking devices to the first subset based on the first portion having a numbered relative position in the Ethernet ring no greater than half of a sum of the odd quantity of networking devices and one; and

assign a second portion of the plurality of networking devices to the second subset based on the second portion having a numbered relative position in the Ethernet ring no less than half of a sum of the odd quantity of networking devices and three.

17. The apparatus as in claim 11 , wherein the first link is blocked for the first subset for unicast traffic and the second link is blocked for the second subset for unicast traffic.

18. The apparatus as in claim 11 , wherein the apparatus blocks the first link by:

preventing traffic associated with the first subset of the plurality of networking devices from utilizing a port of the apparatus utilized for communication across the first link; and

configuring the first subset of the plurality of networking devices to utilize the second link.

19. The apparatus as in claim 11 , wherein the identity information includes a media access control address for that other networking device, and wherein the media access control address for that networking device is utilized to identify network traffic to be blocked.

20. A tangible, non-transitory, computer-readable medium storing program instructions that cause a supervisory networking device in an Ethernet ring to execute a process comprising:

obtaining, by the supervisory networking device in the Ethernet ring, identity information for each of a plurality of other networking devices in the Ethernet ring;

determining, by the supervisory networking device and based on the identity information, a relative position for each of the plurality of other networking devices in the Ethernet ring;

generating, by the supervisory networking device and based on the relative position of each of the plurality of other networking devices in the Ethernet ring, a load balancing configuration for the Ethernet ring; and

implementing, by the supervisory networking device, the load balancing configuration in the Ethernet ring by blocking a first link of the supervisory networking device for a first subset of the plurality of other networking devices and a second link of the supervisory networking device for a second subset of the plurality of other networking devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2022
From: AGARWAL, SHRUTI; CHEN, XIAOGUANG JASON
To: CISCO TECHNOLOGY, INC.
Reel/Frame 059976/0807 →
Continuity (1)
Related Publication 20230412510A1 · Dec 21, 2023
References Cited (16)
US 7126910B1 · Sridhar · 2006 [cited by applicant]
US 9813340B2 · Thubert et al. · 2017 [cited by applicant]
US 10630593B2 · Paramasivam · 2020 [cited by applicant]
US 10757161B2 · Murgia et al. · 2020 [cited by applicant]
US 11128700B2 · Rao et al. · 2021 [cited by applicant]
US 20140301185A1 · Chen · 2014 [cited by examiner]
US 20160142264A1 · Sahi · 2016 [cited by examiner]
“EtherNet/IP Device Level Ring”, Application Technique, Original Instructions, Rockwell Automation Publication ENET-AT007D-EN-P, Aug. 2021, 92 pages, Rockwell Automation, Inc. [cited by applicant]
Moldovansky, et al., “Introduction to Device Level Ring topology for EtherNet/IP”, online: https://iebmedia.com/technology/introduction-to-device-level-ring-topology-for-ethernet-ip/, Oct. 5, 2009, accessed Apr. 11, 202… [cited by applicant]
“Resilient Ethernet Protocol Overview”, online: https://www.cisco.com/c/en/US/support/docs/lan-switching/ethernet/116384-technote-rep-00.pdf, Doc ID: 116384, Jul. 22, 2016, accessed Apr. 11, 2022, 14 pages, Cisco System… [cited by applicant]
“Configuring a Load-Balancing Scheme”, online: https://www.cisco.com/c/en/US/td/docs/ios-XML/ios/ipswitch_cef/configuration/xe-3s/isw-cef-xe-3s-book/isw-cef-load-balancing.pdf, Jan. 20, 2018, accessed Apr. 11, 2022, 16 … [cited by applicant]
Boraah, Drritiman, “8 Load Balancing techniques you should know”, online: https://lavellenetworks.com/blog/8-load-balancing-techniques-you-should-know/, 2021, accessed Apr. 11, 2022, 6 pages, Lavellenetworks. [cited by applicant]
Pepelnjak, Ivan, “Traffic engineering: An introduction”, online: https://www.computerweekly.com/tip/Traffic-engineering-An-introduction, Jul. 27, 2007, accessed Apr. 11, 2022, 4 pages, ComputerWeekly, TechTarget. [cited by applicant]
“Configuring Resilient Ethernet Protocol”, online: https://www.cisco.com/c/en/US/td/docs/switches/lan/cisco_ie4010/software/release/15-2_4_EC/configuration/guide/scg-ie4010_5000/swrep.pdf, Feb. 17, 2022, accessed Apr. 1… [cited by applicant]
“I.A. Ring / I.A. Chain”, online: https://www.ison-tech.com/index.php/technology/ia_ring_chain, accessed Apr. 11, 2022, 5 pages, ISON Technology Co., Ltd. [cited by applicant]
Nsaif, et al., “LPLB: A Novel Approach for Loop Prevention and Load Balancing in Ethernet Ring Networks”, Conference: The 10th KIPS International Conference on Ubiquitous Information Technologies and Applications (CUTE … [cited by applicant]