IP Library › Granted Patent US 11,870,646
Granted Patent B2
US 11,870,646 · App. 17/147,327 · Granted Jan 9, 2024

Fabric availability and synchronization

Inventors: Ajoy C. Siddabathuni (Santa Clara, CA); Bjorn Dag Johnsen (Oslo, NO); Raghunath Shenbagam (San Jose, CA)
Assignee: Oracle International Corporation
H04L41/082H04L41/0661H04L41/084H04L41/0856H04L41/0886
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 11,870,646
App. No.
17/147,327
Granted
Jan 9, 2024
Kind
B2
Abstract

Aspects of the present disclosure include implementing fabric availability and synchronization (FAS) agents within a fabric network. In one example, a first FAS agent executing on a first network device may receive, from a second network device, a command to modify a configuration of a second network device. The first FAS may upgrade the configuration of the first network device based on the command from a current configuration to a new configuration. The first FAS agent increment a state identifier associated with the configuration of the first network device to a new state identifier associated with the new configuration. The first FAS agent may then transmit a control packet that includes the new state identifier. A second FAS agent executing on the second network device may receive the control packet and execute the command to update the configuration of the second network device to the new configuration.

Claims (79)

1. A method comprising:

determining a priority value for a first fabric and synchronization (first FAS) agent executing on a first network device of a plurality of network devices and a priority value for a second fabric and synchronization (second FAS) agent executing on a second network device of the plurality of network devices, wherein the plurality of network devices is in a fabric network including one or more communication channels between the plurality of network devices;

receiving, at the second network device, a command to modify a configuration of the second network device;

authenticating, by the second FAS agents, the command by determining, at least in part, that modifying the configuration of the second network device based on the command will continue operation of the one or more communication channels;

forwarding the command to modify the configuration of the second network device to the first network device;

authenticating, by the first FAS agent, the command by determining, at least in part, that modifying the configuration of the first network device based on the command will continue operation of the one or more communication channels;

in response to the first FAS agent authenticating the command, updating the configuration of the first network device based on the command, wherein modifying the configuration of the first network device defines a new configuration for the first network device;

in response to modifying the configuration of the first network device based on the command, updating a state identifier associated with the configuration of the first network device to correspond to a new state identifier associated with the new configuration;

transmitting, by the first FAS agent to the second FAS agent using the one or more communication channels, a control packet that includes the new state identifier, wherein upon receiving the control packet, the second FAS agent retrieves a modification associated with the command and updates the configuration of the second network device to the new configuration based on the modification;

receiving, by the first FAS agent executing on the first network device, a priority packet that includes a priority value associated with a fabric and synchronization (FAS) agent of a new network device of the fabric network, wherein the priority value associated with the FAS agent of the different network device is greater than the priority value for the first FAS agent; and

yielding, by the first FAS agent, a primary device status.

2. The method of claim 1 , wherein the control packet is transmitted over a virtual local area network that operates in parallel with a network connection managed by the first network device.

3. The method of claim 1 , further comprising:

receiving, by the first network device and from a third network device of the fabric network, an identification of a second command;

determining, by the first network device, that the second command is invalid; and

preventing the second command from altering the new configuration.

4. The method of claim 1 , further comprising:

detecting, by the first network device, a fault in the new configuration;

automatically reverting, in response to detecting the fault in the new configuration, the new configuration of the first network device to a previous configuration; and

transmitting, by the first network device, a second control packet that includes an identification of a state identifier associated with a previous known-good configuration.

5. The method of claim 1 , wherein network devices of the fabric network that operate a different configuration from the new configuration are removed from the fabric network.

6. The method of claim 1 , further comprising:

detecting, by the first FAS agent executing on the first network device, a connection failure of a fourth network device of the FAS network; and

preventing, by the first FAS agent executing on the first network device, modifications to the new configuration of the first network device while the connection failure persists.

7. The method of claim 1 , further comprising:

broadcasting, by the first FAS agent over the fabric network, a third control packet indicating that the first network device is yielding a primary network device status to the different network device.

8. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations including:

determining a priority value for a first fabric and synchronization (first FAS) agent executing on a first network device of a plurality of network devices and a priority value for a second fabric and synchronization (second FAS) agent executing on a second network device of the plurality of network devices, wherein the plurality of network devices is in a fabric network including one or more communication channels between the plurality of network devices;

receiving, at the second network device, a command to modify a configuration of the second network device;

authenticating, by the second FAS agent, the command by determining, at least in part, that modifying the configuration of the second network device based on the command will continue operation of the one or more communication channels;

forwarding the command to modify the configuration of the second network device to the first network device;

authenticating, by the first FAS agent, the command by determining, at least in part, that modifying the configuration of the first network device based on the command will continue operation of the one or more communication channels;

in response to the first FAS agent authenticating the command, updating the configuration of the first network device based on the command, wherein modifying the configuration of the first network device defines a new configuration for the first network device;

in response to modifying the configuration of the first network device based on the command, updating a state identifier associated with the configuration of the first network device to correspond to a new state identifier associated with the new configuration;

transmitting, by the first FAS agent to the second FAS agent using the one or more communication channels, a control packet that includes the new state identifier, wherein upon receiving the control packet, the second FAS agent retrieves a modification associated with the command and updates the configuration of the second network device to the new configuration based on the modification; and

receiving, by the first FAS agent executing on the first network device, a priority packet that includes a priority value associated with a fabric and synchronization (FAS) agent of a different network device of the fabric network, wherein the priority value associated with the FAS agent of the different network device is greater than the priority value for the first FAS agent; and

yielding, by the first FAS agent, a primary device status.

9. The system of claim 8 , wherein the control packet is transmitted over a virtual local area network that operates in parallel with a network connection managed by the first network device.

10. The system of claim 8 , further comprising:

receiving, by the first network device and from a third network device of the fabric network, an identification of a second command;

determining, by the first network device, that the second command is invalid; and

preventing the second command from altering the new configuration.

11. The system of claim 8 , further comprising:

detecting, by the first network device, a fault in the new configuration;

automatically reverting, in response to detecting the fault in the new configuration, the new configuration of the first network device to a previous configuration; and

transmitting, by the first network device, a second control packet that includes an identification of a state identifier associated with a previous known-good configuration.

12. The system of claim 8 , wherein network devices of the fabric network that operate a different configuration from the new configuration are removed from the fabric network.

13. The system of claim 8 , further comprising:

detecting, by the first FAS agent executing on the first network device, a connection failure of a fourth network device of the FAS network; and

preventing, by the first FAS agent executing on the first network device, modifications to the new configuration of the first network device while the connection failure persists.

14. The system of claim 8 , further comprising:

broadcasting, by the first FAS agent over the fabric network, a third control packet indicating that the first network device is yielding a primary network device status to the different network device.

15. A non-transitory computer-readable medium storing instructions that when executed by one or more processors, cause the one or more processors to perform operations including:

determining a priority value for a first fabric and synchronization (first FAS) agent executing on a first network device of a plurality of network devices and a priority value for a second fabric and synchronization (second FAS) agent executing on a second network device of the plurality of network devices, wherein the plurality of network devices is in a fabric network including one or more communication channels between the plurality of network devices;

receiving, at the second network device, a command to modify a configuration of the second network device;

authenticating, by the second FAS agent, the command by determining, at least in part, that modifying the configuration of the second network device based on the command will continue operation of the one or more communication channels;

forwarding the command to modify the configuration of the second network device to the first network device;

authenticating, by the first FAS agent, the command by determining, at least in part, that modifying the configuration of the first network device based on the command will continue operation of the one or more communication channels;

in response to the first FAS agent authenticating the command, updating the configuration of the first network device based on the command, wherein modifying the configuration of the first network device defines a new configuration for the first network device;

in response to modifying the configuration of the first network device based on the command, updating a state identifier associated with the configuration of the first network device to correspond to a new state identifier associated with the new configuration;

transmitting, by the first FAS agent to the second FAS agent using the one or more communication channels, a control packet that includes the new state identifier, wherein upon receiving the control packet, the second FAS agent retrieves a modification associated with the command and updates the configuration of the second network device to the new configuration based on the modification;

receiving, by the first FAS agent executing on the first network device, a priority packet that includes a priority value associated with a fabric and synchronization (FAS) agent of a different network device of the fabric network, wherein the priority value associated with the FAS agent of the different network device is greater than the priority value for the first FAS agent; and

yielding, by the first FAS agent, a primary device status.

16. The non-transitory computer-readable medium of claim 15 , further comprising:

receiving, by the first network device and from a third network device of the fabric network, an identification of a second command;

determining, by the first network device, that the second command is invalid; and

preventing the second command from altering the new configuration.

17. The non-transitory computer-readable medium of claim 15 , further comprising:

detecting, by the first network device, a fault in the new configuration;

automatically reverting, in response to detecting the fault in the new configuration, the new configuration of the first network device to a previous configuration; and

transmitting, by the first network device, a second control packet that includes an identification of a state identifier associated with a previous known-good configuration.

18. The non-transitory computer-readable medium of claim 15 , further comprising:

detecting, by the first FAS agent executing on the first network device, a connection failure of a fourth network device of the FAS network; and

preventing, by the first FAS agent executing on the first network device, modifications to the new configuration of the first network device while the connection failure persists.

19. The non-transitory computer-readable medium of claim 15 , further comprising:

broadcasting, by the first FAS agent over the fabric network, a third control packet indicating that the first network device is yielding a primary network device status to the different network device.

20. The non-transitory computer-readable medium of claim 15 , wherein the control packet is transmitted over a virtual local area network that operates in parallel with a network connection managed by the first network device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2021
From: SIDDABATHUNI, AJOY C.; JOHNSEN, BJORN DAG; SHENBAGAM, RAGHUNATH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 054926/0174 →
Continuity (1)
Related Publication 20220224598A1 · Jul 14, 2022