IP Library Patent Application 14836419
Patent Application
App. No. 14/836,419

DISTRIBUTED TRANSACTION SUBSYSTEM

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 None
App. No.
14/836,419
Abstract

Systems and methods are disclosed for managing the state of resources shared among a plurality of network nodes. in an embodiment, a transaction may first be received from a transaction provider. The transaction may target one or more data objects within a communications network. The transaction may be distributed to a first set of data store nodes and network nodes that subscribe to at least one of the targeted data objects. Each data store node may store a plurality of data objects within the network. The transaction may then be distributed hierarchically to a second set of data store nodes and network nodes by the first set of nodes. The transaction may include one or more subtransactions, and the transaction may not complete until each subtransaction completes.

Claims (73)

1 . A system for managing the state of resources shared among a plurality of network nodes, comprising:

one or more computing devices;

one or more data store nodes that store a plurality of data objects within a network, wherein each data store node subscribes to at least one of the plurality of data objects;

one or more network nodes that subscribe to at least one of the plurality of data objects within the network; and

a transaction router, implemented on the one or more computing devices, configured to:

receive a transaction from a transaction provider, the transaction targeting one or more of the plurality of data objects; and

distribute the transaction to a first set of the one or more data store nodes and network nodes, wherein each of the first set of nodes subscribes to at. least one of the targeted data objects;

wherein the transaction is distributed to a second set of the one or more data store nodes and network nodes by the first set of nodes.

2 . The system of claim 1 , wherein the transaction router is further configured to:

assign a unique transaction identifier to the transaction;

reset a subtransaction level associated with the transaction; and

set a top-level transaction timeout value to a predetermined value;

3 . The system of claim 1 , further comprising:

a subtransaction router, implemented on the one or more computing devices, configured to:

receive a subtransaction from one of the one or more network nodes, the subtransaction targeting a subset of the data objects targeted by the transaction; and

distribute the subtransaction to a set of the one or more data store nodes and network nodes, wherein each of the set of nodes subscribes to at least one of the subset of data objects;

wherein the transaction does not complete until the subtransaction completes;

4 . The system of claim 3 , wherein the subtransaction router is further configured to:

increment a subtransaction level associated with the transaction; and

set a subtransaction timeout value to a predetermined value;

5 . The system of claim 1 , wherein the transaction router is further configured to:

receive an acknowledgement from each data store node and network node that receives the transaction,

wherein the transaction is committed when a positive acknowledgement has been received from every receiving data store node and network node.

6 . The system of claim 5 , wherein the transaction router is further configured to:

determine whether a positive acknowledgement has been received from each of the first set of nodes and the second set of nodes; and

abort the transaction when a transaction timeout value has expired and a positive acknowledgement has not been received from each of the first set of nodes and the second set of nodes,

wherein the transaction is aborted by discarding the pending state of the transaction and the pending state of associated subtransactions in each of the first set of nodes and the second set of nodes.

7 . The system of claim 1 , further comprising:

a resource manager, implemented on the one or more computing devices, configured to:

receive a request to allocate or reclaim resources within the network; and

execute the request.

8 . The system of claim 1 , wherein the transaction router is further configured to:

receive a plurality of transactions from one or more transaction providers;

aggregate the plurality of transactions into a single aggregated transaction, wherein the plurality of transactions are received within a predetermined period of time; and

distribute the single aggregated transaction to a set of the one or more data store nodes and network nodes, wherein each of the set of nodes subscribes to a data object targeted by at least one of the plurality of transactions.

9 . The system of claim 1 , wherein each data object contains at least one of network configuration and operational state data.

10 . The system of claim 1 , wherein the one or more data store nodes and the one or more network nodes interact with the transaction router via an application programming interface (API).

11 . A method for managing the state of resources shared among a plurality of network nodes, comprising:

receiving a transaction from a transaction provider, the transaction targeting one or more data objects within a network; and

distributing the transaction to a first set of data store nodes and network nodes, wherein each of the first set of data store nodes and network nodes subscribes to at least one of the targeted data objects,

wherein each data store node stores a plurality of data objects within the network, and

wherein the transaction is distributed to a second set of data store nodes and network nodes by the first set of nodes.

12 . The method of claim 11 , further comprising:

assigning a unique transaction identifier to the transaction;

resetting a subtransaction level associated with the transaction; and

setting a top-level transaction timeout value to a predetermined value;

13 . The method of claim 11 , further comprising:

receiving a subtransaction from a network nodes, the subtransaction targeting a subset of the data objects targeted by the transaction; and

distributing the subtransaction to a set data store nodes and network nodes, wherein each of the set of nodes subscribes to at least one of the subset of data objects;

wherein the transaction does not complete until the subtransaction completes;

14 . The method of claim 13 , further comprising:

incrementing a subtransaction level associated with the transaction; and

setting a subtransaction. timeout value to a predetermined value;

15 . The method of claim 11 , further comprising:

receive an acknowledgement from each data store node and network node that receives the transaction,

wherein the transaction is committed when a positive acknowledgement has been received from every receiving data store node and network node.

16 . The method of claim 15 , further comprising:

determining whether a positive acknowledgement has been received from each of the first set of nodes and the second set of nodes; and

aborting the transaction when a transaction timeout value has expired and a positive acknowledgement has not been received from each of the first set of nodes and the second set of nodes,

wherein the transaction is aborted by discarding the pending state of the transaction and the pending state of associated subtransactions in each of the first set of nodes and the second set of nodes.

17 . The method of claim 11 , further comprising:

receiving a request to allocate or reclaim resources within the network; and

executing the request.

18 . The method of claim 11 , further comprising:

receiving a plurality of transactions from one or more transaction providers;

aggregating the plurality of transactions into a single aggregated transaction, wherein the plurality of transactions are received within a predetermined period of time; and

distributing the single aggregated transaction to a set of data store nodes and network nodes, wherein each of the set of nodes subscribes to a data object targeted by at least one of the plurality of transactions.

19 . The method of claim 11 , wherein each data object contains at least one of network configuration and operational state data.

20 . A non-transitory computer-readable storage device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

receiving a transaction from a transaction provider, the transaction targeting one or more data objects within a network; and

distributing the transaction to a first set of data store nodes and network nodes, wherein each of the first set of data store nodes and network nodes subscribes to at least one of the targeted data objects,

wherein each data store node stores a plurality of data objects within the network, and

wherein the transaction is distributed to a second set of data store nodes and network nodes by the first set of nodes.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: NORTH BRIDGE VENTURE PARTNERS 7, L.P.
To: NBVP ASSET ACQUISITION, INC.
Reel/Frame 046639/0131 →
SECURITY INTEREST Recorded Jul 31, 2018
From: RIFT.IO INC.
To: NORTH BRIDGE VENTURE PARTNERS 7, L.P.
Reel/Frame 046510/0869 →
SECURITY INTEREST Recorded Mar 9, 2018
From: RIFT.IO INC.
To: NORTH BRIDGE VENTURE PARTNERS 7, L.P.
Reel/Frame 045162/0069 →