IP Library Granted Patent US 10,884,897
Granted Patent B2
US 10,884,897 · App. 16/694,692 · Granted Jan 5, 2021

Integrating synthetic performance measurements with continuous delivery pipelines

Inventors: Laquicia S. Barbee (Durham, NC); Erica M. Brown (Durham, NC); Martin J. C. Presler-Marshall (Durham, NC); Shikha Srivastava (Durham, NC)
Assignee: International Business Machines Corporation
G06F11/3612G06F8/60G06F11/3006G06F11/34G06F11/3688G06F11/3692G06F8/71
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 10,884,897
App. No.
16/694,692
Filed
Nov 25, 2019
Granted
Jan 5, 2021
Kind
B2
Art Unit
2191
USPC
717/126
Abstract

Continuous development pipeline systems and in-field synthetic performance test systems are interlocked to provide for automated control of promotion of program code elements within the development pipeline and in the deployment environment using relative comparative performance values rather than absolute performance thresholds, in order to better accommodate “last mile” variations in client device conditions.

Claims (36)

1. A method comprising:

determining, by a processor, a baseline set of test result values for a first set of performance attributes of a web-based service within a continuous development pipeline, from a first instantiation of a performance test;

determining, by the processor, an additional set of test result values for the first set of performance attributes from a second instantiation of the performance test under a set of conditions outside of the continuous development pipeline;

determining, by the processor, a relative difference between the baseline set of test result values to the additional set of test result values;

detecting, by the processor, that the determined relative difference exceeds at least one relative threshold, wherein the detecting is not reliant upon an absolute threshold; and

responsive to the detecting, performing, by the processor, a machine logic rule to meet a quality of service objective associated with the web-based service, wherein the executed rule comprises at least one or more rules selected from the group consisting of automatically reconfiguring an enterprise computing system associated with the web-based service outside the continuous development pipeline, and controlling advancement of a program code element within the continuous development pipeline.

2. The method of claim 1 , wherein the machine logic rule to control advancement of a program code element within the continuous development pipeline comprises a control selected from the group consisting of automatically enabling promotion of a program code element of the web-based service to a next stage, automatically disabling promotion of a program code element of the web-based service, and automatically enabling promotion of a program code element of the web-based service to a production environment.

3. The method of claim 1 , wherein the second instantiation of the performance test is performed on a program code element in a production environment on a client device.

4. The method of claim 1 , wherein the second instantiation of the performance test is performed on a program code element in a production environment on a server device.

5. The method of claim 1 , wherein base conditions comprise one or more conditions selected from the group consisting of a geographical location of a tested device, a logical network location of a tested device, a time of test on a tested device, a weather condition at a geographic location of a client device, a hardware attribute of a tested device, a software attribute of a tested device, a firmware attribute of tested device, a network connection attribute to a tested device, a speed of data communication, a speed of rendering, and an accuracy of data communication.

6. The method of claim 1 , wherein the relative thresholds are established with respect to matching test conditions between the baseline set of test result values and the additional set of test result values.

7. A computer program product comprising:

a computer-readable memory device having computer-readable program instructions stored on the computer-readable memory device, and said program instructions execute a computer-implemented method comprising:

determining, by a processor, a baseline set of test result values for a first set of performance attributes of a web-based service within a continuous development pipeline, from a first instantiation of a performance test;

determining, by the processor, an additional set of test result values for the first set of performance attributes from a second instantiation of the performance test under a set of conditions outside of the continuous development pipeline;

determining, by the processor, a relative difference between the baseline set of test result values to the additional set of test result values;

detecting, by the processor, that the determined relative difference exceeds at least one relative threshold, wherein the detecting is not reliant upon an absolute threshold; and

responsive to the detecting, performing, by the processor, a machine logic rule to meet a quality of service objective associated with the web-based service, wherein the executed rule comprises at least one or more rules selected from the group consisting of automatically reconfiguring an enterprise computing system associated with the web-based service outside the continuous development pipeline, and controlling advancement of a program code element within the continuous development pipeline.

8. The computer program product of claim 7 , the machine logic rule to control advancement of a program code element within the continuous development pipeline comprises a control selected from the group consisting of automatically enabling promotion of a program code element of the web-based service to a next stage, automatically disabling promotion of a program code element of the web-based service, and automatically enabling promotion of a program code element of the web-based service to a production environment.

9. The computer program product of claim 7 wherein the second instantiation of the performance test is performed on a program code element in a production environment on a client device.

10. The computer program product of claim 7 , wherein the second instantiation of the performance test is performed on a program code element in a production environment on a server device.

11. The computer program product of claim 7 , wherein base conditions comprise one or more conditions selected from the group consisting of a geographical location of a tested device, a logical network location of a tested device, a time of test on a tested device, a weather condition at a geographic location of a client device, a hardware attribute of a tested device, a software attribute of a tested device, a firmware attribute of tested device, a network connection attribute to a tested device, a speed of data communication, a speed of rendering, and an accuracy of data communication.

12. The computer program product of claim 7 , wherein the relative thresholds are established with respect to matching test conditions between the baseline set of test result values and the additional set of test result values.

13. A system comprising:

a processor;

a computer-readable storage media coupled to the processor, wherein the computer-readable storage media contains program instructions executing a computer-implemented method comprising:

determining, by the processor, a baseline set of test result values for a first set of performance attributes of a web-based service within a continuous development pipeline, from a first instantiation of a performance test;

determining, by the processor, an additional set of test result values for the first set of performance attributes from a second instantiation of the performance test under a set of conditions outside of the continuous development pipeline;

determining, by the processor, a relative difference between the baseline set of test result values to the additional set of test result values;

detecting, by the processor, that the determined relative difference exceeds at least one relative threshold, wherein the detecting is not reliant upon an absolute threshold; and

responsive to the detecting, performing, by the processor, a machine logic rule to meet a quality of service objective associated with the web-based service, wherein the executed rule comprises at least one or more rules selected from the group consisting of automatically reconfiguring an enterprise computing system associated with the web-based service outside the continuous development pipeline, and controlling advancement of a program code element within the continuous development pipeline.

14. The system of claim 13 , wherein the machine logic rule to control advancement of a program code element within the continuous development pipeline comprises a control selected from the group consisting of automatically enabling promotion of a program code element of the web-based service to a next stage, automatically disabling promotion of a program code element of the web-based service, and automatically enabling promotion of a program code element of the web-based service to a production environment.

15. The system of claim 13 , wherein the second instantiation of the performance test is performed on a program code element in a production environment on a client device.

16. The system of claim 13 wherein the second instantiation of the performance test is performed on a program code element in a production environment on a server device.

17. The system of claim 13 wherein base conditions comprise one or more conditions selected from the group consisting of a geographical location of a tested device, a logical network location of a tested device, a time of test on a tested device, a weather condition at a geographic location of a client device, a hardware attribute of a tested device, a software attribute of a tested device, a firmware attribute of tested device, a network connection attribute to a tested device, a speed of data communication, a speed of rendering, and an accuracy of data communication.

18. The system of claim 13 wherein the relative thresholds are established with respect to matching test conditions between the baseline set of test result values and the additional set of test result values.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DOORDASH, INC.
Reel/Frame 057826/0939 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF INVENTOR ERICA M, BROWN PREVIOUSLY RECORDED AT REEL: 051108 FRAME: 0493. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 12, 2021
From: BROWN, ERICA M.; BARBEE, LAQUICIA S.; PRESLER-MARSHALL, MARTIN J. C.; SRIVASTAVA, SHIKHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057177/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: BARBEE, LAQUICIA S.; BROWN, ERICA M.; PRESLER-MARSHALL, MARTIN J. C.; SRIVASTAVA, SHIKHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051108/0493 →
Continuity (3)
Continuation 16253107 · Jan 21, 2019
Continuation 15488497 · Apr 16, 2017
Related Publication 20200089596A1 · Mar 19, 2020
Cited By (2)
US 12,360,763 US 12,367,125