Server components
Management server
The management server is the central VMS component. It stores the configuration of the surveillance system in a SQL Server database, either on SQL Server on the management server computer itself or on separate SQL Server on the network. It also handles user authentication, user permissions, the rule system and more.
To improve system performance, you can run several management servers as a Milestone Federated Architecture™. The management server runs as a service and is typically installed on a dedicated server.
Failover management server
You can get failover support on the management server by installing the management server in a Microsoft Windows cluster. The cluster ensures that another server takes over the management server function in case the first server fails.
Recording server
Recording servers are computers where you have installed the Recording Server software, and configured it to communicate with the management server. A surveillance system typically consists of several recording servers.
The recording server is responsible for all communication, recording, and event handling related to devices such as cameras, video and audio encoders, I/O modules, and metadata sources. Examples of actions the recording server handles:
- Retrieve video, audio, metadata and I/O event streams from the devices
- Record video, audio and metadata from devices
- Provide operators with access to live and recorded video, audio and metadata
- Provide operators with access to device status
- Trigger system and video events on device failures or events
- Perform motion detection and generate smart search metadata
The recording server is also responsible for communicating with other Milestone products when using the Milestone Interconnect™ technology. For more information, see Milestone Interconnect.
The recording server supports encryption of data streams to the clients and services as well as encryption of the connection with the management server.For more information, see the certificates guide about how to secure your XProtect VMS installations.
Failover recording server
The failover recording server is responsible for taking over the recording task in case a recording server fails.
The failover recording server operates in two modes:
Cold standby, for monitoring multiple recording servers
In a cold standby failover recording server setup, you group multiple failover recording servers in a failover group. The entire failover group is dedicated to take over from any of several preselected recording servers, if one of these becomes unavailable. You can also specify a secondary failover server group that takes over from the primary group if all the recording servers in the primary group are busy
Hot standby, for monitoring a single recording server
In a hot standby failover recording server setup, you dedicate a failover recording server to take over from one recording server only. With this approach, the failover recording server is continuously synchronized with the correct/current configuration of the recording server it is dedicated to and it can take over much faster than a cold standby failover recording server.
Media database
The system stores the retrieved video, audio and metadata in the customized high performance Milestone media database which is optimized for recording and storing audio and video data.
The media database supports various unique features including multistage archiving, video grooming, encryption and adding a digital signature to the recordings.
Event server
The event server handles the tasks related to events, alarms, and maps
Events:
- All system events are consolidated in the event server so there is a single place and interface for partners to make integrations that use system events
- The event server offers third-party access for sending events to the system via the Generic events or Analytics events interface
Alarms:
- The event server hosts the alarm feature, alarm logic, alarm state and handling of the alarm database. The alarm database is stored in the same SQL Server database as the management server uses
Maps:
- The event server also hosts maps. You configure and use maps in the XProtect Smart Client
Milestone Integration Platform:
- You can install third-party developed plug-ins on the event server and utilize access to system events
You can get failover support on the event server by installing the event server in a Microsoft Windows cluster. The cluster ensures that another server takes over the event server function in case the first server fails.
Log server
The log server stores all log messages for the entire system. The log server typically uses the same SQL Server as the management server but has its own SQL Server database. The log server is also typically installed on the same server as the management server. If you need to increase the performance of the management server or log server, you can install the log server on a separate server and use separate SQL Server.
The system can through the log server write three types of log messages:
- System logs: the system administrator can choose to log errors, warnings, and information, or a combination of these. The default is to log errors only
- Audit logs: the system administrator can choose to log user activity in clients in addition to login and administration logs
- Rule-triggered logs: the system administrator can use the rule log to create logs on specific events
SQL Server
The management server, the event server, and the log server use SQL Server databases on one or two SQL Server installations to store, for example, configuration, alarms, events and log messages.
The installation wizard installs Microsoft SQL Server Express 2022 unless SQL Server is already installed on the computer. When you install XProtect VMS as an upgrade, the wizard keeps the previous SQL Server installation.
For very large systems or systems with many transactions to and from the SQL Server databases, Milestone recommends that you use the Microsoft® SQL Server® Standard or Microsoft® SQL Server® Enterprise edition of SQL Server on a dedicated computer on the network and on a dedicated hard disk drive that is not used for other purposes. Installing SQL Server on its own drive improves the entire system performance.
Mobile server
XProtect Mobile server handles logins to the system from XProtect Mobile client or XProtect Web Client.
A XProtect Mobile server distributes video streams from recording servers to XProtect Mobile client or XProtect Web Client. This offers a secure setup where recording servers are never connected to the Internet. When a XProtect Mobile server receives video streams from recording servers, it also handles the complex conversion of codecs and formats allowing streaming of video on the mobile device.
API Gateway
The MIP VMS API provides a unified RESTful API, based on industry standard protocols such as OpenAPI, for accessing XProtect VMS functionality, simplifying integration projects and serving as a basis for cloud connected communication.
The XProtect VMS API Gateway supports these integration options through the Milestone Integration Platform VMS API (MIP VMS API).
The API Gateway is installed on-premise and is intended to serve as a front-end and common entry point for RESTful API and WebSocket Messaging API services on all the current VMS server components (management server, event server, recording servers, log server, etc). An API Gateway service can be installed on the same host as the management server or separately, and more than one can be installed (each on their own host).
The RESTful API is implemented in part by each specific VMS server component, and the API Gateway can simply pass-through these requests and responses, while for other requests, the API Gateway will convert requests and responses as appropriate.
Currently, the configuration API, hosted by the management server, is available as a RESTful API. The RESTful Events API, Websockets messaging API, and the RESTful Alarms API, hosted by the event server, are also available.
For more information, see the API Gateway administrator manual and the Milestone Integration Platform VMS API reference documentation.