Claims
- 1. A distributed processing system, comprising:
at least one server system coupled to a network; and a client agent program configured to operate on distributed devices coupled to the network, the client agent program comprising:
a processing system component comprising a core agent module, the core agent module being configured to operate with any of a plurality of different task modules; and a separate project component comprising at least one project task module, each task module being configured to run on top of the core agent module and to process distributed project workloads for at least one distributed processing project; wherein the server system is configured to provide the components of the client agent program to the distributed devices and to provide distributed workloads to the distributed devices; and wherein generalized application program interfaces (APIs), flexible scheduling, distributed data management, background communications, variable workload granularity and dynamic management of client agents and task modules, including automatic updates, are utilized are utilized by the server system and the client agent programs to facilitate operations of the distributed processing system.
- 2. The distributed processing system of claim 1, wherein the project component of the agent program includes a plurality of different task modules.
- 3. The distributed processing system of claim 2, wherein the network comprises the Internet.
- 4. The distributed processing system of claim 1, further comprising:
a capability database coupled to the server system, the capability database storing workload capability factors for the distributed devices; and an incentive database coupled to the server system, the incentive database storing incentive values for the distributed devices, the server system utilizing the workload capability factors to determine the incentive values for the distributed devices.
- 5. The distributed processing system of claim 1, further comprising a database configured to store information related to task modules, workunits and results.
- 6. The distributed processing system of claim 1, further comprising a security subsystem within the server system having as an output at least one partitionable security measure for electronic information that is being provided to at least one distributed device, the partitionable security measure being distributed to multiple distributed devices and having to be reconstructed by at least one distributed device to confirm the security measure.
- 7. A distributed processing system, comprising:
at least one server system coupled to a network; and a client agent program configured to operate on distributed devices coupled to the network, the client agent program comprising:
a processing system component comprising a core agent module, the core agent module being configured to operate with any of a plurality of different task modules; and a separate project component comprising at least one project task module, each task module being configured to run on top of the core agent module and to process distributed project workunits for at least one distributed processing project; wherein the server system is configured to provide the components of the client agent program to the distributed devices and to provide distributed workunits to the distributed devices; and wherein the server system is further configured to schedule workunits for the client agent programs utilizing a plurality of scheduling criteria.
- 8. The distributed processing system of claim 7, wherein the plurality of scheduling criteria comprises applications supported by the distributed devices, resource requirements available on the distributed devices for use in processing workunits, service levels needed by a project and its workunits, fairness factors in providing service to pending projects and their respective workunits, and domain constraint considerations.
- 9. The distributed processing system of claim 7, wherein the server system is further configured to distribute one or more projects jobs to distributed devices, each job comprising a plurality of workunits.
- 10. A distributed processing system, comprising:
at least one server system coupled to a network; and a client agent program configured to operate on distributed devices coupled to the network, the client agent program comprising:
a processing system component comprising a core agent module, the core agent module being configured to operate with any of a plurality of different task modules; and a separate project component comprising at least one project task module, each task module being configured to run on top of the core agent module and to process distributed project workunits for at least one distributed processing project; wherein the server system is configured to provide the components of the client agent program to the distributed devices and to provide distributed workunits to the distributed devices; and wherein the server system is further configured to utilize a persisted, server-generated identification (ID) technique to keep track of identities for the distributed devices, wherein the identification technique entails the use of an opaque device key to detect cloned device IDs that may arise intentionally or unintentionally.
- 11. The distributed processing system of claim 10, wherein the device IDs are numeric integer datatypes and the device keys are binary-string datatypes.
- 12. A distributed processing system, comprising:
at least one server system coupled to a network; and a client agent program configured to operate on distributed devices coupled to the network, the client agent program comprising:
a processing system component comprising a core agent module, the core agent module being configured to operate with any of a plurality of different task modules; and a separate project component comprising at least one project task module, each task module being configured to run on top of the core agent module and to process distributed project workunits for at least one distributed processing project; wherein the server system is configured to provide the components of the client agent program to the distributed devices and to provide distributed workunits to the distributed devices; and wherein the server system is further configured to provide project task module to the distributed device utilizing a task wrapper executable, the task wrapper executable being configured to provide a constrained virtual environment for execution of the task module on the client agent.
- 13. The distributed processing system of claim 12, wherein each task wrapper executable comprises a self-extracting executable in compressed format that includes an task module application executable, a module definition file and a wrapper executable.
- 14. The distributed processing system of claim 13, wherein the module definition file is configured to specify task module features that are interpreted by the task wrapper executable before it executes the task module application executable.
- 15. The distributed processing system of claim 12, wherein workunits and result files are automatically encrypted during network transmission and storage on distributed devices without modification to the task modules, the results files comprising results generated by the distributed devices through processing the workunits.
- 16. The distributed processing system of claim 15, wherein the workunits and result files are compressed before network transmission and storage without modification to the task modules.
- 17. The distributed processing system of claim 12, wherein the client agents are configured to transmit a result data file back to the server system when processing of a workunit has been completed, the result data file comprising result data, an identifier indicating the workunit associated with the result, a device identifier which identifies the client agent where workunit was completed, an indication of time that the result data was completed, and CPU time that was used to obtain the result data.
RELATED APPLICATIONS
[0001] This application is a continuation-in-part application of the following co-pending applications: application Ser. No. 09/539,448 entitled “CAPABILITY-BASED DISTRIBUTED PARALLEL PROCESING SYSTEM AND ASSOCIATED METHOD,” application Ser. No 09/539,428 entitled “METHOD OF MANAGING DISTRIBUTED WORKLOADS AND ASSOCIATED SYSTEM,” and application Ser. No. 09/539,106 entitled “NETWORK SITE TESTING METHOD AND ASSOCIATED SYSTEM,” each of which was filed on Mar. 30, 2000, and each of which is hereby incorporated by reference in its entirety. This application is also a continuation-in-part application of the following co-pending application: application Ser. No. 09/603,740 entitled “METHOD OF MANAGING WORKLOADS AND ASSOCIATED DISTRIBUTED PROCESSING SYSTEM,” and application Ser. No. 09/602,983 entitled “CUSTOMER SERVICES AND ADVERTISING BASED UPON DEVICE ATTRIBUTES AND ASSOCIATED DISTRIBUTED PROCESSING SYSTEM,” each of which was filed on Jun. 23, 2000, and each of which is hereby incorporated by reference in its entirety. This application is also a continuation-in-part application of the following co-pending application: application Ser. No. 09/648,832 entitled “SECURITY ARCHITECTURE FOR DISTRIBUTED PROCESSING SYSTEMS AND ASSOCIATED METHOD,” which was filed on Aug. 25, 2000, and which is hereby incorporated by reference in its entirety. This application is also a continuation-in-part application of the following co-pending application: application Ser. No. 09/794,969 entitled “SYSTEM AND METHOD FOR MONITIZING NETWORK CONNECTED USER BASES UTILIZING DISTRIBUTED PROCESSING SYSTEMS,” which was filed on Feb. 27, 2001, and which is hereby incorporated by reference in its entirety. This application is also a continuation-in-part application of the following co-pending application: application Ser. No. 09/834,785 entitled “SOFTWARE-BASED NETWORK ATTACHED STORAGE SERVICES HOSTED ON MASSIVELY DISTRIBUTED PARALLEL COMPUTING NETWORKS,” which was filed on Apr. 13, 2001, and which is hereby incorporated by reference in its entirety. This application is also a continuation-in-part application of the following co-pending application: application Ser. No. 10/186,266 entitled “DYNAMIC COORDINATION AND CONTROL OF NETWORK CONNECTED DEVICES FOR LARGE-SCALE NETWORK SITE TESTING AND ASSOCIATED ARCHITECTURES,” which was filed on Jun. 27, 2002, and which is hereby incorporated by reference in its entirety. The present application also claims priority to the following co-pending U.S. provisional patent application: Provisional Application Serial No. 60/368,871 that is entitled “MASSIVELY DISTRIBUTED PROCESSING SYSTEM ARCHITECTURE, SCHEDULING, UNIQUE DEVICE IDENTIFICATION AND ASSOCIATED METHODS,” which was filed on Mar. 29, 2002, and which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60368871 |
Mar 2002 |
US |
Continuation in Parts (9)
|
Number |
Date |
Country |
Parent |
09539448 |
Mar 2000 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09539428 |
Mar 2000 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09539106 |
Mar 2000 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09603740 |
Jun 2000 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09602983 |
Jun 2000 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09648832 |
Aug 2000 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09794969 |
Feb 2001 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
09834785 |
Apr 2001 |
US |
Child |
10402331 |
Mar 2003 |
US |
Parent |
10186266 |
Jun 2002 |
US |
Child |
10402331 |
Mar 2003 |
US |