IP Library Granted Patent US 12,430,288
Granted Patent B2
US 12,430,288 · App. 18/379,109 · Granted Sep 30, 2025

Replication policy management and scheduling technique of a files service

Inventors: Andrey Khilko (Redwood City, CA); Kalpesh Bafna (Fremont, CA); Sanath Kumar Kalligundi Shivaswamy (Sunnyvale, CA); Kavitha Pasikanti (San Jose, CA); Manoj Premanand Naik (San Jose, CA); Uday Kiran Jonnala (San Ramon, CA)
Assignee: Nutanix, Inc.
G06F16/128G06F16/1756G06F16/178G06F16/184
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 12,430,288
App. No.
18/379,109
Filed
Oct 11, 2023
Granted
Sep 30, 2025
Kind
B2
Art Unit
2165
USPC
707/634
Abstract

A replication policy management and scheduling technique of a Files service is configured for deployment in multi-site data replication environments. The technique involves policy management for data distribution and/or data consolidation (concentration) where multiple sources, e.g., file system (FS) clusters or sites, replicate the data to a central target FS site, e.g., in a spoke and hub arrangement typical of remote office/branch office environments. The technique also involves creation and configuration of a main replication policy by a customer at a central resource manager configured to interact and manage the FS sites, each of which includes one or more file server virtual machines.

Claims (55)

1. A method comprising:

translating a main replication policy for replicating data from source file system (FS) sites to one or more target FS sites into a plurality of sub-policies for execution at corresponding source FS sites;

creating, for each sub-policy, a storage location mapping of top-level directories (TLDs) for the source FS sites to corresponding TLDs of the one or more target FS sites;

determining files of the source FS sites that have changed blocks based on block-level snapshot deltas at the source FS sites;

filtering, at each source FS site, the changed files according to a customer-provided filter, wherein the filter is file-oriented and operates on a pathname according to a syntax and grammar; and

executing the sub-policies at the source FS sites to transmit the changed blocks of the filtered changed files to the one or more target FS sites.

2. The method of claim 1 , wherein determining the files of the source FS sites that have changed blocks further comprises traversing blocks of files having changed directory entry metadata.

3. The method of claim 1 , wherein the sub-policies are executed concurrently on two or more of the source FS sites.

4. The method of claim 1 , wherein determining the files of the source FS sites that have changed blocks further comprises:

creating a first list of the determined files for filtering according to the customer-provided filter;

creating a second list from the filtered files of the first list that fail replication to the one or more target FS sites; and

appending the second list to the filtered changed files for replication during a subsequent execution of the sub-policy at the corresponding source FS site.

5. The method of claim 1 , wherein the transmission of the changed blocks of the filtered changed files to the one or more target FS sites occurs via a file-level remote synchronization protocol.

6. The method of claim 1 , wherein execution of the sub-policies concentrate data from the source FS sites to the one or more target FS sites.

7. The method of claim 6 , wherein the data concentration is in a form of a hub and spoke arrangement from the source FS sites acting as spokes to the target FS site acting as a hub.

8. The method of claim 1 , wherein execution of the sub-policies form a peer-to-peer environment for 2-way synchronization between two FS sites.

9. The method of claim 1 , wherein the main policy is created at a central resource manager configured to interact and manage the source and target FS sites.

10. The method of claim 1 , wherein the customer-provided filter is denoted by pathname according to a regular expression syntax.

11. A non-transitory computer readable medium including program instructions for execution on a processor, the program instructions configured to:

translate a main replication policy for replicating data from source file system (FS) sites to one or more target FS sites into a plurality of sub-policies for execution at corresponding source FS sites;

create, for each sub-policy, a storage location mapping of top-level directories (TLDs) for the source FS sites to corresponding TLDs of the one or more target FS sites;

determine files of the source FS sites that have changed blocks based on block-level snapshot deltas at the source FS sites;

filter, at each source FS site, the changed files according to a customer-provided filter, wherein the filter is file-oriented and operates on a pathname according to a syntax and grammar; and

execute the sub-policies at the source FS sites to transmit the changed blocks of the filtered changed files to the one or more target FS sites.

12. The non-transitory computer readable medium of claim 11 , wherein the program instructions configured to determine the files of the source FS sites that have changed blocks are further configured to traverse blocks of files having changed directory entry metadata.

13. The non-transitory computer readable medium of claim 11 , wherein the sub-policies are executed concurrently on two or more of the source FS sites.

14. The non-transitory computer readable medium of claim 11 , wherein the program instructions configured to determine the files of the source FS sites that have changed blocks are further configured to:

create a first list of the determined files for filtering according to the customer-provided filter;

create a second list from the filtered files of the first list that fail replication to the one or more target FS sites; and

append the second list to the filtered changed files for replication during a subsequent execution of the sub-policy at the corresponding source FS site.

15. The non-transitory computer readable medium of claim 11 , wherein the transmission of the changed blocks of the filtered changed files to the one or more target FS sites occurs via a file-level remote synchronization protocol.

16. The non-transitory computer readable medium of claim 11 , wherein execution of the sub-policies concentrate data from the source FS sites to the one or more target FS sites.

17. The non-transitory computer readable medium of claim 16 , wherein the data concentration is in a form of a hub and spoke arrangement from the source FS sites acting as spokes to the target FS site acting as a hub.

18. The non-transitory computer readable medium of claim 11 , wherein execution of the sub-policies form a peer-to-peer environment for 2-way synchronization between two FS sites.

19. The non-transitory computer readable medium of claim 11 , wherein the main policy is created at a central resource manager configured to interact and manage the source and target FS sites.

20. The non-transitory computer readable medium of claim 11 , wherein the customer-provided filter is denoted by pathname according to a regular expression syntax.

21. An apparatus comprising:

a network connecting nodes of source file system (FS) sites to one or more target FS sites, each node having a processor configured to execute program instructions to:

translate a main replication policy for replicating data from the source FS sites to the one or more target FS sites into a plurality of sub-policies for execution at corresponding source FS sites;

create, for each sub-policy, a storage location mapping of top-level directories (TLDs) for the source FS sites to corresponding TLDs of the one or more target FS sites;

determine files of the source FS sites that have changed blocks based on block-level snapshot deltas at the source FS sites;

filter, at each source FS site, the changed files according to a customer-provided filter, wherein the filter is file-oriented and operates on a pathname according to a syntax and grammar; and

execute the sub-policies at the source FS sites to transmit the changed blocks of the filtered changed files to the one or more target FS sites.

22. The apparatus of claim 21 , wherein the processor configured to execute program instructions to determine the files of the source FS sites that have changed blocks is further configured to execute program instructions to traverse blocks of files having changed directory entry metadata.

23. The apparatus of claim 21 , wherein the sub-policies are executed concurrently on two or more of the source FS sites.

24. The apparatus of claim 21 , wherein the processor configured to execute program instructions to determine the files of the source FS sites that have changed blocks is further configured to execute program instructions to:

create a first list of the determined files for filtering according to the customer-provided filter;

create a second list from the filtered files of the first list that fail replication to the one or more target FS sites; and

append the second list to the filtered changed files for replication during a subsequent execution of the sub-policy at the corresponding source FS site.

25. The apparatus of claim 21 , wherein the transmission of the changed blocks of the filtered changed files to the one or more target FS sites occurs via a file-level remote synchronization protocol.

26. The apparatus of claim 21 , wherein execution of the sub-policies concentrate data from the source FS sites to the one or more target FS sites.

27. The apparatus of claim 26 , wherein the data concentration is in a form of a hub and spoke arrangement from the source FS sites acting as spokes to the target FS site acting as a hub.

28. The apparatus of claim 21 , wherein execution of the sub-policies form a peer-to-peer environment for 2-way synchronization between two FS sites.

29. The apparatus of claim 21 , wherein the main policy is created at a central resource manager configured to interact and manage the source and target FS sites.

30. The apparatus of claim 21 , wherein the customer-provided filter is denoted by pathname according to a regular expression syntax.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2023
From: KHILKO, ANDREY; BAFNA, KALPESH; SHIVASWAMY, SANATH KUMAR KALLIGUNDI; PASIKANTI, KAVITHA; NAIK, MANOJ PREMANAND; JONNALA, UDAY KIRAN
To: NUTANIX, INC.
Reel/Frame 065189/0231 →
Priority Claims (1)
IN 202341054723 · Aug 15, 2023 · national
Continuity (1)
Related Publication 20250061092A1 · Feb 20, 2025
References Cited (39)
US 7149982B1 · Duperrouzel · 2006 [cited by examiner]
US 8549518B1 · Aron et al. · 2013 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8850130B1 · Aron et al. · 2014 [cited by applicant]
US 8863124B1 · Aron et al. · 2014 [cited by applicant]
US 9009106B1 · Aron et al. · 2015 [cited by applicant]
US 9069708B2 · Gill et al. · 2015 [cited by applicant]
US 9336132B1 · Aron et al. · 2016 [cited by applicant]
US 9652265B1 · Narayanasamy et al. · 2017 [cited by applicant]
US 9747287B1 · Bhardwaj et al. · 2017 [cited by applicant]
US 9772866B1 · Aron et al. · 2017 [cited by applicant]
US 10409687B1 · Bono · 2019 [cited by applicant]
US 10496601B1 · Natanzon · 2019 [cited by applicant]
US 11132267B1 · Mathew · 2021 [cited by applicant]
US 11436097B1 · Kumar et al. · 2022 [cited by applicant]
US 11575745B2 · Tatiparthi et al. · 2023 [cited by applicant]
US 20030182313A1 · Federwisch · 2003 [cited by applicant]
US 20080133622A1 · Brown · 2008 [cited by examiner]
US 20130054530A1 · Baker · 2013 [cited by applicant]
US 20140344222A1 · Morris · 2014 [cited by applicant]
US 20180181637A1 · Freiberg · 2018 [cited by examiner]
US 20190339870A1 · Meiri · 2019 [cited by examiner]
US 20200034051A1 · Zhang · 2020 [cited by examiner]
US 20200134052A1 · Natanzon · 2020 [cited by examiner]
US 20200192912A1 · Mitkar · 2020 [cited by examiner]
US 20200201716A1 · Katoch · 2020 [cited by examiner]
US 20210279244A1 · Patel · 2021 [cited by examiner]
US 20210405878A1 · Kumar · 2021 [cited by examiner]
US 20220147541A1 · Mallipeddi · 2022 [cited by applicant]
US 20220374316A1 · Kumar · 2022 [cited by applicant]
US 20220374519A1 · Botelho · 2022 [cited by applicant]
US 20220398163A1 · Bezbaruah et al. · 2022 [cited by applicant]
US 20230359585A1 · George · 2023 [cited by applicant]
US 20230409522A1 · Kashi Visvanathan · 2023 [cited by applicant]
Cano, Ignacio, “Curator: Self-Managing Storage for Enterprise Clusters” University of Washington; published Mar. 2017; pp. all. [cited by applicant]
Citrix XenDesktop 7.1 on Microsoft Hyper-V Server 2012 R2 on Nutanix Virtual Computing Platform Solution Design Citrix Validated Solutions, Jun. 25, 2014, 95 pages. [cited by applicant]
Poitras, Steven “The Nutanix Bible” from http://stevenpoitras.com/the-nutanix-bible/ Oct. 15, 2013 (Publication date based on indicated capture date by Archive.org first publication date unknown) pp. all. [cited by applicant]
Poitras, Steven “The Nutanix Bible—Classic Edition” from https://nutanixbible.com/, dated Aug. 17, 2023, 266 pages. [cited by applicant]
VMware Manual—vCenter Server and Host Management, Update 1, VMware vSphere 7.0, VMware ES, Xi 7.0, vCenter Server 7.0, Modified on Nov. 25, 2020, 203 pages. [cited by applicant]