10747714

Scalable Distributed Data Store

PublishedAugust 18, 2020
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
15 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A distributed database system comprising: a plurality of database nodes; one or more distributed databases hosted by the plurality of database nodes, each of the one or more distributed databases comprising a plurality of database partitions, wherein each database partition includes a master database partition and a slave database partition, wherein the master database partition is configured to accept data requests, and wherein the slave database partition is configured to synchronize with the master database partition; wherein at least one of the plurality of database nodes is configured to: determine usage conditions of the distributed database system and automatically adjust a quantity of the plurality of database nodes in response to the usage conditions indicating an increased amount of memory usage per node, wherein adjusting the quantity includes: adding one or more database partitions to the plurality of database partitions hosted by the plurality of database nodes, wherein a quantity of the database partitions exceeds the quantity of database nodes, and wherein at least one database node hosts the master database partitions of two or more different ones of the plurality of database partitions; adding one or more database nodes to the plurality of database nodes to increase the quantity of database nodes to at least the quantity of database partitions, wherein the added one or more database nodes increase memory capacity of the distributed database system to accommodate the increased memory usage; and rebalancing the master and slave database partitions across the plurality of database nodes with each different master database partition residing on a different database node and each slave database partition residing on a database node different than a database node of a corresponding master database partition.

Plain English Translation

Technology Domain: Distributed Database Systems Problem: Managing memory usage and ensuring scalability in distributed database systems under varying load conditions. Summary: This invention describes a distributed database system designed for dynamic scaling. The system comprises multiple database nodes hosting one or more distributed databases. Each distributed database is divided into partitions, with each partition having a master and a slave component. The master partition handles data requests, while the slave partition synchronizes with the master. A key feature is the automatic adjustment of system resources based on detected usage conditions. When memory usage per node increases, the system automatically scales. This scaling involves two primary actions. First, the number of database partitions is increased, potentially exceeding the number of database nodes, allowing a single node to host master partitions for multiple different databases. Second, new database nodes are added to match or exceed the number of partitions, thereby increasing the overall memory capacity of the system. Finally, the system rebalances the master and slave partitions across the nodes. This rebalancing ensures that each master partition resides on a distinct node, and each slave partition is located on a different node than its corresponding master.

Claim 2

Original Legal Text

2. The distributed database system of claim 1 , wherein at least one of the plurality of database nodes is configured to maintain a write and read performance of the one or more distributed databases independent from a number of data objects stored in the one or more distributed databases.

Plain English Translation

This invention relates to a distributed database system designed to maintain consistent write and read performance regardless of the number of data objects stored. The system comprises multiple database nodes interconnected to form one or more distributed databases. At least one of these nodes is specifically configured to ensure that performance metrics, such as write and read speeds, remain stable even as the database scales and accumulates more data objects. This is achieved through mechanisms that decouple performance from storage volume, likely involving optimized data distribution, caching strategies, or parallel processing techniques. The system may also include features for data replication, fault tolerance, and load balancing to enhance reliability and efficiency. The invention addresses the challenge of maintaining high performance in distributed databases as they grow, ensuring that latency and throughput do not degrade with increasing data volume. This is particularly useful in large-scale applications where data growth is unpredictable or rapid.

Claim 3

Original Legal Text

3. The distributed database system of claim 1 , further comprising an administrator tool configured to perform auto-sharding operations by distributing data records among the master and slave database partitions, wherein each of the data records is identified by a unique key string, and wherein the unique key string is utilized to determine a particular database partition to assign the data records for storage.

Plain English Translation

A distributed database system includes multiple database partitions, including at least one master partition and one or more slave partitions, to store and manage data records. The system is designed to handle large-scale data storage and retrieval efficiently by distributing data across these partitions. Each data record is identified by a unique key string, which is used to determine the specific database partition where the record should be stored. This partitioning approach ensures that data is evenly distributed and accessible, improving performance and scalability. The system further includes an administrator tool that automates the process of sharding, which involves distributing data records across the master and slave partitions. The tool uses the unique key string associated with each data record to determine the appropriate partition for storage. This automated sharding process helps maintain balanced data distribution, reduces manual intervention, and ensures efficient data management. The system is particularly useful in environments requiring high availability, fault tolerance, and scalable data storage solutions.

Claim 4

Original Legal Text

4. The distributed database system of claim 1 , wherein at least one of the plurality of database nodes is configured to: accept data requests and determine which database partition to serve a data request.

Plain English Translation

A distributed database system manages data across multiple nodes to improve scalability, reliability, and performance. Traditional centralized databases face challenges in handling large-scale data operations efficiently, leading to bottlenecks and single points of failure. This system addresses these issues by distributing data across multiple nodes, each responsible for a specific partition of the database. The system includes a plurality of database nodes, each configured to store and manage a portion of the distributed database. At least one of these nodes is further configured to accept data requests from clients and determine which database partition should handle the request. This node acts as an intermediary, routing requests to the appropriate partition based on factors such as data location, load balancing, or query optimization. By distributing the request handling and partitioning logic, the system ensures efficient data access and reduces latency. The partitioning mechanism may involve techniques such as sharding, where data is divided into logical segments, or consistent hashing, which distributes data evenly across nodes. The node responsible for request routing may also implement caching mechanisms to further optimize performance. This approach enhances fault tolerance, as the failure of one node does not disrupt the entire system, and improves scalability by allowing additional nodes to be added as demand grows. The system is particularly useful in applications requiring high availability and low-latency data access, such as cloud computing, big data analytics, and large-scale web services.

Claim 5

Original Legal Text

5. The distributed database system of claim 4 , wherein the database node hosting the determined database partition applies the data request to a master database partition.

Plain English Translation

A distributed database system is designed to manage and process data requests across multiple database nodes, ensuring efficient data distribution and access. The system addresses challenges in maintaining data consistency, minimizing latency, and optimizing resource utilization in large-scale distributed environments. Each database node in the system hosts one or more database partitions, which are segments of the overall database. When a data request is received, the system determines which database node hosts the relevant partition and routes the request accordingly. To enhance reliability and performance, the system ensures that the database node hosting the determined partition applies the data request to a master database partition. The master partition serves as the authoritative source for the data, ensuring consistency and integrity across the distributed system. This approach allows the system to handle updates, queries, and other operations efficiently while maintaining data accuracy and availability. The use of a master partition also simplifies conflict resolution and synchronization processes, making the system more robust and scalable.

Claim 6

Original Legal Text

6. A method of accessing data in a distributed database system including a plurality of database nodes, said method comprising: determining usage conditions of the distributed database system, via at least one of the plurality of database nodes, wherein one or more distributed databases are hosted by the plurality of database nodes, each of the one or more distributed databases comprising a plurality of database partitions, wherein each database partition includes a master database partition and a slave database partition, wherein the master database partition is configured to accept data requests, and wherein the slave database partition is configured to synchronize with the master database partition; and automatically adjusting, via at least one of the plurality of database nodes, a quantity of the plurality of database nodes in response to the usage conditions indicating an increased amount of memory usage per node, wherein adjusting the quantity includes: adding one or more database partitions to the plurality of database partitions hosted by the plurality of database nodes, wherein a quantity of the database partitions exceeds the quantity of database nodes, and wherein at least one database node hosts the master database partitions of two or more different ones of the plurality of database partitions; adding one or more database nodes to the plurality of database nodes to increase the quantity of database nodes to at least the quantity of database partitions, wherein the added one or more database nodes increase memory capacity of the distributed database system to accommodate the increased memory usage; and rebalancing the master and slave database partitions across the plurality of database nodes with each different master database partition residing on a different database node and each slave database partition residing on a database node different than a database node of a corresponding master database partition.

Plain English Translation

This invention relates to distributed database systems and addresses the challenge of efficiently managing memory usage and performance in such systems. The system includes multiple database nodes hosting one or more distributed databases, each divided into multiple database partitions. Each partition consists of a master partition, which handles data requests, and a slave partition, which synchronizes with the master. The method dynamically adjusts the system's configuration in response to increased memory usage per node. When memory demands rise, the system adds new database partitions, potentially exceeding the number of available nodes, allowing a single node to host master partitions for multiple partitions. To accommodate the increased memory load, additional database nodes are introduced, ensuring each master partition resides on a distinct node and each slave partition is placed on a different node than its corresponding master. This rebalancing optimizes memory distribution and ensures efficient synchronization and data access. The approach enhances scalability and performance by dynamically adapting the system's architecture to changing usage conditions.

Claim 7

Original Legal Text

7. The method of claim 6 , further comprising: maintaining a write and read performance of the one or more distributed databases independent from a number of data objects stored in the one or more distributed databases.

Plain English Translation

This invention relates to distributed database systems and addresses the challenge of maintaining consistent write and read performance regardless of the growing number of data objects stored. The method involves managing one or more distributed databases to ensure that performance metrics such as latency, throughput, and response times remain stable as the data volume increases. This is achieved through techniques that optimize data distribution, indexing, and access patterns, preventing degradation in performance as the system scales. The approach may include dynamic partitioning, load balancing, or adaptive query routing to distribute workloads efficiently across the database nodes. Additionally, the system may employ caching mechanisms or prefetching strategies to reduce access latency. By decoupling performance from data volume, the invention enables distributed databases to handle large-scale data growth without compromising efficiency or responsiveness. The solution is particularly useful in applications requiring high availability and low-latency access to distributed data, such as cloud computing, big data analytics, or real-time transaction processing.

Claim 8

Original Legal Text

8. The method of claim 6 , further comprising: performing auto-sharding operations by distributing data records among the master and slave database partitions, wherein each of the data records is identified by a unique key string, and wherein the unique key string is utilized to determine a particular database partition to assign the data records for storage.

Plain English Translation

This invention relates to database management systems, specifically methods for optimizing data distribution across multiple database partitions. The problem addressed is inefficient data storage and retrieval in distributed database environments, where data records are spread across multiple partitions without intelligent distribution, leading to performance bottlenecks and uneven resource utilization. The method involves auto-sharding, a technique for automatically distributing data records across master and slave database partitions. Each data record is identified by a unique key string, which is used to determine the specific partition where the record should be stored. This ensures that data is evenly distributed, reducing the risk of hotspots where certain partitions are overloaded while others remain underutilized. The auto-sharding process dynamically assigns records to partitions based on the key string, optimizing storage and retrieval operations. The system includes a master partition that manages the distribution logic and one or more slave partitions that store the actual data. The unique key string acts as a hash input to determine the target partition, ensuring consistent and predictable data placement. This approach improves query performance by minimizing cross-partition lookups and balancing the load across all available partitions. The method is particularly useful in large-scale database systems where manual sharding would be impractical or inefficient.

Claim 9

Original Legal Text

9. The method of claim 6 , further comprising: accepting data requests, via at least one of the plurality of database nodes, and determining which database partition to serve a data request.

Plain English Translation

A system and method for distributed database management involves a plurality of database nodes that collectively store and manage partitioned data. Each database node is configured to handle data requests and determine the appropriate database partition to serve those requests. The system ensures efficient data distribution and retrieval by dynamically assigning partitions to nodes based on factors such as load balancing, data locality, or performance optimization. The method includes accepting data requests through any of the database nodes and determining the optimal partition to fulfill the request, ensuring low-latency access and high availability. The system may also include mechanisms for data replication, fault tolerance, and scalability to handle large-scale data operations. The invention addresses challenges in distributed database systems, such as maintaining consistency, minimizing latency, and optimizing resource utilization across multiple nodes. By intelligently routing requests to the correct partition, the system enhances overall performance and reliability in distributed database environments.

Claim 10

Original Legal Text

10. The method of claim 9 , further comprising: applying the data request to a master database partition via the database node hosting the determined database partition.

Plain English Translation

A system and method for optimizing database query performance in distributed database environments addresses the inefficiency of querying large, partitioned databases where data requests must be routed to the correct partition. The invention improves query processing by dynamically determining the optimal database partition for a given data request and routing the request directly to the node hosting that partition, reducing latency and computational overhead. The method involves analyzing the data request to identify relevant data attributes, comparing these attributes against a partition mapping system to locate the correct partition, and then directing the request to the corresponding database node. This approach minimizes unnecessary network traffic and processing delays by avoiding the need to broadcast the request across all partitions. Additionally, the system may apply the data request directly to a master database partition via the node hosting the determined partition, ensuring consistency and reducing the risk of data conflicts. The invention is particularly useful in large-scale distributed databases where efficient data retrieval is critical for performance.

Claim 11

Original Legal Text

11. A computer program product for accessing data in a distributed database system including a plurality of database nodes, said computer program product comprising: one or more computer readable storage media collectively having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code, that when executed by one or more processors, causes one or more of the plurality of database nodes to: determine usage conditions of the distributed database system, wherein one or more distributed databases are hosted by the plurality of database nodes, each of the one or more distributed databases comprising a plurality of database partitions, wherein each database partition includes a master database partition and a slave database partition, wherein the master database partition is configured to accept data requests, and wherein the slave database partition is configured to synchronize with the master database partition; automatically adjust a quantity of the plurality of database nodes in response to the usage conditions indicating an increased amount of memory usage per node, wherein adjusting the quantity includes: adding one or more database partitions to the plurality of database partitions hosted by the plurality of database nodes, wherein a quantity of the database partitions exceeds the quantity of database nodes, and wherein at least one database node hosts the master database partitions of two or more different ones of the plurality of database partitions; adding one or more database nodes to the plurality of database nodes to increase the quantity of database nodes to at least the quantity of database partitions, wherein the added one or more database nodes increase memory capacity of the distributed database system to accommodate the increased memory usage; and rebalancing the master and slave database partitions across the plurality of database nodes with each different master database partition residing on a different database node and each slave database partition residing on a database node different than a database node of a corresponding master database partition.

Plain English Translation

A distributed database system includes multiple database nodes hosting distributed databases, each divided into partitions with master and slave components. The master partition handles data requests while the slave synchronizes with it. The system monitors usage conditions, particularly memory usage per node. When memory usage increases, the system automatically scales by adding new database partitions, potentially exceeding the number of available nodes, allowing a single node to host multiple master partitions. To accommodate the increased memory demand, additional database nodes are added, ensuring the total number of nodes matches or exceeds the number of partitions. The system then rebalances the partitions, ensuring each master partition resides on a distinct node and each slave partition is placed on a different node from its corresponding master. This dynamic adjustment optimizes resource allocation and maintains system performance under varying workloads.

Claim 12

Original Legal Text

12. The computer program product of claim 11 , wherein the computer readable program code further causes one or more of the plurality of database nodes to: maintain a write and read performance of the one or more distributed databases independent from a number of data objects stored in the one or more distributed databases.

Plain English Translation

This invention relates to distributed database systems and addresses the challenge of maintaining consistent write and read performance regardless of the growing number of data objects stored in the system. The solution involves a computer program product that operates across multiple database nodes to ensure performance stability. The system dynamically adjusts resource allocation and data distribution to prevent performance degradation as the database scales. This includes techniques for load balancing, efficient data partitioning, and optimized query routing to maintain low-latency access and high throughput. The approach ensures that read and write operations remain efficient even as the dataset expands, avoiding bottlenecks that typically arise in traditional distributed databases. The invention also incorporates mechanisms for fault tolerance and data consistency, ensuring reliability alongside performance. By decoupling performance from data volume, the system enables scalable, high-performance database operations for large-scale applications.

Claim 13

Original Legal Text

13. The computer program product of claim 11 , wherein the computer readable program code further causes one or more of the plurality of database nodes to: perform auto-sharding operations by distributing data records among the master and slave database partitions, wherein each of the data records is identified by a unique key string, and wherein the unique key string is utilized to determine a particular database partition to assign the data records for storage.

Plain English Translation

A distributed database system manages data across multiple nodes, including master and slave partitions, to improve scalability and fault tolerance. However, distributing data efficiently while maintaining performance and consistency remains a challenge. This invention addresses the problem by implementing auto-sharding, a technique for automatically distributing data records across database partitions based on unique key strings. Each data record is assigned to a specific partition using the key string, ensuring balanced distribution and optimized access. The system includes mechanisms to handle the partitioning logic, ensuring that records are stored in the appropriate partition while maintaining data integrity. The auto-sharding process dynamically adjusts to changes in data volume or node availability, improving scalability and reducing manual intervention. This approach enhances performance by minimizing cross-partition queries and optimizing storage distribution, making it suitable for large-scale database applications. The invention also supports replication between master and slave partitions, ensuring high availability and fault tolerance. By automating the sharding process, the system reduces administrative overhead and improves efficiency in managing distributed databases.

Claim 14

Original Legal Text

14. The computer program product of claim 11 , wherein the computer readable program code further causes one or more of the plurality of database nodes to: accept data requests and determine which database partition to serve a data request.

Plain English Translation

This invention relates to distributed database systems, specifically improving data request handling in partitioned database architectures. The problem addressed is efficiently routing data requests to the correct database partition in a distributed system with multiple nodes, ensuring low latency and high availability. The invention describes a computer program product that enhances a distributed database system by enabling database nodes to intelligently process incoming data requests. When a node receives a data request, it determines the appropriate database partition to serve that request, optimizing performance by minimizing unnecessary data transfers between nodes. This functionality is implemented through program code that executes on one or more database nodes within the system. The system operates by analyzing incoming requests and applying partitioning logic to identify the correct partition for each request. This ensures that data is retrieved or stored in the most efficient location, reducing latency and improving overall system throughput. The solution is particularly valuable in large-scale distributed databases where data is partitioned across multiple nodes to improve scalability and fault tolerance. The invention builds upon a distributed database architecture where data is partitioned across multiple nodes, each capable of handling data requests independently. The key innovation is the ability of the nodes to autonomously determine the correct partition for each request, eliminating the need for centralized coordination and improving system resilience. This approach enhances performance in distributed database environments where low-latency data access is critical.

Claim 15

Original Legal Text

15. The computer program product of claim 14 , wherein the computer readable program code further causes the database node hosting the determined database partition to: apply the data request to a master database partition.

Plain English Translation

A system and method for managing database partitions in a distributed database environment addresses the challenge of efficiently handling data requests across multiple database nodes. The invention involves a distributed database architecture where data is partitioned across multiple nodes to improve scalability and performance. When a data request is received, the system determines which database partition is responsible for the requested data. The database node hosting the determined partition then applies the data request to a master database partition, ensuring data consistency and reliability. The master database partition serves as the authoritative source for the requested data, allowing the system to maintain synchronization across all partitions. This approach optimizes data access and ensures that updates or queries are processed correctly, even in a distributed environment. The invention improves the efficiency of data management in large-scale distributed systems by leveraging partition-based data distribution and master-slave replication.

Patent Metadata

Filing Date

Unknown

Publication Date

August 18, 2020

Inventors

Keyan Kousha
Michelle C. Munson
Serban Simu
Ying Xu

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SCALABLE DISTRIBUTED DATA STORE” (10747714). https://patentable.app/patents/10747714

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/10747714. See llms.txt for full attribution policy.

SCALABLE DISTRIBUTED DATA STORE