wcc@ukr.net


 If the Russian text is not legible, set the page encoding to UTF-8 
From: English
Into: Russian
Area: Jurisprudence
SOURCE
(English)
TARGET
(Russian)
LARTECH SERVER PLATFORM
ОБЩЕЕ ОПИСАНИЕ АРХИТЕКТУРЫ
ЛРВМ.501522.004.ПД.03.2
Листов 16
LARTECH SERVER PLATFORM
ОБЩЕЕ ОПИСАНИЕ АРХИТЕКТУРЫ
ЛРВМ.501522.004.ПД.03.2
16 sheets

1. SOPHROSYNE


Sophrosyne является облачной технологической платформой ООО «Лартех Телеком».
Sophrosyne предназначена для операционного управления сетью Lar.Tech и информационного и программного обеспечения партнеров ООО «Лартех Телеком».
В состав Sophrosyne входят следующие функциональные модули:

1. SOPHROSYNE


Sophrosyne is a technological cloud platform from Lartech Telecom, Ltd. company.
Sophrosyne is used for operational control of the Lar.Tech network and software and infoware from partners of Lartech Telecom. Ltd.
Sophrosyne consists of the following functional modules:

- Authorization.
- Semtech Gateway Adapter.
- Gateway Queue (Kafka).
- LoRaWAN Service:
- Message Processing Unit.
- Network Service.
- Device Registry.
- Application Queue (Kafka).
- Metering Adapter.
- SNT Portal Adapter.
- gRPC Adapter.
- WebSocket Adapter.
- Tafel.
- Billing.
- Wafel Backend.
- Public REST API.
- UserSpace.
- Monitoring:
- Zabbix Service.
- Grafana.
- Data Storage.
- Authorization.
- Semtech Gateway Adapter.
- Gateway Queue (Kafka).
- LoRaWAN Service:
- Message Processing Unit.
- Network Service.
- Device Registry.
- Application Queue (Kafka).
- Metering Adapter.
- SNT Portal Adapter.
- gRPC Adapter.
- WebSocket Adapter.
- Tafel.
- Billing.
- Wafel Backend.
- Public REST API.
- UserSpace.
- Monitoring:
- Zabbix Service.
- Grafana.
- Data Storage
Контекстная диаграмма Sophrosyne представлена в Приложение 1.
Компонентная диаграмма Sophrosyne представлена в Приложение 2.
Sophrosyne context diagram is shown in Appendix 1.
Sophrosyne component diagram is shown in Appendix 2.
1.1. Authorization
Authorization является компонентом Sophrosyne и предназначен для авторизации пользователей и приложений, взаимодействующих с платформой.
Authorization реализует протокол OAuth 2.0, особенностью которого является:
- Возможность предоставления стороннему доверенному сервису полномочий на хранение данных, идентифицирующих пользователя и его права на доступ к ресурсам.
- Предоставление доступа к ресурсам целевого сервиса осуществляется по факту авторизации пользователя другим сервисом, которому доверяет целевой сервис.
Поддерживает следующие типы авторизации: password, client_credentials, refresh_token, authorization_code, implicit (подробно https://tools.ietf.org/html/rfc6749).
1.1. Authorization
The Authorization component of the Sophrosyne platform is used for authorization of users and applications that interact with the platform.
Authorization implements the Oauth 2.0 protocol, which:
- can give outside trusted services rights for storing data that identify the user and his/her resource access privileges.
- grants access to target service resources based on user authorization by another service whom the target service trusts.
The following authorization types are supported: password, client_credentials, refresh_token, authorization_code, implicit (details see at https://tools.ietf.org/html/rfc6749).
1.2. Semtech Gateway Adapter
Semtech Gateway Adapter является компонентом Sophrosyne и предназначен для двунаправленной передачи сообщений между LoRa-шлюзами и серверной платформой по IP/UDP протоколу.
Выполняет прямое и обратное преобразование UDP-пакетов:
1.2. Semtech Gateway Adapter
The Semtech Gateway Adapter component of the Sophrosyne platform is used for bidirectional data exchange between LoRa gateways and the server platform over the IP/UDP protocols.
It performs direct and reverse conversion of UDP packets:
- нисходящий пакет формируется путем прикрепления метаданных (могут включать данные для конфигурации шлюза) к исходному нисходящему МАС-сообщению;
- восходящий пакет разбирается на метаданные (включают данные о состоянии шлюза) и передаваемое серверу МАС-сообщение.
- downlink packets are created by attaching metadata (which can include gateway configuration data) to original downlink MAC messages;
- uplink packets are parsed into metadata (including gateway status data) and the MAC message being sent to the server.
Поддерживает передачу и обработку следующих метаданных:
- глобальный идентификатор шлюза (GatewayEUI);
- время отправки сообщения (TimeStamp);
- тип модуляции (Modulation);
- частота, на которой было принято сообщение (Frequency);
- уровень принятого сигнала (RSSI);
- отношение сигнал/шум (SNR);
- скорость обмена данными (DataRate);
- скорость кодирования (CodingRate);
- размер передаваемых прикладных данных (PayloadSize).
В целях мониторинга состояния сети Lar.Tech реализован интерфейс взаимодействия с Zabbix Service.
The adapter supports transmission and processing of the following metadata:
- Gateway EUI;
- Time Stamp;
- Modulation type;
- Frequency (the message was received on);
- Received signal strength indication (RSSI);
- Signal-to-noise ratio (SNR);
- Data exchange speed (Data Rate);
- Coding Rate;
- Payload Size.
For monitoring the status of the Lar. Tech network, the adapter implements an interface with Zabbix Service.
1.3. Gateway Queue (Kafka)
Gateway Queue является компонентом Sophrosyne и предназначен для организации адресной, надежной доставки сообщений, по восходящей магистрали до модуля обработки сообщений (Message Processing Unit) и по нисходящей магистрали до целевого LoRa-шлюза с целью последующей передачи конечному устройству.
Все восходящие сообщения (UpLink Messages) поступают (публикуются LoRa-шлюзами) в объединенную рубрику (topic) «uplink», подписчиком которой является Message Processing Unit. Нисходящие сообщения (DownLink Messages) поступают (публикуются Message Processing Unit) в рубрику «downlink», подписчиками которой является Semtech Gateway Adapter.
Gateway Queue поддерживает временное хранение данных для последующей пакетной обработки.
Для обеспечения целостности передаваемых сообщений, реализован механизм транзакций.
1.3. Gateway Queue (Kafka)
The Gateway Queue component of the Sophrosyne platform is used for organizing reliable addressed delivery of messages over the uplink stream to the Message Processing Unit, and over the downlink stream to the target LoRa gateway for subsequent forwarding to the end device.
All uplink messages are published by LoRa gateways in the consolidated "uplink" topic whose subscriber is Message Processing Unit. Downlink messages re published by the Message Processing Unit in the "downlink" topic, whose subscriber is Semtech Gateway Adapter.
Gateway Queue supports temporary data storage for subsequent batch processing.
The adapter implements a transaction mechanism that ensures the integrity of transmitted messages.

1.4. LoRaWAN Service
LoRaWAN Service является логическим блоком Sophrosyne, объединяющим компоненты предназначенные для реализации LoRaWAN протокола с целью создания сети Lar.Tech и обеспечения взаимодействия приложений и абонентских устройств в ее пределах.
В состав LoRaWAN Service входят следующие компоненты:

- Message Processing Unit.
- Network Service.
- Device Registry

1.4. LoRaWAN Service
The LoRaWAN service is a logical block of the Sophrosyne platform that implements the LoRaWAN protocol for creating the Lar.Tech network and providing means for interaction among applications and subscriber units within its scope.

It consists of the following components:
- Message Processing Unit.
- Network Service.
- Device Registry.
1.4.1. Message Processing Unit
Message Processing Unit является компонентом Sophrosyne и предназначен для:
- Обработки восходящих (uplink) и нисходящих (downlink) сообщений.
- Выполнения процедуры подключения устройств к сети Lar.Tech.
Message Processing Unit выполняет шифрование данных и контроль целостности поступающих сообщений. Для вычисления кода целостности сообщения (MIC) и шифрования данных используется симметричный алгоритм блочного шифрования AES с длиной ключа 128 бит.
Поступающие сообщения, в зависимости от типа, подаются на вход соответствующего обработчика. Реализованы обработчики следующих типов сообщений: запрос на подключение к сети, пакет с данными, MAC-команда.
В Message Processing Unit реализован механизм фрагментации данных, позволяющий передавать и принимать прикладные данные, размер которых превышает допустимый размер кадра.
С целью обеспечения процедуры подключения устройств методом активации по воздуху реализованы следующие функции:
- Обработка поступающих от устройств запросов на подключение (Join Request).
- Формирование подтверждения подключения к сети (Join Accept).
Реализован механизм маршрутизации обработанных сообщений. Маршрут вычисляется по результатам запросов к Network Service и Device Registry. Для адресации сообщений Message Processing Unit использует очереди Gateway Queue и Application Queue.
1.4.1. Message Processing Unit
The Message Processing Unit component of the Sophrosyne platform is used for:
- Processing uplink and downlink messages.
- Connecting devices to the Lar.Tech network.
Message Processing Unit encrypts data and controls the integrity of incoming messages. The AES symmetric block encryption algorithm is used for calculating the message integrity code (MIC) and encrypting data.
Incoming messages are sent to the input of the appropriate handler according to their type. Handlers for the following message types are implemented: network connection request, data packet, MAC command.
Message Processing Unit implements a data fragmentation mechanism that makes it possible to exchange application-specific data whose size exceeds the allowed frame size.
For connecting devices using over-the-air-activation (OTAA), the unit implements the following functions:
- Join Request. Processes connection requests from devices.
- Join Accept. Creates network connection acknowledgement.
A processed message routing mechanism is implemented. Routes are determined based on results of requests to the Network Service and Device Registry. Message Processing Unit uses Gateway Queue and Application Queue for routing messages.
1.4.2. Network Service
Network Service является компонентом Sophrosyne и предназначен для формирования информационной модели сети Lar.Tech.
Network Service обрабатывает метаданные, передаваемые в пакете с сообщением и сохраняет в Data Storage следующую информацию:
1.4.2. Network Service
The Network Service component of the Sophrosyne platform is used for generating Lar.Tech network information model.
Network Service processes metadata sent in message packets and stores the following information in Data Storage:
- Глобальный идентификатор шлюза (GatewayEUI).
- Наименование шлюза (GatewayName).
- Региональные параметры шлюза (RegionalSettings).
- Статус шлюза (GatewayStatus). Online/offline.
- Количество каналов передачи (TxAmount).
- Выходная мощность передатчика (TxPower).
- Часовой пояс шлюза (GatewayTimezone).
- Глобальный идентификатор конечного устройства (DevEUI).
- Значение счетчика восходящих сообщений (FCntUp).
- Значение счетчика нисходящих сообщений (FCntDown).
- Тип модуляции (Modulation).
- Частота, на которой было принято сообщение (Frequency).
- Уровень принятого сигнала (RSSI).
- Отношение сигнал/шум (SNR).
- Размер передаваемых прикладных данных (PayloadSize).
- Скорость обмена в первом окне приема (Rx1DataRate).
- Скорость обмена во втором окне приема (Rx1DataRate).
- Величина интервала между передачей и приемом (RxDelay).
- Скорость кодирования (CodingRate).
- Размер передаваемых прикладных данных (PayloadSize).
- Дата последнего подключения к сети Lar.Tech (LastJoinDate).
- Дата получения последнего сообщения (LastAdrDate).
- Идентификатор шлюза, с которого было получено последнее сообщение от устройства (GatewayEUI).
- GatewayEUI. Global gateway identifier.
- GatewayName. Gateway name.
- RegionalSettings. Regional gateway parameters.
- GatewayStatus. Gateway status. Online/offline.
- TxAmount. Number of transmit channels.
- TxPower. Output transmitter power.
- GatewayTimezone. Gateway time zone.
- DevEUI. Global end device identifier.
- FCntUp. Uplink message counter value.
- FCntDown. Downlink message counter value.
- Modulation. Modulation type.
- Frequency. Frequency the message was received on.
- RSSI. Received signal strength indication.
- SNR. Signal-to-noise ratio.
- Payload Size. Size of application data transmitted.
- Rx1DataRate. Exchange rate in the first receive window.
- Rx2DataRate. Exchange rate in the first receive window.
- RxDelay. Interval between transmit and receive.
- CodingRate. Coding rate.
- PayloadSize.
- LastJoinDate. Date of the last connection to the Lar.Tech network.
- LastAdrDate. Date of the last received message.
- GatewayEUI. Identifier of the gateway from which the last message from the device was received.
Для взаимодействия с Data Storage через JDBC-интерфейс Device Registry реализует набор CRUD-методов (Create, Read, Update, Delete).
Network Service обслуживает поступающие от компонентов Sophrosyne запросы на предоставление сведений о текущей конфигурации сети.
В целях мониторинга состояния сети Lar.Tech реализован интерфейс взаимодействия с Zabbix Service.

For interacting with Data Storage over the JDBC interface, Device Registry implements a set of CRUD (Create, Read, Update, Delete) methods.
Network Service handles requests for current network configuration arriving from Sophrosyne components.

For monitoring the status of the Lar. Tech network, the adapter implements an interface with Zabbix Service.

1.4.3. Device Registry
Device Registry является компонентом Sophrosyne и предназначен для управления регистром устройств и информационного обеспечения персонализации и активации устройств в сети Lar.Tech.
Device Registry выполняет:
1.4.3. Device Registry
The Device Registry component of the Sophrosyne platform is used for controlling the device registry and information support of device personalization and activation in the Lar.Tech network.
Device Registry performs the following functions:
- Аутентификацию устройств на основе персональных данных об устройстве (DevEUI, AppEUI, AppKey).
- Вычисление персональных сетевых идентификаторов (DevAddr) и сеансовых ключей (NwkSKey и AppSKey).
- Device authentication based on device personal data (DevEUI, AppEUI, AppKey).
- Personal network identifier (DevAddr) and session key (NwkSKey and AppSKey) computing.

В регистре устройств хранится следующая информация об устройствах:


- Глобальный идентификатор конечного устройства в IEEE EUI64 адресном пространстве (DevEUI).
- Глобальный идентификатор устройства в IEEE EUI64 адресном пространстве для выполнения процедуры присоединения к сети (JoinEUI).
- Класс устройства (DeviceClass)
- Метод подключения устройства к сети (ActivationType).
- Ключ приложения в стандарте AES-128 для конкретного конечного устройства (AppKey).

The following information about devices is stored in the device registry:


- End device global identifier (DevEUI) in the IEEE EUI64 address space.
- Device global identifier in the IEEE EUI64 address space for executing network connection procedure (JoinEUI).
- Device class (DeviceClass).
- Device network connection method (ActivationType).
- AES-128 application key for individual end device (AppKey).

Всякий раз, когда конечное устройство подключается к сети методом активации по воздуху, AppKey используется для получения сеансовых ключей NwkSKey и AppSKey специфических для этого конечного устройства и для расчета и проверки MIC (кода целостности сообщения) сообщений, содержащих «запрос на присоединение» и «подтверждение присоединения».


- Сеансовый ключ приложения конкретного конечного устройства (AppSKey).
Используется как сервером сети, так и конечным устройством для шифрования прикладных данных.

Every time an end device connects to the network by over-the-air-activation, the AppKey is used to receive session keys NwkSKey and AppSKey specific for the given end device, and for calculating and verifying message integrity code (MIC) for messages containing "connection request" and "connection acknowledgement."

 

- Application session key (AppSKey) for individual end device.
It is used both by the network server and the end device for encrypting application data

- Сетевой сеансовый ключ конкретного конечного устройства (NwkSKey).
Используется как сервером сети, так и конечным устройством для расчета и проверки MIC (кода целостности сообщения) всех сообщений (данных), чтобы гарантировать целостность данных. Он также используется для шифрования MAC-команд при передаче их в поле данных.

- Network session key (NwkSKey) for individual end device.
It is used both by the network server and the end device for computing message integrity code (MIC) for all data messages to ensure data integrity. The key is also used for enrypting MAC commands when they are transmitted in a data field.
- 32-х битный идентификатор конечного устройства в сети (DevAddr).
- Идентификатор сети сетевого идентификатора (NwkID).

Используется для разделения адресов территориально перекрывающихся сетей различных сетевых операторов и для исправления проблемы роуминга.
- 32-bit long end device network identifier (DevAddr).
- Network identifier of the device identifier (NwkID).

It used to discriminate addresses of geographically overlapping networks of different network operators and for correcting roaming problems.
- DevNonce значение, использованное устройством при подключении к сети.

Используется для предотвращения воспроизведения атаки путем отправки ранее записанных запросов на присоединение.
- Value DevNonce used by the device when connecting to the network.

It is used for preventing attacks by sending recorded connection requests.
- Владелец устройства (Owner).
- Описание устройства (Description).

Для взаимодействия с Data Storage через JDBC-интерфейс Device Registry реализует набор CRUD-методов (Create, Read, Update, Delete).

- Device owner (Owner).
- Device description (Description).

For interacting with the Data Storage component via the JDBC interface, the Device Registry component implements a set of CRUD (Create, Read, Update, Delete) methods.

1.5. Application Queue (Kafka)
Application Queue является компонентом Sophrosyne и предназначен для организации адресной, надежной доставки сообщений, по нисходящей магистрали до модуля обработки сообщений (Message Processing Unit) и по восходящей магистрали до целевого адаптера приложения с целью последующей передачи заданному приложению.

Все нисходящие сообщения (DownLink Messages) поступают (публикуются адаптерами приложений) в объединенную рубрику «downlink», подписчиком которой является Message Processing Unit. Восходящие сообщения (UpLink Messages) поступают (публикуются Message Processing Unit) в именованные рубрики, подписчиками которых являются адаптеры приложений.

Все сообщения, и нисходящие и восходящие, публикуются в специальную рубрику «billing», подписчиком которой является компонент Billing.

Application Queue поддерживает временное хранение данных для последующей пакетной обработки.
Для обеспечения целостности передаваемых сообщений, реализован механизм транзакций.

1.5. Application Queue (Kafka)
The Applications Queue component of the Sophrosyne platform is used for organizing reliable addressed delivery of messages over the downlink stream to the Message Processing Unit, and over the uplink stream to the target application gateway for subsequent forwarding to the specified application.


All downlink messages are published by application adapters in the consolidated "downlink" topic whose subscriber is Message Processing Unit. Uplink messages are publishes by Message Processing Unit in named topic whose subscribers are application adapters.



All messages, both downlink and uplink, are published in the special "billing" topic, whose subscriber is the Billing component.

Application Queue supports temporary data storage for subsequent batch processing.

The adapter implements a transaction mechanism that ensures the integrity of transmitted messages.

1.6. Metering Adapter
Metering Adapter является компонентом Sophrosyne и предназначен для обмена данными о потреблении энергоресурсов с внешними приложениями.
Sophrosyne через Metering Adapter:
- Предоставляет приложениям информацию о состоянии зарегистрированных в LoRaWAN сети устройств.
- Возвращает журналы заданных устройств.
- Позволяет передавать команды настройки параметров коммерческого учета ресурсов.
- Обеспечивает предоставление данных «снизу» по расписанию и по запросу «сверху».
Применение криптографических протоколов TLS/SSL обеспечивает защищённую передачу данных между серверной платформой Sophrosyne и внешними приложениями.
Metering Adapter осуществляет прямое и обратное преобразование стека протоколов 5 – 7 уровней сетевой модели OSI «М-Bus (прикладной), lar.tech metering protocol (презентационный), gRPC (сеансовый)» в «LoRaWAN (сеансовый и презентационный), M-Bus (прикладной)».
Реализованы механизмы гарантированной доставки поступающих пакетов по нисходящей магистрали.
1.6. Metering Adapter
The Metering Adapter component of the Sophrosyne server platform is used for exchanging energy consumption data with external applications.
Sophrosyne performs the following operations using Metering Adapter:
- Provides applications with information about the status of the devices registered in the LoRaWAN network.
- Returns logs of the specified devices.
- Allows sending commands for configuring fiscal resource metering parameters.
- Makes for providing data from "below" upon a request from "above" or on schedule.
Using TLS/SSL cryptographic protocols ensures secure data transfer between the Sophrosyne server platform and external applications.
Metering Adapter performs direct and reverse conversion of the OSI model protocol stack's levels 5 – 7: M-Bus (application), lar.tech metering protocol (presentation), gRPC (session) to LoRaWAN (session and presentation), M-Bus (application).
The component implements mechanisms of guaranteed data delivery of incoming packets over the downstream stream.
1.7. SNT Portal Adapter
SNT Portal Adapter является компонентом Sophrosyne и предназначен для обмена данными о потреблении энергоресурсов с внешним приложением «СНТ Портал».
SNT Portal Adapter наследуется от Metering Adapter и имеет предписанный протокол взаимодействия с приложением «СНТ Портал».
1.7. SNT Portal Adapter
The SNT Portal Adapter component of the Sophrosyne platform is used for exchanging energy consumption data with the SNT PortaL external application.
SNT Portal inherits from Metering Adapter and has a mandatory protocol for interaction with the SNT Portal applications.
1.8. gRPC Adapter
gRPC Adapter является компонентом Sophrosyne и предназначен для двунаправленной передачи данных между серверной платформой и внешними приложениями по протоколу gRPC.
Основу интерфейса взаимодействия составляет описание модели данных (внутреннее представление передаваемых в рамках протокола данных), выполненное в формате Proto файла.

Защита передачи данных между серверной платформой Sophrosyne и внешними приложениями обеспечивается применением криптографических протоколов TLS/SSL.
Поддерживает авторизацию от имени клиентского приложения (секретный маркер доступа выдается на основании сертификата, содержащего ключ идентификатор клиентского приложения) и от имени конкретного пользователя (секретный маркер доступа выдается по имени и паролю пользователя).

Разработаны механизмы гарантированной доставки поступающих по нисходящей магистрали пакетов.
Для поддержки асинхронных вызовов используется буферизация передаваемых данных.
1.8. gRPC Adapter
The gRPC Adapter component of the Sophrosyne platform is used for bidirectional data transfer between the server platform and external applications over the gRPC protocol.
The interface is based on data model description (internal presentation of the data transferred over the protocol) in the Proto file format.

The security of data transfer between the Sophrosyne server platform and external applications is ensured by using TLS/SSL cryptographic protocols.
The component supports client application authentication (a certificate based secret access token is issued that contains a client application's identifier key) and specific user authentication (a secret access token is issued based on user's name and password).


It contains mechanisms for guaranteed data delivery of packets incoming over the downlink stream.

Transmitted data buffering is used to support asynchronous calls.
1.9. WebSocket Adapter
WebSocket Adapter является компонентом Sophrosyne и предназначен для двунаправленной передачи данных между серверной платформой и внешними приложениями.
Реализует WebSocket API и поддерживает передачу следующих типов сообщений:
- Authentication message – сообщение, проверяющее подлинность клиента.
- Response message – ответное сообщение.
- Downlink message – нисходящее сообщение.
- Downlink message response – ответ на нисходящее сообщение.
- Ping message – технологическое сообщение.
- Ping response message – ответ на технологическое сообщение.
- Uplink message – восходящее сообщение.
1.9. WebSocket Adapter
The WebSocket Adapter component of the Sophrosyne platform is used for bidirectional data transfer between the server platform and external applications.
It implements WebSocket API and supports transfer of the following types of messages:
- Authentication Message. Client authentication message.
- Response Message.
- Downlink Message.
- Downlink Message Response.
- Ping Message. Utility message.
- Ping Response Message. Response to utility message.
- Upnlink Message.
1.10. Tafel
Tafel является программным компонентом Sophrosyne и предназначен для проверки приборов учета ресурсов с интегрированными радиомодулями производства ООО «Лартех Телеком», поступающих на тестовые стенды заводов-изготовителей.

Tafel имеет два функциональных режима:
- «Управление учетными записями».
- «Проверка партии устройств».

В режиме «Управление учетными записями пользователей» доступны следующие функции:
- Найти учетную запись пользователя в реестре.
- Добавить учетную запись пользователя в реестр.
- Редактировать учетную запись пользователя.
- Удалить учетную запись пользователя из реестра.

В режиме «Проверка партии устройств» доступны следующие функции:
- Создать новую партию устройств для тестирования.
- Добавить устройство в партию (поддерживается использование сканера штрих-кода для автоматизированного ввода сведений об устройстве).
- Запустить процедуру тестирования партии устройств.
- Сформировать отчет о результатах тестирования партии устройств.

В ходе тестирования Tafel выполняет следующие операции:
- В соответствии с серийным номером прибора учета, хранящимся в энергонезависимой памяти радиомодуля, назначить прибору учета сетевой адрес.
- Проверить связь прибора учета с серверной платформой.
- Проверить соответствие серийного номера, хранящегося в энергонезависимой памяти устройства, фактическому серийному номеру (на корпусе устройства).
- Установить и проверить показания часов устройства (текущая дата и время).

Tafel реализован в виде WEB приложения и доступен, по факту прохождения авторизации, со стенда выпуска завода-изготовителя по указанному разработчиком адресу.
1.10. Tafel
The Tafel software component of the Sophrosyne platform is used for bench testing resource metering devices with integrated radio modules produced by Lartech Telecom, Ltd. at the manufacturing plants.


Tafel has two operating modes:
- Account Management.
- Device Batch Testing.

The following functions are available in the Account Management mode:
- Locate user account in the registry.
- Add user account to the registry.
- Edit user account.
- Delete user account from the registry.

The following functions are available in the Device Batch Testing mode:
- Create a new batch of devices for testing.
- Add a device to batch (use of bar code scanner for automated input of device information is supported).
- Start device batch testing procedure.
- Generate a device batch testing result report.


Tafel performs the following operations during the testing process:
- Assigns metering devices network addresses according to the metering device's serial number stored in radio module's non-volatile memory.
- Verifies metering devices' connection with the server platform.
- Verifies that the serial number in device's non-volatile memory matches the actual number of the device (marked on the device's case).
- Sets and verifies devices clock readings (the current date and time).

Tafel is implemented as a WEB application. Developers can access it at the manufacture plant test bench after authorization from the address they provide.
1.11. Billing
Billing является компонентом Sophrosyne и предназначен для учета передаваемых через сеть Lar.Tech данных в интересах формирования счетов за предоставленные ООО «Лартех Телеком» услуги.

Billing обеспечивает выполнение следующих процедур:
- Подсчет объема потребленных услуг.
- Вычисление стоимости потребленных услуг.
- Расчет скидок.
- Применение взаимозачетов.
- Формирование счетов.

В качестве информационного обеспечения расчетов используется следующая нормативно-справочная информация:
- Тарифы и услуги, предоставляемые ООО «Лартех Телеком».
- Договора на предоставление определенных услуг.
- Лицевые счета абонентов.

Для взаимодействия с компонентом Data Storage реализован набор CRUD-методов (Create, Read, Update, Delete).
1.11. Billing
The Billing component of the Sophrosyne platform is used for recording data transmitted over the Lar.Tech network for the purpose of generating invoices for the services provided by Lartech Telecom. Ltd.


Billing provides the following functions:
- Computing the amount of consumed services.
- Calculating the value of consumed services.
- Calculating discounts.
- Applying mutual settlements.
- Generating invoices.

The following regulatory and reference information is used for information support of settlements:
- Tarifs and services provided by Lartech Telecom. Ltd.
- Agreements for provision of particular services.
- Subscriber personal accounts.


For interacting with the Data Storage component, the Billing component implements a set of CRUD (Create, Read, Update, Delete) methods.
1.12. Wafel Backend
Wafel Backend является компонентом Sophrosyne. Выполнен в виде WEB сервиса и входит в состав программного продукта Wafel (программного обеспечения ПАК «Стенд ОТК»).
Wafel Backend, в рамках MVC архитектруры Wafel, реализует уровни «Model» («Модель») и «Controller» («Контроллер»).

Уровень «Модель»:

- Обеспечивает извлечение физических данных из хранилища (взаимодействует с компонентом Sophrosyne.Data Storage).

- Определяет внутреннее представление данных и осуществляет необходимые преобразования физических данных в объекты внутреннего представления (для ORM преобразования используется Hibernate, реализующий JPA 2 спецификацию).

- Реализует бизнес логику Wafel.

- Обрабатывает запросы «Контроллера» и предоставляет необходимые данные «Представлению» (Wafel GUI).

Уровень «Контроллер»:

- Реализует логику обработки событийной модели и выполнение заданных сценариев использования Wafel.

- Обеспечивает согласование «Модели» и «Представления».

Для обеспечения взаимодействия с Wafel GUI реализован REST интерфейс.
1.12. Wafel Backend
The Wafel Backend component of the Sophrosyne platform is implemented as a WEB service, and is a part of the Wafel software product (software and hardware complex Test Bench QA).
Within the scope of the MVC Wafel architecture, Wafel Backend implements layers Model and Controller.


The Model layer performs the following functions:

- Provides for extraction of physical data from storage (interacts with the Sophrosyne.Data Storage component).


- Determines the internal data view and performs the necessary conversion of physical data into internal view objects (for ORM conversion, Hibernate is used, which implements JPA 2 specification).


- Implements Wafel business logic.

- Processes Controller requests and provides the necessary data to Presentation (Wafel GUI).


The Controller layer performs the following functions:

- Implements the processing logic of event-driven simulation and execution of specified Wafel use scenarios.


- Interfaces layers Model and Presentation.

Interaction with the Wafel GUI is provided by the REST interface.
1.13. Public REST API
Public REST API является программным интерфейсом Sophrosyne и предназначен для использования разработчиками прикладного программного обеспечения, желающими использовать функциональные и информационные возможности Sophrosyne при написании собственных программных продуктов.

При разработке Public REST API использовалась RESTful API парадигма.
1.13. Public REST API
The Public REST API component of the Sophrosyne server platform is used by application software developers who want to avail themselves of functional and informational features of Sophrosyne when developing their own software products.


Public REST API was developed using RESTful API paradigm.
1.14. UserSpace
UserSpace является программным компонентом Sophrosyne и предназначен для формирования индивидуального рабочего пространства («Личного кабинета») пользователя (партнера компании, абонента) на серверной платформе «Лартех Телеком».

UserSpace предоставляет следующие функциональные возможности:

- Управление пользователями:

- Зарегистрировать пользователя «Личного кабинета».

- Изменить сведения о пользователе (профиль пользователя).

- Удалить пользователя «Личного кабинета».

- Управление устройствами:

- Добавить (прикрепить к «Личному кабинету») устройство (список устройств).

- Удалить устройство (заданный перечень устройств) из списка прикрепленных к «Личному кабинету».

- Отобразить список устройств, прикрепленных к «Личному кабинету».

- Посмотреть детальную информацию по выбранному устройству.

- Редактировать параметры устройства.

- Связать устройство с приложением/Удалить привязку.

- Передать команду устройству.

- Обновление программного обеспечения на устройствах, прикрепленных к «Личному кабинету».

- Экспортировать сведения о заданных устройствах в формат Excel (и/или XML).

- Управление приложениями

- Посмотреть информацию о доступных Приложениях.

- Связать Приложение с указанными устройствами/Удалить привязку.

- Перейти в заданное Приложение.

- Управление счетами:

- Отобразить текущий счет абонента.

- Пополнить счет.

- Отправить сообщение о текущем состоянии счета (e-mail, sms).

- Приостановить обслуживание абонента.

- Сформировать выписку по счету.

- Управление базовыми станциями:

- Добавить (прикрепить к «Личному кабинету») базовую станцию.

- Удалить базовую станцию из списка прикрепленных к «Личному кабинету».

- Просмотреть состояние прикрепленных к «Личному кабинету» базовых станций.

- Настроить базовую станцию (черные/белые списки, обновление, резервные каналы).

UserSpace реализован в виде WEB приложения и доступен, по факту прохождения авторизации по указанному разработчиком адресу.
1.14. UserSpace
The UserSpace component of the Sophrosyne platform is used for generating individual working environment (User Space) for users (company partners, subscribers) on the Lartech Telecom server platform.


UserSpace provides the following functionalities:

- User management:

- Registration of User Space users.

- User data (user profile) editing.

- Deletion of User Space users.

- Device management:

- Adding (attaching to User Space) device (list of devices).

- Deleting device (list of devices) from the list of devices attached to User Space.


- Displaying list of devices attached to User Space.

- Viewing detailed information for selected device.

- Editing device parameters.

- Binding/unbinding device to/from application.

- Sending commands to device.

- Software update on devices attached to User Space.


- Exporting information about specified devices in Exel (or/and XML) format.

- Application management:

- Viewing information about available Applications.

- Binding/unbinding Applications to/from specified devices.

- Switching to specified Application.

- Account management:

- Displaying current subscriber account.

- Account replenishment.

- Sending messages (email, sms) about current account state.

- Suspending servicing subscribers.

- Generating account statements.

- Base station mamagement:

- Adding (attaching to User Space) base station.

- Deleting base station from the list of base stations attached to User Space.

- Viewing status of base stations attached to User Space.

- Configuring base stations (white/black listing, updating, reserve channels).

UserSpace is implemented as a WEB application. Developers can access it after authorization from the address they provide.
1.15. Monitoring
Monitoring является логическим блоком Sophrosyne, объединяющим компоненты предназначенные для сбора и отображения сведений о состоянии базовых станций, работающих в сети Lar.Tech.

В состав Monitoring входят следующие компоненты:
- Zabbix Service.
- Grafana.
1.15. Monitoring
The Monitoring component of the Sophrosyne platform consolidates components used for collecting and displaying information about the status of base stations working in the Lar.Tech network.


It consists of the following components:
- Zabbix Service.
- Grafana.
1.15.1. Zabbix Service
Zabbix Service является компонентом Sophrosyne и предназначен для сбора сведений о состоянии базовых станций, работающих в сети Lar.Tech.

Компоненты Sophrosyne по протоколу «Zabbix sender 2.0» с заданной периодичностью (либо по факту подключения базовой станции) отправляют следующую информацию в Zabbix Service (по всем базовым станциям):

- Semtech Gateway Adapter:
раз в 5 минут:
- Состояние нисходящей линии (downlink status).
- Состояние восходящей линии (uplink status).
- IP-адрес базовой станции.
раз в 10 минут:
- Положение базовой станции (GPS координаты).
- Network Service:
раз в час:
- Количество устройств, подключенных к базовой станции.
раз в сутки:
- Имя базовой станции.

Собранные сведения о состоянии базовых станций Zabbix Service предоставляет компоненту Grafana для отображения.
1.15.1. Zabbix Service
The Zabbix component of the Sophrosyne platform is used for collecting information about the status of base stations working in the Lar.Tech network.

Sophrosyne components use Zabbix Sender 2.0 protocol for sending the following information (for all base stations) at specified intervals (or upon base station connection) to Zabbix Service:


- Semtech Gateway Adapter:
Once every 5 (five) minutes:
- Downlink status.
- Uplink status.
- Base station IP address.
раз в 10 минут:
- Base station location (GPS coordinates).
- Network Service:
Once every hour:
- Number of devices connected to the base station.
Once every 24 hours:
- Base station name.

Zabbix Service sends collected base station status information for displaying to the Grafana component.
1.15.2. Grafana
Grafana является компонентом Sophrosyne и предназначен для визуализации данных мониторинга состояния базовых станций, работающих в сети Lar.Tech.
Grafana предоставляет пользователю инструмент формирования персональных информационных экранов (панелей) из стандартных элементов отображения данных:
- таблицы;
- графики;
- круговые диаграммы;
- списки уведомлений;
- цифровые, индикаторные и приборные панели.
Источником данных для Grafana является компонент Zabbix Service.
1.15.2. Grafana
The Grafana component of the Sophrosyne platform is used for visualizing status monitoring information for base stations working in the Lar.Tech network.
Grafana provides users with a tool for generating personal information screens (panels) consisting of standard data presentation elements:
- tables;
- charts;
- pie-charts;
- notification lists;
- digital, indicator, and instrumental panels.
Data for Grafana are sourced by Zabbix Service.
1.16. Data Storage
Логический компонент Data Storage предназначен для сбора, хранения и обработки технологических данных и метаданных, необходимых для обеспечения работоспособности Sophrosyne.

Выделение Data Storage в отдельный компонент позволяет отделить данные от программных компонентов их использующих.

Разработка структуры Data Storage и хранение данных происходит независимо от наращивания функциональности приложений, что предоставляет ряд преимуществ для развития отдельных компонентов и платформы в целом.

В состав Data Storage входят следующие схемы данных:
- Authorization Scheme.
- Network Service Scheme.
- Device Registry Scheme.
- Wafel Scheme.
- Billing Scheme.
- Tafel Scheme.

Взаимодействие Data Storage с программными компонентами, заинтересованными в хранении и доступе к данным осуществляется через согласованный программный интерфейс (JDBC).
Для хранения оперативной информации используется Redis.
1.16. Data Storage
The Data Storage logical component is used for collecting, storing, and processing technological data and metadata necessary for Sophrosyne operation.


Implementation of Data Storage as an separate component makes it possible to separate data from software components using them.

Development of the Data Storage structure and data storing are independent of expansion of application functionalities, which provides several advantages for development of individual components and the overall platform.

Data Storage implements the following data schemes:
- Authorization Scheme.
- Network Service Scheme.
- Device Registry Scheme.
- Wafel Scheme.
- Billing Scheme.
- Tafel Scheme.

Data Storage interacts with software components interested in accessing and storing data over a consistent software interface (JDBC).
Operational information is stored using Redis.

 

 

wcc@ukr.net