Claims
- 1. A method of supporting delivery, from a server to an application, of a data stream associated with a service provided by the server, comprising:
selecting the server; and automatically and without manual intervention, providing in a communication path that is to be used for said delivery a proxy that performs a proxy operation on the data stream during said delivery.
- 2. The method of claim 1, wherein said selecting step includes requesting the service from an application side of the communication path.
- 3. The method of claim 2, wherein said providing step includes selecting the proxy on a server side of the communication path in response to said requesting step.
- 4. The method of claim 3, wherein said step of selecting the proxy includes selecting the proxy based on information indicative of one of a preference of the application, a characteristic of equipment that will receive the data stream, and a characteristic of the service.
- 5. The method of claim 4, wherein said providing step includes sending from the server side to a proxy execution server a request to install the proxy in the communication path, the proxy execution server installing the proxy thereon in response to said installation request, and coupling the proxy execution server into the communication path.
- 6. The method of claim 5, wherein said coupling step includes the proxy execution server allocating input and output ports to be used for coupling the proxy execution server into the communication path and sending to the server side of the communication path information that identifies the input and output ports.
- 7. The method of claim 6, wherein said input and output port information includes information that identifies one of input and output TCP sockets and input and output UDP sockets.
- 8. The method of claim 3, wherein said step of selecting the proxy includes selecting a plurality of proxies on the server side of the communication path in response to said requesting step.
- 9. The method of claim 8, wherein said providing step includes sending from the server side of the communication path to a plurality of proxy execution servers a plurality of requests to install the plurality of proxies in the communication path.
- 10. The method of claim 9, wherein said step of sending requests includes sending the requests in parallel.
- 11. The method of claim 9, including the proxy execution servers installing the respective proxies thereon in response to the respective installation requests, and the proxy execution servers sending to the server side of the communication path information that identifies input and output ports to be used for coupling the respective proxy execution servers into the communication path.
- 12. The method of claim 11, wherein said installing step includes the proxy execution servers installing the respective proxies in parallel.
- 13. The method of claim 11, wherein said step of sending input and output port information includes the proxy execution servers sending their respective input and output port information to the server side in parallel.
- 14. The method of claim 11, wherein said providing step includes forwarding from the server side of the communication path to one of the proxy execution servers the input port information that was sent to the server side by another of the proxy execution servers.
- 15. The method of claim 14, wherein said forwarding step includes, for each of the proxy execution servers, forwarding from the server side to the proxy execution server the input port information that was sent by another of the proxy execution servers.
- 16. The method of claim 1, wherein said proxy operation includes one of data compression, data encryption, data transformation, data transcoding and data cacheing.
- 17. A system for supporting delivery, from a server to an application, of a data stream associated with a service provided by the server, comprising:
an input for receiving a service request; and a proxy provider apparatus coupled to said input and responsive to the service request for, automatically and without manual intervention, providing in a communication path that is to be used for said delivery a proxy that performs a proxy operation on the data stream during said delivery.
- 18. The system of claim 17, wherein said server includes a server operable for selecting the proxy in response to the service request.
- 19. The system of claim 18, wherein said proxy provider apparatus includes a proxy execution server coupled to said first-mentioned server to receive therefrom a request to install the proxy in the communication path, said proxy execution server operable for installing the proxy thereon in response to said installation request.
- 20. The system of claim 19, wherein said proxy provider apparatus includes a proxy repository for storing proxies therein, said proxy execution server coupled to said proxy repository and operable to download the proxy from said proxy repository.
- 21. The system of claim 19, wherein said proxy execution server and said first-mentioned server are cooperable for coupling said proxy execution server into the communication path.
- 22. The system of claim 21, wherein said proxy execution server is operable for allocating input and output ports for use in coupling said proxy execution server into the communication path, said proxy execution server further operable for sending to said first-mentioned server information which identifies the allocated input and output ports.
- 23. The system of claim 18, wherein said server is operable for selecting a plurality of proxies in response to the service request, said proxy provider apparatus including a plurality of proxy execution servers coupled to said first-mentioned server for receiving therefrom respective requests to install at least one proxy in the communication path, said proxy execution servers operable for installing respective proxies thereon in response to the respective installation requests, each said proxy execution server further operable for sending to said first-mentioned server information which identifies input and output ports to be used for coupling the respective proxy execution server into the communication path.
- 24. An apparatus for installing a proxy in a communication path that carries through a data network from a server to an application a data stream associated with a service provided by the server, comprising:
an input for receiving a request to install a proxy in the communication path; an allocator coupled to said input and automatically responsive to said installation request for allocating in the data network a communication port for coupling to the communication path; a loader coupled to said input and automatically responsive to said installation request for loading a proxy to support data flow through said communication port, said proxy operable for performing a proxy operation on the data stream; and an output coupled to said allocator for outputting information that identifies said communication port.
- 25. The apparatus of claim 24 wherein said loader is automatically responsive to said installation request for loading a plurality of proxies to support data flow through said communication port.
- 26. The apparatus of claim 25, including logic for concatenating said plurality of loaded proxies to form a chain of interconnected proxies.
- 27. The apparatus of claim 26, wherein said logic is operable to provide communication interfacing between said proxies in said proxy chain and between said proxy chain and said communication port.
- 28. The apparatus of claim 27, wherein said logic is operable for tracking origination and destination addresses used for communication between proxies in said proxy chain.
- 29. The apparatus of claim 24, including logic for providing a communication interface between said loaded proxy and said communication port.
- 30. The apparatus of claim 24, co-located with one of server equipment at a server end of the communication path and application equipment at an application end of the communication path.
- 31. The apparatus of claim 24, wherein said loader includes an input for receiving said loaded proxy from an external source.
- 32. The apparatus of claim 24, wherein said allocator is operable for allocating in the data network an input communication port and an output communication port, said loader operable for loading said proxy to support data flow through said input and output communication port.
- 33. A method of installing a proxy in a communication path that carries through a data network from a server to an application a data stream associated with a service provided by the server, comprising:
receiving a request to install a proxy in the communication path; in response to said installation request, automatically allocating in the data network a communication port for coupling to the communication path; in response to said installation request, automatically loading a proxy to support data flow through the communication port, the proxy operable for performing a proxy operation on the data stream; and providing information that identifies the allocated communication port.
- 34. The method of claim 33, wherein said loading step includes loading a plurality of proxies to support data flow through the communication port.
- 35. The method of claim 34, including concatenating the plurality of loaded proxies to form a chain of interconnected proxies.
- 36. The method of claim 35, wherein said concatenating step includes providing communication interfacing between the proxies in the proxy chain, and further including providing communication interfacing between the proxy chain and the communication port.
- 37. The method of claim 36, wherein said step of providing communication interfacing includes tracking origination and destination addresses used for communication between proxies in the proxy chain.
- 38. The method of claim 33, including providing a communication interface between the loaded proxy and the communication port.
- 39. The method of claim 33, wherein said allocating step includes allocating in the data network an input communication port and an output communication port, said loading step including loading the proxy to support data flow through the input and output communication ports.
- 40. A method of maintaining proxies in a communication path used to deliver from a server to an application a data stream associated with a service provided by the server, comprising:
determining that a first proxy in the communication path is not performing its proxy function within the communication path; and in response to said determining step, and automatically and without manual intervention, providing in the communication path a replacement proxy that replaces the first proxy in the communication path to perform said proxy function.
- 41. The method of claim 40, wherein said determining step includes a first server detecting that the first proxy is not performing its proxy function in the communication path.
- 42. The method of claim 41, wherein the first server supports a proxy in the communication path.
- 43. The method of claim 42, wherein said providing step includes the first server informing a second server that the first proxy is not performing its proxy function in the communication path, and also includes the second server, in response to said informing step, instructing a third server to install the replacement proxy on the third server.
- 44. The method of claim 43, wherein said providing step includes the third server installing the replacement proxy in response to said instructing step, and further includes coupling the third server into the communication path, said coupling step including the third server sending first connection information to the second server, and the second server sending second connection information to the third server.
- 45. The method of claim 44, wherein said coupling step includes the second server forwarding the first connection information to another server that supports a proxy in the communication path.
- 46. The method of claim 45, wherein said another server is the first server.
- 47. The method of claim 44, wherein the first connection information includes information that identifies a network service point associated with the third server.
- 48. The method of claim 47, wherein said second connection information includes information that identifies a network service point associated with another server that supports a proxy in the communication path.
- 49. The method of claim 48, wherein said another server is the first server.
- 50. A system for automatically maintaining proxies in a communication path used to deliver from a server to an application a data stream associated with a service provided by the server, comprising:
a first server having an input for receiving information which indicates that a first proxy in the communication path is not performing its proxy function in the communication path; a second server coupled to said first server; said first server responsive to said information for sending to said second server a request to install a replacement proxy to perform said proxy function, said second server responsive to said installation request for installing said replacement proxy on said second server; and said first and second servers cooperable for coupling said second server into the communication path.
- 51. The system of claim 50, including a third server coupled to said input of said first server for providing said information to said input.
- 52. The system of claim 51, wherein said third server supports a proxy in the communication path.
- 53. The system of claim 50, wherein said first and second servers are cooperable for sending first connection information from said second server to said first server and sending second connection information from said first server to said second server.
- 54. The system of claim 53, wherein said first connection information includes information that identifies a network service point associated with said second server, and said second connection information includes information that identifies a network service point associated with another server.
- 55. The system of claim 54, wherein said another server is said third server.
Parent Case Info
[0001] This application claims the priority under 35 USC 119(e)(1) of copending U.S. provisional application No. 60/283,735 filed on Apr. 13, 2001 and incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60283735 |
Apr 2001 |
US |