Method and apparatus for high speed parallel execution of multiple points of logic across heterogeneous data sources
First Claim
1. A method of accessing and operating upon heterogeneous data at a plurality of nodes comprising the steps of:
- (1) propounding a request containing a data source object name wherein the heterogeneous data is treated as a single data source object, said request further containing code identifying at least one user-defined program to be performed on the data source object;
(2) determining whether the data source object is distributed across a plurality of nodes;
(3) if the data source object is determined to be distributed, breaking said request into a plurality of new requests, each of said new requests having a format appropriate to one of the respective nodes; and
(4) transmitting each of said new requests in parallel to its respective corresponding node, each new request containing a request to execute said user-defined program.
13 Assignments
0 Petitions
Accused Products
Abstract
Heterogeneous data at a plurality of remote nodes is accessed automatically in parallel at high speed from a user site using a simple script request containing a data source object name wherein the heterogeneous data is treated as a single data source object, the script further containing code representing a user-defined program to be executed on the data source object. The user-defined program may be represented by an embedded script, a user-defined script or an executable program designation. A user site agent breaks the user-generated script into new scripts appropriate for execution at the remote nodes. A messenger process transmits the new scripts to the appropriate remote nodes where respective agent processes respond to automatically access the appropriate data and to automatically execute the specified program. If the program is a user-defined script or executable, the respective agent processes access a metadata repository to obtain the specified program.
-
Citations
35 Claims
-
1. A method of accessing and operating upon heterogeneous data at a plurality of nodes comprising the steps of:
-
(1) propounding a request containing a data source object name wherein the heterogeneous data is treated as a single data source object, said request further containing code identifying at least one user-defined program to be performed on the data source object;
(2) determining whether the data source object is distributed across a plurality of nodes;
(3) if the data source object is determined to be distributed, breaking said request into a plurality of new requests, each of said new requests having a format appropriate to one of the respective nodes; and
(4) transmitting each of said new requests in parallel to its respective corresponding node, each new request containing a request to execute said user-defined program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. In apparatus for performing a plurality of user-defined programs, said apparatus comprising:
a plurality of databases, each located at a different one of a plurality of nodes, and data processing apparatus at each node, each data processing apparatus including an agent code module, each agent code module being constructed to determine whether a data source object presented in a script is distributed across a plurality of said nodes, and if said object is distributed, to break the script into a plurality of new scripts suitable for execution at a respective one said nodes, and if the script contains a code representing a user-defined program, to execute said program. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
28. An article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied in said medium for accessing and executing a plurality of methods on data at each of a plurality of nodes, said data being treated as a single data source object, the computer readable code means comprising;
means for receiving a request containing a data source object name wherein heterogeneous data is treated as a single data source object, said request further containing a code representing a user-defined program to be executed on the data source object; and
means for determining whether the data source object is distributed across a plurality of nodes; and
if the data source object is determined to be distributed, breaking said request into a plurality of new requests, each of said new requests including code representing said user-defined program.- View Dependent Claims (29, 30)
-
-
31. Computer executable process steps operative to control a computer and stored on a computer readable medium, comprising:
-
a step to receive a request containing a data source object name wherein heterogeneous data stored at a plurality of nodes is treated as a single data source object, said request further containing code representing one of a plurality of user-defined programs to be performed on the data source object;
a step to determine whether the data source object is distributed across a plurality of remote nodes; and
a step wherein, if the data source object is determined to be distributed, a request to execute one of said plurality of user-defined programs is sent to each of the remote nodes across which the data source agent is distributed. - View Dependent Claims (32, 33, 34, 35)
a step wherein, if it is determined that the data source object is distributed and that first and second methods should be performed at the remote nodes, a request to perform said first and second methods is broken into a plurality of new requests, each containing code representing said first and second methods.
-
-
33. The process steps of claim 32 further including a step to return results of execution of said second method back to a location where said request to perform originated.
-
34. The process steps of claim 33 including a step to merge results received at said location and a step to execute a third method on those results.
-
35. The process steps of claim 34 wherein said first, second and third methods respectively are search, sort and e-mail.
Specification