Лицензирование приложения с использованием поставщиков синхронизации

Иллюстрации

Показать все

Изобретение относится к способу и системе лицензирования приложения с использованием поставщиков синхронизации. Технический результат заключается в создании усовершенствованной службы лицензирования. Предложен способ, в котором принимают запрос на лицензию для приложения от поставщика синхронизации клиента в службе лицензирования; принимают информацию, относящуюся к лицензии, от коммерческого партнера, предлагающего приложение, через поставщика синхронизации коммерческого партнера, при этом поставщик синхронизации коммерческого партнера представляет уровень абстракции, который предоставляет интерфейс прикладного программирования (API) службы лицензирования для коммерческого партнера, не разрешая при этом коммерческому партнеру осуществлять прямой доступ к уровню назначения лицензии службы лицензирования; возвращают лицензию для приложения на клиентское вычислительное устройство; принимают информацию, относящуюся к состоянию лицензии, от поставщика синхронизации клиента; и регулируют условия лицензии согласно состоянию лицензии. 3 н. и 17 з.п. ф-лы, 34 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

[0001] Лицензии, или разрешения, в целом, используются для управления доступом клиентских вычислительных устройств к конкретным приложениям, например, приложениями редактирования текста, приложениям электронной таблицы и приложениям презентации. Обычно каждый тип клиентского вычислительного устройства имеет отдельную службу лицензирования, причем тип клиентского вычислительного устройства может включать в себя, например, конкретную операционную систему (OS) клиентского вычислительного устройства или бренд клиентского вычислительного устройства. Однако использование таких отдельных служб лицензирования для каждого типа клиентского вычислительного устройства приводит к некоторым ограничениям. Например, высокая стоимость может быть связана с построением и поддержанием отдельной службы лицензирования для каждого типа клиентского вычислительного устройства. Кроме того, может быть желательно обеспечивать комплект предложений, который включает в себя лицензии для одного или более приложений, которые можно использовать на нескольких типах клиентских вычислительных устройств. Однако использование отдельных служб лицензирования может препятствовать такой комплектации предложений, поскольку комплектация опирается на интеграцию между многими различными типами устройств или систем. Дополнительно, служба рынка может испытывать трудности в интеграции с каждой отдельной службой лицензирования для продажи лицензий, и согласованное доказательство владения лицензией может быть затруднено. Например, одна служба лицензирования может использовать ключи продукта, тогда как другая служба лицензирования может использовать маркеры.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0002] Ниже в упрощенной форме представлена сущность изобретения для обеспечения общего понимания некоторых описанных здесь аспектов. Эта сущность изобретения не является развернутым обзором заявленного объекта изобретения. Она не призвана выявлять, ни ключевые или существенные элементы заявленного объекта изобретения, ни ограничивать объем объекта изобретения. Его единственной целью является представление заявленного объекта изобретения в упрощенной форме, предваряющее более подробное описание, которое приведено ниже

[0003] Один вариант осуществления предусматривает способ лицензирования приложения с использованием поставщиков синхронизации. Способ включает в себя прием запроса на лицензию для приложения от поставщика синхронизации клиента на службе лицензирования и прием информации, относящейся к лицензии, от коммерческого партнера, предлагающего приложение через поставщика синхронизации коммерческого партнера. Способ также включает в себя возвращение лицензии для приложения на клиентское вычислительное устройство, прием информации, относящейся к состоянию лицензии, от поставщика синхронизации клиента, и регулировку условий лицензии согласно состоянию лицензии.

[0004] Другой вариант осуществления предусматривает систему для лицензирования приложений с использованием поставщиков синхронизации. Система включает в себя поставщика синхронизации клиента, который выполнен с возможностью принимать запрос назначения от коммерческого партнера через поставщика синхронизации коммерческого партнера, отправлять системный вызов, запрашивающий лицензию для приложения службе лицензирования, и периодически определять и обновлять состояние лицензии. Система также включает в себя службу лицензирования, которая выполнена с возможностью возвращать лицензию для приложения на клиентское вычислительное устройство, принимать информацию, относящуюся к состоянию лицензии, от поставщика синхронизации клиента, и регулировать условия лицензии согласно состоянию лицензии.

[0005] Другой вариант осуществления предусматривает один или более машиночитаемых носителей данных, включающих в себя ряд инструкций, которые, при выполнении процессором, предписывают процессору принимать запрос на лицензию для приложения от поставщика синхронизации клиента и принимать информацию, относящуюся к лицензии, от поставщика синхронизации коммерческого партнера, соответствующего коммерческому партнеру, предлагающему приложение. Инструкции также предписывают процессору возвращать лицензию для приложения на клиентское вычислительное устройство, определять информацию, относящуюся к состоянию лицензии, и регулировать условия лицензии согласно состоянию лицензии.

[0006] Эта сущность изобретения предназначена для представления выборки концепций в упрощенной форме; эти концепции дополнительно описаны ниже в подробном описании. Эта сущность изобретения не призвана ни идентифицировать ключевые признаки или существенные признаки заявленного объекта изобретения, ни использоваться для ограничения объема заявленного объекта изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0007] фиг. 1 - блок-схема сетевого окружения, которую можно использовать для реализации описанной здесь службы лицензирования;

[0008] фиг. 2 - блок-схема вычислительной среды, которую можно использовать для реализации описанной здесь службы лицензирования;

[0009] фиг. 3A, 3B и 3C - схема системы лицензирования которую можно использовать для управления лицензиями для приложений;

[0010] фиг. 4 - блок-схема последовательности операций способа для приобретения лицензии для приложения через службу рынка;

[0011] фиг. 5 - блок-схема последовательности операций способа для первоначальной активации лицензии для приложения через службу рынка;

[0012] фиг. 6 - блок-схема последовательности операций способа повторной активации лицензии для приложения;

[0013] фиг. 7 - блок-схема, демонстрирующая ряд разрешений, или лицензий, которые были лицензированы пользователю для нескольких разных машин;

[0014] фиг. 8 - блок-схема последовательности операций способа для преобразования разрешения в другое предложение или обновление предложения, относящегося к разрешению;

[0015] фиг. 9 - блок-схема последовательности операций способа для проверки идентичности пользователя и идентичности разрешения, для которых нужно назначать бесключевую авторизацию;

[0016] фиг. 10 - блок-схема последовательности операций способа для назначения, при необходимости, бесключевой авторизации;

[0017] фиг. 11A - блок-схема последовательности операций способа извлечения существующего ключа подписки (или TBL);

[0018] фиг. 11B - блок-схема последовательности операций способа получения нового ключа подписки;

[0019] фиг. 12A - блок-схема последовательности операций способа извлечения существующего ключа продукта;

[0020] фиг. 12B - блок-схема последовательности операций способа получения нового ключа продукта;

[0021] фиг. 13 - блок-схема последовательности операций способа извлечения машин из разрешения;

[0022] фиг. 14 - блок-схема последовательности операций способа отзыва конкретной машины из разрешения;

[0023] фиг. 15A - блок-схема последовательности операций способа первоначального приобретения разрешения пользователем;

[0024] фиг. 15B - блок-схема последовательности операций способа обновления разрешения;

[0025] фиг. 16 - блок-схема последовательности операций способа назначения пользователя в OLS или преобразования пользователя из одного разрешения в другое;

[0026] фиг. 17 - блок-схема последовательности операций способа определения, обновлять ли разрешение согласно процессу ForcedUpdate;

[0027] фиг. 18A - блок-схема последовательности операций способа первоначального лицензирования приложения для устройства;

[0028] фиг. 18B - блок-схема последовательности операций способа периодической проверки состояния лицензии;

[0029] фиг. 19 - блок-схема последовательности операций способа первоначального лицензирования устройства;

[0030] фиг. 20 - блок-схема последовательности операций способа определения партнером, предоставлять ли пользователю доступ к своим службам;

[0031] фиг. 21 - схема иллюстративной конфигурации первичного центра обработки данных и множественных вторичных центров обработки данных;

[0032] фиг. 22 - схема, демонстрирующая первый этап для выполнения запланированного времени простоя;

[0033] фиг. 23 - схема, демонстрирующая второй этап для выполнения запланированного времени простоя;

[0034] фиг. 24 - блок-схема последовательности операций способа лицензирования приложения;

[0035] фиг. 25 - блок-схема последовательности операций способа лицензирования приложения с использованием поставщиков синхронизации;

[0036] фиг. 26 - блок-схема последовательности операций способа лицензирования приложения с использованием множественных форм лицензирования;

[0037] фиг. 27 - блок-схема последовательности операций способа лицензирования приложения для устройств; и

[0038] фиг. 28 - блок-схема последовательности операций способа обеспечения лицензирования приложения на пользовательской основе.

ПОДРОБНОЕ ОПИСАНИЕ

[0039] Здесь раскрыты варианты осуществления способов и систем для лицензирования приложений согласно различным критериям и методам. Используемый здесь термин “приложение” может относиться к приложению, программе или службе, реализованной в вычислительной среде. Приложения, которые можно использовать в соответствии с описанной здесь службой лицензирования, включают в себя, но без ограничения, MICROSOFT WORD, MICROSOFT EXCEL, MICROSOFT POWERPOINT, MICROSOFT VISIO или MICROSOFT SHAREPOINT, которые все доступны от Microsoft Corporation, Редмонд, Вашингтон. Приложения могут обеспечиваться вычислительному устройству службой рынка или любой из ряда сторонних служб, через сеть. Различные типы лицензий, или разрешений, для таких приложений можно получать разнообразными способами.

[0040] Описанная здесь служба лицензирования решает проблемы, рассмотренные выше в отношении использования отдельных служб лицензирования, за счет обеспечения расширяемого и согласованного способа лицензирования новых клиентских вычислительных устройств. Кроме того, служба лицензирования позволяет новым партнерам, т.е. коммерческим партнерам, легко продавать приложения, благодаря отделению процесса лицензирования от процесса приобретения. Кроме того, служба лицензирования допускает предложения, которые охватывают разные клиенты или устройства-клиенты. Служба лицензирования также позволяет пользователю разных клиентов доказывать, что они назначены для использования приложения, с помощью единичного набора мандатов. Кроме того, служба лицензирования допускает включение синхронизации периода действия лицензии между устройствами и службами, даже когда устройство переходит в оффлайн. Это может позволять восприятию на всех устройствах и службах оставаться согласованным, когда подписка утрачивает силу.

[0041] Служба лицензирования может именоваться здесь “службой лицензирования Office”, или “OLS”, поскольку ее можно использовать для лицензирования приложений MICROSOFT OFFICE, т.е. “Office”, доступных от Microsoft Corporation, Редмонд, Вашингтон, в том числе, вышеперечисленных. Однако следует понимать, что службу лицензирования также можно использовать для лицензирования любых других подходящих типов приложений, доступных от самых разнообразных поставщиков.

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

[0043] В некоторых вариантах осуществления, OLS выполнена с возможностью периодически проверять состояние лицензии пользователя. Это может обеспечивать баланс между способностью использовать продукт оффлайн и способностью получать последнюю информацию лицензирования, например, отозвана ли лицензия. Состояние лицензии пользователя может именоваться “пульсом подписки”. Пульс подписки можно использовать для определения, подлежит ли лицензия для приложения деактивации, что означает деактивацию соответствующего приложения.

[0044] OLS может обеспечивать синхронизацию состояния лицензии пользователя между множественными устройствами и службами. В некоторых вариантах осуществления, OLS позволяет устройствам, где выполняются Office, например, ПК, макам, мобильным телефонам или компактным устройствам, и службы Office, например, настройки переноса, иметь согласованное состояние лицензии. Таким образом, когда пользовательская подписка утрачивает силу, доступ к клиентам и службам может затрудняться одновременно. Кроме того, благодаря предустановке срока действия оффлайновой лицензии для конкретного устройства, состояние лицензии можно синхронизировать даже если пользователь переходит в оффлайн.

[0045] Дополнительно, OLS может обеспечивать терпимость к оффлайновым клиентам, а также обнаружение мошенничества. Например, OLS может включать в себя логику, которая позволяет отличать случай, когда новый клиент запрашивает лицензию, от случая, когда существующий клиент запрашивает продление лицензии. OLS также может включать в себя логику, которая определяет, когда пользователь осуществляет мошеннические действия, например, запрашивает чрезмерное количество новых лицензий, тем не менее, позволяя пользователю добавлять и удалять устройства и поддерживать определенное количество активных устройств.

[0046] В различных вариантах осуществления, OLS обеспечивает лицензирование устройств. Например, OLS может обеспечивать лицензирования устройств MOX, причем термин “MOX”, в целом, относится ко всем устройствам Windows 8 Slate. OLS может обеспечивать такое лицензирование с использованием мандата и OLS-лицензии. OLS-лицензия это новая форма лицензии, которая отличается от традиционной авторизации предоставляемой через ключ продукта. OLS-лицензия может включать в себя конфигурируемые периоды проверки лицензии, конфигурируемые с сервера вне традиционной системы, например, традиционной системы Office Software Protection Platform (OSPP).

[0047] В различных вариантах осуществления, OLS может обеспечивать лицензирование для служб. В частности, OLS может обеспечивать масштабирование для обеспечения лицензирования служб с использованием опросной модели, где служба запрашивает OLS по мере необходимости. OLS может кэшировать информацию назначения/лицензии на определенный промежуток времени на самих службе или клиенте для обеспечения масштабируемости системы. Кроме того, для обеспечения лицензирования служб можно использовать модель с активным источником данных.

[0048] OLS может обеспечивать отказоустойчивость. Например, точка восстановления вблизи нулевого дня и время восстановления вблизи нулевой минуты могут достигаться через географически распределенные серверы, которые поддерживаются в синхронизме с использованием заказной логики географического дублирования. Это может осуществляться путем отделения информации, которую все время нужно поддерживать в синхронизме, от информации, которую можно синхронизировать до определенной степени, с последующей синхронизацией информации через пул поставщиков синхронизации. Кроме того, во избежание перезаписи можно использовать механизмы блокировки.

[0049] Дополнительно, OLS может обеспечивать лицензирование на пользовательской основе. Информация лицензирования для использования богатого клиентского приложения может отправляться с сервера и может базироваться на информации входа пользователя. Информация лицензирования может сохраняться на сервере, а не на клиенте, и информация лицензирования может переноситься совместно с пользователем на сервер. Это можно использовать в ряде сценариев, например, для переноса приложений или для первоначального получения до использования лицензирования на основе ключа.

[0050] В качестве предварительного предмета, некоторые из фигур описывают концепции в контексте одного или более структурных компонентов, иначе именуемых функциональными возможностями, модулями, признаками, элементами и т.д. Различные компоненты, показанные на чертежах, можно реализовать по-разному, например, в программном обеспечении, аппаратном обеспечении (например, дискретных логических компонентах и т.д.), программно-аппаратном обеспечении и т.д. или любой комбинации этих реализаций. В одном варианте осуществления, различные компоненты могут отражать использование соответствующих компонентов в фактической реализации. В других вариантах осуществления, любой отдельно взятый компонент, проиллюстрированный на чертежах, может быть реализован несколькими фактическими компонентами. Указание любых двух или более отдельных компонентов на чертежах может отражать разные функции, осуществляемые единственным фактическим компонентом. Фиг. 1, рассмотренная ниже, обеспечивает детали, касающиеся одной системы, которую можно использовать для реализации функций, показанных на чертежах.

[0051] Другие фигуры описывают концепции в форме блок-схемы операций. В этой форме, определенные операции описываются как образующие отдельные блоки, осуществляемые в определенном порядке. Такие реализации являются иллюстративными и неограничительными. Некоторые описанные здесь блоки можно группировать друг с другом и осуществлять в единой операции, некоторые блоки можно разбивать на несколько компонентных блоков, и некоторые блоки можно выполнять в порядке, который отличается от проиллюстрированного здесь, в том числе, блоки можно выполнять параллельно. Блоки, показанные в блок-схемах операций, можно реализовать посредством программного обеспечения, аппаратного обеспечения, программно-аппаратного обеспечения, ручной обработки и пр., или любой комбинации этих реализаций. Используемый здесь термин "аппаратное обеспечение" может включать в себя компьютерные системы, дискретные логические компоненты, например, специализированные интегральные схемы (ASIC) и пр., а также любые их комбинации.

[0052] Что касается терминологии, выражение “выполненный с возможностью” следует понимать в том смысле, что функциональные возможности любого вида можно построить для осуществления той или иной операции. Функциональные возможности могут быть выполнены с возможностью осуществления операции с использованием, например, программного обеспечения, аппаратного обеспечения, программно-аппаратного обеспечения и пр., или любых их комбинаций.

[0053] Термин “логика” охватывает любые функциональные возможности для осуществления задания. Например, каждая операция, проиллюстрированная в блок-схемах операций, соответствует логике для осуществления этой операции. Операция может осуществляться с использованием, например, программного обеспечения, аппаратного обеспечения, программно-аппаратного обеспечения и пр., или любых их комбинаций.

[0054] Используемые здесь термины “компонент”, “система”, “клиент” и пр. относятся к компьютерному объекту, реализованному в виде аппаратного обеспечения, программного обеспечения (например, в исполнимой форме) и/или программно-аппаратного обеспечения, или их комбинации. Например, компонентом может быть процесс, выполняющийся на процессоре, объект, исполнимый модуль, программа, функция, библиотека, подпроцедура и/или компьютер или комбинация программного обеспечения и аппаратного обеспечения.

[0055] В порядке иллюстрации, компонентом может быть, как приложение, выполняющееся на сервере, так и сервер. Один или более компонентов могут располагаться в процессе, и компонент может располагаться на одном компьютере и/или распределяться между двумя или более компьютерами. Термин “процессор”, в целом, следует рассматривать как аппаратный компонент, например, блок обработки компьютерной системы.

[0056] Кроме того, заявленный объект изобретения может быть реализован как способ, устройство или промышленное изделие с использованием стандартных методов программирования и/или проектирования для создания программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или любой их комбинации для управления компьютером для реализации раскрытого объекта изобретения. Используемый здесь термин “промышленное изделие” призван охватывать компьютерную программу, доступную с любого материального машиночитаемого запоминающего устройства или носителя.

[0057] Машиночитаемые носители данных включают в себя запоминающие устройства (например, жесткий диск, флоппи-диск, и магнитные полоски), оптические диски (например, компакт-диск (CD), и цифровой универсальный диск (DVD)), смарт-карты, и устройства флэш-памяти (например, карту, накопитель и флэш-носитель). Напротив, машиночитаемые среды (т.е. не носители данных) может дополнительно включать в себя такие среды связи, как среды передачи данных для передачи сигналов и пр.

[0058] Кроме того, слово “иллюстративный” используется здесь в смысле служащий примером, экземпляром или иллюстрацией. Любой аспект или конструкция описанный(ая) здесь как “иллюстративный(ая)” не обязательно рассматривать как предпочтительный или имеющий преимущество над другими аспектами или конструкциями.

ВЫЧИСЛИТЕЛЬНАЯ СРЕДА

[0059] Для обеспечения контекста для реализации различных аспектов заявленного объекта изобретения, фиг. 1-2 и нижеследующее рассмотрение призвано обеспечивать краткое, общее описание вычислительной среды, в которой могут быть реализованы различные аспекты настоящего изобретения. Например, способ и систему для лицензирования приложений можно реализовать в такой вычислительной среде. Хотя заявленный объект изобретения описан выше в общем контексте компьютерноисполняемых инструкций компьютерной программы, которая выполняется на локальном компьютере или удаленном компьютере, специалистам в данной области техники очевидно, что настоящее изобретение также может быть реализовано в сочетании с другими программными модулями. В целом, программные модули включают в себя процедуры, программы, компоненты, структуры данных и т.д., которые осуществляют конкретные задания или реализуют конкретные абстрактные типы данных.

[0060] Кроме того, специалистам в данной области техники очевидно, что настоящее изобретение можно осуществлять на практике с другими конфигурациями компьютерной системы, включающими в себя однопроцессорные или многопроцессорные компьютерные системы, миникомпьютеры, универсальные компьютеры, а также персональные компьютеры, карманные вычислительные устройства, бытовые электронные приборы на основе микропроцессора или возможности программирования и пр., каждый из которых может оперативно связываться с одним или более связанными устройствами. Проиллюстрированные аспекты заявленного объекта изобретения также можно осуществлять на практике в распределенных вычислительных средах, где определенные задания осуществляются удаленными устройствами обработки, которые связаны между собой сетью связи. Однако некоторые, если не все, аспекты настоящего изобретения можно осуществлять на практике на автономных компьютерах. В распределенной вычислительной среде, программные модули могут располагаться в локальных или удаленных запоминающих устройствах.

[0061] На фиг. 1 показана блок-схема сетевого окружения 100, которое можно использовать для реализации описанной здесь службы лицензирования. Сетевое окружение 100 включает в себя один или более клиентов 102. Клиент(ы) 102 могут представлять собой аппаратное обеспечение и/или программное обеспечение (например, потоки, процессы или вычислительные устройства). Сетевое окружение 100 также включает в себя один или более серверов 104. Сервер(ы) 104 могут представлять собой аппаратное обеспечение и/или программное обеспечение (например, потоки, процессы или вычислительные устройства). Серверы 104 могут заключать в себе потоки для осуществления операций поиска, например, с применением настоящего изобретения.

[0062] Одна возможная связь между клиентом 102 и сервером 104 может осуществляться в форме пакета данных, предназначенного для передачи между двумя или более компьютерными процессами. Сетевое окружение 100 включает в себя инфраструктуру 108 связи, которую можно применять для облегчения связи между клиентом(ами) 102 и сервером(ами) 104. Клиент(ы) 102 оперативно подключае(ю)тся к одному или более клиентским хранилищам 110 данных, которые можно применять для хранения информации, локальной по отношению к клиенту(ам) 102. Клиентское(ие) хранилище(а) 110 данных может(гут) храниться на клиенте(ах) 102 или может(гут)располагаться удаленно, например на облачном сервере. Аналогично, сервер(ы) 104 оперативно подключае(ю)тся к одному или более серверным хранилищам 106 данных, которые можно применять для хранения информации, локальной по отношению к серверам 104.

[0063] На фиг. 2 показана блок-схема вычислительной среды, которую можно использовать для реализации описанной здесь службы лицензирования. Вычислительная среда 200 включает в себя компьютер 202. Компьютер 202 включает в себя блок 204 обработки, системную память 206 и системную шину 208. Системная шина 208 подключает системные компоненты, включающие в себя, но без ограничения, системную память 206, к блоку 204 обработки. Блок 204 обработки может представлять собой любой из различных доступных процессоров. В качестве блока 204 обработки также можно применять двухмикропроцессорные и другие многопроцессорные архитектуры.

[0064] Системная шина 208 может представлять собой любой из нескольких типов шинных структур, включающих в себя шину памяти или контроллер памяти, периферийную шину или внешнюю шину или локальную шину, использующих разнообразные доступные шинные архитектуры, известный специалистам в данной области техники. Системная память 206 представляет собой машиночитаемый носитель данных, который включает в себя энергозависимую память 210 и энергонезависимую память 212. Базовая система ввода/вывода (BIOS), содержащая основные процедуры для переноса информации между элементами компьютера 202, например, при запуске, хранится в энергонезависимой памяти 212. В порядке иллюстрации, но не ограничения, энергонезависимая память 212 может включать в себя постоянную память (ПЗУ), программируемое ПЗУ (ППЗУ), электрически программируемое ПЗУ (СППЗУ), электрически стираемое программируемое ПЗУ (ЭСППЗУ) или флэш-память.

[0065] Энергозависимая память 210 включает в себя оперативную память (ОЗУ), которая действует как внешняя кэш-память. В порядке иллюстрации, но не ограничения, ОЗУ доступна во многих формах, например, статического ОЗУ (SRAM), динамического ОЗУ (DRAM), синхронного DRAM (SDRAM), SDRAM с удвоенной скоростью передачи данных (DDR SDRAM), улучшенной SDRAM (ESDRAM), SynchLink™ DRAM (SLDRAM), ОЗУ прямого доступа Rambus® (RDRAM), динамического ОЗУ прямого доступа Rambus® (DRDRAM) и динамического ОЗУ Rambus® (RDRAM).

[0066] Компьютер 202 также включает в себя другие машиночитаемые носители данных, например сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных. На Фиг. 2 показан, например, дисковый накопитель 214. Дисковый накопитель 214 включает в себя, но без ограничения, такие устройства, как привод магнитного диска, привод флоппи-диска, лентопротяжный механизм, привод Jaz, привод Zip, привод LS-100, карту флэш-памяти или карту памяти.

[0067] Кроме того, дисковый накопитель 214 может включать в себя носители данных по отдельности или в сочетании с другими носителями данных, включающими в себя, но без ограничения, привод оптического диска, например, устройство незаписываемого компакт-диска (CD-ROM), привод записываемого CD (привод CD-R), привод перезаписываемого CD (привод CD-RW) или привод незаписываемого цифрового универсального диска (DVD-ROM). Для облегчения подключения дискового накопителя 214 к системной шине 208, обычно используется интерфейс сменных или стационарных устройств, например, интерфейс 216.

[0068] Очевидно, что фиг. 2 описывает программное обеспечение, которое выступает в роли посредника между пользователями и основными компьютерными ресурсами, описанными в вычислительной среде 200. Такое программное обеспечение включает в себя операционную систему 218. Операционная система 218, которая может храниться на дисковом накопителе 214, действует для управления и выделения ресурсов компьютера 202.

[0069] Системные приложения 220 пользуются преимуществом управления ресурсами операционной системой 218 через программные модули 222 и программные данные 224, хранящиеся либо в системной памяти 206, либо на дисковом накопителе 214. Очевидно, что заявленный объект изобретения можно реализовать с различными операционными системами или комбинациями операционных систем.

[0070] Пользователь вводит команды или информацию в компьютер 202 через устройства 226 ввода. Устройства 226 ввода включают в себя, но без ограничения, указательное устройство (например, мышь, шаровой манипулятор, стилус и т.п.), клавиатуру, микрофон, жестовое или сенсорное устройство ввода, голосовое устройство ввода, джойстик, спутниковую антенну, сканер, карта ТВ-тюнера, цифровой фотоаппарат, цифровую видеокамеру, веб-камеру и т.п. Устройства 226 ввода подключаются к блоку 204 обработки через системную шину 208 с помощью интерфейсного(ых) порта(ов) 228. Интерфейсный(е) порт(ы) 228 включают в себя, например, последовательный порт, параллельный порт, игровой порт и универсальную последовательную шину (USB). Устройство(а) 230 вывода также может(гут) использовать те же типы портов, что и устройство(а) 226 ввода. Таким образом, например, порт USB можно использовать для обеспечения ввода в компьютер 202 и для вывода информации из компьютера 202 на устройство 230 вывода.

[0071] Выходной адаптер 232 обеспечен для иллюстрации, что существуют некоторые устройства 230 вывода, например мониторы, громкоговорители и принтеры, и другие устройства 230 вывода, которые доступны через выходные адаптеры 232. Выходные адаптеры 232 включают в себя, в порядке иллюстрации, но не ограничения, видео и звуковые карты, которые обеспечивают средство соединения между устройством 230 вывода и системной шиной 208. Можно отметить, что другие устройства и/или системы устройств обеспечивают одновременно возможности ввода и вывода, например, удаленный(е) компьютер(ы) 234.

[0072] Компьютер 202 может представлять собой сервер, где установлена система прогнозирования событий в сетевом окружении, например, сетевом окружении 100, использующая логические соединения с одним или более удаленными компьютерами, например, удаленным(и) компьютером(ами) 234. Удаленный(е) компьютер(ы) 234 может(гут) быть клиентскими системами сконфигурированными в виде веб-браузеров, приложений ПК, приложений для мобильных телефонов и пр. Удаленный(е) компьютер(ы) 234 может(гут) быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, рабочей станцией, электроприбором на базе микропроцессора, мобильным телефоном, равноправным устройством или другим общим узлом сети и пр. и обычно включает в себя многие или все из элементов, описанных в отношении компьютера 202. Для краткости, удаленный(е) компьютер(ы) 234 проиллюстрирован(ы) с запоминающим устройством 236. Удаленный(е) компьютер(ы) 234 логически подключен(ы) к компьютеру 202 через сетевой интерфейс 238 и затем физически соединен(ы) через коммуникационное соединение 240.

[0073] Сетевой интерфейс 238 охватывает сети проводной и/или беспроводной связи, например, локальные сети (LAN) и глобальные сети (WAN). Технологии LAN включают в себя интерфейс передачи данных по волоконно-оптической сети (FDDI), интерфейс передачи данных по коаксиальному кабелю (CDDI), Ethernet, маркерное кольцо и пр. Технологии WAN включают в себя, но без ограничения, двухточечные линии связи, сети с коммутацией каналов, например, цифровые сети с интегрированным обслуживанием (ISDN) и их разновидности, сети с коммутацией пакетов и цифровые абонентские линии (DSL).

[0074] Коммуникационное(ые) соединение(я) 240 относи(я)тся к аппаратному/программному обеспечению, применяемому для подключения сетевого интерфейса 238 к системной шине 208. Хотя коммуникационное соединение 240 показано для упрощения иллюстрации внутри компьютера 202, оно также может быть внешним по отношению к компьютеру 202. Аппаратное/программное обеспечение для соединения с сетевым интерфейсом 238 может включать в себя, например, внутреннюю и внешнюю технологии, например, коммутаторы мобильной телефонной связи, модемы, включающие в себя обычные модемы для телефонных линий, кабельные модемы и модемы DSL, адаптеры ISDN и карты Ethernet.

Система лицензирования

[0075] На фиг. 3A, 3B и 3C показана схема системы 300 лицензирования, которую можно использовать для управления лицензиями для приложений. Система 300 лицензирования описана в отношении службы 302 лицензирования Office (OLS), которая используется для управления лицензиями для приложений Office или приложений, которые доступны через Office. Однако следует понимать, что систему 300 лицензирования также можно использовать для управления любыми другими подходящими типами приложений или служб.

[0076] Система 300 лицензирования может включать в себя ряд поставщиков 304A-D синхронизации. Поставщики 304A-D синхронизации являются подключаемыми компонентами, которые обеспечивают расширяемость системы 300 лицензирования без модификации OLS 302. Поставщики 304A-D синхронизации могут позволять ряду коммерческих партнеров взаимодействовать с OLS 302. Например, как показано на фиг. 3A, поставщик 304A синхронизации Microsoft Online (MSOnline) может разрешать взаимодействие между OLS 302 и партнером 306A MSOnline. Поставщик 304B синхронизации Office Marketplace Experience (OMEX) может разрешать взаимодействие между OLS 302 и партнером OMEX 306B. Поставщик 304C синхронизации активации пункта продаж (POSA) может разрешать взаимодействие между OLS 302 и партнером 306C POSA.

[0077] Кроме того, поставщик 304D синхронизации клиента может разрешать взаимодействие между OLS 302 и клиентским вычислительным устройством 308. Клиентское вычислительное устройство 308 может быть вычислительным устройством любого подходящего типа, например, настольным компьютером или портативным компьютером, который может лицензироваться пользователю конкретного приложения или службы через систему 300 лицензирования с использованием OLS 302. Кроме того, любое количество новых коммерческих партнеров также может интегрироваться в систему 300 лицензирования с использованием любого количества дополнительных поставщиков синхронизации.

[0078] Как показано на фиг. 3A, каждый поставщик 304A, 304B, 304C и 304D синхронизации может включать в себя один или более компонентов для осуществления действий, запрашиваемых соответствующим партнером 306A, 306B, 306C и 308D. Кроме того, каждый поставщик 304A, 304B, 304C и 304D синхронизации может взаимодействовать с одним или более интерфейсами прикладного программирования (API) 310 назначения в OLS 302, как указано стрелками 312A, 312B, 312C и 312D, соответственно. API 310 назначения используются OLS 302 для осуществления действий назначение. Источники, вызывающие API 310 назначения, например поставщики 304A-D синхронизации, в целом, предполагаются доверенными источниками.

API OLS

[0079] OLS 302 может включать в себя ряд API 314 OLS, которые используются для извлечения информации из OLS 302, а также для передачи и приема информации от клиентского вычислительного устройства 308. API 314 OLS могут вызываться клиентом 316 лицензирования Office (OLC) клиентского вычислительного устройства 308, как указано стрелками 318A и 318B. API 314 OLS также могут вызываться любыми службами или веб-сайтами 320A и 320B, которым нужно отправить или получить информацию машины или лицензирования из OLS 302, как указано стрелками 322A, 322B и 322C. API 314 OLS могут осуществлять такие действия, как проверка статуса назначения ключа продукта или пользователя или, например, извлечение ключа продукта.

[0080] В некоторых вариантах осуществления, существует два набора API 314 OLS, включающие в себя публичную версию, которая доступна через интернет и вызывается OLC, и частную версию, которая доступна только определенным доверенным партнерам и вызывается этими партнерами. Главное различие между публичной версией и частной версией API 314 OLS состоит в том, что частная версия может принимать в качестве идентичности уникальный ID паспорта (PUID), а не мандат пользователя, и частная версия может быть реализована как другая конечная точка с использованием других серверов, чем публичная версия.

[0081] OLC 316 клиентского вычислительного устройства 308 является компонентом со стороны клиента, который осуществляет функции лицензирования со стороны клиента, например, связи с