Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ... Military Communications and Information Technology: A Trusted ...

22.01.2015 Views

84 Military Communications and Information Technology... II. Routing service capabilities The main goal of the routing service is computing “optimal” routes (optimal – according to specified criteria), taking into account both static (the map) and dynamic (traffic intensity, weather conditions, threats, etc.) data. The fact that our routing service is a key component of Insigma dictates a requirement for the service to implement a number of additional functions, which include: • Planning dedicated routes for privileged vehicles (police, fire brigade, ambulances, other special-purpose vehicles); • Taking into account traffic prediction for longer routes (as traffic conditions may change during the drive); also, route prediction (computing routes with drive starting at some time in the future); • A number of public security related options: planning of “safe” routes (bypassing dangerous places), additional route computation modes (as manyto-one, which allows e.g. to compute the optimal route from the nearest hospital to the place of accident). This requires a dynamic map containing data about threats (of various types). • Support for traffic load-balancing: calculation of alternative routes. Such a function is currently available e.g. in Google Maps. However, in Insigma, the routing service will be closely coordinated with traffic monitoring and control, and alternative routes will allow to evenly distribute traffic. III. Architecture Insigma’s traffic subsystem architecture is shown in Fig. 1. Its main components include the client (described in section X), the route server (discussed throughout the paper) and the traffic warehouse, containing historical traffic data and supporting traffic prediction. Figure 1. Insigma’s traffic subsystem architecture During the early phase of the project, a number of specific, unrelated APIs have been defined. The APIs have been based on different programming models and

Chapter 1: Concepts and Solutions for Communications and Information Systems 85 employed incompatible data types; their integration would be extremely complex. Thus, for our routing service, we have decided to divide the server into a number of separate elements, each offering a compact API and performing a well-defined task. As a result, the server is composed of the following components (refer to Fig. 2): • Input/output, a component responsible for handling messages for clients, providing security (if necessary) and dealing with quality-of-service issues (also – if necessary); • Database, containing the static map and dynamic data (section IV); • Graph builder, responsible for transforming map data into a graph (section V); • Adapter(s), computing graph weights (section VI); • Algorithm(s), performing route optimizations (section VII); • Finally, dispatcher, managing the above-mentioned elements (section VIII). Figure 2. The route server’s internal architucture The server is implemented in the Microsoft .NET framework environment. The software architecture is organized around a number of interfaces (with each component having its dedicated interface(s)) and components (classes contained in .NET assemblies) that implement these interfaces and may be easily replaced for research or testing purposes. For example, adapters and algorithms (see sections VI and VII) are dynamically loaded according to the server’s configuration. In the following sections, we describe each of the server’s components in detail. IV. The Database: Static Map and Dynamic Data We have selected the OpenStreetMap [8] project as our source of static maps. OSM provides free geographic data for the whole world. The data may be encoded in XML or stored in a PostGIS [14] database (with conversion performed

Chapter 1: Concepts <strong>and</strong> Solutions for <strong>Communications</strong> <strong>and</strong> <strong>Information</strong> Systems<br />

85<br />

employed incompatible data types; their integration would be extremely complex.<br />

Thus, for our routing service, we have decided to divide the server into a number<br />

of separate elements, each offering a compact API <strong>and</strong> performing a well-defined<br />

task. As a result, the server is composed of the following components (refer to Fig. 2):<br />

• Input/output, a component responsible for h<strong>and</strong>ling messages for clients,<br />

providing security (if necessary) <strong>and</strong> dealing with quality-of-service issues<br />

(also – if necessary);<br />

• Database, containing the static map <strong>and</strong> dynamic data (section IV);<br />

• Graph builder, responsible for transforming map data into a graph (section V);<br />

• Adapter(s), computing graph weights (section VI);<br />

• Algorithm(s), performing route optimizations (section VII);<br />

• Finally, dispatcher, managing the above-mentioned elements (section VIII).<br />

Figure 2. The route server’s internal architucture<br />

The server is implemented in the Microsoft .NET framework environment.<br />

The software architecture is organized around a number of interfaces (with each<br />

component having its dedicated interface(s)) <strong>and</strong> components (classes contained<br />

in .NET assemblies) that implement these interfaces <strong>and</strong> may be easily replaced<br />

for research or testing purposes. For example, adapters <strong>and</strong> algorithms (see sections<br />

VI <strong>and</strong> VII) are dynamically loaded according to the server’s configuration.<br />

In the following sections, we describe each of the server’s components in detail.<br />

IV. The Database: Static Map <strong>and</strong> Dynamic Data<br />

We have selected the OpenStreetMap [8] project as our source of static maps.<br />

OSM provides free geographic data for the whole world. The data may be encoded<br />

in XML or stored in a PostGIS [14] database (with conversion performed

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!