Claims
- 1. A method of executing an application in a distributed data processing system, comprising:
receiving a request directed to an application on an origin server, wherein the application is an application written for execution on a single computing device; identifying whether the application includes one or more components that may be executed by an edge server; and creating an edge version of the application on the edge server if the application includes one or more components that may be executed by the edge server.
- 2. The method of claim 1, wherein creating an edge version of the application includes classifying components of the application into edgable and non-edgable components.
- 3. The method of claim 2, wherein creating an edge version of the application further includes replacing non-edgable components of the application with proxy agents.
- 4. The method of claim 3, wherein the proxy agents redirect requests that are to be processed by non-edgable components of the edge application to corresponding non-edgable components of the application on the origin server.
- 5. The method of claim 2, wherein requests to be processed by edgable components are handled by components of the edge version of the application and requests to be processed by non-edgable components are forwarded to the origin server.
- 6. The method of claim 5, wherein the requests to be processed by non-edgable components are sent to a broker agent on the origin server, and wherein the broker agent operates to invoke the non-edgable components of the application to operate on the requests.
- 7. The method of claim 6, wherein the broker agent invokes the non-edgable components using objects that are consistent in state with the requests.
- 8. The method of claim 1, wherein identifying whether the application includes one or more components that may be executed by an edge server includes using a configuration file associated with the application, wherein the configuration file indicates distributability of components of the application.
- 9. The method of claim 8, wherein the configuration file is automatically generated by one or more application program interfaces.
- 10. The method of claim 1, wherein the one or more components that may be executed by the edge server are components that do not access any resource on the origin server.
- 11. The method of claim 1, wherein creating an edge version of the application on the edge server includes generating a deployment descriptor for an edge server, wherein the deployment descriptor includes all of the components of the application that can be run on the edge server and a proxy agent for each component of the application that cannot be run on the edge server.
- 12. The method of claim 1, wherein identifying whether the application includes one or more components that may be executed by an edge server includes defining an interface for identifying edge-aware applications, and determining if the application implements the interface.
- 13. An apparatus for executing an application in a distributed data processing system, comprising:
means for receiving a request directed to an application on an origin server, wherein the application is an application written for execution on a single computing device; means for identifying whether the application includes one or more components that may be executed by an edge server; and means for creating an edge version of the application on the edge server if the application includes one or more components that may be executed by the edge server.
- 14. The apparatus of claim 13, wherein the means for creating an edge version of the application includes means for classifying components of the application into edgable and non-edgable components.
- 15. The apparatus of claim 14, wherein the means for creating an edge version of the application further includes means for replacing non-edgable components of the application with proxy agents.
- 16. The apparatus of claim 15, wherein the proxy agents redirect requests that are to be processed by non-edgable components of the edge application to corresponding non-edgable components of the application on the origin server.
- 17. The apparatus of claim 14, wherein requests to be processed by edgable components are handled by components of the edge version of the application and requests to be processed by non-edgable components are forwarded to the origin server.
- 18. The apparatus of claim 17, wherein the requests to be processed by non-edgable components are sent to a broker agent on the origin server, and wherein the broker agent operates to invoke the non-edgable components of the application to operate on the requests.
- 19. The apparatus of claim 18, wherein the broker agent invokes the non-edgable components using objects that are consistent in state with the requests.
- 20. The apparatus of claim 13, wherein the means for identifying whether the application includes one or more components that may be executed by an edge server includes means for using a configuration file associated with the application, wherein the configuration file indicates distributability of components of the application.
- 21. The apparatus of claim 20, wherein the configuration file is automatically generated by one or more application program interfaces.
- 22. The apparatus of claim 13, wherein the one or more components that may be executed by the edge server are components that do not access any resource on the origin server.
- 23. The apparatus of claim 13, wherein the means for creating an edge version of the application on the edge server includes means for generating a deployment descriptor for an edge server, wherein the deployment descriptor includes all of the components of the application that can be run on the edge server and a proxy agent for each component of the application that cannot be run on the edge server.
- 24. The apparatus of claim 13, wherein the means for identifying whether the application includes one or more components that may be executed by an edge server includes means for defining an interface for identifying edge-aware applications, and means for determining if the application implements the interface.
- 25. A computer program product in a computer readable medium for executing an application in a distributed data processing system, comprising:
first instructions for receiving a request directed to an application on an origin server, wherein the application is an application written for execution on a single computing device; second instructions for identifying whether the application includes one or more components that may be executed by an edge server; and third instructions for creating an edge version of the application on the edge server if the application includes one or more components that may be executed by the edge server.
- 26. The computer program product of claim 25, wherein the third instructions for creating an edge version of the application include instructions for classifying components of the application into edgable and non-edgable components.
- 27. The computer program product of claim 26, wherein the third instructions for creating an edge version of the application further include instructions for replacing non-edgable components of the application with proxy agents.
- 28. The computer program product of claim 27, wherein the proxy agents redirect requests that are to be processed by non-edgable components of the edge application to corresponding non-edgable components of the application on the origin server.
- 29. The computer program product of claim 26, wherein requests to be processed by edgable components are handled by components of the edge version of the application and requests to be processed by non-edgable components are forwarded to the origin server.
- 30. The computer program product of claim 29, wherein the requests to be processed by non-edgable components are sent to a broker agent on the origin server, and wherein the broker agent operates to invoke the non-edgable components of the application to operate on the requests.
- 31. The computer program product of claim 30, wherein the broker agent invokes the non-edgable components using objects that are consistent in state with the requests.
- 32. The computer program product of claim 25, wherein the second instructions for identifying whether the application includes one or more components that may be executed by an edge server include instructions for using a configuration file associated with the application, wherein the configuration file indicates distributability of components of the application.
- 33. The computer program product of claim 32, wherein the configuration file is automatically generated by one or more application program interfaces.
- 34. The computer program product of claim 25, wherein the one or more components that may be executed by the edge server are components that do not access resource on the origin server.
- 35. The computer program product of claim 25, wherein the third instructions for creating an edge version of the application on the edge server include instructions for generating a deployment descriptor for an edge server, wherein the deployment descriptor includes all of the components of the application that can be run on the edge server and a proxy agent for each component of the application that cannot be run on the edge server.
- 36. The computer program product of claim 25, wherein the second instructions for identifying whether the application includes one or more components that may be executed by an edge server include instructions for defining an interface for identifying edge-aware applications, and instructions for determining if the application implements the interface.
- 37. The method of claim 1, wherein the edge server and the origin server are web application servers.
- 38. The method of claim 1, wherein the one or more components that may be executed by the edge-server include one or more servlets.
- 39. The apparatus of claim 13, wherein the edge server and the origin server are web application servers.
- 40. The apparatus of claim 13, wherein the one or more components that may be executed by the edge-server include one or more servlets.
- 41. The computer program product of claim 25, wherein the edge server and the origin server are web application servers.
- 42. The computer program product of claim 25, wherein the one or more components that may be executed by the edge-server include one or more servlets.
RELATED APPLICATIONS
[0001] This application is related to commonly assigned and co-pending U.S. patent application Ser. No. ______ (Attorney Docket No. RSW920010141US1) entitled ‘Method and Apparatus for Minimizing Inconsistency Between Data Sources in a Web Content Distribution System’, filed on Sep. 21, 2001 and U.S. patent application Ser. No. ______ (Attorney Docket No. RSW920010142US1) entitled ‘Method and Apparatus for Caching Subscribed and Non-Subscribed Content in a Network Data Processing System’, filed on Sep. 21, 2001, and U.S. patent application Ser. No. ______ (Attorney Docket No. RSW920010126) entitled ‘Addressing the Name Space Mismatch Between Content Servers and Content Caching Systems’, filed on Sep. 27, 2001, all of which are hereby incorporated by reference.