IP Library Granted Patent US 12,175,112
Granted Patent B2
US 12,175,112 · App. 18/217,191 · Granted Dec 24, 2024

Global heterogeneous data mirroring

Inventors: Sophia Chrisoula Sakellariadis (San Francisco, CA); Anand Balaji (San Francisco, CA)
Assignee: Stripe, Inc.
G06F3/065G06F3/0622G06F3/067G06F9/30043G06F9/466H04L9/0838
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,175,112
App. No.
18/217,191
Granted
Dec 24, 2024
Kind
B2
Abstract

A method and apparatus for data mirroring are described. In one embodiment, a method for implementing country-specific data locality to cause data related to local transactions to be stored within the country in which the transactions occurred, comprises: capturing a set of transaction data associated with a set of transactions into a first cloud-based storage resource; and, according to a configuration file, performing data mirroring across a heterogeneous set of cloud providers using a plurality of stages executed by one or more processors.

Claims (46)

1. A method comprising:

capturing a set of transaction data associated with a set of transactions into a first cloud-based storage resource associated with a first cloud-based storage provider;

determining that the first cloud-based storage resource resides in a first location and is unavailable for use in a second location, different than the first location, and that a second cloud-based storage resource, associated with a second cloud-based storage provider, is available for use in the second location;

creating a configuration file in the first cloud-based storage resource, the configuration file comprising: a set of filter criteria to reduce the set of transaction data to a location-specific subset of transaction data, a target destination in the second cloud-based storage resource, and an encryption policy to encrypt the location-specific subset of transaction data; and

mirroring data across a heterogeneous set of cloud-based storage providers using a plurality of stages executed by one or more processors, the heterogeneous set of cloud-based storage providers comprising the first cloud-based storage provider and the second cloud-based storage provider, the mirroring comprising:

filtering, at a reduction stage, according to the configuration file, the set of transaction data and writing the location-specific subset of transaction data to the target destination; and

monitoring, at a replication stage, the second cloud-based storage resource and, in response to new location-specific data of the location-specific subset of transaction data being added to the second cloud-based storage resource from the reduction stage, performing a replication task to mirror the location-specific subset of transaction data, in accordance with the encryption policy, to the target destination defined in the configuration file.

2. The method of claim 1 , wherein the replication stage wakes to perform the replication task as a result of new data being written to the second cloud-based storage resource.

3. The method of claim 1 , further comprising monitoring message queuing service events related to transactions written into the first cloud-based storage resource.

4. The method of claim 1 , wherein the replication stage performs encryption of the location-specific subset of transaction data, in accordance with the encryption policy, prior to mirroring the location-specific subset of transaction data to the target destination.

5. The method of claim 1 , wherein the plurality of stages further comprise an examination stage to enable access to the mirrored data at the target destination.

6. The method of claim 1 , wherein filtering at the reduction stage and execution of the replication stage are performed by a cron job.

7. The method of claim 1 , wherein the replication stage is operable to perform replication by copying, in parallel, chunks of the data in the first cloud-based storage resource to the target destination.

8. The method of claim 1 , wherein the set of transactions comprises a set of payment processing transactions.

9. The method of claim 1 , wherein the set of filter criteria reduce the set of transaction to the location-specific subset of transaction data to satisfy one or more regulatory requirements.

10. The method of claim 1 , wherein the plurality of stages comprise a pipeline of sequential operations performed by the plurality of stages.

11. A system comprising:

a memory to store instructions; and

one or more processors coupled to the memory to execute the stored instructions to:

capture a set of transaction data associated with a set of transactions into a first cloud-based storage resource associated with a first cloud-based storage provider;

determine that the first cloud-based storage resource resides in a first location and is unavailable for use in a second location, different than the first location, and that a second cloud-based storage resource, associated with a second cloud-based storage provider, is available for use in the second location;

create a configuration file in the first cloud-based storage resource, the configuration file comprising:

a set of filter criteria to reduce the set of transaction data to a location-specific subset of transaction data that satisfies regulatory requirements;

a target destination in the second cloud-based storage resource; and

an encryption policy to encrypt the location-specific subset of transaction data; and

mirror data across a heterogeneous set of cloud-based storage providers using a plurality of stages executed by one or more processors, the heterogeneous set of cloud-based storage providers comprising the first cloud-based storage provider and the second cloud-based storage provider, the mirroring further to:

filter, at a reduction stage, according to the configuration file, the set of transaction data and writing the location-specific subset of data to the target destination; and

monitor, at a replication stage, the second cloud-based storage resource and, in response to new location-specific data of the location-specific subset of transaction data being added to the second cloud-based storage resource from the reduction stage, automatically performing a replication task to mirror the location-specific subset of transaction data, in accordance with the encryption policy, to the target destination defined in the configuration file.

12. The system defined in claim 11 , wherein the replication stage wakes to perform the replication task as a result of new data being written to the second cloud-based storage resource.

13. The system defined in claim 11 , wherein the one or more processors are operable to monitor message queuing service events related to the set of transactions written into the first cloud-based storage resource.

14. The system defined in claim 11 , wherein the replication stage is operable to encrypt the location-specific subset of transaction data, in accordance with the encryption policy, prior to mirroring the location-specific subset of transaction data to the target destination.

15. The system defined in claim 11 , wherein the plurality of stages comprises an examination stage to enable access to the mirrored data at the target destination.

16. The system defined in claim 11 , wherein filtering at the reduction stage and execution of the replication stage are performed by a cron job.

17. The system defined in claim 11 , wherein the replication stage is operable to perform replication by copying, in parallel, chunks of the data in the first cloud-based storage resource to the target destination.

18. A non-transitory computer readable storage media having instructions stored thereupon which, when executed by at least a processor and a memory cause the processor and the memory to perform operations comprising:

capturing a set of transaction data associated with a set of transactions into a first cloud-based storage resource associated with a first cloud-based storage provider;

determining that the first cloud-based storage resource resides in a first location and is unavailable for use in a second location, different than the first location, and that a second cloud-based storage resource, associated with a second cloud-based storage provider, is available for use in the second location;

creating a configuration file in the first cloud-based storage resource, the configuration file comprising:

a set of filter criteria to reduce the set of transaction data to a location-specific subset of transaction data that satisfies regulatory requirements;

a target destination in the second cloud-based storage resource; and

an encryption policy to encrypt the location-specific subset of transaction data; and

mirroring data across a heterogeneous set of cloud-based storage providers using a plurality of stages executed by one or more processors, the heterogeneous set of cloud-based storage providers comprising the first cloud-based storage provider and the second cloud-based storage provider, the mirroring including:

filtering, at a reduction stage, according to the configuration file, the set of transaction data and writing the location-specific subset of transaction data to the target destination; and

monitoring, at a replication stage, the second cloud-based storage resource and, in response to new location-specific data of the location-specific subset of transaction data being added to the second cloud-based storage resource from the reduction stage, automatically performing a replication task to mirror the location-specific subset of transaction data, in accordance with the encryption policy, to the target destination defined in the configuration file.

19. The non-transitory computer readable storage media of claim 18 , wherein the replication stage wakes to perform the replication task as a result of new data being written to the second cloud-based storage resource.

20. The non-transitory computer readable storage media of claim 18 , wherein the operations further comprise monitoring message queuing service events related to the set of transactions written into the first cloud-based storage resource.

Assignments (2)
CHANGE OF NAME Recorded Jan 30, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 074572/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2023
From: SAKELLARIADIS, SOPHIA CHRISOULA; BALAJI, ANAND
To: STRIPE, INC.
Reel/Frame 064358/0315 →