US Patent No. 9,471,402

SYSTEMS AND METHODS FOR FACILITATING DEPENDENCY-ORDERED DELIVERY OF DATA SETS TO APPLICATIONS WITHIN DISTRIBUTED SYSTEMS


Patent No. 9,471,402
Issue Date October 18, 2016
Title Systems And Methods For Facilitating Dependency-ordered Delivery Of Data Sets To Applications Within Distributed Systems
Inventorship Srinath Bayareddy, San Jose, CA (US)
Aditya Thakur, Ottawa (CA)
Pramod Srinivasan, San Jose, CA (US)
Robert Rodgers, Mountain View, CA (US)
Srivatsan Rajagopal, Cupertino, CA (US)
Assignee Juniper Networks, Inc., Sunnyvale, CA (US)

Claim of US Patent No. 9,471,402

1. A method comprising:
receiving, at a queue of an application running on a node within a distributed system, a data set from at least one other
application running on another node within the distributed system via an Optimal Flooding Protocol (OFP);

obtaining metadata of the data set that is:
described in a domain-specific language; and
hoisted outside of the data set;
determining, based at least in part on the metadata of the data set, that the data set received from the other application
running on the other node has a dependency on at least one other data set that has yet to arrive at the queue of the application,
wherein the dependency requires a most up-to-date version of the other data set;

gating, due at least in part to the dependency, the data set at the queue of the application running on the node at least
until the most up-to-date version of the other data set arrives at the queue of the application running on the node;

receiving, at the queue of the application running on the node, the other data set from the other application running on the
other node within the distributed system;

determining that the dependency has been satisfied based at least in part on receiving the other data set at the queue of
the application running on the node; and

in response to determining that the dependency has been satisfied, delivering the data set and the other data set to the application
running on the node to enable the application to process the data set and the other data set in accordance with the dependency.