IP Library Granted Patent US 12,235,808
Granted Patent B2
US 12,235,808 · App. 17/746,948 · Granted Feb 25, 2025

Replicating and migrating files to secondary storage sites

Inventors: Robert B. Basham (Beaverton, OR); Anbazhagan Mani (Bangalore, IN); Rishika Kedia (Bangalore, IN); Harold J. Roberson, II (Rochester, MN)
Assignee: International Business Machines Corporation
G06F16/1844G06F16/119G06F16/162G06F16/178
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,235,808
App. No.
17/746,948
Granted
Feb 25, 2025
Kind
B2
Abstract

Provided are a computer program product, system, and method for replicating and migrating files to secondary storage sites. Files in a fileset at the primary storage site are migrated to a file container, wherein data for the files migrated to the file container is distributed among the secondary storage sites. File metadata for each of the migrated files is updated to include access information on the migrated file in the file container. Data for the migrated files is deleted in a local storage. The file metadata for the migrated files is replicated to the secondary storage sites over the network to store in filesets at the secondary storage sites without replicating file data for the migrated files to store in the filesets the secondary storage sites.

Claims (69)

1. A computer program product for managing files in a fileset at a primary storage site and a secondary storage site over a network, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:

determining whether files in a fileset satisfy a management policy;

for a first group of files in the fileset determined to satisfy the management policy, encoding the first group of files in a local storage at the primary storage site to migrate by streaming to a file container in an object storage over a local network, wherein the primary storage site includes the object storage, the local storage, and the local network;

migrating file metadata for the migrated files to the object storage;

updating the file metadata for the migrated files to indicate access information in the file container;

deleting file data for the files in the first group of migrated files from the fileset in the local storage;

encoding a second group of files in the fileset that did not satisfy the management policy to pre-migrate by streamlining the second group of files from the fileset to the file container while leaving a copy of the files in the second group in the fileset in the local storage; and

for each specified file of files in the fileset, perform:

determining whether the specified file in the fileset is a new file, based on a time the specified file was created and a current time, that has not been migrated to the file container within a replication time;

encoding the specified file in the fileset, that is determined to be a new file that has not been migrated within the replication time, to migrate by streaming of

the file container and replicate to the secondary storage site; and

copying the specified file in the fileset, that is determined not to be a new file that has not been migrated within the replication time, to the secondary storage site.

2. The computer program product of claim 1 , wherein the migrating file metadata for the first group of files comprises migrating to a metadata container at the primary storage site; and

copying the file metadata for the first group of files to the secondary storage site.

3. The computer program product of claim 2 , wherein the operations further comprise:

replicating the updated file metadata for the first group of migrated files to secondary storage sites over the network to store in filesets at the secondary storage sites without replicating file data for the first group of migrated files previously distributed to the secondary storage sites to store in the filesets at the secondary storage sites.

4. The computer program product of claim 2 , wherein the metadata container is distributed across the primary storage site.

5. The computer program product of claim 1 , wherein the operations further comprise:

maintaining file metadata for a file in the fileset in the local storage when the file is migrated to the file container and a copy is not maintained in the fileset in the local storage to allow the file to be recalled from the file container.

6. The computer program product of claim 1 , wherein the file container is distributed across the primary storage site and a plurality of secondary storage sites, and wherein the distributing the first group of files migrated to the file container causes each migrated file of the first group of migrated files to be encoded into fragments and distributed among the secondary storage sites.

7. The computer program product of claim 1 , wherein the operations further comprise:

in response to determining that the specified file that is a new file that has not been migrated within the replication time satisfies a file size requirement, migrating the specified file to the file container and replicating the specified file to the secondary storage site; and

copying the specified file to the secondary storage site in response to determining that the specified file is a new file that has not been migrated within the replication time and does not satisfy the file size requirement.

8. A system for managing files in a fileset at a primary storage site in communication with a secondary storage site over a network, comprising:

a local storage having filesets;

an object storage having a file container

a server in communication with the local storage and the object storage over a local network to perform operations comprising:

determining whether files in a fileset satisfy a management policy;

for a first group of files in the fileset determined to satisfy the management policy, encoding the first group of files in a local storage at the primary storage site to migrate by streaming to a file container in an object storage over a local network, wherein the primary storage site includes the object storage, local storage, and the local network;

migrating file metadata for the migrated files to the object storage;

updating the file metadata for the migrated files to indicate access information in the file container;

deleting file data for the files in the first group of migrated files from the fileset in the local storage;

encoding a second group of files in the fileset that did not satisfy the management policy to pre-migrate by streaming the second group of files from the fileset to the file container while leaving a copy of the files in the second group in the fileset; and

for each specified file of files in the fileset, perform:

determining whether the specified file in the fileset is a new file, based on a time the specified file was created and a current time, that has not been migrated to the file container within a replication time;

encoding the specified file in the fileset, that is determined to be a new file that has not been migrated within the replication time, to migrate by streaming to the file container and replicate to the secondary storage site; and

copying the specified file in the fileset, that is determined not to be a new file that has not been migrated within the replication time, to the secondary storage site.

9. The system of claim 8 , wherein the migrating file metadata for the first group of files comprises migrating to a metadata container at the primary storage site; and

copying the file metadata for the first group of files to the secondary storage site.

10. The system of claim 9 , wherein the operations further comprise:

replicating the updated file metadata for the first group of migrated files to secondary storage sites over the network to store in filesets at the secondary storage sites without replicating file data for the first group of migrated files previously distributed to the secondary storage sites to store in the filesets at the secondary storage sites.

11. The system of claim 9 , wherein the metadata container is distributed across the primary storage site.

12. The system of claim 8 , wherein the file container is distributed across the primary storage site and a plurality of secondary storage sites, and wherein the distributing the first group of files migrated to the file container causes each migrated file of the first group of migrated files to be encoded into fragments and distributed among the secondary storage sites.

13. The system of claim 8 , wherein the operations further comprise:

maintaining file metadata for a file in the fileset in the local storage when the file is migrated to the file container and a copy is not maintained in the fileset in the local storage to allow the file to be recalled from the file container.

14. The system of claim 8 , wherein the operations further comprise:

migrating the specified file to the file container and replicating the specified file to the secondary storage site in response to determining that the specified file is a new file that has not been migrated within the replication time and satisfies a file size requirement; and

copying the specified file to the secondary storage site in response to determining that the specified file is new file that has not been migrated within the replication time and does not satisfy the file size requirement.

15. A method for managing files in a fileset at a primary storage site and a secondary storage site over a network, comprising:

determining whether files in a fileset satisfy a management policy;

for a first group of files in the fileset determined to satisfy the management policy, encoding the first group of files in a local storage at the primary storage site to migrate by streamlining to a file container in an object storage over a local network, wherein the primary storage site includes the object storage, local storage, and the local network;

migrating file metadata for the migrated files to the object storage;

updating the file metadata for the migrated files to indicate access information in the file container;

deleting file data for the files in the first group of migrated files from the fileset in the local storage;

encoding a second group of files in the fileset that did not satisfy the management policy to migrate by streaming the second group of files from the fileset to the file container while leaving a copy of the files in the second group in the fileset in the local storage; and

for each specified file of files in the fileset, perform:

determining whether the specified file in the fileset is a new file, based on a time the file was created and a current time, that has not been migrated to the file container within a replication time;

encoding the specified file in the fileset, that is determined to be a new file that has not been migrated within the replication time, to migrate by streaming to the file container and replicate to the secondary storage site; and

copying the specified file in the fileset, that is determined not to be a new file that has not been migrated within the replication time, to the secondary storage site.

16. The method of claim 15 , wherein the migrating file metadata for the first group of files comprises migrating to a metadata container at the primary storage site; and

copying the file metadata for the first group of files to the secondary storage site.

17. The method of claim 16 , further comprising:

replicating the updated file metadata for the first group of migrated files to the secondary storage site over the network to store in filesets at the secondary storage site without replicating file data for the first group of migrated files previously distributed to the secondary storage site to store in the filesets at the secondary storage site.

18. The method of claim 16 , wherein the metadata container is distributed across the primary storage site.

19. The method of claim 15 , further comprising:

maintaining file metadata for a file in the fileset in the local storage when the file is migrated to the file container and a copy is not maintained in the fileset in the local storage to allow the file to be recalled from the file container.

20. The method of claim 15 , further comprising:

determining whether the new file that has not been migrated within the replication time satisfies a file size requirement, wherein the new file that has not been migrated within the replication time is migrated to the file container and replicated to the secondary storage site in response to determining that the new file that has not been migrated within the replication time satisfies the file size requirement; and

copying the new file that has not been migrated within the replication time to the secondary storage site in response to determining that the new file that has not been migrated withing the replication time does not satisfy the file size requirement.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2022
From: BASHAM, ROBERT B.; MANI, ANBAZHAGAN; KEDIA, RISHIKA; ROBERSON, HAROLD J., II
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059945/0689 →
Continuity (2)
Continuation 15669319 · Aug 4, 2017
Related Publication 20220276988A1 · Sep 1, 2022
References Cited (80)
US 7346664B2 · Wong et al. · 2008 [cited by applicant]
US 7657581B2 · Orenstein et al. · 2010 [cited by applicant]
US 8112395B2 · Patel et al. · 2012 [cited by applicant]
US 8166038B2 · Kaufman et al. · 2012 [cited by applicant]
US 8442957B2 · Saake et al. · 2013 [cited by applicant]
US 8639899B2 · Kawakami · 2014 [cited by examiner]
US 8661216B2 · Kavuri · 2014 [cited by examiner]
US 8682955B1 · Monden et al. · 2014 [cited by applicant]
US 8725689B1 · Koryakina et al. · 2014 [cited by applicant]
US 8892611B2 · Jensen et al. · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 8954381B1 · Naamad · 2015 [cited by applicant]
US 9081842B1 · Natanzon et al. · 2015 [cited by applicant]
US 9313270B2 · Joshi · 2016 [cited by applicant]
US 9323758B1 · Stacey · 2016 [cited by examiner]
US 9430387B2 · Vekiarides et al. · 2016 [cited by applicant]
US 9552217B2 · Tarasuk-Levin et al. · 2017 [cited by applicant]
US 9665428B2 · Vairavanathan et al. · 2017 [cited by applicant]
US 9773042B1 · Li · 2017 [cited by examiner]
US 9852149B1 · Taylor · 2017 [cited by examiner]
US 9996562B2 · Higginson · 2018 [cited by examiner]
US 10331362B1 · Parekh · 2019 [cited by examiner]
US 10572445B2 · Lad · 2020 [cited by examiner]
US 10762036B2 · Gokhale · 2020 [cited by examiner]
US 20040236798A1 · Srinivasan et al. · 2004 [cited by applicant]
US 20060069887A1 · LeCrone et al. · 2006 [cited by applicant]
US 20060161746A1 · Wong et al. · 2006 [cited by applicant]
US 20070136308A1 · Tsirigotis et al. · 2007 [cited by applicant]
US 20100094958A1 · Zuckerman et al. · 2010 [cited by applicant]
US 20110231477A1 · Safruti et al. · 2011 [cited by applicant]
US 20110238621A1 · Agrawal · 2011 [cited by applicant]
US 20120016838A1 · Arai et al. · 2012 [cited by applicant]
US 20120101995A1 · Agetsuma et al. · 2012 [cited by applicant]
US 20120150799A1 · Matsuzawa · 2012 [cited by applicant]
US 20120284317A1 · Dalton · 2012 [cited by applicant]
US 20130024421A1 · Shinohara · 2013 [cited by applicant]
US 20130110778A1 · Taylor · 2013 [cited by examiner]
US 20140181441A1 · Kottomtharayil et al. · 2014 [cited by applicant]
US 20150088821A1 · Blea et al. · 2015 [cited by applicant]
US 20150301903A1 · Mutha · 2015 [cited by examiner]
US 20160023398A1 · Drinic et al. · 2016 [cited by applicant]
US 20160092119A1 · Butterwork et al. · 2016 [cited by applicant]
US 20160364170A1 · Nasu · 2016 [cited by examiner]
US 20170039218A1 · Prahlad · 2017 [cited by examiner]
US 20170077950A1 · Pavlov et al. · 2017 [cited by applicant]
US 20170270007A1 · Huang · 2017 [cited by examiner]
US 20180232174A1 · Zhou et al. · 2018 [cited by applicant]
US 20190042595A1 · Basham et al. · 2019 [cited by applicant]
CN 105530273A · 2016 [cited by applicant]
CN 106250320A · 2016 [cited by applicant]
CN 106570093A · 2017 [cited by applicant]
CN 106855834A · 2017 [cited by applicant]
CN 106953893A · 2017 [cited by applicant]
Chinese Office Action dated Apr. 5, 2023, 14 pp. for Application CN201880046814.5. [cited by applicant]
English machine translation of Chinese Office Action dated Apr. 5, 2023, 14 pp. for Application CN201880046814.5. [cited by applicant]
G. Delaval, et al., “Modular Coordination Multiple Autonomic Managers”, CBSE″14, Jun. 30-Jul. 4, 2014, Marcq-en-Baroeul, France, ACM, 2014, pp. 10. [cited by applicant]
“IBM Spectrum Scale Version 4 Release 2.2”, IBM Corporation, Document GA76-0441-12, 2017, pp. 384. [cited by applicant]
“Erasure Code Support”, Erasure Code Support—swift 2.14.1.dev119 documentation, [online][retrieved Jul. 1, 2017] https://docs.openstack.org/developer/swift/overview_erasure_code.html, pp. 12. [cited by applicant]
P. Luse, Sr., et al., “Swift Object Storage: Adding Eraser Codes”, Sep. 2014, SNIA Education, pp. 36. [cited by applicant]
K.Tsuyuzaki, et al., “Recent Activities Involving OpenStack Swift”, NTT Technical Review, Regular Articles, vol. 13 No. Dec. 12, 2015, pp. 6. [cited by applicant]
A. Patil, et al., “Cloud Object Storage as a Service IBM Cloud Object Storage from Theory to Practice”, IBM Corporation, Document SG24-8385-00, Mar. 2017, pp. 290. [cited by applicant]
T. Pearson, “1367 IBM Cloud Object Storage System (powered by Cleversafe) and its Applications”, IBM Corporation, EDGE 2016, pp. 47. [cited by applicant]
U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Office Action dated Nov. 8, 2019, pp. 23, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Response dated Feb. 10, 2020, pp. 13, to Office Action, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Final Office Action dated Mar. 18, 2020, pp. 15, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Response dated May 18, 2020, pp. 13, to Office Action, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Office Action dated Jul. 24, 2020, pp. 14, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Response dated Jun. 18, 2020, pp. 13, to Office Action, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Final Office Action dated Mar. 4, 2021, pp. 18, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Response dated Oct. 26, 2020, pp. 15, to Final Office Action, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Notice of Allowance dated Mar. 25, 2022, pp. 21, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
List of Patents or Patent Applications Treated as Related, dated May 17, 2022, pp. 2. [cited by applicant]
PCT International Search Report an Written Opinion date Dec. 12, 2018, for Application No. PCT/IB2018/055714, pp. 9. [cited by applicant]
English machine translation for Chinese Patent No. CN10250320A, filed Dec. 21, 2016, pp. 19. [cited by applicant]
English machine translation for Chinese Patent No. CN106570093A, filed Apr. 19, 2017, pp. 6. [cited by applicant]
English machine translation for Chinese Patent No. CN106855834A, filed Jun. 16, 2017, pp. 20. [cited by applicant]
Pre-Appeal Brief Request Request for Review dated May 12, 2021, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Appeal Brief dated Sep. 27, 2021, pp. 25, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]
Response to Notice of Non-Compliant Appeal Brief dated Oct. 5, 2021, pp. 6, for U.S. Appl. No. 15/669,319, filed Aug. 24, 2017. [cited by applicant]