IP Library Granted Patent US 12,445,324
Granted Patent B2
US 12,445,324 · App. 18/523,295 · Granted Oct 14, 2025

Single node and multiple node datastore architecture in a network routing environment

Inventors: Pushpasis Sarkar (Bangalore, IN); Keyur Patel (San Jose, CA); Derek Man-Kit Yeung (Fremont, CA); Alpesh Patel (San Ramon, CA); Lawrence Rolfe Kreeger (Fremont, CA); Nalinaksh Pai (San Ramon, CA)
Assignee: Arrcus Inc.
H04L12/44G06F9/45558G06F9/4881G06F9/54G06F9/542G06F16/2272G06F16/2379G06F16/27G06F16/278H04L12/2881H04L12/462H04L12/4633H04L12/4641H04L12/66H04L45/02H04L45/08H04L45/22H04L45/24H04L45/26H04L45/28H04L45/48H04L45/50H04L45/586H04L45/66H04L45/745H04L47/125H04L63/0272H04L67/1097H04L67/55G06F2009/45595H04L2012/4629H04L49/25
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,445,324
App. No.
18/523,295
Granted
Oct 14, 2025
Kind
B2
Abstract

Systems, methods, and devices for offloading network data to a datastore. A system includes a plurality of instances of a datastore node in a single networking device, each of the plurality of instances of the datastore node comprising: a datastore; a publisher independent of the datastore for publishing data to the datastore; a subscriber independent of the datastore for receiving information from the datastore; a replicator agent configured to connect to the datastore as a publisher or a subscriber; and a persistent storage agent configured to connect to the datastore as a publisher or a subscriber.

Claims (48)

1. A system comprising:

a datastore node in a single networking device, wherein the single networking device is a switch or a router, and wherein the datastore node comprises:

a datastore stored on the single networking device;

a publisher executing on the single networking device; and

a subscriber executing on the single networking device; and

an index server in communication with the datastore node;

wherein the index server updates a list of publishers and subscribers in response to receiving a notification from the subscriber indicating a desire to subscribe to a certain dataset;

wherein the index server comprises one or more processors configured to execute instructions stored in non-transitory computer readable storage media, the instructions comprising:

maintaining a database index comprising a mapping of datasets in the datastore node;

maintaining the list of publishers and subscribers for each of the datasets in the datastore node;

updating the database index in response to receiving a notification that one or more of the datasets in the datastore node has been modified; and

updating the list of publishers and subscribers in response to receiving a notification from the subscriber indicating a desire to subscribe to a certain dataset.

2. The system of claim 1 , wherein the system comprises a plurality of instances of the datastore node on the single networking device.

3. The system of claim 1 , wherein the publisher is independent of the datastore and configured to publish data to the datastore;

wherein the subscriber is independent of the datastore and configured to receive information from the datastore.

4. The system of claim 1 , wherein the datastore comprises a database storing best path information for a plurality of switches and a plurality of routers operating within a network topology.

5. The system of claim 1 , wherein the datastore comprises a database storing state information for the single networking device, and wherein the state information comprises one or more of CPU utilization, temperature, or fan speed.

6. The system of claim 1 , wherein the datastore comprises a database index and further comprises a plurality of database hosts; and

wherein each of the plurality of database hosts comprises a processor and cache memory.

7. The system of claim 1 , further comprising a plurality of datastore nodes each physically located in the single networking device, and wherein each of the plurality of datastore nodes comprises an independent instance of:

the datastore, wherein the datastore stores state information;

the publisher; and

the subscriber.

8. The system of claim 7 , wherein the index server is a single instance of the index server configured to register and subscribe interests to certain datasets stored across the plurality of datastore nodes.

9. The system of claim 7 , further comprising a replicator agent configured to replicate a database between two or more of the plurality of datastore nodes in the single networking device.

10. The system of claim 9 , wherein the replicator agent is a consumer for all data objects produced by the plurality of datastore nodes in the single networking device.

11. The system of claim 10 , wherein the replicator agent is a producer for data objects produced on a remote datastore node that is not physically located in the single networking device.

12. The system of claim 7 , further comprising a persistent storage agent in communication with each of the plurality of datastore nodes located in the single networking device.

13. The system of claim 12 , wherein the persistent storage agent comprises a plurality of shared storage devices collectively storing a plurality of datasets, and wherein each of the plurality of shared storage devices is accessible by each instance of a host server.

14. The system of claim 1 , wherein the publisher is configured to communicate with a hosting server and publish additions, modifications, deletions, and data objects to the hosting server.

15. The system of claim 1 , wherein the index server notifies the subscriber of additions, modifications, and deletions to data objects connected to an appropriate hosting server.

16. The system of claim 1 , further comprising controller logic offloaded to cloud-based storage, wherein the controller logic is accessible to the datastore node.

17. The system of claim 1 , wherein the instructions executed by the index server further comprise wherein the instructions further comprise retrieving controller logic from cloud-based storage.

18. The system of claim 1 , wherein the instructions executed by the index server further comprise receiving a message from a persistent storage agent configured to store data objects in a persistent data storage device, wherein the persistent storage agent can interact with the index server as a publisher or as a subscriber.

19. A system comprising:

a datastore node in a single networking device, wherein the single networking device is a switch or a router, and wherein the datastore node comprises:

a datastore stored on the single networking device;

a publisher executing on the single networking device; and

a subscriber executing on the single networking device; and

an index server in communication with the datastore node;

wherein the index server updates a list of publishers and subscribers in response to receiving a notification from the subscriber indicating a desire to subscribe to a certain dataset;

further comprising a plurality of datastore nodes each physically located in the single networking device, and wherein each of the plurality of datastore nodes comprises an independent instance of:

the datastore, wherein the datastore stores state information;

the publisher; and

the subscriber; wherein the index server is a single instance of the index server configured to register and subscribe interests to certain datasets stored across the plurality of datastore nodes;

wherein the single instance of the index server manages the plurality of datastore nodes located in the single networking device, and wherein the single instance of the index server is configured to:

maintain a database index comprising a mapping of datasets in the plurality of datastore nodes; and

maintain the list of publishers and subscribers for each of a plurality of datasets distributed across the plurality of datastore nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: SARKAR, PUSHPASIS; PATEL, KEYUR; YEUNG, DEREK MAN-KIT; PATEL, ALPESH; KREEGER, LAWRENCE ROLFE; PAI, NALINAKSH
To: ARRCUS INC.
Reel/Frame 065721/0123 →
Continuity (3)
Continuation 16549369 · Aug 23, 2019
Provisional Application 62722003 · Aug 23, 2018
Related Publication 20240152410A1 · May 9, 2024
References Cited (57)
US 6874010B1 · Sargent · 2005 [cited by examiner]
US 8537840B1 · Raszuk · 2013 [cited by applicant]
US 9507856B1 · Camplejohn · 2016 [cited by applicant]
US 10785296B1 · Allison · 2020 [cited by applicant]
US 11074300B1 · Falco · 2021 [cited by applicant]
US 20030012193A1 · Novaes · 2003 [cited by applicant]
US 20070091796A1 · Filsfils · 2007 [cited by applicant]
US 20070214280A1 · Patel · 2007 [cited by applicant]
US 20090257439A1 · Xu · 2009 [cited by applicant]
US 20100125574A1 · Navas · 2010 [cited by applicant]
US 20110320550A1 · Lawson · 2011 [cited by applicant]
US 20120213218A1 · Yilmaz · 2012 [cited by examiner]
US 20130054763A1 · Van der Merwe · 2013 [cited by applicant]
US 20130301522A1 · Krishna · 2013 [cited by applicant]
US 20130329584A1 · Ghose et al. · 2013 [cited by applicant]
US 20140075184A1 · Gorbach · 2014 [cited by examiner]
US 20140188840A1 · Agarwal · 2014 [cited by examiner]
US 20150195368A1 · Bandyopadhyay · 2015 [cited by applicant]
US 20150304206A1 · Filsfils et al. · 2015 [cited by applicant]
US 20150370644A1 · Graefe · 2015 [cited by examiner]
US 20160134116A1 · Carlson · 2016 [cited by applicant]
US 20160218917A1 · Zhang · 2016 [cited by applicant]
US 20160234326A1 · Camplejohn · 2016 [cited by applicant]
US 20160248658A1 · Patel et al. · 2016 [cited by applicant]
US 20160248663A1 · Patel · 2016 [cited by applicant]
US 20160277210A1 · Lin et al. · 2016 [cited by applicant]
US 20160321341A1 · Ramamurthi · 2016 [cited by applicant]
US 20160337464A1 · Eriksson · 2016 [cited by applicant]
US 20170180797A1 · Splaine · 2017 [cited by examiner]
US 20170244657A1 · Baldwin · 2017 [cited by applicant]
US 20170285882A1 · Hidinger · 2017 [cited by examiner]
US 20180124163A1 · Abali · 2018 [cited by applicant]
US 20180183706A1 · Przygienda et al. · 2018 [cited by applicant]
US 20180367400A1 · Pani · 2018 [cited by applicant]
US 20190028465A1 · Allen · 2019 [cited by applicant]
US 20190034313A1 · Vedurumudi · 2019 [cited by examiner]
US 20190079948A1 · Ye · 2019 [cited by applicant]
US 20190212968A1 · Walmsley · 2019 [cited by examiner]
US 20190297000A1 · Dutta · 2019 [cited by applicant]
US 20190373073A1 · John · 2019 [cited by applicant]
US 20200044963A1 · Kwok · 2020 [cited by applicant]
US 20210149752A1 · Burroughes · 2021 [cited by applicant]
CA 2279845A1 · 1998 [cited by applicant]
CN 101848236A · 2010 [cited by applicant]
CN 101960426A · 2011 [cited by applicant]
CN 103984694A · 2014 [cited by applicant]
CN 104486124 · 2015 [cited by applicant]
CN 105556502A · 2016 [cited by applicant]
CN 105991432 · 2016 [cited by applicant]
CN 106878065 · 2017 [cited by applicant]
CN 107547402 · 2018 [cited by applicant]
CN 108075969A · 2018 [cited by applicant]
JP 2003204332 · 2003 [cited by applicant]
JP 2015515809 · 2015 [cited by applicant]
JP 2016536690 · 2016 [cited by applicant]
VXLAN Tutorial, Ohira Shinichi, Cisco Systems G.K., Jan. 20, 2016, p. 1 to 11 https://www.janog.gr.jp/meeting/janog37/download_file/vxlan.pdf. [cited by applicant]
Cisco Documentation: “Internet Engineering Task Force (IETF) Network Working Group draft-ietf-idr-bgp4-24.txt document.”, Apr. 28, 2011 (Apr. 28, 2011), pp. 1-166, XP093187495, Retrieved from the Internet:URL:https://ww… [cited by applicant]