IP Library Granted Patent US 7,526,560
Granted Patent B1
US 7,526,560 · App. 09/539,266 · Granted Apr 28, 2009

Method and apparatus for sharing a secure connection between a client and multiple server nodes

Assignee: Oracle International Corporation
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 7,526,560
App. No.
09/539,266
Granted
Apr 28, 2009
Kind
B1
Abstract

One embodiment of the present invention provides a system for sharing a secure communication session with a client between a plurality of servers. The system operates by receiving a message from the client at a first server. This message includes a session identifier, which identifies a secure communication session with the client. If the session identifier does not correspond to an active secure communication session on the first server, the first server establishes an active secure communication session with the client by attempting to retrieve security state information from a second server, which had an active secure communication session with the client. If the first server is able to retrieve this security state information, the first server uses this state information to establish the active secure communication session with the client without having to communicate with the client. If the first server is not able to retrieve this state information, the first server communicates with the client to establish the secure communication session with the client.

Claims (45)

1. A method for sharing a secure communication session, the method comprising,

establishing a secure socket layer (SSL) session between a client and a first server, wherein the first server publishes on a database a set of session state information for the SSL session, and wherein the SSL session state information includes:

an SSL session identifier;

a read key for encrypting communications from the client;

a write key for encrypting communications from the first server;

an encrypted running message digest; and

a message digest key which is used to encrypt the running message digest; and

wherein the first server continually changes the running message digest as messages are sent through the SSL session, and wherein the first server publishes updates to the running message digest to the database;

receiving a message from the client at a second server, wherein the message includes the SSL session identifier which identifies the SSL session between the client and the first server, and wherein the second server contains different content and performs different functions from the first server;

determining that an SSL session corresponding to the received session identifier is not configured on the second server;

querying the database with the received SSL session identifier;

retrieving from the database the SSL session state information which corresponds to the received SSL session identifier and which is published by the first server,

establishing an SSL session between the client and the second server with the same SSL session identifier based on the retrieved SSL session state information; and

using the running message digest to send a second message from the second server to the client through the SSL session without establishing a separate SSL session between the client and the second server.

2. The method of claim 1 , wherein retrieving the running message digest includes authenticating and authorizing the first server.

3. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for sharing a secure communication session, the method comprising:

establishing an SSL session between a client and a first server, wherein the first server publishes on a database a set of session state information for the SSL session, and wherein the SSL session state information includes:

an SSL session identifier;

a read key for encrypting communications from the client;

a write key for encrypting communications from the first server;

an encrypted running message digest; and

a message digest key which is used to encrypt the running message digest; and

wherein the first server continually changes the running message digest as messages are sent through the SSL session, and wherein the first server publishes updates to the running message digest to the database;

receiving a message from the client at a second server, wherein the message includes the SSL session identifier which identifies the SSL session between the client and the first server, and wherein the second server contains different content and performs different functions from the first server;

determining that an SSL session corresponding to the received session identifier is not configured on the second server;

querying the database with the received SSL session identifier;

retrieving from the database the SSL session state information which corresponds to the received SSL session identifier and which is published by the first server; and

establishing an SSL session between the client and the second server with the same SSL session identifier based on the retrieved SSL session state information; and

using the running message digest to send a second message from the second server to the client through the SSL session without establishing a separate SSL session between the client and the second server.

4. The computer-readable storage medium of claim 3 , wherein retrieving the running message digest includes authenticating and authorizing the first server.

5. An apparatus that shares a secure communication session, comprising:

an establishing mechanism configured to establish an SSL session between a client and a first server, wherein the first server publishes on a database a set of session state information for the SSL session, and wherein the SSL session state information includes:

an SSL session identifier;

a read key for encrypting communications from the client;

a write key for encrypting communications from the first server;

an encrypted running message digest; and

a message digest key which is used to encrypt the running message digest; and

wherein the first server continually changes the running message digest as messages are sent through the SSL session, and wherein the first server publishes updates to the running message digest to the database;

a receiving mechanism configured to receive a message from the client at a second server which identifies the SSL session between the client and the first server, wherein the first message includes the SSL session identifier, and wherein the second server contains different content and performs different functions from the first server;

a determination mechanism configured to determine that an SSL session corresponding to the received session identifier is not configured on the second server;

a query mechanism configured to query the database with the received SSL session identifier;

a retrieving mechanism configured to retrieve from the database the SSL session state information which corresponds to the received SSL session identifier and which is published by the first server;

a second establishment mechanism configured to establish an SSL session between the client and the second server with the same SSL session identifier based on the retrieved SSL session state information; and

a sending mechanism configured to use the running message digest to send a second message from the second server to the client through the SSL session without establishing a separate SSL session between the client and the second server.

6. The apparatus of claim 5 , wherein the retrieving mechanism is configured to authenticate and authorize the first server prior to retrieving the running message digest.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2003
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 013737/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2000
From: SAMAR, VIPIN
To: ORACLE CORPORATION
Reel/Frame 010663/0675 →