IP Library Granted Patent US 12,132,630
Granted Patent B2
US 12,132,630 · App. 17/541,114 · Granted Oct 29, 2024

System and method to estimate a latency cost of relocating a software service

Inventors: Ray Morgan (San Francisco, CA); Alessandro Catorcini (Bellevue, WA); Isaac Diamond (San Francisco, CA)
Assignee: STRIPE, INC.
H04L43/0858H04L43/0817H04L67/34
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,132,630
App. No.
17/541,114
Granted
Oct 29, 2024
Kind
B2
Abstract

A method and system for performing a movement of a service within a distributed system. In one embodiment, the method comprises determining one or more locations where the service is to be moved. The method further comprises for each of the one or more locations, computing a metric including a cross-cell cost (C-cost) or a data locality-cost (DL-cost) of the software service if a movement of the software service to a location was to occur, prior to performing the movement of the software service; and modelling a latency and availability of the system due to the movement of the software service to the location based on the metric. The method further comprises performing the movement of the service based on the modelled latency and availability of the system.

Claims (50)

1. A method for performing a movement of a software service within a distributed system, the method comprising:

determining one or more locations where the software service may potentially be moved;

for each location of the one or more locations,

prior to computing a metric for movement of the software service to said each location:

estimating a cross-cell cost (C-cost) to indicate a number of times a cell boundary is crossed; and

estimating a data locality cost (DL-cost) to indicate a number of times a boundary of a locality zone is crossed;

computing the metric including the estimated C-cost or the estimated DL-cost of the software service if the movement of the software service to said each location was to occur, prior to performing the movement of the software service; and

modelling latency and availability of the distributed system due to the movement of the software service to said each location based on the metric; and

performing the movement of the software service based on the modelled latency and availability of the distributed system.

2. The method of claim 1 , further comprising, for said each location of the one or more locations, determining a cell to which the software service is to be pinned if a move of the software service occurred.

3. The method of claim 2 , further comprising determining the cell boundary of the cell to which the software service is to be pinned.

4. The method of claim 1 , wherein the C-cost or the DL-cost of the software service is increased when the cell boundary is crossed when performing one or more functions of the software service.

5. The method of claim 1 , wherein the modelling the latency and availability of the distributed system comprises performing a latency injection to a computation to perform one or more functions of the software service when the cell boundary is crossed in the computation.

6. The method of claim 5 , further comprising computing a total latency of the software service due to the movement of the software service to the location based on the C-cost or the DL-cost and the latency injection.

7. The method of claim 6 , further comprising modeling the latency and availability of the distributed system due to the movement of the software service to the location based on the total latency of the software service.

8. The method of claim 1 , further comprising selecting one location from the one or more locations to move the software service based on the modelled latency and availability of the distributed system.

9. 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 comprising:

determining one or more locations where a software service may potentially be moved;

for each location of the one or more locations,

prior to computing a metric for movement of the software service to said each location:

estimating a cross-cell cost (C-cost) to indicate a number of times a cell boundary is crossed; and

estimating a data locality cost (DL-cost) to indicate a number of times a boundary of a locality zone is crossed;

computing the metric including the estimated C-cost or the estimated DL-cost of the software service if the movement of the software service to said each location was to occur, prior to performing the movement of the software service; and

modelling latency and availability of a distributed system due to the movement of the software service to said each location based on the metric; and

performing the movement of the software service based on the modelled latency and availability of the distributed system.

10. The one or more non-transitory computer readable storage media of claim 9 , wherein the operations further comprise, for said each location of the one or more locations, determining a cell to which the software service is to be pinned if a move of the software service occurred.

11. The one or more non-transitory computer readable storage media of claim 10 , wherein the operations further comprise, determining the cell boundary of the cell to which the software service is to be pinned.

12. The one or more non-transitory computer readable storage media of claim 9 , wherein the C-cost or the DL-cost of the software service is increased when the cell boundary is crossed when performing one or more functions of the software service.

13. The one or more non-transitory computer readable storage media of claim 9 , wherein the modelling the latency and availability of the distributed system comprises performing a latency injection to a computation to perform one or more functions of the software service when the cell boundary is crossed in the computation.

14. The one or more non-transitory computer readable storage media of claim 13 , wherein the operations further comprise, computing a total latency of the software service due to the movement of the software service to the location based on the C-cost or the DL-cost and the latency injection.

15. The one or more non-transitory computer readable storage media of claim 14 , wherein the operations further comprise modeling the latency and availability of the distributed system due to the movement of the software service to the location based on the total latency of the software service.

16. The one or more non-transitory computer readable storage media of claim 9 , wherein the operations further comprise, selecting one location from the one or more locations to move the software service based on the modelled latency and availability of the distributed system.

17. A system comprising:

a memory to store instructions; and

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

determine one or more locations where a software service may potentially be moved;

for each location of the one or more locations,

prior to computing a metric for movement of the software service to said each location:

estimate a cross-cell cost (C-cost) to indicate a number of times a cell boundary is crossed; and

estimate a data locality cost (DL-cost) to indicate a number of times a boundary of a locality zone is crossed;

compute the metric including the estimated C-cost or the estimated DL-cost of the software service if the movement of the software service to said each location was to occur, prior to performing the movement of the software service; and

model latency and availability of a distributed system due to the movement of the software service to said each location based on the metric; and

perform the movement of the software service based on the modelled latency and availability of the distributed system.

18. The system of claim 17 , wherein the one or more processors are further to, for said each location of the one or more locations, determine a cell to which the software service is to be pinned if a move of the software service occurred.

19. The system of claim 18 , wherein the one or more processors are further to determine the cell boundary of the cell to which the software service is to be pinned.

20. The system of claim 17 , wherein the C-cost or the DL-cost of the software service is increased when the cell boundary is crossed in when performing one or more functions of the software service.

21. The system of claim 17 , wherein the one or more processors are further configured to perform a latency injection to a computation to perform one or more functions of the software service when the cell boundary is crossed in the computation.

22. The system of claim 21 , wherein the one or more processors are further configured to compute a total latency of the software service due to the movement of the software service to the location based on the C-cost or the DL-cost and the latency injection.

23. The system of claim 22 , wherein the one or more processors are further configured to model the latency and availability of the distributed system due to the movement of the software service to the location based on the total latency of the software service.

24. The system of claim 17 , wherein the one or more processors are further configured to select one location from the one or more locations to move the software service based on the modelled latency and availability of the distibuted system.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 074264/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2024
From: MORGAN, RAY; CATORCINI, ALESSANDRO; DIAMOND, ISAAC
To: STRIPE, INC.
Reel/Frame 068574/0941 →