Claims
- 1. A method for providing thread priority control in a distributed computer system, comprising the operations of:
executing at least one task on a server, each task including a task identifier and a priority value; receiving a change priority message over a network, the change priority message including a priority value and a task identifier; and setting the priority value of a specific task having the same task identifier as the task identifier of the change priority message equal to the priority value of the change priority message, wherein the specific task is executed at a priority level relative to the priority value of the specific task.
- 2. A method as recited in claim 1, wherein each task includes a change priority method that functions to set the priority value of the task to a specific value, the change priority method accepting a priority value as an argument.
- 3. A method as recited in claim 2, wherein the change priority method further communicates with a local Java Virtual Machine to adjust computer resource allocation.
- 4. A method as recited in claim 3, further comprising the operation of calling the change priority method of the specific task using the priority value of the change priority message.
- 5. A method as recited in claim 1, wherein the server is part of a server farm, the server farm having a plurality of servers controlled using a control system server.
- 6. A method as recited in claim 5, wherein the change priority message is sent from a separate server on the server farm.
- 7. A method as recited in claim 5, wherein the change priority message is sent from the control system server.
- 8. A method for reducing resource contention in a distributed computer environment, comprising the operations of:
finding a particular server entry on a lookup service, the lookup service having server entries for a plurality of servers, each entry including a list of attributes corresponding to a related server; examining a task to obtain miscellaneous prevention attributes related to the task; finding a new server entry if any miscellaneous prevention attribute related to the task matches any miscellaneous prevention attribute related to the particular server entry; sending the task to a server corresponding to the server entry if all miscellaneous prevention attributes related to the task are different from all miscellaneous prevention attributes related to the particular server entry.
- 9. A method as recited in claim 8, further comprising the operation of updating the entry for the server receiving the task to include miscellaneous prevention attributes related to the task.
- 10. A method as recited in claim 8, wherein each miscellaneous prevention attribute indicates a resource needed exclusively by the related task.
- 11. A method as recited in claim 10, wherein the lookup service lists entries for servers that are part of a server farm.
- 12. A method as recited in claim 11, wherein the server farm includes a control system having access to the lookup service.
- 13. A method as recited in claim 11, wherein the attributes for a server can include properties of the specific computer system.
- 14. A system for providing thread priority control in a distributed computer system, comprising:
a first server in communication with a network, the first server executing at least one task, each task including a task identifier and a priority value; and a second server capable of transmitting a change priority message to the first server via the network, the change priority message including a priority value and a task identifier, wherein the first server sets the priority value of a specific task executing on the first server and having the same task identifier as the task identifier of the change priority message equal to the priority value of the change priority message, and wherein the specific task is executed at a priority level relative to the priority value of the specific task.
- 15. A system as recited in claim 14, wherein each task includes a change priority method that functions to set the priority value of the task to a specific value, the change priority method accepting a priority value as an argument.
- 16. A system as recited in claim 15, wherein the change priority method further communicates with a Java Virtual Machine present on the first server to adjust computer resource allocation.
- 17. A system as recited in claim 16, wherein the change priority method of the specific task is called using the priority value of the change priority message as an argurnent.
- 18. A system as recited in claim 14, further comprising a lookup service, the lookup service having server entries for the first server and the second server, each entry including a list of attributes corresponding to the related server.
- 19. A system as recited in claim 18, wherein each entry of the lookup service includes miscellaneous prevention attributes related to tasks executing on the related server.
- 20. A system as recited in claim 19, wherein tasks having matching miscellaneous prevention attributes are not executed in parallel on a single server.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application No. ______ (Attorney Docket No. SUNMP106), filed Aug. 14, 2002, and entitled “System and Method for Controlling and Managing Computer Farms,” which are incorporated herein by reference.