Self-balancing binary search capable distributed database
First Claim
1. A computing device comprising:
- network communication circuitry configured to communicate via a communication network;
memory that stores operational instructions; and
processing circuitry that is coupled to the network communication circuitry and the memory, wherein the processing circuitry, when executing the operational instructions, is configured to;
store, in the memory, a subset of a plurality of key-value pairs corresponding to a subset of a plurality of device identifiers associated with the communication network, wherein based on a sorted key-order of a plurality of computing devices including the computing device, and wherein the subset of the plurality of key-value pairs includes keys that are greater than keys of a predecessor subset of the plurality of key-value pairs stored within a predecessor computing device and that are lower than keys of a successor subset of the plurality of key-value pairs stored within a successor computing device;
transmit, via the network communication circuitry, local storage usage information of the subset of the plurality of key-value pairs within the computing device to at least one of the predecessor computing device or the successor computing device;
receive, via the network communication circuitry, at least one of predecessor storage usage information of the predecessor subset of the plurality of key-value pairs within the predecessor computing device or successor storage usage information of the successor subset of the plurality of key-value pairs within the successor computing device; and
when the plurality of key-value pairs of at least one of the predecessor storage usage information or the successor storage usage information is outside a range of the plurality of key-value pairs of the local storage usage information, perform a key-value pair storage balancing operation with the at least one of the predecessor computing device or the successor computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
A self-balancing binary search capable distributed database (DB) includes a number of computing devices associated with a communication system and/or network. Each of the respective computing devices forming the distributed DB stores a subset of the overall information included within the distributed DB. Based on keys of key-value pairs (KVPs) stored in the computing devices, the computing devices are arranged logically to form a sorted key-ordered ring such that each computing device includes KVPs with keys higher than a predecessor computing device and lower than a successor computing device. A requested KVP query is made to any computing device in the distributed DB, which may include generating and transmitting another query to one or more other computing devices until the requested KVP is found. The distributed DB performs balancing operations moving the KVPs from computing devices with higher storage usage to computing devices with lower storage usage.
15 Citations
16 Claims
-
1. A computing device comprising:
-
network communication circuitry configured to communicate via a communication network; memory that stores operational instructions; and processing circuitry that is coupled to the network communication circuitry and the memory, wherein the processing circuitry, when executing the operational instructions, is configured to; store, in the memory, a subset of a plurality of key-value pairs corresponding to a subset of a plurality of device identifiers associated with the communication network, wherein based on a sorted key-order of a plurality of computing devices including the computing device, and wherein the subset of the plurality of key-value pairs includes keys that are greater than keys of a predecessor subset of the plurality of key-value pairs stored within a predecessor computing device and that are lower than keys of a successor subset of the plurality of key-value pairs stored within a successor computing device; transmit, via the network communication circuitry, local storage usage information of the subset of the plurality of key-value pairs within the computing device to at least one of the predecessor computing device or the successor computing device; receive, via the network communication circuitry, at least one of predecessor storage usage information of the predecessor subset of the plurality of key-value pairs within the predecessor computing device or successor storage usage information of the successor subset of the plurality of key-value pairs within the successor computing device; and when the plurality of key-value pairs of at least one of the predecessor storage usage information or the successor storage usage information is outside a range of the plurality of key-value pairs of the local storage usage information, perform a key-value pair storage balancing operation with the at least one of the predecessor computing device or the successor computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for execution by a computing device, the method comprising:
-
storing, in a memory of the computing device, a subset of a plurality of key-value pairs corresponding to a subset of a plurality of device identifiers associated with a communication network, wherein based on a sorted key-order of a plurality of computing devices including the computing device, and wherein the subset of the plurality of key-value pairs includes keys that are greater than keys of a predecessor subset of the plurality of key-value pairs stored within a predecessor computing device and that are lower than keys of a successor subset of the plurality of key-value pairs stored within a successor computing device; transmitting, via network communication circuitry of the computing device, local storage usage information of the subset of the plurality of key-value pairs within the computing device to at least one of the predecessor computing device or the successor computing device; receiving, via the network communication circuitry, at least one of predecessor storage usage information of the predecessor subset of the plurality of key-value pairs within the predecessor computing device or successor storage usage information of the successor subset of the plurality of key-value pairs within the successor computing device; and when the plurality of key-value pairs of at least one of the predecessor storage usage information or the successor storage usage information is outside a range of the plurality of key-value pairs of the local storage usage information, perform a key-value pair storage balancing operation with the at least one of the predecessor computing device or the successor computing device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification