IP Library Granted Patent US 9,519,478
Granted Patent B2
US 9,519,478 · App. 14/516,376 · Granted Dec 13, 2016

Session management in a mixed mode environment

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,519,478
App. No.
14/516,376
Granted
Dec 13, 2016
Kind
B2
Abstract

Systems and methods for managing multiple versions of applications executing on servers in a server pool are provided. A request to generate new session data for a transaction requested by a user is received by a first server executing a first version of an application. A determination is made that the first version of the application is unsuitable to process the request. An identity of a second server executing a second version of the application is requested by the first server in a server pool comprising one or more servers, and an appropriate second server is selected. The first server transmits a hypertext transfer protocol proxy request to the selected second server, which generates the new session data.

Claims (52)

1. An application version management system, comprising:

an application server comprising a non-transitory memory and one or more hardware processors, wherein the non-transitory memory stores a first version of an application, and the one or more hardware processors are coupled to the memory and operable to read instructions from the memory to perform the steps of:

receiving a request to generate new session data for a transaction requested by a user;

determining that the first version of the application is unsuitable to process the request to generate new session data for the transaction requested by the user;

determining an identity of a second server that is executing a second version of the application, the second version being different than the first version; and

transmitting a proxy request to the second server associated with the identity of the second server.

2. The system of claim 1 , wherein the step of determining that the first version of the application is unsuitable to process the request to generate a new session for the transaction by the user further includes:

determining, within in a server pool including the application server, that a number of application servers executing the first version of the application is decreasing; and

determining, within the server pool including the application server, that a percentage of application servers executing the first version of the application is below a threshold.

3. The system of claim 1 , wherein the step of determining an identity of a second server executing the second version of the application further includes:

querying, in response to the determination, a metadata store to identify one or more servers in a server pool that are executing the second version of the application; and

receiving, in response to the query, the identity of the second server from a plurality of servers in the server pool that are executing the second version of the application.

4. The system of claim 3 , wherein the one or more hardware processors are further operable to read instructions from the memory to perform the steps of:

determining an update time of metadata records in the metadata store corresponding to each of the plurality of servers in the server pool, wherein the identity of the second server is determined based on the update time of the metadata record for the second server being of a sufficient recentness.

5. The system of claim 3 , wherein the step of querying a metadata store to identify one or more servers in a server pool that are executing the second version of the application further includes determining that a percentage of application servers in the server pool that are executing the second version of the application is above a threshold.

6. The system of claim 1 , wherein the one or more hardware processors are further operable to read instructions from the memory to perform the step of maintaining statistics comprising at least a number of application servers within a server pool including the application server executing the first version of the application.

7. The system of claim 1 , wherein transmitting the proxy request to the second server associated with the second server identity causes new session data to be generated by the second server associated with the second server identity.

8. The system of claim 1 , wherein the step of determining an identity of a second server that is executing a second version of the application, the second version being different than the first version further includes:

requesting an identity of a second server that is executing a second version of the application, the second version being different than the first version; and

receiving the identity of the second server that is executing the second version of the application.

9. A method for managing multiple versions of applications, comprising:

receiving, at a first server executing a first version of an application, a request to generate new session data for a transaction requested by a user;

determining, by the first server, that the first version of the application is unsuitable to process the request to generate new session data for the transaction requested by the user;

determining, by the first server, an identity of a second server that is executing a second version of the application, the second version being different than the first version; and

transmitting, by the first server, a hypertext transfer protocol proxy request to a second server associated with the second server identity.

10. The method of claim 9 , further comprising:

determining, by the first server and within a server pool including the first server, that a number of application servers executing the first version of the application is decreasing; and

determining, by the first server and within the server pool including the first server, that a percentage of application servers executing the first version of the application is below a threshold.

11. The method of claim 9 , further comprising:

querying, by the first server and in response to the determination, a metadata store to identify one or more servers in a server pool that are executing the second version of the application; and

determining, in response to the query, the identity of the second server from a plurality of servers in the server pool that are executing the second version of the application.

12. The method of claim 11 , wherein the identity of the second server is determined based on a random selection from the plurality of servers in the server pool.

13. The method of claim 11 , further comprising:

determining, by the first server, an update time of metadata records in the metadata store corresponding to each of the plurality of servers in the server pool, wherein the second server is determined based on the update time of the metadata record for the second server being of a sufficient recentness.

14. The method of claim 11 , wherein querying a metadata store to identify one or more servers in a server pool that are executing the second version of the application further includes determining that a percentage of application servers in the server pool that are executing the second version of the application is above a threshold.

15. The method of claim 9 , further comprising maintaining, by the first server, statistics comprising at least a number of application servers within a server pool including the first server executing the first version of the application.

16. The method of claim 9 , wherein transmitting, by the first server, the hypertext transfer protocol proxy request to the second server associated with the second server identity causes new session data to be generated by the second server associated with the second server identity.

17. The method of claim 9 , wherein determining, by the first server an identity of a second server that is executing a second version of the application, the second version being different than the first version further comprises:

requesting, by the first server, an identity of a second server that is executing a second version of the application, the second version being different than the first version; and

receiving, by the first server, the identity of the second server that is executing the second version of the application.

18. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions which, when executed by one or more processors, are adapted to cause the one or more processors to perform a method comprising:

receiving, at a first server executing a first version of an application, a request to generate new session data for a transaction requested by a user;

determining, by the first server, that the first version of the application is unsuitable to process the request to generate new session data for the transaction requested by the user;

requesting, by the first server an identity of a second server that is executing a second version of the application, the second version being different than the first version;

receiving, by the first server, the identity of the second server that is executing the second version of the application; and

transmitting, by the first server, a hypertext transfer protocol proxy request to a second server associated with the second server identity.

19. The non-transitory machine-readable medium of claim 18 , wherein the method further comprises:

determining, by the first server and within a server pool including the first server, that a number of application servers executing the first version of the application is decreasing; and

determining, by the first server and within the server pool including the first server, that a percentage of application servers executing the first version of the application is below a threshold.

20. The non-transitory machine-readable medium of claim 18 , wherein the method further comprises:

querying, by the first server and in response to the determination, a metadata store to identify one or more servers in a server pool that are executing the second version of the application; and

receiving, in response to the query, the identity of the second server from a plurality of servers in the server pool that are executing the second version of the application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 036171/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2015
From: VERDE, BRET; NUTTING, JOHN; HOGGE, RICK
To: EBAY INC.
Reel/Frame 035143/0186 →