OpenDMTP 1.1.8 reviewDownload
OpenDMTP is a protocol and framework that allows bi-directional data communications between servers and devices (clients) over the In
OpenDMTP is a protocol and framework that allows bi-directional data communications between servers and devices (clients) over the Internet and similar networks.
OpenDMTP is particularly geared towards Location-based information (LBS) such as GPS, as well as temperature and other data collected in remote-monitoring devices. OpenDMTP is small, and is especially suited for micro-devices such as PDA's, mobile phones, and custom OEM devices.
We saw a need for a communications protocol that allowed high-latency, low-bandwidth (HL/LB) devices to transmit location data to monitoring-systems. Because these devices often have limited network connectivity, the protocol needed to be small and efficient.
Example devices include mobile phones, PDA's, OEM micro-devices (alarm systems, temperature monitors, etc.), and more.
There are many mobile GPS tracking devices on the market today with their own closed proprietary protocols. Searching the web for open protocols revealed only a few available for transferring data (including GPS information) between devices.
However these solutions are generally designed for non-mobile applications and lack some of the low-bandwidth, configurable, and extensible features that mobile applications require.
Here are some key features of "OpenDMTP":
Small Footprint: Mobile devices typically have limited resources on which to run client code (ie. memory, processor speed). An open protocol designed with this in mind should be optimized to allow efficient implementation and should support devices such as PDA's, mobile phones, GPS monitoring devices, and other OEM micro-devices.
Network Efficient: Because mobile devices typically have limited network connectivity, the protocol needs to be efficient in it's dialog between the client and server. The communication needs to be optimized such that the necessary information can be conveyed with a minimum number of bytes in the least amount of time.
Bi-directional: Some devices can support two-way communication (ie. GPRS, or other socket based connections), while others may only support one-way communication (ie. some satellite communication systems). With this in mind, a protocol should be designed to support both duplex (two-way) and simplex (one-way) communication.
Transport Media: Differrent mobile applications will have their own unique way of communicating data back to the server. Some may use GPRS, or socket based communication, others may use satellite communication, while still others may use other forms of wireless communication, such as BlueTooth. The design of the protocol should be able to encompass all such transport media types, regardless of the type of transport in use.
Flexible Data Encoding: Most types of transport media allow for the transmission of binary encoded data. However, there may be some forms of media for which an ASCII encoded data packet is much better suited. A protocol designed with this in mind should be able to support both types of data encoding.
Configurable Messages: Due to the broad range of data types used in mobile applications, the protocol should be flexible enough to define standard messages, yet still allow custom messages within the framework.
Extensible: Not every mobile application is the same. Some require special handling and may have various types of inputs and outputs. A protocol designed for mobile applications should insure that the framework can be easily extended to incapsulate the specific needs of the device.
Industry Compatibility: Having an open protocol insures better compatibility between different client devices and service providers.
Reference Implementation: Having a reference implementation that showcases the major features of the protocol provides an easy starting point on which developers can add their own features and platform specific implementation without having to worry about how data gets from the client to the server.
What's New in This Release:
CHG: Updated the protocol version property (in 'propman.c') to correctly reflect the change/correction to the protocol specification.
NEW: Q&A/FAQ added to README.txt
OpenDMTP 1.1.8 keywords