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

Код документа: RU2628203C2

Чертежи

Показать все 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 является компонентом со стороны клиента, который осуществляет функции лицензирования со стороны клиента, например, связи с OLS 304, активации лицензии через OSPP 324, взаимодействия с UI и обеспечения авторизации выполнения Office 326 на клиентском вычислительном устройстве 308. OLC 316 также может отправлять информацию поставщику 304C синхронизации POSA и поставщику 304D синхронизации клиента, как указано стрелками 328A и 328B, соответственно. Например, OLC 316 может навязывать данные, относящиеся к лицензии клиентского вычислительного устройства 308, поставщику 304D синхронизации клиента.

[0082] В различных вариантах осуществления, OLC 316 также осуществляет связь с платформой 330 идентичности. Платформа 330 идентичности может включать в себя информацию, относящуюся к идентичности пользователя, например, ID Office Marketplace пользователя, т.е. Live ID. Такую информацию можно использовать для активации Office 326 на клиентском вычислительном устройстве 308.

[0083] OLC 316 может распознавать, активировал ли пользователь, или клиент, Office 326 с использованием Live ID или BPOS ID. Это может позволять использовать пользовательские интерфейсы, зависящие от контекста. Например, UI Live ID может отличаться от UI BPOS. Кроме того, OLC 316 может быть способен определять, какой UI отображать пользователю, согласно месту загрузки или CD, используемому для установки Office 326.

[0084] OLS 302 может включать в себя службу 332 кэширования ключа продукта и кэш 334 ключа продукта. Кэш 334 ключа продукта может представлять собой регулярно наполняемый кэш ключей продукта, которые используются OLS 302. Служба 332 кэширования ключа продукта может быть выполнена с возможностью извлечения ключей продукта из базы данных 336 ключей продукта, как указано стрелкой 338.

[0085] OLS 302 также может включать в себя службу 340 отзыва. Служба 340 отзыва может быть асинхронной службой, которая проверяет отозванные ключи продукта в OLS посредством связи с системой 342 проверки активации (AVS), как указано стрелкой 344. Служба 340 отзыва также может периодически деактивировать лицензии, которые связаны с отозванными ключами продукта, через AVS 342.

[0086] Система 300 лицензирования также может включать в себя систему 346 обнаружения мошенничества. Система обнаружения мошенничества может включать в себя службу 348 обнаружения мошенничества и базу данных 350 обнаружения мошенничества. Служба 348 обнаружения мошенничества может синхронизировать соответствующие данные с базой данных 350 обнаружения мошенничества из хранилища 352 лицензий OLS 302 на регулярной основе. Служба 348 обнаружения мошенничества может получать данные из хранилища 352 лицензий через уровень 354 доступа к данным OLS 302, как указано стрелкой 356. Затем служба 348 обнаружения мошенничества может анализировать данные отдельно от OLS 302, таким образом, снижая нагрузку на OLS 302. В различных вариантах осуществления, реализация системы 346 обнаружения мошенничества отдельно от OLS 302 также позволяет обновлять компоненты системы 346 обнаружения мошенничества без изменения OLS 302.

Использование службы лицензирования для Office

[0087] В этом разделе рассмотрено несколько иллюстративных вариантов осуществления использования службы лицензирования (или OLS), описанной здесь для Office или, в частности, Office 2013 (также известного как Office 15). В Office 2013, OLS может поддерживать различные модели лицензирования, например, подписки Business Productivity Online Suite (BPOS), где термин “BPOS” используется взаимозаменяемо с Microsoft Online и Microsoft 365, и потребительские подписки. OLS также может поддерживать классическое бессрочное лицензирование, лицензирование с пробным использованием и бесключевое, т.е. на основе мандата, лицензирование, а также преобразования между различными моделями. Кроме того, OLS может поддерживать эти различные модели в контексте различных способов доставки, например, предварительной загрузки производителя оригинального оборудования (OEM), CD и электронного распространения программного обеспечения (ESD).

[0088] Различные модели лицензирования, поддерживаемые OLS, в Office 2013 являются ключевыми бизнес-приоритетами для Office 2013. Единая система, которая может распоряжаться всеми этими различными моделями, может снижать служебную нагрузку и сложность Office 2013.

Сценарии BPOS

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

[0090] Ниже приведено объяснение нескольких иллюстративных вариантов осуществления приобретения и назначения подписки для сценариев BPOS. Согласно таким вариантам осуществления, владелец компании приобретает BPOS и подписку на Office с восемью пользовательскими лицензиями как часть BPOS для своих работников. Админ по информационным технологиям (IT) для компании создает учетную запись, включающую в себя мандат BPOS для каждого из восьми работников. Затем IT-админ назначает пользовательскую лицензию для Office для каждого из работников.

Пользователь с единственной машиной

[0091] Работник принимает электронную почту от IT-админа, где сообщается, что теперь он может использовать Office 2013. В электронной почте имеется ссылка на Office.com, которая обеспечивает информацию о продуктах и службах, которые доступны для его использования. Работник кликает по ссылке в электронной почте, получает запрос на вход со своим мандатом BPOS, и видит ссылку для запуска Office 2013. Работник кликает по ссылке, и Office 2013 мгновенно запускается. При запуске Office 2013 работнику требуется удостоверить свой мандат для активации Office 2013.

Пользователь с несколькими машинами

[0092] Когда работник посещает Office.com, он узнает, что подписка допускает установку Office 2013 не более чем на двух машинах. Таким образом, работник входит в Office.com со второй машины и использует ту же процедуру для установки и запуска Office на второй машине.

[0093] Хотя работник знает, что ему разрешено использовать Office только на двух машинах, он хочет посмотреть, что будет, если он попробует установить и запустить его на третьей машине. Работник выполняет ту же процедуру, и Office запускается. Однако на этот раз Office сообщает работнику, что он уже использовал свою лицензию на двух других машинах. Работнику представляется список машин, на которых он установил Office, и предлагается удалить свою лицензию с одной из других машин для продолжения работы. Вместо того чтобы выбрать машину для удаления из списка, он решает дать отмену. Работник может сохранять способность использовать Office, установленный на третьей машине определенное количество дней, поскольку подписочная лицензия может допускать льготный период. Если работник выбирает удалить свою лицензию с одной из существующих двух машин, лицензия на этой машине будет удалена, и он получит возможность активировать свою лицензию на третьей машине.

Отзыв пользователя

[0094] Несколько месяцев спустя, работник берет отпуск. Владелец решает нанять временного работника по контракту для замещения работника, находящегося в отпуске. Прежде чем начнется первый рабочий день работника по контракту, IT-админ компании деактивирует учетную запись BPOS работника, создает учетную запись для работника по контракту, и назначает работника по контракту на Office.

[0095] В свой первый рабочий день работник по контракту получает компьютер работника и учетную запись, созданную для него. Запустив Office, работник по контракту оповещается о том, что срок действия текущей лицензии на Office на его машине истек, и что он может войти под другой учетной записью, чтобы продолжить использовать Office. Работник по контракту вводит информацию своей учетной записи и получает возможность нормально использовать Office. Если работник по контракту не войдет под своей учетной записью, он может воспользоваться льготным периодом, в течение которого он может продолжать использовать Office.

Продление подписки

[0096] По прошествии примерно года, владелец компании принимает электронную почту с извещением о продлении. Владелец решает продлить подписка еще на год. Владелец посещает Office.com для продления подписки. При этом работники могут беспрепятственно использовать Office.

Сценарии крупного предприятия

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

[0098] Ниже приведено объяснение нескольких иллюстративных вариантов осуществления приобретения и назначения подписки для сценариев крупного предприятия. Согласно таким вариантам осуществления, менеджер по снабжению для компании часто ездит в командировки. Иногда он не имеет при себе компьютера и заимствует, что может у своих поставщиков. Он является одним из работников, которого IT-админ компании назначил на Office.

Пользователь переносит приложения Office на неизвестную машину

[0099] Когда менеджер по снабжению приезжает в другую компанию, он забывает свой портативный компьютер. Однако ему нужен доступ к электронной таблице, над которой он работает. К счастью, он вспоминает, что корпоративная подписка на Office позволяет ему осуществлять доступ к Office в любом месте и в любое время. Менеджер по снабжению заимствует портативный компьютер у IT-менеджера другой компании и заходит на Office.com. Через Office.com, менеджер по снабжению имеет возможность запустить Excel для временного использования, и имеет возможность извлечь электронную таблицу. В конце дня, менеджер по снабжению возвращает портативный компьютер другой компании.

[00100] Приняв портативный компьютер, IT-менеджер другой компании, к своему удивлению, не находит на портативном компьютере никаких следов электронной таблицы или Office менеджера по снабжению. Это обусловлено тем, что количество действий по открытию Office за день отслеживается и ограничивается для предотвращения мошенничества.

[00101] При запуске Excel менеджеру по снабжению может быть предложено предъявить мандат, или он может запоминаться на Office.com. Office.com может знать, имеет ли менеджер по снабжению Office на машине, которой он в настоящее время пользуется. Веб-сайт BPOS может предоставлять менеджеру по снабжению выбор назначать конкретную машина, или временно использовать Office на машине. В ряде случаев, Office может оставаться на машине. Однако когда IT-менеджер другой компании запустит Office, от него потребуется мандат, чтобы он мог использовать Office.

Обновление подписки от Office 2010 до Office 2013

[00102] Компания несколько лет использовала подписку на BPOS Office 2010 (или Office 14), и владелец был доволен. Несколько дней назад владелец получил электронную почту, извещающую его и IT-админа о том, что возможности обновления до Office 2013, предусмотренной корпоративной подпиской. Владельцу также сообщается, что его текущие установки Office 2010 продолжат работать, но только еще один год.

[00103] IT-админ заходит на веб-сайт администратора BPOS и обновляет работников компании до Office 2013. Затем каждый работник принимает электронную почту с инструкциями по загрузке Office 2013.

[00104] Менеджер по снабжению принимает электронную почту и кликает по ссылке на Office.com из электронной почты. Он получает запрос на вход по своему мандату BPOS и видит ссылку для запуска Office 15. Он кликает по ссылке, и Office мгновенно запускается. При запуске Office, ему нужно удостоверить свой мандат для активации Office. С другой стороны, бухгалтер компании игнорирует электронную почту и продолжает использовать Office 2010. Через год установка Office 2010 бухгалтера перестает работать, тогда как установка Office 2013 менеджера по снабжению продолжает работать.

Сценарии Office Market Place (OMEX)

[00105] Сценарии OMEX ориентированы на конечных пользователей. Согласно таким сценариям, конечный пользователь приобретает Office через Office.com или через закулисье Office 2013. Такие сценарии могут включать в себя, как бессрочные, так и подписочные лицензии. Пользовательский интерфейс (UI) лицензирования может быть способен определять, связан ли пользователь со сценарием BPOS или сценарием OMEX, и может отображать соответствующий UI.

Пользователь выполняет обновление унаследованной версии Office через Office.com

[00106] Ниже приведен пример сценария, в котором пользователь выполняет обновление унаследованной версии, т.е. существующей версии Office через Office.com. Пользователь использовал Office 2010 Home and Student на своем компьютере и теперь хочет приобрести последнюю версию. Пользователь заходит на Office.com, где ему предоставляется выбор. Пользователь решает купить подписку. Создав Live ID заплатив за подписку, пользователь запускает Office 2013. На экране возникает предупреждение, извещающее пользователя о том, что на его машине стоит устаревшая копия Office. Когда пользователь подтверждает свое желание продолжить, Office 2010 безопасно деинсталлируется, и запускается новая версия. Пользователю предлагается предъявить мандат, который он использовал для покупки подписки. Пользователь вводит свой мандат и получает возможность нормально использовать Office.

[00107] В некоторых вариантах осуществления, Office 2013 дает пользователю возможность, по его выбору, загрузить/установить Office 2013 или запустить Office 2013. Мандат может запоминаться и автоматически передаваться из интернета в Office 2013, чтобы не требовать мандат у пользователя. Например, фактический ключ продукта можно вставлять в имя файла, если сайт загрузки защищен. Однако может быть желательным принуждать пользователя заходить с удостоверением мандата, даже если мандат может передаваться. В ряде случаев можно предположить, что пользователи, покупающие в Office.com, имеют Live ID. Ключ продукта может резервно копироваться на унаследованной копии Office пользователя.

Пользователь приобретает подписную лицензию на Office через Office.com

[00108] Этот сценарий идентичен сценарию, в котором пользователь выполняет обновление от унаследованной версии Office через Office.com, за исключением того, что никакого предупреждения, касающегося унаследованной версии Office, нет, поскольку на машине отсутствует унаследованная версия. В различных вариантах осуществления, у пользователя не запрашивается его мандат после первоначальной активации конкретной машины. Зато последующие активации производятся через MachineKey.

Пользователь приобретает бессрочную лицензию Office через Office.com

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

Пользователь обновляет подписку на Office на первом компьютере со второго компьютера через Office.com, когда пользователь владеет подпиской на Office на первом компьютере

[00110] Согласно этому сценарию, пользователь приобретает подписку на Office 2013 Home and Student и устанавливает его на свой настольный компьютер и на свой портативный компьютер. Пользователь решает совершить обновление до Office 2013 Professional. С настольного компьютера, пользователь заходит на Office.com и обновляет подписку. В Office.com перечислены компьютеры, для которых в настоящее время действуют подписки на его Office 2013 Home and Student, и пользователь извещается о том, что эти компьютеры будут автоматически обновлены до Office 2013 Professional, если компьютеры имеют доступ в интернет, когда пользователь запускает Office на этих компьютерах. Пользователь также получает ссылку для немедленного обновления настольного компьютера. Пользователь сразу же кликает по ссылке и предоставляет свой мандат. Затем Office обновляется до Office 2013 Professional на настольном компьютере.

[00111] Несколько дней спустя, пользователь запускает Word на своем портативном компьютере. При запуске Word, пользователь извещается о том, что произошло изменение лицензирования, и пользователь получает возможность, по своему выбору, произвести обновление до Office 2013 Professional сейчас, произвести обновление позже или удалить эту машину из подписки. Пользователь решает совершить обновление позже. На следующий день, пользователь снова запускает Word и получает те же варианты выбора. Пользователь решает совершить обновление сейчас.

[00112] В различных вариантах осуществления, пользователь может быть способен обновлять настольный компьютер через Office.com, если он использует Office.com на настольном компьютере. В ряде случаев, пользователю также может предоставляться возможность выбора варианта “обновить позже”. В других случаях, обновление может принудительно осуществляться немедленно. Если вариант “обновить позже” разрешен, пользователю может разрешаться выбирать этот вариант определенное число раз, после чего обновление осуществляется принудительно. Пользователь может получать предложение ввести мандат при осуществлении действий "обновить сейчас" или "удалить".

Пользователь обновляет подписку на Office на первом компьютере со второго компьютера через Office.com, когда пользователь не владеет подпиской на Office на первом компьютере

[00113] Согласно этому сценарию, пользователь приобретает подписку на Office 2013 Home and Student и устанавливает его на свой настольный компьютер. Пользователь покупает использованный портативный компьютер у друга. Подписка на Office 2013 Professional его друга выполняется на использованном портативном компьютере. Пользователь способен нормально использовать Office на использованном портативном компьютере. Друг пользователя, вспомнив, что забыл удалить свою подписку на Office 2013 Professional с портативного компьютера, заходит на Office.com и удаляет портативный компьютер из своей подписки.

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

Пользователь обновляет лицензию на Office с подписочной лицензии на бессрочную лицензию на первом компьютере со второго компьютера с использованием Office.com, когда пользователь владеет подпиской на Office на первом компьютере

[00115] Этот сценарий идентичен сценарию, в котором пользователь обновляет подписку на Office, которую он использует на первом компьютере, со второго компьютера через Office.com, когда пользователь владеет подпиской на первом компьютере. Однако, вместо обновления до другой подписочной лицензии, пользователь просто совершает обновление до бессрочной лицензии.

Пользователь обновляет лицензию на Office с подписочной лицензии на бессрочную лицензию на первом компьютере со второго компьютера через Office.com, когда пользователь не владеет подпиской на первом компьютере.

[00116] Этот сценарий идентичен сценарию, в котором пользователь обновляет подписку на Office, которую он использует на первом компьютере, со второго компьютера через Office.com, когда пользователь не владеет подпиской на первом компьютере. Однако, вместо обновления до другой подписки, пользователь совершает обновление до бессрочной лицензии.

Пользователь меняет лицензию на Office с бессрочной лицензии на подписочную лицензию на первом компьютере со второго компьютера через Office.com, когда пользователь владеет бессрочной лицензией на первом компьютере.

[00117] Пользователь имеет Office Home and Student на первом компьютере. Однако пользователь обнаруживает, что ему нужен более широкий выбор продуктов Office. Пользователь заходит на Office.com со второго компьютера, чтобы приобрести подписку на Office Professional. По завершении приобретения, пользователь получает ссылку для загрузки Office Professional и предписания в отношении того, как обновлять установленную в настоящее время версию Office.

[00118] Пользователь снова заходит на Office.com на первом компьютере и кликает по загрузочной ссылке. Копия Office на первом компьютере обновляется до Office.com Professional. Если бы пользователь не посетил повторно Office.com, ему пришлось бы осуществлять обновление, переходя в закулисье на своем установленном в настоящее время Office Home and Student. Например, пользователь может кликнуть по кнопке для обновления лицензия или проверки наличия обновлений.

[00119] Позже пользователь аннулирует свою подписку. В конце концов, срок действия подписки на Professional на первом компьютере истекает, и происходит откат к Office Home and Student.

Лицензированный пользователь, отличный от текущего пользователя

[00120] У владельца малого предприятия трое работников. Он хочет, чтобы каждый из его работников использовал Office. Изучив подписки, предлагаемые на Office.com, владелец понимает, что каждая подписка позволяет использовать Office на двух разных машинах. Однако владелец понимает, что он может единовременно иметь только одну подписку. Поэтому он просит одного из работников также приобрести подписку, стоимость которой он отдельно компенсирует. Владелец и один из работников загружают Office на свои соответствующие компьютеры и активируют его с использованием мандата владельца. Два других работника загружают Office на свои соответствующие компьютеры и активируют его с использованием мандата работника. Для персонализации Office, работники по-прежнему могут входить со своими собственными ID и использовать его нормально.

[00121] В некоторых вариантах осуществления, можно предположить, что каждый пользователь может иметь только одну подписку на Office. Однако в ряде случаев, пользователь может иметь подписку на Office Home and Student, а также подписку на Office Professional. Кроме того, пользователь может иметь несколько версий одной и той же подписки или несколько бессрочных лицензий.

Пользователь совершает преобразование из подписочной лицензии в лицензию BPOS

[00122] У владельца малого предприятия трое работников. Владелец и один из работников имеют по подписке на Office Professional, которая позволяет устанавливать Office максимум на две машины. Каждый из двух других работников используют одну из подписок для установки Office на своих машинах.

[00123] Недавно владелец нанял пять новых работников. Прочитав информацию онлайн, он решает, что подписка BPOS будет лучше соответствовать его желаниям. Владелец заходит на Office.com и преобразует свою подписку в подписку BPOS, приобретая девять лицензий (чтобы хватило на всех в компании).

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

Пользователь совершает преобразование из бессрочной лицензии в лицензию BPOS

[00125] У владельца малого предприятия десять работников. Владелец приобрел бессрочные лицензии Office Home and Business для машины каждого работника. Однако, прочитав информацию онлайн, владелец решает, что подписка BPOS на Office Professional Plus будет лучше соответствовать его желаниям. Владелец заходит на Office.com и приобретает подписку BPOS с одиннадцатью лицензиями (чтобы хватило на всех в его компании). Владелец создает и дает учетные записи BPOS каждому из своих работников и назначает каждого на Office.

[00126] Владелец приказывает каждому работнику зайти на свою домашнюю страницу BPOS и загрузить подписку на Office. Альтернативно, он может объяснить им, как изменить свои лицензии из закулисья. Если работники не будут совершать никаких действий на своих текущих машинах, их машины будут продолжать работать, какая бы бессрочная лицензия ни была в настоящее время на их машинах, даже если они войдут со своими BPOS ID.

Пользователь аннулирует подписку через закулисье

[00127] Пользователь имеет базовую подписку на комплект Office, но желает иметь более широкий выбор продуктов Office. Пользователь переходит в закулисье и выбирает “Моя учетная запись”. Пользователь выбирает “Управлять моей подпиской” и обновляет свой пакет до пакета, который содержит нужные ему продукты. Когда ему больше не нужны дополнительные продукты, пользователь переходит к “Моя учетная запись” в закулисье и аннулирует свою подписку. Копия Office пользователя возвращается в режим сокращенных функциональных возможностей, или к любой лицензии, которая была у него до того, как он обновил свой пакет.

Пользователь аннулирует подписку через Office.com

[00128] Пользователь имеет базовую подписку на комплект Office, но желает иметь более широкий выбор продуктов Office. Пользователь заходит на Office.com для управления своей текущей подпиской. Пользователь обновляет свой пакет до пакета, который содержит нужные ему продукты. Когда пользователю больше не нужны дополнительные продукты, он входит в Office.com и аннулирует свою подписку. Его копия Office возвращается в режим сокращенных функциональных возможностей, который поддерживался его предыдущей лицензией.

Пользователь приобретает бессрочную лицензию и подписочную лицензию

[00129] Пользователь имеет Office Starter на своем портативном компьютере. Пользователь входит в Office Marketplace по своему Live ID и покупает Office через закулисье с использованием своего портативного компьютера. Office Starter обновляется до комплекта подписки.

[00130] Затем пользователь возвращается в Office Marketplace через веб-браузер, чтобы купить бессрочную лицензию. Пользователю не требуется повторно вводить свои реквизиты платежа. Вместо этого, Office Marketplace помнит его мандат. Когда пользователь подтверждает покупку, он загружает и запускает Office на портативном компьютере.

[00131] Через несколько месяцев после приобретения Office, пользователь получает вирус на своем портативном компьютере, в связи с чем, его приложения приходится переустановить. Пользователь входит в Office Marketplace, чтобы повторно загрузить свою копию Office и свою лицензию. Это может осуществляться с использованием того же ключа продукта.

Продление подписки

[00132] Если пользователь имеет подписку на Office, он может автоматически продлевать подписку. Пользователь может беспрепятственно использовать Office.

Подписка утрачивает силу

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

Обновление подписки от Office 2013 до следующей версии Office

[00134] Пользователь имеет подписку на Office для Office 2013 и в настоящее время на его компьютере установлен Office 2013. Проходит несколько лет, и в продажу поступает следующая версия Office. Когда пользователь в следующий раз запустит какое-либо приложение Office, он получит извещение о том, что возможно обновление до новой версии Office. Пользователь также извещается о том, что это в любое время можно сделать из закулисья. Пользователь решает сразу совершить обновление. Новая версия Office устанавливается на компьютере пользователя.

[00135] В некоторых вариантах осуществления, некоторые компоненты могут извещать пользователей о выходе новой версии Office, например, OMEX или клиент лицензирования Office (OLC), или они оба. В ряде случаев, можно отслеживать, сколько времени остается пользователю до обновления до следующей версии. В некоторый момент времени, обновление может быть выполнено принудительно, и старая версия может становиться неработоспособной. Ключи могут поступать из соответствующих мест взимания налогов. Можно использовать ту же логику, что и для предложений BPOS.

Сценарии розничной торговли/OEM/CD

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

Пользователь приобретает Office в розничном магазине

[00137] Пользователь идет в розничный магазин и приобретает коробочную копию Office Home and Student. Внутри коробки находится CD, а также ключ продукта. Пользователь устанавливает Office с CD. Как часть процесса установки, пользователю предлагается ввести его ключ продукта. Пользователю также предлагается войти в Office, после чего, ему предоставляется возможность связать свою лицензию со своим Live ID. Спустя несколько месяцев, пользователь обнаруживает вирус на своем компьютере. Пользователь переформатирует компьютер и переустанавливает Office. К сожалению, пользователь теряет ключ продукта. Однако пользователь способен активировать Office, используя только свой Live ID. OLS может возвращать ключ продукта, который связан с этим Live ID.

Пользователь с несколькими машинами

[00138] Пользователь имеет в своем доме четыре компьютера. Пользователь приобрел копию Office в розничном магазине и имел возможность успешно активировать Office на первом компьютере с помощью ключа продукта. Поскольку он связывал лицензию со своим Live ID, устанавливая свой первый компьютер, пользователь также имел возможность активировать Office на втором и третьем компьютерах с использованием своего Live ID. Однако при попытке активировать четвертый компьютер, пользователь принимает сообщение об ошибке, указывающее, что его лицензия поддерживает только три компьютера.

Пользователь связывает лицензию на Office с Live ID

[00139] В общем случае, если пользователь желает связать свой ключ продукта со своим Live ID, он может ввести полный 5x5 ключ продукта в Office Marketplace онлайн. Затем, через Office Marketplace, OLS может связать ключ продукта с Live ID пользователя.

[00140] Пользователь может просматривать лицензии на Office, которые связаны с его Live ID, онлайн через Office.com или через закулисье. Кроме того, пользователь может быть способен отвязывать ключ продукта от своего Live ID через Office.com или через закулисье. Когда пользователь пытается повторно использовать свой Live ID для активации, ему не удается сделать это. Однако компьютеры, которые уже активированы по его Live ID будут функционировать нормально.

Сценарии пробного использования

[00141] Эти сценарии ориентированы на лицензии на пробное использование и, по существу, идентичны сценариям подписки без пробного использования. Однако период действия лицензии гораздо короче для сценариев пробного использования.

Пользователь инициирует лицензию на пробное использование через Office.com

[00142] Пользователь использовал Office Starter. Пользователь решает испытать Office и, предоставив свой Live ID, загружает лицензию на пробное использование с Office.com. Запустив Office на своей машине, пользователь получает запрос на ввод его Live ID. Введя свой Live ID, пользователь может начать использовать Office.

Пользователь инициирует лицензию на пробное использование с использованием ключа продукта

[00143] Пользователь получил пробную копию Office. Пробная копия Office включает в себя ключ продукта, который связан с лицензией на пробное использование. Пользователь устанавливает Office и использует ключ продукта для активации Office.

Лицензия на пробное использование утрачивает силу

[00144] Пользователь использовал Office Starter и теперь желает испытать Office. Предоставив свой Live ID, пользователь загружает лицензию на пробное использование с Office.com. По прошествии времени, пользователь получает извещение от OLC, что его испытательный период скоро закончится. Пользователь решает дождаться прекращения действия лицензии на пробное использование. По истечении срока действия лицензии на пробное использование, Office откатывается до Office Starter.

Пользователь преобразует лицензию на пробное использование в подписочную лицензию

[00145] Дан использовал испытательный период Office, который он загрузил с Office.com. По прошествии времени, он получает извещение от клиента Office, что его испытательный период скоро закончится. Дану понравилось использовать Office 15 и он решает выполнить преобразование к полной подписке через Office.com (или закулисье). Его копия Office автоматически обновляется до полной подписки без перерыва в работе. Если бы он активировал испытательный период через ключ продукта и никогда не предоставлял ID, ему пришлось бы предоставить свой ID для преобразования к полной подписке.

Способы приобретения, активации или повторной активации лицензии

[00146] На фиг. 4 показана блок-схема последовательности операций способа 400 приобретения лицензии для приложения через службу рынка. В различных вариантах осуществления, службой рынка является Office Marketplace Experience (OMEX). Дополнительно, в некоторых вариантах осуществления, способ 400 реализуется через систему 300 лицензирования, рассмотренную выше в отношении фиг. 3A, 3B и 3C.

[00147] Способ 400 начинается на блоке 402, на котором пользователь инициирует приобретение лицензии. Пользователь может инициировать приобретение, например, через Office Starter, Office Trial, закулисье Office или Office.com. Пользователь выбирает ассортиментную позицию (SKU), относящуюся к нужной лицензии, на блоке 404. На блоке 406, пользователь входит в Office Marketplace, например, OMEX, с использованием своего Live ID.

[00148] На блоке 408, производится определение, покупает ли пользователь SKU подписки. Если пользователь не покупает SKU подписки, пользователь может выбрать платежный инструмент на блоке 410 и завершить платеж на блоке 412. Затем OLS может извещаться об обновлении лицензии через поставщика синхронизации OMEX на блоке 414.

[00149] Если пользователь покупает SKU подписки, SKU подписки может устанавливаться на блоке 416. Затем пользователь может выбрать платежный инструмент на блоке 418 и завершить платеж на блоке 420. На блоке 422, детали подписки могут записываться. Например, могут записываться SKU, информация автоматического продления и/или информация интервала тарификации. Затем OLS может извещаться об обновлении лицензии через поставщика синхронизации OMEX на блоке 414.

[00150] На фиг. 5 показана блок-схема последовательности операций способа 500 первоначальной активации лицензии для приложения через службу рынка. В различных вариантах осуществления, службой рынка является OMEX. Первоначальная активация лицензии может происходить на одном устройстве-клиенте, например, одном компьютере, и может не включать в себя увеличение объема покупки. В некоторых вариантах осуществления, способ 500 реализуется через систему 300 лицензирования, рассмотренную выше в отношении фиг. 3A, 3B и 3C.

[00151] Способ 500 начинается на блоке 502, на котором OMEX передает параметры, например, квитанцию авторизации, загрузчику. Пользователь инициирует загрузку с Office.com на блоке 504. Биты извлекаются из сети доставки контента (CDN) на блоке 506, и заставка отображается на блоке 508, пока биты извлекаются.

[00152] На блоке 510, OLC запрашивает обобщенную лицензию из хранилища лицензий. Это позволяет временно использовать Office, пока лицензия активируется. Office загружается на блоке 512, и OLC запрашивает лицензию из OLS с использованием квитанции авторизации на блоке 514. На блоке 516, OLS возвращает защищенную авторизацию (или бесключевую авторизацию) и ключ продукта (в случае сценария без переноса приложения).

[00153] На блоке 518, OLC определяет, доступны ли ключ продукта и OSPP. Если ключ продукта и OSPP доступны, лицензия OSPP получается с помощью ключа продукта на блоке 520. Уникальный ID паспорта (PUID) и имя пользователя сохраняются на локальной машине на блоке 522.

[00154] Если ключ продукта и OSPP недоступны, использование Office может быть разрешено через бесключевую авторизацию. Затем OLC может периодически определять, доступны ли ключ продукта и OSPP, на блоке 518, и может совершать соответствующее действие, если ключ продукта и OSPP становятся доступны.

[00155] На фиг. 6 показана блок-схема последовательности операций способа 600 повторной активации лицензии для приложения. Такой способ повторной активации может включать в себя увеличение объема покупки. В некоторых вариантах осуществления, способ 600 реализуется через систему 300 лицензирования, рассмотренную выше в отношении фиг. 3A, 3B и 3C.

[00156] Способ 600 начинается на блоке 602, на котором Office загружается или происходит запланированная проверка лицензии. На блоке 604, производится определение, является ли лицензия для Office подписочной лицензией или лицензией на пробное использование. Если лицензия не является ни подписочной лицензией, ни лицензией на пробное использование, она определяется как бессрочная лицензия. В этом случае, способ 600 переходит к блоку 606, на котором пользователь нормально использует Office. В ряде случаев, Office может прекратить функционирование, по истечении срока действия лицензия или ее прекращения по какой-то другой причине.

[00157] Если лицензия является подписочной лицензией или лицензией на пробное использование, OLC отправляет лицензионную информацию на OLS на блоке 608, и OLS возвращает обновления лицензии на OLC на блоке 610. На блоке 612, производится определение, обновлена ли лицензия. Если лицензия обновлена, OLC обновляет Office новой лицензией. В ряде случаев, пользователю может предоставляться выбор, желает ли пользователь реализовать новую лицензию сейчас или позже, через UI. Кроме того, если новая лицензия предусматривает изменение версии Office, новая версия может загружаться. Альтернативно, если лицензия не обновлена, способ 600 может возвращаться к блоку 606. В этом случае, срок действия лицензии может истечь, и, таким образом, Office может прекратить функционирование.

Служба лицензирования Office (OLS)

[00158] В этом разделе описано функционирование описанной здесь системы лицензирования OLS, например, OLS 302 системы 300 лицензирования, описанной выше в отношении фиг. 3A, 3B и 3C. OLS служит центральным узлом системы лицензирования. OLS получает данные назначения, например, купленного пользователем, из различных источников, например BPOS или OMEX. OLS также получает ключи продукта, обеспечивает бесключевую авторизацию и управляет соотношениями между пользователем и машиной, например, сколько машин активировал пользователь.

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

[00160] В различных вариантах осуществления, OMEX обеспечивает интерфейс для OLC для управления машинами для идентичности пользователя. OMEX также обеспечивает интерфейс для веб-сайтов, например, веб-сайта управления OMEX, для управления машинами для идентичности пользователя. OMEX может поддерживать базу данных идентификаторов, лицензии, относящиеся к идентификаторам, и машины, для которых использовались лицензии. Кроме того, OMEX может обеспечивать способность получать лицензионные ключи из хранилища ключей. Дополнительно, OMEX может обеспечивать интерфейс, посредством которого OLC может авторизовывать использование Office, либо через распространение ключа продукта (для случаев, когда OSPP доступна), либо через модель на основе непосредственной авторизации (для случаев, когда OSPP недоступна, т.е. сценарии бесключевой авторизации).

[00161] OLS обеспечивает, по меньшей мере, три обширных класса служб, включающий в себя назначение лицензирования пользователя, извлечение ключа продукта и авторизации переноса, и возможности управления машиной, что дополнительно объяснено ниже. В отношении назначения лицензирования пользователя, OLS может сохранять и извлекать информацию, относящуюся к типу лицензии на Office, на которую пользователь имеет разрешение, на основании информации, предоставленной партнерами, например, BPOS и OMEX. Например, OLS может сохранять и извлекать информацию, указывающую, подписан ли пользователь в настоящее время на Office Home and Business, или же он купил бессрочный Office Professional.

[00162] В отношении извлечения ключа продукта и авторизации переноса, OLS обладает способностью извлекать правильный ключ продукта из хранилища ключей на основании лицензии на Office, на которую пользователь имеет разрешение. Эта способность является безразрывной для пользователя и партнера. Другими словами, ключ продукта извлекается по мере необходимости, когда пользователь пытается активировать машину, и активация производится автоматически посредством OLC без предъявления фактического ключа продукта пользователю. Однако OLS не наделяет партнеров способностью по своей воле извлекать ключ продукта. Кроме того, OLS также обладает способностью извлекать авторизацию переноса, т.е. бесключевую авторизацию, которая позволяет пользователю использовать Office в сценариях переноса приложений без ключа продукта.

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

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

[00165] На фиг. 7 показана блок-схема, демонстрирующая ряд разрешений, или лицензий, 702A-E, которые были лицензированы пользователю 704 для нескольких разных машин 706A-F. Каждое разрешение 702A-E может включать в себя предложение 708A-D, относящееся либо к бессрочному разрешению, либо к разрешению на подписку, или к обоим, как дополнительно рассмотрено ниже.

[00166] В различных вариантах осуществления, OLS только управляет машинами, например, машинами 706A, 706B, 706C, 706D и 706F, которые назначены с использованием разрешений на подписку, например, разрешений 702A, 702B и 702E. Таким образом, пользователи с бессрочными разрешениями, например, разрешениями 702C и 702D, не будут иметь машин, связанных с разрешениями, если машина, например, машина 706E, ранее не была преобразована из разрешения на подписку.

[00167] В различных вариантах осуществления, предложение представляет тип права на использование, доступное для приобретения, например, через Microsoft Online или OMEX. Предложения не зависят от пользователя, и наполняются, когда система лицензирования переводится в онлайн и обновляется. Дополнения и обновления предложений могут быть включены как часть развертывания. Каждое предложение может быть связано с ID предложения, который является уникальным ID, который идентифицирует предложение. Кроме того, каждое предложение может быть связано с конкретным типом предложения. Например, предложение может быть только предложением ключа продукта, т.е. предложением, относящимся к бессрочной лицензии или лицензии на пробное использование, или предложением управления машиной, т.е. предложением, относящимся к подписочной лицензии.

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

[00169] Различная информация, относящаяся к каждому разрешению, может записываться совместно с разрешением. Например, могут записываться ID разрешения, ID разрешения партнера, соответствующий партнер, ID пользователя, ID предложения и состояние разрешения. Кроме того, могут записываться значения различных параметров, относящихся к разрешению. Например, может записываться информация, указывающая, допускает ли разрешение сценарии переноса приложений, т.е. RoamingType, информация, относящаяся к стране тарификации пользователя, т.е., BillingCountryISO, и информация, относящаяся к языку разрешения. Кроме того, может записываться информация, относящаяся к максимальному количеству назначенных или ожидающих преобразования машин, допустимому согласно разрешению, т.е., ActiveMachineMax, информация, относящаяся к количеству назначенных или ожидающих преобразования машин, в настоящее время предусмотренному разрешением, т.е., ActiveMachineCount, и различная другая информация. Также могут записываться параметры, относящиеся к маркеру для разрешений. Такие параметры включают в себя, в том числе, SecureToken, TokenUseMax, TokenUseCount, TokenExpiryLength, и TokenExpiry.

[00170] Машина может представлять собой конкретную установка Office с использованием конкретного разрешения на подписку. Может существовать нуль или более машин согласно разрешению. Новая машина создается каждый раз, когда из разрешения выдается ключ продукта новой подписки (или TBL).

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

[00172] Согласно описанным здесь вариантам осуществления, ключ продукта, т.е., ProductKey, выдается для каждого разрешения. Может существовать только один активированный ProductKey согласно каждому разрешению, и только бессрочные разрешения могут иметь активированный ProductKey. ProductKey может создаваться при первом запрашивании ключа продукта из бессрочного разрешения. Пока разрешение не преобразовано, один и тот же бессрочный ключ используется при всех последующих запросах ключа. Информация, относящаяся к статусу ключа продукта, т.е. KeyStatus, может записываться. Ключ продукта может иметь статус "активирован", "ожидающий деактивации" или "деактивирован". Информация, указывающая, сколько раз выдан ключ продукта, т.е. KeysIssuedCount, и информация, относящаяся к последней дате обновления KeyStatus, т.е. KeyStatusLastUpdate, также может записываться совместно с ключом продукта.

[00173] В различных вариантах осуществления, API назначения представляют собой набор внутренних API, используемых для назначения. API назначения вызываются только поставщиками синхронизации. Каждый API поставщика синхронизации может вызывать один или более из API назначения. API назначения могут быть предназначены проявляться как атомарные операции остатку системы лицензирования. Заметим, что единичное действие назначения может брать множественные вызовы API назначения. Например, для API ProvisionUser() поставщика синхронизации OMEX, используется оба вызова AddUser() и CreateEntitlement(). Если AddUser() увенчивается успехом, но CreateEntitlementForUser() не удается, то пользователь может не иметь разрешения, и пользователю не предоставляется неавторизованный доступ к Office. Некоторые примеры API в системе лицензирования включают в себя API AddUser(), который добавляет пользователя в OLS, CreateEntitlement(), который создает разрешение для пользователя, и API ConvertEntitlement(), который преобразует разрешение в другое предложение или обновляет параметр ActiveMachineMax. API ConvertEntitlement() функционирует одинаково независимо от того, осуществляется ли преобразование от подписочной лицензии к другой подписочной лицензии, или, например, от подписочной лицензии к бессрочной лицензии. Кроме того, если явно не указано, в ходе преобразования счетчики и пределы мошенничества можно не сбрасывать.

[00174] На фиг. 8 показана блок-схема последовательности операций способа 800 преобразования разрешения в другое предложение или обновление предложения, относящегося к разрешению. Обновление предложения может включать в себя, например, обновление ActiveMachineMax. Способ начинается на блоке 802, на котором вызывается API ConvertEntitlement(). На блоке 804 может осуществляться определение, отозвано ли разрешение. Если разрешение отозвано, способ 800 заканчивается на блоке 806. Если разрешение не отозвано, способ 800 переходит к блоку 808, на котором производится определение, идентично ли существующее предложение новому предложению.

[00175] Если существующее предложение не идентично новому предложению, на блоке 810 производится определение, существуют ли назначенные машины для разрешения. Если назначенные машины существуют, на блоке 812 все существующие назначенные машины обновляются до статуса = "ожидающий преобразования". Затем способ 800 переходит к блоку 814, на котором разрешение обновляется в соответствии с новым предложением. Если на блоке 810 производится определение, что назначенных машин не существует, способ 800 автоматически переходит к блоку 814.

[00176] На блоке 816, производится проверка условия: существующий ActiveMachineMax = MaxMachines. Дополнительно, если на блоке 808 определено, что существующее предложение идентично новому предложению, способ 800 может автоматически переходить к блоку 816.

[00177] Если на блоке 816 определено, что существующий ActiveMachineMax ≠ MaxMachines, ActiveMachineMax может обновляться до MaxMachines на блоке 818. Затем на блоке 820 может производиться определение, больше ли ActiveMachineCount, чем ActiveMachineMax. Если ActiveMachineCount больше ActiveMachineMax, событие регистрируется на блоке 822 до того, как способ 800 переходит к блоку 824. В противном случае, способ 800 переходит к блоку 824 от блока 820. Дополнительно, если на блоке 816 определено, что существующий ActiveMachineMax = MaxMachines, способ 800 автоматически переходит к блоку 824.

[00178] На блоке 824, производится определение, существует ли активированный PerpetualKey. Если активированного PerpetualKey не существует, способ 800 заканчивается на блоке 826. Если активированный PerpetualKey существует, PerpetualKey устанавливается таким образом, что PerpetualKey = "ожидающий деактивации" на блоке 828 до окончания способа 800 на блоке 826.

[00179] Ряд дополнительных API также могут быть включены в системе лицензирования. Например, API UpdateEntitlementStatus() можно использовать для обновления статуса разрешения. API UpdateBillingCountry() можно использовать для обновления информации тарификации пользователя, т.е. BillingCountryISO, и API GetDownloadInfo() можно использовать для возвращения URL загрузки и другой информации, относящейся к разрешению.

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

[00181] API CheckMachineStatus() возвращает статус машины. Однако этот API может возвращать информацию только для машин, которые были назначены согласно разрешениям подписки. API GetEntitlementsForIdentity() может возвращать разрешение(я) в настоящее время связанное(ые) с предоставленной идентичностью. API GetEntitlementForMachineKey() может возвращать разрешение, в настоящее время связанное с MachineKey. В некоторых вариантах осуществления, последовательность операций процесса может быть следующей: (1) извлечь EntitlementID машины с совпадающим MachineKey; (2) извлечь разрешение с вышеуказанным EntitlementID, и (3) возвратить информацию о разрешении.

[00182] Кроме того, API GetKey() может представлять собой API, для которого OLC может извлекать бесключевые авторизации и/или ключи продукта для активации. Логику для этого API можно разбить на несколько частей.

[00183] На фиг. 9 показана блок-схема последовательности операций способа 900 проверки идентичности пользователя и идентичности разрешения, для которых нужно назначать бесключевую авторизацию. Способ 900 начинается на блоке 902, на котором вызывается API GetKey(). На блоке 904, производится определение, использовался ли SecuredToken. Если SecuredToken использовался, маркер OLS удостоверяется на блоке 906. На блоке 908, производится определение, является ли маркер недействительным. Если маркер недействителен, на блоке 910 возвращается ошибка. Если маркер действителен, TokenUseCount определяется на блоке 912. Затем пользователь, который связан с маркером, извлекается на блоке 914. Затем способ переходит к блоку 916.

[00184] Кроме того, если на блоке 904 определено, что SecuredToken не использовался, способ 900 переходит к блоку 918, на котором удостоверяется квитанция идентичности. Затем способ переходит к блоку 916, на котором производится определение, удержан ли пользователь. Если пользователь удержан, на блоке 920 возвращается ошибка. В противном случае, на блоке 922 производится определение, существует ли EntitlementID. Если EntitlementID не существует, на блоке 924 возвращается ошибка. В противном случае, на блоке 926 производится определение, приостановлено или отозвано ли разрешение. Если разрешение приостановлено или отозвано, на блоке 928 возвращается ошибка. В противном случае, способ 900 переходит к последовательности обработки бесключевой авторизации, рассмотренной ниже в отношении фиг. 10.

[00185] На фиг. 10 показана блок-схема последовательности операций способа 1000 для назначения, при необходимости, бесключевой авторизации. Целью бесключевой авторизации является обеспечение возможности временно запускать Office на клиенте без OSPP и без активации с использованием ключа продукта. Это может оказаться полезным при первой установке или, например, в сценариях переноса приложений.

[00186] Бесключевая авторизация может представлять собой знаковую строку, которая включает в себя строку авторизации, которая используется клиентом для обеспечения временного доступа к Office и сохраняется в предложении как BaseAuthString. Бесключевая авторизация также может включать в себя ряд параметров, включающих в себя параметр HWID, который передается клиентом по запросу GetKey(), и параметр TimeValidEnd, который представляет дату и время, когда клиент утрачивает возможность использовать бесключевую авторизацию.

[00187] Последовательность обработки бесключевой авторизации способа 1000 начинается на блоке 1002. В различных вариантах осуществления, способ 1000 выполняется после способа 900, рассмотренного выше. Способ 1000 может включать в себя осуществление ряда определений на блоках 1004-1022, включающих в себя определения, касающиеся, например, типа ключа, запрашиваемого клиентом. Если условия способа 1000 не соблюдаются на блоках 1012 или 1014, на блоках 1024 или 1026 может возвращаться ошибка.

[00188] Если условия, представленные в способе 1000, соблюдены, на блоке 1028 может производиться определение, запрашивался ли ключ продукта. Если ключ продукта не запрашивался, на блоке 1030 возвращается бесключевая авторизация. Если ключ продукта запрашивался, на блоке 1032 может осуществляться определение, допускает ли предложение разрешения установки, т.е. является не только переносом. Если предложение разрешения не допускает установок, на блоке 1034 возвращается ошибка. В противном случае, на блоке 1036 производится определение, относится ли предложение к типу KeyOnly.

[00189] Если тип предложения не является KeyOnly, способ 1000 переходит к последовательности обработки ключа подписки, показанной на фиг. 11A или 11B, как показано на блоке 1038. Если тип предложения является KeyOnly, способ 1000 переходит к последовательности обработки ключа продукта, показанной на фиг. 12A или 12B, как показано на блоке 1040.

[00190] На фиг. 11A показана блок-схема последовательности операций способа 1100 извлечения существующего ключа подписки (или TBL). В различных вариантах осуществления, существующий ключ извлекается, если MachineKey и HWID, используемые при вызове API GetKey(), идентичны хранящимся в OLS. Последовательность обработки ключа подписки способа 1100 начинается на блоке 1102. В различных вариантах осуществления, способ 1100 выполняется после способа 1000, рассмотренного выше. Способ 1100 может включать в себя осуществление ряда определений и выполнение ряда этапов на блоках 1104-1140. В некоторых вариантах осуществления, способ 1100 переходит к последовательности обработки нового ключа подписки, показанной на фиг. 11B, как показано на блоке 1142. В других вариантах осуществления, существующий ключ подписки возвращается в конце способа 1100, как показано на блоке 1144.

[00191] На фиг. 11B показана блок-схема последовательности операций способа 1146 получения нового ключа подписки. В различных вариантах осуществления, новый ключ извлекается из хранилища ключей, если произошла новая установка, машина исчерпала допустимые повторные активации, произошло преобразование разрешения, или машина была повторно назначена. Способ 1146 может выполняться после способа 1000 или способа 1100, рассмотренного выше.

[00192] Последовательность обработки нового ключа подписки способа 1146 начинается на блоке 1148. После осуществления ряда этапов на блоках 1150-1156, новый ключ подписки возвращается на блоке 1158. Альтернативно, если на блоке 1150 определено, что условие способа 1146 не выполняется, на блоке 1160 возвращается ошибка, и новый ключ подписки не получается.

[00193] На фиг. 12A показана блок-схема последовательности операций способа 1200 извлечения существующего ключа продукта. Способ 1200 может применяться к предложению типа KeyOnly. В различных вариантах осуществления, способ 1200 выполняется после способа 1000, рассмотренного выше. Последовательность обработки ключа продукта способа 1200 начинается на блоке 1202. Способ 1200 может включать в себя осуществление ряда определений и выполнение ряда этапов на блоках 1204-1212. В некоторых вариантах осуществления, если на блоке 1206 определено, что условие способа 1200 не выполняется, на блоке 1214 возвращается ошибка. В других вариантах осуществления, способ 1200 переходит к последовательности обработки нового ключа продукта, показанной на фиг. 12B, как показано на блоке 1216. Дополнительно, в других вариантах осуществления, существующий ключ продукта возвращается в конце способа 1200, как показано на блоке 1216.

[00194] На фиг. 12B показана блок-схема последовательности операций способа 1218 получения нового ключа продукта. Новый ключ продукта можно получить, только если разрешение является новым или было преобразовано из предыдущего разрешения. Способ 1218 может выполняться после способа 1000 или способа 1200, рассмотренных выше. Последовательность обработки нового ключа продукта способа 1218 начинается на блоке 1220. Способ 1218 может включать в себя осуществление ряда определений и выполнение ряда этапов на блоках 1222-1226. Затем новый ключ продукта возвращается в конце способа 1218, как показано на блоке 1228.

[00195] На фиг. 13 показана блок-схема последовательности операций способа 1300 извлечения машин из разрешения. Способ 1300 может выполняться с использованием API GetMachineList(). API GetMachineList() может возвращать машины, для которых пользователь запросил ключи. Вызывающие стороны могут запрашивать машины, связанные с конкретным разрешением, или машины, имеющие конкретный статус.

[00196] Способ 1300 может начинаться на блоке 1302, на котором вызывается API GetMachineList(). Способ 1300 может включать в себя осуществление ряда определений и выполнение ряда этапов на блоках 1304-1316. Затем машины из разрешения(й) извлекаются на блоке 1318, и список машин возвращается на блоке 1320.

[00197] В различных вариантах осуществления, если API запрашивается в попытке выполнить GetMachineList() из разрешения, которое в настоящее время является бессрочным предложением, API по-прежнему будет пытаться извлечь машины из этого разрешения, поскольку возможно, что разрешение было преобразовано из предложения подписки и не имеет машин, которые в настоящее время используют ключи подписки.

[00198] На фиг. 14 показана блок-схема последовательности операций способа 1400 отзыва конкретной машины из разрешения. Способ 1400 может выполняться с использованием API RemoveMachine(). API RemoveMachine() можно использовать для указания машин, подлежащих отзыву. Затем отзыв может осуществляться асинхронно.

[00199] Способ 1400 может начинаться на блоке 1402, на котором вызывается API RemoveMachineList(). Способ 1400 может включать в себя осуществление ряда определений и выполнение ряда этапов на блоках 1404-1418. В некоторых вариантах осуществления, если одно из условий способа 1400 не выполняется на блоках 1408, 1416 или 1418, на блоке 1420, 1422 или 1424, соответственно, может возвращаться ошибка. В противном случае, на блоке 1426 статус машины устанавливается как "отозванный". Это эффективно удаляет машину из разрешения.

[00200] В различных вариантах осуществления, API GetUrlForEntitlement() возвращает URL загрузки для загрузки битов для разрешения. Этот API функционирует аналогично API GetDownloadInfo() назначения. Однако идентичность, которая используется, может представлять собой квитанции, выданные BPOS или Live, или SecureToken OLS, а не PUID. SecureToken может не регенерироваться, если используемая идентичность является SecureToken OLS. Напротив, существующий маркер можно использовать в URL. Этот API также возвращает только URL, а не параметры загрузки.

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

[00202] В кэше ключа продукта могут храниться метаданные каждого ключа, включающего в себя PKPN ключа; SKU JIT PKPN и страну центра обработки данных, откуда первоначально был получен ключ. Кэш ключа продукта может быть способен возвращать согласованный с налогом ключ на основании нескольких параметров, подаваемых логикой GetKey(), включающих в себя KeyStoreReqId разрешения, которая является атрибутом предложения, и BillingCountryISO, который получается из разрешения.

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

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

Поставщик синхронизации Office Marketplace Experience

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

[00206] На фиг. 15A показана блок-схема последовательности операций способа 1500 первоначального приобретения разрешения пользователем. Способ 1500 может выполняться с использованием поставщика синхронизации OMEX, рассмотренного выше. Пользователь инициирует приобретение на блоке 1502, и пользователь выбирает SKU через OMEX, либо через клиента или через интернет, на блоке 1504. На блоке 1506, пользователь осуществляет вход с использованием своего Live ID, и пользователь завершает информацию платежа для приобретения разрешения на блоке 1508.

[00207] OMEX вызывает CTP для завершения действия приобретения на блоке 1510 и вызывает поставщика синхронизации OMEX для назначения пользователя, т.е. ProvisionUser(), на блоке 1512. На блоке 1514, поставщик синхронизации OMEX назначает пользователя и возвращает URL загрузки. Назначение пользователя в OLS может осуществляться с использованием API ProvisionUser(). API ProvisionUser() может вызываться только партнером OMEX.

[00208] В ряде случаев, существует тайм-аут вызова поставщика синхронизации. Таким образом, на блоке 1516, может осуществляться определение, имела ли место ошибка или тайм-аут. В случае ошибки или тайм-аута, сообщение “попробуйте загрузить позже” может отображаться пользователю на блоке 1518. В противном случае, OMEX отображает загрузочную ссылку для разрешения пользователю на блоке 1520.

[00209] На фиг. 15B показана блок-схема последовательности операций способа 1522 обновления разрешения. Способ 1522 начинается на блоке 1524, на котором CTP начинает обратный вызов назначения. На блоке 1526, уведомитель лицензирования OMEX вызывает поставщика синхронизации OMEX для назначения пользователя с использованием API ProvisionUser(). На блоке 1528, поставщик синхронизации OMEX назначает пользователя или обновляет разрешение. Затем на блоке 1530 определяется, произошла ли ошибка или тайм-аут. В случае ошибки или тайм-аута, способ 1522 возвращается к блоку 1524. В противном случае, способ 1522 заканчивается на блоке 1532.

[00210] На фиг. 16 показана блок-схема последовательности операций способа 1600 назначения пользователя в OLS или преобразования пользователя из одного разрешения в другое. Способ начинается на блоке 1602, на котором вызывается API ProvisionUser(). На блоке 1604 производится определение, установлен ли флаг преобразования.

[00211] Если флаг преобразования установлен, на блоке 1606 может осуществляться определение, отозвано ли разрешение. Если разрешение отозвано, на блоке 1608 генерируется исключение. В противном случае, пользователь преобразуется к другому разрешению на блоке 1610. Альтернативно, если флаг преобразования не был установлен на блоке 1604, пользователь назначается на блоке 1610.

[00212] Затем DownloadType запрашивается на блоке 1612, и URL загрузки возвращается на блоке 1614. Возвращенный URL загрузки может включать в себя защищенный маркер, например, GUID, который позволяет пользователю активировать Office, не вводя повторно свой мандат. Таким образом, использование URL может быть ограничено. В некоторых вариантах осуществления, API GetDownloadInfoForEntitlement() используется для повторной генерации загрузочной ссылки при необходимости.

[00213] На фиг. 17 показана блок-схема последовательности операций способа 1700 определения, обновлять ли разрешение согласно процессу ForcedUpdate. Способ 1700 может начинаться на блоке 1702, на котором вызывается API ProvisionUser(). Способ 1700 может включать в себя осуществление ряда определений и выполнение ряда этапов на блоках 1704-1726. В некоторых вариантах осуществления, на блоке 1718 производится определение, что разрешения не существует, и на блоке 1728 генерируется исключение. В противном случае, способ 1700 переходит к блоку 1730, на котором возвращается URL загрузки. URL загрузки может изменяться в зависимости от того, был ли установлен ForcedUpdate, что определяется на блоке 1712 или блоке 1722, и разрешено ли обновление разрешения, что определяется на блоке 1724.

[00214] Согласно способу 1700, ForcedUpdate может задаваться в ходе вызова назначения асинхронного CTP, поскольку это может быть последняя инстанция, на которой пользователь совершил покупку. Может возникнуть расхождение режиме состязания, в котором вызов назначения асинхронного CTP происходит до инициирования вызова назначения в ходе приобретения. В ряде случаев, если ForcedUpdate задается в ходе назначения, другое обновление одного и того же EntitlementID может не быть разрешено в течение 10 секунд после последнего успешного обновления, пока ForcedUpdate не будет установлен при новом вызове API ProvisionUser(). В этом случае, вызов будет завершаться успешно и будет возвращать информацию на основании существующей информации разрешения. Значение времени можно конфигурировать, и логика для этой проверки может быть изолирована на уровне поставщика синхронизации.

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

Лицензирование для устройств

[00216] Согласно описанным здесь вариантам осуществления, OLS может обновляться для поддержки лицензирования различных типов устройств и конкретных приложений, относящихся к различным типам устройств. Например, OLS может поддерживать лицензирование Office, например, Office 2015, в форме приложений MOX, приложений Mobile Office, приложений Android, приложений Windows Mobile и приложений Mac Office. Таким образом, OLS может позволять лицензировать Office между многими разными платформами.

[00217] В OLS, термин “компьютеры” может относиться к ПК и Макам, и термин “устройства” может относиться к MOX (или компактным устройствам) и мобильным телефонам. Совместно, компьютеры и устройства могут именоваться в OLS “машинами”.

[00218] Лицензии для устройств в OLS могут быть в форме либо лицензий на основе мандата, либо лицензий на маркерной основе. Для лицензий на основе мандата, любые устройства могут совместно использовать один отсчет лицензий, тогда как любые компьютеры могут совместно использовать другой отсчет лицензий. Для лицензирования на маркерной основе, маркер лицензии используется вместо маркера OLS. Маркеры лицензии можно использовать неограниченное число раз для каждого устройства. За пределами ограничения каждого маркера лицензии не будет отсчета устройств, благодаря чему, его можно использовать только на одном устройстве.

[00219] Аппаратные приложения, например, MOX и мобильные приложения, могут распространяться через платформы магазина приложений, например, магазин Apple, через OEM-предустановку, например, Windows Mobile, или через загрузку с веб-сайта, например, Android. Права лицензирования для каждого устройства можно получать через платформы магазина приложений без участия OLS, OLS с приобретением управляемо или неуправляемой подпиской, или OLS с соглашением VL.

[00220] На фиг. 18A показанаа блок-схема последовательности операций способа 1800 первоначального лицензирования приложения для устройства. Способ 180 начинается на блоке 1802, на котором пользователь загружает приложение из магазина приложений устройства. На блоке 1804, пользователю предлагается предъявить его мандат. На блоке 1806, пользователь осуществляет вход с использованием своего Live ID или другого мандата. Затем устройство запрашивает у OLS лицензионную информацию на блоке 1808, и OLS возвращает строку авторизации на блоке 1810. Устройство проверяет подлинность строки авторизации, сохраняет ключ машины и предоставляет доступ на блоке 1812.

[00221] На блоке 1814 производится определение, авторизовано ли устройство. Если устройство не авторизовано, ошибка возвращается на блоке 1816. Если устройство авторизовано, доступ к приложению предоставляется на блоке 1818 до периодической проверки или повторной установки приложения.

[00222] На фиг. 18B показана блок-схема последовательности операций способа 1820 периодической проверки состояния лицензии. В различных вариантах осуществления, способ 1820 осуществляется в ответ на первый запуск приложения за день.

[00223] Способ 1820 начинается на блоке 1822, на котором устройство запрашивает у OLS лицензионную информацию. Устройство может запрашивать OLS на устройстве с определенным интервалом, например, на каждом пятом входе или раз в месяц. На блоке 1824, устройство отправляет ключ машины на OLS.

[00224] На блоке 1826, OLS возвращает состояние устройства на устройство. Доступ к приложению предоставляется, если состояние устройства является "назначенный", как показано на блоке 1828. Строка авторизации повторно получается из OLS, если состояние устройства является "ожидающий преобразования" или "преобразованный", как показано на блоке 1830. Ошибка возвращается, если состояние устройства является "отозванный", как показано на блоке 1832.

[00225] На фиг. 19 показана блок-схема последовательности операций способа 1900 первоначального лицензирования устройства. Элементы с аналогичными номерами таковы, как описано в связи с фиг. 18A. Способ 1900 может осуществляться в ответ на первый запуск конкретного приложения на устройстве.

[00226] Способ 1900 может быть аналогичен способу 1800, показанному на фиг. 18A. Однако пользователю предлагается предъявить маркер устройства на блоке 1902, и пользователь обеспечивает маркер устройства на блоке 1904, вместо того, чтобы входить по своему Live ID или другому мандату. Таким образом, согласно способу 1900, лицензия для устройства является лицензией на маркерной основе. Для лицензирования на маркерной основе, устройство бессрочно лицензируется для использования приложения после инициализации лицензии. Таким образом, может не существовать периодической проверки лицензии для лицензии. Соответственно, на блоке 1906, устройству бессрочно предоставляется доступ к приложению, или до повторной установки приложения.

[00227] Согласно описанным здесь вариантам осуществления, OLS-лицензия является новым типом лицензии, которая может предоставляться OLS. OLS-лицензия может выдаваться API GetOLSLicense(). OLS-лицензия может включать в себя строку лицензии, т.е. MachineKey, идентификацию машины, т.е. MachineID, действительную дату и время, когда можно начинать использовать авторизация, т.е. TimeValidStart, и действительную дату и время, когда авторизацию больше нельзя использовать, т.е. TimeValidEnd.

[00228] Устройство может соблюдать только OLS-лицензию, возвращаемую API GetOLSLicense(), если OLS-лицензия удовлетворяет нескольким критериям. Например, OLS-лицензию можно проверять как подписанную OLS; возвращаемый MachineID можно проверять на совпадение с MachineID, используемым по запросу; TimeValidStart можно проверять на совпадение с текущим временем, используемым по запросу; и текущее время клиента можно проверять на нахождение между TimeValidStart и TimeValidEnd.

Лицензирование для служб

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

[00230] На фиг. 20 показана блок-схема последовательности операций способа 2000 определения партнером, предоставлять ли пользователю доступ к своим службам. Такое определение можно производить с использованием информации назначения службы. В некоторых вариантах осуществления, партнеры поддерживают пользовательский кэш назначения, где кэшированы результаты вызова API GetEntitlementForIdentityEx(). Это может повышать производительность партнера и снижать нагрузку на OLS. Длину пользовательского кэша назначения можно регулировать согласно характеристикам конкретной службы. Кроме того, пользовательский кэш назначения может истекать на основании того, насколько часто информация реального времени требуется службе и производственных затрат на вызов OLS с целью получения информации назначения.

[00231] Способ начинается на блоке 2002, на котором производится определение, существует ли и действителен ли пользовательский кэш назначения. Если пользовательский кэш назначения существует и действителен, доступ к службе предоставляется на блоке 2004. Если пользовательский кэш назначения не существует или не действителен, поставщик вызывает API GetEntitlementForIdentityEx() на блоке 2006. На блоке 2008, партнер обновляет пользовательский кэш назначения. Затем на блоке 2010 определяется, назначен ли пользователь для службы. Если пользователь не назначен для службы доступ к службе не предоставляется, как показано на блоке 2012. В противном случае, пользователю предоставляется доступ к службе на блоке 2004.

Службы геолокации и геомасштабирования

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

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

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

[00235] На фиг. 21 показана схема иллюстративной конфигурации первичного центра 2100 обработки данных и множественных вторичных центров 2102A и 2102B обработки данных. OMEX 2104 или другим партнерам можно сообщать общий URL OLS, например, generic.ols.office.com, а также прямой URL, например, master.ols.office.com, для первичного центра 2100 обработки данных. Для определенных операций, например, операций поставщика 2106 синхронизации OMEX, OMEX 2104 может вызывать непосредственно master.ols.office.com вместо того, чтобы использовать generic.ols.office.com. Затем вызовы могут перенаправляться от первичного центра 2100 обработки данных на любой из вторичных центров 2102A или 2102B обработки данных на основании логики в глобальном выравнивателе 2108 нагрузки.

[00236] Кроме того, несколько геосинхронизаторов 2110A и 2110B можно использовать для синхронизации информации от первичного центра 2100 обработки данных во вторичные центры 2102A и 2102B обработки данных. В частности, каждый геосинхронизатор может считывать данные из таблицы геосинхронизации в первичном центре 2100 обработки данных и записывать данные непосредственно во вторичные центры 2102A и 2102B обработки данных. Такие данные могут включать в себя данные, относящиеся, например, к обновлениям назначения или обновлениям информации ключа продукта.

[00237] Таблица геосинхронизации в первичном центре 2100 обработки данных может содержать указатели на записи в ядре OLS, которые можно синхронизировать во вторичные центры 2102A или 2102B обработки данных. В частности, таблица геосинхронизации может содержать имя SourceTable, ключ SourcePartition, ключ SourceRow, ModifiedDateTime и указатели PublishPending. Каждый раз при осуществлении записи в таблицу ядра OLS, за исключением операций записи, которые затрагивают только атрибуты в списке исключений, в таблице геосинхронизации создается запись.

[00238] Хотя на фиг. 21 показаны только два геосинхронизатора 2110A и 2110B, конфигурация может включать в себя пул геосинхронизаторов 2110. Когда каждый геосинхронизатор 2110 активируется, он пытается получить блокировку для синхронизации с вторичным центром 2102A или 2102B обработки данных. Любой геосинхронизатор 2110 может синхронизироваться с любым вторичным центром 2102A или 2102B обработки данных. Однако только один геосинхронизатор 2110 может быть единовременно активным для каждого вторичного центра 2102A или 2102B обработки данных. Каждый геосинхронизатор 2110 будет пытаться закончить синхронизацию с единичным вторичным центром 2102A или 2102B обработки данных прежде, чем попытается получить блокировку для синхронизации со следующим вторичным центром 2102A или 2102B обработки данных. Дополнительно, все геосинхронизаторы 2110 могут действовать в первичном центре 2100 обработки данных. В различных вариантах осуществления, первичный центр 2100 обработки данных содержит файл конфигурации блокировки, где перечислены все вторичные центры 2102A и 2102B обработки данных, соответствующие блокировки, соответствующие длительности блокировки, соответствующие поля PublishPending в таблице геосинхронизации и переключатель для включения или отключения фактической синхронизации. Кроме того, в некоторых вариантах осуществления, централизованный контроллер синхронизации (не показан) можно использовать для управления функционированием геосинхронизаторов 2110.

[00239] Любое количество новых вторичных центров обработки данных можно перевести в онлайн в любой момент времени. Когда новый вторичный центр обработки данных переводится в онлайн, запись конфигурации для нового вторичного центра обработки данных может добавляться в файл конфигурации блокировки в первичном центре 2100 обработки данных. Первоначально, запись конфигурации может помечать новый вторичный центр обработки данных как “отключенный”, чтобы гарантировать, что изменения начнут отслеживаться для вторичного центра обработки данных. Текущее время можно отмечать, и все данные в первичном центре 2100 обработки данных вплоть до текущего времени можно копировать в новый вторичный центр обработки данных. Затем запись конфигурации может помечать новый вторичный центр обработки данных как “включенный”. Затем геосинхронизация процедура может функционировать нормально.

Восстановление после сбоя

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

[00241] Процедуру восстановления после сбоя можно использовать для восстановления данных OLS. Поскольку OLS копирует данные из первичного центра обработки данных во вторичные центры обработки данных, в системе лицензирования уже присутствует некоторая внутренняя избыточность. Однако вследствие задержек геосинхронизаторов, данные в каждом вторичном центре обработки данных, скорее всего, не будут находиться в 100%-ом равновесии с первичным центром обработки данных или с другими вторичными центрами обработки данных в любой момент времени. Таким образом, некоторые данные могут утрачиваться в случае аварии. Кроме того, OLS может включать в себя данные назначения, например, данные назначения разрешения, данные назначения OMEX и данные назначения BPOS. Хотя некоторые данные назначения допускают восстановление из партнеров назначения OLS в случае аварии, некоторый объем данных назначения могут утрачиваться. Таким образом, может быть желательно восстанавливать такие данные.

Запланированное время простоя

[00242] На фиг. 22 показана схема, демонстрирующая первый этап для выполнения запланированного времени простоя. Первый этап может включать в себя остановку обслуживания вызовов от первичного центра 2200 обработки данных и приведение вторичных центров 2202 и 2204 обработки данных в равновесие, как дополнительно описано ниже.

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

[00244] Когда первичный центр 2200 обработки данных нужно вывести из эксплуатации, главный вторичный центр 2202 обработки данных переводится в онлайн в качестве нового первичного центра обработки данных. Главный вторичный центр 2202 обработки данных может быть вторичным центром обработки данных, который располагается вблизи первичного центра 2200 обработки данных и является первым вторичным центром обработки данных, который нужно сделать новым первичным центром обработки данных, если первичный центр 2200 обработки данных выведен из эксплуатации.

[00245] В некоторых вариантах осуществления, каждому центру обработки данных присваивается номер, начиная с 1. Например, первичному центру 2200 обработки данных можно присвоить номер 1, главному вторичному центру 2202 обработки данных может присвоить номер 2, и другому вторичному центру 2204 обработки данных можно присвоить номер 3. Каждый центр 2200, 2202 и 2204 обработки данных может знать присвоенный ему номер, а также максимальный номер. Эта система нумерации может быть полезна для совершения некоторых определений в аварийных сценариях. Например, в случае отказа первичного центра 2200 обработки данных, главный вторичный центр 2204 обработки данных может автоматически делаться новым первичным центром обработки данных, поскольку его номер равен 2. Если главный вторичный центр 2204 обработки данных недоступен, вторичный центр 2204 обработки данных может делаться новым первичным центром обработки данных, поскольку его номер равен 3.

[00246] Как рассмотрено выше, первым этапом при выполнении запланированного времени простоя может быть остановка обслуживания вызовов от первичного центра 2200 обработки данных и приведение главного вторичного центра 2202 обработки данных в равновесие. Это может осуществляться путем удаления первичного центра 2200 обработки данных из ротации общих URL 2206 OLS, т.е. generic.ols.office.com. Компонент синхронизации поставщика 2208 синхронизации BPOS партнера 2210 BPOS может останавливаться, и компонент публикации может продолжать работать до тех пор, пока будет нечего публиковать. Все вызовы первичного URL 2212 OLS, т.е. master.ols.office.com, могут возвращать исключение TemporarilyUnavailable. Они включает в себя вызовы поставщика 2214 синхронизации OMEX партнера 2216 OMEX, API OLS и API партнера OLS. Кроме того, геосинхронизаторы 2218 может продолжать процесс геосинхронизации до тех пор, пока будет нечего синхронизировать. В конце этого процесса, все вторичные центры 2202 и 2204 обработки данных будут иметь синхронизированными все синхронизируемые данные из первичного центра 2200 обработки данных и, для всех намерений и целей, будут находиться в равновесии с первичным центром 2200 обработки данных.

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

[00248] На этом этапе запланированного времени простоя, база данных партнера 2210 BPOS может копироваться из старого первичного центра обработки данных, т.е. центра 2200 обработки данных, в новый первичный центр 2202 обработки данных. Файлы конфигурации блокировки могут обновляться. Все компоненты поставщика 2214 синхронизации OMEX и поставщика 2208 синхронизации BPOS могут включаться в новом главном вторичном центре 2204 обработки данных. Все вызовы API OLS и API партнеров OLS могут включаться в новом первичном центре 2202 обработки данных. Первичный URL 2212 OLS может отображаться в новый первичный центр 2202 обработки данных. Кроме того, вторичный центр 2204 обработки данных может быть указан как новый главный вторичный центр обработки данных, и может включаться процесс геосинхронизации.

[00249] В конце этого этапа, старый главный вторичный центр обработки данных делается новым первичным центром 2202 обработки данных. Таким образом, старый первичный центр 2200 обработки данных теперь можно вывести из эксплуатации для обслуживания, обновлений и т.п. Эти этапы можно выполнять в обратном порядке для преобразования старого первичного центра 2200 обработки данных обратно в текущий первичный центр обработки данных.

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

Незапланированное время простоя

[00251] Незапланированное время простоя может возникать по различным причинам. Любое незапланированное время простоя вторичного центра обработки данных, например, либо прерывистое либо устойчивое время простоя, можно обрабатывать динамично, модифицируя глобальный выравниватель нагрузки для перенаправления на другой вторичный центр обработки данных. Максимальное время простоя может зависеть от времени TTL записи DNS глобального выравнивателя нагрузки. Однако незапланированное время простоя первичного центра обработки данных обрабатывается менее динамично. Поскольку первичный центр обработки данных является только центром обработки данных, который осуществляет назначение и обслуживает вызовы определенных API, трафик нельзя просто перенаправлять на резервный центр обработки данных.

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

Общие способ и система для лицензирования приложений

[00253] На фиг. 24 показана блок-схема последовательности операций способа 2400 для лицензирования приложений. В различных вариантах осуществления, способ 2400 выполняется службой лицензирования, например, OLS, в описанной здесь системе лицензирования. Способ 2400 начинается на блоке 2402, на котором лицензия для приложения возвращается от службы лицензирования на вычислительное устройство. Лицензия может возвращаться в ответ на прием вызова, запрашивающего лицензию, от вычислительного устройства, причем лицензия базируется на вычислительном устройстве или пользователе вычислительного устройства, или любой их комбинации. В различных вариантах осуществления, лицензия базируется на множественных вычислительных устройствах, причем количество вычислительных устройств, которые можно использовать для лицензии, задается условиями лицензии. Приложением может быть служба, программа или приложение, которое может обеспечиваться службой рынка или сторонней службой. Дополнительно, лицензия может представлять собой лицензию для множественных приложений или множественных служб. Кроме того, лицензия может представлять собой подписочную лицензию или бессрочную лицензию.

[00254] На блоке 2404, служба лицензирования осуществляет мониторинг состояния лицензии. Мониторинг состояния лицензии может включать в себя обнаружение мошеннической деятельности, причем мошенническая деятельность это деятельность, которая не авторизована условиями лицензии. В различных вариантах осуществления, мониторинг состояния лицензии включает в себя определение, истек ли срок действия лицензии. Состояние лицензии может быть синхронизировано по множественным вычислительным устройствам, которые используются пользователем.

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

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

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

Способ лицензирования служб

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

Способ обеспечения непрерывности ведения бизнеса

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

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

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

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

[00262] На блоке 2504, информация, относящаяся к лицензии, принимается от коммерческого партнера, предлагающего приложение, через поставщика синхронизации коммерческого партнера. В некоторых вариантах осуществления, служба лицензирования включает в себя ряд API назначения для осуществления связи с поставщиком синхронизации клиента и поставщиком синхронизации коммерческого партнера.

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

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

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

Способ лицензирования приложения с использованием множественных форм лицензирования

[00266] На фиг. 26 показана блок-схема последовательности операций способа 2600 для лицензирования приложений с использованием множественных форм лицензирования. Способ начинается на блоке 2602, на котором первая форма лицензии обеспечивается первому вычислительному устройству через службу лицензирования. Первая форма лицензии может обеспечиваться первому вычислительному устройству в ответ на ввод со стороны пользователя, например, ввод мандата пользователя или ключа продукта. На блоке 2604, вторая форма лицензии обеспечивается второму вычислительному устройству через службу лицензирования. Вторая форма лицензии может обеспечиваться второму вычислительному устройству в ответ на ввод со стороны пользователя, например, ввод мандата пользователя или ключа продукта. В различных вариантах осуществления, первая форма лицензии и вторая форма лицензии включают в себя лицензию на основе ключа продукта, онлайновую лицензию на пользовательской основе, лицензию на основе устройства, или лицензию на маркерной основе, или любые их комбинации.

[00267] Первое состояние первой формы лицензии и второе состояние второй формы лицензии определяются на блоке 2606, и первое состояние и второе состояние синхронизируются для формирования комбинированного состояния лицензии на блоке 2608. Дополнительно, на блоке 2610, условия лицензии регулируются на основании комбинированного состояния лицензии. В некоторых вариантах осуществления, комбинированное состояние лицензии включает в себя истекшее состояние, продленное состояние, преобразованное состояние лицензии, или эффективное состояние, или любые их комбинации. Если комбинированное состояние лицензии является истекшим состоянием, регулировка условий лицензии может включать в себя отзыв лицензии. Если комбинированное состояние лицензии является продленным состоянием, регулировка условий лицензии может включать в себя повторное назначение лицензии. Если комбинированное состояние лицензии является эффективным состоянием, условия лицензии можно не регулировать. Если комбинированное состояние лицензии является преобразованным состоянием лицензии, лицензия может преобразовываться в другую лицензию.

[00268] Следует понимать, что блок-схема последовательности операций, показанная на фиг. 26, не призвана указывать, что этапы способа 2600 подлежат выполнению в любом конкретном порядке, или что все этапы должны быть включены в любом случае. Дополнительно, в способ можно включить любое количество дополнительных этапов 2600, в зависимости от деталей конкретной реализации. Например, способ 2600 может включать в себя обнаружение мошеннической деятельности на основании комбинированного состояния лицензии, причем мошенническая деятельность включает в себя деятельность, которая не авторизована условиями лицензии. Затем условия лицензии можно регулировать на основании обнаружения мошеннической деятельности.

Способ лицензирования приложений для устройств

[00269] На фиг. 27 показана блок-схема последовательности операций способа 2700 для лицензирования приложений для устройств. Способ начинается на блоке 2702, на котором лицензия для приложения обеспечивается службой лицензирования для ряда вычислительных устройств, используемых пользователем. Лицензия для приложения может включать в себя мандат. Лицензия может обеспечиваться каждому вычислительному устройству в ответ на ввод со стороны пользователя.

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

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

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

Способ для обеспечения лицензий на пользовательской основе для приложений

[00273] На фиг. 28 показана блок-схема последовательности операций способа 2800 обеспечения лицензирования приложения на пользовательской основе. Способ начинается на блоке 2802, на котором информация входа пользователя принимается от вычислительного устройства на службе лицензирования в ответ на ввод со стороны пользователя. Информация входа пользователя может быть связана со службой лицензирования, или коммерческим партнером, связанным со службой лицензирования.

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

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

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

[00277] Следует понимать, что блок-схема последовательности операций, показанная на фиг. 28, не призвана указывать, что этапы способа 2800 подлежат выполнению в любом конкретном порядке, или что все этапы должны быть включены в любом случае. Дополнительно, в способ можно включить любое количество дополнительных этапов 2800, в зависимости от деталей конкретной реализации. Например, лицензию для приложения можно переносить между несколькими вычислительными устройствами, которые используются пользователем.

[00278] Хотя объект изобретения описан применительно к структурным признакам и/или этапам способа, следует понимать, что объект изобретения, заданный в нижеследующей формуле изобретения, не обязан ограничиваться вышеописанными конкретными признаками или этапами. Напротив, вышеописанные конкретные признаки и этапы раскрыты как примерные формы осуществления формулы изобретения.

Реферат

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

Формула

1. Способ лицензирования приложения с использованием поставщиков синхронизации, содержащий этапы, на которых:
принимают запрос на лицензию для приложения от поставщика синхронизации клиента в службе лицензирования;
принимают информацию, относящуюся к лицензии, от коммерческого партнера, предлагающего приложение, через поставщика синхронизации коммерческого партнера, при этом поставщик синхронизации коммерческого партнера представляет уровень абстракции, который предоставляет интерфейс прикладного программирования (API) службы лицензирования для коммерческого партнера, не разрешая при этом коммерческому партнеру осуществлять прямой доступ к уровню назначения лицензии службы лицензирования;
возвращают лицензию для приложения на клиентское вычислительное устройство;
принимают информацию, относящуюся к состоянию лицензии, от поставщика синхронизации клиента; и
регулируют условия лицензии согласно состоянию лицензии.
2. Способ по п. 1, содержащий этап, на котором принимают информацию, относящуюся к состоянию лицензии, от поставщика синхронизации коммерческого партнера.
3. Способ по п. 1, содержащий этап, на котором лицензируют приложение с использованием системы подключаемых поставщиков синхронизации, содержащей один или более поставщик синхронизации клиента и множество поставщиков синхронизации коммерческого партнера.
4. Способ по п. 1, содержащий этап, на котором синхронизируют состояние лицензии по множеству клиентских вычислительных устройств, соответствующих поставщику синхронизации клиента.
5. Способ по п. 1, содержащий этап, на котором непосредственно отслеживают состояние лицензии через службу лицензирования.
6. Способ по п. 1, содержащий этап, на котором отзывают лицензию, если состояние лицензии содержит истекшее состояние.
7. Способ по п. 1, содержащий этап, на котором повторно назначают лицензию, если состояние лицензии содержит продленное состояние.
8. Способ по п. 1, содержащий этап, на котором преобразуют лицензию во вторую лицензию, если состояние лицензии является преобразованным состоянием.
9. Система для лицензирования приложения с использованием поставщиков синхронизации, содержащая:
поставщик синхронизации клиента, выполненный с возможностью:
принимать запрос назначения лицензии от коммерческого партнера через поставщика синхронизации коммерческого партнера, при этом поставщик синхронизации коммерческого партнера представляет уровень абстракции, который предоставляет интерфейс прикладного программирования (API) службы лицензирования для коммерческого партнера, не разрешая при этом коммерческому партнеру осуществлять прямой доступ к уровню назначения лицензии службы лицензирования,
отправлять в службу лицензирования системный вызов, запрашивающий лицензию для приложения, и
периодически определять и обновлять состояние лицензии; и
службу лицензирования, выполненную с возможностью:
возвращать лицензию для приложения на клиентское вычислительное устройство,
принимать информацию, относящуюся к состоянию лицензии, от поставщика синхронизации клиента и
регулировать условия лицензии согласно состоянию лицензии.
10. Система по п. 9, в которой поставщик синхронизации клиента соответствует заданному клиентскому вычислительному устройству, при этом лицензия разрешает использовать приложение на этом заданном клиентском вычислительном устройстве.
11. Система по п. 10, в которой лицензия разрешает использовать приложение на упомянутом заданном клиентском вычислительном устройстве на основе ввода мандата клиента.
12. Система по п. 9, в которой служба лицензирования выполнена с возможностью принимать информацию, относящуюся к состоянию лицензии, от поставщика синхронизации коммерческого партнера.
13. Система по п. 9, содержащая подключаемую систему поставщиков синхронизации коммерческого партнера и поставщиков синхронизации клиента, причем каждый поставщик синхронизации клиента выполнен с возможностью принимать запрос лицензирования от одного или более поставщиков синхронизации коммерческого партнера.
14. Система по п. 9, содержащая систему, выполненную с возможностью синхронизации состояния лицензии по множеству клиентских вычислительных устройств, соответствующих поставщику синхронизации клиента.
15. Система по п. 9, в которой служба лицензирования содержит множество API назначения лицензии для осуществления связи с поставщиком синхронизации клиента и поставщиком синхронизации коммерческого партнера.
16. Система по п. 9, в которой приложение представляет собой службу, предоставляемую конкретным коммерческим партнером.
17. Машиночитаемый носитель информации, содержащий множество инструкций, которые при их исполнении процессором предписывают процессору:
принимать запрос на лицензию для приложения от поставщика синхронизации клиента;
принимать информацию, относящуюся к лицензии, от поставщика синхронизации коммерческого партнера, соответствующего коммерческому партнеру, предлагающему приложение, при этом поставщик синхронизации коммерческого партнера представляет уровень абстракции, который предоставляет интерфейс прикладного программирования (API) службы лицензирования для коммерческого партнера, не разрешая при этом коммерческому партнеру осуществлять прямой доступ к уровню назначения лицензии службы лицензирования;
возвращать лицензию для приложения на клиентское вычислительное устройство;
определять информацию, относящуюся к состоянию лицензии; и
регулировать условия лицензии согласно состоянию лицензии.
18. Машиночитаемый носитель информации по п. 17, при этом информация, относящаяся к состоянию лицензии, определяется периодически.
19. Машиночитаемый носитель информации по п. 17, при этом регулирование условий лицензии содержит отзыв лицензии.
20. Машиночитаемый носитель информации по п. 17, при этом регулирование условий лицензии содержит повторное назначение лицензии.

Авторы

Патентообладатели

Заявители

СПК: G06F21/10 G06F21/105 G06F21/121 G06Q10/00 G06Q50/184

Публикация: 2017-08-15

Дата подачи заявки: 2013-01-21

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам