Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COST OPTIMIZATION FOR FIRMWARE UPDATES FOR GLOBALLY MOBILE MACHINE-TO-MACHINE DEVICES
Document Type and Number:
WIPO Patent Application WO/2014/064621
Kind Code:
A1
Abstract:
A firmware control management device and a method implemented by the firmware control management device are described herein which are configured to determine whether or not to push a firmware update to a machine-to-machine (M2M) device.

Inventors:
VALENTINE ERIC LEE (US)
SYED INAYAT (US)
Application Number:
PCT/IB2013/059578
Publication Date:
May 01, 2014
Filing Date:
October 23, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04L29/08; H04W4/50; H04W4/70
Domestic Patent References:
WO2012134080A22012-10-04
Foreign References:
US20100099432A12010-04-22
Attorney, Agent or Firm:
BURLEIGH, Roger S. et al. (MS EVR 1-C-11Plano, Texas, US)
Download PDF:
Claims:
CLAIMS:

1. A firmware control management device (102) for determining whether or not to push a firmware update (202) to a machine-to-machme (M2 ) device (U 2t, 1 122... I 12fi; U6.t, 1 162.. , 1 16η, I 185 j Ϊ 182. , . l l8!l! and 120 12¾... 12¾), the firmware control management device comprising:

a processor (2 12); and

a memory (214) that stores processor-executable instructions where the processor interfaces with the memory and executes the processor-executable instructions to enable operations as follows:

receive (252) a notification (221) from the M2M device (1 16 retrieve (254) M2M configuration information (216) associated with the M2M device;

obtain (256) information (218) related to firmware associated with the M2M device;

obtain (262) information (222) which indicates a network ( 106j ) currentl connected to the M2M device;

obtain (264) informa tion (220) related to the network, currently connected to the M2M device; and

determine (266) whether or not to push the firmware update to the M2 device based at least on the M2M configuration information, the information related to firmware associated with the M2M device, and the information related to the network currently connected to the M2M device.,

2. The firmware control, management device of claim , wherein after retrieve the 2M configuration information associated with the 2M device and obtain the information related to firmware associated with the M2M device hot before obtain the information indicative of the network connected to the M2M device the processor farther executes the processor-execuiable instructions to enable operations as follows:

determine ( 258), based on the M2 configuration information and the information related to firmware associated with the M2M device, if firmware that is currently loaded in the M2M device is a latest version; if the firmware currently loaded in the 1VI2 device is the latest version, then end (210) process since no further firmware updating is needed with respect to the M2 device; and

if the firmware currently loaded in the M2 device is not the latest version, then proceed to obtain (262) information (222) indicative of the network connected to the M2M device,

3. The firmware control management device of claim L wherein the processor further executes the processor-executable instructions to obtain the information which indicates the network currently connected to the M2M device by enabling operations as follows:

determine (302), based on the M2M configuration information^ if the M2M device is capable of providing information which indemnifies the network currently servicing the M2M device;

if the M2M device is not capable of providing the information, then query

(304) a remote node (108, 1 10a) to obtain the information indicative of the network connected to the M2M device; and

if the SVI2M device is capable of providing the information, then send (314) a query (237) to the M2M device to obtain information (238) identifying the network connected to the M2 device.

4, The firmware control management device of claim 3, wherein the processor further executes the processor-executable instructions to query the remote node to obtain information which indicates the network currently connected to the 2M device by enabling operations as follows:

trigger (306) a query (230) to a mobile location center (108) to receive information (232) about a location of the M2M device; and

use (308) a lookup table (234) along with the location of the M2M device to determine the network which is likely connected to the M2M device.

5. The firmware control management device of claim 3, wherein the processor further executes the processor-executable instructions to query the remote node to obtain information which indicates die network currently connected to the 2 device by enabling operations as follows:

trigger (310) a query (235) to an external storage unit ( 1 10a) to obtain an address (236) where the M2M device is registered; and

use (312) the address to determine the network currently connected to the M2M device.

6. The firmware control management device of claim 3, wherein if the information indicati ve of the network connected to the M2M device is Global Positioning Satelli te (GPS) coordinates of the M2M device then the processor further executes the processor-executable instructions to use (304, 31.4) a map function (242) along with the GPS coordinates Co determine the network currently connected to the 1VI2M device.

7. The firmware control management device of claim 1 , wherein the processor further executes the processor-executabie insinictions to determine whether or not to push the firmware update to the M2M device by enabling operations as follows:

determine (402) if the firmware update is a critical firmware update (202") or a non-critical firmware update (202');

if the firmware update is a critical firmware update, then push (404) the critical firmware update to the M2M device;

if the firmware update is a non-critical firmware update, the determine (406) if cost of using the network to push the non-critical firmware update to the M2M device exceeds a threshold;

if the cost exceeds the threshold, then do not push (408) the non-critical firmware update to the M2M device; or

if the cost does not exceed the threshold, then push ( 10) the non-critical firmware update to the M2M de vice.

8. The firmware control management device of claim 1 , wherein if there is a determination to push the firmware update to the M2M device then the processor further executes the processor-executable instructions to enable operations as follows:

push (268a) a single firmware update (202) to the M2M device; or push (268b) one or more non-cnticai firmware updates (202') to the M2M device and then push a critical firmware update (202") to the M2M device.

9. The firmware control management device of claim 1 , wherein if there is a determination not to posh the firmware update to the M2M device then the processor further executes th processor-executable instructions to enable operations as follows: instriict (270) the M2M device to enter a quiet mode until the M2M device connects to another network. 10. The firmware control management device of claim 1. wherein the processor further executes the processor-executable instructions' to enable operations as follows: send (252b) a message (21 ) to the M2M device instructing the M2M device to send the notification. 1 1. The firmware control management device of claim i„ wherein the processor further executes the processor-executable instructions to enable operations as follows: send (252a) a message (223) to the M2M device where the message has one or more conditions which when satisfied result in the M2M device sending the notification and once the notification is received then enable a lawful intercept of data which is transmitted .from the M2 device.

12. The firmware control, management device of claim I , wherein the information related to firmware associated with the M2M device comprises:

information about current firmware upgrades;

past firmware upgrades;

a number of firmware images to be updated at the M2M device;

an installation order of the firmware images;

dependencies between the firmware images to be updated at the M2M device; and

firmware file size for each of the updates. 13. The firmware control management device of claim 1 , wherein the information related to the network currently connected, to the M2 device comprises:

data costs associated with using the network to push the firmware update to the M2M device.

14. A method (200) for detennming whether or not to push a firmware update (202) to a roach me-to-machme (M2M) device (1 12i, m.? . . . ! 12& U &i, 1162... 1 16iSf ) 1&U 1 182...118», and 120·., 1202... 120,,), the method implemented by a firmware control manaaement device comprising the steps of:

receiving (252) a notification (22 1 ) from the M2M device (U6});

retrieving (254) M2 configuration, information (216) associated with the M2M device;

obtaining (256) information (218) related to firmware associated wit the M2M device;

obtaining (262) information (222) which indicates a network currently connected to the M2M device;

obtaining (264) information (220) related, to the network currently connected to the M2M device; and

determining (266) whether or not to push the firmware update to the M2M device based at least on the 2M configuration information, the information related to firmware associated with the M2M device, and the information related, to the network currently connected to the M2M device.

.15. The method of claim 14. wherein after the steps of retrieving the M2M configuration information associated wit the M2 device and obtaining the information related to firmware associated with the M2M device but before the step of obtaining the information which indicates the network currently connected to the M2M device further comprising the steps of:

determining (268), based on the M2M configuration information and the information related to firmware associated with the M2M device, if firmware that, is currently loaded in the M2M device is a latest version; if the firmware currently loaded in the 1VI2 device is the latest version, then ending the process since no further firmware updating is needed witli respect to the M2 device; and

if the firmware currently loaded in the M2M device is not the latest version, the proceeding to obtain (262) information (222) indicative of the network currently connected to the M2M device.

1 . The method of claim 14, wherein the step of obtaining the information which indicates the network currently comiected to the M2M device further comprises the steps of:

determining (302), based on the M2M configuration information, if the M2M device is capable of providing information which indentifies the network currently servicing the M2M device;

if the M2M device is not capable of providing the information, then sending (304) a query a remote node (108, I !Oa) to obtain the information indicative of tire network connected to the M2M device; and

if the M2M device is capable of providing the information, then sending (314) a query (237) to the M2M device to obtain information (238) identifying the network connected to the 2M device.

17. The method of claim 16, wherein the step of sending the quer to the remote node to obtain information which indicates the network currently connected to the M2M device further comprises the steps of;

triggering (306) a query (230) to a mobile location center (108) to receive information (232) about a location of the M21VI device; and

using (308) a lookup table (234) along with the location of the M2M device to determine the network which is likely connected to the M2M device.

18. The method of claim 16. wherein the step of sending the query to the remote node to obtain information which indicates the network currently connected to the M2M device further comprises the steps of: triggering (310) a query (235) to an externa! storage unit ( 1 10a) to obtain an address (236) where the M2M device is registered; and

using (312) the address to determine the network currently connected to the M2M device,

19. The method of claim 16, wherein if the information indicative of the network connected to the M2M device is Global Positioning Satellite. (GPS) coordinates of the 2M device then further comprising a step of using (304, 314) a map function (242) along with the GPS coordinates to determine the network currently connected to the M2M device.

20. The method of claim 14, wherein the step of determining whether or not to push the firmware update to the M2M device further comprises the steps of:

detemnmng ( 402) if the firmware update is a critical firmware update (202") or a non-critical firmware update (202');

if the firmware update is a critical firmware update, then pushing (404) the critical firmware update to the M2M device:

if the firmware update is a non-critical firmware update, the determining (406) if a cost of using the network to push the non-critical firmware update to the M2M device exceeds a threshold;

if the cost exceeds the threshold, then do not push (408) the non-critical firmware update to the M2M device; or

if the cost does not exceed the threshold, then posh (410) the non-critical firmware update to the M2M device.

21. The method of claim 14, wherein if there is a determination to push the firmware update to the M2 device then performing the steps of:

pushing (268a) a single firmware update (202) to the M2M device; or

pushing (268b) one or more non-critical firmware updates (202') to the M2M device and then pushing a critical firmware update (202") to the M2M device.

22. The method of claim 14, wherein if there is a determination not to push the firmwar update to the M2M device then performing the step of:

instructing (270) the M2M device to enter a quite mode until the 2M device connects to another network,

23. The method of claim 14, further comprising a step of:

sending (252b) a message (219) to the M2M device instructing the M2M device to send the notification. 24. The method of claim 14, further comprising steps of:

sending (252a) a message (223) to the M2M device where the message has one or more conditions which when satisfied result in the 2 device sending the notification and once the notification is received then enabling a lawful intercept of data which is transmitted from the M2M device.

25. The method of claim 14, wherein the information related to firm ware associated with the M2M device comprises:

information about current firmware upgrades;

past firmware upgrades;

a number of firmware images to he updated at the M2M device;

an installation order of the firmware images:

dependencies between the firmware images to he updated at the M2M device; and

firmware file size for each of the updates.

26. The method of ciaim 14, wherem the information related to the network currently connected to the 2M device comprises:

date costs associated with using the network to push the firmware update to the 2M device.

Description:
COST OPTIMIZATION FOR FIRMWARE UPDATES FOR GLOBALLY MOBILE MACHINE-TO-MACHINE DEVICES

TECHNICAL FIELD

5 The present invention relates to the telecommunications -field and, in particular, to a firmware control management device and a method implemented by the firmware control management device for determining whether or not to pus a firmware update to a machine~to~rnachine ( 2 ) device, l o BACKGROUND

The following abbreviations and terms are herewith defined, at least some of which are referred to within the following description of the state of the art and the present invention.

15 3GPP Third Generation Partnership Project

BTS Base Transceiver Station

DDC Device Detection Component

GMLC Gateway Mobile Location Center

GPS Global Positioning Satellite

0 GTCS Geo-Fe.nc.mg Tracking and Control System

GUI Graphical User Interface

HLR. Home Location Register

HSS Home Subscriber Server

IMS! International Mobile Subscriber Identity

5 LIE Long-Term Evolution

M2M Machine to Machine

MNO Mobile Network Operator

MPS Mobile Positioning Server

MSISDN Mobile Subscriber ISD Number

0 VNO Mobile Virtual Network Operator

OMA Open Mobile Al liance

OMA-DM Open Mobile Alliance ···· Device Management RDM Remote Device Manager

ROM Read-Only-Meniory

SGSN Serving GPRS Support Node

SN P Simple Network Management Protocol

SMS Short Message Service

SIJPL Secure User Plane Location

TCO Total Cost of Ownership

TR Technical Report

USSD Unstructured Supplementary Service Data

Firm ware: Firmware is a software program or set of instructions programmed on a Device Processor (e.g., on an M2M device). The firmware provides the necessary instructions for how the device functions and communicates with the other hardware and software. Firmware is typically stored in the flash read- nly-memory (ROM) of the hardware device. The ROM can be "flash" ROM which can be erased and rewritten only by an authorized user. Hence, firmware can be "semi-permanent" since it remains the same unless it is updated by a firmware updafer. The firmware may be updated to provide the hardware device new functionality or to simply make the hardware device operate more efficiently.

M2M In the field of cell phone networks, M2M refers to dev ices other than cell, phones which use the wireless network to communicate with other devices or networks. Typically, a small device known as an M1M module is embedded in a larger device that needs to communicate over the wireless network. The M2M module contains the same type of radio and data circuits that would be found in a typical cell phone, but nothing else (no display or keypad, etc). 2M modules can be embedded in things such as vending machines, automobiles, containers, alarm systems, and remote sensors.

M2M communications over 3GPP networks and/or other access- etworks such as WiFi, Zigbee etc... is a fast-expanding area. There ate many drivers for this including the reduction in prices of the M2M devices in response to economies of scale and Moore 's Law. M2M device management presents an interesting management challenge. In the past, "network management" addressed the management of network nodes, for instance core network elements like the SGSN, and radio network elements such as the BTS, routers etc. However, with the advent of 2M technology, the M2 devices themselves are part of what needs to be managed. This is conceptually similar to a mobile operator needing to manage all of the mobile handsets in their network via an operation center. There are applications available today for doing this, such as Ericsson's RDM ( Remote Device Manager) platform which supports the remote management of TR069 enabled M2M devices. In this regard, the idea of "network management on a device level" is only the first part associated with the management of M2M devices. Next, we discuss the management of M2M devices in an even broade context.

Currently, most M2M solutions fit comfortably within one operator's network. In general, many of the 2M devices are not very mobile and the ones that are mobile are mobile within one network. Consider an application such as nascent M2M applications in automobiles that are even now migrating to 3GPP-based technology. It can be seen that in the vast majority of cases, sufficient connectivity can be provided under the umbrella of one operator, whether MNO or MV O. However, with the advent of cloud computing there is a class of M2M applications that is now being deployed and that will expand very rapidly in the coming few years. This class of M2M applications is best exemplified by asset tracking and management. To exemplify this case, one can consider that of refrigerated container management. Refrigerated containers can contain perishable goods with a very high value. The refrigerated containers themselves need to be tracked, which is fairly simple, but more importantly, the conditions inside the refrigerated container need to be monitored and controlled. This level of management needs to be possible, in general, virtuall anywhere in the world.

It can be readily appreciated that the M2M devices associated with these refrigerated containers (or other tracked components) will need to be managed well beyond the perimeters of a single operator's network, it can also be appreciated that this is true for an entire class of M2M devices which can be expected to be used globally. Finally, it should be noted that a large part of the world's surface is covered with water and that many of these M2M devices will spend a significant amount of time at sea, where connectivity can be provided via satellite-connected base stations, but where the connectivity costs are much higher due to the use of a satellite link. This operational context is the second part associated with managing M2M devices. If one takes both parts of these operational contexts into account to manage SV12M devices, it can be seen that there is a need, for M2 device management on a pan-operator basis. From a pare communication point of view, this is not really an issue, as the M2M devices are either in a "home" operator network or in a "visited" network which is owned by the operator's roaming partner. In such cases, the M2M devices could be under coverage, eiilier within their home network or a visited network, provided via a satellite link. However, there is one special case regarding network management on a 2M device level that should be addressed because it can significantly affect whether the specific M2M application can be profitably employed over the solution's lifespan. This one special case relates to firmware updates (i.e., software updates). Like many devices. M2M devices can, and will, require firmware updates. In some cases, these firmware updates are relativel minor, for instance to support minor enhancements. In other cases, these firmware updates are critical because the 2M devices may have been found to have performance faults which can result in the disruption to networks or the M2M device going "down" in a way that requires a great deal of manual intervention (e.g. tracking the container manually, resetting the communication device etc, ) to address the particular problem.

As can be appreciated, to provide firmware updates for large numbers of M2M devices located in roaming "visited" partner networks or satellite-connected radio networks can be very expensive and can significantly affect the business case of the M2M application. In addition, there can be cost differentials associated with providing for firmware updates depending on whether a M2M device is active in a 2G, 3G or LTE network (consider data download speeds/volumes). Accordingly, there is a need for an effective way to manage firmware updates in a cohesive manner for a large number of M2M devices that can be basically located anywhere in the world, in the most cost-effective manner possible.

SUMMARY

A firmware control management device and method that address the aforementioned firmware updated problems are described in the independent claims of the present application. Advantageous embodiments of the firmware control management device and the method have been described in the dependent claims of the present application.

In one aspect, the present invention provides a firmware control management device for determining whether or not to push a tirmware update to a 2M device. The firmware control, management device comprises at least a processor and a memory that stores processor-executable instructions where the processor interfaces with the memory and executes the processor-executable instructions to enable a receive operation, a retrieve operation, three obtain operations and a determine operation. The receive operation includes receiving a notification from the M2M device. The retrieve operation includes retrieving M2 configuration information associated with the M2M device. The first obtain operation includes obtaining information related to firmware associated with the M2M device. The second obtain operation includes obtaining information which indicates a network thai is currently connected to the 2M device. The third obtain operation includes obtaining information related to the network currently connected to the M2M device. The determine operation includes determining whether or not to push the firmware update to the M2M device based at least on the M2M configuration information, the information related to firmware associated with the M2M device, and the information related to the network currently connected to the ΝΊ2 device. An advantage of the firmware control management device is that it can effectively manage firmware updates in cohesive manner for a large number of M2M devices which can be basically located anywhere in the world.

In another aspect, the present invention provides a method implemented by a firmware control management device for determining whether or not to push a firmware update to a M2M device. The method comprises a receiving step, a retrieving step, three obtaining steps and a determining step. The receiving step includes receiving a notification from the M2M device. The retrieving step includes retrieving M2M configuration information associated with the M2M device. The first obtaining step includes obtaining information related to firmware associated with the M2M device. The second obtaining step includes obtaining information which indicates a network that is currently connected to the M2M device. The third obtaining step includes obtaining information related to the network currently connected to the M2 device. The determining step includes determining whether or not to push the firmware update to the M2M device based at least on the M2M configuration information, the information related to firmware associated with the M2 device, and the information related to the network currentiy connected to the 2M device. An advantage of the method is that it can effectively manage firmware updates in a cohesive manner for a large number of M2M devices which can be basically located anywhere in the world.

Additional aspects of the invention will be set forth, in part, in the detailed description, figures and any claims which follow, and in part will be derived from the detailed description, or can be learned by practice of the invention. It is to be imderstood that both the foregoing genera! description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention may be obtained by reference to the following detailed description when taken in conjunction with the accompanying drawings:

FIGURE I is a basic diagram of an exemplary wireless communication system used to help describe a firmware control management device which is configured in accordance with an embodiment of the present in vention;

FIGURE 2 is a flowchart of an exemplary method which is implemented by the firmware control management device shown in FIGURE 1 for determining whether or not to push a firmware update to one of the M2M devices shown in FIGURE i in accordance with an embodiment of the present in vention;

FIGURE 3 is a flowchart which illustrates exemplary steps that can be performed to implement the second obtaining step of the method shown in FIGU RE 2 in accordance with an embodiment of the present invention;

FIGURE 4 is a flowchart which illustrates exemplary steps that can be performed to implement the determining step of the method shown in FIGURE 2 in accordance with an embodiment of the present invention; and

FIGURE 5 is a basic diagram illustrating how Ericsson's Remote Device Manager can be enhanced to incorporate the firmware control management device shown in FIGURE 1 in accordance with an embod iment of the present invention . DETAILED DESCRIPTION

Referring to FIGURE I , there is a basic diagram of an exemplary wireless communication system 100 used to help describe a firmware control management device 102 which is configured in accordance wit an embodiment of the present invention. The exemplary wireless communication system 100 includes a home network. 104 and multiple visited networks 106t , I 06? ... 106„. in this basic diagram, the home network 104 is shown including a mobile location center 10S (e.g., GMLC 108), two external storage units 110a and 110b (e.g., HLR 110a, HSS 110b), multiple M2 devices U2 h l ll 1 2„, and a RDM 114. The RDM 1 14 is shown incorporating the firmware control management device 102 but it should be appreciated that the firmware control management device 502 could be incorporated within any telecommunications node or it could be a stand-alone device. The visited networks 106t, J.O62...1 6,, are each shown as including multiple roaming M2M devices I l6 f , 1 1 6 2 ... 1 16„, 1 18), 1 183. ..1 18 » , and 120.[, 120 2 ... 120 H , ire 2M devices 1 12 Π 2 2 ... Η2„, i 16 Π 2 ... Π6 « , \ \% 1 182... i 18«, and i20 f , I 2 2... 120„ can be the same type but would typically be different devices with different functions. The person skilled in the art will appreciate that the home network 104 and the multiple visited networks 106 t , 1 6 2 ... 106 a include many other well known components but for clarity only the components such as the firmware control management device 102, the mobile location center 108 (e.g., GMLC 108), the external storage units 1 10a and 110b (e.g., HLR 1 .10a, HSS 10b), the M2M devices

1 12], i l2 2 ... i i2 u , 1 I6 U 1 !6 2 1 16 n , 1 18 u Π 8 2 ...1 18 » , and 120 .u !20 3 . , J 20 t) whic are needed to explain the present invention have been described in detail herein. In this regard, the firmware control management device 102 is described in detail next utilizing the basic wireless communication system 1 0 diagram associated with FIGUR E 1 and the various flowcharts associated with FIGURES 2-4.

As shown in FIGURE 1 , the firmware control management device 102 includes at least an input interface 204, an output interface 206, a graphical user interface 208, a database 210, a processor 212, and a memory 214. The input interlace 204 is used to receive signals from components in the home network 104 and visited networks 1 6 i s 1 67... 106 » . The output interface 204 is used to send signals to components in the home network 104 and visited networks 106j, 106?....106». The graphical user interface 208 is used so an operator (not shown) can interface with to configure or otherwise control the firmware management control device 102, The database 210 can store a wide range of information including, for example, M2M configuration information 216, firmware information 218 and netw ork information 220. The M2M configuration information 216 includes information such as the identity of the home network (plus cheapest cooperating network), current firmware level, device type, and capabilities of each of the 1VI2M devices 1 12,, 1 I2 2 ...112„, 1 16 t , 1 16 2 , ., J 1.6«, 1 1.8s, 1 1 8?...1 18», and 120K 120 2 . , . 1.20». The firmware information 216 includes information about the current firmware upgrades, .firmware levels (past firmware upgrades), firmware upgrade dependencies etc... associated with specific types of M2M devices 1 12 5 , 1 12 2 . . . 1 1 2„, 1 1 6; , 1. 16 2 . , , l 16 a , U 8i, U8 2 .. J I 8„, and 120·,, 12% .. 120*. The network information 220 includes information about the costs associated with using the home network 1.04 and visited networks ΙΟόι, i062.. .106 n to communicate with and download information to the specific 2M devices 1 1 2 5 , 1 12 2 ... i l2 fi , 1 16,, I 16 2 ... l l6„, 1 18,, Π8 2 ... Π 8 β , and 120.,, 1202...120». Alternatively, the firmware control management device 102 may retrieve any of the necessary M2M configuration information 216, the firmware information 218 and/or the network information 220 front other components such as the external storage uni ts 1 10a and 110b rather than store this information 1 6, 218 and 220 on-site or in the event that the database 210 does not currently store the needed information 216, 218 and/or 220, The person skilled in the art will appreciate that the firmware control management device 102 may include other components and functionalities but for clarity only the components and functionalities which are needed to explain the present invention have been described in detail herein..

The firmware control management device 102 is configured to determine whether or not to push a firmware update 202 to one of the M2M devices 116, (for example) in accordance with an embodiment of the present invention. To accomplish this, the processor 212 interfaces with the memory 214 which stores processor-executable instructions and then executes the processor-executable instructions to enable operations as .follows: (1) receive a notification 221 from, the M2M device 116, (step 1); (2) retrieve 2M configuration information 216 associated with the 2M device 1 16, (step 2); (3) obtain firmware information 218 associated with the M2M 116, (step 3); (4) determine based on the M2M configuration information 216 and the firmware information 218 associated with the M2M device 1 1 , whether or not the firmware currently loaded in the M2M device Π6) is a latest version {step 4 optional); (5) if the firmware currently loaded m the M2M device 1 1 (>i is the latest version, then end the process since no further firmware updating is needed with respect to the 2M device 1 16j (step 5-optionai); (6) if the firmware currently loaded in the M2M device 1 16j is not the latest version, then proceed to obtain information 222 which indicates the particular network 106 t currently connected to the 2M device! I 6i (step 6)(no.e: if step 4 is not performed then step 6 is performed after step 3); (7) obtain information 220 related to the network 106; currently connected to the M2M device 1 16] (step 7); (8) determine whether or not to push the firmware update 202 (i.e., the latest firmware software) to the M2M device 1 16j based at least on the M2M configuration information 216, the information 218 related to firmware associated wit the M2fvf device, and the information 220 related to the network 106 5 currently connected to the 2M device 1 16s (step 8); (9) if there is a determination to push the firmware update 202 to the M2 device 1 16 s then push one or more firmware updates 202 to the 2M device 1 36¾ ( step 9); and (10) if there is a determination not to push the firmware update 202 to the M2M device 1 1 ( i then send a message 224 to instruct the M2 device 1 1 i to enter a quite mode until the M2M device 1 16; connects to another network 104, 106 2 .„106„ (step 10). A detailed discussion about different exemplary ways that the firmware control management device 1.02 can implement steps 1,2, 3, 4, 5, 6, 7, 8, 9, and 10 is described next with respect to FIGURES 2-4,

Referring to FIGURE 2, there is a flowchart of a exemplary method 200 which is implemented by the firmware control management device 102 for determining whether or not to push a firmware update 202 to one of the M2M devices 1 16 3 (for example) in accordance with an embodiment of the present invention. Beginning at step 252, the firmware control management device 1.02 receives a notification 221 f om the 2M device 1 165 , Typically, the M2M device 1 occasionally checks with the RDM 114 or firmware control management device 102 by sending the notification 221 after, or as part of, performing network access (step 252a). Plus, the M2M device 1 16s can send the notification 221 based on a specific event such as for instance: (a) a timer expiration at the M2M device I 16j; (b) a change of networks 104 and 106 $ , ΙΟό^. , . Ι Οό,, by the M2 device 1 16 3 (e.g., M2M device .! 16j roamed from network 1 6? to network; 10 ; and (c) meeting a set of conditions previously received in a message 223 from the RDM 1 14 or the firmware control management device 102— these conditions can include for example the- device state, location, and network access type (step 252a), Alternatively, the RDM 1 14 or firmwar control management device 120 can send a message 21 (e.g., SMS message) to "wake-up" the M2 device 1 16| and cause the M2M device 1 16 t to send the notification 221 (step 252b). For instance, the RDM 1 14 or firmware control management device 120 can send the message 219 based on (for example): an expiration of a timer, a query via external interface (such as web portal), a scan through device register triggered manually or automatically. In any case, the firmware control management device 102 upon receiving the notification 221 will then have identif ing information such as the IMS! and/or the MSISDN that corresponds to the subscription for the M2M device 1 16 5 ,

At step 254, the firmware control management device 102 retrieves M2M configuration information 216 associated with the M21VI device 1 16j. For instance, the firmware control management device 102 can utilize the IMS! and/or the MSISDN associated with the M2M device 116j as a key to query the database 210 to obtain the M2M configuration information 1 such as the current loaded firmware and capabilities of M2M device Π6Ί. Alternatively, the firmware control management device Ϊ 2 can utilize the IMS! and/or the MSISDN associated with the M2M device 1 1.6 . ; as a key in a query 223 to obtain the M2M configuration information 216 from some other component (e.g., HSS 1 10b) within the wireless communication system 100,

At step 256, the firmware control management device 102 obtains firmware information 218 associated with the M2M 1 16j . For instance, the firmware control management device 102 can utilize the retrieved M2M configuration information 216 associated with the M2M device 1 16 . - to determine the type of firmware software that is used by the M2M device 1 16 t and then use that information to obtain the firmware information 21 S from the database 210 or some other component in the wireless communication system 100. The retrieved firmware information 218 which is associated with the M2M device 1 can include (for example); (a) information about the current firmware upgrades; (b) firmware levels (past firmware upgrades); (c) a number of firmware images to be updated at the M2M device 1 16;; (d) an installation order of the firmware images; (e) dependencies between the firmware images to be updated at the M2 device .1 16j; and (f) the firmware file size for each of the updates.

At step 258 (optional), the firmware control management device 102 determines -π- based on the 2M configuration mformation 216 and the firmware information 218 associated with the M2M device 1 16 \ whether or not the firmware currently loaded in the M2M device 1 16» is a latest version. If the firmware currently loaded in the M2M device 1 16] is the latest version, then at step 260 the process is ended since no further firmware updating is needed with respect to the M2M device I 16 t . However, the firmware control management device 102 can still perform other activities such as logging the time that the notification 221 was received from the M2M device 116j. If the firmware currently loaded in the 2M device is not the latest version, then proceed to step 262 to continue the firmware update method 200. it should be appreciated that steps 258 and 260 are optional and if this feature i not implemented then the firmware update method 200 would proceed from step 256 to step 26:2.

At step 262, the firmware control management device 102 obtains information 222 which indicates the particular network 106? that is currently connected to the M2M device The firmware control management device 1 2 can obtain this information 222 utilizing anyone of several different ways such as (for example): ( I) query a remote node (e.g., GMLC 108, HLR 1 10a) to obtain this mformation 222; or (2) obtain the information 222 directly from the M2M device 1 1 5 — ssuming the M2M device 1 1 16 has the capability to provide this information 222— here this capability can be determined from the M2M configuration data 216 or received explicitly or implicitly (such as a elassmark) from the M2M device 11 j. These exemplary ways of performing step 262 to obtain the information 222 which indicates the particular network 106* that is currently connected to the M2M device! 16} are discussed in more detail below with respect to FIGURE 3.

At step 264, the firmware control management device .102 obtains information 220 related to the network 106| which is currently connected to the M2M device 1 1 t, The network information 220 includes information about the costs associated with using the network 106i to communicate with and download firmware 202 to the M2M device 1 ! 6 t . These costs may be based on the time of day and particular location of the M2M device 1 16 { , As discussed above, the firmware control management device 102 can query the database 210 or some other component within the wireless communication system 1.00 to obtain this information 220.

At step 266, the firmware control management device 102 determines whether or not to push the firmware update 202 (i.e., the latest firmware software) to the 1VI2 device I 16 s based at least on the M2M configuration information 216, the firmware information 218, and the information 220 related to the network 10 5 which is currently connected to the M2 device The firmware control management device 102 cast make this determination utilizing anyone of several different ways such as (for exampie) determining whether the firmware update 202 is a critical firmware update 202' or a non-critical firmware update 202". This particular exemplary way of performing step 266 is discussed in more detail below with respect to FIGURE 4.

At step 268, the firmware control management device 102 upon determining to push the firmware update 202 to the M2M device U 6 3 then poshes one or more firmware updates 202 to the M2 device 1 16], For instance, the firmware control management device 102 can depending on the circumstances push single firmware update 202 to the 3VJ2M device ! I6j (step 268a), or push one or more non-critical firmware updates 202' to the M2M device 1 16] and then push a critical firmware update 202" to the M21VI device

At step 270, the firmware control management device 102 upon determining not to push the firmware update 202 t the M2M device 1 161 can send a message 224 to instruct the M2M device 1 16j to enter a quite mode until the M2M device 1 16j connects to another network 1 4, i06 2 , , . 106, . Alternatively, the firmware control management device 1 2 could simply not push the firmware update 202 to the M2M device 1161. Referring to FIGURE 3, there is a flowchart which illustrates exemplary steps that can be performed to implement step 262 so as to obtain the information 222 which indicates the particular network 106} that is currently connected to the M2 devicel 16 f . Beginning at step 302, the firmware control management device 1.02 determines based on the retrieved 2M configuration information 216 if the M2SV1 device 1 16t is capable of providing information identifying the network 106* which is currently serving the M2M device 1 161. if the M2M device 1. 16t is not capable of providing the information, then the firmware control management device 102 performs step 304 and sends a query to a remote node (e.g.. GMLC 108, HLR 1 10a) to obtain the information indicative of the network 106 t currently connected t the M2M device 116 3 and the M2M device 's current location. For example, the firmware control management device 1 2 can perform step 304 by: (a) triggering a query 230 to the mobile location center 108 (e.g., GMLC 108} to receive information 232 about the location of the M2M device 1 16; (step 306); and (b) using a lookup table 234 along with the location information 232 of the M2M device 1 16{ to determine the network 106} which is likely connected to the 2 device 116 3 (step 308), In another example, the firmware control management device 102 can perform step 304 by. (a) triggering a query 235 to the external storage unit 1 10 (e.g. , HL 1 10a) to obtain an address 236 (e.g., VL address 236) where the M2M device 1 16 t is registered (step 310); and (b) using the address 236 (e.g., VLR address 236) to determine the network 106i connected to and servicing the 2M device 1 16} (step 312). If the M2M device .1 16 ! is capable of providing the information, then, the firmware control management device 102 performs step 314 and sends a query 237 to the M2 device 1.1.6] to obtain information 238 identifying the network 106 3 connected to and servicing the MZM device 1 165 , The MZM device 1 161 can provide this information in a variety of ways including transferring the information 238 via an in-band message as part of an extension to existing protocols, are via other transport mechanisms, such as SMS, USSD, IP datagram. GMA SUPL etc, .. If during steps 306 and 314, the firmware control management device 102 receives information 232 and 238 which is in the form of GPS coordinates of the M2M device J 1 , then the firmware control management device 102 can use a map function 242 along with the GPS coordinates to determine the network 106i which is likely to be currently connected to and servicing the M2M device 1 16*. This map function 242 can also provide a first level of filtering in that it can determine immediately if the update process should be stopped for costs or other reasons (e.g. using a variant of the GTCS currently used to control radio transmissions in the maritime market).

Referring to FIGURE 4, there is a flowchart which illustrates exemplary steps that can be performed to implement step 266 and determine whether or not to push the firmware update 202 (i.e., the latest firmware software) to the M2M device Π , . Beginning at step 402, the firmware control management device 1 2 determines if the firmware update 202 is a non-critical firmware update 202' or a critical firmware update 202". If the firmware update is a critical firmware update 202", then the firmware control management device 102 at step 404 pushes the critical firmware update 202" to the M2M device 116j. if the firmware update is a non-critical firmware update 202 \ then the firmware control management device 1 2 at step 406 determines if the cost of using the network 1 6; to push the non-eritieal firmware update 202 ! to the M2M device .1 16 j exceeds a threshold. If the cost exceeds the threshold, then the firmware control management device 102 at step 408 does not push the non-critical firmware update 202' to die M2M device 1 16|. if the cost does not exceed the threshold, then the firmware control management device 10:2 at step 410 pushes the non-critical firmware update 202' to the M2M device 1 16t .

I view of the foregoing, one skilled in the art will appreciate that the described firmware control management de vice 102 and associated method 200 provides a unique and effective way for determining whether or not to push a firmware update 202 to a M2M device 1 16s . Although the above description describes the firmware control management, device 102 as determining whether or not to push a firmware update 202 to a single M 2 M device 1 I 6i it should be understood that the firmware control management device 102 can determine whether or not to push the same or different firmware updates 202 to large numbers of 2M devices 1 12 t , I J 2 2 ... 1 12 n , H6 { , Η6 2 ... Π6 ϊί5 Ϊ IS 118 2 ... 18«, and 120 5 , 120i... I20 ri . it should also be appreciated that the firmware controi management device 102 can be implemented in any type of communications network 100 (e.g., 2G, 3G, LTE) and in fact the firmware control management device 102 may determine whether or not to push a firmware update to any type of mobile devic (e.g., UE, smart phone) as opposed to or in addition to 2M devices 1 12*, 1 .12 2 . . . ί 12 π , 1 16 b 116 2 ... t l.6« s i l S f > 1 18 2 ...118 a> and 120 i s ! 20 ...120 a . Furthermore, it should be appreciated that the firmware control management device 102 and method 200 are a marked-impro vement over the prior art since the prior art does not take into account airtime costs associated with the connectivity type coupled with the location of the M2 device. This means that in the prior art alt firmware updates are pushed out to M2M devices regardless of critical! ty which can cause increased aiiti me/roaming costs. The firmware control management device 102 and method 200 address this particular problem and other problems associated with the prior art.

As discussed above, the firmware control management device 102 can be a standalone device or added to existing nodes such as Ericsson's Remote Device Manager 104 (as shown in FIG. I ) or Ericsson's GTCS node. Referring to FIGURE 5, there is a basic diagram illustrating Ericsson's Remote Device Manager 1.04 enhanced to incorporate the firmware control management device 102. Basically.. Ericsson's Remote Device Manager 104 includes the following components: a service management unit 502, a remote device manager GUI 504, a device management unit 506, a subscription management unit 508, a device software management unit 510 (enhanced to include the firmware control management device 102), a device diagnostics management unit 512, a device model management unit 514, a device service configuration management unit 516, a resource layer 518, a TR-069 connector 520, an OMA-DM connector 522, and a SNMP connector 524. In any case, the firmware control management device 102 has many desirable features-functionalities as discussed above and some additional features-functionalities as discussed below:

I , The firmware control management device 102 optimizes firmware updates 202 according to a configurable set of rules which indicate what network conditions need to be met before updating M2M device's firmware. 2, The firmware control management device 102 has a protocol and related control logic for mterworking with a data downioader and a data client for controlling firmware downloads to remote M2M devices 1 12 { , i l2 2 .. . i2 1 J |, 1 16 2 .. J . 16 n , l. lSi, 1 1¼... 1 18* and 120 h 120 2> ..120 0 . 3. The firmware control management device 102 has a sub-function that determines the location of the M2M device Π 2χ, 1 12 2 ... i 12,,, 1 16*, H6 2 ..J 16», 1 18 ls 1 IS 2 ...1 I and 1.20 , 120 2 ...120,, (geographically or the network number).

4. The firmware control management device 102 can have logic to analyze the chain of firmware upgrade dependencies to determine the priority (critical hy) for the whole chain of firmware upgrades.

5. The firmware control management device 102 can have logic to instinct one or .more of the M2M devices 1 1.2 U Π2,.. , 1 12,,, 116j, U6 2 ...1 16 ¾ , 1 !8 } , ! 18 2 ... l !8 n , and 120}, 120 2 ... 120 a to perform only minimal functions until the next firmware update (e.g. to prevent network disturbances). 6, Hie firmware control management device 102 can have logic to send a set Of rules to the M2M devices 1 12 U2 2 ..J 12 U , 1 16 l ife... 1 16 118 { , 1 18 2 ... ϊ Ϊ 8», and 120 { , 120j... l20 n that will tell them under what conditions they should contact the firmware control management device 102. These rules include the access type, location and device state.

7, The .firmware control management device 1 2 may determine that the current 2M device's firmware is "disruptive" but the costs of updating the firmware are prohibitive, in this situation, the firmware control management device .102 can order the "disruptive' * M2M device to operate in a safe mode and perform a minimum of network functions (such as only contacting the network after a location update) until the update can be performed,

8, The firmware control management device 102 in the event of epidemic failures has the capability to scan through the register of all M2M devices 1 12^

U 2 2 ... 1 12 a , 1 16i, Π 6„>, . , 1 16 η , U 8 U 1 18 2 ... 18 tl; and 12% 120 2 . , . l.20 n to find the ones with disruptive firmware loads, identify their locations and then, based on rules, either update the firmware or order the M2M devices into a minimal communication, mode. '>. The firmware control management device 102 can also facilitate the lawful intercept of M2M data from the M2M devices H2j, 1 12 2 , .. ! 12». Ϊ 16ι, 1. 16 2 ...1 1.6,,, 1 18j , 1 18 2 ... 1 .18„, and 1 20; , 120 2 ...120,,. This can be particularly useful for containers (which contain M2M devices) that leave international waters and enter sovereign/territorial waters. Today, there is a lot of security concerns around containers for several reasons like terrorism, illegal immigration, smuggling etc, , , , Today, the ships (which cany containers) need to register but the containers themselves do not need to be registered. Thus, the firmware control management device 102 can use the "wake-up and send a notification" feature to have the M2M device send its M2M information to the network when one or more conditions have been satisfied such as. for instance, enterin« sovereign/territorial waters. Once the M2M devices contact the network then the container data (part of the M2M data) can be intercepted and at least some basic information can be pulled-out by authorized law enforcement agencies. Of course, the container application is just one of a wide-range of applications that the firmware control management device 102 can be used to effectively enable monitoring by law enforcement agencies.

Although multiple embodiments of the present invention, have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it should be understood that the invention is not limited to the disclosed embodiments, but instead is also capable of numerous rearrangements, modifications and substitutions without departing from the present i vention that as has been set fort and defined within the following claims.