IP Library Granted Patent US 8,856,233
Granted Patent B2
US 8,856,233 · App. 13/619,741 · Granted Oct 7, 2014

Peer-to-peer redundant file server system and methods

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,856,233
App. No.
13/619,741
Granted
Oct 7, 2014
Kind
B2
Abstract

Peer-to-peer redundant file server system and methods include clients that determine a target storage provider to contact for a particular storage transaction based on a pathname provided by the filesystem and a predetermined scheme such as a hash function applied to a portion of the pathname. Servers use the same scheme to determine where to store relevant file information so that the clients can locate the file information. The target storage provider may store the file itself and/or may store metadata that identifies one or more other storage providers where the file is stored. A file may be replicated in multiple storage providers, and the metadata may include a list of storage providers from which the clients can select (e.g., randomly) in order to access the file.

Claims (22)

1. A storage system comprising:

a client; and

at least one storage provider in communication with the client over a communication network, the storage provider including a plurality of storage servers, each server including a plurality of storage nodes, wherein the storage nodes are grouped into peer sets with one storage node of each peer set associated with one storage server of the plurality of storage servers,

wherein each storage node of a peer set is configured for synchronization of file storage metadata and file data with other storage nodes of the peer set,

wherein the storage nodes of each peer set have different roles when interacting with client requests.

2. The storage system according to claim 1 , wherein each storage node within a peer set is managed by a different storage server of the plurality of storage servers.

3. The storage system according to claim 2 , wherein at least some storage servers are associated with a multicast address and wherein the client communicates with the at least some storage servers using the multicast address.

4. The storage system according to claim 1 , wherein the storage nodes of each peer set are assigned different roles.

5. The storage system of claim 4 , wherein the roles include at least a primary that acts as a proxy and a secondary that acts as the proxy if the primary is unable to do so.

6. The storage system of claim 1 , wherein one of the storage nodes is designated as a proxy for the plurality of storage nodes, the proxy configured to manage storage of data among the plurality of storage nodes of the peer set.

7. The storage system of claim 1 , wherein each request sent to a peer set is processed by each member of the peer set to determine which storage node of the peer set will handle the request.

8. The storage system of claim 7 , wherein each member of the peer set is configured to determine whether it should handle the request based on information in the request received at the storage node without further communication with other members of the peer set.

9. The storage system of claim 7 , wherein processing each request comprises hashing at least a portion of the request to determine whether the peer member is responsible for the request.

10. The storage system of claim 9 , wherein the portion of the requests includes one or more of a message identifier included in the request and an address of the client transmitting the request.

11. The storage system of claim 7 , wherein if a given peer node determines it is responsible for processing the request, the given peer node is configured to provide the requested storage information, and

otherwise, the given peer node ignores the request.

12. The storage system of claim 1 , wherein the roles include at least a primary that acts as a proxy and a secondary that acts as the proxy if the primary is unable to do so.

13. A method of storing electronic data, the method comprising:

associating a plurality of storage servers with at least one storage provider;

associating a plurality of storage nodes with each storage server, wherein each storage node is associated with at least one storage server;

identifying a group for each storage node, the group indicating a peer set wherein each storage node of a peer set is configured for synchronization of file storage metadata and file data with other storage nodes of the peer set; and

assigning roles for interacting with client requests to each storage node of the peer set.

Assignments (4)
SECURITY INTEREST Recorded Nov 2, 2020
From: OVERLAND STORAGE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 054237/0284 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2018
From: FBC HOLDINGS S.A R.L
To: SPHERE 3D CORP; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
Reel/Frame 047605/0027 →
SECURITY INTEREST Recorded Jun 20, 2017
From: OVERLAND STORAGE, INC.; SPHERE 3D CORP.; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.
To: OPUS BANK
Reel/Frame 042921/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2014
From: MAXISCALE (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: OVERLAND STORAGE, INC.
Reel/Frame 033721/0463 →