# US 2025/0147950 A1 · Control plane service of a distributed caching platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2025/0147950 A1
- Document ID: US20250147950A1
- Status: Published application
- Kind: A1
- Application number: 18/501,815
- Filed: 2023-11-03
- Published: 2025-05-08
- Earliest claimed: 2023-11-03
- Assignees: Stripe, Inc.
- Applicants: Stripe, Inc.
- Inventors: Yufei Hu; David Albertson; Kexin Zhu
- Web page: https://patentgrep.com/patent/US20250147950A1

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 16/24552: {Database cache management}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06Q 10/06313: {Resource planning in a project environment}
- G06F 2209/5011: Pool
- G06F 2209/505: Clust
- G06F 2209/508: Monitor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A processing device and method for managing a distributed storage system with a control plane is described. The processing device may perform operations including receiving, with a first service, a request to perform an operation associated with a cluster of nodes, wherein the cluster includes one or more router nodes and one or more data storage nodes that are associated with the router nodes, and validating, with the first service, the request. In response to the request being validated, the processing device may perform, with a second service, the operation associated with the cluster. The performing of the operation may include calling on the first service, to access an inventory database that stores an association between the router nodes and the data storage nodes, and communicating the operation with a service of the router nodes to implement the operation.

## Claims

### Claim 1

A method performed by a processing device for managing a distributed storage system with a control plane, comprising:
receiving, with a first service, a request to perform an operation associated with a cluster of nodes, wherein the cluster includes one or more router nodes and one or more data storage nodes that are associated with the one or more router nodes;
validating, with the first service, the request, including accessing an inventory database to validate the operation of the request based on a constraint which is associated with a namespace that is stored in the inventory database; and
in response to the request being validated, performing, with a second service, the operation associated with the cluster, the performing of the operation comprising:
calling on the first service, to access the inventory database that stores an association between the one or more router nodes and the one or more data storage nodes, to perform the operation, including accessing, by the first service, an amount or ratio of the one or more router nodes and the one or more data storage nodes that is associated with the namespace, and
communicating, by the second service, the operation with a service of the one or more router nodes to increase or decrease the amount of the one or more router nodes or the one or more data storage nodes for the cluster, according to the operation.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first service and the second service are integrated within a deployable software package.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first service, the second service, and the inventory database are dedicated to a plurality of clusters associated with a region of the distributed storage system.

### Claim 4 (depends on 1)

The method of claim 1, wherein validating the request comprises:
authorizing the request based on an application programming interface (API) that is invoked through the request, and validating the operation in view of one or more constraints.

### Claim 5 (depends on 1)

The method of claim 1, wherein the method further comprises:
storing, with the first service, the namespace in the inventory database, the namespace logically grouping one or more auto-scaling groups into a single group.

### Claim 6 (depends on 5)

The method of claim 5, wherein
the amount or ratio of the one or more router nodes and the one or more data storage nodes is associated with a scaling requirement that is associated with the namespace.

### Claim 7 (depends on 1)

The method of claim 1, wherein performing the operation associated with the cluster comprises:
scheduling a workflow to execute the operation and monitoring execution of the operation until completion.

### Claim 8 (depends on 7)

The method of claim 7, wherein the second service has access to the one or more router nodes and the one or more data storage nodes, and the first service does not have access to the one or more router nodes and the one or more data storage nodes.

### Claim 9 (depends on 1)

The method of claim 1, wherein the operation comprises adding one or more additional clusters, removing one or more clusters, changing a topology of the cluster, recycling a component of the cluster, or returning a health status of the cluster.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first service includes a first application programming interface (API) endpoint that receives the request from a user, and a second API endpoint that receives a read or a write operation from the second service to access the inventory database.

### Claim 11

One or more non-transitory computer readable storage media having instructions stored thereupon which, when executed by a system having at least a processor and a memory therein, cause the system to perform processes for managing a distributed storage system with a control plane, comprising:
receiving, with a first service, a request to perform an operation associated with a cluster of nodes, wherein the cluster includes one or more router nodes and one or more data storage nodes that are associated with the one or more router nodes;
validating, with the first service, the request, including accessing an inventory database to validate the operation of the request based on a constraint which is associated with a namespace that is stored in the inventory database; and
in response to the request being validated, performing, with a second service, the operation associated with the cluster, the performing of the operation comprising:
calling on the first service, to access the inventory database that stores an association between the one or more router nodes and the one or more data storage nodes, to perform the operation, including accessing, by the first service, an amount or ratio of the one or more router nodes and the one or more data storage nodes that is associated with the namespace, and
communicating, by the second service, the operation with a service of the one or more router nodes to increase or decrease the amount of the one or more router nodes or the one or more data storage nodes for the cluster, according to the operation.

### Claim 12 (depends on 11)

The non-transitory computer readable storage media of claim 11, wherein the first service and the second service are integrated within a deployable software package.

### Claim 13 (depends on 11)

The non-transitory computer readable storage media of claim 11, wherein the first service, the second service, and the inventory database are dedicated to a plurality of clusters associated with a region.

### Claim 14 (depends on 11)

The non-transitory computer readable storage media of claim 11, wherein validating the request comprises:
authorizing the request based on an application programming interface (API) that is invoked through the request, and validating the operation in view of one or more constraints.

### Claim 15 (depends on 11)

The non-transitory computer readable storage media of claim 11, wherein the processes further comprise:
storing, with the first service, the namespace in the inventory database, the namespace logically grouping one or more auto-scaling groups into a single group.

### Claim 16

A first computer node for managing a distributed storage system with a control plane, comprising:
a memory having instructions stored thereupon; and
one or more processors coupled with the memory, configured to execute the instructions, causing the one or more processors to perform processes, comprising:
receiving, with a first service, a request to perform an operation associated with a cluster of nodes, wherein the cluster includes one or more router nodes and one or more data storage nodes that are associated with the one or more router nodes;
validating, with the first service, the request, including accessing an inventory database to validate the operation of the request based on a constraint which is associated with a namespace that is stored in the inventory database; and
in response to the request being validated, performing, with a second service, the operation associated with the cluster, the performing of the operation comprising:
calling on the first service, to access the inventory database that stores an association between the one or more router nodes and the one or more data storage nodes, to perform the operation, including accessing, by the first service, an amount or ratio of the one or more router nodes and the one or more data storage nodes that is associated with the namespace, and
communicating, by the second service, the operation with a service of the one or more router nodes to increase or decrease the amount of the one or more router nodes or the one or more data storage nodes for the cluster, according to the operation.

### Claim 17 (depends on 16)

The first computer node of claim 16, wherein the first service and the second service are integrated within a deployable software package.

### Claim 18 (depends on 16)

The first computer node of claim 16, wherein the first service, the second service, and the inventory database are dedicated to a plurality of clusters associated with a region of the distributed storage system.

### Claim 19 (depends on 16)

The first computer node of claim 16, wherein validating the request comprises:
authorizing the request based on an application programming interface (API) that is invoked through the request, and validating the operation in view of one or more constraints.

### Claim 20 (depends on 16)

The first computer node of claim 16, wherein the processes further comprise:
storing, with the first service, the namespace in the inventory database, the namespace logically grouping one or more auto-scaling groups into a single group.
