Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
First Claim
1. An apparatus for guaranteeing network performance, comprising:
- means for opening a connection between a client and an interface unit;
means for opening a connection between said interface unit and a requested server if no free connection is open between said interface unit and said requested server;
means for estimating a response time of said requested server once a connection is established for said client;
means for putting said client on-hold if said response time is more than a threshold value;
means for determining when said client should be taken off on-hold;
means for allowing said client to access information on said requested server via said connections and said interface unit once said client is taken off on-hold; and
means for closing said connection between said client and said interface unit while keeping open said connection between said interface unit and said requested server.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, method and computer program product for guaranteeing network client-server response time while providing a way of putting the client on-hold when the response time temporarily prohibits, access to the requested server. The apparatus is implemented within an interface unit connecting a plurality of servers and an on-hold server to the Internet, which is connected to a plurality of clients. According to one aspect of the invention, the method includes the steps of opening a connection between a client and the interface unit; determining which server the client desires a page from; determining the current response time of the requested server; if the response time is acceptable then opening a connection between the interface unit and the requested server if no free connection is open between the interface unit and the requested server; allowing the client to access information on the requested server via the connections; and closing the connection between the client and the interface unit while keeping open the connection between the interface unit and the requested server. Alternatively, if the response time is not acceptable, then putting the client on-hold by redirecting the client to an on-hold server until the response time of the requested server becomes acceptable. According to a “on-hold distribution” aspect of the invention, the interface unit determines the on-hold preference of the client and selects the server hosting that on-hold preference. According to another aspect of the invention, instead of utilizing the interface unit, each server has the intelligence to put the client on-hold when applicable.
111 Citations
22 Claims
-
1. An apparatus for guaranteeing network performance, comprising:
-
means for opening a connection between a client and an interface unit;
means for opening a connection between said interface unit and a requested server if no free connection is open between said interface unit and said requested server;
means for estimating a response time of said requested server once a connection is established for said client;
means for putting said client on-hold if said response time is more than a threshold value;
means for determining when said client should be taken off on-hold;
means for allowing said client to access information on said requested server via said connections and said interface unit once said client is taken off on-hold; and
means for closing said connection between said client and said interface unit while keeping open said connection between said interface unit and said requested server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
means for receiving a request to open a connection using a network address corresponding to said interface unit or said requested server; and
means for receiving a request to retrieve data using a path name corresponding to said requested server.
-
-
4. The apparatus of claim 3, wherein said means for opening said connection between said client and said interface unit comprises:
means for selecting said requested server as a function of said network address.
-
5. The apparatus of claim 4, wherein said means for allowing comprises:
means for retrieving said data from said requested server using said path name.
-
6. The apparatus of claim 5, wherein said means for allowing further comprises:
means for sending said data to said client.
-
7. The apparatus of claim 6, wherein:
-
said means for receiving a request to retrieve data comprises means for receiving a GET segment having sequence and acknowledgment parameters; and
said means for retrieving comprises means for modifying said parameters to produce a modified GET segment, and means for sending said modified GET segment to said requested server.
-
-
8. The apparatus of claim 1, wherein said means for putting said client on-hold if said response time is more than a threshold value comprises:
-
means for determining a waiting time for said client;
means for determining an on-hold request based on said determined waiting time; and
means for allowing said client to access information on an on-hold server based on said determined on-hold request.
-
-
9. The apparatus of claim 8, wherein said means for determining said on-hold request comprises:
means for allowing said client to customize said on-hold request.
-
10. The apparatus of claim 9, wherein said means for allowing said client to customize comprises:
-
means for returning to said client a dual framed/multi-window web page, wherein said dual framed/multi-window web page includes a first frame/window and a second frame/window; and
means for allowing said client to select at least one category in said first frame/window thereby configuring the contents of said second frame/window.
-
-
11. The apparatus of claim 1, wherein said means for determining when said client should be taken off on-hold comprises:
-
means for recalculating said response time for said requested server;
means for determining whether said client is next to be serviced by said requested server;
means for determining when said client is finished with said on-hold server; and
means for taking said client off on-hold based on said means for recalculating, said means for determining whether said client is next to be serviced, and said means for determining when said client is finished.
-
-
12. A method for guaranteeing network performance, comprising the steps of:
-
opening a connection between a client and an interface unit;
opening a connection between said interface unit and a requested server if no free connection is open between said interface unit and said requested server;
estimating a response time of said requested server once a connection is established for said client;
putting said client on-hold if said response time is more than a threshold value;
determining when said client should be taken off on-hold;
allowing said client to access information on said requested server via said connections and said interface unit once said client is taken off on-hold; and
closing said connection between said client and said interface unit while keeping open said connection between said interface unit and said requested server. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
receiving a request to open a connection using a network address corresponding to said interface unit or said requested server; and
receiving a request to retrieve data using a path name corresponding to said requested server.
-
-
14. The method of claim 13, wherein the step of opening said connection between said client and said interface unit further comprises the step of:
selecting said requested server as a function of said network address.
-
15. The method of claim 14, wherein the step of allowing comprises the step of:
retrieving said data from said requested server using said path name.
-
16. The method of claim 15, wherein the step of allowing further comprises the step of:
sending said data to said client.
-
17. The method of claim 16, wherein:
-
the step of receiving a request to retrieve data comprises the step of receiving a GET segment having sequence and acknowledgment parameters; and
the step of retrieving comprises the steps of modifying said parameters to produce a modified GET segment, and sending said modified GET segment to said requested server.
-
-
18. The method of claim 12, wherein the step of putting said client on-hold comprises of steps of:
-
determining a waiting time for said client;
determining an on-hold request based on said determined waiting time; and
allowing said client to access information on an on-hold server based on said determined on-hold request.
-
-
19. The method of claim 18, wherein the step of putting said client on-hold further comprises the step of:
allowing said client to customize said on-hold request.
-
20. The method of claim 19, wherein the step of allowing said client to customize comprises the steps of:
-
returning to said client a dual framed/multi-window web page, wherein said dual framed/multi-window web page includes a first frame/window and a second frame/window; and
allowing said client to select at least one category in said first frame/window thereby configuring the contents of said second frame/window.
-
-
21. The method of claim 12, wherein the step of determining when said client should be taken off on-hold comprises the steps of:
-
recalculating said response time for said requested server;
determining whether said client is next to be serviced by said requested server;
determining when said client is finished with said on-hold server; and
taking said client off on-hold based on the step of recalculating, the step of determining whether said client is next to be serviced, and the step of determining when said client is finished.
-
-
22. The method of claim 12, further comprising taking said client off on-hold once said response time is less than or equal to said threshold value.
Specification