IP Library Granted Patent US 7,426,642
Granted Patent B2
US 7,426,642 · App. 10/294,370 · Granted Sep 16, 2008

Integrating legacy application/data access with single sign-on in a distributed computing 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 7,426,642
App. No.
10/294,370
Granted
Sep 16, 2008
Kind
B2
Abstract

The present invention provides methods, systems, computer program products, and methods of doing business whereby legacy host application/system access is integrated with single sign-on in a modem distributed computing environment. A security token used for signing on to the modem computing environment is leveraged, and is mapped to user credentials for the legacy host environment. These user credentials are programmatically inserted into a legacy host data stream, thereby giving the end user the look and feel of seamless access to all applications/systems, including not only modem computing applications/systems but also those residing on (or accessible through) legacy hosts. In addition to providing users with the advantages of single sign-on, the disclosed techniques enable limiting the number of user identifiers and passwords an enterprise has to manage.

Claims (73)

1. A method of integrating legacy access with single sign-on in a distributed computing environment, comprising steps of:

establishing a first secure session from a client on a user's workstation to a server, wherein the secure session establishment authenticates the user's identity from identifying information passed from the client;

storing the identifying information in a security token accessible to the server; and

using the identifying information stored in the security token to authenticate the user for access to a legacy host application or system, whereby the authentication occurs programmatically and does not require the user to re-enter his identifying information,

wherein the step of using the identifying information further comprises the steps of:

requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

passing the password substitute and a legacy host identifier of the user to the client on the user workstation;

establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible;

receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream;

returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

2. The method as claimed in claim 1 , wherein the emulator client is downloaded dynamically to the user workstation, responsive to determining that the user wishes to execute legacy host applications and/or systems.

3. The method as claimed in claim 1 , wherein the step of using the identifying information further comprises the steps of:

retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

passing the password and a legacy host identifier of the user to the client on the user workstation;

establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible;

receiving sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream;

returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

4. The method as claimed in claim 1 , wherein the step of using the identifying information further comprises the steps of:

requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

passing the password substitute and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation;

establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible;

receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream;

returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

5. The method as claimed in claim 1 , wherein the step of using the identifying information further comprises the steps of:

retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

passing the password and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation;

establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible;

receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream;

returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

6. A computer program product for integrating legacy access with single sign-on in a distributed computing environment, the computer program product embodied on one or more computer-readable media and comprising:

computer-readable program code means for establishing a first secure session from a client on a user's workstation to a server, wherein the secure session establishment authenticates the user's identity from identifying information passed from the client;

computer-readable program code means for storing the identifying information in a security token accessible to the server; and

computer-readable program code means for using the identifying information stored in the security token to authenticate the user for access to a legacy host application or system, whereby the authentication occurs programmatically and does not require the user to re-enter his identifying information, wherein the computer-readable program code means for using the identifying information further comprises:

computer-readable program code means for requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

computer-readable program code means for passing the password substitute and a legacy host identifier of the user to the client on the user workstation;

computer-readable program code means for establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible;

computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

computer-readable program code means for programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream;

computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

computer-readable program code means for sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

7. The computer program product as claimed in claim 6 , wherein the emulator client is downloaded dynamically to the user workstation, responsive to determining that the user wishes to execute legacy host applications and/or systems.

8. The computer program product as claimed in claim 6 , wherein the computer-readable problem code means for using the identifying information further comprises:

computer-readable program code means for retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

computer-readable program code means for passing the password and a legacy host identifier of the user to the client on the user workstation;

computer-readable program code means for establishing a second secure session between an emulator client operating on the user's workstation and an emulator server on a host where the legacy host application or system will be accessible;

computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

computer-readable program code means for programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream;

computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

computer-readable program code means for sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

9. The computer program product as claimed in claim 6 , wherein the computer-readable program code means for using the identifying information further comprises:

computer-readable program code means for requesting a legacy host access agent to generate a password substitute, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

computer-readable program code means for passing the password substitute and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation;

computer-readable program code means for establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible;

computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

computer-readable program code means for programmatically inserting the password substitute and the legacy host identifier into the sign-on data stream, creating a modified data stream;

computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

computer-readable program code means for sending, by the legacy host application or system, the password substitute and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

10. The computer program product as claimed in claim 6 , wherein the computer-readable program code means for using the identifying information further comprises:

computer-readable program code means for retrieving the user's password from secure storage over a trusted secure connection, based on the user's identifying information from the security token and an identifier of the legacy host application or system;

computer-readable program code means for passing the password and a legacy host identifier of the user to an emulator client at the server, where this emulator client operates as a proxy for the client on the user's workstation;

computer-readable program code means for establishing a second secure session between the emulator client and an emulator server on a host where the legacy host application or system will be accessible;

computer-readable program code means for receiving a sign-on data stream from the legacy host application or system at the emulator client over the second secure session;

computer-readable program code means for programmatically inserting the password and the legacy host identifier into the sign-on data stream, creating a modified data stream;

computer-readable program code means for returning the modified data stream from the emulator client to the emulator server, over the second secure session; and

computer-readable program code means for sending, by the legacy host application or system, the password and the legacy host identifier to the legacy host access agent for transparently authenticating the user.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2016
From: CORAL BAY INNOVATIONS, LLC
To: HULU, LLC
Reel/Frame 038824/0206 →
CHANGE OF NAME Recorded Feb 13, 2015
From: SHORELINE INNOVATIONS, LLC
To: CORAL BAY INNOVATIONS, LLC
Reel/Frame 034992/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SHORELINE INNOVATIONS, LLC
Reel/Frame 034954/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2002
From: AUPPERLE, BRYAN E.; KING, JULIE H.; MUPPIDI, SRIDHAR R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013504/0531 →