Distributed network data storage system and method
First Claim
1. A system for distributed file storage comprising:
- a plurality of host servers; and
a list of neighbor servers maintained by each server, wherein the neighbor servers are a subset of the plurality of hosting servers, and wherein at least one server of the plurality of hosting servers is switched into a neighbor group of servers based on network distance,wherein each file is stored in the form of a plurality of N pieces on N servers, the pieces being generated form the file, andwherein the list is used to obtain information for reconstructing files stored on the neighbor servers, such that any K out of the N pieces can be used to reconstruct any file, such that K<
N, and the reconstruction of the file is guaranteed with at least K pieces and is impossible with fewer than K pieces;
wherein a server belonging to more than one group acts as a boundary server,wherein boundary servers are used to transfer pieces of the file to servers of groups other than a group to which a client has connected andwherein, when a new server is connected to one of the groups, the new server uses information of the boundary servers to connect to a group so as to have optimal server-to-server response time to its neighbors within its group.
6 Assignments
0 Petitions
Accused Products
Abstract
A system for distributed file storage includes a plurality of servers providing, to a plurality of clients, file access services for accessing files stored on the plurality of servers. A list of neighbor servers is maintained by each server. The neighbor servers are a subset of the plurality of servers. At least one server of the plurality of servers is switched into a neighbor group of servers based on network distance. Each file is stored in the form of a plurality of N pieces on N servers, the pieces being generated from the file. The list is used to obtain information for reconstructing files stored on the neighbor servers, such that any K out of the N pieces can be used to reconstruct any file.
50 Citations
22 Claims
-
1. A system for distributed file storage comprising:
-
a plurality of host servers; and a list of neighbor servers maintained by each server, wherein the neighbor servers are a subset of the plurality of hosting servers, and wherein at least one server of the plurality of hosting servers is switched into a neighbor group of servers based on network distance, wherein each file is stored in the form of a plurality of N pieces on N servers, the pieces being generated form the file, and wherein the list is used to obtain information for reconstructing files stored on the neighbor servers, such that any K out of the N pieces can be used to reconstruct any file, such that K<
N, and the reconstruction of the file is guaranteed with at least K pieces and is impossible with fewer than K pieces;wherein a server belonging to more than one group acts as a boundary server, wherein boundary servers are used to transfer pieces of the file to servers of groups other than a group to which a client has connected and wherein, when a new server is connected to one of the groups, the new server uses information of the boundary servers to connect to a group so as to have optimal server-to-server response time to its neighbors within its group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for distributed file storage comprising:
-
on a plurality of hosting servers, providing, to a plurality of clients, file access services for accessing files stored on the plurality of hosting servers; and on each server, maintaining a list of neighbor servers, wherein the neighbor servers are a subset of the plurality of servers; switching at least one server of the plurality of hosting servers into a neighbor group of servers based on network distance, storing each file in the form of a plurality of N pieces on N servers, the pieces being generated form the file, and wherein the list is used to obtain information for reconstructing files stored on the neighbor servers, such that any K out of the N pieces can be used to reconstruct any file, such that K<
N, and the reconstruction of the file is guaranteed with at least K pieces and is impossible with fewer than K pieces;wherein a server belonging to more than one group acts as a boundary server, wherein boundary servers are used to transfer pieces of the file to servers of groups other than a group to which a client has connected and wherein, when a new server is connected to one of the groups, the new server uses information of the boundary servers to connect to a group so as to have optimal server-to-server response time to its neighbors within its group. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for distributed filed storage comprising:
-
a plurality of hosting servers providing, to a plurality of clients, file access services for accessing files stored on the plurality of hosting servers; a file stored in the form of a plurality of N pieces on N of the servers, the pieces being generated from the file, such that K<
N; anda dynamic list of neighbor servers maintained by each server, wherein the neighbor servers are a subset of the plurality of hosting servers, and wherein at least one server of the plurality of servers is switched into a neighbor group of servers based on minimizing network distance, wherein the list is used to obtain information for reconstructing files stored on the neighbor servers, and the reconstruction of the file is guaranteed with at least K pieces and is impossible with fewer than K pieces; wherein a server belonging to more than one group acts as a boundary server, wherein boundary servers are used to transfer pieces of the file to servers of groups other than a group to which a client has connected and wherein, when a new server is connected to one of the groups, the new server uses information of the boundary servers to connect to a group so as to have optimal server-to-server response time to its neighbors within its group.
-
-
22. A system for distributed file storage comprising:
-
a plurality of hosting servers providing, to a plurality of clients, file access services for accessing files stored on the plurality of hosting servers; wherein the hosting servers are organized into a plurality of groups so as to minimize network distance between hosting servers of the same group; wherein a server belonging to more than one group acts as a boundary server, wherein, when a new server is connected to one of the groups, the new server uses information of the boundary servers to connect to a group so as to have optimal network distance to its neighbors within its group, wherein, when one server is disconnected from the system, the remaining servers reconfigure their groups so as to have optimal server-to-server response times to their neighbors within their groups; and a dynamic list of neighbor servers of each server'"'"'s group maintained by each server, wherein the neighbor servers are a subset of the plurality of servers, wherein each file is stored on the servers in the form of a plurality of N pieces generated from the file, and the reconstruction of the file is guaranteed with at least K pieces and is impossible with fewer than K pieces, such that K<
N,wherein any client can use any of the plurality of servers to access any of its files stored on the system, and wherein boundary servers are used to transfer pieces of the file to servers of groups other than a group to which a client has connected.
-
Specification