IP Library Granted Patent US 8,423,650
Granted Patent B2
US 8,423,650 · App. 13/173,469 · Granted Apr 16, 2013

Transferring session data between network applications

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,423,650
App. No.
13/173,469
Granted
Apr 16, 2013
Kind
B2
Abstract

In a method for transferring session data from a first application accessible via at least one DNS name in a first DNS domain to a second application accessible via at least one DNS name in a second DNS domain, a computer receives via the first application a first HTTP request from an HTTP client, and in response, the computer establishes a first session with the HTTP client. The computer receives, from the HTTP client, a second HTTP request comprising an identifier of the second application, and in response, the computer stores in a memory a data structure identifiable by a data structure identifier and containing data pertaining to the first session. Responsive to storing the data structure, the computer transmits, to the HTTP client, an HTTP response comprising the data structure identifier, a redirection status code, and a URI comprising a DNS name in the second DNS domain.

Claims (65)

1. A method for transferring session data from a first application accessible via at least one domain name system (DNS) name in a first DNS domain to a second application accessible via at least one DNS name in a second DNS domain, the method comprising the steps of:

a computer receiving via the first application a first hypertext transfer protocol (HTTP) request from an HTTP client;

responsive to receiving the first HTTP request, the computer establishing a first session with the HTTP client;

the computer receiving a second HTTP request from the HTTP client, the second HTTP request comprising an identifier of the second application;

responsive to receiving the second HTTP request, the computer storing in a memory a data structure containing data pertaining to the first session, the data structure identifiable by a data structure identifier; and

responsive to storing in the memory the data structure, the computer transmitting an HTTP response to the HTTP client, the HTTP response comprising the data structure identifier, a redirection status code, and a uniform resource identifier (URI) comprising a DNS name in the second DNS domain.

2. The method of claim 1 , further comprising the steps of:

the computer receiving at a network address defined by the DNS name in the second DNS domain a third HTTP request from the HTTP client, the third HTTP request containing the data structure identifier;

responsive to receiving the third HTTP request, the computer retrieving the data pertaining to the first session using the data structure identifier; and

responsive to retrieving the data pertaining to the first session, the computer transmitting a second HTTP response to the HTTP client, the second HTTP response comprising a redirection status code, a URI comprising a DNS name of the second application, and a cookie comprising at least a portion of the data pertaining to the first session and a domain attribute identifying the second DNS domain.

3. The method of claim 1 , further comprising the steps of:

the computer receiving at a network address defined by the DNS name in the second DNS domain a third HTTP request from the HTTP client, the third HTTP request containing the data structure identifier;

responsive to receiving the third HTTP request, the computer retrieving the data pertaining to the first session using the data structure identifier; and

responsive to retrieving the data pertaining to the first session, the computer transmitting a second HTTP response to the HTTP client, the second HTTP response comprising a redirection status code and a URI comprising a DNS name of the second application and at least a portion of the data pertaining to the first session.

4. The method of claim 1 , wherein the memory is provided by a file system accessible to the computer or a random access memory (RAM) of the computer.

5. The method of claim 1 , wherein the first HTTP request comprises user credential data.

6. The method of claim 1 , wherein the step of the computer establishing the first session with the HTTP client further comprises the computer, responsive to receiving the first HTTP request, transmitting a first HTTP response to the HTTP client, the first HTTP response comprising a cookie containing a domain attribute identifying the first DNS domain.

7. The method of claim 1 , wherein the data pertaining to the first session comprises at least one of: a user identifier, a user password, one or more user selectable options, and a session expiration time.

8. The method of claim 2 , further comprising the step of:

responsive to retrieving the data pertaining to the first session, the computer erasing the data structure from the memory.

9. The method of claim 2 , further comprising the steps of:

the computer receiving at a network address defined by a DNS name of the second application a fourth HTTP request from the HTTP client, the fourth HTTP request containing a cookie comprising at least a portion of the data pertaining to the first session and a domain attribute identifying the second DNS domain; and

responsive to receiving the fourth HTTP request, the computer establishing a second session with the HTTP client.

10. A computer program product for transferring session data from a first application accessible via at least one domain name system (DNS) name in a first DNS domain to a second application accessible via at least one DNS name in a second DNS domain, the computer program product comprising:

one or more computer-readable non-transitory tangible storage devices;

program instructions, stored on at least one of the one or more storage devices, to receive via the first application a first hypertext transfer protocol (HTTP) request from an HTTP client;

program instructions, stored on at least one of the one or more storage devices, to establish a first session with the HTTP client responsive to receiving the first HTTP request;

program instructions, stored on at least one of the one or more storage devices, to receive a second HTTP request from the HTTP client, the second HTTP request comprising an identifier of the second application;

program instructions, stored on at least one of the one or more storage devices, to store in a memory a data structure containing data pertaining to the first session responsive to receiving the second HTTP request, the data structure identifiable by a data structure identifier; and

program instructions, stored on at least one of the one or more storage devices, to transmit an HTTP response to the HTTP client responsive to storing in the memory the data structure, the second HTTP response comprising the data structure identifier, a redirection status code, and a uniform resource identifier (URI) comprising a DNS name in the second DNS domain.

11. The computer program product of claim 10 , further comprising:

program instructions, stored on at least one of the one or more storage devices, to receive at a network address defined by the DNS name in the second DNS domain a third HTTP request from the HTTP client, the third HTTP request containing the data structure identifier;

program instructions, stored on at least one of the one or more storage devices, to retrieve the data pertaining to the first session using the data structure identifier responsive to receiving the third HTTP request; and

program instructions, stored on at least one of the one or more storage devices, to transmit a second HTTP response to the HTTP client responsive to retrieving the data pertaining to the first session, the second HTTP response comprising a redirection status code, a URI comprising a DNS name of the second application, and a cookie comprising at least a portion of the data pertaining to the first session and a domain attribute identifying the second DNS domain.

12. The computer program product of claim 10 , further comprising:

program instructions, stored on at least one of the one or more storage devices, to receive at a network address defined by the DNS name in the second DNS domain a third HTTP request from the HTTP client, the third HTTP request containing the data structure identifier;

program instructions, stored on at least one of the one or more storage devices, to retrieve the data pertaining to the first session using the data structure identifier responsive to receiving the third HTTP request; and

program instructions, stored on at least one of the one or more storage devices, to transmit a second HTTP response to the HTTP client responsive to retrieving the data pertaining to the first session, the second HTTP response comprising a redirection status code and a URI comprising a DNS name of the second application and at least a portion of the data pertaining to the first session.

13. The computer program product of claim 10 , wherein the memory is provided by a file system accessible to the computer or a random access memory (RAM) of the computer.

14. The computer program product of claim 10 , wherein the first HTTP request comprises user credential data.

15. The computer program product of claim 10 , wherein the program instructions to establish the first session with the HTTP client transmit a first HTTP response to the HTTP client responsive to receiving the first HTTP request, the first HTTP response comprising a cookie containing a domain attribute identifying the first DNS domain.

16. The computer program product of claim 10 , wherein the data pertaining to the first session comprises at least one of: a user identifier, a user password, one or more user selectable options, and a session expiration time.

17. The computer program product of claim 10 , further comprising:

program instructions, stored on at least one of the one or more storage devices, to erase the data structure from the memory responsive to retrieving the data pertaining to the first session.

18. A computer system for transferring session data from a first application accessible via at least one domain name system (DNS) name in a first DNS domain to a second application accessible via at least one DNS name in a second DNS domain, the computer system comprising:

one or more processors, one or more computer readable memories and one or more computer-readable non-transitory tangible storage devices;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive via the first application a first hypertext transfer protocol (HTTP) request from an HTTP client;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to establish a first session with the HTTP client responsive to receiving the first HTTP request;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive a second HTTP request from the HTTP client, the second HTTP request comprising an identifier of the second application;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to store in a memory a data structure containing data pertaining to the first session responsive to receiving the second HTTP request, the data structure identifiable by a data structure identifier; and

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to transmit an HTTP response to the HTTP client responsive to storing in the memory the data structure, the HTTP response comprising the data structure identifier, a redirection status code, and a uniform resource identifier (URI) comprising a DNS name in the second DNS domain.

19. The computer system of claim 18 , further comprising:

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive at a network address defined by the DNS name in the second DNS domain a third HTTP request from the HTTP client, the third HTTP request containing the data structure identifier;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the data pertaining to the first session using the data structure identifier responsive to receiving the third HTTP request; and

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to transmit a second HTTP response to the HTTP client responsive to retrieving the data pertaining to the first session, the second HTTP response comprising a redirection status code, a URI comprising a DNS name of the second application, and a cookie comprising at least a portion of the data pertaining to the first session and a domain attribute identifying the second DNS domain.

20. The computer system of claim 18 , further comprising:

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive at a network address defined by the DNS name in the second DNS domain a third HTTP request from the HTTP client, the third HTTP request containing the data structure identifier;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the data pertaining to the first session using the data structure identifier responsive to receiving the third HTTP request; and

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to transmit a second HTTP response to the HTTP client responsive to retrieving the data pertaining to the first session, the second HTTP response comprising a redirection status code and a URI comprising a DNS name of the second application and at least a portion of the data pertaining to the first session.

21. The computer system of claim 18 , wherein the memory is provided by a file system accessible to the computer or a random access memory (RAM) of the computer.

22. The computer system of claim 18 , wherein the first HTTP request comprises user credential data.

23. The computer system of claim 18 , wherein the program instructions to establish the first session with the HTTP client transmit a first HTTP response to the HTTP client responsive to receiving the first HTTP request, the first HTTP response comprising a cookie containing a domain attribute identifying the first DNS domain.

24. The computer system of claim 18 , wherein the data pertaining to the first session comprises at least one of: a user identifier, a user password, one or more user selectable options, and a session expiration time.

25. The computer system of claim 18 , further comprising:

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to erase the data structure from the memory responsive to retrieving the data pertaining to the first session.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WORKDAY, INC.
Reel/Frame 073051/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2011
From: DOLEH, YASER K.; LUCAS, JEFFREY W.; MARZORATI, MAURO; O'CONNELL, BRIAN M.; WALKER, KEITH R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026529/0606 →