IP Library › Granted Patent US 12,261,744
Granted Patent B2
US 12,261,744 · App. 18/525,509 · Granted Mar 25, 2025

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,261,744
App. No.
18/525,509
Granted
Mar 25, 2025
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 (38)

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

receiving, by a first network device of a plurality of network devices in a fabric network that includes one or more communication channels between the plurality of network devices, a command from a second network device of the plurality of network devices, wherein the command is associated with modification of a configuration of the second network device;

authenticating, by the first network device, the command by determining, at least in part, that modifying the configuration of the second network device based on the command will continue a communication between the plurality of network devices through the one or more communication channels;

in response to authentication of the command, modifying, by the first network device, the configuration of the first network device based on the command by defining a new configuration for the first network device;

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;

approving, by the first network device, the new configuration based on a positive response of the test executed on the new configuration;

updating, by the first network device, a state identifier associated with the configuration of the first network device to correspond to a new state identifier associated with the new configuration; and

transmitting, by the first network device to the second network device using the one or more communication channels, a control packet that includes the new state identifier, wherein the control packet is configured to trigger the second network device to retrieve modification information from a shared repository and to update the configuration of the second network device to the new configuration based on the modification information.

2. The computer-implemented method of claim 1 , wherein the first network device stores an indication of change to the new configuration at the shared repository accessible by each network device of the plurality of network devices.

3. The computer-implemented method of claim 1 , wherein the new state identifier is an increment version of the state identifier.

4. The computer-implemented method of claim 1 , wherein the first network device transmits the control packet to each network device of the plurality of network devices for updating the configuration.

5. The computer-implemented method of claim 1 , wherein the modification information is retrieved from the shared repository by executing a query at the shared repository by the second network device.

6. 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:

receiving, by a first network device of a plurality of network devices in a fabric network that includes one or more communication channels between the plurality of network devices, a command from a second network device of the plurality of network devices, wherein the command is associated with modification of a configuration of the second network device;

authenticating the command by determining, at least in part, that modifying the configuration of the second network device based on the command will continue a communication between the plurality of network devices through the one or more communication channels;

in response to authentication of the command, modifying the configuration of the first network device based on the command by defining a new configuration for the first network device;

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;

approving, by the first network device, the new configuration based on a positive response of the test executed on the new configuration;

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; and

transmitting, to the second network device using the one or more communication channels, a control packet that includes the new state identifier, wherein the control packet is configured to trigger the second network device to retrieve modification information from a shared repository and to update the configuration of the second network device to the new configuration based on the modification information.

7. The system of claim 6 , wherein the first network device stores an indication of change to the new configuration at the shared repository accessible by each network device of the plurality of network devices.

8. The system of claim 6 , wherein the new state identifier is an increment version of the state identifier.

9. The system of claim 6 , wherein the first network device transmits the control packet to each network device of the plurality of network devices for updating the configuration.

10. The system of claim 6 , wherein the modification information is retrieved from the shared repository by executing a query at the shared repository by the second network device.

11. 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:

receiving, by a first network device of a plurality of network devices in a fabric network that includes one or more communication channels between the plurality of network devices, a command from a second network device of the plurality of network devices, wherein the command is associated with modification of a configuration of the second network device;

authenticating the command by determining, at least in part, that modifying the configuration of the second network device based on the command will continue a communication between the plurality of network devices through the one or more communication channels;

in response to authentication of the command, modifying the configuration of the first network device based on the command by defining a new configuration for the first network device;

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;

approving, by the first network device, the new configuration based on a positive response of the test executed on the new configuration;

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; and

transmitting, to the second network device using the one or more communication channels, a control packet that includes the new state identifier, wherein the control packet is configured to trigger the second network device to retrieve modification information from a shared repository and to update the configuration of the second network device to the new configuration based on the modification information.

12. The non-transitory computer-readable medium of claim 11 , wherein the first network device stores an indication of change to the new configuration at the shared repository accessible by each network device of the plurality of network devices.

13. The non-transitory computer-readable medium of claim 11 , wherein the new state identifier is an increment version of the state identifier.

14. The non-transitory computer-readable medium of claim 11 , wherein the first network device transmits the control packet to each network device of the plurality of network devices for updating the configuration.

15. The non-transitory computer-readable medium of claim 11 , wherein the modification information is retrieved from the shared repository by executing a query at the shared repository by the second network device.

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 20240097979A1 · Mar 21, 2024
References Cited (83)
US 6034948A · Nakamura · 2000 [cited by examiner]
US 6954436B1 · Yip et al. · 2005 [cited by applicant]
US 7602756B2 · Gu et al. · 2009 [cited by applicant]
US 8363549B1 · Zhu · 2013 [cited by examiner]
US 8605604B1 · Mohan · 2013 [cited by examiner]
US 8976800B1 · Dropps et al. · 2015 [cited by applicant]
US 9130841B2 · Tornqvist · 2015 [cited by examiner]
US 9240951B2 · Sadeghi · 2016 [cited by examiner]
US 9485134B2 · Attanasio et al. · 2016 [cited by applicant]
US 9516003B2 · Menon · 2016 [cited by examiner]
US 9529579B2 · Brunet · 2016 [cited by examiner]
US 9553788B1 · Callan · 2017 [cited by applicant]
US 9626177B1 · Madduri · 2017 [cited by examiner]
US 9667496B2 · Chunn et al. · 2017 [cited by applicant]
US 10007502B2 · Fan · 2018 [cited by examiner]
US 10250497B1 · Jose et al. · 2019 [cited by applicant]
US 10678529B1 · Farhan et al. · 2020 [cited by applicant]
US 10819577B2 · Prabhu · 2020 [cited by applicant]
US 10862809B2 · Roberts · 2020 [cited by applicant]
US 10917378B1 · Majhi · 2021 [cited by applicant]
US 10951652B1 · Sharifi Mehr · 2021 [cited by examiner]
US 20020083156A1 · Wysoczynski · 2002 [cited by applicant]
US 20060059540A1 · Hammons et al. · 2006 [cited by applicant]
US 20090094354A1 · Rastogi et al. · 2009 [cited by applicant]
US 20090247122A1 · Fitzgerald · 2009 [cited by examiner]
US 20100070963A1 · Bae et al. · 2010 [cited by applicant]
US 20120311116A1 · Jalan et al. · 2012 [cited by applicant]
US 20130031226A1 · Liverance · 2013 [cited by examiner]
US 20130297757A1 · Han et al. · 2013 [cited by applicant]
US 20130304699A1 · Johnsen et al. · 2013 [cited by applicant]
US 20130339940A1 · Goel · 2013 [cited by examiner]
US 20140068584A1 · Lim et al. · 2014 [cited by applicant]
US 20140188803A1 · James · 2014 [cited by examiner]
US 20140237095A1 · Bevilacqua-Linn · 2014 [cited by applicant]
US 20140317255A1 · Krishna · 2014 [cited by examiner]
US 20150095880A1 · Lee · 2015 [cited by applicant]
US 20150178064A1 · Cairns · 2015 [cited by examiner]
US 20150188760A1 · Anumala et al. · 2015 [cited by applicant]
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 · 2016 [cited by examiner]
US 20160218955A1 · Logue · 2016 [cited by examiner]
US 20170085488A1 · Bhattacharya et al. · 2017 [cited by applicant]
US 20170111445A1 · Kunde · 2017 [cited by examiner]
US 20180088928A1 · Smith · 2018 [cited by examiner]
US 20180101376A1 · Olarig et al. · 2018 [cited by applicant]
US 20180113728A1 · Musani · 2018 [cited by examiner]
US 20180356979A1 · Yu · 2018 [cited by examiner]
US 20190028337A1 · Ryu · 2019 [cited by examiner]
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 · 2019 [cited by examiner]
US 20190327133A1 · Gao · 2019 [cited by examiner]
US 20190342143A1 · Lin · 2019 [cited by applicant]
US 20190379731A1 · Johnsen et al. · 2019 [cited by applicant]
US 20200034263A1 · Ebara · 2020 [cited by examiner]
US 20200045594A1 · Peng · 2020 [cited by examiner]
US 20200084188A1 · Wysocki · 2020 [cited by examiner]
US 20200120535A1 · Dai · 2020 [cited by examiner]
US 20200146090A1 · Hsu · 2020 [cited by examiner]
US 20200183811A1 · Krishnan et al. · 2020 [cited by applicant]
US 20200195557A1 · Duan et al. · 2020 [cited by applicant]
US 20200201825A1 · Vijayan · 2020 [cited by applicant]
US 20200336419A1 · Doering · 2020 [cited by examiner]
US 20200344236A1 · Sanghavi · 2020 [cited by examiner]
US 20200351164A1 · Nathaniel et al. · 2020 [cited by applicant]
US 20200403847A1 · Goodman et al. · 2020 [cited by applicant]
US 20210081536A1 · Zhang et al. · 2021 [cited by applicant]
US 20210119872A1 · Katz et al. · 2021 [cited by applicant]
US 20210136146A1 · Welsch et al. · 2021 [cited by applicant]
US 20210211349A1 · Grant et al. · 2021 [cited by applicant]
CN 111399873A · 2020 [cited by examiner]
WO 2020160034A1 · 2020 [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]
Communication under Rule 71(3) for European Patent Application No. 22703121.8, date May 31, 2024. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 18/525,517, dated Aug. 15, 2024. [cited by applicant]