Patent ID: 8359347

Claim:
A method for cooperative data stream processing, the method comprising: identifying two or more distributed sites within a cooperative data stream processing system, each site comprising components capable of independently processing continuous dynamic streams of data; facilitating the sharing of at least one of data and processing resources among the distributed sites by: situating a single instance of a job management layer and a scheduler to encompass a plurality of the identified distributed sites; and using the job management layer and scheduler to optimize the plurality of identified distributed sites concurrently by treating the plurality identified distributed sites as a whole and optimizing subdivision and placement of jobs derived from user-defined inquiries across the plurality of identified distributed sites, wherein the data resources comprise primal data streams and derived data streams and the processing resources comprise execution resources, software resources and hardware resources; using at least one of the distributed sites and the shared data or processing resources to process the user-defined inquiries over continuous dynamic streams of data and to obtain results to the user-defined inquiries by: producing one or more jobs for each user-defined inquiry by identifying processing elements associated with each job such that each job comprises a plurality of interconnected processing elements and utilizes data and processing resources from one or more of the sites; building one or more applications containing identified processing elements from one or more jobs; executing each job on one of the identified sites by executing each application on one of the identified sites; and managing the execution of the processing elements on the distributed sites; and communicating the results to users of the cooperative data steam system.