Claims
- 1. A method of dynamically deploying services in a computing network, comprising steps of:
receiving client requests for a selected service; serving the received requests from a first server when the selected service has not yet been dynamically deployed; effecting a dynamic deployment by programmatically moving the selected service from the first server to one or more other servers when the dynamic deployment is triggered; and serving the received requests from the one or more other servers after the effecting step causes the selected service to be dynamically deployed.
- 2. The method according to claim 1, further comprising the steps of:
monitoring a number of the received client requests for the selected service; and triggering the dynamic deployment when the monitored number exceeds a predetermined threshold.
- 3. The method according to claim 2, wherein the predetermined threshold applies to a plurality of dynamically deployable services.
- 4. The method according to claim 2, wherein the predetermined threshold applies to the selected service.
- 5. The method according to claim 2, wherein a value of the predetermined threshold applies to all of the one or more other servers.
- 6. The method according to claim 2, wherein values of the predetermined threshold apply to individual ones of the one or more other servers.
- 7. The method according to claim 2, wherein a value of the predetermined threshold is specified by a systems administrator.
- 8. The method according to claim 2, wherein a value of the predetermined threshold is specified as a default value.
- 9. The method according to claim 2, wherein a value of the predetermined threshold is specified programmatically.
- 10. The method according to claim 2, wherein the monitoring step counts the received client requests at individual ones of the one or more other servers.
- 11. The method according to claim 2, wherein the monitoring step counts the received client requests at a plurality of the one or more other servers.
- 12. The method according to claim 1, further comprising the steps of:
monitoring a load on the computing network; and triggering the dynamic deployment when the monitored load exceeds a predetermined threshold.
- 13. The method according to claim 1, wherein the programmatically moving step further comprises the step of issuing a deployment request for the selected service.
- 14. The method according to claim 13, wherein the deployment request comprises a service description of the selected service encoded in a standardized service description notation.
- 15. The method according to claim 14, wherein the service description comprises an interface definition of a dynamic deployment service and an implementation definition of the dynamic deployment service.
- 16. The method according to claim 15, wherein the dynamic deployment service resides on the first server.
- 17. The method according to claim 13, further comprising steps of:
receiving the deployment request at a particular one of the one or more other servers, the particular one being that server to which the selected service is being dynamically deployed; issuing a subsequent deployment request, responsive to the receiving step, from the particular one to the first server; and receiving, responsive to the subsequent deployment request, a deployment response from the first server.
- 18. The method according to claim 17, wherein the subsequent deployment request comprises a SOAP (“Simple Object Access Protocol”) request.
- 19. The method according to claim 17, wherein the subsequent deployment request comprises an XML (“Extensible Markup Language”) Protocol request.
- 20. The method according to claim 17, wherein the subsequent deployment request identifies the selected service.
- 21. The method according to claim 17, wherein the subsequent deployment request provides information about run-time conditions on the particular one.
- 22. The method according to claim 17, wherein the deployment response comprises executable code to be deployed on the particular one.
- 23. The method according to claim 21, wherein the deployment response comprises executable code which is adapted to the run-time conditions on the particular one.
- 24. The method according to claim 22, further comprising the step of deploying the executable code on the particular one.
- 25. The method according to claim 1, further comprising the steps of:
transparently routing the received client requests using a repository which tracks whether the selected service is deployed on the one or more other servers; and wherein the serving steps serve the received requests from the first server or from the one or more other servers, depending on the transparently routing step.
- 26. A system for dynamically deploying services in a computing network, comprising:
means for receiving client requests for a selected service; means for serving the received requests from a first server when the selected service has not yet been dynamically deployed; means for effecting a dynamic deployment by programmatically moving the selected service from the first server to one or more other servers when the dynamic deployment is triggered; and means for serving the received requests from the one or more other servers after the effecting step causes the selected service to be dynamically deployed.
- 27. A computer program product for dynamically deploying services in a computing network, the computer program product embodied on one or more computer-readable media and comprising:
computer-readable program code means for receiving client requests for a selected service; computer-readable program code means for serving the received requests from a first server when the selected service has not yet been dynamically deployed; computer-readable program code means for effecting a dynamic deployment by programmatically moving the selected service from the first server to one or more other servers when the dynamic deployment is triggered; and computer-readable program code means for serving the received requests from the one or more other servers after the effecting step causes the selected service to be dynamically deployed.
RELATED INVENTIONS
[0001] The present invention is related to U.S. Pat. No. ______ (Ser. No. ______), which is titled “Dynamic Undeployment of Services in a Computing Network”, and U.S. Pat. No. ______ (Ser. No. ______) which is titled “Dynamic Redeployment of Services in a Computing Network”, both are which are commonly assigned to International Business Machines Corporation and which were filed concurrently herewith.