IP Library Granted Patent US 6,862,689
Granted Patent B2
US 6,862,689 · App. 09/833,835 · Granted Mar 1, 2005

Method and apparatus for managing session information

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 6,862,689
App. No.
09/833,835
Granted
Mar 1, 2005
Kind
B2
Abstract

A method and apparatus for managing session information. In one embodiment, a communication session is established between a client computer and a server computer. When the client computer and the server computer establish the communication session, the client or the server typically stores information about the communication session, which is referred to as “session information.” The session information is stored in a first log file stored in a persistent volatile memory and in a cache file stored in a volatile memory of the server. The cache file is reconstructed after a server failure by retrieving the session information stored in the first log file.

Claims (47)

1. A method for managing session information in a client-server environment comprising:

(a) establishing a communication session between a client and a server;

(b) storing, by the server, session information associated with the communication session between the client and the server in a first log file stored in a persistent volatile memory;

(c) storing the session information in a cache file stored in a volatile memory of the server; and

(d) reconstructing, by the server, the cache file after a server failure using the session information stored in the first log.

2. The method of claim 1 further comprising the step of identifying the communication session with a session identifier.

3. The method of claim 1 further comprising the step of scanning the session information for statistical purposes.

4. The method of claim 1 further comprising swapping the first log file with a second log file to store the session information when a certain predetermined criteria is met.

5. The method of claim 4 wherein the predetermined criteria further comprises when the size of the first log file exceeds a predefined size.

6. The method of claim 4 wherein the predetermined criteria further comprises when a predetermined amount of time has elapsed.

7. The method of claim 4 further comprising the step of resetting the first log file to an unallocated state.

8. The method of claim 1 further comprising transferring the session information from the cache file stored in the volatile memory to a database located in a persistent mass storage.

9. The method of claim 1 further comprising the steps of:

(e) serializing multiple requests from a client; and

(f) updating the session information for each request.

10. The method of claim 9 wherein step (f) further comprises the step of:

(f-a) creating the session information for each request.

11. The method of claim 1 wherein step (d) further comprises the steps of:

(d-a) locking the server;

(d-b) transferring the session information stored in the first log file to the cache file;

(d-c) transferring the session information in the cache file to a database stored in the persistent volatile memory;

(d-d) deleting the first log file; and

(d-e) scanning the database to recreate information stored in a data structure, wherein the information stored in the data structure comprises an index of the cache file.

12. The method of claim 1 further comprising the step of locking the server.

13. A session storage manager for managing session information in a client-server environment, the session storage manager comprising:

(a) a persistent volatile memory;

(b) a first log file, stored in the persistent volatile memory, containing session information;

(c) a record cache storing a record of session information;

(d) an execution thread appending the session information stored in the record cache to the first log file;

(e) a database cache storing the session information after the session information has been stored in the first log file;

wherein the session storage manager reconstructs the database cache after a server failure using the session information stored in the first log file.

14. The session storage manager of claim 13 further comprising:

(f) a volatile memory;

(g) a persistent mass storage;

(h) a database having an address space in the persistent mass storage and in communication with the execution thread; and

(i) a flushing thread transferring the session information stored in the database cache to the database.

15. The session storage manager of claim 14 wherein the record cache is stored in the volatile memory.

16. The session storage manager of claim 14 wherein the record cache prevents partial writes of the session information to the database by the flushing thread.

17. The session storage manager of claim 14 wherein the record cache further comprises at least one of a record length, a start magic number, a data length, a database offset, data, and an end magic number.

18. The session storage manager of claim 17 wherein the start magic number and the end magic number are used to verify the validity of the contents of at least one of the record length, the data length, the database offset, and the data.

19. The session storage manager of claim 14 wherein the database further comprises at least one of an allocated block containing active session information, an unallocated block available to store the session information, free memory space, and an offset to the free memory space available to store the session information.

20. The session storage manager of claim 14 wherein the persistent mass storage further comprises the persistent volatile memory.

21. A session storage manager for managing session information in a client-server environment, the session storage manager comprising:

(a) means for establishing a communication session between a client and a server;

(b) means for storing, by the session storage manager, session information for the communication session to a first log file stored in a persistent volatile memory;

(c) means for storing the session information in a cache file stored in a volatile memory; and

(d) means for reconstructing, by the session storage manager, the cache file using the session information stored in the first log.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057254/0557) Recorded Aug 29, 2022
From: CERBERUS BUSINESS FINANCE AGENCY, LLC
To: STRATUS TECHNOLOGIES IRELAND LIMITED; STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 061354/0599 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 9, 2021
From: STRATUS TECHNOLOGIES IRELAND LIMITED; STRATUS TECHNOLOGIES BERMUDA LTD.
To: CERBERUS BUSINESS FINANCE AGENCY, LLC, AS COLLATERAL AGENT
Reel/Frame 057254/0557 →
SECURITY INTEREST Recorded Apr 3, 2020
From: STRATUS TECHNOLOGIES IRELAND LIMITED
To: TRUST BANK (AS SUCCESSOR BY MERGER TO SUNTRUST BANK)
Reel/Frame 052316/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: STRATUS TECHNOLOGIES BERMUDA LTD.
To: STRATUS TECHNOLOGIES IRELAND LTD.
Reel/Frame 052210/0411 →
SECURITY INTEREST Recorded Apr 28, 2014
From: STRATUS TECHNOLOGIES BERMUDA LTD.
To: SUNTRUST BANK
Reel/Frame 032776/0595 →
RELEASE OF PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Apr 28, 2014
From: WILMINGTON TRUST NATIONAL ASSOCIATION; SUCCESSOR-IN-INTEREST TO WILMINGTON TRUST FSB AS SUCCESSOR-IN-INTEREST TO DEUTSCHE BANK TRUST COMPANY AMERICAS
To: STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 032776/0536 →
RELEASE OF SUPER PRIORITY PATENT SECURITY AGREEMENT Recorded Apr 28, 2014
From: JEFFERIES FINANCE LLC
To: STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 032776/0555 →
RELEASE OF INDENTURE PATENT SECURITY AGREEMENT Recorded Apr 28, 2014
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 032776/0579 →