IP Library Granted Patent US 8,650,224
Granted Patent B2
US 8,650,224 · App. 13/603,065 · Granted Feb 11, 2014

Batching content management operations to facilitate efficient database interactions

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,650,224
App. No.
13/603,065
Granted
Feb 11, 2014
Kind
B2
Abstract

Batching content management operations to facilitate efficient database interactions is disclosed. Two or more content management-related requests are received. The two or more content management-related requests are treated as a batch, including by formulating and sending to a database in a single database interaction a grouped request to add, delete, or modify each of a plurality of database records.

Claims (50)

1. A method for managing stored content, comprising:

receiving and storing two or more content management-related requests originally assigned to be processed together as part of a batch, wherein a batch of content management-related requests comprises requests that are sent to a database before a change to the database corresponding to the requests is committed;

after receiving the two or more content management-related requests, receiving an additional content management-related request originally assigned to be processed together with the two or more content management-related requests as part of the batch;

using a processor to determine whether the received additional content management-related request has a dependency upon at least one of the stored content management-related requests; and

in response to determining that the received additional content management-related request has a dependency upon at least one of the stored content management-related requests, processing only the two or more content management-related requests together as the batch, comprising:

performing the two or more content management-related stored requests as the batch, including by formulating and sending to the database in a single database interaction a grouped request to add, delete, or modify database records of the database; and

delaying to perform the additional content management-related request and any later content management-related requests after the two or more content management-related requests are performed.

2. The method of claim 1 , further comprising receiving from a requesting entity with which the two or more content management-related requests are associated an indication that the two or more content management-related requests are associated.

3. The method of claim 2 , wherein the indication comprises an explicit indication that the two or more content management-related requests comprise a batch.

4. The method of claim 1 , wherein processing only the two or more content management-related requests together as the batch is performed in the event it is determined to flush the stored content management-related requests even if an end of the batch has not been reached or indicated.

5. The method of claim 1 , further comprising:

using a processor to determine whether a query is received, wherein the query implicates an object that is affected by an as yet unperformed stored request; and

in response to receiving the query, processing only the two or more content management-related requests together as the batch.

6. The method of claim 1 , further comprising:

using a processor to determine whether an indication that a memory being used to store the content management-related requests is full or nearly full; and

in response to receiving the indication, processing only the two or more content management-related requests together as the batch.

7. A content management system, comprising:

a communication interface configured to receive two or more content management-related requests originally assigned to be processed together as part of a batch, wherein a batch of content management-related requests comprises requests that are sent to a database before a change to the database corresponding to the requests is committed; and

a processor configured to:

store the received content management-related requests;

after receiving the two or more content management-related requests, receive an additional content management-related request originally assigned to be processed together with the two or more content management-related requests as part of the batch;

determine whether the received additional content management-related request has a dependency upon at least one of the content management-related stored requests; and

in response to determining that the received additional content management-related request has a dependency upon at least one of the stored content management-related requests, process only the two or more content management-related requests together as the batch, comprising:

perform the two or more content management-related requests as the batch, including by formulating and sending to the database in a single database interaction a grouped request to add, delete, or modify f database records of the database; and

delay to perform the additional content management-related request and any later content management-related requests after the two or more content management-related requests are performed.

8. The content management system of claim 7 , wherein the processor is further configured to receive from a requesting entity with which the two or more content management-related requests are associated an indication that the two or more content management-related requests are associated.

9. The content management system of claim 8 , wherein the indication comprises an explicit indication that the two or more content management-related requests comprise a batch.

10. The content management system of claim 7 , wherein treating the two or more content management-related requests as a batch is performed in the event it is determined to flush the stored content management-related requests even if an end of the batch has not been reached or indicated.

11. The content management system of claim 7 , wherein the processor is further configured to:

determine whether a query is received, wherein the query implicates an object that is affected by an as yet unperformed stored request; and

in response to receiving the query, process only the two or more content management-related requests together as the batch.

12. The content management system of claim 7 , wherein the processor is further configured to:

determine whether an indication that a memory being used to store the content management-related requests is full or nearly full; and

in response to receiving the indication, process only the two or more content management-related requests together as the batch.

13. A computer program product for managing stored content, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving and storing two or more content management-related requests originally assigned to be processed together as part of a batch, wherein a batch of content management-related requests comprises requests that are sent to a database before a change to the database corresponding to the requests is committed;

after receiving the two or more content management-related requests, receiving an additional content management-related request originally assigned to be processed together with the two or more content management-related requests as part of the batch;

determining whether the received additional content management-related request has a dependency upon at least one of the stored content management-related requests; and

in response to determining that the received additional content management-related request has a dependency upon at least one of the stored content management-related requests, processing only the two or more content management-related requests together as the batch, comprising:

performing the two or more content management-related requests as the batch, including by formulating and sending to the database in a single database interaction a grouped request to add, delete, or modify database records of the database; and

delaying to perform the additional content management-related request and any later content management-related requests after the two or more content management-related requests are performed.

14. The computer program product recited in claim 13 , further comprising computer instructions for receiving from a requesting entity with which the two or more content management-related requests are associated an indication that the two or more content management-related requests are associated.

15. The computer program product recited in claim 14 , wherein the indication comprises an explicit indication that the two or more content management-related requests comprise a batch.

16. The computer program product of claim 13 , wherein treating the two or more content management-related requests as a batch is performed in the event it is determined to flush the stored content management-related requests even if an end of the batch has not been reached or indicated.

17. The computer program product of claim 13 , further comprising computer instructions for:

determining whether a query is received, wherein the query implicates an object that is affected by an as yet unperformed stored request; and

in response to receiving the query, processing only the two or more content management-related requests together as the batch.

18. The computer program product of claim 13 , further comprising computer instructions for:

determining whether an indication that a memory being used to store the content management-related requests is full or nearly full; and

in response to receiving the indication, processing only the two or more content management-related requests together as the batch.

Assignments (7)
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 041579/0133 →
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 Sep 4, 2012
From: WEI, SHU-SHANG SAM; KILDAY, ROGER W.; SPIVAK, VICTOR; AMIEL, MEIR; BUCCOLA, DAVID; NOLAND, BRYCE
To: EMC CORPORATION
Reel/Frame 028895/0183 →