Patent ID: 7779074

Claim:
A computer-implemented method for dynamically partitioning data across a cluster in a tree-based structure, the method comprising: detecting cache nodes in the cluster; forming a partition group comprising one or more cache nodes of the cluster, wherein an instance of a cache node in the partition group is copied to each cache node in the partition group; adjusting a membership size of the partition group based on a participation of data in the partition group; broadcasting a distributed eviction message to each member of the partition group by the initiating cache node; reporting a single value representing a participation weight by each member to the initiating cache node; determining, at the initiating cache node, an evicted member based on which member has the lowest participation weight; and broadcasting, by the initiating cache node, an updated membership of the partition group; adjusting the membership size of the partition group based on a partition maintenance thread of the one or more node caches of the partition group, wherein the partition maintenance thread comprises a hard upper membership size limit, a soft upper membership size limit, a hard lower membership size limit, a soft lower membership size limit, the limits defining how many copies of each data element can exist in the partition group, wherein the evicted member deletes an instance of the state of the cache nodes of the partition group from its memory, and leave the partition group, wherein the participation weight is calculated based on a degree of participation in the past with different weights as to different periods of time.