US 11,656,784 B2
Creating local copies of data stored in cloud-based data repositories
Waqas Ashraf, Ocean, NJ (US); Jing Zhang, Freehold, NJ (US); and Balashankar Sundar, Chennai (IN)
Assigned to Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed by Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed on Dec. 7, 2020, as Appl. No. 17/114,296.
Application 17/114,296 is a continuation of application No. 15/927,018, filed on Mar. 20, 2018, granted, now 10,891,069.
Claims priority of provisional application 62/477,140, filed on Mar. 27, 2017.
Prior Publication US 2021/0089215 A1, Mar. 25, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01); G06F 9/54 (2006.01); G06F 16/93 (2019.01); G06F 11/20 (2006.01); G06F 11/14 (2006.01)
CPC G06F 3/065 (2013.01) [G06F 3/061 (2013.01); G06F 3/067 (2013.01); G06F 9/547 (2013.01); G06F 3/0643 (2013.01); G06F 11/1451 (2013.01); G06F 11/1453 (2013.01); G06F 11/1458 (2013.01); G06F 11/2094 (2013.01); G06F 16/93 (2019.01)] 19 Claims
OG exemplary drawing
 
1. A computer-implemented method for performing on-premises storage of data obtained from a cloud-based repository, the method comprising:
by an information management system comprising a media agent in communication with an on-premises secondary storage device that is not cloud-based, wherein the media agent executes on a computing device comprising one or more hardware processors:
issuing a representational state transfer-conforming (RESTful) application programming interface (API) call to the cloud-based repository to obtain data objects that are stored in the cloud-based repository;
based on the RESTful API call, receiving from the cloud-based repository a compressed copy of current versions of the data objects, wherein the compressed copy comprises a metadata manifest file for each data library of the cloud-based repository;
parsing the compressed copy to extract a current version of and a corresponding metadata file for each data object within each data library of the cloud-based repository;
issuing one or more client-side object model (CSOM) API calls to the cloud-based repository to obtain older versions of at least one of the data objects stored in the cloud-based repository, wherein each older version precedes a current version of the corresponding at least one of the data objects;
based on the one or more CSOM API calls, receiving from the cloud-based repository one or more older versions of and corresponding metadata files for each older version of the at least one of the data objects in the cloud-based repository;
for each data object having a current version and at least one older version, normalizing a format of the corresponding metadata files to a format of a metadata file of the current version of the data object;
combining metadata files corresponding to each data object within each data library on the cloud-based repository, including normalized metadata files corresponding to older versions of data objects, into a combined metadata file; and
transferring the combined metadata file, the current versions of data objects, and the older versions of data objects to the media agent for storage at the on-premises secondary storage device, wherein the media agent stores at least some metadata from the combined metadata file to an index at the computing device.