Patent ID: 8417762

Claim:
A method for distributed execution of jobs in a cooperative data stream processing system, the method comprising: identifying a plurality of distributed sites, each site comprising a server, an inquiry services layer comprising a job planner, a data source management component and one or more nodes, wherein each site is capable of independently hosting on the nodes subjobs associated with jobs derived from inquiries to process continuous dynamic streams of data; identifying a distributed plan for distributed execution of one of the jobs among the plurality of distributed sites within the system by: using the inquiry services layer to describe each inquiry in a pre-determined high level language that specifies data sources to include in and exclude from the distributed plan; using the data source manager to provide data source records comprising information to access data sources specified in the high level language; using the job planner to identify, based on the inquiries as expressed in the high level language, the job comprising processing elements and data sources interconnected in a flow graph; creating one or more subjobs by associating each one of the processing elements from the identified job into one of the subjobs; and mapping each subjob to one of the plurality of distributed sites for execution; and using the distributed plan to execute the job across the plurality of distributed sites on the servers located at each site by executing each subjob on the distributed site to which that subjob has been mapped.