Domain Management System (HOW-TO)

Please have a look at the main web-site of the Domain Management System (DMS) as well


DMS is a tool for managing processes of a distributed control system should within one control system domain. In general, a control system domain will be part of a DIM domain. Two programs are required for DMS. A DMSServer publishes information, which process is to be started on which node. A DMSClient subscribes to the information published by the DMSServer and starts/stops processes on the local node. A third program, DMSViewer, can be started on any node within the control system domain and serves to view the status of processes on all nodes in the domain.


Each control system domain has exactly one DMSServer. Since processes on remote nodes can be started and stopped, the DMSServer should only be accessible to an administrator (a responsible person) of the control system domain. The DMSServer should only run on the same node. If the DMSServer is mirgrated to another node, all DMSClients have to be restarted.

A DMSClient must run on each node of a control system domain. In order to enhance security, the DMSClient will accept data only from the DMSServer running on a dedicated node (therefore, the DMSServer can not migrate to another node without restarting the DMSClients).



It is the DMSServer, that defines the control system domain. The following should be considered.
  • The DMSServer should be started on exactly one node in the control system domain.
  • The access to the node should be protected, as an example, by a password protected screen saver.
  • When starting, you MUST to specifiy the name of the control system domain.
  • The name could also be specified using a command line parameter together with the name of a setting file, that has been previously created by the command server.
    • On Windows: "DMSServer.exe -- DOMAINNAME SETTINGFILENAME"
  • The names of the applications should be specified without PATH
    • good: "NodeMon.exe"
    • bad: "F:\user\myApps\controlSystemStuff\DMS\NodeMon.exe"
  • Command line parameters have to be specified in the following way:
    • non CS system: just type the arguments the same way as you would do from the command line
    • CS system: use the format "SYSTEMID ODBCSOURCE SQLSERVERNODE DIM_DNS_NODE", where
      1. SYSTEMID: is the domain wide unique name of the CS system.
      2. ODBCSOURCE: is the name of the ODBC data source.
      3. SQLSERVERNODE: name of node running the CSSqlServer in the format "XYZ123.INSTUTION.COUNTRY".
      4. DIM_DNS_NODE: is an optional argument for node of DIM name server. If this argument is not given, the CS system will take the value from the environment variable DIM_DNS_NODE.
  • NEW (August 2008): The DMS server publishes a DIM service DOMAINANAME_info. The administrator can use this service to publish text information to the domain. For CS systems the following messages have a well defined meaning (requires CS with version 3.12.4 or higher).
    • "SHUTDOWN SYSTEMNAME": shuts down the CS system with the specified name.
    • "SHUTDOWN ALL": shuts down all CS systems.


The DMSClient subscribes to the DMSServer and manages the application of the local node.
  • One DMSClient should be started on each node of the control system domain.
  • The DMSClient should run as the same user as other applications of the distributed control system.
  • When starting, you have to specify the name of the control system domain and the node where the DMSServer is running.
  • This can also be specified using command line parameters
    • On Windows: "DMSClient.exe -- DOMAINNAME DMSSERVERNODE"
    • Note that only the first part of the name of the DMSServer node should be given, e.g. "XYZ123", not "XYZ123.INSTUTION.COUNTRY". Do no confuse the node of the DMSServer with the node of the DIM name server!
  • The DMSServer will/should only provide the names of the binary images that are to be started/stopped. This requires that paths to the location of the binary images is included in the PATH environment variable.
  • The DMSClient may be hidden completely when adding "HideRootWindow=True" to DMSClient.ini.


In principle the DMSViewer can be started everywhere by everybody, as long as it is started in the same DIM domain.
  • When starting, you have to specify the name of the control system domain.
  • The name could also be specified using a command line parameter
    • On Windows: "DMSViewer.exe -- DOMAINNAME"
    • On Linux: "DMSViewer DOMAINNAME"

-- DietrichBeck - 20 Jul 2006
Topic revision: r11 - 2008-10-29, DietrichBeck
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)