IP Library Granted Patent US 9,489,241
Granted Patent B2
US 9,489,241 · App. 13/099,165 · Granted Nov 8, 2016

Guaranteed response pattern

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,489,241
App. No.
13/099,165
Granted
Nov 8, 2016
Kind
B2
Abstract

Methods, systems and computer readable medium are presented for providing a response to a request. A request (e.g., a java request) is received by a computer-based system for providing a response to a request. The availability of the backend system (e.g., java dispatching system) request is analyzed in response to receiving the request. In response to a determination that the backend system is unavailable to process the request, an unavailable response is transmitted. In response to a determination that the backend system is available to process the request, the request is transmitted to a backend system to process the request.

Claims (40)

1. A method comprising:

receiving, by a computer system, a request to transact with a backend system to perform one or more specified computing tasks;

analyzing, by the computer system, availability of computing resources of the backend system to process the request, wherein the computing resources include one or more resource pools;

responsive to the analyzing, the computer system determining that the backend system is currently unavailable to process the request but is anticipated to become available to process the request within a predetermined length of time;

based on the determining that the backend system is currently unavailable to process the request but is anticipated to become available to process the request within the predetermined length of time, the computer system storing the request in a process request wait queue;

monitoring, by the computer system, the request in the process request wait queue;

responsive to the monitoring, the computer system determining whether to transfer the request from the process request wait queue to a timeout queue based on the request having been stored in the process request wait queue for the predetermined length of time, wherein the timeout queue processes termination of the request upon receipt of the request from the process request wait queue;

in response to determining that the backend system has become available to process the request and to the monitoring indicating that the predetermined length of time has not been reached for the request, the computer system removing the request from the process request wait queue and transmitting the request to the backend system for processing;

tracking, by the computer system, at least one of a volume of responses transmitted by the computer system indicating that the backend system is unavailable, a reason for backend system unavailability associated with one or more of a plurality of responses indicating that the backend system is unavailable, a time to return a response indicating that the backend system is unavailable, or a measure of resources available in the one or more resource pools; and

causing, by the computer system, at least one of the one or more resource pools to be resized based on a result of the tracking.

2. The method of claim 1 , wherein the backend system is a java dispatcher backend system.

3. The method of claim 1 , wherein the request is a java based request.

4. The method of claim 1 , further comprising transmitting, by the computer system, a notice indicating that that the request has been queued due to the backend system being temporarily unavailable.

5. The method of claim 1 , wherein the determining is based on at least one of: detecting a decrease in backend system responses to requests that are sent to the backend system, receiving information related to a status and an amount of resources for each of a plurality of resource pools at the backend system, or receiving information related to historical availability data for the backend system, wherein the historical availability data corresponds to results of requests made by a particular requestor in the past.

6. A non-transitory computer-readable medium having stored thereon instructions executable by a computer system to cause the computer system to perform operations comprising:

receiving a request from a client, wherein the request is for a software service running on a backend system;

analyzing availability of the backend system to process the request based on at least one of: historical availability data associated with previous requests destined for the backend system, information related to a status and an amount of resources for each of a plurality of resource pools at the backend system, or detecting a decrease in backend system responses to requests that are sent to the backend system;

based on the analyzing, determining the backend system is unavailable to process the request but is anticipated to become available to process the request within a predetermined length of time;

responsive to determining the backend system is unavailable to process the request but is anticipated to become available to process the request within a predetermined length of time, storing the request in a process request wait queue;

monitoring the request in the process request wait queue;

responsive to the monitoring, determining whether to transfer the request from the process request wait queue to a timeout queue based on the request having been stored in the process request wait queue for the predetermined length of time, wherein the timeout queue processes termination of the request upon receipt of the request from the process request wait queue;

in response to information indicating the backend system has become available to process the request and to the monitoring indicating that the predetermined length of time has not been reached for the request, removing the request from the process request wait queue and transmitting the request to the backend system for processing

tracking at least one of a volume of responses transmitted by the computer system indicating that the backend system is unavailable, a reason for backend system unavailability associated with one or more of a plurality of responses indicating that the backend system is unavailable, a time to return a response indicating that the backend system is unavailable, or a measure of resources available in the plurality of resource pools; and

causing at least one of the plurality of resource pools to be resized based on a result of the tracking.

7. The non-transitory computer-readable medium of claim 6 , wherein the request is received via a web application.

8. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory has stored thereon instructions executable to cause the system to perform operations comprising:

receiving, from a client, a request to transact with a backend system to perform one or more specified computing tasks;

analyzing availability of computing resources of the backend system to process the request, wherein the computing resources include one or more resource pools;

determining the backend system is currently unavailable to process the request but is anticipated to become available to process the request within a predetermined length of time;

based on the determining that the backend system is currently unavailable to process the request but is anticipated to become available to process the request within the predetermined length of time, storing the request in a process request wait queue;

monitoring the request in the process request wait queue;

responsive to the monitoring, determining whether to transfer the request from the process request wait queue to a timeout queue based on the request having been stored in the process request wait queue for the predetermined length of time, wherein the timeout queue processes termination of the request upon receipt of the request from the process request wait queue;

in response to determining that the backend system has become available to process the request and to the monitoring indicating that the predetermined length of time has not been reached for the request, removing the request from the process request wait queue and transmitting the request to the backend system for processing

tracking at least one of a volume of responses transmitted by the system indicating that the backend system is unavailable, a reason for backend system unavailability associated with one or more of a plurality of responses indicating that the backend system is unavailable, a time to return a response indicating that the backend system is unavailable, or a measure of resources available in the one or more resource pools; and

causing at least one of the one or more resource pools to be resized based on a result of the tracking.

9. The system of claim 8 , wherein the predetermined length of time is defined in a service level agreement.

10. The system of claim 8 , wherein the operations further comprise transmitting a response to the client indicating that the request has been accepted.

11. The system of claim 8 , wherein the determining is based on at least one of: detecting a decrease in backend system responses to requests that are sent to the backend system, receiving information related to a status and an amount of resources for each of a plurality of resource pools at the backend system, or receiving information related to historical availability data for the backend system, wherein the historical availability data comprises an average response time for a plurality of previous requests.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: III HOLDINGS 1, LLC
To: LIBERTY PEAK VENTURES, LLC
Reel/Frame 045611/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2014
From: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
To: III HOLDINGS 1, LLC
Reel/Frame 032722/0746 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE FOR CHOKKALINGAM PREVIOUSLY RECORDED ON REEL 026212 FRAME 0073. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 26, 2014
From: CHOKKALINGAM, SENDHIL M.; NETRAVALI, JAYESH A.; VENKATESHPRASAD, SRINIDHI K.
To: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
Reel/Frame 032360/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2011
From: CHOKKALINGAM, SENDHIL M.; NETRAVALI, JAYESH A.; VENKATESHPRASAD, SRINIDHI K.
To: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
Reel/Frame 026212/0073 →