Adaptive storage block data distribution
First Claim
Patent Images
1. A system comprising:
- a plurality of equivalent servers each being responsible for serving a portion of stored data blocks in response to client requests for access to the data blocks;
each of said plurality of equivalent servers having a respective data mover process capable of communicating with another respective data mover process on another server of said plurality of equivalent servers, for coordinating movement of data blocks between the plurality of equivalent servers;
each of said plurality of equivalent servers also having a respective request monitor process communicating with another respective request monitor process on another server of said plurality of equivalent servers;
each of said respective request monitor process monitoring client requests to its respective server and communicating with the other respective request monitor processes on the other equivalent servers to maintain global request information for the plurality of equivalent servers;
said global request information identifying patterns in the client requests made to the plurality of equivalent servers collectively; and
each of said data mover processes reallocating the blocks of data of the identified patterns from one server to another server of the plurality of equivalent servers based on operational characteristics of the plurality of equivalent servers and the identified patterns.
15 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for providing an efficient partitioned resource server. In one embodiment, the partitioned resource server comprises a plurality of individual servers, and the individual servers appear to be equivalent to a client. Each of the individual servers may include a routing table that includes a reference for each resource that is maintained on the partitioned resource server. Requests from a client are processed as a function of the routing table to route the request to the individual server that maintains or has control over the resource of interest.
-
Citations
21 Claims
-
1. A system comprising:
-
a plurality of equivalent servers each being responsible for serving a portion of stored data blocks in response to client requests for access to the data blocks; each of said plurality of equivalent servers having a respective data mover process capable of communicating with another respective data mover process on another server of said plurality of equivalent servers, for coordinating movement of data blocks between the plurality of equivalent servers; each of said plurality of equivalent servers also having a respective request monitor process communicating with another respective request monitor process on another server of said plurality of equivalent servers; each of said respective request monitor process monitoring client requests to its respective server and communicating with the other respective request monitor processes on the other equivalent servers to maintain global request information for the plurality of equivalent servers; said global request information identifying patterns in the client requests made to the plurality of equivalent servers collectively; and each of said data mover processes reallocating the blocks of data of the identified patterns from one server to another server of the plurality of equivalent servers based on operational characteristics of the plurality of equivalent servers and the identified patterns. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A process for providing block level data storage, comprising:
-
providing a plurality of equivalent servers each being responsible for serving a portion of stored data blocks in response to client requests for access to the stored data blocks each monitoring client requests received by a respective equivalent server; each of said plurality of equivalent servers having a respective request monitor process for monitoring client requests and for communicating with a request monitor process on another equivalent server; moving data blocks between the plurality of equivalent servers; and each of said respective request monitor processes further (a) monitoring client requests to its respective equivalent server and (b) communicating with other respective request monitor processes in the other equivalent servers to maintain global client request information for the plurality of equivalent servers; analyzing said global client request information to identify patterns in the client requests made to the plurality of equivalent servers; and
whereinthe step of moving data blocks between the plurality of equivalent servers further moves the blocks of data from one equivalent server to another equivalent server based on operational characteristics of the plurality of equivalent servers and the identified patterns. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification