Technical Concepts > About Content Updates

About Content Updates

PTV Content Update Service

The PTV Content Update Service (CUS) enables additional data content to be automatically downloaded and provided. A separate PTV Layer Delivery Server (LDS) provides current data such as toll updates and Traffic Incidents Feature Layer, which is automatically downloaded via the CUS and can be used from a PTV xServer.

Benefits

Prerequisites

The PTV Content Update Service is implemented as a plug-in for the PTV xServer. In versions 1.16.1.0 to 1.18.1.X it comes automatically as standard with the PTV xRoute server, but is deactivated by default. From version 1.20.0 the PTV Content Update Service is deployed as a separate artifact.

From version 1.26.0 on we recommend to use the new PTV Content Update Service 2. For this you need the corresponding PTV Content Update Service Adapter for xServer 1. Please regard the additional documentation in the adapter artifact.

The following PTV xServer are supported with the following data content.


PTV xServer Toll updates PTV_TrafficIncidents Feature Layer
PTV xMap - From version 1.20.0.0
PTV xRoute From version 1.16.1.0 From version 1.20.0.0

Technical Concept

Architecture

The PTV Content Update Service 1 is installed as a web app on the PTV xServer. The update service communicates with one or several PTV Layer Delivery Servers (LDS) to receive new relevant data. If new data is available, this will be downloaded in the background. After successful download, the behaviour of the toll updates and Feature Layer is different and is described in the corresponding chapter.

Specific data from the LDS can be extracted via a filter selected in the CUS, in order to only download data that is relevant to the corresponding PTV xServer or set map version. Filter selection is found in the respective chapters: Toll Updates and Feature Layer.

Update Mechanism

Two mechanisms are available for downloading data: a Polling Mechanism (available from PTV xServer Version 1.16.1) and a Subscription Mechanism (available from PTV xServer Version 1.18.1). With the Polling Mechanism the CUS contacts the LDS at configurable intervals and asks if new data is available. With the Subscription Mechanism on the other hand, the CUS is automatically notified when new data is available. If the CUS is configured for Subscription Mode, this mechanism will be used automatically. For this purpose, a broker URL must be specified in the configuration file. You will find the configuration options for both approaches in the "Basic Configuration" chapter.

In addition, the CUS regularly checks which files are still in use and regularly deletes data that is no longer used after an update.

Set Up

The current version of the PTV Content Update Service 1 can be downloaded in the Customer Area. A customer login is required.

Customer Area

After downloading the CUS, the zip file must be unpacked and both "conf" and "webapps" folders copied to the PTV xMap or PTV xRoute server root directory. A content-update.properties file will now be in the "conf" folder, in which you can configure the CUS, as described in the "Basic Configuration" chapter.

The PTV Content Update Service must have access to the directory in which the map is stored, as data such as toll updates is stored in the map directory at installation.

Via the PTV xServer Management Console, you can check whether the Update Service is running and is correctly configured. In the "Plugins" field a new entry, "Content Update Service", now appears. Here the status of respective data content can be queried, as well as viewing log files and documentation.

Here you can see where the PTV Content Update Service is located within the PTV xServer Management Console:

The following image shows you the PTV Content Update Service administration via the PTV xServer Management Console:

Basic Configuration

There are two configuration files available for configuring the PTV Content Update Service 1:

The parameters of the general CUS configuration, which can be applied in the content-update.properties files, will be explained below.

Global Settings

The first section of the file contains general settings. The Update Service can be activated or deactivated as a whole, and updates for dynamic Feature Layers and toll can be switched on or off separately.

The appname and user parameters serve statistical purposes. They are sent to the LDS with every request.

All PTV xServer, whose modules should be notified at update, must be configured as notifyServers.<server name>.rootUrl at this point. The server names can be freely selected but must be unique.

Currently the PTV Content Update Service is only available for PTV xMap and PTV xRoute.

All other applications (like monitoring applications) that should be notified at update, must be configured as notifyClients.<client name>.url. The client names can be freely selected but must be unique. (Versions 1.20.0.4 and higher)

Folders can be adapted to store the update files and status information. The other general settings do not usually need to be changed.

Proxy Configuration

Provided that access to the LDS server(s) is via a HTTP proxy, you can set the corresponding parameters in the proxy section. Basic authentication and NTLM authentication (Windows) is currently supported as proxy authentication.

PTV Layer Delivery Server Connection Data

Connection data must be defined for at least one PTV Layer Delivery Server (LDS) using the configuration parameter lds.lds1.serverUrl. This configuration is referenced in the filter definitions for Feature Layer and/or toll updates using the name (which is lds1 in the example configuration).

User and password for authentication on the LDS are specified in the code and preset with a value, i.e. as a rule the lds.<ldsname>.basicauth.user and lds.<ldsname>.basicauth.encryptedPassword do not need to be set. If necessary, the lds.<ldsname>.basicauth.encryptedPassword can be generated with com.ptvag.xserver.plugins.contentupdate.EncryptHelper, which takes the password as sole entry parameter.

If the PTV ContentUpdateService should use the Subscription Mechanism to receive updates, the address of a JMS broker has to be specified with the optional brokerUrl parameter. To do so, it instantiates a JMS MessageListener for every filter, which is notified of changes directly. All protocols that are supported by the deployed ActiveMQ client, and for which a connector to the broker is configured, can be used in principle. If an HTTP proxy has been configured and HTTP is used as protocol for the broker URL, it is also applied for this purpose.

It is recommended to use the Subscription Mechanism only for layers with a low update frequency, such as toll updates. Otherwise the ContentUpdateService generates too much overhead providing the updated data to the xServers.

Using PTV Content Update Service for Toll Updates

The PTV xRoute server can obtain toll updates via the CUS. The updated toll data is downloaded and installed in the background. The toll updates installation can be triggered either via the REST method restartAndInstallTollUpdate or configured as an automatic process at regular intervals.

After a toll update, the module must be restarted. It could be that the toll update cannot be installed because a process is accessing the map. In this case the installation will be aborted, rolled back and repeated when appropriate.

Toll updates are always complete, i.e. you only need to import the newest update in order to be up-to-date. In addition it must be ensured that the CUS has access to the map folder.

The following parameters are required to automatically download toll updates:

Other parameters are optional:

Trigger installation

As the installation of the toll updates require a restart of the PTV xRoute Server, the triggering has to be done manually. Therefore you can use the possibilities provided in the PTV xServer Management Console.

On the CUS status page (e.g. http://localhost:50030/zContentUpdateService/pages/contentUpdateStatus.html) is information available about new toll updates ready for installation, the current status, a history and a lot of more. With the buttons on the page you can trigger the polling for toll updates or the installation of toll updates manually.

Alternatively you can directly use the provided REST API (e.g. http://localhost:50030/zContentUpdateService/pages/docu.html). The most important functions are:

Using PTV Content Update Service for Feature Layer Updates

Dynamic Feature Layer data such as the Feature Layer theme PTV_TrafficIncidents (available from PTV xServer 1.20.0) can also be delivered via the PTV Content Update Service. Updates are automatically imported while PTV xServer is running and are then immediately active.

When making notifications of Feature Layer updates, the CUS does not currently check if the PTV xServer to be notified is accessible. This must be done separately. After the PTV xServer has been restarted, the latest data will not be used until the next update.

Static Feature Layers, such as Truck Restriction Zones and Truck Attributes, are not currently offered via the CUS. They are available for download in the Customer Area and have to be copied manually into the map.

Traffic Incidents data is not incremental, i.e. updates do not only include new or changed data, but also the complete data record.

In order to receive Feature Layer data via the CUS, the following settings in content-update.properties are required:

All layer metadata can be applied optionally for defining the query filter. All FeatureLayer filters have an implicit restriction on <layerType>PTV_FeatureLayer</layerType>. The LDS configuration name and the mapCategory must be set. If the pollingInterval is not explicitly set, the value is calculated via the suggestedNextUpdate value from the LDS layer metadata.

The filter parameters mapName, mapVersion and profiles are deprecated and will be ignored.