AU2012232945B2

Distributed computing backup and recovery system

Abstract

The distributed computing backup and recovery (DCBR) system and method provide backup and recovery for distributed computing models (e.g., NoSQL). The DCBR system extends the protections from server node-level failure and introduces persistence in time so that the evolving data set may be stored and recovered to a past point in time. The DCBR system, instead of performing backup and recovery for an entire dataset, may be configured to apply to a subset of data. Instead of keeping or recovering snapshots of the entire dataset which requires the entire cluster, the DCBR system identifies the particular nodes and/or archive files where the dataset resides so that backup or recovery may be done with a much smaller number of nodes. C-) ( q ( c cn 2 dl ,II L, 0 - W E cp l C)C,, 0) 3: LE

Term

6 yearsleft in the term

Expires 28 September 2032.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

31 claims: 8 independent, 23 dependent

  1. 1
    The claims defining the invention are as follows:1. A method for distributed computing backup and recovery, including: receiving, into a memory via an interface controlled by a processor connected to a network in a hyperscale computing environment having hyper-sized numbers of computing nodes, a data object request that identifies a data object to store or retrieve, in or from respectively, the hyper-sized numbers in the computing nodes;evaluating, using the processor, a hash function stored in the memory to determine network storage locations or network retrieval locations, or both for the data object;storing at each of the network storage locations, the data object according to the data object request, when the data object request includes a request to store the data object, where the stored data object is identified as a replica of the data object stored at each of the network storage locations;retrieving from one of the network retrieval locations from a backup of the computing environment, using the processor connected to the network, the stored data object identified by the one of the network retrieval locations, when the data object request includes a request to retrieve the data object, where the stored data object is one of a plurality of data objects stored of a dataset identified as the backup of the computing environment.
  2. 4
    A method according to any one of the preceding claims, further including:applying the hash function to determine, according to selection criteria a preferred replica among the replica of the data object retrieved from nodes in the computing environment.
  3. 6
    A method according to any one of the preceding claims, further including:determining a hash seed used to recreate the hash function for an identified time and storing the hash seed for an identified time, at one or more of the network storage locations, where the hash seed for the identified time is used to recreate the hash function for the identified time, and the hash seed is a random function based on an initial seed;and when the data object request includes a request to store the data object, recording write accesses that occur in the computing environment until the data object is stored;and when the data object request includes a request to retrieve the data object, playing back the recording of write accesses until a restore completes.
  4. 8
    A method according to any one of the preceding claims, further including:retrieving at least one user selectable preference;identifying a first subset of data from within a data set according to the at least one user selectable preference, the first subset of data containing less than all of the data in 2012232945 19 Jun 2014 the data set, wherein the identified data objects are within a second subset of data, the second subset of data containing less than all of the data in the first subset of data;and wherein the stored data objects are retrieved from the second subset of data.
  5. 9
    A method according to any one of the preceding claims, wherein said storing and retrieving of the data objects is at a granular level.
  6. 10
    A product for distributed computing backup and recovery, including:a computer readable memory with processor executable instructions stored thereon, wherein the instructions when executed by the processor cause the processor to: receive, into a memory via an interface controlled by a processor connected to a network in a hyperscale computing environment having hypersized numbers of computing nodes, a data object request that identifies a data object to store or retrieve, in or from respectively, the hyper-sized numbers of computing nodes;evaluate, using the processor, a hash function stored in the memory to determine network storage locations or network retrieval locations, or both for the data object;store, at each of the network storage locations, the data object according to the data object request, when the data object request includes a request to store the data object, where the stored data object is identified as a replica of the data object at each of the network storage locations;retrieve, from one of the network retrieval locations from a backup of the computing environment, using the processor connected to the network, the data 2012232945 19 Jun 2014 object identified by the one of the network retrieval locations, when the data object request includes a request to retrieve the data object, where the stored data object is one of a plurality of data objects stored of a dataset identified as the backup of the computing environment.
  7. 13
    A product according to any one of claims 10 to 12, further including analyzing the replicas of the data object retrieved from nodes in the computing environment to determine a preferred replica from the retrieved replicas.
  8. 15
    A product according to any one of claims 10 to 14, the instructions when executed by the processor further causing the processor to:determine a hash seed used to recreate the hash function for an identified time and store the hash seed for an identified time, at one or more of the network storage locations, where the hash seed for the identified time is used to recreate the hash function for the identified time, and the hash seed is a random function based on an initial seed;record write accesses that occur in the computing environment until the data object is stored, when the data object request is a request to store the data object;and play back the recording of write accesses until a restore completes, when the data object request is a request to retrieve the data object. 2012232945 19 Jun 2014
  9. 16
    A product according to any one of claims 10 to 15, the instructions when executed by the processor further causing the processor to determine a plurality of configurable restore options, the restore options including:a sequence of a plurality of nodes to restore including one or more nodes from which to retrieve a copy of the data object;or restore nodes to use to restore the plurality of data objects concurrently;or a combination thereof.
  10. 17
    A product according to any one of claims 10 to 16, wherein the instructions when executed by the processor further cause the processor to:retrieve at least one user selectable preference;identify a first subset of data from within a data set according to the at least one user selectable preference, the first subset of data containing less than all of the data in the data set, wherein the identified data objects are within a second subset of data, the second subset of data containing less than all of the data in the first subset of data;and wherein the stored data objects are retrieved from the second subset of data.
  11. 18
    A product according to any one of claims 10 to 17, wherein said storing and retrieving of the data objects is at a granular level.
  12. 19
    A system for distributed computing backup and recovery (DCBR), including:a processor;a cluster of computing nodes in a hyperscale computing environment having hyper-sized numbers of the computing nodes;2012232945 19 Jun 2014 an interface controlled by the processor connected to a network in the computing environment;a memory coupled to the processor, wherein the memory includes: a data object request received through the interface for a data object of a data set from the plurality of data objects to store in, or retrieve from respectively, the hyper-sized numbers of nodes;a hash function that is evaluated by the processor to determine network storage locations or network retrieval locations, or both for the data object;instructions executable by the processor that cause the processor to: retrieve from one of the network retrieval locations the data object from a backup of the computing environment, when the request is a request to retrieve the data object where the stored data object retrieved is identified by the one of the network retrieval locations, where the stored data object is one of a plurality of data objects stored of a dataset identified as the backup of the computing environment;store the data object, when the request is a request to store the data object;where a copy of the data object is located on one or more of the nodes, where the stored data object is identified as a replica of the data object at each of the network storage locations. 2012232945 19 Jun 2014
  13. 22
    A system according to any one of claims 19 to 21, further including:a backup log file that includes a backup record identifier corresponding to the data object request that the hash function uses to identify where in the computing environment the data object is stored.
  14. 23
    A system according to any one of claims 19 to 22, wherein the instructions further cause the processor to determine the preferred replica by applying the hash function to the retrieved one or the replica.
  15. 24
    A system according to any one of claims 19 to 23, further including:a preferred replica from the replicas, the preferred replica including the most recent of the data object, or the most correct copy of the data object, or a combination of both.
  16. 25
    A system according to any one of claims 19 to 24, where the instructions further cause the processor to execute restore options, the restore options including:2012232945 19 Jun 2014 a sequence of a plurality of nodes to restore including the one or more nodes from which to retrieve the copy of the data object;or restore nodes to use to restore a plurality of data objects concurrently;or a combination thereof.
  17. 26
    A system according to any one of claims 19 to 25, wherein the instructions when executed by the processor further cause the processor to:retrieve at least one user selectable preference;identify a first subset of data from within a data set according to the at least one user selectable preference, the first subset of data containing less than all of the data in the data set, wherein the identified data objects are within a second subset of data, the second subset of data containing less than all of the data in the first subset of data;and wherein the stored data objects are retrieved from the second subset of data.
  18. 27
    A system according to any one of claims 19 to 26, wherein said storing and retrieving of the data objects is at a granular level.
  19. 29
    A method for distributed computing backup and recovery, including:receiving, into a memory via an interface controlled by a processor connected to a network in a computing environment, a data object storage request that identifies a 2012232945 19 Jun 2014 data object to store, or a data object retrieval request, that identifies a data object stored at a storage time to retrieve;evaluating, using the processor, a hash function stored in the memory to determine network storage locations or network retrieval locations, or both, for the data object to store or retrieve;storing at each of the determined network storage locations at a storage time, the data object identified by the data object storage request, where the stored data object is identified as a replica of the data object stored at each of the network storage locations at said storage time;retrieving from the determined network retrieval locations from a backup of the computing environment, using the processor connected to the network, the data object stored at said storage time identified by the data object retrieval request, where the stored data object is one of a plurality of data objects stored at a plurality of associated storage times of a dataset identified as the backup of the computing environment.
Independent claims19