Configuring a machine-to-machine modem

A machine-to-machine (M2M) modem may receive a request for device information identifying one or more M2M devices that are connected with the M2M modem. The M2M modem may obtain the device information associated with the one or more M2M devices. The M2M modem may provide the device information. The M2M modem may receive configuration information, based on which to communicate with the one or more M2M devices, based on providing the device information. The M2M modem may communicate with the one or more M2M devices based on the configuration information.

BACKGROUND

A machine-to-machine communication (M2M) device (e.g., a “thing” in the Internet of Things) may perform functions based on receiving instructions. For example, the M2M device may collect and provide sensor information, may open or close a switch, or the like. Different M2M devices may be associated with different instructions, different data types, different information formats, different device libraries, or the like. In some cases, multiple M2M devices may be implemented in a particular environment (e.g., a house, a business, a building, etc.).

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

An M2M device (e.g., a smart device, such as a smart light bulb, a smart refrigerator, a sensor, a medical device, etc.) may provide information to and/or receive information from another device via a mobile network. The M2M device may use a particular messaging protocol, data format, or the like, to provide and/or receive the information. Different M2M devices may use different messaging protocols, data formats, or the like. Therefore, a device that interacts with a variety of M2M devices may require specialized configuration for each M2M device with which the device interacts.

Implementations described herein enable an M2M modem to communicate with one or more M2M devices based on respective configuration information (e.g., device libraries, messaging protocols, etc.) associated with each M2M device of the one or more M2M devices. The M2M modem may obtain the configuration information by providing device information associated with the one or more M2M devices, and/or a unique identifier associated with the M2M modem, to a modem control device via the mobile network, which conserves resources used to implement and/or configure the M2M modem. In some implementations, the M2M modem may transmit and/or receive messages that are equal to or smaller than a particular size (e.g., 256 bytes, 128 bytes, etc.) which conserves network resources. In this way, the M2M modem conserves processor resources that would otherwise be used to configure a device to communicate with each M2M device of the one or more M2M devices, by communicating with each M2M device based on M2M modem firmware that is implemented on the M2M modem (e.g., without modifying the M2M modem firmware to enable the M2M modem to communicate with each M2M device). In some cases, multiple M2M modems may communicate with multiple, different M2M devices based on the M2M modem firmware, which permits the modem control device to control the multiple, different M2M devices via the multiple M2M modems based on the M2M modem firmware. In this way, the M2M modem firmware conserves processor and storage resources of the modem control device.

FIGS. 1A-1Care diagrams of an overview of an example implementation100described herein. As shown inFIG. 1A, and by reference number105, an M2M modem may be connected with a set of M2M devices (e.g., M2M Device1, M2M Device2, and M2M Device3). Assume that each of the M2M devices uses different configuration information to communicate with the M2M modem. For example, M2M Device1may be associated with a different device library, a different format of sensor information, a different communication protocol, a different communication format, a different firmware version, or the like, than M2M Device2and/or M2M device3. In some implementations, the M2M modem may be integrated with (e.g., included in, a component of, etc.) one or more of the M2M devices. Additionally, or alternatively, the M2M modem may be implemented separately from the M2M devices, and may connect with the M2M devices wirelessly (e.g., via a wireless local area network (WLAN), such as a WiFi network or a Bluetooth network, a local cellular network, etc.).

As shown by reference number110, a modem control device may transmit a modem configuration message to the M2M modem via a base station. As further shown, the modem configuration message may request that the M2M modem identify M2M devices with which the M2M modem is connected. As shown, based on the modem configuration message, the M2M modem may obtain device information for the set of M2M devices. The device information may include, for example, network addresses associated with the M2M devices, device types of the M2M devices, device versions of the M2M devices, or the like, as described in more detail in connection withFIG. 4, below. In some implementations, the M2M modem may store the device information locally (e.g., after receiving the device information from the set of M2M devices, etc.). Additionally, or alternatively, the M2M modem may obtain the device information from the set of M2M devices (e.g., by requesting the device information based on the modem configuration message, etc.).

As shown by reference number115, the M2M modem may provide a modem response message to the modem control device. As further shown, the modem response message may identify the connected M2M devices (e.g., M2M Device1, M2M Device2, and M2M Device3). For example, the modem response message may include the device information associated with the connected M2M devices. In this way, the modem control device obtains device information for the set of M2M devices by communicating with the M2M modem, which conserves processor resources, time, and money that may otherwise be used to manually provide the device information to the modem control device.

As shown inFIG. 1B, and by reference number120, the modem control device may provide, to a server device, an M2M device configuration request that includes device information for the set of M2M devices. Assume that the server device stores configuration information (e.g., device libraries, messaging protocols, command strings, etc.) for M2M devices based on device information associated with the M2M devices. For example, the server device may store device libraries for particular M2M devices in association with device information identifying the particular M2M devices and/or a type of the particular M2M devices. As shown by reference number125, based on the device information for the set of M2M devices, the server device may provide configuration information for the set of M2M devices to the modem control device. As shown by reference number130, the modem control device may provide the configuration information to the M2M modem. In this way, the modem control device causes the M2M modem to be configured to interact with the set of M2M devices based on configuration information, which conserves processor resources, time, and money that may otherwise be needed to manually configure the M2M modem and/or the modem control device.

As shown inFIG. 1C, and by reference number135, the M2M modem may communicate with the set of M2M devices based on the configuration information. For example, the M2M modem may transmit command strings to the set of M2M devices, as shown by reference number140. As shown, a command string may cause an M2M device to activate, to deactivate, to perform an action (e.g., actuating a switch, changing a temperature, locking, unlocking, or any other action that an M2M device may perform), or the like. As shown by reference number145, the M2M devices may provide measurement information and/or operation information to the M2M modem. In some cases, the M2M modem may request the measurement information and/or the operation information. Additionally, or alternatively, the M2M devices may provide the measurement information and/or the operation information to the M2M modem automatically (e.g., periodically, on startup, on shutdown, upon obtaining the measurement information and/or the operation information, during off-peak times, at scheduled times, etc.). The measurement information and/or the operational information for an M2M device may include, for example, information obtained by a sensor of the M2M device, a current operational status of the M2M device, data produced or gathered by the M2M device, or the like.

As shown by reference number150, the modem control device may transmit a report frequency update request to the M2M modem. The report frequency update request may cause the M2M modem to change a frequency at which the M2M modem provides measurement/operation information to the modem control device. As shown, the report frequency update request identifies a report frequency of “every 5 minutes.” As shown by reference number155, based on the report frequency, the M2M modem may provide the measurement/operation information for the set of M2M devices to the modem control device every 5 minutes. In this way, the modem control devices specifies a report frequency for the set of M2M devices, which conserves network resources that may otherwise be used to transmit the measurement/operation information continuously, to request the measurement/operation information, or the like.

In this way, the modem control device configures the M2M modem via the mobile network to communicate with a set of M2M devices that are in communication with the M2M modem. By obtaining configuration information for the set of M2M devices from a server device that stores configuration information, the modem control device saves processor resources that may otherwise be used to manually configure the M2M modem to communicate with the set of M2M devices. By permitting other devices to communicate with the set of M2M devices based on the firmware installed on the M2M modem, the M2M modem conserves processor resources, time, and effort that would otherwise be used to configure the other devices to communicate with the set of M2M devices.

In some cases, the modem configuration message, the modem response message, the configuration information, the report frequency update request, and/or the measurement/operation information may be included in messages that include 256 or fewer bytes (e.g., may be included in a single message of 256 or fewer bytes, may be split into a group of messages of 256 or fewer bytes each, etc.), which conserves network resources.

FIG. 2is a diagram of an example environment200in which systems and/or methods, described herein, may be implemented. As shown inFIG. 2, environment200may include a M2M modem210, one or more M2M devices220-1through220-N (N≧1) (hereinafter referred to collectively as “M2M devices220,” and individually as “M2M device220”), a modem control device230, a server device240, and a network250. Devices of environment200may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

M2M modem210may include one or more communication and computing devices capable of communicating with M2M device220, modem control device230, and/or another device. For example, M2M modem210may include a modem, a router, a gateway, or a similar device. In some implementations, M2M modem210may be included in M2M device220, or M2M device220may be included in M2M modem210. Additionally, or alternatively, M2M modem210may communicate with one or more M2M devices220(e.g., via a wired connection, via a wireless connection, via a combination of wired and wireless connections, via a wireless local area network, such as a WiFi network, a Bluetooth network, or the like, etc.). In some implementations, M2M modem210may include a communication interface that allows M2M modem210to receive information from and/or transmit information to another device in environment200.

M2M device220may include a device capable of receiving, processing, and/or providing information. For example, M2M device220may include a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a camera, an audio recorder, a camcorder, etc.), an appliance (e.g., a refrigerator, a microwave, a stove, etc.), a medical device, a vehicle, a light bulb, and/or any other smart device. In other words, M2M device220may be any “thing” in the Internet of Things (IoT). In some implementations, M2M device220may include a communication interface that allows M2M device220to receive information from and/or transmit information to another device in environment200.

Modem control device230may include a device capable of receiving, generating, storing, processing, and/or providing information. For example, modem control device230may include a communication and computing device, such as a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), a set-top box, a server device, or a similar device. In some implementations, modem control device230may be capable of controlling an M2M device220via M2M modem210. In some implementations, modem control device230may include a communication interface that allows modem control device230to receive information from and/or transmit information to another device in environment200.

Server device240may include one or more devices capable of storing, processing, and/or routing information. For example, server device240may include a server or a similar device. In some implementations, server device240may include a communication interface that allows server device240to receive information from and/or transmit information to other devices in environment200.

FIG. 3is a diagram of example components of a device300. Device300may correspond to M2M modem210, M2M device220, modem control device230, and/or server device240. In some implementations, M2M modem210, M2M device220, modem control device230, and/or server device240may include one or more devices300and/or one or more components of device300. As shown inFIG. 3, device300may include a bus310, a processor320, a memory330, a storage component340, an input component350, an output component360, and a communication interface370.

FIG. 4is a flow chart of an example process400for configuring a machine-to-machine modem based on a modem configuration message. In some implementations, one or more process blocks ofFIG. 4may be performed by M2M modem210. In some implementations, one or more process blocks ofFIG. 4may be performed by another device or a group of devices separate from or including M2M modem210, such as M2M device220, modem control device230, and/or server device240.

As shown inFIG. 4, process400may include receiving a modem configuration message (block410). For example, M2M modem210may receive a modem configuration message. In some implementations, M2M modem210may receive the modem configuration message from modem control device230. In some implementations, the modem configuration message may include a message identifier. For example, the modem configuration message may include a message identifier (e.g., one or more bits, characters, or the like) that identifies the modem configuration message. In some implementations, the modem configuration message may include 256 bytes or fewer, which conserves network resources and processor resources of modem control device230.

In some implementations, the modem configuration message may include information identifying an update action. For example, the modem configuration message may include one or more bits, characters, or the like, that identify an update action for M2M modem210to perform. The update action may include providing a response to modem control device230identifying M2M devices220connected with M2M modem210, resetting M2M modem210, providing information identifying a board configuration associated with M2M modem210, providing information identifying software executing on M2M modem210, or the like.

In some implementations, modem control device230may transmit the modem configuration message periodically (e.g., once every five minutes, once per day, etc.). In some implementations, modem control device230may transmit the modem configuration message based on a request. For example, a user may provide a request for modem control device230to transmit a modem configuration message (e.g., based on an interaction with a client device, based on an interaction with modem control device230, etc.), and modem control device230may transmit the modem configuration message based on the request.

Additionally, or alternatively, modem control device230may transmit the modem configuration message based on receiving information from M2M modem210. For example, M2M modem210may provide a message to modem control device230based on a startup of M2M modem210, based on M2M modem210connecting with a new M2M device220, based on M2M modem210connecting to M2M control device230, based on expiration of a time period, or the like. Modem control device230may provide the modem configuration message based on receiving the message from M2M modem210.

As further shown inFIG. 4, process400may include identifying one or more connected M2M devices (block420). For example, M2M modem210may be connected with one or more M2M devices220(e.g., based on a wireless connection, a wired connection, etc.). In some implementations, M2M modem210may be included in an M2M device220. Additionally, or alternatively, M2M modem210may communicate with a set of M2M devices220(e.g., via a local wireless area network, such as a Bluetooth network, a WiFi network, a near field communication network, etc.) in a particular area. Based on receiving the modem configuration message, M2M modem210may identify one or more M2M devices220with which M2M modem210is connected. For example, in some implementations, M2M modem210may identify the one or more M2M devices220by exchanging messages with the one or more M2M devices220. In some implementations, M2M modem210may identify the one or more M2M devices220by reading information, which identifies the one or more M2M devices220, from a memory.

In some implementations, M2M modem210may obtain device information associated with M2M device220. In some implementations, the device information may identify a type of M2M device220. For example, if M2M device220is a smart refrigerator, the device information may indicate that M2M device220is a smart refrigerator, may identify a manufacturer of M2M device220, a model of M2M device220, a serial number of M2M device220, an address associated with M2M device220(e.g., a network address, an International Mobile Subscriber Identity, a Mobile Device Number, an Internet Protocol address, a network port, a uniform resource identifier, a network address identifier, a fully qualified domain name, etc.), a firmware version associated with M2M device220, or the like.

As further shown inFIG. 4, process400may include providing device information corresponding to the one or more connected M2M devices (block430). For example, M2M modem210may provide, to modem control device230, device information corresponding to one or more M2M devices220with which M2M modem210is connected. In some implementations, M2M modem210may provide the device information to modem control device230. For example, M2M modem210may receive a modem configuration message from modem control device230, and M2M modem210may provide the device information to modem control device230based on receiving the modem configuration message.

In some implementations, M2M modem210may provide the device information in a modem response message. In some implementations, the modem response message may include information relating to M2M modem210and/or M2M device220. For example, the modem response message may include the device information, information identifying M2M modem210(e.g., a network address, an International Mobile Subscriber Identity, a Mobile Device Number, an Internet Protocol address, a network port, a uniform resource identifier, a network address identifier, a fully qualified domain name, etc.), location information associated with M2M modem210and/or M2M device220(e.g., global positioning system (GPS) data, information identifying a base station to which M2M modem210is connected, information identifying a last known location of M2M modem210, a cell identifier, etc.), temperature information associated with M2M modem210and/or M2M device220(e.g., an internal temperature of a component of M2M modem210and/or M2M device220, an external temperature of an environment where M2M modem210and/or M2M device220are located, etc.), data from M2M device220(e.g., sensor data, configuration data, etc.), a quantity of M2M devices220connected with M2M modem210, or the like.

In some implementations, the modem response message may include a message identifier that is associated with the modem response message. For example, in a situation where M2M modem210receives a modem configuration message that includes a particular message identifier, M2M modem210may generate a modem response message that includes a corresponding message identifier (e.g., that matches the particular message identifier, that is generated based on the particular message identifier, that includes the particular message identifier, etc.). In some implementations, the modem response message may include 256 bytes or fewer, which conserves network resources and processor resources of modem control device230.

In some implementations, the modem response message may include information identifying M2M devices220that were connected after a previous modem configuration message. For example, assume that a particular M2M device220is connected after M2M modem210provides a first modem response message based on a first modem configuration message. Assume further that M2M modem210receives a second modem configuration message after the particular M2M device220is connected. In that case, M2M modem210may provide a modem response message including device information for the particular M2M device220, and may provide information indicating that the particular M2M device220was connected after the first modem configuration message was received by M2M modem210. In some implementations, M2M modem210may not provide device information for M2M devices220that were connected with M2M modem210before the first modem configuration message was received by M2M modem210. In this way, M2M modem210reduces a quantity of M2M devices220identified in the response to the modem configuration message, which conserves network resources.

In some implementations, M2M modem210may provide an update message to modem control device230. The update message may include, for example, information regarding newly connected M2M devices220, M2M devices220that are no longer connected, M2M devices220that have experienced a change (e.g., a change in location, a change in software, a change in configuration, a change in activity, etc.), one or more changes associated with M2M modem210(e.g., a battery status of M2M modem210, a configuration status of M2M modem210, etc.), or the like.

In some implementations, M2M modem210may provide a unique identifier in association with a modem response message and/or an update message. In some implementations, the unique identifier may include, for example, a device identifier associated with M2M modem210, a string that identifies M2M modem210(e.g., a randomly generated string, etc.), or the like. Modem control device230may receive the unique identifier, and may associate M2M modem210and/or device information included in the modem response message and/or the update message with the unique identifier. In some implementations, modem control device230may store the unique identifier in association with the device information (e.g., in a profile associated with M2M modem210).

As further shown inFIG. 4, process400may include receiving configuration information for the one or more M2M devices based on the device information (block440). For example, M2M modem210may receive configuration information for the one or more M2M devices220. M2M modem210may receive the configuration information based on the device information. For example, modem control device230, server device240, or another device may store configuration information for a particular M2M device220or a particular type of M2M device220in association with device information identifying the particular M2M device220or the particular type of M2M device220, and may obtain and/or provide the configuration information to M2M modem210based on the device information.

The configuration information may include information relating to communicating with and/or operating M2M device220. For example, the configuration information may include instructions to cause M2M device220to perform a function. As an example, assume that a particular command string (e.g., a string of one or more bits, bytes, characters, etc.) causes M2M device220to obtain sensor data and provide the sensor data to M2M modem210. In that case, the configuration information may identify the particular command string and the function of obtaining the sensor data. In some implementations, the configuration information may include a device library for a particular M2M device220, a particular type of M2M device220, a particular firmware version of M2M device220, or the like.

In some implementations, the configuration information may correspond to an application programming interface (API). The API may be associated with (e.g., executed on, implemented on, etc.) modem control device230or another device. The API may associate functions of M2M device220with configuration information. As an example, assume that a user wants to cause a smart light bulb to activate. Assume further that the smart light bulb is connected with M2M modem210, and assume that modem control device230has provided configuration information to M2M modem210identifying a command string that causes the smart light bulb to activate. The user may interact with an API (e.g., on modem control device230, on a client device that communicates with modem control device230, etc.) that includes an interface element to cause the smart light bulb to activate. Based on receiving the API interaction, modem control device230may cause M2M modem210to transmit the command string to M2M device220. The command string may cause M2M device220(e.g., the smart light bulb) to activate. In this way, M2M modem210and modem control device230facilitate operation of M2M device220based on an API, which reduces processor usage in connection with configuring and/or providing command strings associated with a variety of M2M devices220.

In some implementations, modem control device230may obtain the configuration information based on locally stored information. For example, modem control device230may store a profile associated with M2M modem210. The profile may identify one or more M2M devices220that are connected with M2M modem210. For example, M2M modem210may provide information (e.g., in a modem response message, an update message, etc.) identifying M2M devices220with which M2M modem210is connected.

Additionally, or alternatively, M2M modem210may be associated with one or more M2M devices220when manufactured, in a predefined fashion, or the like. For example, a particular M2M modem210may be integrated with a particular M2M device220when manufactured. The particular M2M modem210may be associated with a profile (e.g., an entry in a data structure, such as a database, a table, etc.), stored by modem control device230and/or server device240, that identifies the particular M2M modem210and the particular M2M device220. In some implementations, the profile may be associated with a unique identifier. For example, M2M modem210may be associated with a unique identifier, and may transmit the unique identifier to modem control device230(e.g., in a modem response message). Modem control device230may identify the profile based on the unique identifier, and may identify M2M devices220with which M2M modem210is connected based on the profile. Modem control device230may provide device information for the M2M devices220. In this way, M2M modem210conserves processor resources and network resources by transmitting the unique identifier, rather than the device information, in a modem response message.

In some implementations, M2M modem210may receive a firmware update that includes firmware for M2M modem210. For example, modem control device230may provide a firmware update to M2M modem210in one or more messages. In some implementations, each of the one or more messages may include 256 bytes or fewer, which reduces network congestion.

As further shown inFIG. 4, process400may include communicating with the one or more M2M devices based on the configuration information (block450). For example, M2M modem210may communicate with the one or more M2M devices220based on the configuration information. In some implementations, M2M modem210may receive information from the one or more M2M devices220(e.g., sensor information, information indicating an operational status of the one or more M2M devices220, etc.), and may provide the information based on the configuration information. In some implementations, M2M modem210may provide the information in a message that includes 256 bytes or fewer, which conserves network resources.

In some implementations, M2M modem210may cause M2M device220to perform an action. For example, M2M modem210may receive an instruction from modem control device230to cause M2M device220to perform an action (e.g., based on an API instruction to modem control device230as described above, based on a time interval, based on modem control device230receiving particular information from M2M modem210and/or M2M device220, etc.), and may transmit a command string based on the configuration information to cause M2M device220to perform the action. In this way, M2M modem210causes M2M device220to perform an action based on receiving an instruction from modem control device230and based on a command string associated with M2M device220, which conserves processor resources associated with modem control device230to determine and provide the command string.

FIG. 5is a flow chart of an example process500for updating a report frequency for a machine-to-machine modem. In some implementations, one or more process blocks ofFIG. 5may be performed by M2M modem210. In some implementations, one or more process blocks ofFIG. 5may be performed by another device or a group of devices separate from or including M2M modem210, such as M2M device220, modem control device230, and/or server device240.

As shown inFIG. 5, process500may include receiving a report frequency update request (block510). For example, M2M modem210may receive a report frequency update request from modem control device230. The report frequency update request may specify a report frequency (e.g., a time interval, such as every thirty seconds, every five minutes, every day, at 2 am on Saturdays, etc.) at which to provide information from one or more M2M devices220with which M2M modem210is connected. For example, the one or more M2M devices220may gather information (e.g., sensor information, measurement information, operation information, etc.), and may provide the gathered information to M2M modem210. M2M modem210may store the information, and may provide the information to modem control device230based on the report frequency identified in the report frequency update request. In some implementations, the report frequency update request may include 256 bytes or fewer, which conserves network and processor resources associated with transmitting and receiving the report frequency update request.

In some implementations, the report frequency update request may include information specifying one or more M2M devices220to associate with a particular report frequency. For example, the report frequency update request may include device information that identifies one or more M2M devices220. M2M modem210may provide information from the one or more M2M devices220based on a report frequency included in the report frequency update request. In this way, modem control device230may specify different report frequencies for different M2M devices220, which conserves network and processor resources of M2M modem210and/or modem control device230.

In some implementations, the report frequency update request may include a message identifier. For example, the report frequency update request may include one or more bits, characters, etc. that identify the report frequency update request. In some implementations, the message identifier may be unique (e.g., may not be shared with another report frequency update request).

As further shown inFIG. 5, process500may include determining whether a new report frequency identified by the report frequency update request is different than an existing report frequency (block520). For example, M2M modem210may store information identifying existing report frequencies for one or more M2M devices220with which M2M modem210is connected. In some implementations, M2M modem210may store a data structure that identifies M2M devices220and respective existing report frequencies for the M2M devices220. M2M modem210may receive a report frequency update request that identifies new report frequencies for one or more M2M devices220, and may determine whether the new report frequencies are different than the existing report frequencies for the one or more M2M devices220.

As further shown inFIG. 5, if the new report frequency is different than the existing report frequency (block520—YES), process500may include providing M2M device information based on the new report frequency (block530). For example, if a new report frequency for M2M device220is different than an existing report frequency, M2M modem210may provide M2M device information for M2M device220based on the new report frequency (e.g., periodically, based on a length of time specified by the new report frequency, etc.).

In some implementations, M2M modem210may request information from M2M device220based on the new report frequency, and may provide the information as M2M modem210receives the information. In this way, M2M modem210conserves storage space local to M2M modem210. In some implementations, M2M modem210may receive information from M2M device220(e.g., periodically, in a continuous stream, based on one or more requests from M2M modem210, etc.), may store the received information locally, and may provide the stored information to modem control device230based on the new report frequency. In this way, M2M modem210conserves network and processor resources of M2M device220by reducing a quantity of requests for information to be transmitted to and processed by M2M device220.

As further shown inFIG. 5, if the new report frequency is not different than the existing report frequency (block520—NO), process500may include providing M2M device information based on the existing report frequency (block540). For example, M2M modem210may determine that a new report frequency is equal to an existing report frequency for M2M device220. In such a case, M2M modem210may continue to provide M2M device information for M2M device220based on the existing report frequency (e.g., periodically, based on a length of time specified by the existing report frequency, etc.).

As further shown inFIG. 5, if the new report frequency is equal to zero (block520—NEW REPORT FREQUENCY=0), process500may include providing M2M device information based on the report frequency update request (block550). For example, if the new report frequency is equal to zero, M2M modem210may provide M2M device information to modem control device230based on (e.g., in response to, within a particular time period of receiving, etc.) the report frequency update request. In some implementations, M2M modem210may obtain M2M device information from one or more M2M devices220identified by the report frequency update request, and may provide the M2M device information to modem control device230. In some implementations, M2M modem210may collect M2M device information from M2M devices220with which M2M modem210is connected, and may provide the collected M2M device information to modem control device230based on the report frequency update request.

In some implementations, M2M modem210may provide the M2M device information in a single message. In some implementations, the single message may include 256 bytes or fewer, which may conserve network resources of network250. Additionally, or alternatively, M2M modem210may provide the M2M device information in a set of messages. For example, M2M modem210may split the M2M device information into a set of segments, and may provide the set of segments in a set of messages. In some implementations, each message of the set of messages may include information (e.g., a header, a footer, etc.) that identifies a relative position of the message, in relation to other messages in the set of messages. In some implementations, one or more messages of the set of messages may include 256 bytes or fewer, which conserves processor and/or network resources of M2M modem210and/or modem control device230.

In this way, an M2M modem conserves processor resources that would otherwise be used to configure a device to communicate with different M2M devices. Further, the M2M modem conserves network resources by reducing a quantity and/or size of messages transmitted to and from the M2M devices via the network.