IP Library › Granted Patent US 12,645,560
Granted Patent B2
US 12,645,560 · App. 18/763,887 · Granted Jun 2, 2026

Feature management for software deployment

Inventors: Adar K Danait (Irving, TX); Ajay Kumar Tumukuntala (Irving, TX); Akshatha Ramesh Shenoy (Irving, TX); Ashwin Perappa Prashanth (Irving, TX); Danielle A La Rue (Jacksonville, FL); Flora P Sah (Boston, MA); Heather Marie Robison Joshi (Irving, TX); Maneet Sharma (Irving, TX); Pavithra Araleri Visweswariah (Irving, TX); Radhika Shetty (Jacksonville, FL); Varaha Venkata Ganeswara Pitla (Irving, TX); Vitthal Ramling Betgar (Irving, TX)
Assignee: Citigroup Inc.
G06F11/3604G06F11/3692
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,645,560
App. No.
18/763,887
Granted
Jun 2, 2026
Kind
B2
Abstract

A set of software criteria including a condition that a software test be successfully performed prior to deploying a software package to a user device and location information indicating a storage location for status information of the software test is obtained. A testing status of the software package is analyzed using the status information at the storage location and software package is deployed to the user device as a result of the testing status confirming that the condition has been met in response to a request to deploy the software package to the user device.

Claims (42)

1 . A system, comprising:

one or more processors; and

memory including computer-executable instructions that, as a result of execution by the one or more processors, cause the system to at least:

obtain a set of software release criteria associated with a plurality of different software platforms including:

a condition that a software test be successfully performed prior to deploying a software package that is to be visible to one or more user devices operating at least one of the plurality of different software platforms; and

location information indicating a storage location for a first status indicator of a plurality of status indicators to be generated by different systems associated with a lifecycle of the software package, the first status indicator corresponding to a result of the software test; and

in response to receiving a batch of the plurality of status indicators based, at least in part, on the location information:

generate a dashboard to communicate a mismatch between the first status indicator and a second status indicator of the plurality of status indicators to at least one of the different systems, both the first status indicator and the second status indicator corresponding to a feature flag of the software package, the first status indicator indicating that the condition has been unmet and the second status indicator indicating that one or more features of the software package are deployed to be visible on the one or more user devices.

2 . The system of claim 1 , wherein the computer-executable instructions further include executable instructions that further cause the system to:

receive another batch of the plurality of status indicators; and

generate another dashboard that indicates a match between the first status indicator and the second status indicator.

3 . The system of claim 1 , wherein the dashboard further communicates at least one of a match or a mismatch between at least some other status indicators of the plurality of status indicators that are each associated with the plurality of different software platforms.

4 . The system of claim 1 , wherein the dashboard includes a mismatch between a subset of the plurality of status indicators obtained at different time periods.

5 . The system of claim 1 , wherein the set of software release criteria further includes determining whether the one or more user devices corresponds to an account identifier that is within a list in order for the one or more features of the software package to be visible to the one or more user devices.

6 . A computer-implemented method, comprising:

obtaining a set of software release criteria associated with a plurality of different software platforms including:

a condition that a software test be successfully performed prior to deploying a software package that is to be visible to one or more user devices operating at least one of the plurality of different software platforms; and

location information indicating a storage location for a first status indicator of a plurality of status indicators to be generated by different systems associated with a lifecycle of the software package; and

in response to receiving a batch of the plurality of status indicators based, at least in part, on the location information:

generating a dashboard to communicate a mismatch between the first status indicator and a second status indicator of the plurality of status indicators to at least one of the different systems, both the first status indicator and the second status indicator corresponding to a feature flag of the software package, the first status indicator indicating that the condition has been unmet and the second status indicator indicating that one or more features of the software package are deployed to be visible on the one or more user devices.

7 . The computer-implemented method of claim 6 , further comprising:

in response to providing the dashboard, receiving another batch of the plurality of status indicators; and

generating another dashboard that indicates a match between the first status indicator and the second status indicator.

8 . The computer-implemented method of claim 6 , wherein a third status indicator of the plurality of status indicators indicate the mismatch.

9 . The computer-implemented method of claim 6 , wherein the software package includes a set of microservices.

10 . The computer-implemented method of claim 6 , wherein the mismatch causes one or more operations to be performed by the at least one of the different systems to reconcile the mismatch.

11 . The computer-implemented method of claim 6 , further comprising:

determining a period of time during which the one or more features were deployed to be visible on the one or more user devices.

12 . The computer-implemented method of claim 6 , wherein the plurality of different software platforms comprise an online service, at least one operating system, or a combination thereof.

13 . The computer-implemented method of claim 6 , wherein a third status indicator of the plurality of status indicators indicates that the software package was distributed to a subset of users selected from a set of users based, at least in part, on a set of predetermined criteria.

14 . A non-transitory computer-readable storage medium storing computer-executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

receive a set of software release criteria associated with a plurality of different software platforms comprising:

a condition that a software test be successfully performed prior to deploying a software package that is to be visible to one or more user devices operating at least one of the plurality of different software platforms; and

location information indicating a storage for a first status indicator of a plurality of status indicators to be generated by different systems associated with a lifecycle of the software package; and

in response to receiving a batch of the plurality of status indicators based, at least in part, on the location information:

communicate a mismatch between the first status indicator and a second status indicator of the plurality of status indicators to at least one of the different systems, both the first status indicator and the second status indicator corresponding to a feature flag of the software package, the first status indicator indicating that the condition has been unmet and the second status indicator indicating that one or more features of the software package are deployed to be visible on the one or more user devices.

15 . The non-transitory computer-readable storage medium of claim 14 , wherein the computer-executable instructions further include executable instructions that further cause the computer system to receive another batch of the plurality of status indicators in response to providing a dashboard used to indicate the plurality of different software platforms and communicate the mismatch between the first status indicator and the second status indicator.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the computer-executable instructions further cause the computer system to generate another dashboard that indicates a match between the first status indicator and the second status indicator.

17 . The non-transitory computer-readable storage medium of claim 14 , wherein the computer-executable instructions further cause the computer system to determine a period of time during which the one or more features were deployed to be visible on the one or more user devices.

18 . The non-transitory computer-readable storage medium of claim 14 , wherein the mismatch is communicated using a third status indicator of the plurality of status indicators.

19 . The non-transitory computer-readable storage medium of claim 14 , wherein the software test determines whether the one or more features are to be visible to a selected group of user devices and the one or more user devices is outside of the selected group.

20 . The non-transitory computer-readable storage medium of claim 14 , wherein a third status indicator of the plurality of status indicators indicates that the software package was distributed to a portion of a plurality of users selected based, at least in part, on a set of preselected criteria.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2025
From: DANAIT, ADAR K; TUMUKUNTALA, AJAY KUMAR; SHENOY, AKSHATHA RAMESH; PRASHANTH, ASHWIN PERAPPA; LA RUE, DANIELLE A; SAH, FLORA P; ROBISON JOSHI, HEATHER MARIE; SHARMA, MANEET; ARALERI VISWESWARIAH, PAVITHRA; SHETTY, RADHIKA; PITLA, VARAHA VENKATA GANESWARA; BETGAR, VITTHAL RAMLING
To: CITIGROUP INC.
Reel/Frame 071065/0355 →
Continuity (1)
Related Publication 20260010457A1 · Jan 8, 2026
References Cited (13)
US 8191044B1 · Berlik · 2012 [cited by examiner]
US 8572613B1 · Brandwine · 2013 [cited by examiner]
US 9916233B1 · Qureshi · 2018 [cited by examiner]
US 11188313B1 · Huffman · 2021 [cited by examiner]
US 11573786B1 · Kiselev · 2023 [cited by examiner]
US 12566485B2 · Bernstein · 2026 [cited by examiner]
US 20030163807A1 · Drake · 2003 [cited by examiner]
US 20130024847A1 · Browne · 2013 [cited by examiner]
US 20130246849A1 · Plamondon · 2013 [cited by examiner]
US 20160063282A1 · Shani · 2016 [cited by examiner]
US 20180129812A1 · Kang · 2018 [cited by examiner]
US 20210049003A1 · Trahan · 2021 [cited by examiner]
US 20220398333A1 · Segler · 2022 [cited by examiner]