Patent ID: 7937377

Claim:
A computerized 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: (A) Managing resources associated with an associated computer, the associated computer being one of a plurality of computers in a computer cluster; (B) 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, wherein access to the data nodes are coordinated directly; (C) wherein the locks managing further comprises: 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, wherein the representing comprises representing: memory, CPU, disk, network resources in the computer cluster, size, speed, free space, exported size, type, number, disk identifier, load characteristics; and balancing workload between the computers in the computer cluster; and (D) 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; (E) 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, (F) wherein the first computer enabling further comprises: 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; and providing a handle for the block of memory to the second computer; 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 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; and maintaining a representation of logical data node connections for the computer cluster.