Распределенное сетевое лицензирование

Учитывая, что Viinex часто эксплуатируется в виртуализированных окружениях, и для того чтобы сохранить для наших клиентов возможность миграции виртуальных машин или контейнеров между разными физическими серверами, мы реализовали поддержку распределенных сетевых лицензий (FNL - floating network license).

Основная мысль состояла в том, чтобы все-таки иметь экземпляр Viinex, привязанный к физическому оборудованию, -- будь то HWID сервера, либо USB устройство Senselock, -- но так, чтобы этот экземпляр развертывался с наименьшими неудобствами для клиента, -- где-то в локальной сети, или в пределах VPN, или даже в Интернет. При этом этот экземпляр Viinex не обязан выполнять какие-либо основные функции Viinex, -- он нужен только для того чтобы служить сервером распределенных сетевых лицензий. Тем самым все лицензии, доступные такому экземпляру Viinex, могут быть сделаны доступными для использования на удаленных хостах.

Экземпляры Viinex, запускаемые на удаленных хостах или контейнерах, могут, вместо того чтобы использовать свои собственные лицензионные ключи, -- просто совершать вызовы к серверу распределенных сетевых лицензий. Эти вызовы служат для того, чтобы удостовериться, что у сервера достаточно лицензий для того, чтобы запустить функциональность, требуемую на удаленном экземпляре Viinex. В тот момент, когда эта функциональность начинает работать на удаленном экземпляре, -- соответствующие ей лицензии "перетекают" на целевой виртуальный хост или контейнер, где запустился новый экземпляр Viinex. Когда этот экземпляр останавливается, -- лицензии возвращаются на сервер, и после этого могут быть переиспользованы другими экземплярами Viinex.

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

Реализация клиента и сервера распределенных сетевых лицензий доступна в Viinex 3.0 сборки 445 и более поздних. Подробнее о лицензировании Viinex.

Добавить комментарий