IP Library Granted Patent US 12,641,153
Granted Patent B2
US 12,641,153 · App. 18/627,718 · Granted May 26, 2026

Decentralized data server and monitor

Inventors: Debjani Mitra (Seattle, WA); Dounan Shi (South San Francisco, CA); Roman Zimine (Oakville, CA); Gary Licht (Briarcliff Manor, NY); Lisa Li (King City, CA)
Assignee: STRIPE, INC.
H04L67/1097H04L67/1014
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,641,153
App. No.
18/627,718
Granted
May 26, 2026
Kind
B2
Abstract

A server computer system includes a decentralized architecture that receives at a central server, parameter values provided by one or more parameter servers. The parameter values are associated with a first parameter. The central server determines a global parameter value based on the parameter values, and persists the global parameter value to a database. The central server transmits the global parameter value to one or more second servers that each determine a local parameter value also corresponding to the first parameter. Each of the one or more second servers transmits the local parameter to a client and insulates the central server from interactions with the client.

Claims (69)

1 . A method performed by a server computer system, comprising:

receiving over a network, at a first server of the server computer system, a plurality of parameter values corresponding to a first parameter, the plurality of parameter values being provided by one or more parameter servers;

determining, at the first server, a global parameter value based on the plurality of parameter values;

persisting the global parameter value to a database, the global parameter value corresponding to the first parameter;

transmitting, by the first server, the global parameter value to a second server of the server computer system;

following the transmission, receiving, at the second server, a request for a local parameter value from a user;

determining, by the second server, the local parameter value based on the global parameter value, wherein the local parameter value is different from at least one of the plurality of parameter values; and

transmitting, by the second server, the local parameter value to the user;

wherein the second server insulates the first server from receiving the request from the user by handling the request at the second server without transmitting the request to the first server, and

wherein determining the global parameter value based on the plurality of parameter values comprises:

detecting a fluctuation of one parameter value based on previous parameter values associated with the first parameter; and

in response to the fluctuation satisfying a threshold, (1) setting the global parameter value as one of the plurality of parameter values, or (2) adjusting weighting to determine the global parameter value and applying the weighting as a weighted combination of the plurality of parameter values.

2 . The method of claim 1 , wherein receiving the plurality of parameter values from the one or more parameter servers comprises:

receiving the plurality of parameter values from an event stream of an event streaming system that is configured to receive the plurality of parameter values from the one or more parameter servers.

3 . The method of claim 1 , wherein determining the global parameter value based on the plurality of parameter values comprises:

comparing a first parameter value from a first parameter server with a second parameter value from a second parameter server; and

in response to a difference between the first and second parameter values satisfying a threshold, (1) setting the global parameter value as one of the plurality of parameter values, or (2) adjusting weighting to determine the global parameter value and applying the weighting as a weighted combination of the plurality of parameter values.

4 . The method of claim 1 , wherein the first server accesses the database to obtain the global parameter value, and broadcasts the global parameter value to the second server to transmit the global parameter value to the second server.

5 . The method of claim 1 , further comprising:

monitoring the plurality of parameter values to detect a condition associated with: (1) a difference between two parameter values satisfying a threshold, or (2) a fluctuation of one parameter value based on previous parameter values associated with the first parameter; and

in response to detecting the condition, transmitting a notification to an operator that is associated with the global parameter value.

6 . The method of claim 5 , further comprising:

receiving, from the operator, an override value associated with the global parameter value; and

updating the global parameter value in the database with the override value.

7 . The method of claim 1 , wherein determining the local parameter value by the second server comprises:

receiving one or more controls from the first server,

(1) applying the one or more controls to the global parameter value to determine the local parameter value, or (2) locking the local parameter value for a time period defined by the one or more controls such that the local parameter value remains constant during the time period as the plurality of parameter values fluctuate, and

persisting the local parameter value.

8 . The method of claim 7 , wherein the one or more controls are generated and transmitted by the first server in response to detecting (1) a fluctuation of one parameter value satisfying a first threshold, or (2) a difference between two parameter values satisfying a second threshold.

9 . The method of claim 1 , wherein (1) the first parameter is one of the plurality of parameter values, (2) each parameter value represents a rate associated with a first exchange medium and a second exchange medium, and (3) a corresponding global parameter value is persisted in the database for each pairing of exchange mediums.

10 . The method of claim 1 , wherein the second server subscribes to the global parameter value.

11 . The method of claim 4 , wherein the first server broadcasts the global parameter value to the second server subsequent to a change of the global parameter value.

12 . A server computer system comprising:

a memory, and one or more processors coupled with the memory configured to perform operations, comprising:

receiving over a network, at a first server of the server computer system, a plurality of parameter values corresponding to a first parameter, the plurality of parameter values being provided by one or more parameter servers;

determining, at the first server, a global parameter value based on the plurality of parameter values;

persisting the global parameter value to a database, the global parameter value corresponding to the first parameter;

transmitting, by the first server, the global parameter value to a second server of the server computer system;

following the transmission, receiving, at the second server, a request for a local parameter value from a user;

determining, by the second server, the local parameter value based on the global parameter value, wherein the local parameter value is different from at least one of the plurality of parameter values; and

transmitting, by the second server, the local parameter value to a user respective;

wherein the second server insulates the first server from receiving the request from the user by handling the request at the second server without transmitting the request to the first server, and

wherein determining the global parameter value based on the plurality of parameter values comprises:

detecting a fluctuation of one parameter value based on previous parameter values associated with the first parameter; and

in response to the fluctuation satisfying a threshold, (1) setting the global parameter value as one of the plurality of parameter values, or (2) adjusting weighting to determine the global parameter value and applying the weighting as a weighted combination of the plurality of parameter values.

13 . The server computer system of claim 12 , wherein receiving the plurality of parameter values from the one or more parameter servers comprises:

receiving the plurality of parameter values from an event stream of an event streaming system that is configured to receive the plurality of parameter values from the one or more parameter servers.

14 . The server computer system of claim 12 , wherein determining the global parameter value based on the plurality of parameter values comprises:

comparing a first parameter value from a first parameter server with a second parameter value from a second parameter server; and

in response to a difference between the first and second parameter values satisfying a threshold, (1) setting the global parameter value as one of the plurality of parameter values, (2) adjusting weighting to determine the global parameter value and applying the weighting as a weighted combination of the plurality of parameter values.

15 . The server computer system of claim 12 , wherein the first server accesses the database to obtain the global parameter value, and broadcasts the global parameter value to the second server to transmit the global parameter value to the second server.

16 . The server computer system of claim 12 , wherein the second server subscribes to the global parameter value.

17 . A non-transitory computer readable storage medium storing instructions, which when executed by a server computer system, causes the server computer system to perform operations comprising:

receiving over a network, at a first server of the server computer system, a plurality of parameter values corresponding to a first parameter, the plurality of parameter values being provided by one or more parameter servers;

determining, at the first server, a global parameter value based on the plurality of parameter values;

persisting the global parameter value to a database, the global parameter value corresponding to the first parameter;

transmitting, by the first server, the global parameter value to a second server of the server computer system;

following the transmission, receiving, at the second server, a request for a local parameter value from a user;

determining, by the second server, the local parameter value based on the global parameter value, wherein the local parameter value is different from at least one of the plurality of parameter values; and

transmitting, by the second server, the local parameter value to a user;

wherein the second server insulates the first server from receiving the request from the user by handling the request at the second server without transmitting the request to the first server, and wherein determining the global parameter value based on the plurality of parameter values comprises:

detecting a fluctuation of one parameter value based on previous parameter values associated with the first parameter; and

in response to the fluctuation satisfying a threshold, (1) setting the global parameter value as one of the plurality of parameter values, or (2) adjusting weighting to determine the global parameter value and applying the weighting as a weighted combination of the plurality of parameter values.

18 . The non-transitory computer readable storage medium of claim 17 , wherein receiving the plurality of parameter values from the one or more parameter servers comprises:

receiving the plurality of parameter values from an event stream of an event streaming system that is configured to receive the plurality of parameter values from the one or more parameter servers.

19 . The non-transitory computer readable storage medium of claim 17 , wherein determining the global parameter value based on the plurality of parameter values comprises:

comparing a first parameter value from a first parameter server with a second parameter value from a second parameter server; and

in response to a difference between the first and second parameter values satisfying a threshold, (1) setting the global parameter value as one of the plurality of parameter values, or (2) adjusting weighting to determine the global parameter value and applying the weighting as a weighted combination of the plurality of parameter values.

20 . The non-transitory computer readable storage medium of claim 17 , wherein the first server accesses the database to obtain the global parameter value, and broadcasts the global parameter value to second server to transmit the global parameter value to the second server.

Assignments (3)
CHANGE OF NAME Recorded Mar 13, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 075093/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2024
From: SHI, DOUNAN
To: STRIPE, INC.
Reel/Frame 068008/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2024
From: MITRA, DEBJANI; ZIMINE, ROMAN; LICHT, GARY; LI, LISA
To: STRIPE, INC.
Reel/Frame 067017/0088 →
Continuity (1)
Related Publication 20250317489A1 · Oct 9, 2025
References Cited (5)
US 12271877B1 · Ghosh · 2025 [cited by examiner]
US 20210097431A1 · Olgiati · 2021 [cited by examiner]
US 20220083916A1 · Khan · 2022 [cited by examiner]
US 20230075767A1 · Bradley · 2023 [cited by examiner]
US 20240057026A1 · Dai · 2024 [cited by examiner]