IP Library Granted Patent US 12,632,240
Granted Patent B2
US 12,632,240 · App. 18/083,117 · Granted May 19, 2026

Deploying assets

Inventors: Rustem Muslimov (Mission Viejo, CA); Mark Fielbig (Wappingers Falls, NY); Jack DeLoach (Denver, CO); Shanshan Chen (Bellevue, WA); Atul Bhatia (Fremont, CA); Vinay Padma (New York, NY)
Assignee: Stripe, LLC
G06F8/65
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,632,240
App. No.
18/083,117
Granted
May 19, 2026
Kind
B2
Abstract

The present disclosure is directed to handling deployment of assets (e.g., applications) to devices (e.g., card readers, payment terminals, etc.), substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

Claims (59)

1 . A method for performing a progressive rollout of assets, the method comprising:

storing one or more asset versions to be deployed to a set of devices, wherein a deploy plan specifies a subset of the devices and specifies which of the one or more asset versions form a deploy group that is to be deployed to the subset of the devices;

in response to receiving a request to approve the deploy plan, transitioning a state of the deploy plan to an approval state;

in response to receiving an approval signal of the deploy plan based on a review of the deploy plan, transitioning the state of the deploy plan from the approval state to an active state in which deployment of the deploy group to the subset of devices is permitted;

determining, in response to a message received from each device of the subset of devices, which asset versions are to be deployed to said each device and whether the asset versions are to be deployed to said each device at a present time according to the deploy plan;

in response to determining the asset versions to be deployed to said each device at the present time, sending a list of instructions to said each device, the instructions including installation instructions for at least one asset of the deploy group;

detecting that an installed asset is not functioning as expected, based on state information received from one or more of the subset of devices;

pausing deployment of the deploy plan, in response to detecting that the installed asset is not functioning as expected;

transitioning the deploy plan to a cancel state, wherein the deploy plan in the cancel state is blocked from returning to the active state;

creating a new deploy plan which specifies a second one or more asset versions that are to be deployed to the subset of devices; and

transitioning a state of the new deploy plan, to the approval state, and waiting for the approval signal for the new deploy plan.

2 . The method of claim 1 wherein the deploy plan specifies that the deploy group is to be deployed to the subset of devices during a first time period and to a second subset of devices during a second time period later than the first time period.

3 . The method of claim 1 wherein determining whether the deploy group of assets is to be deployed to said each device at the present time is based on device type and location of the said each device.

4 . The method of claim 3 further comprising:

obtaining the device type of said each device, the device type indicated by a device identifier of said each device;

applying a hash function to the device identifier to obtain a hash number; and

determining whether said each device is part of a current stage of the progressive rollout based on the hash number.

5 . The method of claim 1 further comprising, performing, by an updater application running on said each device, the list of instructions in order to update said each device with the deploy group of assets.

6 . The method of claim 1 , wherein the second one or more asset versions comprise a higher version of the one or more asset versions.

7 . The method of claim 6 wherein the new deploy plan uses a same hash function as used in the deploy plan.

8 . The method of claim 7 wherein the new deploy plan is associated with a same set of device IDs as identified by the deploy plan in the cancel state.

9 . The method of claim 1 wherein assets of the respective deploy group include:

a new version of a previously existing application on the said each device,

the previously existing application with a configuration change, or

a new application.

10 . The method of claim 9 wherein the previously existing application is for handling commercial transactions.

11 . The method of claim 10 wherein the group of devices comprise mobile devices for use in processing payments for the commercial transactions.

12 . A system for managing deployment of applications, the system comprising:

one or more hardware processors;

a memory comprising instructions which, when executed by the one or more hardware processors, cause the system to:

store one or more asset versions to be deployed to a set of devices, wherein a deploy plan specifies a subset of the devices and specifies which of the one or more asset versions form a deploy group that is to be deployed to the subset of the devices;

in response to receiving a request to approve the deploy plan, transition a state of the deploy plan to an approval state;

in response to receiving an approval signal of the deploy plan based on a review of the deploy plan, transition the state of the deploy plan from the approval state to an active state in which deployment of the deploy group to the subset of devices is permitted;

determine, in response to a message received from each device of the subset of devices, which asset versions are to be deployed to said each device and whether asset versions are to be deployed to said each device at a present time according to the deploy plan;

in response to determining the asset versions is to be deployed to said each device at the present time, send a list of instructions to said each device, the instructions including installation instructions for at least one asset of the deploy group;

detect that an installed asset is not functioning as expected, based on state information received from one or more of the subset of devices;

pause deployment of the deploy plan, in response to detecting that the installed asset is not functioning as expected;

transition the deploy plan to a cancel state, wherein the deploy plan in the cancel state is blocked from returning to the active state;

create a new deploy plan which specifies second one or more asset versions that are to be deployed to the subset of devices; and

transition a state of the new deploy plan, to the approval state, and waiting for the approval signal for the new deploy plan.

13 . The system of claim 12 wherein the deploy plan specifies that the deploy group is to be deployed to the subset of devices during a first time period and to a second subset of devices during a second time period later than the first time period.

14 . The system of claim 12 wherein the one or more hardware processors are configured to determine whether the deploy group of assets is to be deployed to said each device at the present time is based on device type and location of the said each device.

15 . The system of claim 14 wherein the one or more hardware processors are configured to:

obtain the device type of said each device, the device type indicated by a device identifier of said each device;

apply a hash function to the device identifier to obtain a hash number; and

determine whether said each device is part of a current stage of the progressive rollout based on the hash number.

16 . 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:

storing one or more asset versions to be deployed to a set of devices, wherein a deploy plan specifies a subset of the devices and specifies which of the one or more asset versions form a deploy group that is to be deployed to the subset of the devices;

in response to receiving a request to approve the deploy plan, transitioning a state of the deploy plan to an approval state;

in response to receiving an approval signal of the deploy plan based on a review of the deploy plan, transitioning the state of the deploy plan from the approval state to an active state in which deployment of the deploy group to the subset of devices is permitted;

determining, in response to a message received from each device of the subset of devices, which asset versions are to be deployed to said each device and whether the asset versions are to be deployed to said each device at present time according to the deploy plan;

in response to determining the asset versions is to be deployed to said each device at the present time, sending a list of instructions to said each device, the instructions including installation instructions for at least one asset of the deploy group;

detecting that an installed asset is not functioning as expected, based on state information received from one or more of the subset of devices;

pausing deployment of the deploy plan, in response to detecting that the installed asset is not functioning as expected;

transitioning the deploy plan to a cancel state, wherein the deploy plan in the cancel state is blocked from returning to the active state;

creating a new deploy plan which specifies second one or more asset versions that are to be deployed to the subset of devices; and

transitioning a state of the new deploy plan, to the approval state, and waiting for the approval signal for the new deploy plan.

17 . The one or more non-transitory computer readable storage media of claim 16 wherein the new deploy plan uses a same hash function as used in the deploy plan in the cancel state.

18 . The one or more non-transitory computer readable storage media of claim 17 wherein the second one or more assets versions comprise a higher version of the one or more asset versions.

Assignments (2)
CHANGE OF NAME Recorded Jan 30, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 074572/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2024
From: MUSLIMOV, RUSTEM; DELOACH, JACK; FIELBIG, MARK; CHEN, SHANSHAN; PADMA, VINAY; BHATIA, ATUL
To: STRIPE, INC.
Reel/Frame 067425/0729 →
Continuity (1)
Related Publication 20240201975A1 · Jun 20, 2024
References Cited (3)
US 11775278B1 · Deshmukh · 2023 [cited by examiner]
US 20080306798A1 · Anke · 2008 [cited by examiner]
US 20140075567A1 · Raleigh · 2014 [cited by examiner]