НАСТРАИВАЕМОЕ ЕДИНООБРАЗНОЕ УПРАВЛЕНИЕ ДЛЯ РАЗМЕЩАЕМЫХ ОБРАЗОВ СЕРВИСОВ
CUSTOM UNIFIED MANAGEMENT FOR HOSTED SERVICE IMAGES

УРОВЕНЬ ТЕХНИКИ
В общем случае вычислительные устройства для обмена данными используют коммуникационную сеть или несколько взаимосвязанных коммуникационных сетей. Компании и организации эксплуатируют компьютерные сети для соединения некоторого количества вычислительных устройств для поддержания их работы или для предоставления сервисов третьим сторонам. Вычислительные системы могут находиться в каком-то одном географическом местоположении или же располагаться в нескольких различных географических местоположениях (например, соединяемых между собой посредством частных коммуникационных сетей или коммуникационных сетей общего пользования). В частности, центры хранения и обработки данных или вычислительные центры, в данном документе обычно упоминаемые как ″центры хранения и обработки данных″, могут включать некоторое количество связанных между собой вычислительных систем, предоставляющих вычислительные ресурсы пользователям центра хранения и обработки данных. Центры хранения и обработки данных могут быть частными, то есть функционирующими от имени какой-то организации, или же общедоступными, то есть функционирующими от имени или в пользу неограниченного круга лиц.
Для повышения эффективности использования ресурсов центров хранения и обработки данных используются технологии виртуализации, позволяющие отдельному физическому вычислительному устройству содержать один или более экземпляров виртуальных машин, при этом для пользователя центра хранения и обработки данных экземпляр виртуальной машины выглядит как независимое вычислительное устройство. Благодаря виртуализации базовое вычислительное устройство может динамически создавать, обслуживать, удалять или иным способом управлять экземплярами виртуальных машин. Пользователи, в свою очередь, могут запрашивать у центра хранения и обработки данных вычислительные ресурсы, включающие отдельные вычислительные устройства, конфигурацию подключенных к сети вычислительных устройств и память, и получать в свое распоряжение экземпляры виртуальных машин, которые предоставляют запрошенные вычислительные ресурсы.
Экземпляр виртуальной машины может быть выполнен с возможностью обеспечения конкретной функциональности. Например, экземпляр виртуальной машины может быть связан с различными сочетаниями программных приложений и операционных систем или конфигураций операционной системы с целью обеспечения виртуальной машиной различных необходимых вариантов функциональности или для обеспечения аналогичных, но более эффективных вариантов функциональности. Конфигурации одного или более экземпляров виртуальных машин часто содержатся в образе сервиса, который может выполняться базовым вычислительным устройством для реализации конкретной требуемой функциональности экземпляра виртуальной машины.
В одном варианте воплощения образ сервиса при выполнении экземпляром виртуальной машины предоставляет открытый сетевой сервис (иначе называемый веб-сервисом), соответствующий программным приложениям/конфигурациям, которые включены в образ сервиса. Открытый сетевой сервис обеспечивает конкретную функциональность для других приложений и вычислительных ресурсов по сети посредством интерфейсов прикладных программ (API), при этом API также могут рассматриваться как открытый сетевой сервис или веб-сервис. Например, при выполнении образа сервиса может предоставляться доступ к базе данных с доступом через сеть или сервису хранения данных. После создания образа сервиса, он может быть предоставлен пользователям, заинтересованным в использовании имеющихся вычислительных ресурсов центра хранения и обработки данных для конкретных целей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеизложенные аспекты и многие из сопутствующих преимуществ будет легче оценить, когда они станут более понятны со ссылкой на последующее подробное описание, приведенное в сочетании с прилагаемыми чертежами, на которых:
На ФИГ. 1 представлена блок-схема, изображающая иллюстративную операционную среду, в которой электронная торговая площадка образов сервисов позволяет клиентам просматривать и приобретать образы сервисов, предоставляемые на торговой площадке сторонними провайдерами и оператором электронной торговой площадки образов сервисов;
На ФИГ. 2 представлена блок-схема, изображающая вычислительное устройство провайдера, предоставляющее образ сервиса для его включения в торговую площадку образов сервисов, показанную на ФИГ. 1;
ФИГ. 3 изображает иллюстративный пользовательский интерфейс, отображаемый на вычислительном устройстве провайдера, который позволяет провайдеру предоставить образ сервиса для его включения в торговую площадку образов сервисов, показанную на ФИГ. 1;
На ФИГ. 4 представлен иллюстративный пользовательский интерфейс управления, отображаемый на клиентском вычислительном устройстве, который представляет дополнительные элементы, касающиеся образа сервиса, приобретенного клиентом на торговой площадке образов сервисов, показанной на ФИГ. 1, и представляет один или более единообразных объектов-элементов управления и настраиваемых объектов-элементов управления, связанных с приобретаемым образом сервиса; и
ФИГ. 5 представляет собой блок-схему, изображающую иллюстративный алгоритм, реализуемый сервером электронной торговой площадки образов сервисов для запроса вычислительного ресурса для выполнения набора инструкций, связанного с единообразным объектом-элементом управления и приобретаемым образом сервиса.
ПОДРОБНОЕ ОПИСАНИЕ
В общем случае, аспекты данного раскрытия относятся к предоставлению электронной торговой площадки для образов сервисов. В частности, раскрыта электронная торговая площадка образов сервисов, которая позволяет клиентам просматривать и получать много разнообразных образов сервисов. Образы сервисов могут быть предоставлены и получены с электронной торговой площадки образов сервисов от сторонних провайдеров или могут быть представлены на торговую площадку оператором самой торговой площадки. После приобретения через торговую площадку, образ сервиса может быть запущен в базовой вычислительной среде, поддерживаемой сторонним провайдером образа сервисов, или в базовой вычислительной среде, связанной с торговой площадкой.
Электронная торговая площадка образов сервисов предоставляет среду, с которой как провайдеры, таки клиенты образов сервисов могут взаимодействовать через сеть. Как описано более подробно ниже, провайдеры и клиенты могут взаимодействовать с электронной торговой площадкой образов сервисов через один или более интерфейсов. В одном варианте воплощения интерфейсы могут включать пользовательские интерфейсы, которые генерируются сервером электронной торговой площадки и предоставляются на вычислительное устройство, связанное с провайдером или клиентом. В другом варианте воплощения интерфейсы могут включать ряд команд интерфейса прикладных программ (API). Электронная торговая площадка образов сервисов может также генерировать интерфейс управления, который включает один или более единообразных объектов-элементов управления, которые могут быть связаны с образом сервиса, предоставленным провайдером. Единообразные объекты-элементы управления могут обеспечить единообразную функциональность для каждого клиента, связанного с определенным образом сервиса, и могут предоставить одинаковую функциональность для всех клиентов. Например, стандартный набор единообразных объектов-элементов управления может быть предоставлен как часть интерфейса управления каждому из клиентов, который приобрел образ сервиса. Интерфейс управления может быть реализован как пользовательский интерфейс управления или в виде набора команд API. Функциональность стандартного набора единообразных объектов-элементов управления в целом для образов сервисов может быть настроена для каждого образа сервиса на основе различных наборов инструкций, полученных от провайдеров. Альтернативно, набор единообразных объектов-элементов управления может быть предусмотрен как часть интерфейса управления для клиентов, связанных с образами сервисов определенного типа(например, база данных, веб-сервер, устройство хранения данных и т.д.), клиентов, которые выплатили предопределенную цену, и/или клиентов, связанных с образами сервисов, которые имеют соответствующие уведомления от провайдера, и т.д. Кроме того, провайдеры могут представлять настраиваемые объекты-элементы управления, которые должны быть связаны только с одним образом сервиса или только с теми образами сервисов, которые представлены провайдером. Варианты воплощения электронной торговой площадки для образов сервисов могут быть найдены в заявке на патент США№ 13/248227, поданной 29 сентября2011 года и озаглавленной “ELECTRONIC MARKETPLACE FOR HOSTED SERVICE IMAGES”, которая в полном объеме включена в настоящий документ посредством ссылки (″заявка '227″).
В одном из вариантов воплощения провайдер может предоставить образ сервиса на торговую площадку образов сервисов для включения в каталог образов сервисов. Провайдер может предоставить дополнительную информацию, соответствующую образу сервиса, которая была бы полезной для клиента, например, сведения о ценах, условиях эксплуатации, местоположении базовой вычислительной среды провайдера, в которой может быть размещен образ сервиса, или другую информацию. Кроме того, провайдер может предоставлять набор инструкций, который может быть связан с определенным единообразным объектом-элементом управления и определенным образом сервиса. Единообразные объекты-элементы управления могут включать кнопки, ручки настройки, ручки, ссылки, интерактивные области, команды API, сценарии и другие подобные элементы, создаваемые в рамках интерфейса управления. Набор инструкций может запрещать действия, которые компьютерный ресурс, связанный с определенным образом сервиса, будет выполнять, когда происходит взаимодействие с конкретным единообразным объектом-элементом управления. Например, провайдер (например, провайдер_1) может представлять набор инструкций (например, набор_инструкций_1), который должен быть связан с образом сервиса (например, базой_данных_1). Набор_инструкций_1 может включать инструкции, которые определяют, каким образом связанный компьютерный ресурс будет ″приостанавливать″, ″завершать″ и/или ″изменять″ базу_данных_1. Например, ″изменение″ базы_данных_1 может включать изменение емкости запоминающего устройства, количества используемых процессоров, скорости обработки т.д. Набор_инструкций_1 может быть связан с объектом″ Приостановка″, объектом ″Завершение″ и объектом ″Изменение″, которые создаются в рамках пользовательского интерфейса управления для клиента (например, клиента_1). Альтернативно, объект ″Приостановка″, объект ″Завершение″ и объект ″Изменение″ могут быть реализованы в виде команд API, сценариев и тому подобного. Клиент_1 может взаимодействовать с различными объектами с помощью сценария, команды API, нажатия или выбора элементов пользовательского интерфейса и т.д. Когда клиент_1 взаимодействует с различными объектами, соответствующие инструкции могут быть выполнены с помощью компьютерного ресурса.
Несколько наборов инструкций от провайдеров могут быть связаны с каждым из единообразных объектов-элементов управления, а провайдеры могут настраивать требуемую функциональность единообразных объектов-элементов управления. В соответствии с тем же примером, второй провайдер (например, провайдер_2) может предоставить другой набор инструкций, который должен быть связан с другим образом сервиса (например, веб-сервером_2). Подобнонабору_инструкций_1, набор_инструкций_2 может включать инструкции, которые определяют, как связанный компьютерный ресурс будет ″приостанавливать″, ″завершать″ и/или ″изменять″ веб-сервер_2. Однако функции ″приостановки″, ″завершения″ и/или ″изменения″ в наборе_инструкций_2 могут значительно отличаться от тех же функций внаборе_инструкций_1. Например, ″изменение″ веб-сервера_2 может включать изменение количества запросов на обслуживание, которые веб-сервер_2 может обработать, изменение контентавеб-сервера_2 и т.д. Различные инструкции изнабора_инструкций_2 могут быть связаны с теми же объектами ″приостановки″, ″завершения″ и ″изменения″, что и внаборе_инструкций_1. Когда клиент взаимодействует с одним из единообразных объектов-элементов управления, электронная торговая площадка образов сервисов может определить, какая из инструкций должна выполняться, на основе чего образ сервиса идентифицируется интерфейсом управления.
Кроме того, провайдер может представить набор инструкций, которые могут быть связаны с настраиваемым объектом-элементом управления и являются частью интерфейса управления. Настраиваемый объект-элемент управления может быть связан только с одним образом сервиса. Например, провайдер_2 может предоставить набор инструкций (например, набор_инструкций_3), который должен быть связан с настраиваемым объектом-элементом управления (например, объектом ″Статистика сервера″) и является частью интерфейса управления. Набор_инструкций_3 может включать исполняемый код, который определяет, какой связанный компьютерный ресурс (и как) будет отображать статистику серверавеб-сервер_2. Объект ″Статистика сервера″ может быть объектом, который связан только свеб-сервером_2 или другими образами сервисов, представляемыми провайдером_2.
Клиенты могут просматривать каталог образов сервисов путем взаимодействия с различными пользовательскими интерфейсами, генерируемыми торговой площадкой образов сервисов, как описано более подробно ниже. После идентификации искомого образа сервиса клиент может просмотреть подробные сведения о каждом образе сервиса в каталоге образов сервисов, в том числе информацию, представляемую провайдером образа сервиса. В некоторых вариантах воплощения клиент может просмотреть дополнительную информацию, связанную с образом сервиса, такую как статистика использования образа сервиса другими клиентами торговой площадки, отзывы других клиентов или рекомендации по аналогичным или дополняющим образам сервисов. Соответственно, образы сервисов могут появляться перед клиентами с помощью электронной торговой площадки образов сервисов в различных формах, таких как навигация по дереву просмотра услуг, организованному по функции, типу, размеру и т.д., либо через рекомендации, отзывы и т.д.
Как только клиент выберет образ сервиса, он может приобрести или иным образом получить сервис с торговой площадки образов сервисов. В некоторых вариантах воплощения клиенту может быть предложено предоставить информацию об оплате за образ сервиса до запуска образа сервиса. После приобретения образа сервиса клиентом, образ сервиса может быть запущен и выполняться одной или более базовых вычислительных сред. Базовая вычислительная среда может быть предоставлена оператором торговой площадки образов сервисов или может быть иначе связана с электронной торговой площадкой образов сервисов. В некоторых вариантах воплощения сторонний провайдер приобретенного образа сервиса может предоставить базовую вычислительную среду для образа сервиса, приобретенного клиентом через электронную торговую площадку образов сервисов.
После того, как образ сервиса будет запущен и станет выполняться в базовой вычислительной среде, электронная торговая площадка образов сервисов может отслеживать использование выполняемых функций или сервисов, предоставляемых образом сервиса, и, соответственно, выставлять счет клиенту или же осуществлять платежи в пользу провайдера. Кроме этого, электронная торговая площадка образов сервисов может предоставлять клиенту средства для управления, мониторинга, изменения и др. образа сервиса. Например, пользователь может отслеживать, как он сам использует конкретный образ сервиса и взаимодействовать с торговой площадкой и соответствующим образом сервиса при помощи одного или более интерфейсов либо пользовательских интерфейсов, каждый из которых может включать один или более единообразных объектов-элементов управления. В соответствии с приведенным выше примером, клиент_1 может приобрести базу_данных_1 и веб-сервер_2 и желает внести изменения в базу_данных_1. Для этого клиент_1 может взаимодействовать с объектом “Изменение“ интерфейса управления в отношении базы_данных_1, например, установив курсор на объект “Изменение“, щелкнув или нажав на объект “Изменение“, переместив объект “Изменение“, введя команду API, выполнив сценарий и так далее.
После взаимодействия с конкретным единообразным объектом-элементом управления вычислительный ресурс в базовой вычислительной среде, в которой выполняется образ сервиса, может выполнять набор инструкций, который связан с конкретным образом сервиса и конкретным единообразным объектом-элементом управления, для выполнения действия, указанного в наборе инструкций. В соответствии с приведенным выше примером, после взаимодействия с объектом интерфейса управления ″Изменить″, компьютерный ресурс может генерировать пользовательский интерфейс, позволяющий клиенту_1 изменить базу_данных_1. Например, клиент_1 может, используя сгенерированный пользовательский интерфейс, получить возможность увеличить или уменьшить емкость запоминающего устройства базы_данных_1, увеличить или уменьшить объем вычислительной мощности или скорости, используемой для работы сбазой_данных_1 и т.д. Альтернативно, компьютерный ресурс может позволить клиенту_1 изменить базу_данных_1 с помощью интерфейса управления и/или не генерировать никакой пользовательский интерфейс. То, какие компоненты базы_данных_1 и как могут быть изменены клиентом_1, может быть определено набором_инструкций_1, представляемым провайдером_1.
В качестве примера, который не должен быть истолкован как ограничивающий, электронная торговая площадка образов сервисов может предоставлять провайдерам команду ″Приостановка″ как единообразного объекта-элемента управления для образов сервисов, реализующих базу данных. Команда ″Приостановка″ может быть реализована в виде кнопки ″Приостановка″ в пользовательском интерфейсе, команды API, сценария и т.п. Соответственно, электронная торговая площадка образов сервисов может получать первый образ сервиса, реализующий базу данных, от первого провайдера, а второй образ сервиса, реализующий базу данных, от второго провайдера. Электронная торговая площадка образов сервисов может также получать от первого провайдера первый набор инструкций, связанный с первым образом сервиса, который относится к команде ″Приостановка″. Первый набор инструкций может содержать инструкции, которые будут выполняться, когда клиент, который приобрел первый образ сервиса, взаимодействует с командой ″Приостановка″. Например, инструкции, при их выполнении, могут побудить вычислительный ресурс в базовой вычислительной среде, на котором выполняется образ сервиса, сохранить текущие параметры работы и значения в регистре, вывести состояние любых проектов, а затем завершить выполнение. После получения первого набора инструкций электронная торговая площадка образов сервисов может связать первый набор инструкций с единообразным объектом-элементом управления для команды ″Приостановка″ и первым образом сервиса.
Аналогичным образом, второй набор инструкций, полученных от второго провайдера, может включать инструкции, которые будут выполнены, когда клиент, который приобрел второй образ сервиса, взаимодействует с командой ″Приостановка″. Например, при выполнении второй набор инструкций может побудить вычислительный ресурс в базовой вычислительной среде, на котором выполняется образ сервиса, сохранить и закрыть все приложения и войти в спящий режим. Электронная торговая площадка образов сервисов может связать второй набор инструкций с единообразным объектом-элементом управления для команды ″Приостановка″ и вторым образом сервиса. Поскольку принимаемые дополнительные образы сервисов, относящиеся к базам данных и дополнительным наборам инструкций, соответствуют постоянному объекту-элементу управления для команды ″Приостановка″, электронная торговая площадка образов сервисов может связать каждый набор инструкций с объектом-элементом управления для команды ″Приостановка″. Каждый набор инструкций может включать различные инструкции и различные способы для выполнения операции ″Приостановка″. Соответственно, команда ″Приостановка″ может быть связана с различными наборами инструкций, которые выполняют функцию ″приостановки″ разными способами.
Позднее клиент может приобрести первый образ сервиса. Клиент может просматривать детальное описание, касающееся первого образа сервиса через интерфейс, такой как пользовательский интерфейс или другой интерфейс. При просмотре детального описания первого образа сервиса, пользовательский интерфейс может также включать команду ″Приостановка″ в качестве единообразного объекта-элемента управления. Клиент может выбрать команду ″Приостановка″ в пользовательском интерфейсе, взаимодействуя с пользовательским интерфейсом. Альтернативно, пользователь может выбрать команду ″Приостановка″ путем выполнения сценария или осуществления команды API и т.д. При выборе команды ″Приостановка″ вычислительный ресурс в базовой вычислительной среде, в которой выполняется образ сервиса, может выполнить первый набор инструкций, сохраняя текущие параметры работы и значения в регистре, выводя состояние любых проектов, а затем прекращая любое дальнейшее выполнение. Если клиент приобретает второй образ сервиса и выбирает команду ″Приостановка″, при просмотре информации, связанной со вторым образом сервиса, вычислительный ресурс может выполнять второй набор инструкций. Соответственно, команда ″Приостановка″ может быть включена в несколько интерфейсов управления для образов сервисов, которые относятся к базе данных, однако инструкции, выполняемые при взаимодействии с командой ″Приостановка″, могут сильно изменяться в зависимости от идентифицируемого образа сервиса.
Варианты воплощения, обсуждаемые ниже, могут ссылаться на пользователей электронной торговой площадки образов сервисов как на клиентов. Тем не менее, следует понимать, что пользователи не ограничиваются клиентами, но могут включать и владельцев, администраторов, конечных пользователей и провайдеров образов сервисов, приобретенных на электронной торговой площадке образов сервисов. Конкретные варианты воплощения и примеры применения настоящего изобретения теперь будут описаны со ссылкой на чертежи, и эти варианты воплощения и примеры применения предназначены для иллюстрации, а не для ограничения настоящего изобретения.
На ФИГ. 1 представлена блок-схема, изображающая иллюстративную операционную среду, в которой электронная торговая площадка образов сервисов 100 позволяет клиентам просматривать и приобретать образы сервисов, предоставляемые на торговой площадке сторонними провайдерами или оператором электронной торговой площадки образов сервисов. Как показано на ФИГ. 1, операционная среда включает одно или более вычислительных устройств провайдера 150 и одно или более клиентских вычислительных устройств 140, связанных с электронной торговой площадкой образов сервисов 100 посредством сети 130. Сторонний провайдер, использующий вычислительное устройство провайдера 150, может представлять через сеть 130 на электронную торговую площадку образов сервисов 100 образ сервиса для определенного типа функциональности. Электронная торговая площадка образов сервисов 100 может затем сделать образ сервиса, а также другие образы сервисов, переданные на торговую площадку, доступными для клиентов.
Соответственно, клиент, использующий вычислительное устройство 140, может просматривать образы сервисов, доступные на электронной торговой площадке образов сервисов 100, приобретать желаемый образ сервиса и запускать приобретенный образ сервиса в базовой вычислительной среде торговой площадки 120, работающей, поддерживаемой, предоставляемой или иным образом связанной с оператором электронной торговой площадки образов сервисов 100. В некоторых случаях, когда приобретенный образ сервиса был представлен на электронную торговую площадку образов сервисов 100 сторонним провайдером, приобретенный образ сервиса может быть запущен в базовой вычислительной среде провайдера 152, работающей, поддерживаемой, предоставляемой или иным образом связанной со сторонним провайдером.
Базовая вычислительная среда может включать совокупность быстро предоставляемых и высвобождаемых вычислительных ресурсов, размещаемых, будучи соединяемыми с торговой площадкой или сторонним провайдером. Вычислительные ресурсы могут включать ряд вычислительных, сетевых и запоминающих устройств, соединенных друг с другом. В некоторых вариантах воплощения вычислительные устройства могут соответствовать физическим вычислительным устройствам. В других вариантах воплощения вычислительные устройства могут соответствовать экземплярам виртуальной машины, реализованным одним или более физическими вычислительными устройствами. В других вариантах воплощения вычислительные устройства могут соответствовать как виртуальным вычислительным устройствам, таки физическим вычислительным устройствам. Один из примеров базовой вычислительной среды приведен в патенте США №7865586, озаглавленном “CONFIGURING COMMUNICATIONS BETWEEN COMPUTING NODES” и опубликованном 4 января 2011 г., который включен в данный документ посредством ссылки в полном объеме. Базовая вычислительная среда также может упоминаться как облачная вычислительная среда.
Хотя данное описание относится к базовым вычислительным средам, связанным с провайдером образа сервиса и с электронной торговой площадкой образов сервисов 100, в некоторых вариантах воплощения могут быть использованы дополнительные базовые вычислительные среды. Например, клиентское вычислительное устройство 140 может предоставить клиентскую базовую вычислительную среду (не показана), или сторонняя организация может предоставить базовую вычислительную среду сторонней организации (не показана). Любые или все из этих дополнительных базовых вычислительных сред могут быть доступны для электронной торговой площадки образов сервисов 100 и могут быть использованы для размещения образов сервисов, доступных на электронной торговой площадке образов сервисов 100. В целях краткости изложения, такие дополнительные базовые вычислительные среды также могут упоминаться здесь как ″базовые вычислительные среды провайдера″.
Вычислительные устройства провайдера 150 и клиентские вычислительные устройства 140 могут осуществлять связь с электронной торговой площадкой образов сервисов 100 через сеть 130. Вычислительным устройством провайдера 150 или клиентским вычислительным устройством 140 может быть любое вычислительное устройство, такое как ноутбук или планшетный компьютер, персональный компьютер, сервер, карманный персональный компьютер (КПК), гибрид КПК/мобильного телефона, мобильный телефон, устройство для чтения электронных книг, телевизионная приставка, камера, цифровой медиа-плеер и тому подобное. Специалистам в данной области техники будет понятно, что сеть 130 может быть любой проводной сетью, беспроводной сетью или их сочетанием. Кроме того, сеть 130 может быть персональной сетью, локальной сетью, глобальной сетью, кабельной сетью, спутниковой сетью, сотовой телефонной сетью или их сочетанием. В показанном варианте воплощения сеть 130 является сетью Интернет. Протоколы и компоненты для осуществления передачи через Интернет или по любой из других вышеупомянутых типов сетей передачи данных, хорошо известны специалистам в области компьютерных коммуникаций и, таким образом, нет необходимости в более подробном их описании в данном документе.
В показанном варианте воплощения электронная торговая площадка образов сервисов 100 показана в виде вычислительной среды, включающей несколько вычислительных систем, которые соединены между собой посредством одной или более сетей. В частности, торговая площадка образов сервисов может включать сервер торговой площадки 112, сервер мониторинга использования 114, электронный каталог 116 и сервер биллинга 118. Каждый из них будет описан более подробно ниже. Тем не менее, специалистам в данной области будет понятно, что электронная торговая площадка образов сервисов 100 может иметь меньше или больше компонентов, чем показано на ФИГ. 1. Кроме того, электронная торговая площадка образов сервисов 100 может включать различные конфигурации веб-сервисов и/или одноранговых сетей. Таким образом, изображение электронной торговой площадки образов сервисов 100 на ФИГ. 1 следует рассматривать как иллюстративное, а неограничивающее настоящее изобретение. Кроме того, функции, выполняемые отдельными компонентами электронной торговой площадки образов сервисов 100, в общем смысле могут быть упомянуты как выполняемые электронной торговой площадкой образов сервисов 100.
Сервер торговой площадки 112 способствует сетевой передаче, осуществляемой сторонними провайдерами, а также просмотру и совершению клиентских покупок образов сервисов на электронной торговой площадке образов сервисов 100. Соответственно, провайдер, используя вычислительное устройство провайдера 150, может предоставлять один или более образов сервисов на электронную торговую площадку образов сервисов 100 посредством сервера торговой площадки 112. Предоставленные образы сервисов могут быть затем включены в электронный каталог 116. Способ, посредством которого провайдер, используя вычислительное устройство провайдера 150, предоставляет образ сервиса на электронную торговую площадку образов сервисов 100, будет описан более подробно ниже со ссылкой на ФИГ. 2 и 3.
Электронный каталог 116 включает информацию по образам сервисов, доступным от множества провайдеров, и по образам сервисов, предоставляемым оператором электронной торговой площадки образов сервисов 100. Кроме того, электронный каталог 116 может включать различные объекты-элементы управления и наборы инструкций, связанные с объектами-элементами управления. Объектами-элементами управления могут быть единообразные объекты-элементы управления, которые связаны с одним или более образами сервисов, группами образов сервисов, типами образов сервисов и т.д., или объекты-элементы управления могут быть настраиваемыми объектами-элементами управления, которые связаны только с одним образом сервиса или образами сервисов от конкретного провайдера. Объекты-элементы управления могут включать, но не ограничиваются ими, кнопки, ручки настройки, ручки, ссылки, интерактивные области, команды API, сценарии, вызовы функций и т.п.
Единообразные объекты-элементы управления могут предоставляться электронной торговой площадкой образов сервисов 100 провайдерами клиентам. Провайдеры могут использовать единообразные объекты-элементы управления для подготовки наборов инструкций, связанных с единообразными объектами-элементами управления. Клиенты могут использовать единообразные объекты-элементы управления для управления приобретаемыми образами сервисов. Единообразный объект-элемент управления может включать любой объект-элемент управления, который электронная торговая площадка образов сервисов 100 предоставляет группе клиентов как установлено электронной торговой площадкой образов сервисов 100. Например, единообразные объекты-элементы управления могут включать, но не ограничиваются ими, объект ″Приостановка″, объект ″Завершение″, объект ″Обновление″, объект ″Увеличение/уменьшение″ и т.д. Электронная торговая площадка образов сервисов 100 может предоставлять единообразные объекты-элементы управления в рамках стандартизированного интерфейса, пользовательского интерфейса и т.д. Для пользовательских интерфейсов, электронная торговая площадка образов сервисов 100 может изменять единообразные объекты-элементы управления, которые отображаются как часть стандартного пользовательского интерфейса на основе типа образа сервиса или того, выполняется ли в данный момент образ сервиса, и т.д. Например, образы сервисов из базы данных могут включать три единообразных объекта-элемента управления, в то время как образы сервисов из устройства хранения данных могут включать пять единообразных объектов-элементов управления и т.д. Кроме того, образ сервиса из базы данных, который выполняется в данный момент, может включать три единообразных объекта-элемента управления, в то время как образ сервиса из базы данных, который в настоящее время не выполняется, может включать только два единообразных объекта-элемента управления.
Настраиваемые объекты-элементы управления могут быть предоставлены отдельными провайдерами. Настраиваемый объект-элемент управления может включать любой объект-элемент управления, который электронная торговая площадка образов сервисов 100 связывает только с одним образом сервиса или который был предоставлен провайдером. Например, провайдер может предоставить объект ″Просмотреть выполнение″ или объект ″Просмотреть диаграмму″, то есть не стандартный объект управления, но который был бы включен в пользовательский интерфейс, связанный с образом сервиса провайдера, сгенерированным электронной торговой площадкой образов сервисов 100 и переданным на клиентское вычислительное устройство 140.
Наборы инструкций могут быть предоставлены провайдером, а затем связаны с соответствующими объектами-элементами управления и образами сервисов электронной торговой площадкой образов сервисов 100. Например, провайдер образа сервиса из базы данных может предоставлять наборы инструкций для единообразных объектов-элементов управления, таких как ″Приостановка″, ″Обновление″, ″Увеличение/уменьшение″ в сочетании с образом сервиса из базы данных. Электронная торговая площадка образов сервисов 100 может связать наборы инструкций с соответствующим единообразным объектом-элементом управления и с образом сервиса из базы данных. Электронная торговая площадка образов сервисов 100 может затем сохранить образ сервиса из базы данных и наборы инструкций наряду с единообразными объектами-элементами управления в электронном каталоге 116. Кроме того, электронная торговая площадка образов сервисов 100 может сохранить ассоциации между единообразными объектами-элементами управления, образом сервиса из базы данных и наборами инструкций в электронном каталоге 116. Любые настраиваемые объекты-элементы управления также могут быть сохранены в электронном каталоге 116.
Согласно ФИГ. 1, сервер торговой площадки 112 может получать информацию образа сервиса для образов сервисов, предлагаемых множеством провайдеров через электронную торговую площадку образов сервисов 100, и предоставлять образы сервисов клиенту с отдельного сетевого ресурса, такого как веб-сайт. Клиент может затем приобрести образ сервиса на электронной торговой площадке образов сервисов 100 и запустить образ сервиса в базовой вычислительной среде (например, в базовой вычислительной среде торговой площадки 120 или базовой вычислительной среде провайдера 152) в отдельном взаимодействии или по заявке, размещенной на торговой площадке образов сервисов. Это устраняет необходимость для клиента создавать его или ее собственный образ сервиса; или изучать, искать или иначе узнавать о множестве различных провайдеров или других источников образа сервиса. Электронный каталог 116 может быть каталогом, содержащим информацию, относящуюся как к элементам (таким как товары и услуги), таки к образам сервисов, или может представлять собой отдельные каталоги, где один каталог содержит информацию, относящуюся к элементам, а другой каталог содержит информацию, относящуюся к образам сервисов, не выходя за рамки настоящего раскрытия.
В качестве иллюстрации, сервер торговой площадки 112 может генерировать один или более пользовательских интерфейсов, через которые клиент, используя клиентское вычислительное устройство 140, может просматривать образы сервисов, предоставлять запросы соответствующих образов сервисов и просматривать информацию и подробности о конкретных образах сервисов. Кроме того, сервер торговой площадки 112 может генерировать один или более управляющих пользовательских интерфейсов, которые включают один или более единообразных объектов-элементов управления, через которые клиент может управлять приобретенными образами сервисов. Кроме того, сервер торговой площадки 112 может предоставлять один или более интерфейсов управления для клиента, которые включают команды для выполнения одного или более единообразных объектов-элементов управления.
После того как клиент выбирает желаемый образ сервиса на электронной торговой площадке образов сервисов 100, сервер торговой площадки 112 может упростить конфигурацию и приобретение образа сервиса и инициировать запуск образа сервиса в базовой вычислительной среде. В связи с этим, сервер торговой площадки 112 может получать информацию об оплате от клиентского вычислительного устройства 140, а также информацию, указывающую, как образ сервиса должен быть реализован с помощью базовой вычислительной среды. В некоторых вариантах воплощения клиент может выбрать конкретную базовую вычислительную среду для размещения выбранного образа сервиса. Конкретная базовая вычислительная среда может соответствовать, например, базовой вычислительной среде торговой площадки 120, связанной с электронной торговой площадкой образов сервисов 100, или базовой вычислительной среде провайдера 152, которая связана с провайдером образа сервиса.
Когда образ сервиса уже запущен и работает в базовой вычислительной среде, электронная торговая площадка образов сервисов 100 может отслеживать использование функциональности или услуг, предоставляемых образом сервиса, и выставлять счет клиенту/предоставлять оплату провайдеру соответственно, через сервер мониторинг а использования 114 и биллинг-сервер 118 соответственно. Кроме того, торговая площадка образов сервисов может предоставлять клиенту инструменты для управления, мониторинга, внесения изменений и т.д. в образ сервиса. Эти инструменты могут быть предоставлены в виде единообразных и настраиваемых объектов-элементов управления, описанных выше. На основании того, какой образ сервиса запущен и выполняется, могут быть отображены или осуществлено взаимодействие с различными объектами-элементами управления. Кроме того, в зависимости от того, какой выбран образ сервиса, осуществление взаимодействия с единообразными объектами-элементами управления может инициировать выполнение различных инструкций вычислительным ресурсом. В показанном примере сервер мониторинга использования 114 соединен с базовой вычислительной средой торговой площадки 120 и выполнен с возможностью отслеживать использование функциональности (например, веб-сервиса), предоставленной выполняемым образом сервиса. Это может потребоваться, например, когда ценообразование образа сервиса зависит от использования веб-сервисов, предоставляемых образом сервиса при выполнении.
Биллинг-сервер 118, с другой стороны, может быть предусмотрен для обработки платежей от клиентов и, в некоторых вариантах воплощения, передачи оплаты провайдерам за приобретенные образы сервисов. Биллинг-сервер 118 может получать и предоставлять информацию об оплате, взаимодействуя с сервером торговой площадки 112. В некоторых вариантах воплощения биллинг-сервер 118 может альтернативно получать и предоставлять информацию об оплате другими способами, такими как передача через дополнительный сервер, с помощью телефонного взаимодействия или другими способами.
Согласно ФИГ. 2 будет описано иллюстративное взаимодействие для предоставления возможности вычислительному устройству провайдера 150 передавать образ сервиса на электронную торговую площадку образов сервисов 100. Как показано на ФИГ. 2, вычислительное устройство провайдера 150 предоставляет образ сервиса и информацию, соответствующую этому образу сервиса, на электронную торговую площадку образов сервисов 100, где предоставление обрабатывается сервером торговой площадки 112. Провайдер, используя вычислительное устройство провайдера 150, может представлять информацию, такую как наименование образа сервиса, объект, который сгенерировал образ сервиса, программное обеспечение, содержащееся в образе сервиса, или описание образа сервиса либо программного обеспечения, содержащегося в нем. Объект или провайдер может предоставлять информацию о ценах, соответствующих образу сервиса или использованию образа сервиса. Такая информация о ценах может, в качестве примера, соответствовать одноразовой цене приобретения образа сервиса, ежемесячной абонентской плате, связанной с образом сервиса, или плате за пользование, связанной с временным периодом использования образа сервиса. Например, предоставляемая информация о ценах может отражать ежемесячную абонентскую плату за приобретение образа сервиса в дополнение к почасовой оплате за использование образа сервиса. Вычислительное устройство провайдера 150 может необязательно указывать ограничения на использование, связанные с предоставляемым образом сервиса, например, требование принятия лицензионного соглашения с конечным пользователем (″EULA″), максимальные пределы по использованию или тип ограничений использования, например, ограничения, разрешающие только некоммерческое использование. Кроме того, провайдер может предоставить наборы инструкций, которые должны быть связаны с предоставляемым образом сервиса и единообразными объектами-элементами управления, хранящимся в электронном каталоге 116. Наряду с наборами инструкций, провайдер может предоставлять настраиваемые объекты-элементы управления и наборы инструкций, связанные с настраиваемыми объектами-элементами управления.
После предоставления образа сервиса и любой соответствующей информации, полученной от вычислительного устройства провайдера 150, сервер торговой площадки 112 может взаимодействовать с электронным каталогом 116, чтобы сохранить образ сервиса и соответствующую информацию. Электронный каталог 116 может быть реализован в виде подробного перечня образов сервисов, которые доступны для клиента через электронную торговую площадку образов сервисов 100. Хотя здесь изображен один каталог образов сервисов, сервер торговой площадки 112 может взаимодействовать с рядом различных каталогов образов сервисов для сохранения предоставляемых образов сервисов и соответствующей информации. В одном варианте воплощения электронный каталог 116 представляет собой обычную базу данных, хранимую на одном или более запоминающих устройствах. В других вариантах воплощения электронный каталог 116 связан с сервером каталогов (не показан), который выполняет функцию хранения подробного перечня. Электронный каталог 116 и/или связанный сервер каталогов могут быть связаны с другими серверами и базами данных, также хранящими информацию каталогов для образов сервисов, доступных через электронную торговую площадку образов сервисов 100. Например, такие серверы и базы данных могут работать посредством различных провайдеров и, таким образом, могут включать различную информацию каталогов для образов сервисов, предлагаемую этими провайдерами.
В некоторых вариантах воплощения предоставление образа сервиса не обязательно приведет ко включению образа сервиса или наборов инструкций в электронный каталог 116. Например, электронная торговая площадка образов сервисов 100 может иметь автоматический или ручной режим контроля образа сервиса и наборов инструкций перед включением в электронный каталог 116. Такой контроль образа сервиса и наборов инструкций может привести к дальнейшему установлению связи между электронной торговой площадкой образов сервисов 100 и провайдером (не показан) перед добавлением образа сервиса в электронный каталог 116 или может привести к отказу относительно включения образа сервиса в электронный каталог 116.
Хотя в выше приведенном описании упоминался образ сервиса, в некоторых вариантах воплощения провайдер может вместо предоставления образа сервиса предоставлять один или более компонентов образа сервиса. Такой компонент образа сервиса может соответствовать, например, приложению, которое может содержаться в образе сервиса или наборе инструкций. В этих вариантах воплощения компоненты образа сервиса могут быть сохранены в электронном каталоге 116 и выбраны клиентами электронной торговой площадки образов сервисов 100 для приобретения. Электронная торговая площадка образов сервисов 100 может быть выполнена с возможностью создания образа сервиса в ответ на выбор одного или более компонентов образа сервиса клиентом.
На ФИГ. 3 изображен один пример пользовательского интерфейса 300 для предоставления провайдером образов сервисов. Как показано на ФИГ. 3, пользовательский интерфейс 300 позволяет провайдеру, используя вычислительное устройство провайдера, такое как вычислительное устройство провайдера 150 на ФИГ. 1, предоставить образ сервиса на электронную торговую площадку образов сервисов 100. В качестве иллюстрации, пользовательский интерфейс 300 может генерироваться сервером торговой площадки 112 электронной торговой площадки образов сервисов 100 и представляться на вычислительное устройство провайдера 150 приложением, например, приложением браузера. В этом примере пользовательский интерфейс 300 содержит ссылку на заголовок 302 на электронной торговой площадке образов сервисов 100, т. е. ″Базовый Каталог Веб-Сервисов″, а также приветствие 304 провайдеру, посещающему в данный момент электронную торговую площадку образов сервисов 100. В показанном примере провайдер определен как ″Провайдер Пол″. Пользовательский интерфейс 300 дополнительно содержит навигационную панель 310, которая направляет провайдера к различным другим возможностям, предлагаемым электронной торговой площадкой образов сервисов 100. В качестве иллюстрации, текстовые блоки в навигационной панели 310 могут соответствовать интерактивным ссылкам, которые, будучи выбранными, модифицируют или изменяют пользовательский интерфейс. В данном примере провайдер Пол выбрал ссылку 312, ″Загрузить Образ Сервиса″. На основе этого выбора сервер торговой площадки 112 возвращает контент для пользовательского интерфейса 300.
Посредством пользовательского интерфейса 300 провайдер может предоставлять информацию, связанную с образом сервиса, на электронную торговую площадку образов сервисов 100. Провайдер, используя вычислительное устройство провайдера 150, может предоставлять через поле ввода 322 идентификатор образа сервиса, который будет использоваться электронной торговой площадкой образов сервисов 100. Это может быть наименование, отображаемое для клиентов электронной торговой площадки образов сервисов 100 при просмотре или поиске по электронной торговой площадке образов сервисов 100. Провайдер может предоставлять дополнительную информацию, такую как расположение файла (например, имя или адрес файла), и информацию о ценах в полях ввода 324-330. Поле ввода 324 позволяет провайдеру указать образ сервиса, который должен быть предоставлен, и который впоследствии может быть размещен базовой вычислительной средой от имени клиента. В показанном примере, расположение образа сервиса является расположением на вычислительном устройстве провайдера 150, как показано на ФИГ. 3. В других вариантах воплощения файл образа сервиса может быть расположен на другом вычислительном устройстве, таком как вычислительное устройство в базовой вычислительной среде провайдера 152 или вычислительное устройство в базовой вычислительной среде торговой площадки 120, связанной с электронной торговой площадкой образов сервисов 100. Образ устройства может также включать наборы инструкций, которые должны быть связаны с единообразными и настраиваемыми объектами-элементами управления. В качестве альтернативы, отдельные файлы, которые включают наборы инструкций, которые должны быть связаны с объектами-элементами управления, могут быть загружены с помощью дополнительных полей ввода.
В некоторых вариантах воплощения электронная торговая площадка образов сервисов 100 может создать образ сервиса от имени провайдера. Например, провайдер может вместо предоставления местоположения образа сервиса через поле ввода 324 указать местоположение вычислительного устройства. Электронная торговая площадка образов сервисов 100 может затем определить местоположение указанного вычислительного устройства и создать образ сервиса, отражающий текущее работающее программное обеспечение и/или текущую конфигурацию вычислительного устройства. Такая функциональность может быть полезна в ситуациях, когда провайдер желает предоставить образ сервиса текущего состояния вычислительного устройства, которое имеется в базовой вычислительной среде торговой площадки 120.
В показанном примере поля ввода 326-330 позволяют провайдеру указать информацию о ценах, связанную с предоставляемым образом сервиса. Например, поле ввода 326 позволяет провайдеру указать ценовую структуру, связанную с образом сервиса, такую как ценовая структура, требующаяся указания месячной ставки подписки, а также почасовой платы за использование. Однако, как описано выше, могут быть использованы и другие или дополнительные ценовые структуры. В качестве неограничивающего примера, ценовая структура может соответствовать одноразовой оплате, абонементу на любой период времени (например, годы, месяцы, недели и т.д.), которую необходимо вносить независимо от использования, плате за пользование, взимаемой только за время фактического использования образа сервиса, плате за использование или плате за доступ, например плате, связанной с каждой загрузкой образа сервиса, или любой другой ценовой структуре. В некоторых вариантах воплощения образ сервиса может быть предоставлен бесплатно. В других вариантах воплощения информация о ценах может зависеть от использования образа сервиса. Например, более высокая цена может быть введена для использования образа сервиса в коммерческой среде, в отличие от цены, которая была бы введена для использования того же образа сервиса в некоммерческой или образовательной среде. В качестве другого примера, информация о ценах может содержать дифференцированные цены, которые предполагают, что с активных пользователей образа сервиса может взиматься более низкая плата за использование. В других вариантах воплощения провайдер может передавать индивидуальную информацию о ценах, которая будет использоваться для конкретных клиентов образа сервиса и образов сервисов. Например, между провайдером и каждым клиентом могут существовать или быть созданы индивидуальные контракты. Специалисту в данной области техники будет понятно, что различные реализации могут содержать такие индивидуализированные контракты. Например, провайдер может изменить ценовую информацию для одного клиента (например, позволяя определенному клиенту осуществлять неограниченный доступ без оплаты).
Провайдер может также указать параметры для ценовой структуры посредством полей ввода 328 и 330, например, например, сумму абонементной месячной ставки и почасовой оплаты. В некоторых вариантах воплощения поля ввода 328 и 330 могут появляться только тогда, когда в поле ввода 326 видно, что они необходимы. Если окно ввода 326 указывает, что требуется другая или дополнительная ценовая информация, могут появиться дополнительные поля ввода. В некоторых вариантах воплощения одно или более из вышеуказанных полей вводимых параметров могут не потребоваться. В других вариантах воплощения может быть предоставлена дополнительная вводимая информация. Например, провайдер может указать графические данные, которые должны быть связаны с предоставляемым образом сервиса. Когда вся необходимая информация будет введена, подготовка к передаче может быть завершена путем выбора управляющего воздействия 332. Соответственно, провайдер может активировать управляющее воздействие 332, чтобы вычислительное устройство провайдера 150 передало образ сервиса и соответствующую информацию на сервер торговой площадки 112. Как обсуждалось выше, сервер торговой площадки 112 может затем предоставить полученную информацию в электронный каталог 116.
Клиент может создать запрос образа сервиса и использовать пользовательский интерфейс для отображения информации, связанной с различными образами сервисов, представляющими интерес. Клиент может купить и/или приобрести образы сервисов, сохраненные в электронном каталоге 116, как описано более подробно в заявке '227. Кроме того, клиент может просмотреть детальную информацию, касающуюся приобретаемых образов сервисов, с использованием одного или более пользовательских интерфейсов, и может управлять одним или более образами сервисов с помощью интерфейса управления.
На ФИГ. 4 представлен иллюстративный пользовательский интерфейс управления, отображаемый на клиентском вычислительном устройстве, который предоставляет подробную информацию относительно образа сервиса, приобретенного клиентом на торговой площадке образов сервисов, показанной на ФИГ. 1, и который предоставляет один или более единообразных объектов-элементов управления и настраиваемых объектов-элементов управления, связанных с приобретаемым образом сервиса. Пользовательский интерфейс управления 400 может быть использован клиентом для управления или иного осуществления контроля различных аспектов приобретенного образа сервиса. Хотя здесь он проиллюстрирован как пользовательский интерфейс, интерфейс управления альтернативно может быть реализован в виде набора команд API, сценария, вызовов функций и т.д.
Как показано на ФИГ. 4, пользовательский интерфейс управления 400 позволяет клиенту ознакомиться с информацией относительно образов сервисов, приобретенных через электронную торговую площадку образов сервисов100, т.е. ″HostedWebServicesCatalog″ 302, и управлять приобретенными образами сервисов. Текущим пользователем “WebServicesCatalog” является клиент Крис 304. Панель навигации 310 отображает для клиента различные другие функции, предлагаемые электронной торговой площадкой образов сервисов 100. В этом иллюстративном примере клиент Крис выбрал ссылку “Образ базы данных Пола” 402 области навигационной панели “MyInstances” (Мои экземпляры) 310.
Функции дисплея 403-414 изображают информацию о соответствующем образе сервиса. Функция дисплея 403 отображает заголовок образа сервиса. Функция дисплея 404 отражает текущее количество активных экземпляров образа сервиса, в то время как функция дисплея 406 изображает количество часов, в течение которых образ сервиса был использован в текущем месяце. Функция дисплея 408 изображает почасовую ставку, связанную с использованием образа сервиса, как установлено провайдером Полом, а дисплей 410 изображает общую стоимость, начисленную за текущий месяц. Дисплей 412 отображает опции образа сервиса для клиента.
Объекты-элементы управления 416-426 предоставляют клиенту ряд функций управления, которые могут использоваться для управления образом сервиса. Объекты интерфейса включают как единообразные объекты-элементы управления 416-422, которые предоставляются нескольким клиентам на основе параметров, определенных электронной торговой площадкой образов сервисов, так и настраиваемые объекты-элементы управления 424-426, предоставляемые клиентам отдельного образа сервиса или клиентам образов сервисов одним и тем же провайдером. Параметры для определения того, какие клиенты могут просматривать единообразные объекты-элементы управления, могут включать тип используемого образа сервиса, то, выполняется ли в данный момент образ сервиса, цену, уплаченную за образ сервиса, уведомления, полученные от провайдера, как описано более подробно в заявке '227.
Согласно иллюстрации, единообразные объекты-элементы управления включают объект ″Приостановить″ 416, объект ″Завершить″ 418, объект ″Обновление″ 420 и объект ″Увеличение/уменьшение″ 422. После взаимодействия с объектом ″Приостановить″ 416, вычислительный ресурс в общем может приостановить или остановить все операции образа сервиса, выполняемые для последующего использования или просмотра. Объект ″Завершить″ 418 в общем может быть использован для завершения всех операций образа сервиса, которые выполняются им без возможности возобновления остановленного образа сервиса. Объект ″Обновление″ 420 в общем можно использовать для обновления образа сервиса до более новой версии. Объект ″Увеличение/уменьшение″ 422 может предоставить клиенту опции увеличения скорости обработки или мощности вычислительного ресурса.
Как упоминалось ранее, взаимодействие с каждым единообразным объектом-элементом управления может вызвать выполнение связанным вычислительным ресурсом по существу аналогичной задачи, но может делать это значительно отличающимся способом на основе наборов инструкций, предоставленных провайдером связанного образа сервиса. Например, набор инструкций, связанных с объектом ″Завершить″ 418 по одному образу сервиса, может способствовать сохранению текущей информации в любых регистрах и состояния любых текущих заданий в устройстве памяти для последующего извлечения. Объект ″Завершить″ 418 для другого образа сервиса может вызвать немедленный сброс всех регистров, индикаторов состояния и т.д. образа сервиса. Другие образы сервисов могут осуществлять объект ″Завершить″ 418 по-разному. Тем не менее, объект ″Завершить″ 418 может быть предоставлен клиентам аналогичным образом независимо от соответствующих инструкций. Аналогичным образом, другой единообразный объект-элемент управления может быть предоставлен нескольким клиентам и реализован по-разному на основе набора инструкций, представляемых провайдером.
Настраиваемые объекты-элементы управления, показанные на ФИГ. 4, включают объект ″Посмотреть выполнение″ 424 и ″Показать диаграмму″ 426. Как упоминалось ранее, настраиваемые объекты-элементы управления и наборы инструкций, связанные с ними, предоставляются провайдерами. Электронная торговая площадка образов сервисов 100 может предоставлять некоторую информацию для провайдеров, например, как будут отображаться настраиваемые объекты-элементы управления, размер, форма и т.д., но определение того, какие именно настраиваемые объекты-элементы управления и как они будут функционировать, может производиться провайдерами. Таким образом, провайдер Пол может определить, что клиент Крис может просмотреть выполнение образа сервиса с помощью объекта ″Просмотр выполнения″ 424. Объект ″Просмотр выполнения″ 424 может позволить клиенту просмотреть диагностическую статистику образа сервиса, такую как вычислительная мощность, время обработки для определенных задач, использование памяти и т.д., как это определено провайдером. Кроме того, провайдер Пол может позволить клиенту Крису просмотреть диаграмму по любому количеству параметров, связанных с базой данных Пола с использованием объекта ″Просмотреть диаграмму″ 426. Например, клиент Крис может иметь возможность просматривать историю использования, историю обработки, историю использования памяти, тенденции использования и т.д. Хотя объекты ″Просмотр выполнения″ 424 и ″Просмотр диаграммы″ 426 были описаны как настраиваемые объекты-элементы управления, они могут быть включены и как единообразные объекты-элементы интерфейса. Подобным образом, любой из примеров объектов, перечисленных в качестве единообразных объектов-элементов управления, так же можно использовать в качестве настраиваемых объектов-элементов управления.
ФИГ. 5 представляет собой блок-схему, изображающую иллюстративный алгоритм 500, осуществляемый сервером торговой площадки 112 для реализации единообразного интерфейса управления для клиента, который приобрел образ сервиса. Например, алгоритм 500 может применяться в вариантах воплощения, описанных со ссылкой на ФИГ. 1 и 2.
Специалисту в соответствующей области техники будет понятно, что элементы, описанные для алгоритма 500, могут быть реализованы с помощью одного или более вычислительных устройств/компонентов, которые связаны с сервером торговой площадки 112 и/или электронной торговой площадкой образов сервисов 100, описанной более подробно выше со ссылкой на ФИГ. 1 и 2. Например, алгоритм 500 может быть реализован с помощью любого одного из, или с помощью комбинации, сервера торговой площадки 112, сервера мониторинга использования 114, биллинг-сервера 118, электронного каталога 116 и устройства хранения данных провайдера/клиента 120 и т.п. Соответственно, алгоритм 500быллогическиассоциированкак в целом выполняемый сервером торговой площадки 112, и, таким образом, следующий иллюстративный вариант воплощения не должен рассматриваться как ограничивающий.
В блоке 502 сервер торговой площадки 112 принимает один или более наборов инструкций, связанных с различными образами сервисов, от одного или более провайдеров. Наборы инструкций могут быть получены в то же время, что и образ сервиса, принимаемый провайдерами, или в другой момент времени. Каждый набор инструкций может включать инструкции, связываемые с несколькими единообразными объектами-элементами управления, предоставляемыми электронной торговой площадкой образов сервисов. Альтернативно, каждый набор инструкций может включать инструкции, связываемые только с одним единообразным объектом-элементом управления. При выполнении наборов инструкций, вычислительный ресурс, связанный с образом сервиса, выполняет одну или более операций по соответствующему электронному образу сервиса. Например, наборы инструкций могут активировать или деактивировать образ сервиса, изменять тип вычислительного ресурса, который выполняет образ сервиса, приостанавливать выполнение образа сервиса, обновлять образ сервиса, понижать категорию образа сервиса, выводить состояние операций, выполняемых образом сервиса, или изменять другие функции или отличительные признаки, связанные с экземпляром, и т.д. В одном варианте воплощения набор инструкций инициирует генерацию и отправку вычислительным ресурсом сообщения для образа сервиса. Сообщение может включать указания для образа сервиса о выполнении любой из операций, перечисленных выше, или других.
В блоке 504 серверторговой площадки 112 ассоциирует один или более принимаемых наборов инструкций с первым единообразным объектом-элементом управления. Таким образом, единообразный объект-элемент управления, который предоставляется электронной торговой площадкой образов сервисов 100, может быть связан с несколькими наборами инструкций, которые предоставляются провайдерами. Как упоминалось выше, каждый набор инструкций может включать инструкции для осуществления операции, связанной различными способами с единообразным объектом-элементом управления для различных образов сервисов.
В блоке 506 сервер торговой площадки 112 идентифицирует образ сервиса, приобретенный пользователем, который связан с первым единообразным объектом-элементом управления. Сервер торговой площадки 112 может идентифицировать приобретенный образ сервиса на основе текущей информации, отображаемой в рамках пользовательского интерфейса, образов сервисов, связанных с клиентом в электронном каталоге, запроса информации о конкретном образе сервиса, команды API, сценария, параметров вызова функции и тому подобного.
В блоке 508 сервер торговой площадки 112 необязательно генерирует пользовательский интерфейс, включающий первый единообразный объект-элемент управления, для предоставления на вычислительное устройство 140, связанное с клиентом. Например, торговая площадка может генерировать пользовательский интерфейс, подобный пользовательскому интерфейсу управления 400 на ФИГ. 4. Альтернативные пользовательские интерфейсы могут быть предоставлены без отхода от сущности и объема настоящего описания. Пользовательский интерфейс может быть сгенерирован на основе идентифицированного образа сервиса, приобретенного клиентом. Например, после взаимодействия с пользовательским интерфейсом, в котором клиент запрашивает дополнительную информацию, касающуюся конкретного образа сервиса, сервер торговой площадки 112 может генерировать пользовательский интерфейс, включающий первый единообразный объект-элемент управления. В рамках пользовательского интерфейса, сервер торговой площадки 112 может генерировать дополнительные единообразные объекты-элементы управления и/или один или более настраиваемых объектов-элементов управления, по желанию. Единообразные объекты-элементы управления, включаемые в пользовательский интерфейс, могут быть основаны на внутренних правилах электронной торговой площадки образов сервисов, таких как тип отображаемого образа сервиса, стоимость образа сервиса, любые уведомления, получаемые от провайдера в отношении образа сервиса, и тому подобное.
В блоке 510, после взаимодействия с первым единообразным объектом-элементом управления, сервер торговой площадки 112 запрашивает вычислительный ресурс для выполнения набора инструкций, связанных с приобретаемым образом сервиса. В некоторых вариантах воплощения, где генерируется пользовательский интерфейс, взаимодействие может включать, но не ограничивается следующим: нажатие, перемещение, выделение или выбор иным способом первого единообразного объекта-элемента управления. В вариантах воплощения, где интерфейс пользователя не генерируется, взаимодействие может включать, но не ограничивается следующим: выполнение команды API, сценарий, вызов функции и тому подобное. Сервер торговой площадки 112 может запросить вычислительный ресурс для выполнения набора инструкций с помощью команды, передающей сообщение с соответствующей информацией, и т.д. Как упоминалось ранее, первый единообразный объект-элемент управления может быть связан с несколькими наборами инструкций. Таким образом, набор инструкций, выполняемый вычислительным ресурсом, может быть основан на идентифицируемом приобретенном образе сервиса.
Различные примерные варианты воплощения изобретения могут быть описаны с учетом следующих пунктов формулы изобретения:
П. 1. Система для генерирования пользовательского интерфейса, содержащего единообразные объекты-элементы управления, для клиентского вычислительного устройства, причем система содержит: электронный каталог, хранящий по меньшей мере:
Совокупность образов сервисов, в которой каждый образ сервиса из множества образов сервисов может быть выполнен в базовой вычислительной среде, и при этом каждый образ сервиса содержит по меньшей мере одно программное приложение,
первый единообразный объект-элемент управления, и
совокупность наборов инструкций, связанных с первым единообразным объектом-элементом управления, в которой каждый набор инструкций также связан с образом сервиса; и
вычислительное устройство торговой площадки, связанное с электронным каталогом, причем вычислительное устройство торговой площадки выполнено с возможностью:
идентификации образа сервиса, приобретенного клиентом в электронном каталоге, который связан с первым единообразным объектом-элементом управления;
генерации, для предоставления на вычислительное устройство, связанное с клиентом, пользовательского интерфейса, содержащего первый единообразный объект-элемент управления; и
после взаимодействия с первым объектом-элементом управления предоставленного пользовательского интерфейса, осуществления запроса вычислительного ресурса в базовой вычислительной среде для выполнения набора инструкций, связанных с идентифицируемым образом сервиса, приобретенным клиентом.
П. 2. Система по п. 1, отличающаяся тем, что каждый набор инструкций из совокупности наборов инструкций относится к действию, выполняемому вычислительным ресурсом в базовой вычислительной среде, которая выполняет образ сервиса, связанный с набором инструкций.
П. 3. Система по п. 1, отличающаяся тем, что вычислительный ресурс представляет собой вычислительный ресурс, связанный с базовой вычислительной средой.
П. 4. Система по п. 1, отличающаяся тем, что вычислительный ресурс является вычислительным ресурсом, поддерживаемым провайдером идентифицируемого образа сервиса, приобретенного клиентом.
П. 5. Система по п. 2, отличающаяся тем, что действие, выполняемое вычислительным ресурсом, включает по меньшей мере одно из: активации образа сервиса, деактивации образа сервиса, изменения типа вычислительного ресурса, который размещает образ сервиса, изменения вычислительного ресурса, который размещает образ сервиса, передачи сообщения для образа сервиса, приостановки выполнения образа сервиса, обновления образа сервиса, перехода на использование более ранней версии образа сервиса и вывода состояния операций, выполняемых образом сервиса.
П. 6. Система по п. 1, отличающаяся тем, что
электронный каталог дополнительно сохраняет первый набор инструкций, связанных с настраиваемым объектом-элементом управления и с идентифицируемым образом сервиса, приобретенным заказчиком;
пользовательский интерфейс дополнительно включает настраиваемый объект-элемент управления; а вычислительное устройство торговой площадки дополнительно выполнено с возможностью выполнения первого набора инструкций после взаимодействия с настраиваемым объектом-элементом управления.
П. 7. Система по п. 6, отличающаяся тем, что первый набор инструкций связан только с идентифицируемым образом сервиса, приобретенным клиентом.
П. 8. Реализуемый на компьютере способ для генерации интерфейса управления для клиента, который приобрел один или более образов сервисов на электронной торговой площадке, способ, при котором каждый образ сервиса из одного или более образов сервисов, при выполнении в базовой вычислительной среде реализует один или более открытых сетевых сервисов, причем Реализуемый на компьютере способ включает:
Реализуемое с помощью одного или более вычислительных устройств, конфигурируемых с помощью конкретных исполняемых инструкций,
получение первого набора инструкций, ассоциированного с первым образом сервиса, при котором первый набор инструкций относится к действию, выполняемому вычислительным ресурсом в базовой вычислительной среде, которая выполняет первый образ сервиса;
связывание первого набора инструкций с первым единообразным объектом-элементом управления;
получение второго набора инструкций, связанного со вторым образом сервиса, который отличается от первого образа сервиса, при этом второй набор инструкций относится к действию, выполняемому вычислительным ресурсом в базовой вычислительной среде, которая выполняет второй образ сервиса;
связывание второго набора инструкций с первым единообразным объектом-элементом управления;
идентификацию образа сервиса, приобретенного клиентом на электронной торговой площадке, которая связана с первым единообразным объектом-элементом управления;
после взаимодействия между вычислительным устройством, связанным с клиентом, и первым единообразным объектом-элементом управления,
запрос вычислительного ресурса в базовой вычислительной среде для выполнения первого набора инструкций, связанного с первым единообразным объектом-элементом управления, если образ сервиса, приобретаемый клиентом, является первым образом сервиса; и
запрос вычислительного ресурса для выполнения второго набора инструкций, связанного с первым единообразным объектом-элементом управления, если образ сервиса, приобретаемый клиентом, является вторым образом сервиса.
П. 9. Реализуемый на компьютере способ по п. 8, отличающийся тем, что выполнение по меньшей мере одного из: первого набора инструкций и второго набора инструкций включает по меньшей мере одно из: активации образа сервиса, деактивации образа сервиса, изменения типа вычислительного ресурса, который размещает образ сервиса, изменения вычислительного ресурса, который размещает образ сервиса, передачи сообщения для образа сервиса, приостановки выполнения образа сервиса, обновления образа сервиса, перехода на использование более ранней версии образа сервиса и вывода состояния операций, выполняемых образом сервиса.
П. 10. Реализуемый на компьютере способ по п. 1, отличающийся тем, что дополнительно содержит:
получение третьего набора инструкций, связанного с настраиваемым объектом-элементом управления, при котором третий набор инструкций дополнительно связан с первым образом сервиса; и
после взаимодействия между вычислительным устройством, связанным с клиентом, и настраиваемым объектом-элементом управления, выполнение третьего набора инструкций.
П. 11. Реализуемый на компьютере способ по п. 10, отличающийся тем, что третий набор инструкций ассоциируется только с первым идентифицируемым образом сервиса.
П. 12. Реализуемый на компьютере способ по п. 9, отличающийся тем, что изменение вычислительных ресурсов включает изменение по меньшей мере одного из: скорости обработки, количества процессоров, частоты памяти и объема памяти.
П. 13. Реализуемый на компьютере способ по п. 8, отличающийся тем, что совокупность наборов инструкций содержит коммуникационную информацию для связи с образом сервиса.
П. 14. Реализуемый на компьютере способ по п. 8, отличающийся тем, что по меньшей мере один из одного или более единообразных объектов-элементов управления содержит кнопку на веб-странице.
П. 15. Реализуемый на компьютере способ по п. 8,отличающийся тем, что дополнительно содержит генерацию для предоставления на вычислительное устройство, связанное с клиентом, пользовательского интерфейса, включающего первый единообразный объект-элемент управления.
П. 16. Реализуемый на компьютере способ по п. 15, отличающийся тем, что взаимодействие между вычислительным устройством, связанным с клиентом, и первым единообразным объектом-элементом управления включает выбор первого единообразного объекта-элемента управления, включаемого в пользовательский интерфейс, предоставляемый на вычислительное устройство, связанное с клиентом.
П. 17. Реализуемый на компьютере способ по п. 8, отличающийся тем, что взаимодействие между вычислительным устройством, связанным с клиентом, и первым единообразным объектом-элементом управления включает получение команды от вычислительного устройства через интерфейс прикладных программ (API).
П. 18. Реализуемый на компьютере способ для генерирования интерфейса управления для клиента, который приобрел один или более образов сервисов на электронной торговой площадке, способ, при котором каждый образ сервиса из одного или более образов сервисов при выполнении в базовой вычислительной среде реализует один или более открытых сетевых сервисов, причем Реализуемый на компьютере способ включает:
Реализуемое с помощью одного или более вычислительных устройств, конфигурируемых с помощью конкретных исполняемых инструкций,
Связывание одного или более единообразных объектов-элементов управления с совокупностью образов сервисов с электронной торговой площадки;
получение совокупности наборов инструкций, при котором каждый набор инструкций связан с отдельным образом сервиса и каждый набор инструкций относится к действию, выполняемому вычислительным ресурсом в базовой вычислительной среде, которая выполняет отдельный образ сервиса;
связывание совокупности наборов инструкций с первым единообразным объектом-элементом управления;
идентификацию образа сервиса, приобретаемого клиентом на электронной торговой площадке, при которой образ сервиса, приобретаемый клиентом, связан с первым единообразным объектом-элементом управления;
после взаимодействия между вторым вычислительным устройством, связанным с клиентом, и первым единообразным объектом-элементом управления, осуществление запроса вычислительного ресурса в базовой вычислительной среде для выполнения набора инструкций, связанного с идентифицируемым образом сервиса, приобретаемым клиентом.
П. 19. Реализуемый на компьютере способ по п. 18, отличающийся тем, что действие, выполняемое вычислительным ресурсом, включает по меньшей мере одно из: активации образа сервиса, деактивации образа сервиса, изменения типа вычислительного ресурса, который размещает образ сервиса, изменения вычислительного ресурса, который размещает образ сервиса, передачи сообщения для образа сервиса, приостановки выполнения образа сервиса, обновления образа сервиса, перехода на использование более ранней версии образа сервиса и вывода состояния операций, выполняемых образом сервиса.
П. 20. Реализуемый на компьютере способ по п. 18, отличающийся тем, что дополнительно содержит:
получение первого набора инструкций, связанного с настраиваемым объектом-элементом управления, при котором первый набор инструкций дополнительно связан с идентифицируемым образом сервиса, приобретаемым клиентом; и
после взаимодействия между связываемым вторым вычислительным устройством и настраиваемым объектом-элементом управления, выполнение первого набора инструкций.
П. 21. Реализуемый на компьютере способ по п. 20, отличающийся тем, что первый набор инструкций связан только с идентифицируемым образом сервиса, приобретаемым клиентом.
П. 22. Реализуемый на компьютере способ по п. 18, отличающийся тем, что дополнительно включает генерацию для представления на второе вычислительное устройство, связанное с клиентом, пользовательского интерфейса, содержащего первый единообразный объект-элемент управления.
П. 23. Реализуемый на компьютере способ по п. 22, отличающийся тем, что взаимодействие между вторым вычислительным устройством и первым единообразным объектом-элементом управления включает выбор первого единообразного объекта-элемента управления, включаемого в пользовательский интерфейс, представляемый на второе вычислительное устройство.
П. 24. Реализуемый на компьютере способ по п. 18, отличающийся тем, что взаимодействие между вторым вычислительным устройством, связанным с клиентом, и первым единообразным объектом-элементом управления включает получение команды от второго вычислительного устройства через интерфейс прикладных программ (API).
П. 25. Машиночитаемый не временный носитель информации, имеющий исполняемые с помощью компьютера модули для генерации интерфейса управления для клиента, который приобрел один или более образов сервиса на электронной торговой площадке, причем исполняемые с помощью компьютера модули содержат:
модуль электронного каталога, выполненный с возможностью сохранения:
совокупности образов сервисов, причем каждый образ сервиса может выполняться в базовой вычислительной среде,
первого единообразного объекта-элемента управления, и
совокупности наборов инструкций, связанных с первым единообразным объектом-элементом управления, в которой каждый набор инструкций также связан с образом сервиса; и
модуль торговой площадки, связанный с модулем электронного каталога и выполненный с возможностью:
идентификации образа сервиса, приобретаемого клиентом из электронного каталога, который связан с первым единообразным объектом-элементом управления,
после взаимодействия между вычислительным устройством, связанным с клиентом, и первым объектом управления, осуществления запроса вычислительного ресурса в базовой вычислительной среде для выполнения набора инструкций, связанного с идентифицируемым образом сервиса, приобретаемым клиентом.
П. 26. Машиночитаемый не временный носитель информации по п. 25, отличающийся тем, что каждый набор инструкций из совокупности наборов инструкций относится к действию, выполняемому вычислительным ресурсом в базовой вычислительной среде, которая выполняет образ сервиса, связанный с набором инструкций.
П. 27. Машиночитаемый не временный носитель информации по п. 26, отличающийся тем, что действие, выполняемое вычислительным ресурсом, включает по меньшей мере одно из: активации образа сервиса, деактивации образа сервиса, изменения типа вычислительного ресурса, который размещает образ сервиса, изменения вычислительного ресурса, который размещает образ сервиса, передачи сообщения для образа сервиса, приостановки выполнения образа сервиса, обновления образа сервиса, перехода на использование более ранней версии образа сервиса и вывода состояния операций, выполняемых образом сервиса.
П. 28. Машиночитаемый не временный носитель информации по п. 25, отличающийся тем, что
модуль электронного каталога дополнительно выполнен с возможностью сохранения первого набора инструкций, связанных с настраиваемым объектом-элементом управления и дополнительно связанных с идентифицируемым образом сервиса, приобретенным клиентом; и
после взаимодействия с настраиваемым объектом-элементом управления модуль торговой площадки дополнительно сконфигурирован для выполнения первого набора инструкций.
П. 29. Машиночитаемый невременный носитель информации по п. 28, отличающийся тем, что первый набор инструкций связан только с идентифицируемым образом сервиса, приобретаемым клиентом.
Все способы, описанные здесь, могут быть реализованы и полностью автоматизированы с помощью модулей программного кода, выполненных с помощью одного или более компьютеров или процессоров общего назначения. Модули кода могут храниться в машиночитаемом носителе или другом компьютерном запоминающем устройстве любого типа. Некоторые или все способы могут быть альтернативно реализованы в специализированном компьютерном оборудовании. Кроме того, компоненты, упоминаемые в данном документе, могут быть реализованы в оборудовании, программном обеспечении, микропрограммном обеспечении или в их комбинации.
Условные выражения, такие как, среди прочего, ″может″, ″мог бы″, ″возможно″ или ″допускает″, если специально не указано иное, при использовании в контексте понимаются при использовании, как правило, для передачи того, что некоторые варианты воплощения включают, в то время как другие варианты воплощения не включают, определенные отличительные признаки, элементы и/или этапы. Таким образом, такие условные выражения в общем смысле не подразумевают, что отличительные признаки, элементы и/или этапы в любом случае необходимы для одного или более вариантов воплощения, или что один или более вариантов воплощения обязательно включают логику для принятия решения, включая или не включая пользовательский вводили указание, независимо от того, включены ли эти отличительные признаки, элементы и/или этапы или они должны быть выполнены в любом конкретном варианте воплощения.
Связывающие выражения, такие как фраза ″по меньшей мере один из X, Y и Z″, если специально не указано иное, при использовании в контексте понимаются при использовании, как правило, для передачи того, что элемент, термин и т.д. могут быть X, Y или Z. Таким образом, такое связывающее выражение в общем смысле не подразумевает, что некоторые варианты воплощения требуют наличия каждого из по меньшей мере одного из X, по меньшей мере одного из Y и по меньшей мере одного из Z.
Любые описания способа, элементы или блоки в блок-схемах, описанные здесь, и/или изображенные на прилагаемых фигурах, следует понимать как возможное представление модулей, сегментов или фрагментов кода, которые включают одну или более исполняемых инструкций для осуществления конкретных логических функций или элементов в способе. Альтернативные варианты реализации включены в объем описанных здесь вариантов воплощения, в которых элементы или функции могут быть удалены, выполнены не в порядке изображения или обсуждения, включая, по существу, одновременный или в обратный порядок, в зависимости от участвующей функциональности, как должно быть понятно специалистам в данной области техники.
Следует отметить, что многие изменения и модификации могут быть внесены в описанные выше варианты воплощения, элементы которых следует понимать как примеры среди других приемлемых примеров. Все такие модификации изменения должны быть включены в объем настоящего изобретения и защищены прилагаемой формулой изобретения.