Данный материал рассказывает о том, как в специализированном проектном решении CleverENGINE реализована функция учёта лицензий на программное обеспечение (далее – ПО).

Материал является частью описания новых функциональных возможностей решения CleverENGINE по сравнению с продуктом HP OpenView Service Desk 4.5.

 

В HP OpenView Service Desk 4.5 была реализована возможность ведения информации о лицензиях и их учёт в базе CMDB:

  • купленные лицензии на программное обеспечение регистрировались как конфигурационные единицы (далее – CI). Для каждой такой CI определялось, является ли она уникальной (признак Unique), либо распространяется на определенное количество инсталляций (количество вводилось в соответствующем поле)
  • учёт установленных лицензий осуществлялся посредством установки связей между лицензионным ПО и оборудованием. Для установки связи обычно использовались связи типа Parent – Child. Например, если учитывалось количество установленных лицензионных приложений MS Office на рабочие станции пользователей, рабочая станция являлась родительской CI (Parent), MS Office – дочерней (Child)
  • как только количество связей типа Parent для лицензий превышало заданное количество инсталляций, система не позволяла связывать CI и выдавала соответствующее сообщение об ошибке

Данный подход имел следующие минусы:

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

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

Учёт лицензий можно условно разделить на три этапа:

  • учёт количества купленных и доступных лицензий на текущий момент времени
  • получение информации из различных источников о фактически использованных лицензиях
  • сравнение количества доступных лицензий и фактически использованных

Учёт количества купленных и доступных лицензий на текущий момент времени реализован с помощью нескольких объектов в системе, связанных между собой:

  • Программный продукт – элемент справочника Каталог продуктов. Содержит основную информацию о ПО (версия, вендор и так далее), а так же коды инвентаризации, с помощью которых автоматизированные средства инвентаризации могут идентифицировать продукт, даже если его названия на разных компьютерах отличаются (например, «Microsoft Office Professional 2003» и «Microsoft Office Professional 2003 SP3»)
  • Лицензия на ПО – CI категории «Лицензия на ПО», учёт которой ведется в базе CMDB. Содержит необходимый набор атрибутов, например: даты начала и окончания лицензии, тип, лицензионный ключ, информацию для учёта активов и т.д.
  • Пул лицензий – объект, обобщающий информацию о программных продуктах и доступных для них лицензиях определенного типа. На основании данных, введенных о лицензиях, пул лицензий отображает информацию о действующих лицензиях на текущий момент времени (поле [Количество активных лицензий]). Например (см. рисунок ниже), куплено две лицензии одного типа на один и тот же программный продукт. Лицензии имеют разные сроки действия и количество инсталляций: Лицензия 1 – 5 инсталляций и Лицензия 2 - 4

omnitracker_screenshot65

Рисунок 1. Пример получения информации о количестве доступных лицензий на текущий момент времени
(нажмите на изображении для увеличения) 

Примеры форм, перечисленных объектов приведены на рисунках ниже.

Программный продукт Лицензия на ПО

Рисунок 2. Форма объекта Программный продукт
(нажмите на изображении для увеличения) 

Рисунок 3. Форма объекта Лицензия на ПО
(нажмите на изображении для увеличения) 

Пул лицензий

Рисунок 4. Форма объекта Пул лицензий
(нажмите на изображении для увеличения) 

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

Запись использования лицензий

Рисунок 5. Пример формы объекта Запись использования лицензий
(нажмите на изображении для увеличения) 

Данный объект содержит необходимую информацию об использовании лицензий: программный продукт, тип лицензии, количество использованных лицензий (количество инсталляций), используемые лицензионные ключи. Кроме того, при необходимости, позволяет вести информацию о том, на какие CI (рабочие станции, сервера и т.д.) установлена лицензия. Информация об использовании лицензий может поступать в систему несколькими способами:

  • регистрироваться автоматически, на основании информации собранной автоматизированными средствами инвентаризации. В данном случае для идентификации программного продукта используются введенные коды инвентаризации
  • регистрироваться вручную специалистами. Например, конкурентные лицензии на продукты, если они «зашифрованы» в серийных ключах

Третьим, заключительным этапом учёта лицензий с помощью предложенной схемы, является получение консолидированной информации о количестве доступных лицензий на программный продукт на текущий момент времени, а также о количестве использованных лицензий и сравнение полученных показателей в форме отчёта. Пример формы отчёта приведен на рисунке ниже.

omnitracker_screenshot70

Рисунок 6. Пример формы отчёта

В общем виде схема учёта лицензий приведена на рисунке ниже.

omnitracker_screenshot71

Рисунок 7. Схема учёта лицензий

На практике реализованные средства учёта лицензий в решении OMNITRACKER CleverENGINE позволяют:

  • учитывать лицензии любого типа (например, лицензии на подключение, на CPU и т.д.), а так же различные, в том числе и сложные, схемы лицензирования
  • использовать автоматизированные средства инвентаризации для сбора информации об использовании лицензий
  • получать актуальную информацию на текущий момент времени. Тем самым позволяя не только не терять информацию об уже купленных лицензиях и планировать необходимость закупки дополнительных лицензий, либо их продление, но и максимально снижать риски, связанные с использованием нелицензионного ПО