Число одновременно работающих клиентских приложений ограничивается сетевым ресурсом ключей Guardant.
Необходимо различать максимальный и реальный сетевой ресурс ключа.
Максимальный сетевой ресурс программируется компанией Актив на этапе предпродажной подготовки сетевого ключа. Значение максимального сетевого ресурса содержится в памяти ключа по адресу 19 (SAM) и не может быть изменено. Возможные значения максимального сетевого ресурса: 10, 20, 50, 100, без ограничений.
Реальный сетевой ресурс программируется разработчиком перед передачей защищенного приложения и ключа конечному пользователю. Значение реального сетевого ресурса содержится в памяти ключа:

Модель сетевого ключа

Местоположение реального сетевого ресурса

Guardant Net III / Sign Net /Time Net

Первый модуль таблицы лицензий. Значение ресурса дублируетсяв счетчике №2 (38 SAM (8 UAM)) после создания таблицы лицензий

Guardant Net II/ Net

Счетчик №2 (38 SAM (8 UAM))


Важно!
Если для ключей Guardant Net II/ Net используется распределение лицензий по модулям, то информация о ресурсе модулей таблицы лицензий отобразится в web-интерфейсе сервера сетевых ключей только после первой операции логина (GrdLogin) или первого запуска защищенного приложения. Для современных ключей Guardant Sign Net / Time Net такая информация отображается сразу после определения сервером сетевых ключей.


Реальный сетевой ресурс равен числу оплаченных конечным пользователем лицензий на использование приложения и не может быть больше максимального сетевого ресурса ключа.
Изменить значение реального сетевого ресурса можно:

Способ


Порядок действий

С помощью GrdUtil.exe


Guardant Sign Net / Time Net / Net III

Выполните команду меню Редактировать | Добавить поле, выберите тип поля «Таблица лицензий», выделите модуль «Общий ресурс ключа» и задайте его значение (по умолчанию 5).

После создания таблицы лицензий значение реального сетевого ресурса будет автоматически продублировано в поле «Счетчик №2»

GuardantNet II/ Net

Выделите поле «Счетчик №2», установите новое значение и выполните команду меню Ключ | Запись

Из приложения


GuardantNet III

Создайте в памяти ключа таблицу лицензий (см. формат таблицы лицензий) и задайте значение первого модуля таблицы(т. н. «Общий ресурс ключа»).

Продублируйте это значение по адресу 38 SAM (8 UAM)с помощью команды GrdWrite

Guardant Net II/ Net

Запишите командой GrdWrite новое значение по адресу 38 SAM(8 UAM)


Распределение лицензий

На этапе защиты разработчик задает способ распределения сетевых лицензий: по рабочим станциям, процессам или хэндлам.
Все способы имеют свои особенности и применяются для решения различных задач. К примеру, учет лицензий по процессам хорошо подходит для решения проблемы бесконтрольной "утечки" лицензий при размещении сервера GN и ключа на терминальном сервере.

Распределение по рабочим станциям

При распределении сетевых ресурсов ключа по рабочим станциям:
1. Сетевой ресурс ключа уменьшается на 1 только при запуске первой копии защищенного приложения на конкретной рабочей станции. Если с этого же компьютера запускать новые копии того же приложения (либо другие приложения, привязанные к тому же ресурсу ключа), то ресурс лицензий не изменится.
2. Сетевой ресурс ключа возвращается (увеличивается на 1) только по завершении работы последней копии защищенного приложения, запущенной на данном компьютере. При этом порядок, в котором были запущены копии, не имеет значения.

Важно!
Если защищенное приложение установлено на сервере терминалов и запускается из терминальных сессий, то лицензии из сетевого ресурса будут выделяться отдельно для каждой из сессий как для рабочей станции, причем локальные и терминальные сесси также различаются и будут занимать отдельные лицензии.

Распределение по хэндлам

Лицензия выделяется на каждый хэндл, создаваемый Guardant API (и/или автозащитой).

Важно!

  1. Если при защите приложения используется несколько экземпляров библиотеки Guardant API и, соответственно несколько хэндлов (к примеру, при комбинированном использовании Guardant API и автозащиты), то лицензии будут выделены по числу хэндлов.
  2. В случае работы приложения с единственным хэндлом (т. е. защита только Guardant API или только автоматическая) распределение по хэндлам не будет отличаться от распределения по процессам. Однако если в дальнейшем предполагается комбинирование защиты, то более дальновидным может оказаться распределение по процессам – во избежание перерасхода лицензий.
  3. Сетевой ресурс ключа уменьшается на 1 при регистрации любого экземпляра Guardant API на сервере (т. о. приложение, защищенное и автозащитой, и Guardant API займет 2 лицензии).
  4. Сетевой ресурс ключа возвращается (увеличивается на 1) по завершении работы любого экземпляра Guardant API.

Распределение по процессам

Лицензия выделяется на работающий процесс, в рамках которого может использоваться один или несколько хэндлов (сравн. с распределением по хэндлам). 

Важно!

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

  1. Сетевой ресурс ключа выделяется (уменьшается на 1) на каждый запущенный процесс приложения, независимо от того, запускается ли приложение на одном или нескольких компьютерах.
  2. Сетевой ресурс ключа возвращается (увеличивается на 1) по завершении работы любого процесса защищенного приложения, запущенного на любом компьютере в сети.

Высвобождение зависших лицензий

Ситуации, при которых лицензии могут зависнуть (например, сбой сети или приложения), обрабатываются прозрачно для пользователя и не требуют его вмешательства.
При потере соединения с сервером клиент пытается выполнить переподключение заданное число раз (параметр RECONNECT_TRY _NUMBER в настройках клиента).
Если сервер не получает отклика в течение определенного времени, он автоматически разрывает соединение и освобождает лицензию (т. е. от имени клиента выполняется команда GrdLogout). После чего клиент проводит процедуру регистрации и подключения заново.