Patent ID: 8219848

Claim:
A method for providing failure recovery in cooperative data stream processing, the method comprising: identifying a plurality of autonomous distributed sites, each site comprising one or more nodes and each site configured to host, using the nodes on that site and independently of the other sites, applications associated with jobs derived from inquiries to process continuous dynamic streams of data; using the plurality of sites to negotiate common interest policies among the sites, each common interest policy defining a relationship between two autonomous sites by specifying data sources each site is willing to share and processing each site is willing to perform; and using an inter-site back-up mechanism to provide failure recovery by negotiating among the autonomous sites to identify in advance of a failure at least one back-up site for each autonomous site based on the negotiated common interest policies, the inter-site back-up mechanism comprising back-up sites selected from the identified plurality of sites, each back-up site configured to host, using nodes on that site and independently of the other sites, applications that were running on failed sites; wherein each site comprises a self-contained, fully functional instance of a cooperative data stream processing system for providing cooperative data stream processing.