Patent ID: 7461146

Claim:
A system for block level data storage, comprising: a plurality of equivalent servers each being responsible for a portion of stored blocks and each of said plurality of equivalent servers having a respective data mover process capable of communicating directly with another respective data mover process on another server of said plurality of equivalent servers for coordinating movement of blocks between the plurality of equivalent servers; each of said plurality of equivalent servers having a respective request monitor process communicating directly with another respective request monitor process on another server of said plurality of equivalent servers each of said plurality of equivalent servers having a respective routing table process in each server and capable of communicating with another respective routing table process on each of the other servers of said plurality of equivalent servers, each process on each server for maintaining a coordinated list of equivalent servers that identifies the volume and server for each data block moved between the servers and data blocks associated therewith; each of said respective request monitor process monitoring client requests to its respective server and communicating with other respective request monitor process to build a global request database; said global database identifying patterns in the client requests, wherein the client requests access blocks of data; each of said data mover process 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.