US 11,868,213 B2
Incremental backup to object store
Ling Zheng, Saratoga, CA (US); Atul Ramesh Pandit, Los Gatos, CA (US); Tijin George, Sunnyvale, CA (US); and Ravindra Ramachandraiah Kuramkote, San Jose, CA (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., Sunnyvale, CA (US)
Filed on Jul. 31, 2020, as Appl. No. 16/944,352.
Claims priority of provisional application 63/044,413, filed on Jun. 26, 2020.
Prior Publication US 2021/0406129 A1, Dec. 30, 2021
Int. Cl. G06F 16/00 (2019.01); G06F 11/14 (2006.01)
CPC G06F 11/1451 (2013.01) [G06F 11/1458 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
generating a backup policy for an object store, wherein the backup policy comprises backup attributes for backing up data from a node to the object store, wherein the backup attributes comprise at least one of a schedule for executing backup operations or a number of backup copies to retain within the object store;
generating an application programming interface (API) token that provides an application with the ability to initiate backup and restore operations of a volume hosted by the node, wherein the API token is generated to include a signature used to determine whether the API token has been tampered with;
receiving, by a storage API of the node, a request from the application to perform a backup from the volume to a backup target within the object store, wherein the object store is hosted by a third party cloud storage provider that is remote to the node, and wherein the application comprise a third party backup application that is provided with access to a storage operating system of the node through the storage API;
performing a validation upon the API token within the request to determine whether the application has permission to invoke the storage API to orchestrate the backup to the object store, and wherein the validation verifies the signature before allowing the backup to be performed on behalf of the application;
isolating the application from accessing data within the volume, wherein the storage API performs the backup on behalf of the application;
identifying, by the storage API, a set of changed files within the volume since a prior backup of the volume was performed to the backup target;
utilizing, by the storage API, inodes associated with the set of changed files to identify changed data blocks comprising data of the set of changed files that were modified since the prior backup; and
backing up, by the storage API based upon the backup policy and in response to validating the API token, the changed data blocks to the object store on behalf of an application external to the backup target and the object store, wherein the changed data blocks are backed up using backup streams and credentials of the object store, wherein the storage API is disassociated with the backup streams and credentials.