HPS

From ir-gis.com (external)
Revision as of 10:40, 20 September 2022 by Ralph (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The IR-GIS ® HPS (Historical Pullback Server) records real-time data by servicing the same communications channels as the clients, using the same ir-xml message formats, parsing and consistent processing. There are also private channels that are used to send historical requests back to any client that does a pullback or a playback from the HPS. These communications follow the command-and-control pattern; a client sends a query or retrieval command to the HPS and the HPS responds by sending back recorded data on a private channel to the client that requested it.

Clients can also request track data/position reports spanning their track-length times when they first start-up so they receive a complete situational awareness picture e.g. we like having 6 minutes tracks on aircraft so during start-up a map client requests the last six minutes of data from the HPS and the HPS responds by sending it down the private channel for each layer. This way track persistence is maintained by the HPS and there is continuity when re-starting. It really is wonderful to see a full sets of track appear within a short period of time on start-up (no need to wait 6 minutes for the tracks to fill).

The HPS is perhaps best described by walking through the IR-GIS ® MapView Historic Tool which is used for retrieving data from the HPS.

The Historic Tool is used in conjunction with the HPS to search the Historical Archives. The combination controls are ordered as follows:

  • Source layer selection is first, and the selected value governs the Attribute Names visible in the Text Index control, followed by
  • Time Search constraint, followed by
  • Region constraint, which is followed by
  • Text Index selection and Text combination composite control.

Search Parameters

The search parameters are based on: time, region and text. When these are selected they are searched in combination using the logical AND function, which means that if time and region are selected, the search must match both time and region. Time

The time search parameter allows the user to enter a start and finish time. If the GMT checkbox is selected the time will be sent in GMT, otherwise local time will be used. If the time checkbox is not selected the search will default to the last day in local time.

Note: If you want the time to be displayed in 24hr format you must set the system localisation for time to use 24hr format specification HH and not h. Region

The region search parameter allows a geographic region to be selected. The latitude and longitude can be entered directly, or more conveniently the user can double click in the control text area and then select a region on the map with left-mouse drag, which will cause the latitude and longitude from the selected region to be automatically entered into the control text boxes. Text Index

The text Index search parameter allows selection of a Text index, and the Text input box allows words to be entered, these will participate in the search in a logical OR fashion, where a match can occur on one of more of the words.

The word is comprised of any printing text character, not including the space. The asterix (*) character has been reserved to represent a wild-character that will match any other character printing character in the search.

The special index "words" is the general text index provided prior to version 1.2.22, and other specifically provided indexes that have been tailored via the schema-editor provide more specific, and potentiall faster search matching. Search

To perform a search select the source layer, set the search parameters and click the Search button. The result progress will be displayed in the status bar at the bottom of the tool, which will display the number of features and messages received. Note that the Retrieve tab will be automatically selected when search results are received.

You may now use either * or ? as a wild-card, and instead of relying on the select attribute from the drop-down you may override the index in the text window e.g

  CALLSIGN=URH OR AFFILIATION=RED

You may also mix AND and OR to alter the default conjunction and use brackets to assure the operation ordering:

  (CALLSIGN=URH AND AFFILIATION=RED) OR (AFFILIATION=GREEN)

Retrieve

To retrieve the results select each row in the table that is required, or click Select All to select all rows in the table. Select a Project and Map for the results to be displayed on. Click on Clear Layer if required to clear previous results from the layer. Click Retrieve to get the results from the Historical server. The number of results returned will be displayed at the bottom of the tool. Text Index Setup

The Text Index drop-down box is sourced from the layer's schema file.

The layer schema editor may be used to setup the Text Index drop-down value by specifying whether an attribute is indexed into the general Words index, its own Attribute index, Both indexes or None. Once the schema file has been modified and saved it must be copied to the Historical Pullback Server configuration area to match the indexing with the client's requirements.

The schema edit writes the index data into the user data <index type="..." attribute of the type specification as follows:

index type Comment
Word indexed into "words" only index
Both indexed into "words" and the attribute index
Attribute indexed into attribute only index
None not indexed at all

It may not be immediately obvious, but the HPS can also record non-geolated i.e. text data, and that data can be retrieved via the HPS Query interface. Which is how things such as flight-plans can be found. A separate text retrieval interface is required and it proves that retrieval is faster than Teratex can perform under the same situation. In fact the HPS displaced two Teratext servers, two Oracle database servers, and two ESRI tracking servers (while the HPS was running on one box)- which we setup to record geolocated data and text data.

The HPS is highly scalable and was re-designed a two years after release so it can write to distributed file-systems i.e. it handles errors in the communication fabric - data is eventually flushed to disk after a channel error. Note the HPS is writing to disk asynchronously at high speed and has a journaling system assisting index recovery should indexes ever be corrupted. The indexes are used to perform the query resolution for plain-text Google-like searches.