Reliable processing of HTTP requests
First Claim
Patent Images
1. A computing system comprising:
- a set of server systems to process hypertext transfer protocol (HTTP) requests;
a client system to send a HTTP request; and
a front end server to receive said HTTP request and to submit said HTTP request to a first server system,said first server system to generate a response processing said HTTP request and to send said response to said client system to complete processing of said HTTP request, said first server system sending no response to said client system upon failure to complete processing said HTTP request,said front end server to maintain an information indicating that said request has been submitted to said first server system and a status field set to a first value to indicate that processing of said HTTP request is not yet complete, said information and said status field with said first value being maintained on submission of said HTTP request to said first server system,wherein said status field is designed to be set to a second value to indicate that processing of said HTTP request is complete on completion of processing of said HTTP request,said front end server comprising a monitoring tool to check whether said first server system has failed after submission of said HTTP request,upon finding that said first server system has failed, said monitor tool to identify that said first request is to be resubmitted to another server system based on said information indicating that said request has been earlier submitted to said first server system if said status field is still set to said first value,upon identifying that said first request is to be resubmitted, said front end server to resubmit said first request to a second server system,said second server system to generate said response by completing processing of said request and to send said response to said client system, wherein said status field is set to said second value upon completion of processing of said request and sending of said response to said client system,whereby said client system receives said response without having to resubmit said HTTP request even in case of failure of said first server system in processing said HTTP request, wherein said first server system and said second server system are contained in said set of server systems.
1 Assignment
0 Petitions
Accused Products
Abstract
A monitoring tool provided according to an aspect of the present invention causes an HTTP request to be resubmitted to another server system if a server system, to which the same HTTP request has been earlier submitted, is detected to have failed without completing processing of the request. In one embodiment, the server system is deemed to have failed upon absence of completion of requests for a pre-specified duration. As an alternative or in addition, the operational status of the server system is checked periodically and the server system is deemed to have failed if it is non-operational.
30 Citations
23 Claims
-
1. A computing system comprising:
-
a set of server systems to process hypertext transfer protocol (HTTP) requests; a client system to send a HTTP request; and a front end server to receive said HTTP request and to submit said HTTP request to a first server system, said first server system to generate a response processing said HTTP request and to send said response to said client system to complete processing of said HTTP request, said first server system sending no response to said client system upon failure to complete processing said HTTP request, said front end server to maintain an information indicating that said request has been submitted to said first server system and a status field set to a first value to indicate that processing of said HTTP request is not yet complete, said information and said status field with said first value being maintained on submission of said HTTP request to said first server system, wherein said status field is designed to be set to a second value to indicate that processing of said HTTP request is complete on completion of processing of said HTTP request, said front end server comprising a monitoring tool to check whether said first server system has failed after submission of said HTTP request, upon finding that said first server system has failed, said monitor tool to identify that said first request is to be resubmitted to another server system based on said information indicating that said request has been earlier submitted to said first server system if said status field is still set to said first value, upon identifying that said first request is to be resubmitted, said front end server to resubmit said first request to a second server system, said second server system to generate said response by completing processing of said request and to send said response to said client system, wherein said status field is set to said second value upon completion of processing of said request and sending of said response to said client system, whereby said client system receives said response without having to resubmit said HTTP request even in case of failure of said first server system in processing said HTTP request, wherein said first server system and said second server system are contained in said set of server systems. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A front end server comprising:
-
a request handler to receive a hypertext transfer protocol (HTTP) request from a client system; and a submitter block to submit said HTTP request to a first server system and to maintain an information indicating that said request has been submitted to said first server system and a status field set to a first value to indicate that processing of said HTTP request is not yet complete, said information and said status field with said first value being maintained on submission of said HTTP request to said first server system, wherein said status field is designed to be set to a second value to indicate that processing of said HTTP request is complete on completion of processing of said HTTP request; a monitoring tool to determine whether said first server system has failed after submission of said HTTP request, said monitoring tool, upon determining that said first server system has failed, to identify that said first request is to be resubmitted to another server system based on said information indicating that said request has been earlier submitted to said first server system if said status field is still set to said first value, said monitoring tool to cause said submitter block and then to resubmit said HTTP request to a second server system upon said identifying that said first request is to be resubmitted to another server system, wherein said first server system is designed to generate a response by processing said HTTP request and to send said response to said client system to complete processing of said HTTP request, said first server system sending no response to said client system upon failure to complete processing of said HTTP request, wherein said first server system is detected to have failed based on absence of any response from said first server system to said client system, wherein said server system is designed to generate said response by completing processing of said request and to send said response to said client system, wherein said status field is set to said second value upon completion of processing of said request and sending of said response to said client system, and wherein said front end server comprises a processor designed to execute a set of instructions to implement at least one of said request handler, said submitter block and said monitoring tool. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of ensuring reliable processing of HTTP requests, said method comprising:
receiving a hypertext transfer protocol (HTTP) request from a client system; submitting said HTTP request to a first server system, said first server system designed to generate a response processing said HTTP request and to send said response to said client system to complete processing of said HTTP request, said first server system sending no response to said client system upon failure to complete processing said HTTP request; storing a status information indicating whether processing of said HTTP request is completed or not, wherein said status information is set to a first value to indicate that processing of said HTTP request is not yet complete, said information and said status field with said first value being maintained on submission of said HTTP request to said first server system, wherein said status field is designed to be set to a second value to indicate that processing of said HTTP request is complete on completion of processing of said HTTP request; updating said status information by setting to said second value to indicate that processing of said HTTP request is complete if a response data is received for said HTTP request; detecting that said first server system has failed without completing processing of said HTTP request based on absence of any response from said first server system to said client system; and resubmitting said HTTP request to a second server system upon said detecting, wherein said resubmitting of said HTTP request is performed only if said status information indicates that processing of said HTTP request is not completed by being at said second value. - View Dependent Claims (17, 18, 19)
-
20. A non-transitory machine readable medium storing one or more sequences of instructions for causing a front-end server to process hypertext transfer protocol (HTTP) requests, wherein execution of said one or more sequences of instructions by one or more processors contained in said system causes said front-end server to perform the actions of:
-
receiving a HTTP request from a client system; submitting said HTTP request to a first server system, said first server system designed to generate a response processing said HTTP request and to send said response to said client system to complete processing of said HTTP request, said first server system sending no response to said client system upon failure to complete processing said HTTP request; storing a status information indicating whether processing of said HTTP request is completed or not, wherein said status information is set to a first value to indicate that processing of said HTTP request is not yet complete, said information and said status field with said first value being maintained on submission of said HTTP request to said first server system, wherein said status field is designed to be set to a second value to indicate that processing of said HTTP request is complete on completion of processing of said HTTP request; updating said status information by setting to said second value to indicate that processing of said HTTP request is complete if a response data is received for said HTTP request; detecting that said first server system has failed without completing processing of said HTTP request based on absence of any response from said first server system to said client system; and resubmitting said HTTP request to a second server system upon said detecting, wherein said resubmitting of said HTTP request is performed only if said status information indicates that processing of said HTTP request is not completed by being at said second value. - View Dependent Claims (21, 22, 23)
-
Specification