Patent ID: 7007275

Claim:
A computer implemented method of accessing and operating upon heterogeneous data at a plurality of nodes comprising the steps of: (1) propounding a request at a user site containing a data source object name wherein the heterogeneous data is treated as a single data source object, said request further containing at least a first method to be performed on the data source object and at least a second method to be performed on the results produced by performance of the first method; (2) determining at the user site whether the data source object is distributed across a plurality of nodes; (3) making a determination at the user site as to whether said second method should be performed on said results at each respective node or should be performed at the user site after said results are transmitted from each node back to the user site; (4) if said determining determines that the data source object is distributed, breaking the request into a plurality of new requests, each of the new requests including code having a format appropriate to a respective one of the nodes where the data source object resides, each new request including code representing said first method and also including code representing said second method if said making a determination has determined that said second method is to be executed at the respective node; (5) transmitting said new requests to said nodes; (6) executing the first method concurrently on the data source object at the corresponding nodes and storing the results thereof; (7) if said making a determination determined that said second method should be performed at a respective node, executing said second method on the results of executing said first method at that respective node and returning the resulting second method results to the user site; (8) if said making a determination determined that said second method should be performed at said user site for a respective node, returning the results of executing said first method at the respective node to the user site and executing said second method thereat; and (9) merging the results of executing said second method results at said user site.