IP Library Granted Patent US 8,984,142
Granted Patent B2
US 8,984,142 · App. 12/650,142 · Granted Mar 17, 2015

Methods, apparatuses and computer program products for facilitating remote session pooling

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,984,142
App. No.
12/650,142
Granted
Mar 17, 2015
Kind
B2
Abstract

An apparatus is provided for generating a pool of remote session references that may be utilized to establish authenticated sessions. The apparatus includes a processor configured to generate remote session references that may be maintained in a pool. The remote session references may include information used to establish authenticated sessions with a secure device. The processor is also configured to determine whether a remote session reference(s) of the pool may be borrowed in response to receipt of a request for a resource(s) on the secure device. Additionally, the processor may perform a test on a borrowed remote session reference when a determination reveals that one of the remote session references may be borrowed. The processor may also provide the secure device with the borrowed remote session reference and a request for the resource(s) in response to determining that the test passed. Corresponding computer program products and methods are also provided.

Claims (78)

1. A method comprising:

generating two or more remote session references that are maintained in a pool, the remote session references comprise information that is utilized to establish one or more respective authenticated sessions with a secure device;

determining whether at least one of the remote session references is borrowable from the pool in response to receipt of a request for one or more resources on the secure device;

performing, via a processor, a test on a borrowed remote session reference when the determination reveals that at least one of the remote session references is borrowable from the pool;

providing the secure device with the borrowed remote session reference and a request for the resources in response to determining that the test passed;

returning the borrowed remote session reference to the pool in response to receipt of the resources from the secure device;

generating a new remote session reference by copying a prototype remote session reference in response to the determination revealing that at least one remote session reference is not borrowable from the pool;

borrowing the new remote session reference from the pool;

performing the test on the new remote session reference;

providing the secure device with the new remote session reference and the request for the resources in response to determining that the test passed;

establishing an authenticated session with the secure device based at least in part on the new remote session reference; and

returning the new remote session reference to the pool in response to receipt of the resources from the secure device.

2. The method of claim 1 , wherein prior to returning the borrowed remote session reference the method further comprises:

establishing an authenticated session with the secure device based at least in part on the borrowed remote session reference, and wherein

returning the borrowed remote session reference further comprises returning the borrowed remote session reference to the pool of two or more remote session references to enable usage of the borrowed remote session reference to establish another authenticated session.

3. The method of claim 2 , further comprising providing at least a portion of the resources to another device.

4. The method of claim 1 , wherein generating the remote session references comprises copying a prototype remote session reference a number of times to obtain a minimum number of remote session references that are defined for the pool.

5. The method of claim 4 , wherein the prototype remote session reference comprises information associated with at least one of a host name of the secure device, a port number of the secure device, a name of an application on the secure device, a username and a password, wherein the username and password are utilized by the secure device to authenticate a user.

6. The method of claim 1 , further comprising:

creating one or more groups in the pool, each of the groups comprises at least one remote session reference;

assigning the same username and password to at least one of the groups; and

assigning the same rights and privileges to the remote session reference in the at least one group.

7. The method of claim 1 , further comprising providing at least a portion of the resources to another device.

8. The method of claim 1 , wherein the test comprises determining whether the borrowed remote session reference is currently authenticated by sending a keep-alive signal to the secure device and determining whether a confirmation or an expected response is received from the secure device within a predetermined time period, wherein the method further comprises:

sending a logon form to the secure device, the logon form comprises information identifying a username and password, the secure device uses the username and password to authenticate the borrowed remote session reference when the confirmation or the expected response is not received within the predetermined time period.

9. The method of claim 1 , wherein the test is performed periodically during one or more time periods which each have a duration that is less than a duration of a time period for deactivating an inactive session and wherein the method further comprises:

removing at least one of the remote session references that have not been used to establish an authenticated session with the secure device for a predetermined time period.

10. The method of claim 1 , wherein generating the remote session references further comprises, automatically generating the remote session references upon startup of an apparatus.

11. An apparatus comprising:

at least one processor; and

at least one memory including computer program code configured to, with the at least one processor, cause the apparatus to:

generate two or more remote session references that are maintained in a pool, the remote session references comprise information that is utilized to establish one or more respective authenticated sessions with a secure device;

determine whether at least one of the remote session references is borrowable from the pool in response to receipt of a request for one or more resources on the secure device;

perform a test on a borrowed remote session reference when the determination reveals that at least one of the remote session references is borrowable from the pool;

provide the secure device with the borrowed remote session reference and a request for the resources in response to determining that the test passed;

return the borrowed remote session reference to the pool in response to receipt of the resources from the secure device;

generate a new remote session reference by copying a prototype remote session reference in response to the determination revealing that at least one remote session reference is not borrowable from the pool;

borrow the new remote session reference from the pool;

perform the test on the new remote session reference;

provide the secure device with the new remote session reference and the request for the resources in response to determining that the test passed;

establish an authenticated session with the secure device based at least in part on the new remote session reference; and

return the new remote session reference to the pool in response to receipt of the resources from the secure device.

12. The apparatus of claim 11 , wherein prior to return the borrowed remote session reference, the memory and computer program code are configured to, with the processor, cause the apparatus to:

establish an authenticated session with the secure device based at least in part on the borrowed remote session reference; and

return the borrowed remote session reference by returning the borrowed remote session reference to the pool of two or more remote session references to enable usage of the borrowed remote session reference to establish another authenticated session.

13. The apparatus of claim 12 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

provide at least a portion of the resources to another device.

14. The apparatus of claim 11 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

generate the remote session references by copying a prototype remote session reference a number of times to obtain a minimum number of remote session references that are defined for the pool.

15. The apparatus of claim 11 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

create one or more groups in the pool, each of the groups comprises at least one remote session reference;

assign the same username and password to at least one of the groups; and

assign the same rights and privileges to the remote session reference in the at least one group.

16. The apparatus of claim 11 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

provide at least a portion of the resources to another device.

17. The apparatus of claim 11 , wherein the test comprises determining whether the borrowed remote session reference is currently authenticated and wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

perform the test by sending a keep-alive signal to the secure device and determine whether a confirmation or an expected response is received from the secure device within a predetermined time period: and

send a logon form to the secure device, the logon form comprises information identifying a username and password, the secure device uses the username and password to authenticate the borrowed remote session reference when the confirmation or the expected response is not received within the predetermined time period.

18. The apparatus of claim 11 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

perform the test periodically during one or more time periods which each have a duration that is less than a duration of a time period for deactivating an inactive session; and

remove at least one of the remote session references that have not been used to establish an authenticated session with the secure device for a predetermined time period.

19. The apparatus of claim 11 , wherein the memory and computer program code are configured to, with the processor, cause the apparatus to:

automatically generate the remote session references upon startup of the apparatus.

20. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer executable program code instructions comprising:

program code instructions for generating two or more remote session references that are maintained in a pool, the remote session references comprise information that is utilized to establish one or more respective authenticated sessions with a secure device;

program code instructions for determining whether at least one of the remote session references is borrowable from the pool in response to receipt of a request for one or more resources on the secure device;

program code instructions for performing a test on a borrowed remote session reference when the determination reveals that at least one of the remote session references is borrowable from the pool;

program code instructions for providing the secure device with the borrowed remote session reference and a request for the resources in response to determining that the test passed; and

program code instructions for returning the borrowed remote session reference to the pool in response to receipt of the resources from the secure device;

program code instructions for generating a new remote session reference by copying a prototype remote session reference in response to the determination revealing that at least one remote session reference is not borrowable from the pool;

program code instructions for borrowing the new remote session reference from the pool;

program code instructions for performing the test on the new remote session reference;

program code instructions for providing the secure device with the new remote session reference and the request for the resources in response to determining that the test passed;

program code instructions for establishing an authenticated session with the secure device based at least in part on the new remote session reference; and

program code instructions for returning the new remote session reference to the pool in response to receipt of the resources from the secure device.

21. The computer program product of claim 20 , wherein prior to returning the borrowed remote session reference the computer program product further comprises:

program code instructions for establishing an authenticated session with the secure device based at least in part on the borrowed remote session reference, and wherein

returning the borrowed remote session reference further comprises returning the borrowed remote session reference to the pool of two or more remote session references to enable usage of the borrowed remote session reference to establish another authenticated session.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE RESOURCES, LLC (FORMERLY KNOWN AS ALTEGRA HEALTH OPERATING COMPANY LLC); CHANGE HEALTHCARE SOLUTIONS, LLC; CHANGE HEALTHCARE PERFORMANCE, INC. (FORMERLY KNOWN AS CHANGE HEALTHCARE, INC.); CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE TECHNOLOGIES, LLC (FORMERLY KNOWN AS MCKESSON TECHNOLOGIES LLC); CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
CHANGE OF NAME Recorded Oct 17, 2012
From: MCKESSON FINANCIAL HOLDINGS LIMITED
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 029141/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2009
From: DICKERSON, ROBERT SCOTT
To: MCKESSON FINANCIAL HOLDINGS LIMITED
Reel/Frame 023719/0290 →