Method, system and program product for asynchronously processing requests
View Patent ↗Under the present invention, a request for a Uniform Resource Locator (URL) is received from a client on a server. Upon receipt, a corresponding session object is obtained, and a response identifier is generated. Based on the response identifier, it is determined whether the URL was previously requested by the client. If not, generation of a final response begins. As the response is being generated, a response refresh header is generated and returned to the client with a temporary response. The response refresh header contains a time value for causing the client to automatically send a subsequent request for the URL. After generation of the final response is complete, it is stored in a cache according to the response identifier. Then, when the subsequent request is received from the client, the final response is retrieved from the cache and served to the client.
1. A system for asynchronously processing requests, comprising:
an object system for obtaining a session object for a request for a Uniform Resource Locator (URL) received from a client;
a response identifier system for generating a response identifier based on a session identifier and the URL;
a request checking system for determining whether the URL was previously requested in the request by the client; and
a header generation system for generating a response refresh header that includes a time value for causing the client to automatically send a subsequent request for the URL.
2. The system of claim 1 , further comprising a response caching system for storing a final response to the request in a cache according to the response identifier.
3. The system of claim 1 , further comprising a cache checking system for checking a cache for a final response to the request based on the response identifier, wherein the final response is sent to the client if complete.
4. The system of claim 1 , further comprising an output system for sending the response refresh header and a temporary response to the request to the client.
5. The system of claim 1 , wherein the response identifier comprises the session identifier and a hash of the URL.
6. The system of claim 1 , wherein the request checking system checks a table of the session object to determine whether the URL was previously requested by the client.
7. The system of claim 1 , further comprising an input system for receiving the request, and for receiving a subsequent request for the URL from the client after expiration of the time value in the response refresh header.
8. A program product stored on a recordable medium for asynchronously processing requests, which when executed by a computer, comprises:
program code for obtaining a session object for a request for a Uniform Resource Locator (URL) received from a client;
program code for generating a response identifier based on a session identifier and the URL;
program code for determining whether the URL was previously requested in the request by the client; and
program code for generating a response refresh header that includes a time value for causing the client to automatically send a subsequent request for the URL.
9. The program product of claim 8 , further comprising program code for storing a final response to the request in a cache according to the response identifier.
10. The program product of claim 8 , further comprising program code for checking a cache for a final response to the request based on the response identifier, wherein the final response is sent to the client if complete.
11. The program product of claim 8 , further comprising program code for sending the response refresh header and a temporary response to the request to the client.
12. The program product of claim 8 , wherein the response identifier comprises the session identifier and a hash of the URL.
13. The program product of claim 8 , wherein the program code for determining checks a table of the session object to determine whether the URL was previously requested by the client.
14. The program product of claim 8 , further comprising program code for receiving the request, and for receiving a subsequent request for the URL from the client after expiration of the time value in the response refresh header.