Replication of snapshot using a file system copy differential
First Claim
1. A method of operating a snapshot copy facility that stores a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point,in time, said method comprising:
- the snapshot copy facility receiving a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies; and
the snapshot copy facility responding to the request by returning the difference between the specified older one of the snapshot copies and the specified younger one of the snapshot copies.
9 Assignments
0 Petitions
Accused Products
Abstract
A snapshot copy facility stores snapshot copies of a production, file system. The snapshot copy facility receives a request for the difference between a specified older snapshot,copy and a specified younger snapshot copy, and responds by returning the difference between the older snapshot copy and the younger snapshot copy. In a preferred implementation, the snapshot copy facility has an index for each snapshot copy for indicating blocks of data in the production file system that have changed between the snapshot copy and a next snapshot copy of the production file system. The indices are scanned for a sequence of the snapshot copies to determine the blocks that have changed, and the snapshot copy facility returns the block numbers and data in the younger snapshot copy for the blocks that have changed.
-
Citations
66 Claims
-
1. A method of operating a snapshot copy facility that stores a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point,in time, said method comprising:
-
the snapshot copy facility receiving a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies; and
the snapshot copy facility responding to the request by returning the difference between the specified older one of the snapshot copies and the specified younger one of the snapshot copies. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of operating a snapshot copy facility that stores a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time, the snapshot copy facility having an index for each snapshot copy for indicating blocks of data in the production file system that have changed between said each snapshot copy and a next snapshot copy of the production file system, wherein the method comprises:
scanning the indices for a sequence of the snapshot copies to determine the blocks that have changed between an older one of the snapshot copies and a younger one of the snapshot copies, the sequence of the snapshot copies including the older one of the snapshot copies and each of the snapshot copies that is both younger than the older one of the snapshot copies and older than the younger one of the snapshot copies. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
17. A method of operating a snapshot copy facility that stores a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective, point in time, the snapshot copy facility having a first index for each snapshot copy for indicating blocks of data in the production file system that have changed between said each snapshot copy and a next snapshot copy of the production file system and that have a “
- before image”
saved for said each snapshot copy, the snapshot copy facility having a second index for said each snapshot copy for indicating blocks of data that are not in use in said each snapshot copy;
said method comprising;
responding to a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies by accessing the second index for the specified younger one of the snapshot copies to determine blocks of data in the production file system that are in use in the specified younger one of the snapshot copies, and for blocks of data in the production file system that are in use in the specified younger one of the snapshot copies, accessing at least one of the first indices for a sequence of the snapshot copies to determine blocks that have changed between an older one of the snapshot copies and a younger one of the snapshot copies, the sequence of the snapshot copies including the older one of the snapshot copies and each of the snapshot copies that is both younger than the older one of the snapshot copies and older than the younger one of the snapshot copies. - View Dependent Claims (18)
- before image”
-
19. A method of operating a network file server, the network file server having a snapshot copy facility for storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time, said method comprising:
-
the network file server receiving a request for an update to a specified snapshot copy of the production file system;
the network file server responding to the request by checking whether the snapshot copy facility contains the specified snapshot copy of the production file system, and upon finding that the snapshot copy facility contains the specified snapshot copy of the production file system, the network file server returning the difference between the specified snapshot copy of the production file system and a more recent snapshot copy, of the production file system. - View Dependent Claims (20, 21, 22)
-
-
23. In a data processing network having a client and a network file server, the network file server storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time, the client having a local version of an older one of the snapshot copies, a method of providing the client with a younger one of the snapshot copies, the method comprising:
-
the network file server determining the difference between the younger one of the snapshot copies and the older one of the snapshot copies;
the network file server transmitting the difference between the younger one of the snapshot copies and the older one of the snapshot copies to the local version of the older one of the snapshot copies; and
writing the difference between the younger one of the snapshot copies and the older one of the snapshot copies into the local version of the older one of the snapshot copies to produce a local version of the younger one of the snapshot copies. - View Dependent Claims (24, 25)
-
-
26. A snapshot copy facility comprising:
-
storage for storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time; and
at least one processor programmed for receiving a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies; and
for responding to the request by returning the difference between the specified older one of the snapshot copies and the specified younger one of the snapshot copies. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A snapshot copy facility comprising:
-
storage for storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time;
an index for each snapshot copy for indicating blocks of data in the production file system that have changed between said each snapshot copy and a next snapshot copy of the production file system, and at least one processor programmed for scanning the indices for a sequence of the snapshot copies to determine the blocks that have changed between an older one of the snapshot copies and a younger one of the snapshot copies, the sequence of the snapshot copies including the older one of the snapshot copies and each of the snapshot copies that is both younger than the older one of the snapshot copies and older than the younger one of the snapshot copies. - View Dependent Claims (36, 37, 38, 39, 40, 41)
-
-
42. A snapshot copy facility comprising:
-
storage for storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time;
a first index for each snapshot copy for indicating blocks of data in the production file system that have changed between said each snapshot copy and a next snapshot copy of the production file system and that have a “
before image”
for said each snapshot copy stored in the storage,a second index for each snapshot copy for indicating blocks of data that are not in use in said each snapshot copy, and at least one processor programmed for responding to a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies by accessing the second index for the specified younger one of the snapshot copies to determine blocks of data in the production file system that are in use in the specified younger one of the snapshot copies, and for blocks of data in the production file system that are in use in the specified younger one of the snapshot copies, accessing at least one of the first indices for a sequence of the snapshot copies to determine blocks that have changed between an older one of the snapshot copies and a younger one of the snapshot copies, the sequence of the snapshot copies including the older one of the snapshot copies and each of the snapshot copies that is both younger than the older one of the snapshot copies and older than the younger one of the snapshot copies. - View Dependent Claims (43)
-
-
44. A network file server comprising a snapshot copy facility for storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time,
wherein the network file server is programmed for receiving a request, for an update to a specified snapshot copy of the production file system, and responding to the request by checking whether the snapshot copy facility contains the specified snapshot copy of the production file system, and upon finding that the snapshot copy facility contains the specified snapshot copy of the production file system, returning the difference between the specified snapshot copy of the production file system and a more recent snapshot copy of the production file system.
- 49. A program storage device containing a program for a snapshot copy facility, the snapshot copy facility storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time, wherein the program is executable for responding to a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies by returning the difference between the specified older one of the snapshot copies and the specified younger one of the snapshot copies.
- 55. A program storage device containing a program for a snapshot copy facility, the snapshot copy facility having a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time, and an index for each snapshot copy for indicating blocks of data in the production file system that have changed between said each snapshot copy and a next snapshot copy of the production file system, wherein the program is executable for scanning the indices for a sequence of the snapshot copies to determine the blocks that have changed between an older one of the snapshot copies and a younger one of the snapshot copies, the sequence of the snapshot copies including the older one of the snapshot copies and each of the snapshot copies that is both younger than the older one of the snapshot copies and older than the younger one of the snapshot copies.
-
60. A program storage device containing a program for a snapshot copy facility, the snapshot copy facility having a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point in time, a first index for each snapshot copy for indicating blocks of data in the production file system that have changed between said each snapshot copy and a next snapshot copy of the production file system and that have a “
- before image”
for said each snapshot copy stored in the snapshot copy facility, and a second index for each snapshot copy for indicating blocks of data that are not in use in said each snapshot copy, wherein the program is executable for responding to a request for the difference between a specified older one of the snapshot copies and a specified younger one of the snapshot copies by accessing the second index for the specified younger one of the snapshot copies to determine blocks of data in the production file system that are in use in the specified younger one of the snapshot copies, and for blocks of data in the production file system that are in use in the specified younger one of the snapshot copies, accessing at least one of the first indices for a sequence of the snapshot copies to determine blocks that have changed between an older one of the snapshot copies and a younger one of the snapshot copies, the sequence of the snapshot copies including the older one of the snapshot copies and each of the snapshot copies that is both younger than the older one of the snapshot copies and older than the younger one of the snapshot copies. - View Dependent Claims (61)
- before image”
-
62. A program storage device containing a program for a network file server, the network file server including a snapshot copy facility for storing a plurality of snapshot copies of a production file system, each of the snapshot copies being a prior state of the production file system at a respective point,in time,
wherein the program is executable for receiving a request for an update to a specified snapshot copy of the production file system, and responding to the request by checking whether the snapshot copy facility contains the specified snapshot copy of the production file system, and upon finding that the snapshot copy facility contains the specified snapshot copy of the production file system, returning the difference between the specified snapshot copy of the production file system and a more recent snapshot copy of the production file system.
Specification