Patent ID: 7844775

Claim:
A distributed shared storage system, comprising: a plurality of client systems; a plurality of independent storage units for storing a plurality of files, each file comprising a plurality of segments of data, each of the plurality of segments being identified by a file identifier corresponding to the file from which that segment originates and a segment identifier; wherein a client requests a segment of data by providing the segment identifier corresponding to the requested segment and the file identifier corresponding to the requested segment; wherein for each of the plurality of files, segments of the file are distributed among the plurality of storage units by using a mapping based on a linear function of the segment identifier for each segment, wherein the function is reduced modulo n, wherein n is the number of independent storage units in the distributed shared storage system, and wherein, a segment identified by segment identifier i of the file is mapped onto storage element e in accordance with a formula e =( s+ik )mod n, wherein s is an offset, and k is a stride, wherein the offset and the stride are generated from a seed value associated with the file, and k is relatively prime to n,