IP Library › Granted Patent US 12,579,057
Granted Patent B2
US 12,579,057 · App. 17/456,714 · Granted Mar 17, 2026

Computing environment software application testing

Inventors: Fernando Luiz Koch (Greenwich, CT); Marco Aurelio Stelmar Netto (Sao Paulo, BR); David Jason Hunt (Kirkwood, MO)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/3698G06F11/3688G06F11/3692G06N20/00H04L41/5009H04W4/24
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,579,057
App. No.
17/456,714
Granted
Mar 17, 2026
Kind
B2
Abstract

Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: testing a software application having instances that run on (a) a test computing environment and (b) a target computing environment, wherein each of the test computing environment and the target computing environment is provided by a mobile access edge computing (MEC) environment, wherein the testing includes varying a software application performance impacting parameter value impacting performance of an instance of the software application running on the test computing environment, and examining metrics data resulting from the varying the software application performance impacting parameter value; providing, in dependence on the metrics data, an action decision to adjust a software application performance impacting parameter value impacting performance of a software application instance of the software application running on the target computing environment; and adjusting the software application performance impacting parameter value impacting performance of the software application instance of the software application running on the target computing in accordance with the action decision.

Claims (33)

1 . A computer implemented method comprising:

testing a software application having instances that run on (a) a test computing environment and (b) a target computing environment, wherein each of the test computing environment and the target computing environment is provided by a mobile access edge computing (MEC) environment, wherein the testing includes varying a software application performance impacting parameter value impacting performance of an instance of the software application running on the test computing environment, and examining metrics data resulting from the varying the software application performance impacting parameter value;

providing, in dependence on the metrics data, an action decision to adjust a software application performance impacting parameter value impacting performance of a software application instance of the software application running on the target computing environment; and

adjusting the software application performance impacting parameter value impacting performance of the software application instance of the software application running on the target computing environment in accordance with the action decision, wherein the method includes selecting the test computing environment from a set of candidate computing environments, the selecting being performed using cluster analysis processing to ascertain a similarity level between the target computing environment and respective ones of the candidate computing environments.

2 . A system comprising:

a memory;

at least one processor in communication with the memory; and

program instructions executable by one or more processor via the memory to perform a method comprising:

testing a software application having instances that run on (a) a test computing environment and (b) a target computing environment, wherein each of the test computing environment and the target computing environment is provided by a mobile access edge computing (MEC) environment, wherein the testing includes varying a software application performance impacting parameter value impacting performance of an instance of the software application running on the test computing environment, and examining metrics data resulting from the varying the software application performance impacting parameter value;

providing, in dependence on the metrics data, an action decision to adjust a software application performance impacting parameter value impacting performance of a software application instance of the software application running on the target computing environment; and

adjusting the software application performance impacting parameter value impacting performance of the software application instance of the software application running on the target computing environment in accordance with the action decision.

3 . A computer implemented method comprising:

testing a software application having instances that run on (a) a test computing environment and (b) a target computing environment, wherein each of the test computing environment and the target computing environment is provided by a mobile access edge computing (MEC) environment, wherein the testing includes varying a software application performance impacting parameter value impacting performance of an instance of the software application running on the test computing environment, and examining metrics data resulting from the varying the software application performance impacting parameter value;

providing, in dependence on the metrics data, an action decision to adjust a software application performance impacting parameter value impacting performance of a software application instance of the software application running on the target computing environment; and

adjusting the software application performance impacting parameter value impacting performance of the software application instance of the software application running on the target computing environment in accordance with the action decision.

4 . The computer implemented method of claim 3 , wherein the action decision is further provided in dependence on a cost analysis.

5 . The computer implemented method of claim 3 , wherein the method includes selecting the test computing environment from a set of candidate computing environments, the selecting being performed using processing to ascertain a similarity level between the target computing environment and respective ones of the candidate computing environments.

6 . The computer implemented method of claim 3 , wherein the method includes predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment, and selecting the test computing environment from a set of candidate computing environments in dependence on the predicting.

7 . The computer implemented method of claim 3 , wherein the method includes predicting future performance of the target computing environment, and comparing parameter values defining the predicted future performance of the target computing environment to parameter values defining current performance of a set of candidate computing environments, and selecting the test computing environment from the set of candidate computing environments in dependence on the comparing.

8 . The computer implemented method of claim 3 , wherein the method includes predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment, and comparing the predicted future computing environment characterizing parameter values to current computing characterizing parameter values characterizing current performance of a set of candidate computing environments, and selecting the test computing environment from the set of candidate computing environments in dependence on the comparing, wherein the predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment includes querying, with query data, a predictive model trained with machine learning training data for predicting future performance of the target computing environment, the query data specifying future time of day parameter value.

9 . The computer implemented method of claim 3 , wherein the method includes predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment, and comparing the predicted future computing environment characterizing parameter values to current computing characterizing parameter values characterizing current performance of a set of candidate computing environments, and selecting the test computing environment from the set of candidate computing environments in dependence on the comparing, wherein the predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment includes querying, with query data, a predictive model trained with machine learning training data for predicting future performance of the target computing environment, the query data specifying a predicted future weather parameter value.

10 . The computer implemented method of claim 3 , wherein the method includes predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment, and comparing the predicted future computing environment characterizing parameter values to current computing characterizing parameter values characterizing current performance of a set of candidate computing environments, and selecting the test computing environment from the set of candidate computing environments in dependence on the comparing, wherein the predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment includes querying, with query data, a predictive model trained with machine learning training data for predicting future performance of the target computing environment, the query data specifying a scheduled social event parameter value.

11 . The computer implemented method of claim 3 , wherein the testing includes varying a plurality of software application performance impacting parameter values impacting performance of an instance of the software application running on the test computing environment, and examining metrics data resulting from the varying the plurality of software application performance impacting parameter values, wherein the software application performance impacting parameter values include (a) a software application performance impacting parameter value specifying adjustment of a resource provisioning configuration of a virtual machine, (b) a software application performance impacting parameter value specifying adjustment of a network capacity, and (c) a software application performance impacting parameter value specifying rehosting of a software application on a new virtual machine.

12 . The computer implemented method of claim 3 , wherein the metrics data includes metrics data specifying satisfaction level of users of the test computing environment.

13 . The computer implemented method of claim 3 , wherein the metrics data includes metrics data specifying satisfaction level of users of the test computing environment, wherein determining a satisfaction level of a certain user of the users includes monitoring throughput of a network connection associated to the certain user.

14 . The computer implemented method of claim 3 , wherein the method further comprises selecting the test computing environment from a set of candidate computing environments, the selecting being performed using cluster analysis processing to ascertain a similarity level between the target computing environment and respective ones of the candidate computing environments; varying one or more software application performance impacting parameter values impacting performance of an instance of the software application running on the test computing environment, the one or more software application performance impacting parameter values including (a) a parameter value specifying adjustment of a resource provisioning configuration of a virtual machine, (b) a parameter value specifying adjustment of a network capacity, and (c) a parameter value specifying rehosting of the software application on a new virtual machine; and examining metrics data resulting from varying the one or more software application performance impacting parameter values, the metrics data including metrics specifying satisfaction level of users of the test computing environment, wherein determining a satisfaction level of a certain user of the users includes monitoring throughput of a network connection associated to the certain user; predicting future computing environment characterizing parameter values characterizing future performance of the target computing environment; comparing the predicted future computing environment characterizing parameter values to current computing characterizing parameter values characterizing current performance of the set of candidate computing environments; and selecting the test computing environment from the set of candidate computing environments in dependence on the comparing, wherein the predicting includes querying, with query data, a predictive model trained with machine learning training data for predicting future performance of the target computing environment, the query data specifying at least one of: a future time of day parameter value, a predicted future weather parameter value, or a scheduled social event parameter value; and wherein the action decision of claim 1 is further provided in dependence on a cost analysis.

15 . The computer implemented method of claim 3 , wherein the testing further comprises simulating network performance conditions within the test computing environment, the simulating including dynamically altering network latency characteristics to emulate varying network transport times experienced in mobile access edge computing environments, wherein performance metrics collected during the simulation enable identification of latency thresholds beyond which the software application performance becomes suboptimal.

16 . The computer implemented method of claim 3 , wherein the metrics data includes detailed energy consumption measurements associated with the execution of the software application instance on the test computing environment, the energy consumption metrics comprising tracked usage levels of power-related system resources including CPU activity, memory usage, and disk utilization over the duration of testing, the collected metrics being used to guide parameter adjustments that reduce power consumption without violating application service-level performance requirements.

17 . The computer implemented method of claim 3 , wherein the action decision is further determined in dependence on a calculated user experience score derived from metrics obtained during testing, the score being computed as a weighted combination of multiple observed attributes including application responsiveness, task completion latency, throughput consistency, and error rates, wherein the resulting user experience score is compared against a predefined threshold associated with acceptable user quality of experience.

18 . The computer implemented method of claim 3 , wherein the testing includes executing controlled load tests that simulate scaling user activity within the test computing environment, the load tests incrementally increasing simulated concurrent user sessions, each session executing behavior representative of real-world interaction patterns, and wherein performance metrics collected include resource contention effects, system response degradation, and failure mode characteristics that indicate the application's performance limits under high concurrency.

19 . The computer implemented method of claim 3 , wherein the method further comprises executing an automated rollback mechanism in the target computing environment in response to the detection of performance degradation resulting from an applied adjustment, the rollback mechanism restoring a previously active configuration of the application instance from a state record, and triggering generation of diagnostic logs containing the adjustment that caused the degradation, performance measurements before and after the adjustment, and indicators for use in future performance model updates.

20 . The computer implemented method of claim 3 , wherein the metrics data further includes compliance-related telemetry indicative of the software application's adherence to a defined set of security policies during testing in the test computing environment, including detection of policy violations such as unauthorized access attempts, improper data exchanges, or untrusted execution behavior, and wherein any action decision that results in a configuration breaching said policies is automatically excluded from implementation.

21 . The computer implemented method of claim 3 , wherein the testing further comprises initiating a network emulation mode within the test computing environment to artificially vary one or more transport characteristics of a network layer, including latency, jitter, and packet delivery rate, in order to evaluate the sensitivity of the software application to edge-like connectivity conditions; and wherein metrics collected during said testing include resource consumption indicators that reflect power usage associated with processing tasks executed under variable network conditions, the indicators comprising tracked consumption of compute, memory, and storage resources to inform performance-impacting parameter adjustments that optimize for both responsiveness and energy efficiency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2021
From: KOCH, FERNANDO LUIZ; STELMAR NETTO, MARCO AURELIO; HUNT, DAVID JASON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058226/0707 →
Continuity (1)
Related Publication 20230168992A1 · Jun 1, 2023
References Cited (46)
US 9185603B1 · McCarthy · 2015 [cited by applicant]
US 9495219B2 · Cohn · 2016 [cited by applicant]
US 10489284B1 · Saraf · 2019 [cited by examiner]
US 10567291B2 · Sabella et al. · 2020 [cited by applicant]
US 10779178B1 · Ramanathan et al. · 2020 [cited by applicant]
US 10972575B2 · Li et al. · 2021 [cited by applicant]
US 11019077B2 · Verma et al. · 2021 [cited by applicant]
US 20120297251A1 · Masser · 2012 [cited by examiner]
US 20130036328A1 · Mutisya · 2013 [cited by examiner]
US 20130283240A1 · Krajec · 2013 [cited by examiner]
US 20140325481A1 · Pillai · 2014 [cited by examiner]
US 20150009826A1 · Ma et al. · 2015 [cited by applicant]
US 20150222549A1 · Kakadia et al. · 2015 [cited by applicant]
US 20160321115A1 · Thorpe · 2016 [cited by examiner]
US 20160321586A1 · Herzig · 2016 [cited by examiner]
US 20170046254A1 · Buege · 2017 [cited by examiner]
US 20170048876A1 · Mahindra et al. · 2017 [cited by applicant]
US 20170063596A1 · Potkonjak · 2017 [cited by applicant]
US 20170180459A1 · Frank · 2017 [cited by examiner]
US 20190138934A1 · Prakash et al. · 2019 [cited by applicant]
US 20190306044A1 · Cohen · 2019 [cited by examiner]
US 20200008044A1 · Poornachandran et al. · 2020 [cited by applicant]
US 20200160986A1 · Vegas Santiago · 2020 [cited by examiner]
US 20200374974A1 · Sun · 2020 [cited by examiner]
US 20210027415A1 · Khalid et al. · 2021 [cited by applicant]
US 20210051177A1 · White et al. · 2021 [cited by applicant]
US 20210051762A1 · Young et al. · 2021 [cited by applicant]
US 20210083961A1 · Polishchuk et al. · 2021 [cited by applicant]
US 20210153041A1 · Parvataneni et al. · 2021 [cited by applicant]
US 20210176823A1 · Mishra et al. · 2021 [cited by applicant]
US 20220006857A1 · Sun · 2022 [cited by examiner]
US 20220138081A1 · Varma · 2022 [cited by examiner]
WO WO2016192640A1 · 2016 [cited by applicant]
WO WO2017066936A1 · 2017 [cited by applicant]
WO WO2017088905A1 · 2017 [cited by applicant]
WO WO2017175039A1 · 2017 [cited by applicant]
WO WO2017180093A1 · 2017 [cited by applicant]
WO WO2017187011A1 · 2017 [cited by applicant]
Caiazza, Chiara, et al. “MECPerf: An Application-level Tool for Estimating the Network Performance in Edge Computing Environments.” 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC). IEEE,… [cited by examiner]
Hussain, Ishtiaque, Qiang Duan, and Tiffany Zhong. “Service performance tests on the mobile edge computing platform: challenges and opportunities.” INFORMS International Conference on Service Science. Cham: Springer Int… [cited by examiner]
Jha, Devki Nandan, et al. “IoTSim-Edge: a simulation framework for modeling the behavior of Internet of Things and edge computing environments.” Software: Practice and Experience 50.6 (2020): 844-867. (Year: 2020). [cited by examiner]
Mi et al.; “Demonstrating Immersive Media Delivery on 5G Broadcast and Multicast Testing Networks”, TBC IEEE Transactions on, vol. 66, Iss. 2, pp. 555-570, Jun. 2020. [cited by applicant]
Al Ridhawi et al.; “A Collaborative Mobile Edge Computing and User Solution for Service Composition in 5G Systems”,ETT Transactions on,vol. 19,Iss. 11,pp. 1-19,Nov. 2018. [cited by applicant]
Nunna et al.; “Enabling Real-Time Context-Aware Collaboration Through 5G and Mobile Edge Computing”, ITNG IEEE 12th Inter. Conf. on, pp. 601-605, Apr. 13-15, 2015. [cited by applicant]
Han et al.; “Context-Awareness Enhances 5G Multi-Access Edge Computing Reliability”, IEEE Access, vol. 7, pp. 21290-21299, Feb. 27, 2019. [cited by applicant]
Sabella et al.; “Designing the 5G network Infrastructure: A Flexible and Reconfigurable . . . Information”, EURASIP Journal on, Article 199, pp. 1-16, Aug. 13, 2018. [cited by applicant]