Patent ID: 7941401
Filing Date: 2011-05-10
Classification: G06F

Abstract:
1. A distributed data management system comprising: a plurality of computers, each computer including a memory; a plurality of database management nodes operating on the plurality of computers in communication with each other over a computer network, each database management node being provided an allotment of the memory from the computer in which the database management node operates and allocating at least one section of the memory for storing a plurality of data objects, wherein each of the data objects are identified by a key value corresponding to a logical data store; a global data structure maintaining a mapping of logical data stores to database management nodes; and a database client request node configured to perform the steps of receiving a request to access a desired data object during an occurrence of an operation to rebalance stored data objects across the database management nodes, wherein the request comprises a key value corresponding to the desired data object, identifying a logical data store corresponding to the key value, determining a database management node corresponding to the identified logical data store by accessing the global data structure, wherein the global data structure is accessible during the rebalancing operation, and requesting the desired data object from the determined database management node without postponing a response to the received request due to the rebalancing operation, wherein the rebalancing operation is performed by one of the database management nodes and comprises determining that a memory capacity threshold for the database management nodes has been reached in the database management node, identifying a section of memory of the database management node, wherein the section of memory stores a plurality of data objects corresponding to a second logical data store, transmitting a request to other database management nodes to offload the plurality of data objects stored in the section of memory, transmitting the plurality of data objects to a responding database management node, and receiving a notification from the responding database management node indicating that the global data structure has been updated to change a mapping of the second logical data store from the database management node to the responding database management node.