US 12,299,430 B2
Parallel rollout verification processing for deploying updated software
Kenneth Cardozo, Flower Mound, TX (US); Tausif Shahid, Frisco, TX (US); Sai Pradeep Kurakula, Allen, TX (US); and Saira Zaman, Frisco, TX (US)
Assigned to Capital One Services, LLC, McLean, VA (US)
Filed by Capital One Services, LLC, McLean, VA (US)
Filed on Sep. 2, 2021, as Appl. No. 17/446,787.
Prior Publication US 2023/0061613 A1, Mar. 2, 2023
Int. Cl. G06F 8/65 (2018.01); G06F 8/71 (2018.01); H04L 67/00 (2022.01)
CPC G06F 8/65 (2013.01) [G06F 8/71 (2013.01); H04L 67/34 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for testing and deploying an updated version of a software application, the system comprising:
one or more memories; and
one or more processors, coupled to the one or more memories, configured to:
deploy, in a pilot mode, the updated version of the software application in a runtime environment executing a legacy version of the software application;
process one or more requests in a request queue associated with the software application using the legacy version of the software application to generate processing results that are dispatched to a client interface and a communication history that includes one or more records based on the processing results that are dispatched to the client interface;
process, using the updated version of the software application, copies of the one or more requests processed by the legacy version of the software application to generate validation data based on the one or more records included in the communication history,
wherein the copies of the one or more requests are included in the communication history;
store, based on determining where to dispatch the validation data based on a status of a pilot flag associated with the updated version of the software application, the validation data;
generate one or more outputs that indicate whether the updated version of the software application passes one or more tests associated with the one or more requests in the request queue based on a comparison between the validation data generated by the updated version of the software application and the one or more records included in the communication history; and
modify, based on the one or more outputs indicating that the updated version of the software application passes the one or more tests, a data pipeline associated with the updated version of the software application to receive inputs from the request queue instead of the communication history and to dispatch processing results based on the inputs received from the request queue to the client interface.