|Purpose:||Launching and Managing Presence components|
|Started By:||Windows Service (typical)|
The Heartbeat Server is a central component of the Presence architecture as it automatically starts and stops the various Presence processes across multiple servers. However it is not essential, as each process can be started manually if required. The Heartbeat Server allows for centralised control over the following Presence processes:
The Heartbeat Server usually runs as a Windows service name Presence Heartbeat Service on a single physical or virtual machine, although it can also run as a foreground process by launching "hbserver.exe. In a typical installation this will be the same machine as the Database Server, although there is no reason why it cannot reside elsewhere. The Heartbeat Server maintains a list of processes that it should manage. This list is automatically updated when new processes are started within the same installation. The file "heartbeat.config" maintains this list in addition to other information such as how to monitor, start and stop the processes.
Launching Presence Processes
When the Heartbeat Server needs to launch an executable on a different machine (or on the same machine under certain circumstances) it does so via the Remote Program Call Server. A message is sent via TCP/IP to the remote server which contains name and parameters of the executable that needs to run. For this reason you should ensure that the Remote Program Call Server process (rpc.exe) is owned by a user with sufficient permissions.
Monitoring Presence Processes
The Heartbeat Server ensures that Presence processes continue to run, and provides information about those processes to the user via the Heartbeat Client. If the Heartbeat Server detects that a process has stopped running it will attempt to revive the process by launching the appropriate executable. It will give up if it fails to do this after 10 attempts.
Stopping Presence Processes
The Heartbeat Server also stops Presence Processes, either by issuing a command to the process (in the case of the Database Server and Presence Server, or by running another executable (in the case of the HTTP Server.
The Heartbeat Server is responsible for launching the Presence Server and Database Server if they reside on the same machine, and so it is important to ensure that the Heartbeat Server has the permissions required to access any files or resources that the Presence Server will need to access. It is therefore a good idea to create a Windows account that the service can run as.
Architecture > Server Components > Heartbeat Server
|Heartbeat Server | Database Server | Presence Server | HTTP Server | Remote Program Call Server|
|Administration Client | Heartbeat Client|