The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Apr. 01, 2014
Filed:
May. 11, 2007
Michael J. Branson, Rochester, MN (US);
Frederick Douglis, Basking Ridge, NJ (US);
Zhen Liu, Tarrytown, NY (US);
Fan YE, Ossining, NY (US);
Michael J. Branson, Rochester, MN (US);
Frederick Douglis, Basking Ridge, NJ (US);
Zhen Liu, Tarrytown, NY (US);
Fan Ye, Ossining, NY (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
A cooperative data stream processing system is provided that utilizes a plurality of independent, autonomous and potentially heterogeneous sites in a cooperative arrangement to process user-defined inquiries over dynamic, continuous streams of data. The system derives jobs from the inquiries and these jobs are executed on the various distributed sites by executing applications containing processing elements on these sites. Therefore, components of a given job can be executed simultaneously and in parallel on a plurality of sites within in the system. The sites associated with a given job execution have the need to share data, both primal and derived. A tunnel mechanism is provided that establishes tunnels between pairs of sites within the system. Each tunnel includes either a sink processing element on an originating site and a source processing element on a destination site or a gateway processing element on each site and a network connection between the sink and source processing elements. The sink and source processing elements are in communication with application processing elements on their respective sites and facilitate the exchange of data between these application processing elements. Tunnels can be establish on demand or in accordance with a prescribed plan and can be job specific of generic to any job executing on a given pair of sites.