Server components
Management server
The management server is the central component of the VMS. It handles the system configuration, distributes configuration to other system components, such as recording servers, and facilitates user authentication.
The configuration data is stored in a standard Microsoft SQL server, which is installed either on the management server itself or on a separate dedicated server.
System component and client repository
In addition to the management server’s VMS function, the management server also hosts two download pages where installers for all other system components and clients can be found. This makes it easy and convenient for administrators and integrators to download and install system components and client applications on additional servers and workstations, without the need to copy the component installers to USB thumb drives and hand carry them to the other computers.
Client download page (does not require user authentication):
http://[enter-management-server-address]/installation/
Server component download page (may require user authentication):
http://[enter-management-server-address]/installation/admin
In upgrade scenarios, the management server will also host the newly updated component versions once it has been updated. It can thus again be used as a distribution point for the other server and client components that should be upgraded.
Failover management server
Failover support on the management server can be achieved in a few different ways.
The add-on product Milestone XProtect Management Server Failover can be purchased and configured to provide failover support. Alternatively, Microsoft Windows Server Failover Clustering (WSFC) can be used to provide failover capabilities natively by the Windows Servers. Finally, virtualization software like VMware or Microsoft HyperV can be used to provide the failover functionality.
In all cases, the solutions ensure that if the active server fails, another standby server can take over the management server function for continued operation.
More information about XProtect Management Server Failover: XProtect Management Server Failover
More information about Microsoft’s Failover Clustering: Failover Clustering in Windows Server
Recording server
The recording server is responsible for the core VMS functionality of communicating with cameras and surveillance devices, for recording, storing, and securing the recorded media as well as providing VMS clients access to the live and recorded media.
The recording server handles these functions:
-
Communicate with devices such as cameras, audio and video encoders, I/O (input/output) modules and metadata sources.
-
Record and store video, audio and metadata media retrieved from the devices for the set retention time
-
Encrypt and digitally sign the recorded media in the media database
-
Provide client access to live and recorded video, audio, and metadata
-
Secure and control client access to live and recorded media
-
Provide access to device status
-
Perform motion detection and generate Smart Search metadata
-
Trigger system and video events on device failures, events, etc.
Furthermore, when using Milestone Interconnect, the recording server is responsible for communicating with the remote interconnected system.
For more information about Milestone Interconnect: White paper - Milestone Interconnect
Device drivers
An essential part of the recording servers are device drivers. The drivers work as the interface between the recoding server and the devices (cameras, video and audio encoders, I/O modules, metadata sources, etc.). A dedicated device driver is needed for each device or series of devices from the same manufacturer. In addition to the dedicated device drivers, the VMS also supports an ONVIF driver that can be used for ONVIF-compliant devices.
If a dedicated driver has not been developed for a specific device or video system, and the specific device or video system is not ONVIF compliant, then, in many cases, a ‘universal’ driver can be used. Alternatively, a custom dedicated driver can be developed for the specific device or video system by using the Milestone Integration Platform Software Development Kit (MIP SDK).
The device drivers are by default installed with the recording server. However, the drivers are installed as a separate device pack and they can thus be updated later by downloading and installing a newer and updated device pack with no need to update the recording servers or any other VMS components.
New device packs are released every second month.
For more information on supported devices: Supported hardware
New device packs can be downloaded here: Download device packs
Media database
The retrieved video, audio, and metadata are stored in the dedicated Milestone-developed, high-performance media database, which is optimized for recording and storing streamed real-time video, audio, and metadata.
The media database supports various unique features such as Dual-stream recording, multistage storage architecture, video grooming, Scalable Video Quality Recording™ (SVQR), encryption and digital signatures. Dual-stream recording enables recording of two separate streams in different resolutions, codec, framerate and bitrate from the same camera source. Multistage storage architecture enables splitting the media database into a so-called live database and one or more archive databases. This allows the storage system and media database to be distributed across different storage technologies making it possible to design and optimize the VMS and storage system for both performance (live recording), size (archive retention), and cost.
For more information about the media database and storage architecture: XProtect Storage Architecture and Recommendations
Failover recording server
The failover recording server takes over the recording server tasks if a standard recording server fails.
The failover recording server can operate in two modes:
-
Cold-standby mode - provides failover support for multiple recording servers
-
Hot-standby mode - provides dedicated failover support for a single recording server
The difference between cold-standby and hot-standby failover modes is that in cold-standby failover mode the failover recording server does not know which server to take over in advance. This means that it cannot preload the configuration and start its processes until a recording server actually fails. Loading the configuration and starting the processes increases the failover startup time compared to hot-standby failover mode.
In hot-standby mode, the failover time is significantly shorter because the failover recording server already knows which recording server to take over recording for and thus it can preload the configuration and start up completely - except for the last step where it connects to the cameras. So, when a recording server is stopped or fails, the only thing the hot-standby failover recording server needs to do is to connect to the cameras and start recording, which takes very little time.
Note: Failover recording server is not supported in XProtect Professional+
Event server
The event server handles various tasks related to events, alarms, maps, XProtect® Access, XProtect® LPR, XProtect® Transact and third-party integrations via the Milestone Integration Platform Software Development Kit (MIP SDK). All data handled by the event server, such as alarms, maps and data from add-on products are stored in the same SQL server as the one that the management server uses.
Events
All system events are consolidated in the event server (if a function is subscribing to them), making them available for the other features and integrations in the event server.
Alarms
The event server hosts the alarm feature, alarm logic, and alarm state and it manages the alarm database.
Incident Manager
The event server hosts the Incident Manager feature. The Incident Manager is used to manually log, track and document incidents and to provide access to incident reporting.
Note: Incident Manager is included in XProtect Corporate and can be purchased as an add-on for XProtect Expert and XProtect Professional+.
Maps and Smart Maps
The event server hosts the Maps and Smart Map features that are configured and used by the XProtect Smart Client.
Note: Smart Map is not supported in XProtect Professional+
Milestone XProtect Access
The event server hosts the XProtect Access add-on product. XProtect Access enables integration of access control systems using a standardized access control framework. When integrated, the VMS and the access control system can be controlled from one centralized interface.
Milestone XProtect LPR
The event server hosts the XProtect LPR add-on product. XProtect LPR enables detection and registration of license plate information from vehicles and links the license plate information with video from the VMS.
Milestone XProtect Transact
The event server hosts the XProtect Transact add-on product. XProtect Transact extracts transactional data from point-of-sale (POS) systems, barcode scanning systems and other systems that generate textual data, and pairs that data with video from the time of the transaction.
MIP SDK
The Milestone Integration Platform Software Development Kit (MIP SDK) enables integrations with the XProtect VMS products. In the event server, the MIP SDK can be used to create plug-ins for the event server, enabling integrations of the VMS and third-party systems.
Failover event server
As with failover support for the management server, failover support for the event server can be achieved in a few different ways.
In the cases where the event server is installed on the same server as the management server, the Milestone XProtect Management Server Failover add-on product can be purchased and configured to provide failover support for the event server also. Alternatively, Microsoft Windows Server Failover Clustering (WSFC) can be used to provide failover capabilities natively by the Windows Servers. Finally, virtualization software like VMware or Microsoft HyperV can be used to provide the failover functionality.
In all cases, the solutions ensure that if the active server fails, another standby server can take over the event server function to ensure continued operation.
More information about XProtect Management Server Failover: XProtect Management Server Failover
More information about Microsoft’s Failover Clustering: Failover Clustering in Windows Server
Log server
The log server stores all log messages for the entire system. The log server uses the same SQL server as the management server and is typically installed on the same server as the management server. Alternatively, it can be installed on a separate server if the combined load of the management and log server is too high for a single server.
The system can log three types of logs:
-
System log:
The system administrator can choose to log errors, warnings, information, and combinations of these. The default is logging errors only
-
Audit log:
The system administrator can choose, in addition to log-in and administration logs, to log user activity in the clients
-
Rule log:
The rule log can be used by the system administrator to create logs on specific events
Mobile server
The mobile server hosts the XProtect Web Client and provides gateway functionality to the VMS for the XProtect Web Client and XProtect Mobile users.
The mobile server is also responsible for providing access to the video streams. This is done by either relaying the original H.264 video from the recording server to the clients, or by transcoding the video to JPEG in the cases where the browser does not support the video codec used, or the user is doing playback of recordings.
If many users play back recordings at the same time or view live video from cameras configured with other codecs than H.264, the mobile server will have to transcode a lot of video – which is a very resource demanding task. In these cases it is highly recommended to install the mobile server on a dedicated server - preferably on a server that has an Intel CPU with Intel Quick Sync Video support, or which has an NVIDIA card installed. This will ensure that the transcoding load is offloaded to the GPU.
SQL server
The management server, event server and log server use an SQL server to store configuration, alarms, incidents, events, maps, log messages, etc.
The XProtect VMS products installer includes a Microsoft SQL Server Express edition that can be used freely.
For larger systems with more than ~300 cameras, it is recommended to use Microsoft SQL Server Standard or Enterprise edition on a dedicated server. These editions can handle larger databases, have a better utilization of system resources, offer automatic backup functionality and have ‘Always On’ functionality.