DIAGNOSTIC METHODS AND SYSTEMS FOR MOBILE ELECTRONIC DEVICES

20230297457 · 2023-09-21

    Inventors

    Cpc classification

    International classification

    Abstract

    A mobile electronic device comprises an operating system and a method for use in providing system-level diagnostic information relating to the performance of hardware of the mobile electronic device comprises receiving a request from a user of the mobile electronic device to execute a diagnostics application on the mobile electronic device and executing the diagnostics application on the mobile electronic device based on user privileges in response to the received user request. Executing the diagnostics application causes the mobile electronic device to invite the user to confirm whether the operating system should generate a bug report and the operating system to generate a bug report at the mobile electronic device in response to the user confirming that the bug report should be generated. The method further comprises extracting the system-level diagnostic information from the bug report at the mobile electronic device and/or at a server located remotely from the mobile electronic device and making the extracted system-level diagnostic information accessible to a third party located remotely from the mobile electronic device and from the server. The method may allow a third party to remotely access the system-level diagnostics information indirectly, for example from a server located remotely from the mobile electronic device. Further, such a method enables system-level information to be obtained from the bug report based only on read-only user privileges.

    Claims

    1. A method for use in providing system-level diagnostic information relating to the performance of hardware of a mobile electronic device, the mobile electronic device comprising an operating system, and the method comprising: receiving a request from a user of the mobile electronic device to execute a diagnostics application on the mobile electronic device; executing the diagnostics application on the mobile electronic device based on user privileges in response to the received user request thereby causing: the mobile electronic device to invite the user to confirm whether the operating system should generate a bug report; and the operating system to generate a bug report at the mobile electronic device in response to the user confirming that the bug report should be generated; and the method further comprising: extracting the system-level diagnostic information from the bug report at the mobile electronic device and/or at a server located remotely from the mobile electronic device; and making the extracted system-level diagnostic information accessible to a third party located remotely from the mobile electronic device and from the server.

    2. The method as claimed in claim 1, further comprising extracting the system-level diagnostic information from a diagnostic output for system services component of the bug report.

    3. The method as claimed in claim 1, further comprising transmitting or uploading, for example wirelessly transmitting or uploading, at least part of the bug report from the mobile electronic device to the server.

    4. The method as claimed in claim 1, further comprising transmitting or downloading, for example wirelessly transmitting or downloading, at least part of the system-level diagnostic information from the server to the mobile electronic device.

    5. The method as claimed in claim 1, further comprising transmitting or uploading, for example wirelessly transmitting or uploading, at least part of the system-level diagnostic information from the mobile electronic device to the server.

    6. The method as claimed in claim 1, further comprising storing the extracted system-level diagnostic information at the mobile electronic device and/or at the server.

    7. The method as claimed in claim 1, further comprising making the extracted system-level diagnostic information accessible to a user of the mobile electronic device

    8. The method as claimed in claim 1, further comprising displaying the extracted system-level diagnostic information on the mobile electronic device.

    9. The method as claimed in claim 1, further comprising making the extracted system-level diagnostic information accessible to the third party and/or to the user of the mobile electronic device in response to a request from the user of the mobile electronic device.

    10. The method as claimed in claim 1, wherein inviting the user of the mobile electronic device to confirm whether the bug report should be generated comprises: directing the user to a take bug report option in a device setting menu of the mobile electronic device; and inviting the user to confirm, using the take bug report option in the device setting menu, whether the bug report should be generated.

    11. The method as claimed in claim 1, wherein executing the diagnostics application causes the mobile electronic device to: notify the user when the bug report has been generated; and invite the user to confirm whether the bug report should be shared with the diagnostics application.

    12. The method as claimed in claim 11, further comprising providing the diagnostics application with permission and/or privileges to access the bug report in response to the user confirming that the bug report should be shared with the diagnostics application.

    13. The method as claimed in claim 11, wherein, in response to the user confirming that the bug report should be shared with the diagnostics application, the diagnostics application causes the mobile electronic device to transmit or upload, for example wirelessly transmit or upload, at least part of the bug report from the mobile electronic device to a server for extraction of the system-level diagnostic information from the bug report at the server.

    14. The method as claimed in claims 11, wherein, in response to the user confirming that the bug report should be shared with the diagnostics application, the diagnostics application causes the mobile electronic device to: generate at least part of the system-level diagnostic information at the mobile electronic device; and transmit or upload, for example wirelessly transmit or upload, at least part of the generated system-level diagnostic information from the mobile electronic device to a server.

    15. The method as claimed in claim 1, further comprising: repeatedly generating bug reports at the mobile electronic device; and repeatedly extracting system-level diagnostic information from the bug reports.

    16. The method as claimed in claim 15, further comprising repeatedly storing the extracted system-level diagnostic information at the mobile electronic device and/or at the server.

    17. The method as claimed in claim 16, further comprising refreshing and/or over-writing system-level diagnostic information relating to the performance of the mobile electronic device which was previously stored at the mobile electronic device and/or at the server.

    18. A system for use in providing system-level diagnostic information relating to the performance of hardware of a mobile electronic device, the mobile electronic device comprising an operating system, and the system comprising: the mobile electronic device; and a server located remotely from the mobile electronic device, wherein the mobile electronic device is configured to receive a request from a user of the mobile electronic device to execute a diagnostics application on the mobile electronic device and to execute the diagnostics application on the mobile electronic device based on user privileges in response to the received user request thereby causing the mobile electronic device to invite the user to confirm whether the operating system should generate a bug report and the operating system to generate a bug report at the mobile electronic device in response to the user confirming that the bug report should be generated, wherein at least one of the mobile electronic device and the server is configured to extract the system-level diagnostic information from the bug report, and wherein the server is configured to make the extracted system-level diagnostic information accessible to a third party located remotely from the mobile electronic device and from the server.

    19. The system as claimed in claim 18, wherein the mobile electronic device is configured to make the extracted system-level diagnostic information accessible to a user of the mobile electronic device.

    20. A diagnostics application for use in providing system-level diagnostic information relating to the performance of hardware of a mobile electronic device, wherein, the diagnostics application is executable by a processor of the mobile electronic device to cause the mobile electronic device to initiate the method of claim 1.

    21. A mobile electronic device comprising the diagnostics application of claim 20.

    22. The method, system, diagnostics application or the mobile electronic device as claimed in claim 1, wherein the system-level diagnostic information comprises information relating to the historical performance of hardware of the mobile electronic device.

    23. The method, system, diagnostics application or the mobile electronic device as claimed in claim 1, wherein the system-level diagnostic information comprises at least one of: information relating to the performance of a battery of the mobile electronic device; information relating to at least one of the number, frequency, date, time, charging current, and charging duration of charging events of the battery of the mobile electronic device; information relating to a temperature of the mobile electronic device; information relating to a temperature of a battery of the mobile electronic device; information relating to energy and/or power consumption of the mobile electronic device; information relating to one or more power cycles of the mobile electronic device; information relating to at least one of the number, frequency, date and time of any power shut downs of the mobile electronic device.

    24. The method, system, diagnostics application or the mobile electronic device as claimed in claim 1, wherein the mobile electronic device comprises or runs an Android operating system such as Android Marshmallow Versions 6.0-6.0.1, Android Nougat Versions 7.0-7.1.2, Android Oreo Versions 8.0-8.1 or Android P Version 9.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0104] A method, system, diagnostics application, and mobile electronic device for use in providing system-level diagnostic information relating to the performance of hardware of the mobile electronic device will now be described by way of non-limiting example only with reference to the following drawings of which:

    [0105] FIG. 1 is a schematic of a mobile electronic device and a system for use in providing system-level diagnostic information relating to the performance of hardware of the mobile electronic device;

    [0106] FIG. 2 is a flow chart illustrating a method for use in providing system-level diagnostic information relating to the performance of the hardware of the mobile electronic device;

    [0107] FIG. 3A is a screenshot of an Apps menu in a display of the mobile electronic device;

    [0108] FIG. 3B is a screenshot of a Developer Options menu in the display of the mobile electronic device;

    [0109] FIG. 3C is a screenshot of a Take Bug Report options menu in the display of the mobile electronic device;

    [0110] FIG. 3D is a screenshot of a notifications page in the display of the mobile electronic device indicating that a bug report is being generated;

    [0111] FIG. 3E is a screenshot of the notifications page in the display of the mobile electronic device indicating that a bug report has been generated;

    [0112] FIG. 3F is a screenshot of a permissions page in the display of the mobile electronic device requesting permission to share a bug report with a SmartChk diagnostics application;

    [0113] FIG. 3G is a screenshot of a holding page in the display of the mobile electronic device indicating that the bug report is being uploaded from the mobile electronic device to a server located remotely from the mobile electronic device; and

    [0114] FIG. 3H is a screenshot of a diagnostics results page in the display of the mobile electronic device.

    DETAILED DESCRIPTION OF THE DRAWINGS

    [0115] One of ordinary skill in the art will understand that one or more of the features of the embodiments described below with reference to the drawings may produce effects or provide advantages when used in isolation from one or more of the other features of the embodiments and that different combinations of the features are possible other than the specific combinations of the features of the embodiments described below.

    [0116] Referring initially to FIG. 1 there is shown a mobile electronic device in the form of an Android device generally designated 10 and a system, generally designated 20, for use in providing system-level diagnostic information relating to the performance of hardware of the Android device 10. The Android device 10 includes a memory 12, a processor 14, and a touchscreen 16.

    [0117] The system 20 includes a diagnostics application 22 stored in the memory 12 of the Android device 10. The system 20 further includes a server, generally designated 30, which is located remotely from the Android device 10. The server 30 includes a memory 32, and a processor 34. The memory 32 stores a program 36, a bug report 38 relating to the performance of the Android device 10, and system-level diagnostic information 40 relating to the performance of the hardware of the Android device 10.

    [0118] As shown in FIG. 1, the Android device 10 and the server 30 are configured for wireless communication via the cloud 50.

    [0119] The diagnostics application 22 may be executed by the processor 14 of the Android device 10 to initiate the method which is illustrated in FIG. 2 and which is generally designated 100 for use in providing the system-level diagnostic information 40 relating to the performance of the hardware of the Android device 10. The method 100 is further described in detail below with reference to the screenshots of FIGS. 3A-3H.

    [0120] The method 100 begins at step 102 with the Android device 10 receiving a user request to run the diagnostics application 22. On execution of the diagnostics application 22 at step 104 of the method 100, the diagnostics application 22 directs the user to a “Take Bug Report” option in the “Device Settings” menu of the Android device 10 shown in FIG. 3A and the “Take Bug Report” option in the “Developer options” menu shown in FIG. 3B. At step 106 of the method 100, the Android device 10 receives a request to capture a bug report. As shown in FIG. 3C, the request to capture a bug report may require the user to select an “interactive report” option or a “full report” option and to select a “REPORT” icon on the touchscreen 16 of the Android device 10. The Android device 10 then notifies the user that the bug report is being generated as shown in FIG. 3D. At step 108 of the method 100, the Android device 10 notifies the user once the bug report has been captured as shown in FIG. 3E. At step 110 of the method 100 and, as shown in FIG. 3F, the Android device 10 invites or prompts the user to share the bug report with the diagnostics application 22 by selecting a “Share with SmartChk” icon on the touchscreen 16 of the Android device 10. At step 112 of the method 100, the diagnostics application 22 uploads the bug report via the cloud 50 to the memory 32 of the server 30 where the bug report is saved as the stored bug report 38. Specifically, the diagnostics application 22 uploads the bug report as a .zip file to the server 30 where the bug report is unzipped and saved as the stored bug report 38 in the memory 32 of the server 30.

    [0121] In response to receiving the bug report 38, the method 100 continues at step 113 with the processor 34 of the server 30 executing the program 36 to thereby extract the system-level diagnostic information 40 relating to the performance of the hardware of the Android device 10 from the bug report 38. Specifically, when executed by the processor 34, the program 36 causes the processor 34 to identify the diagnostic output for system services (dumpsys) component of the bug report 38 and to extract the system-level diagnostic information 40 relating to the performance of the hardware of the Android device 10 from the data of the dumpsys component. The processor 34 stores the extracted system-level diagnostic information 40 as a file in the memory 32 of the server 30. As will be described in more detail below, the stored system-level diagnostic information 40 is accessible to a user of the Android device 10 and/or to one or more third parties such as telecom operators, retailers and/or application developers.

    [0122] At step 114 of the method 100, the Android device 10 may receive a user request for system-level diagnostic information via the diagnostics application 22. In response to receiving the user request for the system-level diagnostic information, the method may continue at step 115 with the diagnostics application 22 downloading at least part of the system-level diagnostic information 40 from the server 30 to the Android device 10 and saving at least part of the system-level diagnostic information in the memory 12 of the Android device 10 as stored system-level diagnostic information 52. Specifically, the diagnostics application 22 transmits a processing command to the processor 34 of the server 30 via the cloud 50. The processor 34 applies the processing command to the file containing the system-level diagnostic information 40 stored in the memory 32 of the server 30 causing at least part of the system-level diagnostic information 40 to be fetched, downloaded or otherwise transmitted from the server 30 to the Android device 10, where at least part of the system-level diagnostic information 40 is saved in the memory 12 of the Android device 10 as the stored system-level diagnostic information 52.

    [0123] The method 100 may then continue at step 116 with the diagnostics application 22 displaying a system-level diagnostic information menu on the touchscreen 16 of the Android device 10 as shown in FIG. 3H. In response to receiving a user selection of one or more system-level diagnostic parameters via the touchscreen 16 of the Android device 10, the diagnostics application 22 may display the one or more system-level diagnostic parameters of interest on the touchscreen 16 of the Android device 10.

    [0124] It will be appreciated by one of ordinary skill in the art that various modifications may be made to the foregoing system and method without departing from the scope of the present invention as defined by the claims. For example, as an alternative to, or in addition to, performing steps 114, 115 and 116 of the method 100, a third party such as a telecom operator, a retailer or an OEM of the Android device 10 may request access to at least some of the system-level diagnostic information 40 stored in the memory 32 of the server 30 using a further device such as a PC 60 shown in FIG. 1 via the cloud 50. For example, the PC 60 may include a memory 62, a processor 64 and a user interface 66. The PC 60 may further include a program 68 which, when executed by the processor 64, allows the third party to request access to at least some of the system-level diagnostic information 40 stored in the memory 32 of the server 30 via the cloud 50. Specifically, in response to receiving a request for system-level diagnostic information from the third party via the user interface 66, the PC 60 may download the system-level diagnostic information 40 from the server 30 to the PC 60 and save the system-level diagnostic information in the memory 62 of the PC 60 as stored system-level diagnostic information 70. The method may then continue with the user interface 66 displaying a system-level diagnostic information menu like the system-level diagnostic information menu of the Android device 10 shown in FIG. 3H. In response to receiving a selection of one or more system-level diagnostic parameters via the user interface 66 of the PC 60, the program 68 may display the one or more system-level diagnostic parameters of interest to the telecom operator or retailer or the third party via the user interface 66 of the PC 60.

    [0125] The method may comprise: [0126] transmitting or uploading the bug report from the mobile electronic device to the server and extracting the system-level diagnostic information from the bug report at the server; or [0127] extracting the system-level diagnostic information from the bug report at the mobile electronic device and transmitting or uploading the generated system-level diagnostic information from the mobile electronic device to the server, [0128] according to the speed at which data may be transmitted from the mobile electronic device to the server and/or according to the available computational resources or available computational capacity of the mobile electronic device and the server.

    [0129] Such a method may minimise the time taken to extract the system-level diagnostic information from the bug report according to the speed at which data may be transmitted from the mobile electronic device to the server and/or according to the available computational resources or available computational capacity of the mobile electronic device and the server.

    [0130] The method may comprise distributing the computational operations required to extract the system-level diagnostic information from the bug report between the mobile electronic device and the server and transmitting or uploading part of the bug report from the mobile electronic device to the server according to the speed at which data may be transmitted from the mobile electronic device to the server and/or according to the available computational resources or available computational capacity of the mobile electronic device and the server. Such a method may minimise the time taken to extract the system-level diagnostic information from the bug report according to the speed at which data may be transmitted from the mobile electronic device to the server and/or according to the available computational resources or available computational capacity of the mobile electronic device and the server.

    [0131] One of ordinary skill in the art should understand that the system-level diagnostic information may comprise information relating to the historical performance of hardware of the mobile electronic device.

    [0132] The system-level diagnostic information may comprise information relating to the performance of a battery of the mobile electronic device, for example information relating to at least one of the number, frequency, date, time, charging current, and charging duration of charging events of the battery of the mobile electronic device.

    [0133] The system-level diagnostic information may comprise information relating to a temperature of the mobile electronic device, for example information relating to a temperature of the battery of the mobile electronic device.

    [0134] The system-level diagnostic information may comprise information relating to energy and/or power consumption of the mobile electronic device.

    [0135] The system-level diagnostic information may comprise information relating to one or more power cycles of the mobile electronic device, for example information relating to at least one of the number, frequency, date and time of any power shut downs of the mobile electronic device.

    [0136] The mobile electronic device may comprise or run an Android operating system such as Android Marshmallow Versions 6.0-6.0.1, Android Nougat Versions 7.0-7.1.2, Android Oreo Versions 8.0-8.1 or Android P Version 9.

    [0137] The mobile electronic device may comprise a phone or a tablet.