IP Library Granted Patent US 8,732,719
Granted Patent B2
US 8,732,719 · App. 13/854,667 · Granted May 20, 2014

Method and system for managing resource connections

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 8,732,719
App. No.
13/854,667
Granted
May 20, 2014
Kind
B2
Abstract

Methods and system for managing resource connections are described. In one embodiment, an initial user request to access data stored at a resource is received. The initial user request is generated by an application of a plurality of applications having access to the resource. An existing connection from the application is utilized to provide the data to the application. A current user request to access data stored at the resource is received. Based on a determination that the existing connection is unavailable, the current user request is assigned to a waiter queue. A number of requests assigned to the waiter queue during a pre-defined time period is determined to exceed a threshold. A new connection from the application to the resource is created based on the availability of a further connection to the resource and the exceeding of the threshold.

Claims (45)

1. A method comprising:

receiving an initial user request to access data stored at a resource, the initial user request generated by an application of a plurality of applications having access to the resource;

utilizing an existing connection from the application to provide the data to the application;

receiving a current user request to access data stored at the resource;

based on a determination that the existing connection is unavailable, assigning the current user request to a waiter queue;

determining that a number of requests assigned to the waiter queue during a pre-defined time period exceeds a threshold; and

creating a new connection from the application to the resource based on availability of a further connection to the resource and exceeding the threshold to control a rate at which new connections are created.

2. The method of claim 1 , further comprising receiving a number of initial user requests and creating a number of initial connections based on the initial user requests.

3. The method of claim 1 , further comprising determining that a number of waiter time-outs exceeds a waiter timeout threshold.

4. The method of claim 1 , further comprising:

receiving an additional user request generated by the application;

determining the availability of the created connection; and

based on the availability of the existing connection, utilizing the created connection to process the additional user request.

5. The method of claim 1 , further comprising:

receiving an additional user request generated by the application;

determining the availability of the created connection;

making a call to a connection rate authority;

creating a further connection from the application to the resource based on the availability of the created connection and a response from the connection rate authority.

6. The method of claim 5 , wherein the response of the connection rate control authority is based on a throttle delay used to repeat a distributed pattern associated with a stagger delay during a connection storm to keep user requests evenly distributed.

7. The method of claim 6 , wherein the throttle delay is based on a determination to throttle based on a last new connection creation date.

8. The method of claim 5 , wherein the response of the connection rate control authority is based on receiving a number of different application control rate process requests associated with the resource.

9. The method of claim 8 , further comprising determining whether a global stagger delay has been met and setting a new global stagger delay.

10. The method of claim 1 , wherein the resource stores transaction data and user data.

11. The method of claim 1 , wherein the user requests are received serially or simultaneously.

12. The method of claim 1 , wherein the user requests are web requests.

13. The method of claim 1 , wherein the existing connection is a thread returning a connection.

14. The method of claim 1 , wherein the existing connection is a background thread creating a new connection.

15. The method of claim 1 , wherein the existing connection is from putting the new connection in a connection pool and then utilizing the connection from the connection pool.

16. The method of claim 1 , wherein the availability of the connection is determined from a connection pool of potentially available connections.

17. A system comprising:

a resource storing data accessible by a plurality of applications;

a network;

a processor communicatively coupled to the resource through the network; and

a connection rate control processing subsystem, executable by the processor, configured to receive an initial user request to access data stored at a resource, the initial user request generated by an application of the plurality of applications having access to the resource; utilize an existing connection from the application to provide the data to the application;

receive a current user request to access data at the resource and determine the existing connection is unavailable, assign the current user request to a waiter queue;

and determine that a number of requests assigned to the waiter queue during a pre-defined time period exceeds a threshold.

18. The system of claim 17 , wherein the resource stores transaction data and user data.

19. A non-transitory machine-readable storage medium having instructions embodied thereon, the instructions executable by one or more processors for performing a method comprising:

receiving an initial user request to access data stored at a resource, the initial user request generated by an application of a plurality of applications having access to the resource;

utilizing an existing connection from the application to provide the data to the application;

receiving a current user request to access data stored at the resource;

based on a determination that the existing connection is unavailable, assigning the current user request to a waiter queue;

determining that a number of requests assigned to the waiter queue during a pre-defined time period exceed a threshold; and

creating a new connection from the application to the resource based on the availability of a further connection to the resource and exceeding the threshold to control a rate at which new connections are created.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the resource stores transaction data and user data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 036170/0248 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2013
From: KASTEN, CHRISTOPHER J.; CHERNYSHEV, IGOR
To: EBAY INC.
Reel/Frame 030126/0441 →