IP Library › Granted Patent US 12,542,715
Granted Patent B2
US 12,542,715 · App. 18/525,517 · Granted Feb 3, 2026

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 12,542,715
App. No.
18/525,517
Granted
Feb 3, 2026
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 (55)

1 . A computer-implemented method, the method comprising:

determining, by a first network device of a plurality of network devices in a fabric network, a priority value for a first fabric network authorization and synchronization (first FAS) agent executing on the first network device of the plurality of network devices based on at least one performance metrics of the first network device that transmits command line interface (CLI) commands to the fabric network, wherein the fabric network includes one or more communication channels between the plurality of network devices;

obtaining, by the first network device, the priority value of a primary network device of the plurality of network devices, wherein the priority value of the primary network device is greatest amongst the plurality of network devices;

comparing, by the first network device, the priority value of the first network device with the priority value of the primary network device;

assigning, by the first network device, a primary status to the first network device based on a determination that the priority value of the first network device is greater than the priority value of the primary network device;

transmitting, by the first network device, a priority control packet to each network device of the plurality of network devices, wherein the priority control packet indicates that the primary status is assigned to the first network device;

receiving, by the first network device, CLI commands from a second network device of the plurality of network devices based on the priority control packet that implements the CLI commands in the fabric network, wherein the CLI commands are associated with modification of a configuration of the second network device;

modifying, by the first network device, the configuration of the second network device based on the CLI commands, wherein modifying the configuration of the second network device defines a new configuration for the second network device, causes the same modification in the configuration to implement across the fabric network; and

authenticating, via the second network device, the configuration through the CLI commands by matching a hash value extracted from the CLI commands with a hash value stored in a repository,

wherein the configuration of the second network device is modified using a FAS agent by updating a state identifier associated with the configuration of the second network device, then the FAS agent transmits a control packet that corresponds to a new state identifier associated with the new configuration.

2 . The computer-implemented method of claim 1 , wherein determining the priority value for the first network device comprises:

identifying predetermined characteristics of the first network device, wherein the predetermined characteristics comprise at least one of available bandwidth, available processing resources, a quantity of devices connected to the first network device, and a quality of a connection of the first network device with another network device; and

determining the priority value for the first network device based on the predetermined characteristics.

3 . The computer-implemented method of claim 1 , wherein the first network device operates a joint subnet mask with an external network device present in an external fabric network.

4 . The computer-implemented method of claim 3 , wherein the joint subnet mask is operated based on dynamic routing protocols managed by a FAS agent, establish a VLAN (Virtual Local Area Network), the VLAN is a private network managed by the network devices over an independent management channel to communicate with other FAS agent in the fabric network wherein the FAS agent determines a route communication channel from one or more route communication channels between the plurality of network devices using the joint subnet mask.

5 . The computer-implemented method of claim 4 , wherein the joint subnet mask is operated based on a current status of the fabric network, and the current status is determined based on at least one of a throughput through the fabric network, processing resources available to the first network device and the external network device, a signal quality, a network load of the first network device and the external network device.

6 . The computer-implemented method of claim 1 , wherein the first network device transmits an identification of modifying the configuration to each network device of the plurality of network devices.

7 . 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, by a first network device of a plurality of network devices in a fabric network, a priority value for a first fabric network and synchronization (first FAS) agent executing on the first network device of the plurality of network devices based on at least one performance metrics of the first network device that transmits command line interface (CLI) commands to the fabric network, wherein the fabric network includes one or more communication channels between the plurality of network devices;

obtaining the priority value of a primary network device of the plurality of network devices, wherein the priority value of the primary network device is greatest amongst the plurality of network devices;

comparing the priority value of the first network device with the priority value of the primary network device;

assigning a primary status to the first network device based on a determination that the priority value of the first network device is greater than the priority value of the primary network device;

transmitting, by the first network device, a priority control packet to each network device of the plurality of network devices, wherein the priority control packet indicates that the primary status is assigned to the first network device;

receiving, by the first network device, CLI commands from a second network device of the plurality of network devices based on the priority control packet that implements the CLI commands in the fabric network, wherein the CLI commands are associated with modification of a configuration of the second network device;

modifying, by the first network device, the configuration of the second network device based on the CLI commands, wherein modifying the configuration of the second network device defines a new configuration for the second network device, causes the same modification in the configuration to implement across the fabric network; and

authenticating, via the second network device, the configuration through the CLI commands by matching a hash value extracted from the CLI commands with a hash value stored in a repository,

wherein the configuration of the second network device is modified using a FAS agent by updating a state identifier associated with the configuration of the second network device, then the FAS agent transmits a control packet that corresponds to a new state identifier associated with the new configuration.

8 . The system of claim 7 , wherein determining the priority value for the first network device comprises:

identifying predetermined characteristics of the first network device, wherein the predetermined characteristics comprise at least one of available bandwidth, available processing resources, a quantity of devices connected to the first network device, and a quality of a connection of the first network device with another network device; and

determining the priority value for the first network device based on the predetermined characteristics.

9 . The system of claim 7 , wherein the first network device operates a joint subnet mask with an external network device present in an external fabric network.

10 . The system of claim 9 , wherein the joint subnet mask is operated based on dynamic routing protocols managed by a FAS agent, establish a VLAN (Virtual Local Area Network), the VLAN is a private network managed by the network devices over an independent management channel to communicate with other FAS agent in the fabric network wherein the FAS agent determines a route communication channel from one or more route communication channels between the plurality of network devices using the joint subnet mask.

11 . The system of claim 10 , wherein the joint subnet mask is operated based on a current status of the fabric network, and the current status is determined based on at least one of a throughput through the fabric network, processing resources available to the first network device and the external network device, a signal quality, a network load of the first network device and the external network device.

12 . The system of claim 7 , wherein the first network device transmits an identification of modifying the configuration to each network device of the plurality of network devices.

13 . 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, by a first network device of a plurality of network devices in a fabric network, a priority value for a first fabric network authorization and synchronization (first FAS) agent executing on the first network device of the plurality of network devices based on at least one performance metrics of the first network device that transmits command line interface (CLI) commands to the fabric network, wherein the fabric network includes one or more communication channels between the plurality of network devices;

obtaining the priority value of a primary network device of the plurality of network devices, wherein the priority value of the primary network device is greatest amongst the plurality of network devices;

comparing the priority value of the first network device with the priority value of the primary network device;

assigning a primary status to the first network device based on a determination that the priority value of the first network device is greater than the priority value of the primary network device;

transmitting, by the first network device, a priority control packet to each network device of the plurality of network devices, wherein the priority control packet indicates that the primary status is assigned to the first network device;

receiving, by the first network device, CLI commands from a second network device of the plurality of network devices based on the priority control packet that implements the CLI commands in the fabric network, wherein the CLI commands are associated with modification of a configuration of the second network device;

modifying, by the first network device, the configuration of the second network device based on the CLI commands, wherein modifying the configuration of the second network device defines a new configuration for the second network device, causes the same modification in the configuration to implement across the fabric network; and

authenticating, via the second network device, the configuration through the CLI commands by matching a hash value extracted from the CLI commands with a hash value stored in a repository,

wherein the configuration of the second network device is modified using a FAS agent by updating a state identifier associated with the configuration of the second network device, then the FAS agent transmits a control packet that corresponds to a new state identifier associated with the new configuration.

14 . The non-transitory computer-readable medium of claim 13 , wherein determining the priority value for the first network device comprises:

identifying predetermined characteristics of the first network device, wherein the predetermined characteristics comprise at least one of available bandwidth, available processing resources, a quantity of devices connected to the first network device, and a quality of a connection of the first network device with another network device; and

determining the priority value for the first network device based on the predetermined characteristics.

15 . The non-transitory computer-readable medium of claim 13 , wherein the first network device operates a joint subnet mask with an external network device present in an external fabric network.

16 . The non-transitory computer-readable medium of claim 15 , wherein the joint subnet mask is operated based on dynamic routing protocols managed by a FAS agent, establish a VLAN (Virtual Local Area Network), the VLAN is a private network managed by the network devices over an independent management channel to communicate with other FAS agent in the fabric network, wherein the FAS agent determines a route communication channel from one or more route communication channels between the plurality of network devices using the joint subnet mask.

17 . The non-transitory computer-readable medium of claim 16 , wherein the joint subnet mask is operated based on a current status of the fabric network, and the current status is determined based on at least one of a throughput through the fabric network, processing resources available to the first network device and the external network device, a signal quality, a network load of the first network device and the external network device.

18 . The non-transitory computer-readable medium of claim 13 , wherein the first network device transmits an identification of modifying the configuration to each network device of the plurality of network devices.

19 . The computer-implemented method of claim 1 , further comprising:

executing, by the first network device, a test on the new configuration by transmitting a test signal to at least one network device of the plurality of network devices, wherein a current configuration is modified with the new configuration based on a positive response of the test executed on the new configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2023
From: SIDDABATHUNI, AJOY C.; JOHNSEN, BJORN DAG; SHENBAGAM, RAGHUNATH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 065984/0972 →
Continuity (2)
Continuation 17147327 · Jan 12, 2021
Related Publication 20240106708A1 · Mar 28, 2024
References Cited (120)
US 6034948A · Nakamura et al. · 2000 [cited by applicant]
US 6954436B1 · Yip · 2005 [cited by examiner]
US 7360245B1 · Ramachandran · 2008 [cited by examiner]
US 7558835B1 · Shafer · 2009 [cited by examiner]
US 7602756B2 · Gu et al. · 2009 [cited by applicant]
US 7904599B1 · Bennett · 2011 [cited by applicant]
US 8605604B1 · Mohan et al. · 2013 [cited by applicant]
US 8976800B1 · Dropps et al. · 2015 [cited by applicant]
US 9485134B2 · Attanasio et al. · 2016 [cited by applicant]
US 9516003B2 · Menon · 2016 [cited by applicant]
US 9529579B2 · Brunet et al. · 2016 [cited by applicant]
US 9553788B1 · Callan · 2017 [cited by applicant]
US 9602614B1 · Shankaran · 2017 [cited by examiner]
US 9626177B1 · Madduri · 2017 [cited by examiner]
US 9667496B2 · Chunn et al. · 2017 [cited by applicant]
US 9893940B1 · Chawla · 2018 [cited by examiner]
US 10250497B1 · Jose et al. · 2019 [cited by applicant]
US 10678529B1 · Farhan et al. · 2020 [cited by applicant]
US 10768985B1 · Batsura · 2020 [cited by examiner]
US 10819577B2 · Prabhu · 2020 [cited by applicant]
US 10833920B1 · Ramanadham · 2020 [cited by examiner]
US 10862809B2 · Roberts · 2020 [cited by applicant]
US 10917378B1 · Majhi · 2021 [cited by applicant]
US 10951652B1 · Sharifi Mehr · 2021 [cited by applicant]
US 11146569B1 · Brooker · 2021 [cited by examiner]
US 20020083156A1 · Wysoczynski · 2002 [cited by applicant]
US 20020157018A1 · Syvanne · 2002 [cited by examiner]
US 20030208585A1 · Shinomiya · 2003 [cited by examiner]
US 20040261071A1 · Chuang · 2004 [cited by examiner]
US 20060007944A1 · Movassaghi · 2006 [cited by examiner]
US 20060020810A1 · Waltermann · 2006 [cited by examiner]
US 20060059540A1 · Hammons et al. · 2006 [cited by applicant]
US 20070180079A1 · Wei · 2007 [cited by examiner]
US 20080247399A1 · Hazard · 2008 [cited by examiner]
US 20090094354A1 · Rastogi et al. · 2009 [cited by applicant]
US 20090247122A1 · Fitzgerald et al. · 2009 [cited by applicant]
US 20090253410A1 · Fitzgerald · 2009 [cited by examiner]
US 20090259854A1 · Cox · 2009 [cited by examiner]
US 20100070963A1 · Bae · 2010 [cited by examiner]
US 20100100950A1 · Roberts · 2010 [cited by examiner]
US 20100111091A1 · Adams · 2010 [cited by examiner]
US 20120311116A1 · Jalan et al. · 2012 [cited by applicant]
US 20130297757A1 · Han et al. · 2013 [cited by applicant]
US 20130304699A1 · Johnsen et al. · 2013 [cited by applicant]
US 20130304883A1 · Johnsen et al. · 2013 [cited by applicant]
US 20140053227A1 · Ruppin · 2014 [cited by examiner]
US 20140068584A1 · Lim et al. · 2014 [cited by applicant]
US 20140101734A1 · Ronda · 2014 [cited by examiner]
US 20140214728A1 · Holmdahl · 2014 [cited by examiner]
US 20140237095A1 · Bevilacqua-Linn · 2014 [cited by applicant]
US 20140317255A1 · Krishna · 2014 [cited by applicant]
US 20150095880A1 · Lee · 2015 [cited by applicant]
US 20150142934A1 · Craine · 2015 [cited by examiner]
US 20150188760A1 · Anumala et al. · 2015 [cited by applicant]
US 20150236919A1 · Suzuki · 2015 [cited by examiner]
US 20160087885A1 · Tripathi et al. · 2016 [cited by applicant]
US 20160112252A1 · Notari · 2016 [cited by applicant]
US 20160191316A1 · Guntaka · 2016 [cited by examiner]
US 20160202972A1 · Sass et al. · 2016 [cited by applicant]
US 20160337206A1 · Bugenhagen · 2016 [cited by examiner]
US 20170060781A1 · Soja · 2017 [cited by examiner]
US 20170085488A1 · Bhattacharya · 2017 [cited by examiner]
US 20170187572A1 · Wu · 2017 [cited by examiner]
US 20170230270A1 · Padinhakara · 2017 [cited by examiner]
US 20170295266A1 · Jogadhenu · 2017 [cited by examiner]
US 20170346682A1 · Ni · 2017 [cited by examiner]
US 20180101376A1 · Olarig et al. · 2018 [cited by applicant]
US 20180113728A1 · Musani · 2018 [cited by examiner]
US 20180198888A1 · King · 2018 [cited by examiner]
US 20180204423A1 · Mizuno · 2018 [cited by examiner]
US 20180356979A1 · Yu et al. · 2018 [cited by applicant]
US 20190028337A1 · Ryu et al. · 2019 [cited by applicant]
US 20190068401A1 · Johnsen et al. · 2019 [cited by applicant]
US 20190149463A1 · Bajaj et al. · 2019 [cited by applicant]
US 20190171442A1 · Machida · 2019 [cited by applicant]
US 20190260636A1 · Sun et al. · 2019 [cited by applicant]
US 20190327133A1 · Gao et al. · 2019 [cited by applicant]
US 20190342143A1 · Lin · 2019 [cited by examiner]
US 20190379731A1 · Johnsen et al. · 2019 [cited by applicant]
US 20200034263A1 · Ebara et al. · 2020 [cited by applicant]
US 20200045594A1 · Peng et al. · 2020 [cited by applicant]
US 20200084188A1 · Wysocki et al. · 2020 [cited by applicant]
US 20200120535A1 · Dai et al. · 2020 [cited by applicant]
US 20200146090A1 · Hsu et al. · 2020 [cited by applicant]
US 20200183811A1 · Krishnan et al. · 2020 [cited by applicant]
US 20200195557A1 · Duan · 2020 [cited by examiner]
US 20200201825A1 · Vijayan · 2020 [cited by applicant]
US 20200252280A1 · Lambert · 2020 [cited by examiner]
US 20200336419A1 · Doering et al. · 2020 [cited by applicant]
US 20200344236A1 · Sanghavi et al. · 2020 [cited by applicant]
US 20200351164A1 · Nathaniel et al. · 2020 [cited by applicant]
US 20200374127A1 · Wei-Kocsis · 2020 [cited by examiner]
US 20200403847A1 · Goodman · 2020 [cited by examiner]
US 20210081536A1 · Zhang et al. · 2021 [cited by applicant]
US 20210119872A1 · Katz et al. · 2021 [cited by applicant]
US 20210136146A1 · Welsch · 2021 [cited by examiner]
US 20210211349A1 · Grant et al. · 2021 [cited by applicant]
US 20210397715A1 · Duval · 2021 [cited by examiner]
US 20220132413A1 · Hu · 2022 [cited by examiner]
US 20230336410A1 · Chen · 2023 [cited by examiner]
CN 104170348A · 2014 [cited by applicant]
CN 111399873A · 2020 [cited by applicant]
JP 2006033613A · 2006 [cited by applicant]
JP 2013526234 · 2013 [cited by applicant]
JP 2014007681 · 2014 [cited by applicant]
JP 2014236441 · 2014 [cited by applicant]
JP 2015523768A · 2015 [cited by applicant]
JP 2019505103 · 2019 [cited by applicant]
WO 2020160034A1 · 2020 [cited by applicant]
Communication under Rule 71(3) for European Patent Application No. 22703121.8, date May 31, 2024. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/147,327, dated Mar. 31, 2022. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/147,327, dated May 5, 2023. [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2022/011944, dated Apr. 28, 2022. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/147,327, dated Aug. 30, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/147,327, dated Nov. 3, 2022. [cited by applicant]
Office Action for U.S. Appl. No. 17/147,327, dated Sep. 7, 2021. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/525,509, dated Nov. 25, 2024. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 18/525,509, dated Aug. 13, 2024. [cited by applicant]
Office Action for Japanese Patent Application No. 2023-541953, dated Aug. 5, 2025. [cited by applicant]
Office Action for Chinese Patent Application No. 202280009743.8, dated Nov. 20, 2025. [cited by applicant]