Claims
- 1. A method for submitting a job to a distributed computing environment, comprising:
contacting a task dispatcher peer group with a request to initiate the job; receiving a job repository identification corresponding to the job from a task dispatcher in said task dispatcher peer group; polling said task dispatcher with said job repository identification to determine if the job has been completed; and receiving results of the job from said task dispatcher if the job has been completed.
- 2. The method of claim 1, wherein said task dispatcher is a task dispatcher manager.
- 3. The method of claim 1, wherein said task dispatcher manager controls one or more task dispatchers in a task dispatcher peer group.
- 4. The method of claim 1, wherein said contacting, receiving, polling, and receiving are performed using a peer-to-peer protocol.
- 5. The method of claim 4 wherein said peer-to-peer protocol is Juxtapose (JXTA).
- 6. A method for submitting a job to a distributed computing environment, comprising:
contacting a monitor peer group with a request to initiate the job; receiving a job repository identification corresponding to the job from a task dispatcher; polling said task dispatcher with said job repository identification to determine if the job has been completed; and receiving results of the job from said task dispatcher if the job has been completed.
- 7. The method of claim 6, wherein said task dispatcher is a task dispatcher manager.
- 8. The method of claim 7, wherein said task dispatcher manager controls one or more task dispatchers in a task dispatcher peer group.
- 9. The method of claim 6, wherein said contacting, receiving, polling, and receiving are performed using a peer-to-peer protocol.
- 10. The method of claim 9 wherein said peer-to-peer protocol is Juxtapose (JXTA).
- 11. A method for adding a worker to a work group, comprising:
receiving a join request from a worker; and forwarding said join request to a work group, said work group determined by examining workload of two or more work groups.
- 12. The method of claim 11, further comprising transmitting a heartbeat to said work groups to receive status regarding work group loads, codes, and information about the loss of task dispatchers and workers.
- 13. A framework for distributed computing in an environment with a plurality of computers and with no centralized server, comprising:
one or more workers organized in a group, said one or more workers selected from the plurality of computers; one or more task distributors for said group, said one or more task distributors selected from the plurality of computers; and one or more repositories, said one or more repositories selected from the plurality of computers.
- 14. The framework of claim 13, further comprising one or more monitors, said one or more monitors selected from the plurality of computers.
- 15. The framework of claim 13, further comprising a repository manager, said repository manager selected from the plurality of computers.
- 16. The framework of claim 13, wherein said one or more workers execute code stored in said one or more repositories on data stored in said one or more repositories.
- 17. The framework of claim 13, wherein said one or more task distributors distribute tasks to said one or more workers.
- 18. The framework of claim 13, wherein said one or more repositories include one or more code repositories, one or more task repositories, and one or more job repositories.
- 19. The framework of claim 18, further comprising a repository manager, said repository manager selected from the plurality of computers.
- 20. An apparatus for submitting a job to a distributed computing environment, comprising:
a task dispatcher contacter; a job repository identification receiver; a task dispatcher poller coupled to said job repository identification receiver; and a job results receiver.
- 21. An apparatus for submitting a job to a distributed computing environment, comprising:
a monitor contacter; a job repository identification receiver; a task dispatcher poller coupled to said job repository identification receiver; and a job results receiver.
- 22. An apparatus for adding a worker to a work group, comprising:
a worker join request receiver; and a worker join request work group forwarder coupled to said worker join request receiver.
- 23. The apparatus of claim 22, further comprising a heartbeat transmitter.
- 24. An apparatus for submitting a job to a distributed computing environment, comprising:
means for contacting a task dispatcher peer group with a request to initiate the job; means for receiving a job repository identification corresponding to the job from a task dispatcher in said task dispatcher peer group; means for polling said task dispatcher with said job repository identification to determine if the job has been completed; and means for receiving results of the job from said task dispatcher if the job has been completed.
- 25. The apparatus of claim 24, wherein said task dispatcher is a task dispatcher manager.
- 26. The apparatus of claim 25, wherein said task dispatcher manager controls one or more task dispatchers in a task dispatcher peer group.
- 27. The apparatus of claim 24, wherein said means for contacting, means for receiving, means for polling, and means for receiving use a peer-to-peer protocol.
- 28. The apparatus of claim 27 wherein said peer-to-peer protocol is Juxtapose (JXTA).
- 29. An apparatus for submitting a job to a distributed computing environment, comprising:
means for contacting a monitor peer group with a request to initiate the job; means for receiving a job repository identification corresponding to the job from a task dispatcher; means for polling said task dispatcher with said job repository identification to determine if the job has been completed; and means for receiving results of the job from said task dispatcher if the job has been completed.
- 30. The apparatus of claim 29, wherein said task dispatcher is a task dispatcher manager.
- 31. The apparatus of claim 30, wherein said task dispatcher manager controls one or more task dispatchers in a task dispatcher peer group.
- 32. The apparatus of claim 29, wherein said means for contacting, means for receiving, means for polling, and means for receiving use a peer-to-peer protocol.
- 33. The apparatus of claim 32 wherein said peer-to-peer protocol is Juxtapose (JXTA).
- 34. An apparatus for adding a worker to a work group, comprising:
means for receiving a join request from a worker; and means for forwarding said join request to a work group, said work group determined by examining workload of two or more work groups.
- 35. The apparatus of claim 34, further comprising means for transmitting a heartbeat to said work groups to receive status regarding work group loads, codes, and information about the loss of task dispatchers and workers.
- 36. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for submitting a job to a distributed computing environment, the method comprising:
means for contacting a task dispatcher peer group with a request to initiate the job; means for receiving a job repository identification corresponding to the job from a task dispatcher in said task dispatcher peer group; means for polling said task dispatcher with said job repository identification to determine if the job has been completed; and means for receiving results of the job from said task dispatcher if the job has been completed.
- 37. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for submitting a job to a distributed computing environment, the method comprising:
means for contacting a monitor peer group with a request to initiate the job; means for receiving a job repository identification corresponding to the job from a task dispatcher; means for polling said task dispatcher with said job repository identification to determine if the job has been completed; and means for receiving results of the job from, said task dispatcher if the job has been completed.
- 38. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for adding a worker to a work group, the method comprising:
means for receiving a join request from a worker; and means for forwarding said join request to a work group, said work group determined by examining workload of two or more work groups.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority based on U.S. Provisional Patent Application serial No. 60/398,204, filed on Jul. 23, 2002, by Jerome M. Verbeke, Neelakanth M. Nadgir, Gregory R. Ruetsch and Ilya A. Sharapov, entitled “FRAMEWORK FOR PEER-TO-PEER DISTRIBUTED COMPUTING IN A HETEROGENEOUS, DECENTRALIZED ENVIRONMENT”, attorney docket no. SUN-P8200P and is related to co-pending application Ser. No. ______, filed on ______, 2002, by Jerome M. Verbeke, Neelakanth M. Nadgir, Gregory R. Ruetsch, Ilya A. Sharapov, Vu H. Trang, Michael J. Vernik, entitled “DISTRIBUTING AND EXECUTING TASKS IN PEER-TO-PEER DISTRIBUTED COMPUTING”, attorney docket no. SUN-P8200.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60398204 |
Jul 2002 |
US |