<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Guardant &mdash; Разработка моделей лицензирования]]></title>
		<link>https://forum.guardant.ru/topic/395/</link>
		<atom:link href="https://forum.guardant.ru/feed/rss/topic/395" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Разработка моделей лицензирования».]]></description>
		<lastBuildDate>Wed, 19 Mar 2014 16:24:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1946/#p1946</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Тут нужно отметить, что ключи Guardant Code не выпускаются в сетевом варианте и являются исключительно локальными моделями.</p></blockquote></div><p>Опс, да действительно - моя ошибка.</p>]]></description>
			<author><![CDATA[null@example.com (Александр (Rouse_) Багель)]]></author>
			<pubDate>Wed, 19 Mar 2014 16:24:47 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1946/#p1946</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1942/#p1942</link>
			<description><![CDATA[<div class="quotebox"><cite>safelog пишет:</cite><blockquote><p>Да, как раз и требуется понять, как с помощью локального ключа (например, Sign) ограничить максимальное число одновременно работающих копий приложения на терминально сервере (см. <a href="https://forum.guardant.ru/topic/401/">Guardant Sign на терминальном сервере</a>).</p></blockquote></div><p>Ответ был дан в указанном топике.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Wed, 19 Mar 2014 08:24:27 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1942/#p1942</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1941/#p1941</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Тут нужно отметить, что ключи Guardant Code не выпускаются в сетевом варианте и являются исключительно локальными моделями.</p></blockquote></div><p>Да, как раз и требуется понять, как с помощью локального ключа (например, Sign) ограничить максимальное число одновременно работающих копий приложения на терминально сервере (см. <a href="https://forum.guardant.ru/topic/401/">Guardant Sign на терминальном сервере</a>).</p>]]></description>
			<author><![CDATA[null@example.com (safelog)]]></author>
			<pubDate>Wed, 19 Mar 2014 08:22:50 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1941/#p1941</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1938/#p1938</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр (Rouse_) Багель пишет:</cite><blockquote><p>2. это возможно реализовать только в случае использования Guardant Code (счетчик держим в самом ключе)</p></blockquote></div><div class="quotebox"><cite>safelog пишет:</cite><blockquote><div class="quotebox"><cite>Александр (Rouse_) Багель пишет:</cite><blockquote><p>2. это возможно реализовать только в случае использования Guardant Code (счетчик держим в самом ключе)</p></blockquote></div><p>Благодарю за ответ.</p><p>Думаю, здесь есть некоторая проблема:</p><p>1. При использовании сетевого ключа лицензиями управляет сервер GLDS. В случае аварийного завершения защищенного приложения<br />без выполнения GrdLogout не будет освобождения ранее захваченная лицензия. В крайнем случае можно через веб-интерфейс или перезагрузку GLDS освободить &quot;зависшие&quot; лицензии.</p><p>2. Если поместить счетчик захваченных лицензий в ключ Guardant Code, тогда невозможно его сбросить в случае аварийного завершения, кроме как из защищенного приложения. Если несколько копий приложения работает с ключом, то какое из них будет иметь высший приоритет при управлении счетчиком?</p></blockquote></div><p>Тут нужно отметить, что ключи Guardant Code не выпускаются в сетевом варианте и являются исключительно локальными моделями.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Wed, 19 Mar 2014 08:15:44 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1938/#p1938</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1937/#p1937</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр (Rouse_) Багель пишет:</cite><blockquote><p>2. это возможно реализовать только в случае использования Guardant Code (счетчик держим в самом ключе)</p></blockquote></div><p>Благодарю за ответ.</p><p>Думаю, здесь есть некоторая проблема:</p><p>1. При использовании сетевого ключа лицензиями управляет сервер GLDS. В случае аварийного завершения защищенного приложения<br />без выполнения GrdLogout не будет освобождения ранее захваченная лицензия. В крайнем случае можно через веб-интерфейс или перезагрузку GLDS освободить &quot;зависшие&quot; лицензии.</p><p>2. Если поместить счетчик захваченных лицензий в ключ Guardant Code, тогда невозможно его сбросить в случае аварийного завершения, кроме как из защищенного приложения. Если несколько копий приложения работает с ключом, то какое из них будет иметь высший приоритет при управлении счетчиком?</p>]]></description>
			<author><![CDATA[null@example.com (safelog)]]></author>
			<pubDate>Wed, 19 Mar 2014 08:07:36 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1937/#p1937</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1930/#p1930</link>
			<description><![CDATA[<p>2. это возможно реализовать только в случае использования Guardant Code (счетчик держим в самом ключе)</p>]]></description>
			<author><![CDATA[null@example.com (Александр (Rouse_) Багель)]]></author>
			<pubDate>Fri, 14 Mar 2014 21:05:21 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1930/#p1930</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1918/#p1918</link>
			<description><![CDATA[<div class="quotebox"><blockquote><ol class="decimal"><li><p>Тут реализация вызывает некоторые сомнения. У электронных ключей есть дополнительные атрибуты, которые также можно учитывать. К примеру <a href="https://forum.guardant.ru/topic/184/">тут</a> описан один из вариантов (который косвенно показывает решение и Вашей задачи) сортировки электронных ключей;</p></li><li><p>Такими, готовыми, опциями Guardant API не располагает.</p></li></ol></blockquote></div><p>Благодарю за помощь. Ситуация, описанная <a href="https://forum.guardant.ru/topic/184/">тут</a>, совпадает с моей: раскрыта суть моего вопроса.</p>]]></description>
			<author><![CDATA[null@example.com (safelog)]]></author>
			<pubDate>Thu, 13 Mar 2014 09:18:11 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1918/#p1918</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1917/#p1917</link>
			<description><![CDATA[<p>Здравствуйте.</p><p>Отвечаем на Ваши вопросы:<br /></p><div class="quotebox"><cite>safelog пишет:</cite><blockquote><ol class="decimal"><li><p>Прошу оценить корректность вышеизложенных рассуждений. Прошу указать на ошибки, если таковые имеются.</p></li><li><p>Есть ли возможность задавать ограничения на число одновременных сеансов для локального ключа?<br />Может, использовать защищенную ячейку для учета числа подключений (вызовов GrdLogin)?</p></li></ol></blockquote></div><ol class="decimal"><li><p>Тут реализация вызывает некоторые сомнения. У электронных ключей есть дополнительные атрибуты, которые также можно учитывать. К примеру <a href="https://forum.guardant.ru/topic/184/">тут</a> описан один из вариантов (который косвенно показывает решение и Вашей задачи) сортировки электронных ключей;</p></li><li><p>Такими, готовыми, опциями Guardant API не располагает.</p></li></ol>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Thu, 13 Mar 2014 08:56:12 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1917/#p1917</guid>
		</item>
		<item>
			<title><![CDATA[Разработка моделей лицензирования]]></title>
			<link>https://forum.guardant.ru/post/1915/#p1915</link>
			<description><![CDATA[<p>Для лицензирования защищаемого приложения предполагается использовать две модели:</p><ol class="decimal"><li><p>Ограниченная. Конечное число лицензий для работы на терминальном сервере и в локальной сети.<br />Захват лицензий происходит попроцессно.</p></li><li><p>Терминальная (неограниченная). Неограниченное число лицензий для работы на терминальном сервере.<br />Возможность запускать неограниченное число процессов защищаемого приложения на терминальном сервере.</p></li></ol><p>Предполагается, что цена ключей для ограниченной модели будет в разы меньше, чем цена ключа для терминальной модели.<br />В ограниченной модели формируются ключи на 5, 10, 20 и т. п. лицензий.</p><p>Первая модель может быть реализована с помощью сетевых ключей, сервера лицензирования GLDS.exe.<br />В этом случае в функции GrdSetFindMode передается флаг GrdFMR_Remote.</p><p>Вторая модель основана на использовании локального ключа.<br />В функции GrdSetFindMode передается флаг GrdFMR_Local.</p><p>Таким образом, модель лицензирования определяется в двух местах: на стороне приложения, на стороне ключа.<br />Приложение должно обеспечить поиск нужного типа ключей, а ключ должен быть определенного типа (локальный/сетевой).</p><p>Т. е. модель лицензирования зависит от сборки приложения и ключа.</p><p>Получается, что для двух разных моделей нужно делать разные сборки приложения.</p><p>Но это будет неудобно как для пользователя (если захочет перейти на другую модель лицензирования),<br />так и для разработчика (необходимо поддерживать две сборки проекта).</p><p>Следующий шаг развития моделей - обеспечить работу на стороне приложения с обоими типами ключей.</p><p>Тогда снимается зависимость модели лицензирования от сборки приложения, остается зависимость только от ключа.</p><p>Требование: модель лицензирования должна зависеть только от ключа: есть терминальный ключ - работаем в терминале, есть сетевой ключ - работаем в сети и в терминале.</p><p>Например, клиент приобрел терминальную лицензию, но затем потребовалось работь в локальной сети.<br />Тогда просто докупает нужный ключ, подключает (аппаратный)/активирует (программный) его. Переустановка приложения не потребуется.</p><p>Но здесь есть нюанс с поиском ключей.<br />Для сетевого ключа есть возможность выполнить GrdLogin, как для локального.</p><p>Получается, что если задать GrdSetFindMode(GrdFMR_Local | GrdFMR_Remote), а потом GrdLogin,<br />то можем подключиться к сетевому ключу локально.</p><p>Тогда ограничения на максимальное число лицензий, заданные в сетевом ключе, снимаются.</p><p>Варианты подключений представлены в <a href="http://yadi.sk/d/W-XZGSBaKSDDP/"><span style="color:blue">таблице</span></a>.<br />(Не удается загрузить изображение в сообщение, поэтому пришлось использовать внешний сервис).</p><p>Для работы описанных моделей нужны варианты 1 и 4.<br />Вариант 3 (комбинация GrdFMR_Local + Sign/SP Net) нужно исключить разработчиком самостоятельно:<br />необходимо запрещать подключение к сетевому ключу с флагом GrdFMR_Local.</p><p>Алгоритм поиска и подключения на ключ, обеспечивающей работу моделей лицензирования:</p><ol class="decimal"><li><p>Выполнить GrdSetFindMode(GrdFMR_Local | GrdFMR_Remote);</p></li><li><p>Сформировать список всех найденных ключей с помощью GrdFind;</p></li><li><p>Выбрать ключ, с которым необходимо работать.<br />Для выбора ключа разработчиком создается стратегия, например, сначала пробовать подключиться к локальным ключам, потом - к сетевым.</p></li><li><p>Когда ключ выбран и известен его тип (локальный/сетевой), необходимо гарантировать, что тип ключа совпадает с типом модели: на локальный ключ подключаемся локально (по-другому не получится),&nbsp; на сетевой ключ - удаленно.<br />Например, выбрали сетевой ключ, тогда выполнить GrdSetFindMode(GrdFMR_Remote, ...).</p></li><li><p>Выполнить GrdLogin.</p></li></ol><p>Вопросы:<br /></p><ol class="decimal"><li><p>Прошу оценить корректность вышеизложенных рассуждений. Прошу указать на ошибки, если таковые имеются.</p></li><li><p>Есть ли возможность задавать ограничения на число одновременных сеансов для локального ключа?<br />Может, использовать защищенную ячейку для учета числа подключений (вызовов GrdLogin)?</p></li></ol>]]></description>
			<author><![CDATA[null@example.com (safelog)]]></author>
			<pubDate>Thu, 13 Mar 2014 07:38:02 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/1915/#p1915</guid>
		</item>
	</channel>
</rss>
