FILE CONSISTENCY IN SHARED STORAGE USING PARTIAL-EDIT FILES
First Claim
1. A network-attached storage device (NAS) comprising:
- a non-volatile memory module;
a network interface; and
control circuitry coupled to the non-volatile memory module and to the network interface and configured to;
connect to a first client over a network connection using the network interface;
receive, from the first client, a request to access a first portion of an existing file stored in the non-volatile memory module;
create a first partial-edit file based on the existing file;
receive, from the first client, modifications associated with the first portion of the existing file;
modify the first partial-edit file according to the received modifications; and
at least partially overwrite the existing file with at least a portion of the first partial-edit file.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for managing partial-edit files for shared storage applications. A network-attached storage device (NAS) includes a non-volatile memory module, a network interface, and control circuitry configured to connect to a first client over a network connection using the network interface, receive, from the first client, a request to access a first portion of an existing file stored in the non-volatile memory module, create a first partial-edit file based on the existing file, receive modifications associated with the first portion of the existing file from the first client, modify the first partial-edit file according to the received modifications, and at least partially overwrite the existing file with at least a portion of the first partial-edit file.
36 Citations
24 Claims
-
1. A network-attached storage device (NAS) comprising:
-
a non-volatile memory module; a network interface; and control circuitry coupled to the non-volatile memory module and to the network interface and configured to; connect to a first client over a network connection using the network interface; receive, from the first client, a request to access a first portion of an existing file stored in the non-volatile memory module; create a first partial-edit file based on the existing file; receive, from the first client, modifications associated with the first portion of the existing file; modify the first partial-edit file according to the received modifications; and at least partially overwrite the existing file with at least a portion of the first partial-edit file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising:
-
a data storage module; a network interface; and control circuitry coupled to the data storage module and to the network interface and configured to; connect to a data storage server over a network connection using the network interface; send, to the data storage server, a request for a portion of a file stored at the data storage server; send a request to the data storage server to create, at the data storage server, a partial-edit file based on the file; receive, from the data storage server, the portion of the file; store the portion of the file in the data storage module; generate modifications to the portion of the file stored in the data storage module; send, to the data storage server, the modifications to modify the partial-edit file at the data storage server; and send, to the data storage server, a request to commit the partial-edit file. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A data storage server comprising:
-
a non-volatile memory module comprising a user data space and a partial-edit file space separate from the user data space; a network interface; and control circuitry coupled to the non-volatile memory module and to the network interface and configured to; maintain a client-viewable file system that references files stored in the user data space; connect to a client over a network connection using the network interface; receive, from the client, a new file not previously stored in the non-volatile memory module; create a partial-edit file in the partial-edit file space based on the new file; receive, from the client, modifications associated with the new file; modify the partial-edit file in the partial-edit file space according to the received modifications; copy the modified partial-edit file to the user data space as part of a new file system file; and add, to the file system, a reference to the new file system file. - View Dependent Claims (22, 23, 24)
-
Specification