Distributed processing system for calculations based on objects from massive databases
First Claim
1. A method of performing a calculation on objects of a database, comprising:
- at a plurality of local servers;
opening a subset of the objects, performing the calculation on the subset to generate intermediate results therefrom, and closing the objects;
at a central server, generating final results of the calculation from the intermediate results obtained by the local servers; and
at the plurality of local servers, opening objects for which the final results are relevant, writing the final results to the relevant objects, and closing the relevant objects.
2 Assignments
0 Petitions
Accused Products
Abstract
Calculations to be performed on a massive data set may be delegated to a plurality of local servers for parallel processing. Each local server advances through a subset of database objects to determine if the objects are relevant to the calculation. If so, the objects'"'"' data is used as an operand to the calculation to generate intermediate results at the local server. The intermediate results of the various local servers are transmitted to a central server, which generates final results and transmits them back to the local servers. The local servers write the final results into each object in its respective subset, where relevant. The method is efficient because each object in the database is opened at most twice. Opening and closing database objects often involve transfers from bulk storage and, therefore, are some of the most time-consuming operations that computer systems perform.
-
Citations
28 Claims
-
1. A method of performing a calculation on objects of a database, comprising:
-
at a plurality of local servers;
opening a subset of the objects, performing the calculation on the subset to generate intermediate results therefrom, and closing the objects;
at a central server, generating final results of the calculation from the intermediate results obtained by the local servers; and
at the plurality of local servers, opening objects for which the final results are relevant, writing the final results to the relevant objects, and closing the relevant objects. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of performing a calculation on objects of a database, comprising:
-
at a plurality of local servers;
opening the objects, performing a plurality of calculations on the subset to generate intermediate results therefrom, and closing the objects;
at a first central server, generating final results of a first calculation from the intermediate results obtained by the local servers;
at a second central server, generating final results of a second calculation from the intermediate results obtained by the local servers; and
at the plurality of local servers, opening objects for which the final results are relevant, writing the final results to the relevant objects, and closing the relevant objects. - View Dependent Claims (7, 8)
-
-
9. A method of performing a calculation on objects of a database, comprising:
-
at a plurality of local servers;
opening the objects, performing a first calculation on the subset to generate intermediate results of the first calculation, and closing the objects;
at a central server, generating final results of the first calculation from the intermediate results of the first calculation;
at the plurality of local servers;
opening the objects, performing a second calculation on the subset with reference to the first result to generate intermediate results to the second calculation, and closing the objects;
at the central server, generating final results of the second calculation; and
at the plurality of local servers, opening objects for which the final results of the second calculation are relevant, writing the final results of the second calculation to the relevant objects, and closing the relevant objects. - View Dependent Claims (10, 11)
-
-
12. A method of performing a calculation on objects at a server, comprising:
-
during a first stage of operation;
opening a plurality of objects assigned to the server, comparing data from each open object to a search criterion, generating an intermediate result from objects whose data matches the search criterion, closing the objects, transmitting the intermediate result for the calculation from the server, receiving a final result for the calculation, during a second stage of operation;
opening objects to which the final result is relevant, writing the final result to each of the relevant objects, and closing the relevant objects. - View Dependent Claims (13, 14, 15)
-
-
16. An arithmetic method for objects of a database, comprising:
-
scheduling a plurality of calculations, each having its own search criterion, at each of a plurality of local servers, iteratively opening an object assigned to the respective server, comparing data from the object to the search criteria, if the object matches the search criterion of one or more calculations, generating intermediate results for the respective calculation(s) from the object'"'"'s data, and closing the object, transmitting intermediate results to a central server, generating final results of the calculations at the central server, transmitting the final results of the calculations to the local servers, and at each of the local servers, iteratively;
opening objects assigned to the respective server, writing relevant final results to the opened objects, and closing the objects. - View Dependent Claims (17, 18, 19)
-
-
20. A method of performing a calculation on objects at a server, comprising:
-
scheduling a plurality of calculations, each having its own search criterion, during a first stage of operation;
opening a plurality of objects assigned to the server, comparing data from each open object to the search criteria, generating an intermediate result from objects whose data matches the search criteria, closing the objects, transmitting the intermediate result for the calculations from the server, receiving final results for the calculations, during a second stage of operation;
opening objects to which the final result is relevant, writing the final result to each of the relevant objects, and closing the relevant objects. - View Dependent Claims (21, 22, 23)
-
-
24. A computer system, comprising:
-
a database system storing a plurality of objects, and a plurality of servers, one of which designated a central server and others are designated local servers, wherein the local servers open a subset of the objects, perform a calculation on the opened subset to generate intermediate results therefrom, and close the objects;
the central server receives intermediate results from the local servers, generates final results of the calculation from the intermediate results and transmits the final results to the local servers, and the local servers further open objects for which the final results are relevant, write the final results to the relevant objects, and close the relevant objects. - View Dependent Claims (25, 26, 27, 28)
-
Specification