IP Library Granted Patent US 11,886,323
Granted Patent B2
US 11,886,323 · App. 16/908,322 · Granted Jan 30, 2024

Systems including network simulating for mobile application development

Inventor: Donavan Paul Poulin (Kelowna, CA)
Assignee: WAPP TECH CORP.
G06F11/3664G06F8/30G06F8/71G06F11/3457G06F11/3668G06F30/33G06F9/455G06F2201/00
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 11,886,323
App. No.
16/908,322
Filed
Jun 22, 2020
Granted
Jan 30, 2024
Kind
B2
Examiner
LUU, CUONG V
Art Unit
2148
USPC
703/26
Abstract

A system, method and software product emulate and profile an application playing on a mobile device. The mobile device is emulated using a model based upon characteristics related to performance of the mobile device. The application is played and monitored within the model to determine resource utilization of the application for the mobile device.

Claims (69)

1. A non-transitory, computer-readable medium comprising software instructions for developing an application to be run on a mobile device, where the software instructions, when executed, cause a computer to:

display a list of one or more mobile device types, wherein upon selection of a mobile device type from the list, one or more mobile device characteristics are loaded from at least one of a remote server and a computer-readable media to simulate either a mobile device model, or a real mobile device, or both;

initiate transmission of the application to run in either the mobile device model, or the real mobile device, or both;

monitor utilization of one or more resources of the selected mobile device type over time;

display one or more representations of the application's resource utilization, wherein each representation relates to a different mobile device characteristic and is synched in time as the application is running;

identify one or more areas of code, or functions, or both of the application responsible for utilization of a displayed mobile device characteristic at a given time;

modify one or more areas of code, or functions, or both of the application based on at least one displayed resource utilization;

test performance of the application on the selected mobile device type;

provide a performance data report which includes resource utilization of either the application performance, or the mobile device type performance, or both;

recommend an optimization of the application based on an analysis of the performance data report to improve the performance of the selected mobile device type.

2. The medium of claim 1 , wherein the real mobile device is connected to at least one of the internet, a wireless network and a remote server to enable a user to interact with and test the application.

3. The medium of claim 1 , wherein the instructions to display the resource utilization are stored at least in a file, a database and on computer-readable media.

4. The medium of claim 1 , wherein the one or more mobile device characteristics include at least one of a processor type, processor speed, storage access speed, RAM size, storage size, display, width, display height, pixel depth, processor availability, RAM availability, storage availability or the complete mobile device model.

5. The medium of claim 1 , wherein the monitored resources include either processor usage, or RAM usage, or both.

6. The medium of claim 1 , wherein the instructions include displaying a list of a plurality of mobile device types from which a user can select, wherein each mobile device type includes one or more mobile device characteristics indicative of a corresponding mobile device type.

7. The medium of claim 6 , wherein the user can either manage the mobile device characteristics, or create custom mobile device characteristics, or both to test how well the application performs on the corresponding mobile device type.

8. The medium of claim 7 , wherein the mobile device types are displayed using at least one of a representation of the mobile device type; a list; and a drop-down menu.

9. A non-transitory, computer-readable medium comprising software instructions for developing an application to be run on a mobile device, wherein the software instructions, when executed, cause a computer to:

display a list of one or more mobile device types, wherein upon selection of a mobile device type from the list, one or more mobile device characteristics are loaded from at least one of a remote server and a computer-readable media to simulate either a mobile device model, or a real mobile device, or both;

initiate transmission of the application to run in either the mobile device model, or the real mobile device, or both;

simulate one or more network characteristics on which the selected mobile device type can operate;

monitor utilization of either the selected mobile device type, or network characteristic, or both over time as the application is running;

display one or more representations of the application's resource utilization, wherein each representation relates to either a different mobile device characteristic, or network characteristic, or both and is synched in time as the application is running;

identify one or more areas of code, or functions, or both of the application responsible for utilization of a displayed resource representation at a given time;

modify one or more areas of code, or functions, or both of the application based on at least one displayed resource utilization;

test performance of the application on either one or more of the network characteristics, or the selected mobile device type, or both;

provide a performance data report which includes resource utilization of at least one of the application performance, one or more network characteristics, and the selected mobile device type;

recommend an optimization of the application based on an analysis of the performance data report to improve the performance of the selected mobile device type.

10. The medium of claim 9 , wherein the one or more network characteristics are derived at least in part from data provided from interactions between one or more mobile devices and at least one operator network.

11. The medium of claim 9 , wherein the one or more network characteristics includes bandwidth availability based at least in part on bandwidth data provided from interactions between one or more mobile devices and at least one operator network.

12. The medium of claim 9 , wherein the one or more network characteristics uses data provided at least in part from interactions between one or more mobile devices and at least one operator network.

13. The medium of claim 9 , wherein the one or more network characteristics are derived at least in part from live network profiles provided from interactions between one or more mobile devices and at least one operator network.

14. The medium of claim 9 , wherein the instructions import a network profile that includes one or more network characteristics derived at least in part from data provided from interactions between one or more mobile devices and at least one operator network.

15. The medium of claim 10 , wherein the instructions store a network profile that includes one or more network characteristics into at least one of a file, a database, and on computer-readable media that is accessible via the internet.

16. The medium of claim 10 , wherein the data provided from one or more wireless networks are at least partially based on a geographical region.

17. The medium of claim 10 , wherein the instructions can import real-world mobile network profiles from geographical locations worldwide.

18. The medium of claim 10 , wherein the instructions enable a user to discover and import network conditions from geographical locations worldwide.

19. The medium of claim 10 , wherein the one or more network characteristics are displayed using at least one of a map, a list, and a drop-down menu to enable a user to test how well the application performs on either one or more of the network characteristics, or the selected mobile device type, or both.

20. The medium of claim 10 , wherein the user can either manage the network characteristics, or create custom network characteristics, or both.

21. The medium of claim 9 , wherein the instructions allow a scenario to be created that include events that emulate actions of real user behavior on the application.

22. The medium of claim 21 , wherein the scenario includes one or more virtual users to emulate actions of real users.

23. The medium of claim 22 , wherein the scenario can be monitored to determine utilization of at least one of the application performance, one or more network characteristics, and the selected mobile device type.

24. The medium of claim 22 , wherein the actions performed by the virtual user are described in a script which includes functions that measure and record the performance of either the network, or the application, or both.

25. The medium of claim 24 , wherein the one or more virtual users execute the script.

26. The medium of claim 25 , wherein the scripts can be run by an event generator to determine resource utilization of either the application, or the network, or both.

27. The medium of claim 26 , wherein the event generator can be used to evaluate performance of at least one of the application, one or more network characteristics, and the selected mobile device type.

28. The medium of claim 27 , wherein the even generator includes load and stress testing.

29. The medium of claim 24 , wherein the scripts can be modified, recorded and stored at least in a file, a database and on computer-readable media that is accessible via the internet.

30. The medium of claim 9 , wherein the one or more real mobile devices are connected to at feast one of the internet, a wireless network and a remote server, to enable a user to interact with and test the application.

31. The medium of claim 9 , wherein the instructions include receiving a set of declared resources for the application, wherein the declared resources include information to evaluate performance of at least one of the application, one or more network characteristics, and the selected mobile device type.

32. A non-transitory, computer-readable medium comprising software instructions for developing an application to be run on a mobile device, where the software instructions, when executed, cause a computer to:

display a list of one or more mobile device types, wherein upon selection of a mobile device type from the list, one or more mobile device characteristics are loaded from at least one of a remote server and a computer-readable media to simulate either a mobile device model, or a real mobile device, or both;

initiate transmission of the application to run in either the mobile device model, or the real mobile device, or both;

simulate one or more network characteristics on which the selected mobile device type can operate;

create one or more scenarios that include events that occur during a test;

define one or more events by creating one or more virtual users to emulate actions of real user behavior on either of at least one of the application, one or more network characteristics, and the selected mobile device type;

create one or more scripts which include the actions of the one or more virtual users to impact either performance of at least one of the application, one or more network characteristics, and the selected mobile device type;

test the performance of the application on the selected mobile device type;

record the actions using functions described in the scripts;

monitor the one or more scenarios to determine utilization of at least one of the application, one or more network characteristics, and the selected mobile device type;

evaluate performance of at least one of the application, one or more network characteristics, and the selected mobile device type using an event generator which includes load and stress testing.

33. The medium of claim 32 , wherein the scripts can be modified, recorded and stored at least in a file, a database and on computer-readable media that is accessible via the internet.

34. The medium of claim 32 , wherein the one or more real mobile devices are connected to at least one of the internet, a wireless network and a remote server, to enable a user to interact with and test the application.

35. The medium of claim 32 , wherein the instructions include receiving a set of declared resources for the application, wherein the declared resources include information to evaluate performance of at least one of the application, one or more network characteristics, and the selected mobile device type.

36. The medium of claim 32 , wherein the one or more network characteristics are derived at least in part from data provided from interactions between one or more mobile devices and at least one operator network.

37. The medium of claim 36 , wherein the information provided from one or more wireless networks are stored in at least one of a file, a database, and on computer-readable media that is accessible via the internet.

38. The medium of claim 37 , wherein the information provided from one or more wireless networks are at least partially based on a geographical region.

39. The medium of claim 38 , wherein the one or more network characteristics are displayed using at least one of a map, a list, and a drop-down menu to enable a user to test how well the application performs on either one or more of the network characteristics, or the selected mobile device type, or both.

40. The medium of claim 39 , wherein the user can either manage the network characteristics, or create custom network characteristics, or both.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2023
From: POULIN, DONAVAN PAUL
To: WAPP TECH CORP.
Reel/Frame 065706/0058 →
Continuity (7)
Continuation 15083186 · Mar 28, 2016
Division 14084321 · Nov 19, 2013
Division 12705913 · Feb 15, 2010
Continuation In Part 11449958 · Jun 9, 2006
Provisional Application 61152934 · Feb 16, 2009
Provisional Application 60689101 · Jun 10, 2005
Related Publication 20210141713A1 · May 13, 2021