Creating copies of space-reduced files in a file server having a redundant data elimination store
First Claim
1. A computer-implemented method of operating a file server having a redundant data elimination store, said method comprising:
- (a) creating a baseline version of a file in the file server, the baseline version of the file including data blocks that are in the file server and that are not shared with other files in the file server; and
then(b) space reducing the file by converting the baseline version of the file to a stub version of the file, the stub version of the file being contained in the file server and including data blocks that are in the file server and that are shared with other files in the file server, wherein the conversion of the baseline version of the file to the stub version of the file includes replacing at least some of the data blocks that are not shared with other files in the file server with data blocks that are in the file server and that are shared with other files in the file server and that are included in the stub version of the file; and
then(c) receiving a request from a client of the file server for creating at least one copy of the file; and
then(d) responding to the request from the client of the file server by creating in said file server at least one copy of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and said at least one copy of the stub version of the file;
wherein the request from the client of the file server specifies a certain number of multiple copies, and wherein the method includes further responding to the request from the client of the file server by creating in the file server the certain number of multiple copies of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and each of the multiple copies of the stub version of the file.
9 Assignments
0 Petitions
Accused Products
Abstract
A file server having a redundant data elimination store responds to requests from clients for copies of space-reduced files. For reduced storage requirements and reduced processing time, a baseline version of unshared data blocks is created in the file server, and then the baseline version is space reduced by conversion to a stub version of shared data blocks, and then the file server responds to a request from a client for creation of one or more space-reduced copies by cloning the stub version. The file server may also respond to a request for creation of a modified space-reduced copy having specified data written at a specified offset. For example, the file server creates a respective modified copy of a virtual server image file for use by each client of the file server.
-
Citations
9 Claims
-
1. A computer-implemented method of operating a file server having a redundant data elimination store, said method comprising:
-
(a) creating a baseline version of a file in the file server, the baseline version of the file including data blocks that are in the file server and that are not shared with other files in the file server; and
then(b) space reducing the file by converting the baseline version of the file to a stub version of the file, the stub version of the file being contained in the file server and including data blocks that are in the file server and that are shared with other files in the file server, wherein the conversion of the baseline version of the file to the stub version of the file includes replacing at least some of the data blocks that are not shared with other files in the file server with data blocks that are in the file server and that are shared with other files in the file server and that are included in the stub version of the file; and
then(c) receiving a request from a client of the file server for creating at least one copy of the file; and
then(d) responding to the request from the client of the file server by creating in said file server at least one copy of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and said at least one copy of the stub version of the file; wherein the request from the client of the file server specifies a certain number of multiple copies, and wherein the method includes further responding to the request from the client of the file server by creating in the file server the certain number of multiple copies of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and each of the multiple copies of the stub version of the file.
-
-
2. A computer-implemented method of operating a file server having a redundant data elimination store, said method comprising:
-
(a) creating a baseline version of a file in the file server, the baseline version of the file including data blocks that are in the file server and that are not shared with other files in the file server; and
then(b) space reducing the file by converting the baseline version of the file to a stub version of the file, the stub version of the file being contained in the file server and including data blocks that are in the file server and that are shared with other files in the file server, wherein the conversion of the baseline version of the file to the stub version of the file includes replacing at least some of the data blocks that are not shared with other files in the file server with data blocks that are in the file server and that are shared with other files in the file server and that are included in the stub version of the file; and
then(c) receiving a request from a client of the file server for creating at least one copy of the file; and
then(d) responding to the request from the client of the file server by creating in said file server at least one copy of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and said at least one copy of the stub version of the file; wherein the file server is included in a data processing system including a workstation of a system administrator and workstations of users, the client of the file server is the workstation of a system administrator, and the request is a request for creating a copy of a virtual server image file for the workstation of one of the users. - View Dependent Claims (3)
-
-
4. A computer-implemented method of operating a file server having a redundant data elimination store, said method comprising:
-
(a) receiving a request from a client of the file server for creating a modified copy of a specified file, the request specifying an offset and specifying data to be included at the specified offset in the modified copy of the specified file; and (b) responding to the request from the client of the file server by creating a copy of a stub version of the file, the stub version of the file including data blocks that are in the file server and that are shared with the copy of the stub version of the file, and writing the specified data to the specified offset in the copy of the stub version of the file. - View Dependent Claims (5, 6, 7)
-
-
8. A file server comprising:
-
a network adapter for receiving requests from network clients; a redundant data elimination store for storing data blocks that are shared among files in the file server; and at least one data processor programmed for creating a baseline version of a file in the file server, the baseline version of the file including data blocks that are in the file server and that are not shared with other files in the file server, and then space reducing the file by converting the baseline version of the file to a stub version of the file, the stub version of the file being contained in the file server and including data blocks that are in the file server and that are shared with other files in the file server, wherein the conversion of the baseline version of the file to the stub version of the file includes replacing at least some of the data blocks that are not shared with other files in the file server with data blocks that are in the file server and that are shared with other files in the file server and that are included in the stub version of the file; wherein said at least one data processor is also programmed for receiving a request from one of the network clients for creating at least one copy of the file, and then responding to the request from said one of the network clients by creating in said file server at least one copy of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and said at least one copy of the stub version of the file; and wherein the request from said one of the network clients specifies a certain number of multiple copies, and wherein said at least one data processor is programmed for further responding to the request from said one of the network clients by creating in the file server the certain number of multiple copies of the stub version of the file, and each of the multiple copies of the stub version of the file shares the data blocks that are included in the stub version of the file.
-
-
9. A file server comprising:
-
a network adapter for receiving requests from network clients; a redundant data elimination store for storing data blocks that are shared among files in the file server; and at least one data processor programmed for creating a baseline version of a file in the file server, the baseline version of the file including data blocks that are in the file server and that are not shared with other files in the file server, and then space reducing the file by converting the baseline version of the file to a stub version of the file, the stub version of the file being contained in the file server and including data blocks that are in the file server and that are shared with other files in the file server, wherein the conversion of the baseline version of the file to the stub version of the file includes replacing at least some of the data blocks that are not shared with other files in the file server with data blocks that are in the file server and that are shared with other files in the file server and that are included in the stub version of the file; wherein said at least one data processor is also programmed for receiving a request from one of the network clients for creating at least one copy of the file, and then responding to the request from said one of the network clients by creating in said file server at least one copy of the stub version of the file so that the data blocks of the stub version of the file are shared between the stub version of the file and said at least one copy of the stub version of the file; wherein the request from said one of the network clients specifies an offset and specifies data, and wherein said at least one data processor is programmed for responding to the request from said one of the network clients by writing the specified data to said at least one copy of the stub version of the file to produce a modified copy of the stub version of the file containing the specified data at the specified offset; and wherein the request is a request for creating a copy of a virtual server image file for a particular client of the file server, and the specified data is identity information identifying the copy of the virtual server image file for the particular client of the file server.
-
Specification