Client-side method and apparatus for improving the availability and performance of network mediated services
First Claim
1. A method for a client agent resident at a client computer to establish communication between the client location and a destination location comprising the steps of:
- receiving a request for communication from said client location said request specifying a destination for the communication;
analyzing the content of said communication request, said content comprising at least one of the application to be invoked for processing said communication request, the protocol used to make the request, and the identification of the requested data;
determining an optimal communication path based on said analyzing; and
attempting to establish communications along said optimal path.
2 Assignments
0 Petitions
Accused Products
Abstract
An intelligent local client agent can passively keep track of the state of network intermediaries, and can allocate network traffic according to different policies. In addition, an optional management platform running on a policy server provides an active network monitor of intermediaries and implements administrative policies. Under the present invention, an intermediary-aware application (e.g., a browser) will be configured to use the local client agent instead of an intermediary. The policy server can remotely load configuration information into a running client agent to provide administrative constraints or state changes. At each client agent, the intermediary servers (e.g. SOCKS servers) are ranked into tiers, so that several servers in the top-rated tier can be used concurrently to provide better performance. When the performance of a server degrades, its tier rating is lowered, and thus it may be avoided. Administratively defined tiers can be used to reserve resources for mission critical applications. Each client agent may passively collect local statistics on observed performance. The policy server may aggregate and evaluate the collected data, and use it as metrics to improve the tier groupings to the client agents, in order to provide better utilization of shared resources.
-
Citations
22 Claims
-
1. A method for a client agent resident at a client computer to establish communication between the client location and a destination location comprising the steps of:
-
receiving a request for communication from said client location said request specifying a destination for the communication;
analyzing the content of said communication request, said content comprising at least one of the application to be invoked for processing said communication request, the protocol used to make the request, and the identification of the requested data;
determining an optimal communication path based on said analyzing; and
attempting to establish communications along said optimal path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
when communications cannot be established along said optimal path, selecting a successive alternative path;
trying to establish communication along said alternative path; and
repeating said selecting and trying until communication between said client location and said destination has been established.
-
-
3. The method of claim 1 wherein said determining optimal path comprises determining whether the request should be sent to a special service location based on said analyzing of content, and wherein said optimal communication path includes said special service location.
-
4. The method of claim 1 wherein said determining optimal path comprises determining if said data should be routed to a proxy cache and wherein said optimal communication path includes said proxy cache.
-
5. The method of claim 1 wherein said determining comprises ascertaining whether said communication between said client location and said destination can be made without accessing an intermediary location.
-
6. The method of claim 3 wherein said determining optimal path further comprises determining if said data should be routed to a proxy cache and wherein said optimal communication path includes said proxy cache.
-
7. The method of claim 3 wherein said determining optimal path further comprises ascertaining whether said communication between said client location and said destination can be made without accessing an intermediary location.
-
8. The method of claim 6 wherein said determining optimal path further comprises ascertaining whether said communication between said client location and said destination can be made without accessing an intermediary location.
-
9. The method of claim 4 wherein said determining optimal path further comprises ascertaining whether said communication between said client location and said destination can be made without accessing an intermediary location.
-
10. The method of claim 1 wherein said determining an optimal path comprises selecting one of a plurality of intermediary server locations for routing said communication.
-
11. The method of claim 10 further comprising the step of maintaining at least one record comprising a ranking of said plurality of intermediary server locations and wherein said determining an optimal path comprises consulting said at least one record and selecting one of said plurality of intermediary server locations for said communication.
-
12. The method of claim 1 wherein said client agent is adapted to receive communication information from at least one management server, and wherein said determining an optimal communication path additionally comprises consulting said communication information and selecting said path based on said content of said request and said communication information.
-
13. The method of claim 11, wherein said client agent is adapted to receive communication information from at least one management server, further comprising receiving communication information from said management server and updating said ranking based on said communication information.
-
14. The method of claim 13 additionally comprising the steps of:
-
when communications cannot be established along said optimal path, selecting a successive alternative path;
trying to establish communication along said alternative path;
repeating said selecting and trying until communication between said client location and said destination has been established; and
notifying said management server about said communication.
-
-
15. A client resident client agent for establishing communications between a client location and a destination location comprising:
-
receiver component for receiving a request for communication from said client location said request specifying the destination for the communication;
processing means for analyzing the content of said communication request information, said content comprising at least one of the application to be invoked for processing the communication request, the protocol used to make the request, and the identification of the requested data, and for determining an optimal communication path based on said analyzing; and
communication component for attempting to establish communications along said optimal path. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A communication system for a first client computer location to establish communication with at least one other computer location comprising:
-
at least one client resident client agent associated with said first client computer location, said client agent comprising;
receiver component for receiving a request for communication from said client location said request specifying the destination for the communication;
processing means for analyzing the content of said communication request, said content comprising at least one of the application to be invoked for processing said communication request, the protocol used to make the request and the identification of the requested data, and for determining an optimal communication path based on said analyzing; and
communication component for attempting to establish communications along said optimal path; and
at least one management server for sharing communication information with said at least one client agent.
-
-
21. An article of manufacture comprising:
-
a computer usable medium having computer readable program code embodied therein for establishing communication between a client location and a destination location, the computer readable program code in said article of manufacture being executed at the client location and comprising;
computer readable program code for receiving a request for communication from said client location said request specifying the destination for the communication;
computer readable program code for analyzing the content of said communication request, said content comprising at least one of the application to be invoked for processing the communication request, the protocol used to make the request, and the identification of the requested data;
computer readable program code for determining an optimal communication path based on said analyzing; and
computer readable program code for attempting to establish communications along said optimal path. - View Dependent Claims (22)
-
Specification