Parameter updating method, electronic equipment and related device
By using cloud storage and signature verification, the system enables secure and efficient parameter updates when replacing the motherboard or sub-board in electronic devices, solving the problem of users having difficulty updating the parameters themselves and improving user experience and security.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2026-03-13
AI Technical Summary
When replacing the motherboard or sub-board after an electronic device is sold, current technology requires writing the parameters of the components in the sub-board into the motherboard's memory. However, users cannot do this themselves and must mail the device back to the manufacturer for processing, resulting in a poor user experience.
By using cloud storage and signature verification, the parameter update device can first write the parameters to a temporary storage location without having direct access to the motherboard memory. After the electronic device verifies the signature, it writes the parameters to the official storage location, thus achieving secure and efficient parameter updates.
There's no need to mail electronic devices back to the manufacturer for processing, which improves the efficiency of parameter updates and user experience, ensures parameter security, and prevents malicious tampering.
Smart Images

Figure CN121658043A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a parameter update method, electronic device, and related apparatus. Background Technology
[0002] As electronic devices become increasingly feature-rich, sub-boards can be deployed in addition to the motherboard to reduce the number of components on the motherboard. For example, a system-on-a-chip (SoC) and memory can be deployed on the motherboard, while components such as radio frequency front-ends, cameras, audio, or motors can be deployed on the sub-board.
[0003] During the manufacturing phase of electronic devices, the devices are equipped with a factory version of the operating system. This factory version of the operating system allows authorized devices to access the first storage location in the motherboard's memory. This first storage location is used to store parameters of components in the sub-board. The manufacturing equipment, having this access, can write the parameters of the components in the sub-board into the first storage location of the memory.
[0004] After an electronic device is sold, if the motherboard and / or sub-board are replaced, the parameters of the components on the sub-board need to be rewritten into the motherboard's memory to ensure the device functions properly. However, after the electronic device is sold, the version of the operating system installed on it does not have the relevant interfaces enabled to access the motherboard's primary storage location. Currently, users need to mail the device back to the manufacturer for repair, resulting in a poor user experience. Summary of the Invention
[0005] This application provides a parameter update method, an electronic device, and related apparatus, which can improve parameter update efficiency and enhance user experience in scenarios where the motherboard and / or sub-board of an electronic device are replaced.
[0006] Firstly, embodiments of this application provide a parameter update method applied to a parameter update device. The executing entity of this parameter update method can be the parameter update device or a chip within the parameter update device, etc. The following example uses the parameter update device as the executing entity. In this method, the parameter update device is used to update the parameters of an electronic device, wherein the electronic device includes a motherboard and a sub-board, and the sub-board includes a first component. In one possible implementation, no memory is deployed on the sub-board, while memory is deployed on the motherboard.
[0007] In this method, if no parameters are stored in the first storage location of the motherboard, the parameter updating device can send a first request to the cloud. This first request requests the first parameters of the first component. In this application, during the manufacturing stage of the electronic device, the motherboard and sub-board are manufactured separately. After the sub-board is manufactured, since no memory is deployed in it, the sub-board manufacturing equipment can upload the parameters of the first component on the sub-board to the cloud. The cloud can then store the identifier and parameters of the first component. In response to the first request, the cloud can send the parameters of the first component, i.e., the first parameters, back to the parameter updating device.
[0008] In this application, the cloud can compile the first parameter to obtain an initial data packet. The compiled data is less susceptible to reverse engineering, thus improving the security of the first parameter. Furthermore, the compiled first parameter can be verified through methods such as digital signatures to ensure it is not tampered with and to prevent malicious attacks, further enhancing its security. Additionally, the cloud can sign the initial data packet to obtain a new data packet; the signature also enhances the data packet's security. In one possible implementation, in response to a first request, the cloud can send a data packet to a parameter updating device. This data packet includes the first parameter and signature information. The parameter updating device can verify the signature information; if the signature verification is successful, the parameter updating device can write the first parameter to a first storage location.
[0009] In this example, since the first storage location of the motherboard does not store parameters, this can be understood as a scenario where the motherboard of an electronic device is replaced. After the motherboard of the electronic device is replaced, the parameters of the first component have not yet been written into the motherboard. For example, the motherboard is the first motherboard after the replacement.
[0010] In this application, the cloud can store the first parameter and the identifier of the first component, and the cloud can compile and sign the first parameter to improve its security and prevent tampering and attacks. When the parameter update device requests the first parameter, it can receive a data packet from the cloud. After receiving the data packet, the parameter update device can verify the signature information. If the signature verification is successful, the parameter update device can write the first parameter to the first storage location through the electronic device, thus updating the parameter. By verifying the security of the first parameter, this application allows the parameter update device to quickly update the first parameter of the motherboard in the electronic device during use, eliminating the need for the user to mail the electronic device back to the manufacturer for processing, thereby improving parameter update efficiency and user experience.
[0011] In one possible implementation, when replacing a secondary board in an electronic device, the mainboard stores the parameters of the first component in the previous secondary board. This parameter does not match the first component in the new secondary board, which would affect the normal operation of the electronic device. Therefore, it is also necessary to write the parameters of the first component in the new secondary board into the mainboard's memory. For example, the secondary board in the electronic device is the replaced first secondary board, and the previous secondary board is the second secondary board.
[0012] In this implementation, when parameters are stored in the first storage location, the parameter updating device can obtain the first identifier corresponding to the parameters. The first identifier is the identifier of the component corresponding to the parameters. Specifically, both the parameters and the first identifier stored in the first storage location correspond to the first component on the second sub-board; that is, the parameters stored in the first storage location are the parameters of the first component on the second sub-board, and the first identifier is the identifier of the first component on the second sub-board. In this implementation, if the first identifier differs from the second identifier of the first component, the parameter updating device sends a first request to the cloud, where the second identifier of the first component is the identifier of the first component on the first sub-board. When the first identifier differs from the second identifier of the first component, the parameter updating device can determine that the parameters stored in the first storage location of the motherboard are not the parameters of the first component on the first sub-board. Therefore, the parameter updating device can request the identifier of the first component on the first sub-board from the cloud.
[0013] Correspondingly, the cloud can send data packets to the parameter update device, which can verify the signature information. If the signature information is verified, the parameter update device can replace the parameter in the first storage location with the first parameter. In other words, the parameter update device updates the parameter in the first storage location.
[0014] In this implementation, when the electronic device replaces the sub-board, the parameter updating device can also efficiently and safely update the parameters in the first storage location. The beneficial effects can be referred to the relevant description above.
[0015] In one possible implementation, after the electronic device is sold, the version of the operating system installed in the electronic device does not provide an interface to access the first storage location of the memory, and the parameter updating device does not have permission to access the first storage location. Therefore, the parameter updating device cannot directly write the parameters of the first component into the first storage location. However, the parameter updating device has ordinary access permissions and can access the temporary storage location of the memory. In some embodiments, the access permissions configured for the temporary storage location in the memory are lower than the access permissions configured for the first storage location.
[0016] In this implementation, the signature information includes a key and the ciphertext corresponding to the first parameter. After receiving the data packet, the parameter update device can first write the first parameter to a temporary storage location on the motherboard and then send the key and ciphertext to the electronic device. The key and ciphertext are used by the electronic device to verify the signature information. In this example, the electronic device can verify the signature information based on the key and ciphertext. If the signature information verification is successful, the parameter update device can write the first parameter from the temporary storage location to the first storage location through the electronic device. In other words, if the electronic device successfully verifies the signature information, it can write the first parameter from the temporary storage location to the first storage location.
[0017] In this implementation, if the parameter updating device does not have permission to access the first storage location, it can first write the first parameter to a temporary storage location on the motherboard. The electronic device then verifies the signature information. If the signature verification is successful, the electronic device can write the first parameter from the temporary storage location to the first storage location. This implementation allows for parameter updating even when the parameter updating device lacks permission to access the first storage location.
[0018] In one possible implementation, the first request includes a second identifier of the first component. The method further includes: if the parameter updating device has access rights, the parameter updating device can obtain the second identifier of the first component from the electronic device.
[0019] In this implementation, to ensure the security of the parameter update device and prevent malicious devices from interacting with electronic devices and writing malicious parameters into them, the electronic device can verify the parameter update device. If the parameter update device passes the verification, the parameter update device can then interact with the electronic device. This ensures the security of both the parameter update device and the subsequent first parameter.
[0020] In one possible implementation, the first parameter is obtained by calibrating the first component during the manufacturing stage of the electronic device and uploaded to the cloud.
[0021] In one possible implementation, the first component is an RF front end, and the first parameter is an RF calibration parameter.
[0022] Secondly, embodiments of this application provide a parameter update method applied in the cloud. In this method, the cloud can receive a first request from a parameter update device. The first request requests a first parameter of a first component, which is disposed on a sub-board of an electronic device. The cloud can send a data packet to the parameter update device, the data packet including the first parameter and signature information.
[0023] In one possible implementation, the method further includes: the cloud receiving a first parameter and a second identifier from the sub-board production equipment, the second identifier being an identifier for the first component. The cloud can compile the first parameter to obtain an initial data packet, and sign the initial data packet to obtain a data packet. The cloud can then store the second identifier and the data packet accordingly.
[0024] In one possible implementation, the first request includes a second identifier, and before the cloud sends the data packet to the parameter update device, it also includes: the cloud determining the data packet corresponding to the second identifier.
[0025] In one possible implementation, the first component is an RF front end, and the first parameter is an RF calibration parameter.
[0026] Thirdly, embodiments of this application provide an electronic device that can be a parameter update device for the first aspect and a cloud for the second aspect. The electronic device may include a processor and a memory, the memory for storing code instructions, and the processor for running the code instructions to perform the methods described in the first aspect or any possible implementation of the first aspect, and the second aspect or any possible implementation of the second aspect.
[0027] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program or instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect or any possible implementation of the first aspect, and the second aspect or any possible implementation of the second aspect.
[0028] Fifthly, embodiments of this application provide a computer program product including a computer program, which, when run on a computer, causes the computer to perform the first aspect or any possible implementation of the first aspect, and the method described in the second aspect or any possible implementation of the second aspect.
[0029] Sixthly, this application provides a chip or chip system including at least one processor and a communication interface. The communication interface and the at least one processor are interconnected via a circuit. The at least one processor is used to run computer programs or instructions to perform the methods described in the first aspect or any possible implementation of the first aspect, and the second aspect or any possible implementation of the second aspect. The communication interface in the chip can be an input / output interface, pins, or circuits, etc.
[0030] In one possible implementation, the chip or chip system described above in this application further includes at least one memory storing instructions. The memory can be an internal storage unit of the chip, such as a register or cache, or it can be a storage unit of the chip itself (e.g., read-only memory, random access memory, etc.).
[0031] It should be understood that the second to sixth aspects of this application correspond to the technical solutions of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here. Attached Figure Description
[0032] Figure 1 A schematic diagram of the structure of an electronic device;
[0033] Figure 2 This is a schematic diagram of another structure of an electronic device to which the embodiments of this application are applicable;
[0034] Figure 3 This is a schematic diagram of the structure of an electronic device to which embodiments of this application are applicable;
[0035] Figure 4 A flowchart illustrating the production stages of electronic devices;
[0036] Figure 5 A schematic diagram illustrating the writing of parameters into memory during the production phase of an electronic device;
[0037] Figure 6 A flowchart illustrating one embodiment of the parameter update method provided in this application;
[0038] Figure 7 A schematic diagram of the motherboard and / or sub-board of the replaceable electronic device provided in the embodiments of this application;
[0039] Figure 8 A schematic diagram illustrating the writing of parameters into a memory, provided as an embodiment of this application;
[0040] Figure 9 Another schematic diagram illustrating the writing of parameters into memory, provided for an embodiment of this application;
[0041] Figure 10 This is a schematic flowchart illustrating the cloud-based processing of the first parameter provided in an embodiment of this application.
[0042] Figure 11 This is another schematic diagram illustrating the writing of parameters into a memory, as provided in an embodiment of this application. Detailed Implementation
[0043] To facilitate understanding, the relevant terms and concepts involved in the embodiments of this application will be introduced below:
[0044] 1. Motherboard: In this embodiment, the motherboard can be used to deploy the core components of an electronic device. For example, a system-on-a-chip (SoC) and memory of the electronic device can be deployed on the motherboard. The SoC may include a processor, which may include, but is not limited to: a central processing unit (CPU), a graphics processing unit (GPU), an image signal processor (ISP), a video codec, a digital signal processor (DSP), a baseband processor, a display processing unit (DPU), and / or a neural network processing unit (NPU), etc. The memory may include non-volatile memory, such as Flash memory.
[0045] In some embodiments, the motherboard also provides interfaces and slots to enable other components to interact with components on the motherboard to realize the functions of the electronic device.
[0046] 2. Sub-board: In the embodiments of this application, the sub-board can be used to deploy components that enhance or expand the functionality of the electronic device. In some embodiments, at least one of the following components can be deployed on the sub-board: radio frequency front-end, camera, audio, motor, etc.
[0047] In some embodiments, both the motherboard and the sub-board can be printed circuit boards (PCBs).
[0048] 3. Electronic equipment
[0049] The electronic device in this embodiment is an electronic device with a motherboard and a sub-board deployed thereon. The motherboard contains memory, while the sub-board does not. The electronic device can be referred to as user equipment (UE), terminal, etc. For example, the electronic device can be a mobile phone, tablet, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device, in-vehicle device, wearable device, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, wireless terminal in smart home, etc. This embodiment does not specifically limit the form of the electronic device.
[0050] Taking a foldable screen device as an example, the foldable screen device includes at least one folding axis, and the foldable screen device can be folded and unfolded based on the at least one folding axis. The folding method of the foldable screen device can include at least one of the following: vertical folding, horizontal folding, and folding in any direction. For example, taking a foldable screen device including one folding axis and the folding method of the foldable screen device being horizontal folding as an example, refer to... Figure 1 The foldable screen device 10 includes two foldable parts, namely foldable part 11 and foldable part 12, which can be folded and unfolded based on the folding axis 13.
[0051] In some embodiments, a motherboard 14 can be housed in the foldable portion 11, and a sub-board 15 can be housed in the foldable portion 12. The motherboard 14 can deploy a SoC, RF front-end, memory, and antennas, among other components. As the number of communication frequency bands increases, to reduce the load on the motherboard 14, antennas for some frequency bands can be deployed on the sub-board 15. However, with the subsequent increase in communication frequency bands, the space on the motherboard 14 for antennas becomes increasingly limited. To improve the performance of the electronic device, antennas for more and more frequency bands can be deployed entirely on the sub-board 15. In this scenario, the RF front-end is deployed on the motherboard 14, and the antennas deployed on the sub-board 15 can be connected to the RF front-end via a flexible printed circuit (FPC). In this scenario, deploying antennas for some frequency bands on the sub-board 15, and stacking most components of the electronic device on the motherboard 14, can lead to problems such as a large thickness of the foldable portion 12 and poor heat dissipation.
[0052] To reduce the thickness of the foldable portion 12 and address the heat dissipation issue of the components within it, some components deployed on the mainboard 14 can be moved to the sub-board 15. In some embodiments, the radio frequency front-end can be deployed on the sub-board 15, reducing the number of components on the mainboard 14, thereby reducing the thickness of the foldable portion 12 and accelerating heat dissipation of the components within it. In this example, refer to... Figure 2 The motherboard 14 houses the SoC and memory, while the sub-board 15 houses the RF front-end and antenna. The SoC on the motherboard 14 can connect to the RF front-end on the sub-board 15 via an FPC.
[0053] During the manufacturing process of electronic devices, the production equipment can calibrate the radio frequency (RF) front-end to obtain its calibration parameters. When the RF front-end is deployed on the motherboard 14, the production equipment, after obtaining the calibration parameters, can write them into the memory of the motherboard 14.
[0054] When the RF front-end is deployed on the sub-board 15, since the main board 14 and the sub-board 15 are manufactured separately, the production equipment can calibrate the RF front-end on the sub-board 15 after it is manufactured to obtain calibration parameters. However, because the main board 14 and the sub-board 15 are manufactured separately, and the sub-board 15 does not have a memory, it cannot store the calibration parameters of the RF front-end. In some embodiments, after obtaining the calibration parameters of the RF front-end on the sub-board 15, the production equipment can upload the calibration parameters to the cloud so that the cloud can store the calibration parameters. When the main board 14 is manufactured and assembled with the sub-board 15, the production equipment can obtain the calibration parameters of the RF front-end on the sub-board 15 from the cloud and write them into the memory of the main board 14.
[0055] In some embodiments, the calibration parameters of the RF front-end may include the calibration parameters of each component in the RF front-end. For example, the calibration parameters of the RF front-end may include: calibration parameters of the frequency synthesizer, calibration parameters of the receiver, calibration parameters of the transmitter, and calibration parameters of the analog-to-digital converter (ADC). The calibration parameters of these components in the RF front-end together ensure that the RF performance of the electronic device meets the standard requirements. In some embodiments, the calibration parameters of the RF front-end may be referred to as RF calibration parameters.
[0056] Figure 3 This is a schematic diagram of the structure of an electronic device to which embodiments of this application apply. (Refer to...) Figure 3The electronic device 30 includes a motherboard 31 and a sub-board 32. In some embodiments, the electronic device 30 can be a foldable screen device, and the motherboard 31 and sub-board 32 can be deployed in different foldable portions of the foldable screen device. In some embodiments, the electronic device 30 can be a non-foldable screen device, and the motherboard 31 and sub-board 32 can be deployed in different locations of the electronic device. A non-foldable screen device can also be understood as a non-foldable device.
[0057] Reference Figure 3 The motherboard 31 may include a SoC and memory. The sub-board 32 may include a first component. The first component may include at least one of the following: a radio frequency front-end, a camera, an audio component, a motor, etc.
[0058] It is understandable that when the first component is an RF front-end, the sub-board 32 may also include an antenna, such as... Figure 2 As shown. It is understood that other components may also be deployed on the mainboard 31 and the sub-board 32; this embodiment does not impose any limitations on this. Figure 3 The structure of the electronic device shown is that of the components involved in the parameter update method provided in the embodiments of this application. Figure 3 The structure of the electronic device shown does not limit the structure of any electronic device.
[0059] In some embodiments, a greater number of sub-boards may be deployed in the electronic device, each sub-board carrying at least one component. The parameter update method of this application can also be applied to the updating of parameters of the components in each sub-board in this example, as described in the following embodiments. Exemplarily, the electronic device may include a motherboard, sub-board 1, and sub-board 2. The motherboard may house a SoC and memory, sub-board 1 may house a radio frequency front-end and an antenna, and sub-board 2 may house a camera. The parameter update method of this application can be applied to the updating of parameters of the radio frequency front-end on sub-board 1 and the updating of parameters of the camera.
[0060] The following is combined with Figure 3 The structure of the electronic device shown illustrates the parameter update method provided in the embodiments of this application:
[0061] 1. Production stages of electronic equipment
[0062] In this embodiment, the main board and sub-board of the electronic device are manufactured separately. (Refer to...) Figure 4 After the sub-plate is produced, the sub-plate production equipment can obtain the parameters of the first component on the sub-plate.
[0063] In some embodiments, the sub-board production equipment can calibrate the first component to obtain calibration parameters for the first component. The parameters of the first component include its calibration parameters.
[0064] For example, when the first component includes a radio frequency (RF) front-end, the calibration parameters of the RF front-end may include, but are not limited to: calibration parameters of the frequency synthesizer, calibration parameters of the receiver, calibration parameters of the transmitter, and calibration parameters of the ADC. For example, when the first component includes a camera, the calibration parameters of the camera may include, but are not limited to: white balance, gain control, distortion correction, exposure parameters, focal length, and focus parameters. For example, when the first component includes audio, the calibration parameters of the audio may include, but are not limited to: calibration parameters of the microphone and calibration parameters of the audio processing module. For example, when the first component includes a motor, the calibration parameters of the motor may include, but are not limited to: speed, torque, current, and voltage.
[0065] In some embodiments, the parameters of the first component may further include: the model number of the first component, performance parameters, and the operating modes supported by the first component.
[0066] In some embodiments, the sub-board production equipment may also acquire the identifier of the first component. For example, the identifier of the first component may include, but is not limited to, the identification number (ID), serial number, or identifier of the first component. For example, the identifier of the first component may be stored in the first component, and the sub-board production equipment may read the identifier of the first component from the first component. This application embodiment does not limit the method by which the sub-board production equipment acquires the identifier of the first component.
[0067] Because the secondary board does not contain memory, and the main board and secondary board are manufactured separately, the secondary board production equipment, after obtaining the parameters and identifier of the first component, can send these parameters and identifier to the cloud. In response to the parameters and identifier of the first component from the secondary board production equipment, the cloud can store the corresponding parameters and identifier.
[0068] Understandably, at least one sub-board can be produced during the manufacturing process. Correspondingly, the cloud is used to store the parameters and identifiers of the first component on at least one sub-board. For example, if sub-board 1, sub-board 2, and sub-board 3 are produced during the manufacturing process, and the first component is a radio frequency (RF) front-end, the cloud can store the parameters and identifiers of the RF front-end on sub-board 1, sub-board 2, and sub-board 3. For instance, the parameter of the RF front-end on sub-board 1 is parameter 1, and its identifier is identifier 1; the parameter of the RF front-end on sub-board 2 is parameter 2, and its identifier is identifier 2; the parameter of the RF front-end on sub-board 3 is parameter 3, and its identifier is identifier 3. Correspondingly, the cloud can store parameter 1 and identifier 1, parameter 2 and identifier 2, and parameter 3 and identifier 3.
[0069] After the motherboard is manufactured, the assembly line can assemble the motherboard and sub-board together. The motherboard and sub-board can be connected via an FPC (Flexible Printed Circuit). Because the operation of electronic devices requires the parameters of the first component on the sub-board, the assembly line can obtain the identifier of the first component on the sub-board for reference. Figure 4 The assembly line equipment can send parameter requests to the cloud. These parameter requests include the identifier of the first component. For example, the assembly line equipment can read the identifier of the first component from the first component.
[0070] Reference Figure 4 In response to a parameter request from the assembly line equipment, the cloud can query the parameters of the first component corresponding to its identifier and feed those parameters back to the assembly line equipment. For example, if the identifier of the first component is identifier 1, the cloud can query the parameter 1 corresponding to identifier 1 and feed that parameter 1 back to the assembly line equipment. In response to the parameters of the first component from the cloud, the assembly line equipment can write the parameters of the first component to a first storage location on the motherboard's memory. It should be understood that the first storage location is used to store the parameters of the first component.
[0071] During the manufacturing phase of electronic devices, the devices are loaded with a factory version of the operating system. This factory version of the operating system allows devices with authorized permissions to access all locations of memory (including the primary memory location). In other words, refer to... Figure 5 The factory version of the operating system provides relevant interfaces that enable devices with access permissions to access the first storage location of the memory. The assembly production equipment has access permissions; for example, modules with access permissions are deployed within the assembly production equipment. The assembly production equipment can write parameters of the first component into the first storage location of the memory through the interfaces provided by the factory version of the operating system.
[0072] In some embodiments, the complete machine production equipment may further write the identifier of the first component corresponding to the parameters of the first component into a first storage location of the memory. In other words, the first storage location is used to store the parameters of the first component and the identifier of the first component corresponding to the parameters. For example, the first storage location may store parameter 1 and identifier 1.
[0073] In some embodiments, after the assembly equipment writes the parameters of the first component into the first storage location of the memory on the motherboard, the assembly equipment can also use the parameters of the first component to test the electronic device.
[0074] It's conceivable that because the factory version of the operating system has open interfaces, the assembly line equipment can access the first storage location of the memory through these interfaces, meaning the channel between the assembly line equipment and the memory is open. In this open-channel scenario, the assembly line equipment can not only write parameters of the first component to the first storage location, but also perform other operations that affect the normal function of the electronic device. For example, it could write malicious programs into the memory, or artificially enable certain components of the electronic device to operate under high load continuously, leading to component burnout, etc., resulting in low security.
[0075] 2. Stages of Electronic Equipment Use
[0076] After the electronic device is manufactured, it can be sold to users. In some embodiments, when the electronic device malfunctions, it is necessary to replace the mainboard and / or the sub-board. When replacing the mainboard, because the new mainboard's memory does not contain the parameters of the first component in the sub-board, it is necessary to write the parameters of the first component in the sub-board into the new mainboard's memory to ensure the normal operation of the electronic device. When replacing the sub-board, the mainboard stores the parameters of the first component in the sub-board before replacement, which is incompatible with the first component in the new sub-board, affecting the normal operation of the electronic device. Therefore, it is also necessary to write the parameters of the first component in the new sub-board into the mainboard's memory.
[0077] However, after an electronic device is sold, the version of the operating system installed on it does not have an open interface to access the first storage location of the memory, making it impossible to write the parameters of the first component to the first storage location on the motherboard. Currently, in scenarios where the motherboard and / or sub-board of an electronic device needs to be replaced, the user needs to mail the electronic device back to the manufacturer for processing, resulting in a poor user experience. Therefore, there is an urgent need for an efficient method to update the parameters of the first component.
[0078] Accordingly, this application provides a parameter update method applied to a parameter update device. In scenarios where the motherboard and / or sub-board of an electronic device are replaced, the parameter update device can request parameters of a first component in the sub-board from the cloud. Since the cloud can store the parameters and identifier of the first component, and to ensure the security of the first component's parameters, the cloud can sign the parameters. Correspondingly, the parameter update device can first write the parameters of the first component to a temporary storage location in the memory. The electronic device can verify the signature. If the signature verification is successful, the electronic device can write the parameters of the first component to a first storage location. In this implementation, the parameters of the first component can be written to the first storage location, eliminating the need to mail the electronic device back to the manufacturer for processing, thus improving parameter update efficiency and user experience.
[0079] In this embodiment, the parameter updating device does not have permission to access the first storage location, therefore it cannot directly write the parameters of the first component into the first storage location. However, the parameter updating device has normal access permissions and can access the temporary storage location of the memory. In some embodiments, the access permissions configured for the temporary storage location in the memory are lower than the access permissions configured for the first storage location.
[0080] In some embodiments, the parameter updating device can be a service store device. For example, a user can bring their electronic device to a service store for repair, and the parameter updating device is used to update the parameters of the electronic device. In some embodiments, the parameter updating device can also be the user's electronic device, which is used to update the parameters of the electronic device. For example, the user's electronic device can include, but is not limited to, tablets, laptops, etc. This application embodiment does not limit the form of the parameter updating device.
[0081] The parameter update method provided in this application will be described below with reference to specific embodiments. These embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0082] Figure 6 This is a flowchart illustrating one embodiment of the parameter update method provided in this application. It should be understood that... Figure 6 The diagram illustrates a parameter update method for an electronic device during use. During the manufacturing stage of the electronic device, the relevant description in "1. Manufacturing Stage of the Electronic Device" of the above embodiment can be referred to. It should be understood that... Figure 6 The parameter update method shown in the document is the process after the motherboard and / or sub-board of the electronic device has been replaced.
[0083] Reference Figure 6 The parameter update method provided in this application embodiment may include:
[0084] S601, the parameter update device checks whether the first storage location on the motherboard contains parameters. If not, proceed to S602; if yes, proceed to S605.
[0085] In some embodiments, the parameter updating device can establish a connection with an electronic device, which can be a wired connection or a wireless connection. After the parameter updating device establishes a connection with the electronic device, it can send a detection request to the electronic device, requesting the electronic device to detect whether parameters are stored in a first storage location on the motherboard. The first storage location on the motherboard can be understood as the first storage location of the memory deployed on the motherboard. In response to the detection request, the electronic device can detect whether parameters are stored in the first storage location on the motherboard, and the electronic device can feed back the detection result to the parameter updating device. The detection result includes: parameters are stored in the first storage location, or parameters are not stored in the first storage location.
[0086] In some embodiments, to ensure the security of the parameter update device and prevent malicious devices from interacting with and writing malicious parameters into the electronic device, the electronic device can verify the parameter update device. If the parameter update device is successfully verified, subsequent interactions between the parameter update device and the electronic device will occur. In other words, the parameter update device will only interact with the electronic device if it has access to it.
[0087] In some embodiments, since the parameter updating device is used to update the parameters of an electronic device, in order to enable the parameter updating device to have access to the electronic device, a first file can be pre-configured in the parameter updating device. The first file indicates that the parameter updating device is an authorized device with access to the electronic device. In this example, the parameter updating device can encrypt the first file using a preset key to obtain the ciphertext of the first file. The parameter updating device can send the ciphertext of the first file to the electronic device, which also has a preset key. The electronic device can decrypt the ciphertext using the preset key to obtain the first file. The electronic device can determine that the parameter updating device has access rights through the first file, and thus the electronic device and the parameter updating device can perform subsequent interactions.
[0088] Referring to the description of the manufacturing stages of electronic devices, after the electronic device is manufactured, the parameters of the first component are already written to the first storage location of the motherboard. When the first storage location of the motherboard does not store parameters, it can be determined that the motherboard of the electronic device has been replaced; at this time, the parameters of the first component have not yet been written to the new motherboard.
[0089] For example, refer to Figure 7 In scenario a, where only the motherboard is replaced: the motherboard before replacement is the second motherboard, and the motherboard after replacement is the first motherboard. The parameter update device detects that the first storage location of the first motherboard (i.e., the motherboard in S601) does not store parameters. In this example, it is necessary to write the parameters of the first component in the sub-board into the first storage location of the first motherboard. The parameter update device can then execute S602.
[0090] For example, refer to Figure 7 In scenario b, where the motherboard and sub-board are replaced: the motherboard before replacement is the second motherboard, and the motherboard after replacement is the first motherboard; the sub-board before replacement is the second sub-board, and the sub-board after replacement is the first sub-board. The parameter update device detects that the first storage location of the first motherboard (i.e., the current motherboard of the electronic device) does not store parameters. In this example, it is necessary to write the parameters of the first component in the first sub-board (i.e., the current sub-board of the electronic device) into the first storage location of the first motherboard. The parameter update device can execute S602.
[0091] When the first storage location on the motherboard contains parameters, it indicates that the motherboard has not been replaced, but a secondary board for the electronic device may have been replaced. The parameters written to the motherboard are those of the first component on the secondary board before the replacement. For example, refer to... Figure 7 In scenario c, the sub-board is replaced: the sub-board before replacement is the second sub-board, and the sub-board after replacement is the first sub-board. The parameters already written to the mainboard are the parameters of the first component in the second sub-board. In this example, the parameters of the first component written to the mainboard do not match those of the first component in the first sub-board. Therefore, the parameters of the first component in the first sub-board need to be written to the mainboard. The parameter update device can execute S605.
[0092] S602, the parameter update device sends a first request to the cloud. The first request is used to request the parameters of the first component on the sub-board.
[0093] In some embodiments, a username and password can be entered on the parameter update device to enable account login. After logging in, the parameter update device can access the cloud. Specifically, in response to the user entering a username and password on the parameter update device, the device can transmit credentials (such as username and password) to the cloud. Upon receiving the credentials, the cloud can verify them. After successful verification, the server generates a token, which may include the user's identity and permission information. During subsequent interactions between the parameter update device and the server, the device can carry the token in the interaction so that the server can determine the user's identity and permission information.
[0094] In this embodiment of the application, when no parameters are stored in the first storage location of the motherboard, the parameter updating device can read the identifier of the first component on the sub-board and send a first request to the cloud to request the parameters of the first component on the sub-board of the electronic device. The first request includes the identifier of the first component. For example, refer to... Figure 7 In the case of 'a', where the sub-board of the electronic device is not replaced, the identifier of the first component is the identifier of the first component on the sub-board (such as the second sub-board). For example, refer to... Figure 7In the case of replacing the sub-board of an electronic device, the identifier of the first component is the identifier of the first component on the replaced sub-board (such as the first sub-board).
[0095] S603, in response to the first request, the cloud sends a data packet to the parameter update device, the data packet including the first parameter and signature information.
[0096] In some embodiments, the cloud can store the identifier of the first component and the parameters of the first component. In response to a first request, the cloud can query the parameters of the first component corresponding to the identifier of the first component. The parameters of the first component corresponding to the identifier of the first component can be used as the first parameter. In this embodiment, the cloud can compile the first parameter to obtain an initial data packet. The compiled data is not easily reverse engineered; therefore, compiling the first parameter improves its security. Furthermore, the compiled first parameter can be verified through digital signatures or other methods to ensure it is not tampered with and to prevent malicious attacks, thus further enhancing its security.
[0097] This application embodiment does not elaborate on the specific signing process. The cloud signs the initial data packet to obtain a data packet. The data packet includes a first parameter and signature information. The signature information may include the cloud's public key and ciphertext obtained by encrypting the first parameter using the cloud's private key. In some embodiments, the cloud's public key in the signature information may be referred to as the cloud's private key.
[0098] In some embodiments, during the production stage of the electronic device, after receiving the identifier and parameters of the first component from the sub-board production equipment, the cloud can compile the first parameters of the first component corresponding to the identifier of the first component to obtain an initial data packet, and sign the initial data packet to obtain a data packet. The cloud can store the identifier of the first component and the data packet accordingly.
[0099] In this example, in response to the first request, the cloud can locate the data packet corresponding to the identifier of the first component and send the data packet to the parameter update device. In this example, the cloud can pre-compile and sign operations, which can speed up the speed at which the cloud sends data packets back to the parameter update device.
[0100] S604: If the signature information is verified, the parameter update device writes the first parameter to the first storage location on the motherboard.
[0101] In some embodiments, in response to a data packet from the cloud, the parameter update device can parse the data packet to obtain a first parameter and signature information. The parameter update device can use a public key to decrypt the ciphertext to obtain plaintext. The parameter update device compares the plaintext with the first parameter; if they are the same, the parameter update device determines that the signature information verification is successful. If the signature information verification is successful, the parameter update device can write the first parameter to a first storage location on the motherboard.
[0102] In some embodiments, the parameter updating device does not have permission to access the first storage location, see reference. Figure 8 The parameter update device can write the first parameter to a temporary storage location on the motherboard. In this example, the parameter update device can also send signature information to the electronic device. The temporary storage location on the motherboard is the temporary storage location of the memory on the motherboard.
[0103] In this example, after the parameter updating device writes the first parameter to the temporary storage location on the motherboard, the electronic device can decrypt the ciphertext using a public key to obtain the plaintext. The electronic device compares the plaintext with the first parameter; if they are the same, the electronic device can determine that the signature information verification is successful. If the signature information verification is successful, the electronic device can write the first parameter from the temporary storage location to the first storage location on the motherboard. Specifically, the electronic device can copy the first parameter from the temporary storage location, write the first parameter to the first storage location on the motherboard, and delete the first parameter from the temporary storage location.
[0104] S605, the parameter update device obtains the first identifier corresponding to the parameter stored in the first storage location.
[0105] Referring to the description in the above embodiments, the first storage location is used not only to store the parameters of the first component, but also to store the identifier of the first component corresponding to the parameters of the first component. When parameters are stored in the first storage location, the parameter updating device obtains the first identifier corresponding to the parameters stored in the first storage location.
[0106] S606, if the first identifier is different from the second identifier of the first component, sends a first request to the cloud.
[0107] In this embodiment, the parameter updating device reads the second identifier of the first component on the sub-board and compares whether the first identifier and the second identifier are the same. If the first identifier and the second identifier are the same, the parameter updating device can determine that the parameter stored in the first storage location is the parameter of the first component on the sub-board, and the parameter updating device determines that it does not need to request the parameter of the first component from the cloud. If the first identifier and the second identifier are different, the parameter updating device can determine that the parameter stored in the first storage location is not the parameter of the first component on the sub-board, the sub-board has been replaced, and therefore it is necessary to write the parameter of the first component on the new sub-board (such as the first sub-board) into the first storage location of the mainboard. It should be understood that the new sub-board is the current sub-board of the electronic device.
[0108] If the first identifier differs from the second identifier of the first component, the parameter update device may send a first request to the cloud. This first request requests parameters of the first component on the sub-board. The first request may include the identifier of the first component on the sub-board. For example, the identifier of the first component may be the second identifier.
[0109] The parameter update device can send the first request to the cloud, as described in S602.
[0110] S607, in response to the first request, the cloud sends a data packet to the parameter update device.
[0111] S607 can be found in the description in S603.
[0112] S608, if the signature information verification is successful, the parameter update device replaces the parameter in the first storage location with the first parameter.
[0113] In some embodiments, in response to a data packet from the cloud, the parameter update device can parse the data packet to obtain a first parameter and signature information. The parameter update device can use a public key to decrypt the ciphertext to obtain plaintext. The parameter update device compares the plaintext with the first parameter; if they are the same, the parameter update device determines that the signature information verification is successful. If the signature information verification is successful, the parameter update device can delete the parameter previously stored in the first storage location and write the first parameter into the first storage location; that is, the parameter update device replaces the parameter in the first storage location with the first parameter.
[0114] In some embodiments, the parameter updating device does not have permission to access the first storage location. The parameter updating device can write the first parameter to a temporary storage location on the motherboard and send the signature information to the electronic device. If the electronic device verifies the signature information, it can delete the parameter previously stored in the first storage location and write the first parameter back to the first storage location. That is, the parameter updating device can replace the parameter in the first storage location with the first parameter through the electronic device. The process of the electronic device verifying the signature information can be referred to the description in S606.
[0115] In this embodiment, the cloud can store the first parameter and the identifier of the first component. When the parameter update device requests the first parameter, the cloud can compile and sign the first parameter to improve its security and prevent tampering and attacks. Alternatively, the cloud can pre-compile and sign the first parameter and store the corresponding data packet and the identifier of the first component. This speeds up the process of the cloud sending data packets to the parameter update device when it requests the first parameter. Furthermore, after receiving the data packet from the cloud, the parameter update device can verify the signature information. If the signature verification is successful, the parameter update device can write the first parameter to the first storage location via the electronic device, thus updating the parameter. This application, by verifying the security of the first parameter, allows the parameter update device to quickly update the first parameter of the motherboard in the electronic device during use, eliminating the need for the user to mail the device back to the manufacturer, thus improving parameter update efficiency and user experience.
[0116] In conclusion, Figure 9 This demonstrates the parameter update process from the manufacturing stage to the usage stage of an electronic device. It should be understood that... Figure 9 The production stages of electronic equipment can be referenced. Figure 4 The description in the above embodiments is as follows. When replacing the motherboard and / or sub-board of an electronic device, the parameter updating device can read the identifier of a first component on the sub-board and send a first request to the cloud, the first request including the identifier of the first component on the sub-board. In response to the first request, the cloud can send a data packet back to the parameter updating device, the data packet being described in the above embodiments. The parameter updating device can write the first parameter of the first component to a first storage location, the specific writing method being described in the above embodiments.
[0117] Among them, reference Figure 10 During the manufacturing phase of electronic devices, after the cloud receives the parameters and identifier of the first component from the sub-board production equipment, it can compile the parameters of the first component to obtain an initial data packet, and the cloud can sign the initial data packet to obtain a data packet. In this example, the cloud can store the identifier of the first component and the data packet accordingly.
[0118] In some embodiments, refer to Figure 11 The parameter update device is equipped with a module that grants ordinary privileges, allowing it to access temporary storage locations on the motherboard's memory. The electronic device may include a verification module and a write module.
[0119] Referring to the description in the above embodiments, after the parameter update device receives a data packet from the cloud, the parameter update device can use a module with ordinary permissions to write the first parameter in the data packet to a temporary storage location and send signature information to the electronic device. The verification module in the electronic device can verify the signature information. If the signature information verification is successful, the writing module in the electronic device can write the first parameter from the temporary storage location to the first storage location. For example, the writing module can copy the first parameter from the temporary storage location, write the first parameter to the first storage location, and delete the first parameter from the temporary storage location.
[0120] It should be understood that this example has the same characteristics as... Figure 6 The embodiments shown have the same technical principles and effects, and can be referred to Figure 6 The description in the text.
[0121] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0122] This application provides an electronic device, which includes a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the electronic device to perform the above-described method.
[0123] This application provides a parameter update system. In some embodiments, the parameter update system may include the parameter update device and cloud as described in the above embodiments. In some embodiments, the parameter update system may include: a parameter update device, a cloud, and an electronic device. In some embodiments, the parameter update system may include: a parameter update device, a cloud, an electronic device, a sub-board production device, and a complete machine production device. The functions of each device in the parameter update system can be referred to the description in the above embodiments.
[0124] The parameter update method of the embodiments of this application has been described above. The apparatus for performing the above method provided in the embodiments of this application is described below. Those skilled in the art will understand that the methods and apparatus can be combined and referenced with each other, and the related apparatus provided in the embodiments of this application can perform the steps in the above parameter update method.
[0125] This application provides a chip. The chip includes a processor, which is used to call a computer program in memory to execute the technical solutions in the above embodiments. Its implementation principle and technical effects are similar to those in the related embodiments described above, and will not be repeated here.
[0126] This application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, it implements the methods described above. The methods described in the above embodiments can be implemented wholly or partially by software, hardware, firmware, or any combination thereof. If implemented in software, the functionality can be stored as one or more instructions or code on or transmitted over the computer-readable medium. The computer-readable medium can include computer storage media and communication media, and can also include any medium that can transfer a computer program from one place to another. The storage medium can be any target medium accessible by a computer.
[0127] In one possible implementation, a computer-readable medium may include random access memory (RAM), read-only memory (ROM), compact discread-only memory (CD-ROM) or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other medium targeted to carry or to store required program code in the form of instructions or data structures, and accessible by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. As used herein, disks and optical discs include optical discs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0128] This application provides a computer program product, which includes a computer program that, when run, causes a computer to perform the above-described method.
[0129] It should be noted that the modules or components described in the above embodiments can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), etc. Furthermore, when a module is implemented through processing element scheduler code, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processors capable of calling program code, such as a controller. Additionally, these modules can be integrated together to implement a system-on-a-chip (SOC).
[0130] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state disk (SSD)).
[0131] The term "multiple" in this document refers to two or more. The term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Furthermore, the character " / " in this document generally indicates an "or" relationship between the preceding and following related objects; in formulas, " / " indicates a "division" relationship. Additionally, it should be understood that in the description of this application, words such as "first" and "second" are used only for descriptive purposes and should not be construed as indicating or implying relative importance or order.
[0132] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application.
[0133] It is understood that, in the embodiments of this application, the order of the above-mentioned process numbers does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
Claims
1. A parameter update method, characterized in that, The method is applied to a parameter updating device used to update parameters of an electronic device, the electronic device including a motherboard and a sub-board, the sub-board including a first component, the method comprising: If no parameters are stored in the first storage location of the motherboard, a first request is sent to the cloud, the first request being used to request the first parameters of the first component; Receive a data packet from the cloud, the data packet including the first parameter and signature information; If the signature information is verified, the first parameter is written to the first storage location.
2. The method according to claim 1, characterized in that, The method further includes: If the parameters are stored in the first storage location, obtain the first identifier corresponding to the parameters, where the first identifier is the identifier of the component corresponding to the parameters; If the first identifier is different from the second identifier of the first component, the first request is sent to the cloud; Receive the data packet from the cloud; If the signature information is verified, the parameter in the first storage location is replaced with the first parameter.
3. The method according to claim 1, characterized in that, The motherboard in question is the first motherboard after the replacement.
4. The method according to claim 2, characterized in that, The sub-board is the first sub-board after replacement, and the sub-board before replacement is the second sub-board. The parameters and the first identifier correspond to the first component on the second sub-board.
5. The method according to any one of claims 1-4, characterized in that, The signature information includes a key and ciphertext corresponding to the first parameter; before writing the first parameter to the first storage location if the signature information verification is successful, the method further includes: Write the first parameter to the temporary storage location of the motherboard; The key and the ciphertext are sent to the electronic device, and the key and the ciphertext are used by the electronic device to verify the signature information; The step of writing the first parameter to the first storage location when the signature information verification is successful includes: The electronic device writes the first parameter from the temporary storage location to the first storage location.
6. The method according to any one of claims 1-5, characterized in that, The first request includes a second identifier of the first component; the method further includes: If the parameter updating device has access rights, the second identifier of the first component is obtained from the electronic device.
7. The method according to any one of claims 1-6, characterized in that, The first parameter is obtained by calibrating the first component during the production stage of the electronic device and uploaded to the cloud.
8. The method according to any one of claims 1-7, characterized in that, The first component is an RF front end, and the first parameter is an RF calibration parameter.
9. A parameter update method, characterized in that, Applied to the cloud, the method includes: Receive a first request from a parameter update device, the first request being used to request a first parameter of a first component, the first component being disposed on a sub-board of an electronic device; A data packet is sent to the parameter update device, the data packet including the first parameter and signature information.
10. The method according to claim 9, characterized in that, The method further includes: Receive the first parameter and the second identifier from the sub-plate production equipment, wherein the second identifier is the identifier of the first component; Compile the first parameter to obtain the initial data packet; The initial data packet is signed to obtain the data packet; The second identifier and the data packet are stored accordingly.
11. The method according to claim 10, characterized in that, The first request includes the second identifier, and before sending the data packet to the parameter update device, it further includes: Determine the data packet corresponding to the second identifier.
12. The method according to any one of claims 9-11, characterized in that, The first component is an RF front end, and the first parameter is an RF calibration parameter.
13. An electronic device, characterized in that, The electronic device includes: one or more processors and memory; The memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, the one or more processors invoking the computer instructions to cause the electronic device to perform the method as described in any one of claims 1-12.
14. A chip system, characterized in that, The chip system is applied to an electronic device, the chip system including one or more processors, the one or more processors being used to invoke computer instructions to cause the electronic device to perform the method as described in any one of claims 1-12.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-12.
16. A computer program product, characterized in that, The computer program product includes computer program code that, when run on an electronic device, causes the electronic device to perform the method as described in any one of claims 1-12.