Patent ID: 8301654

Claim:
A geographically distributed storage system comprising: a plurality of logical storage systems, wherein one of said logical storage systems is a global peer-to-peer ring, wherein at least one of the other logical storage systems is a local peer-to-peer ring, wherein said global peer-to-peer ring includes all storage nodes in the geographically distributed storage system connected to each other via a first network, and said local peer-to-peer ring includes storage nodes connected to each other via a second network which forms a part of the first network, wherein each storage node connected to the second network belongs to both said global peer-to-peer ring and said local peer-to-peer ring, wherein each storage node includes global management information concerning said global peer-to-peer ring and local management information concerning said local peer-to-peer ring, wherein the global management information includes a second network node table which is used for managing topology information of second networks forming a part of the first network, a metadata table which is used for managing locations of data stored in the storage nodes of the geographically distributed storage system, and a global routing table which is used for managing routing in the global peer-to-peer ring, wherein the local management information includes an object management table which is used for managing data objects stored in the storage nodes connected to the second network, a Logical Unit Management Table which is used for managing logical units in the storage nodes connected to the second network that store the data objects, and a local routing table which is used for managing routing in the local peer-to-peer ring, wherein in the global peer-to-peer ring: a hash value of a file which is managed by a storage node in is calculated using a file name which indicates a name of the file which is managed by the storage node, the storage node managing the file is determined using the calculated hash value of the file which is managed by the storage node, the storage node is requested to obtain an Internet Service Provider name corresponding to the file name from the meta data table, a hash value of the Internet Service Provider name is calculated, the storage node which manages an Internet Service Provider node table of the Internet Service Provider is determined using the calculated hash value of the Internet Service Provider, and the storage node uses the Internet Service Provider name to find nodes that constitute the Internet Service Provider using the Internet Service Provider table, and wherein in the local peer-to-peer ring: a storage node of the local peer-to-peer ring managing the object management table is determined using the calculated hash value of the file which is managed by the storage node, and a path name, which is a name of a path used to access a file containing a data object in a local storage of a storage node, is obtained from the object management table, and the data object is requested.