IP Library Granted Patent US 11,868,824
Granted Patent B2
US 11,868,824 · App. 16/549,369 · Granted Jan 9, 2024

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.
G06F9/542G06F9/45558G06F9/4881G06F9/54G06F16/2272G06F16/2379G06F16/27G06F16/278H04L12/2881H04L12/44H04L12/462H04L12/4633H04L12/4641H04L12/66H04L45/02H04L45/08H04L45/22H04L45/24H04L45/26H04L45/48H04L45/50H04L45/586H04L45/66H04L45/745H04L47/125H04L63/0272H04L67/1097H04L67/55G06F2009/45595H04L49/25H04L2012/4629
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,868,824
App. No.
16/549,369
Granted
Jan 9, 2024
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 (43)

1. A system comprising:

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

a datastore stored on the single networking device;

a publisher executing on the single networking device, wherein the publisher is independent of the datastore and configured to publish data to the datastore;

a subscriber executing on the single networking device, wherein the subscriber is independent of the datastore and configured to receive information from the datastore; and

a replicator agent and a persistent storage agent each executing on the single networking device and configured to connect to the datastore; and

a single instance of an index server in communication with the plurality of instances of the datastore node;

wherein each of the datastore, the publisher, the subscriber, the replicator agent, and the persistent storage agent are independent components of each of the plurality of instances of the datastore node; and

wherein the single instance of 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.

2. The system of claim 1 , wherein the replicator agent is configured to replicate database data from other instances of the datastore node in the same single networking device by:

connecting to the datastore as an acting publisher for data objects produced on a local instance of the datastore node; and

connecting to the datastore as an acting consumer for data objects produced on remote instances of the datastore node.

3. The system of claim 1 , wherein the persistent storage agent is configured to store data objects to a persistent data storage device.

4. The system of claim 3 , wherein the persistent data storage device 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.

5. The system of claim 1 , wherein the single instance of the index server manages the plurality of instances of the datastore node, and wherein the single instance of the index server is configured to:

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

maintain a list of publishers and subscribers for each of the datasets in the datastore.

6. The system of claim 5 , wherein the index server is configured to receive the notification from subscriber to subscribe to the certain dataset; and

wherein the index server is configured to receive a notification from a publisher to update the database index to reflect an update to one or more of the datasets in the datastore.

7. The system of claim 1 , wherein each of the plurality of instances of the datastore node further comprises:

at least one instance of an index server for receiving data processing requests from a plurality of subscriber devices;

metadata accessible to the at least one instance of the index server;

a host server in communication with the datastore; and

a plurality of shared storage devices collectively storing a plurality of datasets in the datastore.

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

9. An index server of a datastore, the index server comprising one or more processors configurable 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;

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

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

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

wherein the index server is a single instance of an index server managing a plurality of instances of the datastore in a single networking device.

10. The index server of claim 9 , wherein the instructions further comprise retrieving controller logic from cloud-based storage.

11. The index server of claim 9 , wherein the instructions further comprise receiving a message from a replicator agent configured to replicate datasets in the datastore to and from other instances of the datastore located in a single networking device, wherein the replicator agent can interact with the index server as a publisher or as a subscriber.

12. The index server of claim 9 , wherein the instructions 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.

13. A method for managing a multiple node architecture of a datastore, the method comprising:

maintaining, on a networking device implemented as hardware and including a processor, a database index comprising a mapping of datasets in the datastore;

maintaining, on the networking device, a list of publishers and subscribers for each of the datasets in the datastore;

updating, on the networking device, the database index in response to receiving a notification that one or more of the datasets in the datastore has been modified;

updating, on the networking device, the list of publishers and subscribers in response to receiving a notification from a subscriber indicating a desire to subscribe to a certain dataset; and

receiving, by the networking device, a message from a replicator agent configured to replicate datasets in the datastore to and from other instances of the datastore located in a single networking device, wherein the replicator agent can interact with the index server as a publisher or as a subscriber.

14. The method of claim 13 , wherein the method is performed by an index server and the index server is a single instance of an index server managing a plurality of instances of the datastore in a single networking device.

15. The method of claim 13 , further comprising retrieving controller logic from cloud-based storage.

16. The method of claim 13 , further comprising 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.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE SIGNED ASSIGNMENT PREVIOUSLY RECORDED AT REEL: 050148 FRAME: 0775. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 7, 2019
From: SARKAR, PUSHPASIS; PATEL, KEYUR; YEUNG, DEREK MAN-KIT; PATEL, ALPESH; KREEGER, LAWRENCE ROLFE; PAI, NALINAKSH
To: ARRCUS INC.
Reel/Frame 050648/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2019
From: SARKAR, PUSHPASIS; PATEL, KEYUR; YEUNG, DEREK MAN-KIT; PATEL, ALPESH; KREEGER, LAWRENCE ROLFE; PAI, NALINAKSH
To: ARRCUS INC.
Reel/Frame 050148/0775 →
Continuity (2)
Provisional Application 62722003 · Aug 23, 2018
Related Publication 20200065317A1 · Feb 27, 2020