Reimagination - Reimagining, exploring and celebrating the changes in infrastructure, politics and culture that will help us live in harmony with each other and the earth now and in the future.
The "Open Device Monitoring and Tracking Protocol", otherwise known as 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.
(For the server-side GPS tracking web interface see the Open GPS Tracking System Project [OpenGTS], which includes support for the OpenDMTP server.)
History and Purpose:
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/or lack some of the low-bandwidth, configurable, and extensible features that mobile applications require.
Having an open protocol designed specifically for mobile devices has many advantages:
Targeted Event Generation: Many devices on the market are designed simply to transmit copious amount of GPS data to a back-end server hoping that the server can make sense of the data that it is receiving. The problem with this approch is that it tends to result in higher data transmission costs for information which will never be used. A protocol used for mobile applications need to be able to provide the flexibility to generate only the events that are pertinent to the specific application.
Network Efficient: Mobile devices typically have limited network connectivity, and in some cases data communication can be quite expensive (e.g. satellite). Because of this 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.
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.
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.
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.
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 easily support devices such as PDA's, mobile phones, GPS monitoring devices, and other OEM micro-devices.
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. The supported reference implementation platforms include Embedded Linux, Windows CE/Mobile, and Java.
OpenDMTP was specifically designed to suit all these needs, especially "Targeted Event Generation" and "Network Efficiency". The typical 'data plan' for GPRS communication, for instance, is usually 1Mb to 2Mb per month. OpenDMTP was designed to optimize packet encoding to allow the collection of GPS information packets once every 3 minutes, 24 hours a day, 30 days a month, and still stay under a 1Mb data plan limit.
MapCruzin.com is an independent firm
specializing in the publication of
educational and research resources.
We created the first U.S. based
interactive toxic chemical facility
maps on the internet in 1996 and we
have been online ever since. Learn more about us and view some of our projects and services.
Didn't find what you are looking for? We've been online since 1996 and have created 1000's of pages. Search below and you may find just what you are looking for.