Patent ID: 7933882

Claim:
A method for implementing a set of database management components in a distributed database management system, the distributed database management system being implemented on a computer cluster, the method comprising: managing resources associated with an associated computer, the associated computer being one of a plurality of computers in the computer cluster; managing locks on data stored on a plurality of associated data nodes coupled to the associated computer, wherein the associated data nodes are data nodes of a plurality of data nodes in the computer cluster; specifying logical connections for the plurality of associated data nodes, wherein access to the plurality of associated data nodes is determined by the specified logical connections, wherein the computer readable program code further comprises enabling code for enabling a first computer in the computer cluster to access available resources of a second computer in the computer cluster, based on resource availability for the computer cluster represented by a resource manager code, thereby balancing workload in the computer cluster; monitoring workload for the plurality of associated data nodes; altering the specified logical connections for the plurality of associated data nodes in response to monitored workload conditions; establishing and recording code for establishing and recording logical connections to the plurality of data nodes; communicating a status of logical data node connections for the associated computer to other computers in the computer cluster; receiving a status of logical data node connections for other computers in the computer cluster; maintaining a representation of logical data node connections for the computer cluster; accepting a request, executable by the first computer, for a memory resource from the second computer, for reserving a block of memory in the associated computer; providing a handle for the block of memory to the second computer; communicating the availability of resources on the associated computer to other computers in the computer cluster; receiving information regarding availability of resources associated with the other computers in the computer cluster; representing resource availability for the computer cluster, the representing coder further for representing memory, CPU, disk, and network resources in the computer cluster, the representing code further for representing size, speed, free space, exported size, type, number, disk identifier, and load characteristics, and wherein the distributed database management system balances workload between the computers in the computer cluster.