IP Library Granted Patent US 9,686,208
Granted Patent B2
US 9,686,208 · App. 14/734,318 · Granted Jun 20, 2017

Stateless services in content management clients

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,686,208
App. No.
14/734,318
Granted
Jun 20, 2017
Kind
B2
Abstract

Techniques to provide stateless services in a content management client are disclosed. A session manager is instantiated to service a request to access a content item. The session manager is used to obtain from a global session pool that is not specific to the session manager a session to service the request. The session is used to service the request. Once the request has been completed the session manager may be terminated, but the global session pool and associated object cache remain.

Claims (54)

1. A method, comprising:

receiving a request to access a content item;

in response to receiving the request to access the content item, instantiating a first session manager to service the request to access the content item, wherein the first session manager is one of a plurality of session managers associated with a global session pool;

retrieving, from the global session pool, a session to service the request to access the content item;

using the session to service the request to access the content item;

storing, in a global object cache, the content item that is retrieved via the session; and

releasing the session to the global session pool in the event that servicing of the request to access the content item is complete, wherein the global session pool survives termination of the session.

2. The method of claim 1 , further comprising:

in the event that servicing of the request to access the content item is complete, terminating the first session manager.

3. The method of claim 1 , wherein the global session pool is not specific only to the first session manager.

4. The method of claim 1 , wherein the session is used to retrieve the content item from a repository.

5. The method of claim 1 , wherein the global object cache is associated with the global session pool.

6. The method of claim 5 , wherein the global object cache is associated with the global session pool such that objects of the global object cache are available to other session managers of the plurality of session managers associated with the global session pool.

7. The method of claim 1 , wherein the global object cache survives termination of the first session manager.

8. The method of claim 1 , wherein the global object cache survives termination of the first session manager such that objects retrieved in connection with servicing of the request that are stored in the global object cache are available to other session managers associated with the global session pool.

9. The method of claim 1 , further comprising:

receiving a subsequent request to access the content item;

in response to receiving the subsequent request to access the content item, instantiating a second session manager to service the subsequent request to access the content item;

retrieving, from the global session pool, the session that was released to the global session pool by the first session manager; and

using the session to service the subsequent request to access the content item.

10. The method of claim 1 , further comprising selecting the session to service the request based at least in part on an attribute of the session.

11. The method of claim 1 , further comprising selecting the session to service the request based at least in part on an attribute associated with the request.

12. A content management client system, comprising:

a communication interface; and

a processor coupled to the communication interface and configured to:

receive a request to access a content item;

in response to the request to access the content item being received, instantiate a first session manager to service the request to access the content item, wherein the first session manager is one of a plurality of session managers associated with a global session pool;

retrieve, from the global session pool, a session to service the request to access the content item;

use the session to service the request to access the content item, at least in part by using the session to communicate via the communication interface;

store, in a global object cache, the content item that is retrieved via the session; and

releasing the session to the global session pool in the event that servicing of the request to access the content item is complete, wherein the global session pool survives termination of the session.

13. The system of claim 12 , wherein the processor is further configured to:

in the event that servicing of the request to access the content item is complete, terminating the first session manager.

14. The system of claim 12 , wherein the global session pool is not specific only to the first session manager.

15. The system of claim 12 , wherein the global object cache is associated with the global session pool.

16. The system of claim 15 , wherein the global object cache is associated with the global session pool such that objects of the global object cache are available to other session managers of the plurality of session managers associated with the global session pool.

17. The system of claim 12 , wherein the global object cache survives termination of the first session manager.

18. The system of claim 17 , wherein the global object cache survives termination of the first session manager such that objects retrieved in connection with servicing of the request that are stored in the global object cache are available to other session managers associated with the global session pool.

19. The system of claim 12 , wherein the processor is further configured to:

receive a subsequent request to access the content item;

in response to receiving the subsequent request to access the content item, instantiate a second session manager to service the subsequent request to access the content item;

retrieve, from the global session pool, the session that was released to the global session pool by the first session manager; and

use the session to service the subsequent request to access the content item.

20. The system of claim 12 , wherein the processor is further configured to select the session to service the request based at least in part on an attribute of the session.

21. The system of claim 12 , wherein the processor is further configured to select the session to service the request based at least in part on an attribute associated with the request.

22. The system of claim 12 , wherein the processor is further configured to use the session to retrieve the content item from a repository.

23. A computer program product to provide access to content, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a request to access a content item;

in response to receiving the request to access the content item, instantiating a first session manager to service the request to access the content item, wherein the first session manager is one of a plurality of session managers associated with a global session pool;

retrieving, from the global session pool, a session to service the request to access the content item;

using the session to service the request to access the content item;

storing, in a global object cache, the content item that is retrieved via the session; and

releasing the session to the global session pool in the event that servicing of the request to access the content item is complete, wherein the global session pool survives termination of the session.

24. The computer program product of claim 23 , further comprising computer instructions for using the session to retrieve the content item from a repository.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0805) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT CORPORATION
Reel/Frame 067807/0069 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT CORPORATION
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0008 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0831 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0839 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0805 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041141/0218 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2015
From: KAUSHIK, SHREYAS SATYANAND; BALI, SIDDARAM SIDDANNA; WEI, SHU-SHANG SAM
To: EMC CORPORATION
Reel/Frame 035866/0949 →