System and method for distributed network data storage
First Claim
1. A data storage method comprising:
- receiving a data set from a client;
defining a virtual device to include device portions on a plurality of network servers said step of defining said virtual device including determining the number of data portions into which said data set is to be parsed, selecting a number of servers from said plurality of servers corresponding to said number of data portions, and defining a data portion file for each selected server to store a corresponding one of said data portions;
parsing said data set into a plurality of data portions;
writing each of said data portions to a corresponding one of said device portions by transmitting each of said data portions to a corresponding one of said network servers as a corresponding one of said data portion files;
transmitting a commit signal to each of said corresponding network servers, said commit signals causing said network servers to commit said data portions to memory;
transmitting a ready signal to a backup controller after transmitting each of said data portions to a corresponding one of said network servers; and
transmitting a done signal to said backup controller after transmitting said commit signals to said servers;
whereby said backup controller responsive to receiving said ready signal and not receiving said done signal, transmits a commit signal to said corresponding network servers.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed network data storage method includes receiving a data set from a client, defining a virtual device to include a plurality of device portions each on one of a plurality of network servers, parsing the data set into a plurality of data portions, and writing each of the data portions to a corresponding one of the virtual device portions. Methods are also disclosed for securely writing data to the virtual devices, and for identifying and reconstructing corrupt data. A system for implementing the data storage/retrieval method includes a plurality of network servers, each running a distributed RAID server application. The servers communicate with clients via a first network, and with each other via a second network.
-
Citations
123 Claims
-
1. A data storage method comprising:
-
receiving a data set from a client; defining a virtual device to include device portions on a plurality of network servers said step of defining said virtual device including determining the number of data portions into which said data set is to be parsed, selecting a number of servers from said plurality of servers corresponding to said number of data portions, and defining a data portion file for each selected server to store a corresponding one of said data portions; parsing said data set into a plurality of data portions; writing each of said data portions to a corresponding one of said device portions by transmitting each of said data portions to a corresponding one of said network servers as a corresponding one of said data portion files; transmitting a commit signal to each of said corresponding network servers, said commit signals causing said network servers to commit said data portions to memory; transmitting a ready signal to a backup controller after transmitting each of said data portions to a corresponding one of said network servers; and transmitting a done signal to said backup controller after transmitting said commit signals to said servers; whereby said backup controller responsive to receiving said ready signal and not receiving said done signal, transmits a commit signal to said corresponding network servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86)
-
-
87. A data storage system comprising:
-
a network interface to facilitate communication with clients and with a plurality of network servers; and a file server, responsive to receiving a file to be stored from one of said clients, and operative to define a virtual device to include device portions on said plurality of network servers, to parse said file into a plurality of file portions, and to write each of said file portions to a corresponding one of said device portions, said file server including a client process for receiving said file from said client and a distribution controller, responsive to said client process, and operative to determine the number of file portions into which said file is to be parsed, to select a number of servers from said plurality of servers corresponding to said number of file portions, and to define a portion file for each selected server to store a corresponding one of said file portions; and an input/output process, responsive to receiving requests for locally stored portion files from said distribution controller, and operative to retrieve and transmit said portion files to said distribution controller; and
whereinsaid distribution controller is further operative to transmit a commit signal to each of said corresponding network servers, said commit signals causing said network servers to commit said portion files to memory, to transmit a ready signal to a backup controller after transmitting each of said portion files to a corresponding one of said network servers, and to transmit a done signal to said backup controller after transmitting said commit signals to said servers; whereby said back controller, responsive to receiving said ready signal and not receiving said done signal, transmits a commit signal to said corresponding network servers. - View Dependent Claims (88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123)
-
Specification