IP Library Granted Patent US 12,088,466
Granted Patent B1
US 12,088,466 · App. 18/118,057 · Granted Sep 10, 2024

Performing scalable network upgrades

Inventors: Joshua Ricklis (Fair Lawn, NJ); Zachary Meath (Stratham, NH)
Assignee: Goldman Sachs & Co. LLC
H04L41/0836H04L41/082
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,088,466
App. No.
18/118,057
Granted
Sep 10, 2024
Kind
B1
Abstract

A system performs upgrade of a network that includes network devices that provide connectivity to servers. The system performs network upgrade by evaluating a set of upgrade criteria for each network device to determine whether to upgrade the device or delay upgrading the network device. Each upgrade criterion is based on a relation between the selected network device and other network devices currently being upgraded. After completing the upgrade, the system determines whether the network upgrade completed successfully. The system determines whether the network upgrade completed successfully by determining a pre-snapshot representing a state of the network before network upgrade and a post-snapshot representing a state of the network after network upgrade. The system compares the pre-snapshot and the post-snapshot to determine whether the network upgrade completed successfully.

Claims (59)

1. A method for upgrading a network, the method comprising:

receiving a request to upgrade a network comprising a plurality of network devices providing connectivity for a set of servers;

receiving a network topology of the network, the network topology represented as a topology graph;

performing network upgrade comprising, repeating:

selecting a network device for upgrading;

evaluating a set of upgrade criteria, each upgrade criterion based on a relation between the selected network device and one or more other network devices currently being upgraded, the set of upgrade criteria including an upgrade criterion indicating whether another network device directly connected to the selected network device is currently being upgraded;

determining whether to upgrade the selected network device based on a result of evaluation of the set of upgrade criteria; and

performing one of (1) upgrading the selected network device or (2) delaying upgrade of the selected network device based on the result of evaluation of the set of upgrade criteria and completing the upgrade of the selected network device after the delay; and

determining whether the network upgrade completed successfully.

2. The method of claim 1 , wherein the set of upgrade criteria further includes an upgrade criterion that indicates that two network devices are not upgraded simultaneously if any of the two network devices has a neighboring network device with incomplete topology information.

3. The method of claim 1 , wherein the set of upgrade criteria further includes an upgrade criterion that indicates that a network device is not upgraded if upgrading the network device will remove from service, more than a threshold percentage of viable paths to a portion of the network.

4. The method of claim 1 , further comprising:

adding a representation of each of the plurality of network devices to a queue, wherein selecting a network device for upgrading comprising selecting a network device from front of the queue.

5. The method of claim 4 , wherein delaying upgrade of the selected network device comprises adding the representation of the selected network device to end of the queue.

6. The method of claim 1 , wherein determining whether the network upgrade completed successfully comprises:

determining a pre-snapshot comprising attributes representing a state of the network before network upgrade;

determining a post-snapshot comprising attributes representing a state of the network after network upgrade; and

comparing the pre-snapshot and the post-snapshot to determine whether upgrade of one or more network devices failed.

7. The method of claim 6 , wherein each of the pre-snapshot and the post-snapshot comprises attributes based on status of physical interfaces of each of the plurality of network devices.

8. The method of claim 6 , further comprising:

receiving an expectations specification specifying relations between value of an attribute of a snapshot before upgrade and after upgrade, wherein comparing the pre-snapshot and the post-snapshot is based on the expectations specification.

9. A computer readable non-transitory storage medium storing instructions, the instructions when executed by one or more computer processors cause the one or more computer processors to perform steps comprising:

receiving a request to upgrade a network comprising a plurality of network devices providing connectivity for a set of servers;

receiving a network topology of the network, the network topology represented as a topology graph;

performing network upgrade comprising, repeating:

selecting a network device for upgrading;

evaluating a set of upgrade criteria, each upgrade criterion based on a relation between the selected network device and one or more other network devices currently being upgraded, the set of upgrade criteria including an upgrade criterion indicating whether another network device directly connected to the selected network device is currently being upgraded;

determining whether to upgrade the selected network device based on a result of evaluation of the set of upgrade criteria; and

performing one of (1) upgrading the selected network device or (2) delaying upgrade of the selected network device based on the result of evaluation of the set of upgrade criteria and completing the upgrade of the selected network device after the delay; and

determining whether the network upgrade completed successfully.

10. The computer readable non-transitory storage medium of claim 9 , wherein the set of upgrade criteria further includes an upgrade criterion that indicates that two network devices are not upgraded simultaneously if any of the two network devices has a neighboring network device with incomplete topology information.

11. The computer readable non-transitory storage medium of claim 9 , wherein the set of upgrade criteria further includes an upgrade criterion that indicates that a network device is not upgraded if upgrading the network device will remove from service, more than a threshold percentage of viable paths to a portion of the network.

12. The computer readable non-transitory storage medium of claim 9 , wherein the instructions further cause the one or more computer processors to perform steps comprising:

adding a representation of each of the plurality of network devices to a queue, wherein selecting a network device for upgrading comprising selecting a network device from front of the queue.

13. The computer readable non-transitory storage medium of claim 12 , wherein delaying upgrade of the selected network device comprises adding the representation of the selected network device to end of the queue.

14. The computer readable non-transitory storage medium of claim 9 , wherein instructions for determining whether the network upgrade completed successfully, further cause the one or more computer processors to perform steps comprising:

determining a pre-snapshot comprising attributes representing a state of the network before network upgrade;

determining a post-snapshot comprising attributes representing a state of the network after network upgrade; and

comparing the pre-snapshot and the post-snapshot to determine whether upgrade of one or more network devices failed.

15. The computer readable non-transitory storage medium of claim 14 , wherein each of the pre-snapshot and the post-snapshot comprises attributes based on status of physical interfaces of each of the plurality of network devices.

16. The computer readable non-transitory storage medium of claim 14 , wherein the instructions further cause the one or more computer processors to perform steps comprising:

receiving an expectations specification specifying relations between value of an attribute of a snapshot before upgrade and after upgrade, wherein comparing the pre-snapshot and the post-snapshot is based on the expectations specification.

17. A computer-implemented system for upgrading a network, the system comprising:

one or more computer processors; and

a computer readable non-transitory storage medium storing instructions, the instructions when executed by the one or more computer processors cause the one or more computer processors to perform steps comprising:

receiving a request to upgrade a network comprising a plurality of network devices providing connectivity for a set of servers;

receiving a network topology of the network, the network topology represented as a topology graph;

performing network upgrade comprising, repeating:

selecting a network device for upgrading;

evaluating a set of upgrade criteria, each upgrade criterion based on a relation between the selected network device and one or more other network devices currently being upgraded, the set of upgrade criteria including an upgrade criterion indicating whether another network device directly connected to the selected network device is currently being upgraded;

determining whether to upgrade the selected network device based on a result of evaluation of the set of upgrade criteria; and

performing one of (1) upgrading the selected network device or (2) delaying upgrade of the selected network device based on the result of evaluation of the set of upgrade criteria and completing the upgrade of the selected network device after the delay; and

determining whether the network upgrade completed successfully.

18. The computer-implemented system of claim 17 , wherein instructions for determining whether the network upgrade completed successfully further cause the one or more computer processors to perform steps comprising:

determining a pre-snapshot comprising attributes representing a state of the network before network upgrade;

determining a post-snapshot comprising attributes representing a state of the network after network upgrade; and

comparing the pre-snapshot and the post-snapshot to determine whether upgrade of one or more network devices failed.

19. The computer-implemented system of claim 17 , wherein the set of upgrade criteria further includes an upgrade criterion that indicates that two network devices are not upgraded simultaneously if any of the two network devices has a neighboring network device with incomplete topology information.

20. The computer-implemented system of claim 17 , wherein the set of upgrade criteria further includes an upgrade criterion that indicates that a network device is not upgraded if upgrading the network device will remove from service, more than a threshold percentage of viable paths to a portion of the network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: RICKLIS, JOSHUA; MEATH, ZACHARY
To: GOLDMAN SACHS & CO. LLC
Reel/Frame 063023/0980 →