Patent ID: 9182949
Filing Date: 2015-11-10
Classification: G06F

Abstract:
1. A system for controlling branch latency within computing applications comprising: one or more linked repositories storing components, blueprints, and graphs; one or more processors configured to receive a command to deploy at least one computing application to process at least one input data stream, and in response, trigger deployment of the at least one computing application over a plurality of disparate host systems, the at least one computing application realized by a blueprint of the blueprints in the one or more linked repositories; at least one host system of the disparate host systems having: a cloud agent and one or more cloud engines instantiated by the cloud agent; wherein the cloud agent is configured to receive the command to deploy the at least one computing application to process the at least one input data stream and, in response, instantiate the one or more cloud engines on the respective host system and provide a running environment for the one or more cloud engines; wherein the one or more cloud engines are configured to dynamically constructs the at least one computing application on the respective host system by realizing requirements of the blueprint of the at least one computing application, the requirements identifying at least one graph from the graphs stored in the linked one or more repositories, a plurality of components from the components stored in the linked one or more repositories, and by sending a request to the one or more linked repositories to load the blueprint, the at least one graph, and the plurality of components on the respective host system; wherein the one or more cloud engines deploy the dynamically constructed at least one computing application on the respective host system by: instantiating the at least one graph using the blueprint, the graph representing a workflow of the plurality of components, the workflow defining an arrangement of the plurality of components; using the at least one graph to define connections between the components using pins according to the workflow of the at least one graph, at least one of the pins connecting at least one component directly or indirectly to one or more downstream components, at least one other of the pins connecting at least one of the one or more downstream components directly or indirectly to one or more further downstream components, each component of the plurality of components having at least one input pin for receiving at least one input data container and at least one output pin for providing at least one output data container, the respective component transforming the at least one input data container into the at least one output data container using a computing processing mechanism, each component having a latency property having a corresponding value estimating latency of the respective component for transforming the at least one input data container into the at least one output data container using the computing processing mechanism, each component being a distribution plug-in unit to provide a portable and isolated dependency set for the computing processing mechanism of the respective component; instantiating a running process instance of the plurality of components of the at least one graph on the respective host system; processing the input data stream as a plurality of data containers using the plurality of components to generate an output data stream, the plurality of data containers flowing between the plurality of components using the pins, the at least one component providing the at least one output data container directly or indirectly to the one or more downstream components using the at least one of the pins, the at least one of the one or more downstream components; using the graph to signal latency information for the at least one component to each of the one or more downstream components defined by the workflow of the graph, the signaled latency information including the latency property for the respective component and any additional latency information received from any upstream components defined by the workflow of the graph, wherein the one or more other downstream components implement a buffering mechanism using the latency information to synchronize the processing of the at least one input data container, and wherein the at least one of the one or more downstream components calculates accumulated latency information from all received latency information and signals the accumulated latency information to the one or more further downstream components defined by the workflow of the graph.