Method for notifying at least one client module implemented in a wireless device, associated computer program product, and devices

DE602022015768T2Active Publication Date: 2025-06-11NAGRAVISION SRL
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602022015768
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-11-22
Publication Date
2025-06-11
Estimated Expiration
2042-11-22

AI Technical Summary

Technical Problem

Existing methods for notifying client modules in wireless devices, such as smartphones and IoT devices, consume excessive power and communication bandwidth, particularly in IoT devices where power consumption is critical and bandwidth is limited.

Method used

A method that involves a notification service device receiving initial notifications from service modules and sending optimized notifications to a notification client device within the wireless device, which then wakes up and notifies the relevant client modules, reducing unnecessary power consumption and communication.

Benefits of technology

This approach optimizes the connection between the notification client device and the notification service device, reducing power consumption and communication bandwidth, thereby improving the efficiency of notifying client modules in wireless devices.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

1. FIELD OF THE DISCLOSURE

[0001] The field of the disclosure is that of wireless devices.

[0002] More specifically, the disclosure relates to a method for the notification of client modules implemented in such wireless devices, e.g. when updated data are available for the client modules.

[0003] The disclosure can be of interest in any field wherein such client modules that needs to be notified are implemented in a wireless device. This is the case for instance for terminal equipment such as smartphones or connected objects like e.g. loT (for "Internet of Things") objects.2. TECHNOLOGICAL BACKGROUND

[0004] Wireless devices, such as smartphones or loT devices, are usually made of different client modules from various providers.

[0005] In practice, such "module" can be a piece of software running on general purpose hardware capabilities of the wireless device (e.g. a CPU core (for "Central Processing Unit"), a MCU (for "Microcontroller Unit"), a DSP (for "Digital Signal Processing processor"), etc.). This is the case for instance when the client module is an application running on a smartphone. Alternatively, such "module" can directly be a device or system (e.g. including hardware blocks and pieces of software) that is configured for running the client system. For example, basic loT devices typically integrate a communications module for WIFI or Cellular connectivity. In both cases (i.e. pure software "module" or device type "module"), updates may be required during the life cycle of the wireless device.

[0006] In that respect, each module may implement one or more independent connections to different systems. For example, a connectivity module has connection to a vendor specific FOTA (for "Firmware Over-The-Air") system and security system. Alternatively, a MCU has multiple connection use-cases like customer specific FOTA system and loT Management platform for an loT device. In this later case, the different client modules may be managed with a customer loT Management platform at application level using for example dedicated remotely managed "IoT ressources", e.g. firmware object, but with price of a complex backend integration of the different client modules.

[0007] So, usually the different client modules remain independent with multiple "pooling" connections allowing the different client modules to be notified, for example: from an eUICC (for "Embedded Universal Integrated Circuit Card") of a cellular connectivity module to Operator UICC remote management platform; from a connectivity module to a module vendor platform; from an MCU application to a customer loT platform; From an MCU or connectivity module to a security platform to manage device security credentials;

[0008] This leads to multiple connections with impact on the overall wireless device power consumption and communication bandwidth. Such problematic is further critical for loT devices for which the power consumption is critical and the communication bandwidth is by construction limited.

[0009] There is thus a need for a solution for notifying client modules implemented in a wireless device, e.g. for informing the client modules when updated data are available from service providers, that reduces the power consumption and the need in term of communication bandwidth compared to the known techniques for such notification. Document US 2014 / 337405 A1 discloses approach for asynchronous distribution of content and notifications of updates to a client.3. SUMMARY

[0010] The invention is disclosed bz the appended claims.4. LIST OF FIGURES

[0011] Other features and advantages of embodiments shall appear from the following description, given by way of indicative and non-exhaustive examples and from the appended drawings, of which: Figure 1 illustrates a wireless device implementing client modules and different servers both, the wireless device and the servers being communicatively connected to a wireless communications network according to one embodiment of the present disclosure; Figure 2 illustrates an example of the structural blocks of an electronic device allowing steps of the method of Figure 4 to be executed by the wireless device of Figure 1 according to one embodiment of the present disclosure; Figure 3 illustrates an example of the structural blocks of an electronic device allowing steps of the method of Figure 4 to be executed by one of the servers of Figure 1 according to one embodiment of the present disclosure; Figure 4 illustrates a flowchart of a method for notifying at least one client module implemented in a wireless device according to one embodiment of the present disclosure. 5. DETAILED DESCRIPTION

[0012] In all of the figures of the present document, the same numerical reference signs designate similar elements and steps.

[0013] Referring now to figure 1, we illustrate a wireless device 100 implementing client modules 100cma, 100cmb, 100cmc as well as different servers 110, 150a, 150b, 150c, the wireless device 100 and the servers 110, 150a, 150b, 150c being both communicatively connected to a wireless communications network 120 according to one embodiment of the present disclosure.

[0014] More particularly, as detailed above in the section "technological background", such modules can be: a piece of software running on general purpose hardware capabilities of the wireless device 100, e.g. an application running on a CPU of the wireless device 100; or a device or system (e.g. including hardware blocks and pieces of software) that is configured for running the client, e.g. a communications module (e.g. for WIFI or Cellular connectivity) of the wireless device 100.

[0015] In the present embodiment, the wireless device 100 (e.g. a smartphone, an loT object, a tablet implementing a wireless connectivity module, etc.) implements three client modules 100cma, 100cmb, 100cmc. However, in other embodiments, the wireless device 100 implements any number of client modules 100cma, 100cmb, 100cmc, e.g. only one client module, a plurality of client modules, etc.

[0016] Back to Figure 1, the wireless device 100 is wirelessly communicatively connected to the wireless communications network 120 going through a base station 130. For this, the wireless device 100 comprises a wireless connectivity system 100wm comprising wireless means for allowing the connection of the wireless device 100 to the wireless communications network 120. The wireless communications network 120 is a LPWAN dedicated to the internet of things (e.g. a NB-loT network, a LoRa ®< network or a SigFox ®< network). However, in other embodiments, the communication between the wireless device 100 and the core of the wireless communications network 120 goes through e.g. a satellite broadcast network, a WiFi network or a cellular network (e.g. a 2G / 3G / 4G / 5G... 3GPP cellular network).

[0017] Back to Figure 1, service providers servers 150a, 150b, 150c comprising respective service module 150sma, 150smb, 150smc are also communicatively connected to the wireless communications network 120. The communication between the service providers servers 150a, 150b, 150c and the core of the wireless communications network 120 goes through a wired communications link, e.g. a xDSL communications link implementing an internet protocol. However, in other embodiments, such communication between the service providers servers 150a, 150b, 150c and the core of the wireless communications network 120 goes through a wireless communications link, e.g. based on a cellular protocol (e.g. a 3GPP 2G, 3G, 4G or 5G protocol) or on a WiMAX protocol.

[0018] Back to Figure 1, one (or more) of the service modules 150sma, 150smb, 150smc is configured for notifying that specific data are available, in the corresponding service providers servers 150a, 150b, 150c, for one (or more) respective client modules 100cma, 100cmb, 100cmc. In that respect, the one (or more) service module 150sma, 150smb, 150smc does not directly notify the one (or more) respective client module 100cma, 100cmb, 100cmc by going through the wireless communications network 120 as usually done in the prior art solutions. Indeed, as detailed more deeply below in relation with Figure 4, according to the present solution the one (or more) service module 150sma, 150smb, 150smc sends an initial notification to a notification service device 110d implemented in a server 110 communicatively connected to the wireless network 120. Responsive to receiving the one (or more) initial notification, the notification service device 110d sends a notification to the notification client device 100d implemented in the wireless device 100 that, for one (or more) of the client modules 100cma, 100cmb, 100cmc for which an initial notification has been received, respective specific data are available in a service providers server 150a, 150b, 150c.

[0019] Having in the wireless device 100 a notification client device 100d dedicated to receiving the notifications sent by the notification service device 110d on the network side, in place of having the client module(s) 100cma, 100cmb, 100cmc directly receiving respective notification(s) from the service module(s) 150sma, 150smb, 150smc (e.g. following a "polling" of a respective service module by a client module), allows optimizing the connection between the notification client device 100d and the notification service device 110d through the wireless network 120 in respect of the notifications. Indeed, the client module(s) 100cma, 100cmb, 100cmc may implement non-optimized protocols for the exchange of notification data with the network side whereas the notification client device 100d and the notification service device 110d may implement an optimized protocol based on the features of the wireless network 120.

[0020] For instance, in some embodiments the notification client device 100d is implemented in the wireless connectivity system 100wm. As such, the notification client device 100d can rely more easily on dedicated mechanisms linked to the protocol implemented in the wireless communications network 120 in respect of the sending of notifications to the wireless device 100 from the network side. For instance, when the wireless communications network 120 is a LPWAN, the notification sent by the notification service device 110d to the notification client device 100d can follow a power optimized protocol usable for such notifications. It can be e.g. a eDRX (for "Extended Discontinuous Reception") and / or PSM (for "Power Saving Mode") protocol or a LoRaWAN protocol.

[0021] In some embodiments, the wireless device 100 comprises further wireless means for allowing the connection of the wireless device 100 to a second wireless communications network. In such embodiments, the wireless device 100 is configured for having the client modules 100cma, 100cmb, 100cmc receiving the respective specific data from the corresponding service providers servers 150a, 150b, 150c through the second wireless communications network. In that case, the service providers servers 150a, 150b, 150c are also communicatively connected to the second wireless communications network. For instance, the second wireless communications network is a WiFi network, a satellite broadcast network or a cellular network (e.g. a 2G / 3G / 4G / 5G... 3GPP cellular network). Such embodiments are of particular interest e.g. when the wireless communications network 120 used for the notification is a LPWAN, thus providing low bandwidth for the update of the client modules 100cma, 100cmb, 100cmc with the specific data. In such case, a second wireless communications network providing higher bandwidth is preferable for receiving the specific data.

[0022] Referring now to figure 2, in order to be able to implement the corresponding steps of the method for notifying at least one client module implemented in a wireless device, in the various embodiments disclosed below in relationship with Figure 4, in some embodiments the notification client device 100d comprises: a non-volatile memory 203 (e.g. a read-only memory (ROM), a hard disk, a flash memory, etc.); a volatile memory 201 (e.g. a random-access memory or RAM) and a processor 202.

[0023] The non-volatile memory 203 is a non-transitory computer-readable carrier medium. It stores executable program code instructions, which are executed by the processor 202 in order to enable implementation of some steps of the method described below (method for notifying at least one client module implemented in a wireless device) in the various embodiments disclosed below in relationship with Figure 4.

[0024] Upon initialization, the aforementioned program code instructions are transferred from the non-volatile memory 203 to the volatile memory 201 so as to be executed by the processor 202. The volatile memory 201 likewise includes registers for storing the variables and parameters required for this execution.

[0025] The steps of the method for notifying at least one client module implemented in a wireless device may be implemented equally well: by the execution of a set of program code instructions executed by a reprogrammable computing machine such as a PC type apparatus, a DSP (digital signal processor) or a microcontroller. This program code instructions can be stored in a non-transitory computer-readable carrier medium that is detachable (for example a CD-ROM, a DVD-ROM, a USB key) or non-detachable; or by a dedicated machine or component, such as an FPGA (Field Programmable Gate Array), an ASIC (Application-Specific Integrated Circuit) or any dedicated hardware component.

[0026] In other words, the disclosure is not limited to a purely software-based implementation, in the form of computer program instructions, but that it may also be implemented in hardware form or any form combining a hardware portion and a software portion.

[0027] Referring now to figure 3, in order to be able to implement the corresponding steps of the method for notifying at least one client module implemented in a wireless device, in the various embodiments disclosed below in relationship with Figure 4, in some embodiments the notification service device 110d comprises: a non-volatile memory 303 (e.g. a read-only memory (ROM), a hard disk, a flash memory, etc.); a volatile memory 301 (e.g. a random-access memory or RAM) and a processor 302.

[0028] The non-volatile memory 303 is a non-transitory computer-readable carrier medium. It stores executable program code instructions, which are executed by the processor 302 in order to enable implementation of some steps of the method described below (method for notifying at least one client module implemented in a wireless device) in the various embodiments disclosed below in relationship with Figure 4.

[0029] Upon initialization, the aforementioned program code instructions are transferred from the non-volatile memory 303 to the volatile memory 301 so as to be executed by the processor 302. The volatile memory 301 likewise includes registers for storing the variables and parameters required for this execution.

[0030] The steps of the method for notifying at least one client module implemented in a wireless device may be implemented equally well: by the execution of a set of program code instructions executed by a reprogrammable computing machine such as a PC type apparatus, a DSP (digital signal processor) or a microcontroller. This program code instructions can be stored in a non-transitory computer-readable carrier medium that is detachable (for example a CD-ROM, a DVD-ROM, a USB key) or non-detachable; or by a dedicated machine or component, such as an FPGA (Field Programmable Gate Array), an ASIC (Application-Specific Integrated Circuit) or any dedicated hardware component.

[0031] In other words, the disclosure is not limited to a purely software-based implementation, in the form of computer program instructions, but that it may also be implemented in hardware form or any form combining a hardware portion and a software portion.

[0032] Referring now to Figure 4, we describe the steps of a method for notifying at least one client module implemented in a wireless device according to one embodiment of the present disclosure and taking as an illustrative example the configuration discussed above in relation with Figure 1.

[0033] In a step S400, the notification service device 110d receives initial notifications sent by each of the service modules 150sma, 150smb, 150smc. More particularly: in step S400a, the notification service device 110d receives an initial notification sent by the service module 150sma; in step S400b, the notification service device 110d receives an initial notification sent by the service module 150smb; and in step S400c, the notification service device 110d receives an initial notification sent by the service module 150smc.

[0034] Such initial notification comprises information that for a respective client module 100cma, 100cmb, 100cmc implemented in the wireless device 100, respective specific data (e.g. update data) are available in a server 150a, 150b, 150c. In the present case, the notification service device 110d receives three initial notifications, e.g.: a first initial notification is received from the service module 150sma, the first initial notification comprising information that specific data are available in the server 150a for the client module 100cma; a second initial notification is received from the service module 150smb, the second initial notification comprising information that specific data are available in the server 150b for the client module 100cmb; and a third initial notification is received from the service module 150smc, the third initial notification comprising information that specific data are available in the server 150c for the client module 100cmc.

[0035] More generally, when a plurality of client modules 100cma, 100cmb, 100cmc is implemented in the wireless device 100, depending on the use case the notification service device 110d may receive a given number of initial notifications, e.g. over a predetermined time duration. It can be e.g.: only one initial notification from a given service module 150sma, 150smb, 150smc, the initial notification comprising information that for a respective client module 100cma, 100cmb, 100cmc implemented in the wireless device 100, respective specific data are available in a server 150a, 150b, 150c; or two (or more) initial notifications, each initial notification being sent from a respective service module 150sma, 150smb, 150smc and comprising information that for a respective client module 100cma, 100cmb, 100cmc implemented in the wireless device 100, respective specific data are available in a server 150a, 150b, 150c. In some embodiments, the number of initial notifications received by the notification service device 110d may be the same as the number of client modules 100cma, 100cmb, 100cmc implemented in the wireless device 100. In other embodiments, the number of initial notifications received by the notification service device 110d is different than the number of client modules 100cma, 100cmb, 100cmc implemented in the wireless device 100.

[0036] Back to Figure 4, in a step S410, the notification service device 110d sends a notification, to the notification client device 100d. such notification comprises information that, for the client module 100cma, 100cmb, 100cmc for which an initial notification has been received, respective specific data are available in a server 150a, 150b, 150c communicatively connected to the wireless communications network 120. In view of the initial notifications received in step S400, in the present case the notification comprises information that: specific data are available in the server 150a for the client module 100cma; specific data are available in the server 150b for the client module 100cmb; and specific data are available in the server 150c for the client module 100cmc.

[0037] Correspondingly, in step S410, the notification client device 100d receives the notification sent by the notification service device 110d.

[0038] However, in use cases discussed above wherein the notification service device 110d receives a different number of initial notifications, e.g. over a predetermined time duration, than in the embodiment of Figure 4, the notification comprises different information. For instance: when the notification service device 110d receives only one initial notification from a given service module 150sma, 150smb, 150smc, the initial notification comprising information that for a respective client module 100cma, 100cmb, 100cmc implemented in the wireless device 100, respective specific data are available in a server 150a, 150b, 150c, the notification sent to the notification client device 100d comprises information that for the client module 100cma, 100cmb, 100cmc for which the initial notification has been received, specific data are available in a server 150a, 150b, 150c; when the notification service device 110d receives two (or more) initial notifications, each initial notification being sent from a respective service module 150sma, 150smb, 150smc and comprising information that for a respective client module 100cma, 100cmb, 100cmc implemented in the wireless device 100, respective specific data are available in a server 150a, 150b, 150c, the notification sent to the notification client device 100d comprises information that for the two (or more) respective client modules 100cma, 100cmb, 100cmc for which an initial notification has been received, respective specific data are available in a server 150a, 150b, 150c. In some use cases discussed above, the number of initial notifications received by the notification service device 110d may be the same as the number of client modules 100cma, 100cmb, 100cmc implemented in the wireless device 100. In that case, the notification sent to the notification client device 100d comprises information that for each client modules 100cma, 100cmb, 100cmc respective specific data are available in a respective server 150a, 150b, 150c. However, in other embodiments, the number of initial notifications received by the notification service device 110d is different than the number of client modules 100cma, 100cmb, 100cmc implemented in the wireless device 100.

[0039] In some embodiments discussed above in relation with Figure 1 wherein the wireless communications network 120 is a LPWAN and wherein the notification client device 100d is implemented in the wireless connectivity system 100wm, the notification sent by the notification service device 110d to the notification client device 100d can follow a power optimized protocol usable for such notifications. It can be e.g. a eDRX (for "Extended Discontinuous Reception") and / or PSM (for "Power Saving Mode") protocol or a LoRaWAN protocol.

[0040] Back to Figure 4, in a step S420, the notification client device 100d wakes up the one (or more) client module 100cma, 100cmb, 100cmc for which information is comprised in the notification received from the notification service device 110d in step S410. The step S420 is e.g. executed for the one (or more) client module 100cma, 100cmb, 100cmc for which information is comprised in the notification received from the notification service device 110d and that are in a sleep mode. Thus, the wake-up of the one (or more) client module 100cma, 100cmb, 100cmc is executed only when required, thus reducing further the power consumption of the wireless device.

[0041] More particularly, in view of the notification received in step S410 in the present case: in step S420a, the notification client device 100d wakes up the client module 100cma; in step S420b, the notification client device 100d wakes up the client module 100cmb; and in step S420c, the notification client device 100d wakes up the client module 100cmc.

[0042] However, in other use cases discussed above wherein the notification received from the notification service device 110d in step S410 comprise information relating to only part of the client modules 100cma, 100cmb, 100cmc, the notification client device 100d wakes up only the client modules 100cma, 100cmb, 100cmc for which information was received. In some embodiments, the step S420 is not executed by the notification client device 100d, e.g. when the client modules 100cma, 100cmb, 100cmc are not in a sleep mode (e.g. when a client module 100cma, 100cmb, 100cmc is an application actively running on a smartphone).

[0043] Back to Figure 4, in a step S430, the notification client device 100d notifies the one (or more) client module 100cma, 100cmb, 100cmc for which information was comprised in the notification received from the notification service device 110d in step S410 that respective specific data are available in a server 150a, 150b, 150c.

[0044] More particularly, in view of the notification received in step S410 in the present case: in step S430a, the notification client device 100d notifies the client module 100cma that respective specific data are available in the server 150a; in step S430b, the notification client device 100d notifies the client module 100cmb that respective specific data are available in the server 150b; and in step S430c, the notification client device 100d notifies the client module 100cmc that respective specific data are available in the server 150c.

[0045] However, in other use cases discussed above wherein the notification received from the notification service device 110d in step S410 comprise information relating to only part of the client modules 100cma, 100cmb, 100cmc, the notification client device 100d notifies the client modules 100cma, 100cmb, 100cmc for which information was received.

[0046] Back to Figure 4, in a step S440, the client modules 100cma, 100cmb, 100cmc that have been notified by the notification client device 100d during step S430 that respective specific data are available in a server 150a, 150b, 150c obtain the respective specific data from the corresponding server 150a, 150b, 150c.

[0047] More particularly, in view of the notifications in step S430 in the present case: in step S440a, the client module 100cma obtain the respective specific data from the server 150a; in step S440b, the client module 100cmb obtain the respective specific data from the server 150b; and in step S440c, the client module 100cmc obtain the respective specific data from the server 150c.

[0048] For instance, for obtaining the respective data, a client module 100cma, 100cmb, 100cmc sends a request to the corresponding server 150a, 150b, 150c through the wireless communications network 120. Responsive to receiving the request, the corresponding server 150a, 150b, 150c sends the respective data to the client module 100cma, 100cmb, 100cmc that sent the request. In that case, the client module 100cma, 100cmb, 100cmc that sent the request receives the respective data through the wireless communications network 120.

[0049] However, in some embodiments discussed above in relation with Figure 1 wherein the wireless device 100 comprises further wireless means for allowing the connection of the wireless device 100 to a second wireless communications network, the client module 100cma, 100cmb, 100cmc that sent the request receives the respective data through the second wireless communications network. In such embodiments, the request for obtaining the respective data may be sent through the wireless communications network 120 or through the second wireless communications network.

Claims

1. Wireless device (100) communicatively connected to a wireless communications network (120), the wireless device comprising: - at least one client module (100cma, 100cmb, 100cmc); - a notification client device (100d) for notifying said at least one client module that respective specific data are available in a service module (150sma, 150smb, 150smc) implemented in a server (150a, 150b, 150c) communicatively connected to said wireless communications network, the notification client device comprising a processor (202) or a dedicated computing machine configured for: - receiving a notification, sent by a notification service device (110d) implemented in a server communicatively connected to said wireless network, comprising information that, for at least one client module, respective specific data are available in a server communicatively connected to said wireless communications network; and - notifying the at least one client module that respective specific data are available in a server; and - a wireless connectivity system (100wm) comprising wireless means for allowing the connection of the wireless device to said wireless communications network, characterized in that the notification client device is implemented in said wireless connectivity system.

2. Wireless device according to claim 1, wherein said wireless communications network belongs to the group comprising: - a WiFi network; - a cellular network; - a satellite broadcast network; and - a low power wide area network dedicated to the internet of things.

3. Wireless device according to claim 1 or 2, comprising further wireless means for allowing the connection of the wireless device to a second wireless communications network, said wireless device being configured for having the at least one client module receiving the respective specific data from a server through the second wireless communications network, the server being also communicatively connected to the second wireless communications network.

4. Wireless device according to claim 3, wherein the second wireless communications network belongs to the group comprising: - a WiFi network; - a satellite broadcast network; and - a cellular network.