Patent attributes
A distributed hash table (“DHT”) is created with partitions that have different sizes. A hash function allocates data to the partitions in the DHT at approximately equal rates. When the data stored on a partition approaches the storage capacity of the partition, the partition is split by adding a new partition to the DHT that has a size that is different than the sizes of the other partitions in the DHT. A portion of the data stored on the split partition is then reallocated to the new partition. A portion of a keyspace previously assigned to the split partition is also allocated to the new partition. Once the keyspace is reallocated, the hash function can allocate data to the new partition in the DHT.