IP Library Granted Patent US 12,463,895
Granted Patent B1
US 12,463,895 · App. 18/653,564 · Granted Nov 4, 2025

Systems and methods for streamlined topology updates for distributed data storage

Inventors: Yufei Hu (Foster City, CA); Hemal Mukeshkumar Shah (Sunnyvale, CA); Alexandre Desjardins (Verdun, CA); Shashi Madappa (Campbell, CA); David Albertson (Bellevue, WA); Karan Vohra (Sammamish, WA)
Assignee: STRIPE, INC.
H04L45/42H04L41/12H04L45/036
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,463,895
App. No.
18/653,564
Granted
Nov 4, 2025
Kind
B1
Abstract

A method and system for updating a topology on router nodes in a distributed storage system are described. The method can include obtaining, by a first service of a control plane service, topology information from an inventory data store by querying a second service of the control plane service that manages the inventory data store for the topology information. The method can further include generating, by the first service of the control plane service, a topology payload based on the obtained topology information. The method can also include sending, by the first service of the control plane service, a request comprising the topology payload to a router node.

Claims (53)

1. A computer-implemented method for updating a topology on router nodes in a distributed storage system, the method comprising:

obtaining, by a first service of a control plane service, topology information from an inventory data store by querying a second service of the control plane service that manages the inventory data store for the topology information;

generating, by the first service of the control plane service, a topology payload based on the obtained topology information;

sending, by the first service of the control plane service, a request comprising the topology payload to a router node;

receiving, by a first service of the router node, the request comprising the topology payload;

extracting, by the first service of the router node, the topology payload from the request;

validating, by the first service of the router node, the extracted topology payload to determine whether the extracted topology payload is valid;

determining, by the first service of the router node, that the extracted topology payload is valid;

storing, by the first service of the router node, the extracted topology payload as a topology configuration file;

sending, by the first service of the router node, a command to a second service of the router node, the command causing the second service of the router node to update a topology configuration of the second service of the router node based on the topology configuration file;

sending, by the first service of the router node, a response to the first service of the control plane service, the response indicating a successful update of the topology configuration of the second service of the router node; and

in response to receiving the response, initiating, by the first service of the control plane service, a workload test to validate an end-to-end data flow from the router node to one or more data storage nodes.

2. The method of claim 1 , further comprising:

in response to receiving the command, obtaining, by the second service of the router node, the topology configuration file; and

updating, by the second service of the router node, the topology configuration of the second service of the router node based on the topology configuration file.

3. The method of claim 1 , wherein the command is a signal hang up (SIGHUP) command.

4. The method of claim 1 , wherein the response is a high-performance remote procedure call (gRPC) response.

5. The method of claim 1 , wherein the topology information comprises an association between one or more router nodes and one or more data storage nodes and topology-related information associated with each of the one or more data storage nodes, the topology-related information comprising at least one of: a consistency mode, a caching read-write mode, an identifier for a primary instance, a topology order, or a status of a topology.

6. The method of claim 5 , wherein the association between the one or more router nodes and the one or more data storage nodes is stored in a dedicated table having a topology version number.

7. The method of claim 1 , wherein the request is a high-performance remote procedure call (gRPC) request.

8. 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 operations, the operations comprising:

obtaining, by a first service of a control plane service, topology information from an inventory data store by querying a second service of the control plane service that manages the inventory data store for the topology information;

generating, by the first service of the control plane service, a topology payload based on the obtained topology information;

sending, by the first service of the control plane service, a request comprising the topology payload to a router node;

receiving, by a first service of the router node, the request comprising the topology payload;

extracting, by the first service of the router node, the topology payload from the request;

validating, by the first service of the router node, the extracted topology payload to determine whether the extracted topology payload is valid;

determining, by the first service of the router node, that the extracted topology payload is valid;

storing, by the first service of the router node, the extracted topology payload as a topology configuration file;

sending, by the first service of the router node, a command to a second service of the router node, the command causing the second service of the router node to update a topology configuration of the second service of the router node based on the topology configuration file;

sending, by the first service of the router node, a response to the first service of the control plane service, the response indicating a successful update of the topology configuration of the second service of the router node; and

in response to receiving the response, initiating, by the first service of the control plane service, a workload test to validate an end-to-end data flow from the router node to one or more data storage nodes.

9. The one or more non-transitory computer readable storage media of claim 8 , wherein the operations further comprise:

in response to receiving the command, obtaining, by the second service of the router node, the topology configuration file; and

updating, by the second service of the router node, the topology configuration of the second service of the router node based on the topology configuration file.

10. The one or more non-transitory computer readable storage media of claim 8 , wherein the command is a signal hang up (SIGHUP) command.

11. The one or more non-transitory computer readable storage media of claim 8 , wherein the response is a high-performance remote procedure call (gRPC) response.

12. The one or more non-transitory computer readable storage media of claim 8 , wherein the topology information comprises an association between one or more router nodes and one or more data storage nodes and topology-related information associated with each of the one or more data storage nodes, the topology-related information comprising at least one of: a consistency mode, a caching read-write mode, an identifier for a primary instance, a topology order, or a status of a topology.

13. The one or more non-transitory computer readable storage media of claim 12 , wherein the association between the one or more router nodes and the one or more data storage nodes is stored in a dedicated table having a topology version number.

14. A computer node for managing a distributed storage system with a control plane, the computer node comprising:

one or more processors; and

a memory coupled to the one or more processors to store instructions, which when executed by the one or more processors, cause the one or more processors to:

obtain, by a first service of a control plane service, topology information from an inventory data store by querying a second service of the control plane service that manages the inventory data store for the topology information;

generate, by the first service of the control plane service, a topology payload based on the obtained topology information;

send, by the first service of the control plane service, a request comprising the topology payload to a router node;

receive, by a first service of the router node, the request comprising the topology payload;

extract, by the first service of the router node, the topology payload from the request;

validate, by the first service of the router node, the extracted topology payload to determine whether the extracted topology payload is valid;

determine, by the first service of the router node, that the extracted topology payload is valid;

store, by the first service of the router node, the extracted topology payload as a topology configuration file;

send, by the first service of the router node, a command to a second service of the router node, the command causing the second service of the router node to update a topology configuration of the second service of the router node based on the topology configuration file;

send, by the first service of the router node, a response to the first service of the control plane service, the response indicating a successful update of the topology configuration of the second service of the router node; and

in response to receiving the response, initiate, by the first service of the control plane service, a workload test to validate an end-to-end data flow from the router node to one or more data storage nodes.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 075020/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2024
From: HU, YUFEI; SHAH, HEMAL MUKESHKUMAR; DESJARDINS, ALEXANDRE; MADAPPA, SHASHI; ALBERTSON, DAVID; VOHRA, KARAN
To: STRIPE, INC.
Reel/Frame 067299/0447 →
References Cited (16)
US 7457277B1 · Sharma · 2008 [cited by examiner]
US 7844733B2 · Betts · 2010 [cited by examiner]
US 11405296B1 · Evans · 2022 [cited by examiner]
US 12001694B1 · Murthy · 2024 [cited by examiner]
US 20040190502A1 · Sharma · 2004 [cited by examiner]
US 20110236013A1 · Gazzola · 2011 [cited by examiner]
US 20140075557A1 · Balabine · 2014 [cited by examiner]
US 20140177634A1 · Jiang · 2014 [cited by examiner]
US 20140307556A1 · Zhang · 2014 [cited by examiner]
US 20190021043A1 · Youn · 2019 [cited by examiner]
US 20190109780A1 · Nagarkar · 2019 [cited by examiner]
US 20210367867A1 · Arora · 2021 [cited by examiner]
US 20230124663A1 · Bahnasy · 2023 [cited by examiner]
US 20230401072A1 · Rajamanickam · 2023 [cited by examiner]
US 20240281265A1 · Rajamanickam · 2024 [cited by examiner]
US 20240380686A1 · Meo · 2024 [cited by examiner]