Design and production of embedded electronics, software, telemetry- and remote-control applications


Distributed systems

The image below shows the structure of NovOtime, a system for detection and transfer of intermediate timing in orienteering sports. This system is a perfect example of a distributed system, a system consisting of customized embedded modules with different functionality that collect and exchange data with different equipment over a large geographical area. Data is often routed through and stored on a central server that transfer the data on to a presentation unit. In some cases, the use of a central server is not necessary as the remote modules can then communicate directly with the PC-application that acts as server. In other cases, there is no need for a PC-application at all, as the user can instead download the data on textual or graphical format, embedded into html-documents for presentation in a standard web-browser.


An example of a distributed system: NovOtime

Communication in the example shown goes partly as GPRS traffic in the mobile (cellular) network, then on wired internet lines to the server. From the server, the data goes on wired lines down to the application-PC, but depending on the availability of fixed lines all the way, parts of this connection may also go by mobile connection.

Normally, communication is sent as UDP-messages over the internet as this is a protocol that has much less overhead and which therefore allow messages to travel much faster trough to the destination. Messages sent by UDP-protocol has no guarantee for delivery of messages so this is handled by the overlying system software. In other cases where speed is of lesser importance, data may be sent by TCP-protocol, preferably with an overlying HTTP-framing that allow the data to be viewed with an ordinary browser. Since almost all firewalls on the internet, both local and central ones, are open for HTTP-traffic on port 80 (ordinary www-communication), communication by http may therefore prove to be a simpler solution, especially in new places and on networks where you have little control over network setup. The benefit of easy connection through firewalls will however be on the expense of a slower connection so this will always be a trade off between speed and ease of setup. Especially when running over slow mobile networks with big latency, these choises may have big influence on the overall results.

The AUTOflyer project show an other way of communicating. Here data goes by 2-way UHF radio-link in the license-free 433MHz ISM band. If you need to transfer small amounts of data at a moderate rate over shorter distances, typically under a few km, line of sight, this can prove to be a good solution. This type of communication will operate regardless of problems and delays in the mobile networks and has no running costs in the form of license or traffic-costs. The use of licensed radio-frequencies, as used by the Minecat project, do however allow use of higher transmitting power, less traffic collisions and considerably longer distances. The drawback is when beeing used in portabel equipment as licensing is often limited to single countries and limited geographical areas.

Wire based internet connections, partly by use of high capasity WiFI, is also a good alternative if you communicate between fixed points and have a good infrastructure. If there is a need for communication far outside the coverage of GSM and other normal mobile networks, the use of sattelite communication may also be an option. There is really no limitation on the type of communication that may be used, it all depends on where and under which conditions the system is to operate. Only operational costs, network availability and the demand for speed and fast response will limit the possibilities.

The software running on the server may either be simple solutions based on standard web-hotels with interfaces using HTML, CGI, PHP or Java. The central server software is then the standard server software delivered by the web-hotel supplier, mostly based on Apache server software running on a Linux machine. For special applications, such as with the NovOtime, it may be necessary with a special designed server software to allow mixing of different communication protocols and to allow optimal routing of the data. This server software may then run on your own dedicated server hardware or you may hire a VPS (Virtual Private Server) from one of the VPS suppliers. VPS can be thought of as something like a web-hotell with the big difference that you control the type of operating system, the the type of server software and the type of applications that you want to run. Configuration of the server is, because of this flexibility, more complicated.

Examples of graphical user interfaces made by Novatron AS

In distributed systems, there is often a user interface, whether this is for professional or private use. In some cases it can run as a dynamic interface on the server and in some cases dynamic modules may be dowloaded in the form of JavaScript or Java applets running in the users browser. The final possibility is to to download and run the application as a separate module on the users PC, tablet or smartphone. In the last case, the communication is hidden and may be optimized for the actual application. The graphical interface must on the other hand, be simple, intuitive and easy to operate by the user. However, many application may well be operated more efficient by dynamic server-side applications downloading html-formatted data directly to a standard browser. Regardless of data being presented in a browser or in a special application, we can customize the interface based on what the user need in each case.

The examples shown above may give an impression of what we can offer of Java based applications running on the server, communicating with Java applets running in a standard browser or with a free standing Java-based PC-application.

Measurements and statistical data may be presented as bar diagrams, sliding trend curves or as panels with analog and digital instruments. The AUTOflyer image on the right also show an example of a GPS tracking data from a small model airplane that is being displayed in real time on a zoomable and pannable map on a PC. Which solutions that may be used in each case will depend on the customers needs.

HKK/10.10.2012