EP1522926A2

Systems and methods for backing up data files

Abstract

Disclosed are systems and methods for backing up data files. In one embodiment, a method of backing up data files can include detecting changed locations in one or more data files, storing the contents of the changed locations at a storage time, and associating the stored contents with: the storage time, the changed locations and one or more file identifiers identifying the one or more data files.

EP1522926A2, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 28 September 2024, 2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

56 claims: 22 independent, 34 dependent

  1. 1
    A method for backing up one or more data files, the method comprising:detecting changed locations in the one or more data files, at a storage time, storing the contents of the changed locations, and associating the stored contents with: the storage time, the changed locations, and one or more file identifiers identifying the one or more data files.
  2. 5
    The method of one of claims 1 to 4, wherein detecting changed locations includes:at a time prior to the storage time, generating a baseline image of at least the one or more data files, and, using one or more data integrity procedures to generate a summary of the baseline image;thereafter, generating a second image of at least the one or more data files, and, using the one or more data integrity procedures to generate a summary of the second image;and, based on the baseline summary and the second summary, determining whether the one or more data files includes changed locations.
  3. 7
    The method of one of claims 1 to 6, wherein detecting changed locations includes dynamically detecting the changed locations in the one or more data files.
  4. 10
    The method of one of claims 1 to 9, wherein storing the contents includes:selecting at least one memory to store the contents.
  5. 13
    The method of one of claims 1 to 12, wherein associating includes:generating one or more indexes to associate: the stored contents, the respective storage times, the respective changed locations, and the respective one or more file identifiers.
  6. 15
    The method of one of claims 1 to 14, further comprising:using the stored contents to create a version of a selected one of the one or more data files.
  7. 18
    The method of one of claims 1 to 17, further comprising:receiving from a first server a request to create a version of a selected one of the one or more data files, and based on the request: for each of one or more storage times associated with the version, and based on the file identifier associated with the selected data file: querying one or more indexes that associate the stored contents, the respective storage times, the respective changed locations, and the respective one or more file identifiers, to identify stored contents and respective changed locations associated the selected data file, and providing the identified stored contents and respective changed locations to the first server.
  8. 20
    A method of backing up data files, comprising:at a first time, storing a baseline image of one or more data files, detecting changed locations in the one or more data files, at a storage time, storing the contents of the changed locations, and, generating one or more indexes to associate the stored contents, the respective storage time, the respective changed locations, and one or more file identifiers to identify the respective one or more data files having the respective changed locations.
  9. 24
    The method of one of claims 20 to 23, further comprising:receiving a request from a first server to recreate a version of a data file, and based on the request: associating the version with one or more storage times, for each of the one or more storage times, identifying stored contents and respective changed locations associated with the file identifier for the data file based on querying the one or more indexes, and providing the stored contents and respective changed locations to the first server.
  10. 26
    The method of one of claims 20 to 25, further comprising:at the first server, writing to the version: the baseline image associated with the data file, the stored contents of the respective changed locations, and contents of changed locations in the data file that were dynamically detected between the latest of the one or more storage times and the version time.
  11. 29
    The method of one of claims 1 to 19 or 20 to 28, further comprising:at a coalescence time, coalescing: two or more stored contents associated with the same file identifier and two or more different storage times, the respective changed locations associated with the two or more coalesced contents, and the one or more indexes to associate the coalesced contents, the respective coalesced changed locations, the file identifier, and the latest of the two or more different storage times.
  12. 30
    The method of one of claims 1 to 19 or 20 to 28, further comprising:at a coalescence time, coalescing: two or more stored contents associated with the same file identifier and the same storage time, the respective changed locations associated with the two or more coalesced contents, and the one or more indexes to associate the coalesced contents, the respective coalesced changed locations, the file identifier, and the same storage time.
  13. 33
    A processor program for backing up data files, the processor program being stored on a processor-readable medium and including instructions to cause a processor to:detect changed locations in one or more data files, at a storage time, store the contents of the changed locations, and associate the stored contents with: the storage time, the changed locations, and one or more file identifiers identifying the one or more data files.
  14. 36
    The processor program of one of claims 33 to 35, wherein the instructions to store the contents include instructions to select at least one memory to store the contents.
  15. 39
    The processor program of one of claims 33 to 38, wherein the instructions to associate includes instructions to generate one or more indexes to associate:the stored contents, the respective storage times, the respective changed locations, and the respective one or more file identifiers.
  16. 41
    The processor program of one of claims 33 to 40, further comprising instructions to use the stored contents to create a version of a selected one of the one or more data files.
  17. 43
    The processor program of one of claims 33 to 42, further comprising instructions to receive from a first server a request to create a version of a selected one of the one or more data files, and    based on the request:for each of one or more storage times associated with the version, and based on the file identifier associated with the selected data file: query one or more indexes that associate the stored contents, the respective storage times, the respective changed locations, and the respective one or more file identifiers, to identify stored contents and respective changed locations associated the selected data file, and provide the identified stored contents and respective changed locations to the first server.
  18. 45
    A system for backing up data files, the system comprising:one or more servers in communication with the data files, one or more of the servers configured to execute change requests on the data files, and one or more agents in communication with the one or more servers, the agents configured to: detect changed locations in the one or more data files, at a storage time, store the contents of the changed locations, and associate the stored contents with: the storage time, the changed locations, and one or more file identifiers identifying the one or more data files.
  19. 50
    The system of one of claims 45 to 49, where the agents are further configured to iteratively return to the detect changed locations.
  20. 51
    The system of one of claims 45 to 50, wherein the configuration to associate includes a configuration to generate one or more indexes to associate:the stored contents, the respective storage times, the respective changed locations, and the respective one or more file identifiers.
  21. 53
    The system of one of claims 45 to 52, further comprising processor instructions to use the stored contents to create a version of a selected one of the one or more data files.
  22. 55
    The system of one of claims 45 to 54, further comprising processor instructions to receive from a first server a request to create a version of a selected one of the one or more data files, and based on the request:for each of one or more storage times associated with the version, and based on the file identifier associated with the selected data file: query one or more indexes that associate the stored contents, the respective storage times, the respective changed locations, and the respective one or more file identifiers, to identify stored contents and respective changed locations associated the selected data file, and provide the identified stored contents and respective changed locations to the first server.
Independent claims22