IP Library › Granted Patent US 9,497,247
Granted Patent B2
US 9,497,247 · App. 11/559,594 · Granted Nov 15, 2016

Transferring session state information between two or more web-based applications of a server system

Inventors: Gregory A. Fox (Oak Point, TX); Timothy T. Tye (Wylie, TX)
Assignee: CA, Inc.
H04L67/02H04L67/14H04L67/142H04L67/148
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,497,247
App. No.
11/559,594
Granted
Nov 15, 2016
Kind
B2
Abstract

In certain embodiments, a method for transferring session state information between web applications comprises receiving control of a first session from a first web application via a second session with the first web application. The first session comprises interaction between a browser and a first web application and is associated with session state information for the first session. The method further comprises receiving from the first web application via the second session at least a portion of the session state information for the first session. The method further comprises storing, in a first message queue using a first message service, at least a portion of the session state information for the first session received from the first application, a first message key being generated for the stored session state information for the first session and stored in association with the stored session state information for the first session.

Claims (103)

1. A system for transferring session state information between web applications, comprising:

one or more computing devices operable to execute:

a first web application operable to:

interact with a browser via a first session, the first session associated with session state information for the first session; and

transfer control of the first session; and

a second web application operable to:

receive the control of the first session from the first web application via a second session with the first web application;

receive from the first web application via the second session at least a portion of the session state information for the first session;

initiate, in response to receiving from the first web application via the second session the at least a portion of the session state information for the first session, generation of a first message key for the session state information for the first session received from the first web application; and

store, in a first message queue using a first message service, at least a portion of the session state information for the first session received from the first web application, the first message key for the stored session state information for the first session being stored in association with the stored session state information for the first session.

2. The system of claim 1 , wherein:

the second web application is operable to:

determine to display a new web page in the browser; and

notify the first web application via the second session that the new web page is available; and

the first web application is operable to communicate via the first session a notification to the browser that the new web page is available, the notification comprising the first message key.

3. The system of claim 2 , wherein the second web application is operable to:

receive from the browser via a third session a request for the new web page, the request comprising the first message key;

retrieve, based on the first message key, the session state information stored in the first message queue from the first message queue using the first message service; and

communicate via the third session the new web page to the browser for display.

4. The system of claim 3 , wherein:

the second web application is operable to:

store session state information for the third session; and

return control of interaction with the browser to the first web application; and

the first web application is operable to:

receive from the second web application via the second session at least a portion of the session state information for the third session; and

store, in a second message queue using a second message service, at least a portion of the session state information for the third session received from the second application, a second message key being generated for the stored session state information for the third session and stored in association with the stored session state information for the third session.

5. The system of claim 4 , wherein the first web application is operable to:

determine to display a second new web page in the browser;

receive from the browser via the first session a request for the second new web page, the request for the second new web page comprising the second message key;

retrieve, based on the second message key, the session state information stored in the second message queue from the second message queue using the second message service; and

communicate the second new web page to the browser for display.

6. The system of claim 4 , wherein one or more of the following is true:

the first message queue and the second message queue comprise the same message queue; and

the first message service and the second message service comprise the same message service.

7. The system of claim 1 , wherein the first web application and the second web application are associated with distinct application servers.

8. The system of claim 1 , wherein the message service comprises a Java Message Service (JMS).

9. The system of claim 1 , wherein one or more of the first and second web applications comprise JAVA applications.

10. The system of claim 1 , wherein one or more of the first and second sessions comprise a hypertext transfer protocol (HTTP) session.

11. The system of claim 1 , wherein the notification communicated to the browser comprises a uniform resource locator (URL) of the new web page, the URL comprising the first message key.

12. A method for transferring session state information between web applications, comprising:

receiving control of a first session from a first web application via a second session with the first web application, the first session comprising interaction between a browser and a first web application and being associated with session state information for the first session;

receiving from the first web application via the second session at least a portion of the session state information for the first session;

initiating, in response to receiving from the first web application via the second session the at least a portion of the session state information for the first session, generation of a first message key for the session state information for the first session received from the first web application; and

storing, in a first message queue using a first message service, at least a portion of the session state information for the first session received from the first web application, the first message key for the stored session state information for the first session being stored in association with the stored session state information for the first session.

13. The method of claim 12 , comprising:

determining to display a new web page in the browser; and

notifying the first web application via the second session that the new web page is available, the first web application operable to communicate via the first session a notification to the browser that the new web page is available, the notification comprising the first message key.

14. The method of claim 13 , comprising:

receiving from the browser via a third session a request for the new web page, the request comprising the first message key;

retrieving, based on the first message key, the session state information stored in the first message queue from the first message queue using the first message service; and

communicating via the third session the new web page to the browser for display.

15. The method of claim 14 , wherein:

the method comprises:

storing session state information for the third session; and

returning control of interaction with the browser to the first web application; and

the first web application operable to:

receive from the second web application via the second session at least a portion of the session state information for the third session; and

store, in a second message queue using a second message service, at least a portion of the session state information for the third session received from the second application, a second message key being generated for the stored session state information for the third session and stored in association with the stored session state information for the third session.

16. The method of claim 15 , wherein the first web application is operable to:

determine to display a second new web page in the browser;

receive from the browser via the first session a request for the second new web page, the request for the second new web page comprising the second message key;

retrieve, based on the second message key, the session state information stored in the second message queue from the second message queue using the second message service; and

communicate the second new web page to the browser for display.

17. The method of claim 15 , wherein one or more of the following is true:

the first message queue and the second message queue comprise the same queue; and

the first message service and the second message service comprise the same message service.

18. The method of claim 12 , wherein the first web application and the second web application are associated with distinct application servers.

19. The method of claim 12 , wherein the message service comprises a Java Message Service (JMS).

20. The method of claim 12 , wherein one or more of the first and second web applications comprise JAVA applications.

21. The method of claim 12 , wherein one or more of the first and second sessions comprise a hypertext transfer protocol (HTTP) session.

22. The method of claim 12 , wherein the notification communicated to the browser comprises a uniform resource locator (URL) of the new web page, the URL comprising the first message key.

23. A non-transitory computer-readable storage medium encoded with software for transferring session state information between web applications, the software when executed operable to:

receive control of a first session from a first web application via a second session with the first web application, the first session comprising interaction between a browser and a first web application and being associated with session state information for the first session;

receive from the first web application via the second session at least a portion of the session state information for the first session;

initiate, in response to receiving from the first web application via the second session the at least a portion of the session state information for the first session, generation of a first message key for the session state information for the first session received from the first web application; and

store, in a first message queue using a first message service, at least a portion of the session state information for the first session received from the first web application, the first message key for the stored session state information for the first session being stored in association with the stored session state information for the first session.

24. The non-transitory computer-readable storage medium of claim 23 , wherein the software when executed is operable to:

determine to display a new web page in the browser; and

notify the first web application via the second session that the new web page is available, the first web application operable to communicate via the first session a notification to the browser that the new web page is available, the notification comprising the first message key.

25. The non-transitory computer-readable storage medium of claim 24 , wherein the software when executed is operable to:

receive from the browser via a third session a request for the new web page, the request comprising the first message key;

retrieve, based on the first message key, the session state information stored in the first message queue from the first message queue using the first message service; and

communicate via the third session the new web page to the browser for display.

26. The non-transitory computer-readable storage medium of claim 25 , wherein:

the software when executed is operable to:

store session state information for the third session; and

return control of interaction with the browser to the first web application; and

the first web application operable to:

receive from the second web application via the second session at least a portion of the session state information for the third session; and

store, in a second message queue using a second message service, at least a portion of the session state information for the third session received from the second application, a second message key being generated for the stored session state information for the third session and stored in association with the stored session state information for the third session.

27. The non-transitory computer-readable storage medium of claim 26 , wherein the first web application is operable to:

determine to display a second new web page in the browser;

receive from the browser via the first session a request for the second new web page, the request for the second new web page comprising the second message key;

retrieve, based on the second message key, the session state information stored in the second message queue from the second message queue using the second message service; and

communicate the second new web page to the browser for display.

28. The non-transitory computer-readable storage medium of claim 26 , wherein one or more of the following is true:

the first message queue and the second message queue comprise the same queue; and

the first message service and the second message service comprise the same message service.

29. The non-transitory computer-readable storage medium of claim 23 , wherein the first web application and the second web application are associated with distinct application servers.

30. The non-transitory computer-readable storage medium of claim 23 , wherein the message service comprises a Java Message Service (JMS).

31. The non-transitory computer-readable storage medium of claim 23 , wherein one or more of the first and second web applications comprise JAVA applications.

32. The non-transitory computer-readable storage medium of claim 23 , wherein one or more of the first and second sessions comprise a hypertext transfer protocol (HTTP) session.

33. The non-transitory computer-readable storage medium of claim 23 , wherein the notification communicated to the browser comprises a uniform resource locator (URL) of the new web page, the URL comprising the first message key.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 039291/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2006
From: FOX, GREGORY A; TYE, TIMOTHY T
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 018517/0663 →
Continuity (2)
Provisional Application 60779615 · Mar 6, 2006
Related Publication 20070208862A1 · Sep 6, 2007