| CPC H04L 12/44 (2013.01) [G06F 9/45558 (2013.01); G06F 9/4881 (2013.01); G06F 9/54 (2013.01); G06F 9/542 (2013.01); G06F 16/2272 (2019.01); G06F 16/2379 (2019.01); G06F 16/27 (2019.01); G06F 16/278 (2019.01); H04L 12/2881 (2013.01); H04L 12/462 (2013.01); H04L 12/4633 (2013.01); H04L 12/4641 (2013.01); H04L 12/66 (2013.01); H04L 45/02 (2013.01); H04L 45/08 (2013.01); H04L 45/22 (2013.01); H04L 45/24 (2013.01); H04L 45/26 (2013.01); H04L 45/28 (2013.01); H04L 45/48 (2013.01); H04L 45/50 (2013.01); H04L 45/586 (2013.01); H04L 45/66 (2013.01); H04L 45/745 (2013.01); H04L 47/125 (2013.01); H04L 63/0272 (2013.01); H04L 67/1097 (2013.01); H04L 67/55 (2022.05); G06F 2009/45595 (2013.01); H04L 2012/4629 (2013.01); H04L 49/25 (2013.01)] | 19 Claims |

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