Skip to content

Architecture

Rich edited this page Mar 13, 2025 · 1 revision

DMS3 is patterned after a client-server model, where the DMS3Server component is centrally responsible for the logic of enabling/disabling the video surveillance system, while each participating smart device client (SDC), through the use of the DMS3Client component, is responsible for starting/stopping the locally-installed motion detection application. For "less smart" device clients (LSDCs), the processing of video stream data is passed over the wire to the server for processing and eventual system response and/or user notification.

DMS3 Topology

If you appreciate isometric drawings, please check out our Isometric-Icons project, located here.

In the example above, one IP camera device, one IoT SBC device (a Raspberry Pi), and one webcam device are managed through the DMS3Server component (using the TCP protocol). The DMS3Server determines when to enable/disable the surveillance system, and notifies each participating device client running their own local instance of the DMS3Client component. Since the Raspberry Pi can be configured to run a local instance of a motion detection application, actual video stream processing, imaging, and eventual reporting is all done locally, greatly limiting network congestion.

The webcam device and the IP camera device--both less smart device clients (LSDCs), incapable of on-board stream processing--must pass raw stream data along to a device proxy running a DMS3Client component, which then applies motion detection processing on the incoming video streams.

Clone this wiki locally