Creating copies of space-reduced files in a file server having a redundant data elimination store
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-017/00
G06F-017/30
출원번호
US-0236466
(2008-09-23)
등록번호
US-9152628
(2015-10-06)
발명자
/ 주소
Stacey, Christopher H.
Cardente, John T.
출원인 / 주소
EMC Corporation
대리인 / 주소
Auchterlonie, Richard
인용정보
피인용 횟수 :
3인용 특허 :
12
초록▼
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
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.
대표청구항▼
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
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. 3. The computer-implemented method as claimed in claim 2, wherein the request from the client of the file server specifies an offset and specifies data, and wherein the method includes further responding to the request from the client of the file server by writing the specified data to the specified offset in said at least one copy of the stub version of the file, and the specified data is identity information for identifying the copy of the virtual server image file for the workstation of one of the users. 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. 5. The computer-implemented method as claimed in claim 4, which further includes the file server maintaining reference counters indicating when the data blocks in the redundant data elimination store are no longer shared with any other file in the file server. 6. The computer-implemented method as claimed in claim 5, wherein the file server is included in a data processing system including a workstation of a system administrator and workstations of multiple users, the client is the workstation of a system administrator, the request is a request for creating a copy of a virtual server image file for the workstation of one of the users, and the specified data is identity information for identifying the copy of the virtual server image file for the workstation of one of the users. 7. The computer-implemented method as claimed in claim 4, which includes further responding to the request from the client of the file server by linking the specified data to the copy of the stub version of the specified file, and then searching the redundant data elimination store for a copy of the specified data, and upon finding that the redundant data elimination store contains a copy of the specified data, unlinking the specified data from the copy of the stub version of the specified file and linking the copy of the specified data in the redundant data elimination store to the copy of the stub version of the specified file. 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; andat 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; andwherein 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; andat 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; andwherein 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.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (12)
Small Hunter, Apparatus and method for efficiently updating files in computer networks.
Bober, Paul M.; Vahalia, Uresh; John, Aju; Alexander, Jeffrey L.; Gupta, Uday K., Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems.
William J. Bolosky ; John R. Douceur ; Scott M. Cutshall ; Richard F. Rashid ; Nathan P. Myhrvold ; David A. Goebel, Single instance store for file systems.
Oliveira,Fernando; Glade,Bradford B.; Brown,Jeffrey A.; McCann,Peter J.; Harvey,David; Wentworth, III,James A.; Caritj,Walter M.; Waxman,Matthew; VanTine,Lee W., System and method for managing storage networks and providing virtualization of resources in such a network.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.