Retention framework for data stores
Abstract
Systems, methods and products for performing file retention operations in a system in which a content management system accesses multiple cloud-based data stores that are compliant with a common file transfer protocol, but use different vendor-specific protocols for file retention operations, where a retention framework is coupled between the content management system and the data stores. The content management system performs file access operations by accessing an SDK that generates requests for these operations which follow the common set of protocols. The content management system performs file retention operations by accessing a retention framework that uses the information received from the content management system to identify the targeted file, identify the data store in which the targeted file is stored, and generate a request for a retention operation that is configured according to the data-store-specific retention protocols which correspond to the identified data store.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system for performing retention operations comprising:
a retention framework coupled to a content management system and at least two data stores;
each of the at least two data stores adapted to store content objects owned by the content management system;
each of the at least two data stores adapted to perform a commonly defined set of retention operations;
each of the at least two data stores adapted to receive retention communications via a unique retention interface, each retention interface using a unique protocol;
the retention framework adapted to:
receive a retention command from the content management system, the retention command requesting execution of a retention operation on a designated content object;
identify the content object based on the retention command;
identify a first data store of the at least two data stores, the first data store storing the identified content object;
identify a first retention interface used by the first data store;
generate a store-specific retention request which is compliant with the first retention interface;
communicate the store-specific retention request to the first data store.
2. The system of claim 1 , the content management system adapted to store a plurality of retention objects, wherein each of the retention objects contains a corresponding set of retention operation parameters, each retention objects being selectable to apply the corresponding set of retention operation parameters to one or more selected content objects.
3. The system of claim 1 , wherein the retention framework is adapted to, for each unique retention interface, map input parameters of the retention command received from the content management system to the corresponding generated store-specific retention request.
4. The system of claim 1 , the retention framework further adapted to wait for a communication from the first data store responsive to the store-specific retention request.
5. The system of claim 4 , the retention framework further adapted to parse the communication received from the first data store to determine a status code that indicates success or failure of the retention operation.
6. The system of claim 5 the retention framework further adapted to generate a message to the content management system indicating the success or failure of the retention operation as indicated by the status code.
7. The system of claim 1 , wherein the retention framework comprises a plurality of retention libraries which contain data-store-specific language for generating retention operation requests in compliance with the retention interface protocols of the first data store.
8. The system of claim 1 , the retention framework adapted to communicate with the first data store via a RESTful application programming interface (API).
9. The system of claim 1 , the retention framework adapted to create a signature in the store-specific retention request using credentials received from the content management system.
10. The system of claim 1 , the retention framework adapted to set a retention configuration for the content object in the store-specific retention request.
11. The system of claim 1 , the retention framework adapted to generate an integrity check value for the store-specific retention request, wherein the integrity check value is contained in the store-specific retention request.
12. The system of claim 1 , the retention framework adapted to open a socket connection to the first data store and to communicate the store-specific retention request to the first data store via the socket connection.
13. A method for performing retention operations, the method comprising:
performing, by a content management system, non-retention file access operations on files in at least two data stores, the non-retention file access operations on each of the at least two data stores being performed via accesses to application programming interfaces (APIs) of a corresponding vendor-specific software developer's kit (SDK);
performing, by the content management system, file retention operations on the files in the at least two data stores, the file retention operations on each of the at least two data stores being performed via retention operation requests by the content management system to a common retention framework which is coupled to the content management system and to each of the at least two data stores, wherein the retention operation requests to the common retention framework by the content management system are vendor-independent;
receiving, by the common retention framework, each of the retention operation requests, wherein for each of the retention operation requests, the common retention framework:
identifies corresponding parameters, including a first set of files on which a retention operation is requested and a first data store on which the first set of files are stored,
generates a vendor-specific API request configured for the first data store, and
communicates the vendor-specific API request to the first data store.
14. The method of claim 13 , further comprising storing, by the content management system, a plurality of retention objects, wherein each of the retention objects contains a corresponding set of retention operation parameters, each retention objects being selectable to apply the corresponding set of retention operation parameters to one or more selected content objects.
15. The method of claim 13 , further comprising mapping, by the retention framework for each unique retention interface, input parameters of the retention command received from the content management system to the corresponding generated store-specific retention request.
16. The method of claim 13 , further comprising receiving, by the retention framework, a communication from the first data store responsive to the store-specific retention request, parsing, by the retention framework, the communication received from the first data store to determine a status code that indicates success or failure of the retention operation, generating, by the retention framework, a message indicating the success or failure of the retention operation as indicated by the status code, and sending, by the retention framework, the message indicating the success or failure of the retention operation to the content management system.
17. A computer program product comprising a non-transitory computer-readable medium storing instructions executable by one or more processors to:
perform non-retention file access operations on files in at least two data stores coupled to a content management system, the non-retention file access operations on each of the at least two data stores being performed via accesses to application programming interfaces (APIs) of a corresponding vendor-specific software developer's kit (SDK);
perform file retention operations on the files in the at least two data stores, the file retention operations on each of the at least two data stores being performed via retention operation requests by the content management system to a common retention framework which is coupled to the content management system and to each of the at least two data stores, wherein the retention operation requests to the common retention framework by the content management system are vendor-independent;
receive each of the retention operation requests, wherein for each of the retention operation requests, the common retention framework:
identifies corresponding parameters, including a first set of files on which a retention operation is requested and a first data store on which the first set of files are stored,
generates a vendor-specific API request configured for the first data store, and
communicates the vendor-specific API request to the first data store.
18. The computer program product of claim 17 , the instructions further executable by one or more processors to store, by the content management system, a plurality of retention objects, wherein each of the retention objects contains a corresponding set of retention operation parameters, each retention objects being selectable to apply the corresponding set of retention operation parameters to one or more selected content objects.
19. The computer program product of claim 17 , the instructions further executable by one or more processors to map, by the retention framework for each unique retention interface, input parameters of the retention command received from the content management system to the corresponding generated store-specific retention request.
20. The computer program product of claim 17 , the instructions further executable by one or more processors to receive, by the retention framework, a communication from the first data store responsive to the store-specific retention request, parse, by the retention framework, the communication received from the first data store to determine a status code that indicates success or failure of the retention operation, generate, by the retention framework, a message indicating the success or failure of the retention operation as indicated by the status code, and send, by the retention framework, the message indicating the success or failure of the retention operation to the content management system.Join the waitlist — get patent alerts
Track US11669279B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.