STREAMING METHOD AND SYSTEM FOR MOBILE ELECTRONIC DEVICE DIAGNOSTICS
20230308533 · 2023-09-28
Inventors
Cpc classification
H04W8/22
ELECTRICITY
International classification
Abstract
A method for use in performing a diagnostic test on a mobile electronic device, comprises: (i) transmitting, from a server to the mobile electronic device, data defining a portion of an algorithm, the algorithm defining the diagnostic test; (ii) executing, on the mobile electronic device, the portion of the algorithm; and (iii) repeating steps (i) and (ii) for each portion of the algorithm until the diagnostic test is complete. Such a method may avoid any requirement to install a computer program defining an algorithm for a diagnostic test on the mobile electronic device. The present disclosure also relates to a system, a method and a computer program for use in performing a diagnostic test on a mobile electronic device and, in particular, though not exclusively for use in performing a diagnostic test on a mobile phone, a smartphone, a tablet or a laptop.
Claims
1. A method for use in performing a diagnostic test on a mobile electronic device, the diagnostic test defined by an algorithm which includes a plurality of portions, and the method comprising: (i) transmitting, from a server to the mobile electronic device, data defining a portion of the algorithm; (ii) executing, on the mobile electronic device, the portion of the algorithm; and (iii) repeating steps (i) and (ii) above for each portion of the algorithm until the diagnostic test is complete.
2. A method as claimed in claim 1, comprising transmitting, from the server to memory, for example volatile memory, of the mobile electronic device, the data defining the portion of the algorithm.
3. A method as claimed in claim 1, comprising performing steps (i) and (ii) sequentially and/or performing step (ii) in response to completion of step (i).
4. A method as claimed in claim 1, wherein steps (i) and (ii) at least partially overlap.
5. A method as claimed in claim 1, comprising: temporarily storing the data received from the server defining a given portion of the algorithm in a volatile memory buffer of the mobile electronic device until a processing resource of the mobile electronic device is ready to execute the given portion of the algorithm; and then moving the data defining the given portion of the algorithm out of the volatile memory buffer of the mobile electronic device to the processing resource for execution.
6. A method as claimed in claim 5, comprising only repeating step (i) when the volatile memory buffer of the mobile electronic device has sufficient space to store the data defining the next portion of the algorithm.
7. A method as claimed in claim 1, wherein each portion of the algorithm comprises one or more commands or instructions.
8. A method as claimed in claim 7, wherein: step (i) of the method comprises transmitting, from the server to the mobile electronic device, one or more commands or instructions defining the portion of the algorithm, wherein each command or instruction is expressed in a higher-level computer language; and step (ii) of the method comprises: converting or translating the one or more higher-level computer language commands or instructions into one or more commands or instructions expressed in a lower-level computer language of the operating system (OS) of the mobile electronic device for execution by the OS of the mobile electronic device; and executing, on the mobile electronic device, the one or more lower-level computer language commands or instructions defining the portion of the algorithm.
9. A method as claimed in claim 8, wherein the higher-level computer language comprises JavaScript Object Notation (JSON).
10. A method as claimed in claim 1, comprising establishing a data streaming connection between the mobile electronic device and the server, wherein the data streaming connection between the mobile electronic device and the server is configured to enable initiation of the steps (i), (ii) and (iii) in response to receipt of a single data transmission initiation request at the server.
11. A method as claimed in claim 10, wherein establishing the data streaming connection comprises providing the server with a unique identifier for the mobile electronic device.
12. A method as claimed in claim 11, wherein the unique identifier for the mobile electronic device comprises the International Mobile Equipment Identity (IMEI) of the mobile electronic device.
13. A method as claimed in claim 10, comprising executing a diagnostics application on the mobile electronic device to establish the data streaming connection between the mobile electronic device and the server.
14. A method as claimed in claim 1, wherein the diagnostic test is selected from a plurality of diagnostic tests stored in a database, each diagnostic test being defined by a corresponding algorithm.
15. A method as claimed in claim 14, comprising using a web browser of the mobile electronic device to allow a user of the mobile electronic device to select the diagnostic test from a plurality of diagnostic tests stored in a database and displayed in a webstore accessible via the web browser.
16. A method as claimed in claim 15, further comprising executing a diagnostics application on the mobile electronic device to establish the data streaming connection between the mobile electronic device and the server; and wherein, when executed by the mobile electronic device, the diagnostics application starts, or directs a user of the mobile electronic device to start, the web browser of the mobile electronic device to allow the user of the mobile electronic device to select the diagnostic test from a plurality of diagnostic tests stored in the database and displayed in a webstore accessible via the web browser.
17. A method as claimed in claim 14, comprising using a web browser of a computing resource directly or indirectly in communication with, and located remotely from, the mobile electronic device to allow a user of the remote computing resource to select the diagnostic test from a plurality of diagnostic tests stored in the database and displayed in a webstore accessible via the web browser.
18. A method as claimed in claim 15, comprising transmitting a data transmission initiation request from the webstore to the server in response to selection of the diagnostic test via the web browser.
19. A method as claimed in claim 18, wherein the data transmission initiation request comprises the unique identifier for the mobile electronic device and information which uniquely identifies the selected diagnostic test.
20. A method as claimed in claim 18, comprising initiating steps (i), (ii) and (iii) in response to receipt of the data transmission initiation request at the server.
21. A method as claimed in claim 1, comprising displaying one or more results generated by the diagnostic test on the mobile electronic device.
22. A method as claimed in claim 1, comprising transmitting one or more results generated by the diagnostic test to the server and/or to a remote computing resource.
23. A computer program for use in performing a diagnostic test on a mobile electronic device, which computer program, when executed by a processing resource, causes the processing resource to establish a data streaming connection between the mobile electronic device and a server to enable the initiation of a method for use in performing a diagnostic test on the mobile electronic device, the diagnostic test defined by an algorithm which includes a plurality of portions, and the method comprising: (i) transmitting, from the server to the mobile electronic device, data defining a portion of the algorithm; (ii) executing, on the mobile electronic device, the portion of the algorithm; and (iii) repeating steps (i) and (ii) above for each portion of the algorithm until the diagnostic test is complete.
24. A computer program as claimed in claim 23, wherein, once the computer program has established the data streaming connection between the mobile electronic device and the server, the computer program starts, or directs a user of the mobile electronic device to start, a web browser to allow the user to select the diagnostic test from a plurality of diagnostic tests stored in a database.
25. A computer program as claimed in claim 23, wherein the computer program comprises a diagnostics application that is provided on the mobile electronic device, the processing resource is provided with the mobile electronic device, and the user comprises a user of the mobile electronic device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0087] A system, a method and a system for use in performing a diagnostic test on a mobile electronic device will now be described by way of non-limiting example only with reference to the following drawings of which:
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
DETAILED DESCRIPTION OF THE DRAWINGS
[0103] Referring initially to
[0104] The mobile electronic device 2 may be a mobile phone, a smartphone, a tablet or a laptop or the like. The mobile electronic device 2 includes a processing resource 10, volatile memory 12, non-volatile memory 14, a touchscreen 16 and a back camera 17. The non-volatile memory 14 stores a diagnostic application 18.
[0105] The system 4 includes a server 20 and a database 22 in the cloud 24. The server 20 is configured for communication with the database 22 and the mobile electronic device 2 via the cloud 24.
[0106] In use, a user of the mobile electronic device 2 runs the diagnostic application 18 via the touchscreen 16 to establish a data streaming connection between the mobile electronic device 2 and the server 20. As will be described in more detail below, the data streaming connection is configured to enable initiation of a method for use in performing a diagnostic test on the mobile electronic device 2 in response to receipt of a single data transmission initiation request at the server 20.
[0107] With reference to
[0108] As shown in
[0109] The user of the mobile electronic device 2 may subsequently visit a webstore via a web browser 35 of the mobile electronic device 2 as shown in
[0110] Once the user selects a diagnostic test, the user is presented with a diagnostic test settings or options user interface to allow the user to customise some properties of the selected diagnostic test. For example, once the user selects the “BackCamera” diagnostic test as shown in
[0111] Once the user selects “Buy it now”, the user is presented with the user interface shown in
[0112] Provided the buffer of the volatile memory 12 has sufficient space, the API of the server 20 repeatedly transmits to the mobile electronic device 2, one or more of the JSON commands defining one or more subsequent portions of the algorithm for the BackCamera diagnostic test to the buffer of the volatile memory 12 of the mobile electronic device 2, portion-by-portion until the buffer of the volatile memory 12 is full or all of the portions of the algorithm for the BackCamera diagnostic test have been transmitted to the buffer of the volatile memory 12 of the mobile electronic device 2. The JSON commands defining each subsequent portion of the algorithm for the BackCamera diagnostic test are transferred sequentially from the buffer of the volatile memory 12 to the processing resource 10 of the mobile electronic device 2 for execution until the diagnostic test is complete.
[0113] One of ordinary skill in the art will understand that the API of the server 20 transmits the data defining the plurality of portions of the algorithm as a single stream of data in response to the data transmission initiation request. The single stream of data includes a first response from the API of the server 20 consisting solely of metadata indicating that a data stream has been initiated, a final response from the API of the server 20 consisting solely of metadata indicating that the data stream has ended, and one or more intervening responses from the API of the server 20 between the first response and the final response, wherein the one or more intervening responses consist solely of payload data which defines the different portions of the algorithm defining the BackCamera diagnostic test.
[0114] Execution of the JSON commands defining the algorithm for the BackCamera diagnostic test result in the mobile electronic device 2 performing the BackCamera diagnostic test as illustrated by the screenshots of the touchscreen 16 of the mobile electronic device 2 shown in
[0115] Referring to
[0116] The alternative system 104 of
[0117] The alternative system 104 of
[0118] One of ordinary skill in the art will understand that various modifications are possible to the systems and methods described above. For example, rather than using the International Mobile Equipment Identity (IMEI) of the mobile electronic device 2 as a unique identifier for the mobile electronic device 2, an alternative unique identifier may be provided for the mobile electronic device 2.
[0119] A separate diagnostic test may be provided for any functional aspect of the mobile electronic device 2. For example, the diagnostic test may relate to the ability of the mobile electronic device 2 to communicate with one or more peripheral devices or one or more remote devices over a communications network. The diagnostic test may relate to wireless network connectivity, to the strength of a signal associated with a wireless network, and/or to wireless network communications. The diagnostic test may relate to charging of the mobile electronic device, power consumption of the mobile electronic device and/or to the operation of a battery of the mobile electronic device.
[0120] A separate diagnostic test may be provided for each hardware element of the mobile electronic device 2 and a corresponding icon may be displayed in the webstore user interface 44. For example a separate diagnostic test may be provided and a corresponding icon displayed in the webstore user interface 44 relating to the operation of one or more of the following hardware elements of the mobile electronic device 2: a battery; a memory; a SIM card; a memory card such as an SD card; a control of the mobile electronic device 2 such as a button, a key, a keyboard, a keypad, a user interface, and a touchscreen; a sensor such as an accelerometer, an image sensor, a camera, a fingerprint sensor or a microphone; an indicator such as a display, a user interface, a touchscreen or a speaker.
[0121] The single stream of data may comprise a plurality of responses from the API of the server 20, 120, wherein each response from the API of the server 20, 120 includes a header portion and a payload portion having payload data, wherein the header of the first response from the API of the server 20, 120 includes a Start of Stream (SOS) signal, and wherein the header of the final response from the API of the server 20, 120 includes an End of Stream (EOS) signal.
[0122] One of ordinary skill in the art will understand that one or more of the features of the embodiments of the present disclosure described above 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 of the present disclosure and that different combinations of the features are possible other than the specific combinations of the features of the embodiments of the present disclosure described above.