Skip to content

Access architecture#

Access scheme#

The Access scheme is shown below (Figure 1) and (Table 3).

Scheme Access

Table 3. Scheme description.

Component Description
Users The system administrator configures and maintains Access.
Access A set of management software tools that allow for the collaboration of VisionLabs products and various access control and management systems (ACS).
Access UI Access graphical user interface.
Access BackEnd BackEnd Access, responsible for working with external components, interaction with the UI.
Access backend server A set of libraries that combines Access and UI modules.
Rabbit MQ Message queue broker.
Redis A system for storing data in the form of structures to ensure the performance of Access.
PersonStorage Local storage storing the connection between ACS personalities and their biometric data. Used for data synchronization between access control systems and biometric systems (LP, KBS) or external services.
JSON-storage settings.json file to store integration settings and user data.
Worker A set of modules for interacting with external components.
Pipeline module Access module, which provides the basic logic and interaction of modules.
Devices Module Access module that contains libraries for connecting external devices to Access
Services Module Access module that contains libraries for connecting external services to Access
Controllers Module Access module that contains libraries for working with external controllers
External devices Connectable cameras, terminals, and thermal imaging cameras that transmit a video stream for further processing. For a complete list of available devices, see the User Manual
External services PACS or VisionLabs products that can be used in integration. For a complete list of available PACS or VisionLabs products, see the User Manual
External controllers External controllers (for example, converters for ACS controllers) used in integrations.

Sequence diagrams#

Interaction of internal components of Access#

Interaction of Access components on the example of typical integration of video signal source + LP5 + Sigur (Figure 2) and (Table 4).

Process scheme

Table 4. Sequence diagram description

Step Description
(1) A person approached the turnstile intending to pass, and the terminal captured the person's face.
(2) The terminal transmitted the person's photo to the Devices module.
(3) The Devices module sends the face data to the Pipeline module for further processing.
(4) The Pipeline module processes the photo according to its internal settings.
(5) The Pipeline module transmits the passage data to the Service module for further processing.
(6) The Service module sends a request to the external service (LP5) for face identification.
(7) The external service (LP5) performs the identification.
(8) The external service (LP5) returns a response with the results of the face recognition and identification.
(9) The Services module transmits the recognition data to the Pipeline module.
(10) The Pipeline module returns the recognition result to the Devices module.
(11) The Devices module sends the person's name data to the terminal for displaying the name and a message about successful identification on the terminal screen.
(12) The Pipeline module transmits the recognition data to the Services module.
(13) The Services module transmits the recognition data to the external service (Sigur).
(14) The external service (Sigur) processes the recognition result according to its internal instructions. In the case of successful recognition, it sends a signal to open the turnstile.
(15) The external service (Sigur) returns the processing result to the Services module.
(16) The Services module transmits the processing data to the Pipeline module.
(17) The Pipeline module transmits the data to the Access backend server using RabbitMQ.
(18) The Access backend server sends data to the Access UI for displaying the passage result in the Logging section.

Creating a component#

Creating a component in Access UI (Figure 3) and (Table 5).

Process scheme

Table 5. Sequence diagram description

Step Description
(1) The user fills in the data of a new object (device, service, pipeline, or controller) in the Access UI.
(2) Access UI sends a request to the Access backend server to create a component.
(3) Access backend server creates the component and generates a task to check the status of the connected component.
(4) Access backend server sends a task to Rabbit MQ to enqueue the task.
(5) Rabbit MQ returns the response that the task has been queued.
(6) Rabbit MQ sends a request to check the status of the component to the appropriate module (Devices/Services/Controllers) specified in the component's settings.
(7) The Devices/Services/Controllers module redirects the status check request to an external device/service/controller.
(8) External device/service/controller returns an activity status response.
(9) The Devices/Services/Controllers module returns a response about the state of the external device/service/controller.
(10) Alt pipeline creation. Rabbit MQ sends a request to the Pipeline Module to check the status of the components specified in the pipeline settings.
(11) Alt pipeline creation. The Pipeline module redirects the status check request to the Devices/Services/Controllers modules specified in the pipeline settings.
(12) Alt pipeline creation. The Devices/Services/Controllers modules return a response about the availability of components.
(13) Alt pipeline creation. The Pipeline module returns a status response.
(14) Rabbit MQ returns the result of the task to the Access backend server.
(15) Access backend server sends data to the JSON-storage to save information about the pass.
(17) Access backend server sends data to the Access UI to display the result of creating the component.
(18) Access UI displays the created components with an active status for the user.

Automatic monitoring#

Automatic monitoring of the state of components (Figure 4) and (Table 6).

Process scheme

Table 6. Sequence diagram description

Step Description
(1) The entry point for this process is the creation of any component.
(2) The Access backend server transmits the data of the created component to Redis.
(3) Redis sends the data of the created component to a Worker, which every minute sends a request to the connected Modules to check the status of external devices.
(4) The Modules forward the connection check request to the external components.
(5) The external components return a response regarding the connection status; if no response is received, the module considers the connected device to be offline.
(6) The Module records the component status data in Redis.
(7) The Access backend server retrieves the component status data from Redis.
(8) The Access UI requests the component's activity status from the Access backend server.
(9) The Access UI updates the component activity status indicator.