Patent ID: 9680729
Date: 2017-06-13
CPC Classifications: H04L

Claim:
1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a streaming application residing in the memory and executed by the at least one processor, the streaming application comprising a flow graph that includes a plurality of operators that process a plurality of data tuples; a streams manager residing in the memory and executed by the at least one processor, the streams manager monitoring performance of the streaming application, and when the streams manager determines an under-performing operator of the streaming application can be optimized sending a request to a cloud manager to provision at least one virtual machine, wherein the request specifies a location restriction that provides input for the cloud manger to determine a physical location for a preferred virtual machine based on physical location attributes of the preferred virtual machine; and wherein the streams manager modifies the flow graph to move the under-performing operator of the streaming application to a preferred virtual machine based on the physical location attributes of the preferred virtual machine; wherein the streams manager requests a cloud manager to provision at least one virtual machine with logic to implement at least one of the plurality of operators, and the cloud manager determines physical locations attributes of candidate virtual machines and determines the preferred virtual machine from the candidate virtual machines based on the physical location attributes, the cloud manager provisions the preferred virtual machine, and the streams manager modifies the flow graph to include the preferred virtual machine in the flow graph of the streaming application; and wherein the location restriction indicates an operator processes politically sensitive data that must be performed in a specific political environment and instructs the cloud manager to select a VM with a physical location attribute that meets the location restriction for the specific nature of the sensitive data processed by the operator.