US 11,907,168 B2
Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
Anand Prahlad, Bangalore (IN); Marcus S. Muller, Maynard, MA (US); Rajiv Kottomtharayil, Marlboro, NJ (US); Srinivas Kavuri, San Jose, CA (US); Parag Gokhale, Marlboro, NJ (US); and Manoj Kumar Vijayan, Marlboro, NJ (US)
Assigned to Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed by Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed on Mar. 16, 2022, as Appl. No. 17/696,742.
Application 15/258,252 is a division of application No. 14/494,674, filed on Sep. 24, 2014, granted, now 9,454,537, issued on Sep. 27, 2016.
Application 17/696,742 is a continuation of application No. 16/276,552, filed on Feb. 14, 2019, granted, now 11,308,035.
Application 16/276,552 is a continuation of application No. 15/258,252, filed on Sep. 7, 2016, granted, now 10,248,657, issued on Apr. 2, 2019.
Application 14/494,674 is a continuation of application No. 13/615,999, filed on Sep. 14, 2012, granted, now 8,849,761, issued on Sep. 30, 2014.
Application 13/615,999 is a continuation of application No. 12/751,850, filed on Mar. 31, 2010, granted, now 8,285,681, issued on Oct. 9, 2012.
Claims priority of provisional application 61/299,313, filed on Jan. 28, 2010.
Claims priority of provisional application 61/223,695, filed on Jul. 7, 2009.
Claims priority of provisional application 61/221,993, filed on Jun. 30, 2009.
Prior Publication US 2022/0318206 A1, Oct. 6, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/174 (2019.01); G06F 16/41 (2019.01); G06F 16/11 (2019.01); G06F 16/182 (2019.01); G06Q 30/02 (2023.01); G06Q 50/18 (2012.01); H04L 9/40 (2022.01); G06F 3/06 (2006.01); H04L 67/1095 (2022.01); H04L 67/1097 (2022.01); H04L 67/56 (2022.01); H04L 67/5682 (2022.01); G06Q 30/0201 (2023.01); G06F 11/34 (2006.01); H04L 67/02 (2022.01); H04L 69/08 (2022.01); H04L 67/50 (2022.01); H04L 67/06 (2022.01)
CPC G06F 16/1748 (2019.01) [G06F 3/0605 (2013.01); G06F 3/067 (2013.01); G06F 3/0631 (2013.01); G06F 3/0649 (2013.01); G06F 3/0667 (2013.01); G06F 16/122 (2019.01); G06F 16/1827 (2019.01); G06F 16/1844 (2019.01); G06F 16/41 (2019.01); G06Q 30/02 (2013.01); G06Q 30/0206 (2013.01); G06Q 50/188 (2013.01); H04L 63/0428 (2013.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); H04L 67/56 (2022.05); H04L 67/5682 (2022.05); G06F 3/06 (2013.01); G06F 11/3485 (2013.01); G06F 2003/0697 (2013.01); H04L 67/02 (2013.01); H04L 67/06 (2013.01); H04L 67/535 (2022.05); H04L 69/08 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A computer-implemented method for encrypting files stored within a cloud storage site, the computer-implemented method comprising:
receiving a request to encrypt a data file located on a cloud storage site;
receiving an indication of a requested type of encryption method to utilize when encrypting the data file located on the cloud storage site,
wherein the requested type of encryption method is one of multiple types of encryption methods; and
determining whether the requested type of encryption method is supported by one or more application programming interfaces (APIs) provided by the cloud storage site;
when the requested type of encryption method is supported by the one or more APIs provided by the cloud storage site,
then utilizing the one or more APIs provided by the cloud storage site to encrypt the data file; and
when the requested type of encryption method is not supported by the one or more APIs provided by the cloud storage site,
then performing:
downloading a copy of the data file from the cloud storage site;
content indexing data in the downloaded copy of the data file by creating or updating at least one index associated with the data file;
encrypting the downloaded copy of the data file to create an encrypted version of the data file; and
sending the encrypted version of the data file to the cloud storage site via the one or more APIs to either—
 overwrite the data file stored on the cloud storage site with the encrypted version of the data file, or
 write the encrypted version of the data file to the cloud storage site and delete the data file stored on the cloud storage site.