IP Library Granted Patent US 9,264,420
Granted Patent B2
US 9,264,420 · App. 14/148,051 · Granted Feb 16, 2016

Single sign-on for 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 9,264,420
App. No.
14/148,051
Granted
Feb 16, 2016
Kind
B2
Abstract

A method may include authenticating a device to a first server, where the device includes an agent; receiving a request, in the first server from a second server, to verify the authenticity of the device, where the device is not authenticated to the second server; sending a browser plug-in to the device to communicate with the agent for verifying the authenticity of the device; receiving, in the first server, a message from the agent verifying the authenticity of the device; and sending a message from the first server to the second server to authenticate the device to the second server.

Claims (103)

1. A method comprising:

transmitting, by a device, a request for a resource to a first server;

receiving, by the device and from the first server based on the transmitted request for the resource, a request for verification of the device;

transmitting, by the device, the request for verification to a second server;

receiving, by the device and from the second server and at a first time, a token based on transmitting the request for verification to the second server,

the token uniquely identifying the request for verification,

the token being transmitted based on the second server creating a record, in a session table, including information associated with the device, and

the second server creating a record, in a token table, including information associated with the token;

using, by the device, the token to identify a session associated with the device,

using the token to identify the session including:

communicating, using the token and between a browser associated with the device and an agent associated with the device, to identify the session;

transmitting, to the second server and at a second time, the token; and

receiving, from the second server and at a third time, confirmation information indicating that the token, transmitted at the second time, was received;

receiving, by the device and from the second server, a verification message based on the session;

transmitting, by the device, the verification message to the first server;

establishing, by the device and based on transmitting the verification message to the first server, the session with the first server; and

receiving, by the device and based on establishing the session, the requested resource from the first server.

2. The method of claim 1 , where, when receiving the token, the method includes:

receiving, from the second server, a plug-in,

the token being included in the plug-in.

3. The method of claim 1 , where the session is identified using at least one of:

a session identifier,

a channel identifier, or

information associated with the device.

4. The method of claim 1 , further comprising:

transmitting, based on using the token to identify the session, a message to the second server,

where the verification message is further based on the transmitted message.

5. The method of claim 1 , further comprising:

receiving, from the first server, identification information,

the identification information being used by the first server to verify another request, from the device, for a resource.

6. The method of claim 1 , further comprising:

receiving, from the first server, identification information,

the identification information being used by the first server to verify, without using the second server, another request, from the device, for a resource.

7. A device comprising:

a memory to store instructions; and

a processor to execute the instructions to:

transmit a request for a resource to a first server;

receive, from the first server based on the transmitted request for the resource, a request for verification of the device;

transmit the request for verification to a second server;

receive, from the second server, a token based on transmitting the request for verification to the second server,

the token uniquely identifying the request for verification,

the token being transmitted based on the second server creating a record, in a session table, including information associated with the device, and

the second server creating a record, in a token table, including information associated with the token;

use the token to identify a session associated with the device,

the processor, when using the token to identify the session, being to:

communicate, using the token and between a browser associated with the device and an agent associated with the device, to identify the session;

transmit, to the second server and at a second time, the token; and

receive, from the second server and at a third time, confirmation information indicating that the token, transmitted at the second time, was received;

receive, from the second server, a verification message based on the session;

transmit the verification message to the first server;

establish, based on transmitting the verification message to the first server, the session with the first server; and

receive, based on establishing the session, the requested resource from the first server.

8. The device of claim 7 , where the processor, when receiving the token, is further to:

receive, from the second server, a plug-in,

the token being included in the plug-in.

9. The device of claim 7 , where the session is identified using at least one of:

a session identifier,

a channel identifier, or

information associated with the device.

10. The device of claim 7 , where the processor is further to:

transmit, based on using the token to identify the session, a message to the second server,

where the verification message is further based on the transmitted message.

11. The device of claim 7 , where the processor is further to:

receive, from the first server, identification information,

the identification information being used by the first server to verify another request, from the device, for a resource.

12. The device of claim 7 , where the processor is further to:

receive, from the first server, identification information,

the identification information being used by the first server to verify, without using the second server, another request, from the device, for a resource.

13. A non-transitory computer readable medium storing instructions, the instructions comprising:

one or more instructions which, when executed by a processor of a device, cause the processor to:

transmit a request for a resource to a first server;

receive, from the first server based on the transmitted request for the resource, a request for verification of the device;

transmit the request for verification to a second server;

receive, from the second server, a token based on transmitting the request for verification to the second server,

the token uniquely identifying the request for verification,

the token being transmitted based on the second server creating a record, in a session table, including information associated with the device, and

the second server creating a record, in a token table, including information associated with the token;

use the token to identify a session associated with the device,

the one or more instructions to use the token to identify the session including:

one or more instructions to communicate, using the token and between a browser associated with the device and an agent associated with the device, to identify the session;

one or more instructions to transmit, to the second server and at a second time, the token; and

one or more instructions to receive, from the second server and at a third time, confirmation information indicating that the token, transmitted at the second time, was received;

receive, from the second server, a verification message based on the session;

transmit the verification message to the first server;

establish, based on transmitting the verification message to the first server, the session with the first server; and

receive, based on establishing the session, the requested resource from the first server.

14. The non-transitory computer readable medium of claim 13 , where the one or more instructions to receive the token include:

one or more instructions to receive, from the second server, a plug-in, the token being included in the plug-in.

15. The non-transitory computer readable medium of claim 13 , where the session is identified using at least one of:

a session identifier,

a channel identifier, or

information associated with the device.

16. The non-transitory computer readable medium of claim 13 , where the instructions further include:

one or more instructions to transmit, based on using the token to identify the session, a message to the second server,

where the verification message is further based on the transmitted message.

17. The non-transitory computer readable medium of claim 13 , where the instructions further include:

one or more instructions to receive, from the first server, identification information, the identification information being used by the first server to verify, without using the second server, another request, from the device, for a resource.

18. The method of claim 1 , further comprising:

transmitting, prior to transmitting the request for the resource, information to the second server to establish a control channel between the device and the second server.

19. The device of claim 7 , where the processor is further to:

transmit, prior to transmitting the request for the resource, information to the second server to establish a control channel between the device and the second server.

20. The non-transitory computer readable medium of claim 13 , where the instructions further include:

one or more instructions to transmit, prior to transmitting the request for the resource, information to the second server to establish a control channel between the device and the second server.

Assignments (10)
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 053269/0339 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
SECURITY INTEREST Recorded May 1, 2017
From: PULSE SECURE, LLC
To: JUNIPER NETWORKS, INC.
Reel/Frame 042197/0822 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2015
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 037232/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2014
From: CHICKERING, ROGER A.; FUNK, PAUL
To: JUNIPER NETWORKS, INC.
Reel/Frame 031903/0478 →