Patent ID: 7761434

Claim:
An apparatus for providing concurrent access to a tree-based data structure, comprising: a memory comprising the tree-based data structure having cache nodes, the memory coupled to a storage device comprising a database; and a concurrency control module coupled to the memory, wherein the concurrency control module is configured to provide concurrent read access to a node of the cache to one or more readers in response to a read call from the one or more readers, to create a copy of the node for a write access of a writer in response to a write call from the writer, only one copy of the node being allowed at one time, to lock the node in response to a creation of the copy of the node for the write access, wherein the lock prevents another writer from creating another copy of the node, to release the lock on the node in response to receiving a commit call from the writer, to operate on the copy of the node while providing concurrent read access of the node to one or more readers, to replace the node with the copy of the node in response to receiving the commit call from the writer, and to provide concurrent read access to the replaced node to the one or more readers.