Patent ID: 7574527

Claim:
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.