Виртуальный рынок для распределяемых инструментальных средств в среде предприятия
VIRTUAL MARKETPLACE FOR DISTRIBUTED TOOLS IN AN ENTERPRISE ENVIRONMENT

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0001] Инструментальные средства в виде приложений или данных могут использоваться для выполнения множества функций, таких как оценка или содействие в оценке эффективности объектов для достижения требуемых рабочих характеристик действенным образом. В некоторых примерах объекты могут включать сети, например сеть оператора беспроводной связи, которые поставляют услуги мобильной связи конечным пользователям. В других примерах объекты могут включать системы, такие как коммунальное предприятие, предоставляющее коммунальные услуги коммерческим и бытовым потребителям, или финансовая компания, предоставляющая потребителям финансовые услуги. Такие инструментальные средства могут использоваться для обнаружения и диагностики проблем, связанных с эффективностью объекта, для того чтобы поддерживать ожидаемый уровень обслуживания. Инструментальное средство может контролировать множество наборов показателей эффективности, таких как показатели конечных пользователей и показатели ресурсов. С помощью показателей конечных пользователей можно измерять эффективность, имеющую отношение к конечному пользователю объекта. С помощью показателей ресурсов можно измерять вычислительные или другие ресурсы, используемые объектом, находящимся под рабочей нагрузкой, для того чтобы идентифицировать недостаточность ресурсов и критические параметры, влияющие на эффективность.
[0002] Некоторые инструментальные средства могут быть сконфигурированы для выполнения на платформе операционной системы предприятия. Платформа операционной системы предприятия может поддерживать среду для выполнения или реализации инструментальных средств. Кроме того, платформа операционной системы предприятия может извлекать из объекта данные об эффективности с использованием программных агентов. Например, в сценарии, в котором объект представляет собой сеть оператора беспроводной связи, платформа операционной системы предприятия может взаимодействовать с программными агентами, которые контролируют функции пользовательских устройств и базовой сети для получения данных об эффективности функционирования объекта.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0003] Далее приводится описание со ссылкой на прилагаемые чертежи. На чертежах крайняя левая цифра(-ы) ссылочного номера указывает чертеж, на котором впервые появляется ссылочный номер. Одинаковые ссылочные номера на различных чертежах указывают на схожие или идентичные элементы.
[0004] На фиг. 1 показано схематическое представление архитектуры для реализации различных вариантов осуществления виртуального рынка распределяемых инструментальных средств.
[0005] На фиг. 2 показано схематическое представление типичных компонентов в примере виртуального рынка распределяемых инструментальных средств, служащего для распределения инструментальных средств.
[0006] На фиг. 3 показаны примеры интерактивных интерфейсов виртуального рынка распределяемых инструментальных средств для выбора инструментальных средств.
[0007] На фиг. 4 показан алгоритм примера выполнения процесса для настройки отображения инструментальных средств на основе инструментальных средств, в данное время реализованных на платформе операционной системы предприятия, применяемой конечным пользователем.
[0008] На фиг. 4 показан алгоритм примера выполнения процесса для выборочного представления инструментальных средств, доступных для распределения конечному пользователю на виртуальном рынке распределяемых инструментальных средств.
[0009] На фиг. 5 показан алгоритм примера выполнения процесса обновления виртуального рынка распределяемых инструментальных средств с использованием данных о состоянии инструментального средства, которое распределяется через виртуальный рынок.
[0010] На фиг. 6 показан алгоритм примера выполнения процесса для тестирования и проверки инструментального средства для распределения через виртуальный рынок распределяемых инструментальных средств.
ПОДРОБНОЕ ОПИСАНИЕ
[0011] Раскрытие настоящего изобретения направлено на реализацию виртуального рынка распределяемых инструментальных средств, который позволяет разработчикам программного обеспечения предлагать инструментальные средства для распределения конечным пользователям. Инструментальные средства могут разрабатываться для использования в среде предприятия, в которой функционирует платформа операционной системы предприятия, с целью выполнения различных функций. В некоторых сценариях инструментальные средства могут включать приложения управления эффективностью, приложения, которые обрабатывают данные управления эффективностью, утилиты и другое программное обеспечение, которое обеспечивает работоспособность инструментальных средств поддержки эффективности (например, дополнительные модули обработки данных), а также общие утилиты, обычно используемые другим приложением, облегчающим управление эффективностью. Виртуальный рынок распределяемых инструментальных средств представляет собой виртуальное хранилище, которое распределяет инструментальные средства, выполняющие множество функций, таких как обеспечение оценки эффективности объектов. В некоторых примерах объекты могут включать сети, например сеть оператора беспроводной связи, которые поставляют услуги мобильной связи конечным пользователям. В других примерах объекты могут включать системы, такие как коммунальное предприятие, предоставляющее коммунальные услуги коммерческим и бытовым потребителям, или финансовая компания, предоставляющая потребителям финансовые услуги. В этих сценариях инструментальные средства могут включать программные приложения, выполняющие различные функции, связанные с оценкой эффективности объектов, и такие функции могут включать переформатирование данных, преобразование данных, агрегирование данных, корреляцию данных, генерацию ключевого показателя эффективности (KPI, Key Performance Indicator) и т.д. В других сценариях инструментальные средства могут включать приложения, которые распределяют или администрируют другие услуги и данные среды предприятия.
[0012] Виртуальный рынок распределяемых инструментальных средств может управляться оператором, который также распределяет установочные пакеты платформы операционной системы предприятия для конечных пользователей. Платформа операционной системы предприятия может поддерживать среду операционной системы для выполнения инструментальных средств. В некоторых примерах платформа операционной системы предприятия может предоставлять такие услуги, как вычисление или агрегирование ключевого показателя эффективности (KPI), генерация предупреждений, реализация модели общих данных, ввод в действие и обслуживание вспомогательных приложений и т.д. В других ситуациях платформа операционной системы предприятия может также выполнять функцию сбора данных для извлечения данных об эффективности из объекта с использованием программных агентов. Соответственно, для того чтобы инструментальное средство подходило для распределения через виртуальный рынок распределяемых инструментальных средств, оператор рынка может реализовать процесс тестирования и сертификации инструментального средства. Процесс тестирования и сертификации инструментального средства разрабатывается для подтверждения способности инструментального средства корректно функционировать в среде операционной системы и выполнять указанные функции контроля эффективности.
[0013] В различных вариантах осуществления инструментальные средства могут разрабатываться для взаимодействия друг с другом в качестве взаимосвязанных, а не автономных инструментальных средств. В одном из сценариев первое инструментальное средство может разрабатываться для агрегирования данных из множества источников, в то время как второе инструментальное средство может разрабатываться для генерации индексов KPI на основе агрегированных данных. В таком сценарии для генерации комплексного индикатора эффективности может существовать третье инструментальное средство, которое выполняет корреляцию индексов KPI, сгенерированных вторым инструментальным средством, с данными об эффективности из дополнительных источников. В другом сценарии первое инструментальное средство может генерировать аналитические данные на основе одного набора KPI. Впоследствии второе инструментальное средство может выгодно использовать аналитические данные, сгенерированные первым инструментальным средством, для создания плана совершенствования конкретного процесса, реализованного в сети. Третье инструментальное средство может выгодно использовать план, созданный вторым инструментальным средством, для выполнения модификаций в сети с целью оптимизации конкретного процесса. Соответственно, для каждой установки платформы операционной системы предприятия, используемой посредством учетной записи клиента, виртуальный рынок распределяемых инструментальных средств может хранить информацию о состоянии, касающуюся инструментальных средств, уже используемых с данной платформой.
[0014] Кроме того, виртуальный рынок распределяемых инструментальных средств может хранить данные о состоянии инструментальных средств, доступных для приобретения на рынке. Например, данные о состоянии инструментального средства могут указывать, является ли инструментальное средство новым, новой версией существующего инструментального средства, или указывать на доступность на рынке или изъятие этого инструментального средства с рынка. Данные о состоянии инструментального средства могут также указывать на функциональные возможности инструментального средства и/или входные данные, предоставляемые другими инструментальными средствами, от которых зависит выполнение функций обработки этим инструментальным средством. Альтернативно или одновременно данные о состоянии инструментального средства могут указывать выходные данные и функциональные возможности, которые способно предоставлять инструментальное средство. Таким образом, если конечный пользователь получает доступ к виртуальному рынку распределяемых инструментальных средств с помощью учетной записи клиента, виртуальный рынок может представить одно или более соответствующих инструментальных средств, имеющих отношения зависимости с инструментальными средствами, которые уже применяются конечным пользователем. Отношение зависимости может представлять собой входную зависимость, в соответствии с которой одно инструментальное средство способно использовать функциональные возможности или данные, предоставляемые другим инструментальным средством, или выходную зависимость, в соответствии с которой одно инструментальное средство способно предоставлять функциональные возможности или данные, подлежащие использованию другим инструментальным средством. Отношения зависимости могут проявлять себя в качестве зависимостей от версии инструментального средства или формата данных инструментального средства. Другие отношения зависимости проявляют себя в виде данных, доступных в первую очередь. Например, инструментальное средство может зависеть от дополнительного модуля обработки данных, предоставляющего доступ к конкретному источнику KPI. Таким образом, конечный пользователь может отслеживать последние доступные инструментальные средства для усовершенствования возможностей управления эффективностью.
[0015] Разработчики программного обеспечения могут использовать экземпляры ограниченной среды разработки ("песочницы"), предоставляемые оператором виртуального рынка распределяемых инструментальных средств для разработки и тестирования инструментальных средств. Экземпляр ограниченной среды разработки представляет собой среду разработки программного кода, которая изолирует новый программный код от производственной среды и/или от других сред разработки. Экземпляры среды разработки могут быть специфичны для типов объекта. Например, экземпляр среды разработки для объекта, являющегося оператором беспроводной связи, может отличаться от экземпляра среды разработки для объекта, являющегося поставщиком услуг водоснабжения. Каждый из экземпляров среды разработки может поддерживать имитируемые данные для обработки разрабатываемыми инструментальными средствами. Использование экземпляра среды разработки может обеспечивать полную совместимость разрабатываемых инструментальных средств с платформой операционной системы предприятия и устранение программных ошибок.
[0016] После представления инструментального средства разработчиком программного обеспечения оператору виртуального рынка распределяемых инструментальных средств оператор может использовать тестовую среду для проверки инструментального средства. В различных вариантах осуществления тестовая среда может содержать тестовые данные в виде непосредственных событий и комплексных событий, подлежащих обработке инструментальными средствами. Соответственно, можно предположить, что инструментальное средство проверено, если оно в ходе выполнения теста генерирует результаты, совпадающие с ожидаемыми результатами, или результаты, которые находятся в пределах предварительно определенных допустимых пороговых значений. Впоследствии инструментальное средство может быть выпущено, то есть может стать доступным для распределения через виртуальный рынок распределяемых инструментальных средств. Распределение инструментального средства для использования конечным пользователем может включать в себя покупку конечным пользователем лицензии или прав на использование инструментального средства. Покупка может осуществляться в соответствии с одним из множества соглашений или условий оплаты, которые могут предполагать непосредственный платеж по установленной цене, аукцион, обратный аукцион и т.д.
[0017] В некоторых вариантах осуществления настоящего изобретения результат тестирования, полученный в ходе выполнения каждой успешной проверки инструментального средства для объекта, может интегрироваться в тестовые данные с целью выполнения последующих проверок инструментальных средств для объектов того же типа. В других вариантах осуществления настоящего изобретения результаты тестирования, полученные в ходе предварительного тестирования инструментальных средств для объекта, могут также интегрироваться в тестовые данные с целью выполнения последующих проверок инструментальных средств для объектов того же типа. Таким образом, тестовая среда может постоянно снабжаться дополнительными тестовыми данными, которые в противном случае недоступны или которые трудно имитировать.
[0018] На виртуальном рынке распределяемых инструментальных средств конечному пользователю может предлагаться возможность приобретения инструментальных средств, совместимых с платформой операционной системы предприятия. Разработчики программного обеспечения могут использовать виртуальный рынок распределяемых инструментальных средств для поддержки связи с конечными пользователями с целью распределения инструментальных средств. С другой стороны, виртуальный рынок распределяемых инструментальных средств может предоставлять конечным пользователям удобное виртуальное хранилище для контакта с разработчиками и покупки требуемых инструментальных средств. Оператор виртуального рынка распределяемых инструментальных средств может выполнять проверочные тесты, чтобы убедиться в том, что инструментальные средства функционируют в соответствии с конкретными инструкциями. За предоставление среды передачи, обеспечивающей транзакции между разработчиками программного обеспечения и конечными пользователями, оператор может получать доход путем начисления платы за транзакцию для приобретения каждого рабочего инструментального средства. Описанные технологии могут быть реализованы несколькими способами. Примеры реализации описываются ниже со ссылкой на фиг. 1-6.
Пример архитектуры
[0019] На фиг. 1 показано схематическое представление примера архитектуры 100 для реализации различных вариантов осуществления виртуального рынка 102 распределяемых инструментальных средств. Виртуальный рынок 102 может функционировать на одном или более вычислительных устройствах 104. Вычислительные устройства 104 могут содержать универсальные компьютеры, такие как настольные компьютеры, планшетные компьютеры, ноутбуки, серверы или другие электронные устройства, способные принимать входные данные, обрабатывать входные данные и генерировать выходные данные. Согласно другим вариантам осуществления вычислительные устройства 104 могут представлять собой виртуальные вычислительные устройства, реализованные в виде вычислительных узлов, таких как виртуальные машины и программные контейнеры. Вычислительные устройства 104 могут управляться оператором виртуального рынка 102. Виртуальный рынок 102 может представлять собой виртуальное хранилище, в котором разработчики программного обеспечения могут представлять инструментальные средства для распределения, а конечные пользователи могут приобретать инструментальные средства путем предоставления денежной оплаты или другой компенсации разработчикам программного обеспечения.
[0020] Вычислительные устройства 104 могут также размещать экземпляры 106(1)-106(N) ограниченной среды разработки, управляемые оператором виртуального рынка 102. Каждый экземпляр ограниченной среды разработки представляет собой среду разработки программного кода, которая изолирует программный код от производственной среды. Экземпляр среды разработки может быть специфичен для объекта конкретного типа. Например, экземпляр среды разработки для объекта, являющегося оператором беспроводной связи, может отличаться от экземпляра среды разработки для объекта, являющегося поставщиком услуг водоснабжения. В одном из типовых сценариев разработчики 108(1)-108(N) программного обеспечения могут взаимодействовать с экземплярами 106(1)-106(N) среды разработки для разработки инструментальных средств 110(1)-110(N). Разработчики 108(1)-108(N) программного обеспечения могут использовать инструментальные средства разработки программного обеспечения на пользовательских устройствах 112(1)-112(N) для доступа к экземплярам 106(1)-106(N) среды разработки через сеть 114. Сеть 114 может представлять собой локальную сеть (LAN, Local Area Network), более крупную сеть, например глобальную сеть (WAN, Wide Area Network), или совокупность сетей, такую как Интернет. Соответственно, экземпляры 106(1)-106(N) среды разработки могут использоваться разработчиками 108(1)-108(N) программного обеспечения для генерации и тестирования программного кода инструментальных средств 110(1)-110(2). После того как разработчик программного обеспечения убеждается в эффективности инструментального средства, он может представить его на виртуальном рынке 102.
[0021] Оператор виртуального рынка 102 может использовать тестовую среду для проверки представленного инструментального средства, такого как инструментальное средство 110(1). Согласно различным вариантам осуществления тестовая среда может содержать тестовые данные в виде непосредственных событий и комплексных событий, подлежащих обработке инструментальным средством. Соответственно, можно предположить, что инструментальное средство проверено, если оно в ходе выполнения тестирования генерирует результат тестирования, совпадающий с ожидаемыми результатами или находящийся в пределах предварительно определенных допустимых пороговых значений. Впоследствии инструментальное средство 110(1) может быть выпущено, то есть стать доступным для распределения через виртуальный рынок 102.
[0022] Кроме того, на чертеже показано, что в архитектуре 100 конечный пользователь 116 может применять платформу 118(1) операционной системы предприятия для сбора данных об эффективности из объекта 120. Платформа 118(1) операционной системы предприятия может представлять собой копию собственной платформы операционной системы предприятия, разработанной оператором виртуального рынка 102. Платформа 118(1) операционной системы предприятия может заранее распределяться оператором для применения ее конечным пользователем 116. Платформа 118(1) операционной системы предприятия может функционировать на одном или более вычислительных устройствах, таких как вычислительное устройство 122. Одно или более вычислительных устройств 122 могут включать универсальные компьютеры, такие как настольные компьютеры, планшетные компьютеры, ноутбуки, серверы или другие электронные устройства, способные принимать входные данные, обрабатывать входные данные и генерировать выходные данные. Согласно другим вариантам осуществления вычислительные устройства 104 могут представлять собой виртуальные вычислительные устройства, реализованные в виде вычислительных узлов, таких как виртуальные машины и программные контейнеры.
[0023] Согласно различным вариантам осуществления платформа 118(1) операционной системы предприятия может использовать программные агенты для сбора данных об эффективности из различных устройств, компонентов, узлов и/или служб объекта 120. Собранные данные затем обрабатываются одним или более инструментальными средствами, такими как инструментальное средство 124. Одно или более инструментальных средств могут выполняться в среде операционной системы, поддерживаемой платформой 118(1) операционной системы предприятия. Согласно некоторым вариантам осуществления одно или более инструментальных средств могут быть реализованы (например, установлены, распределены, обработаны и т.д.) на одном или более вычислительных устройствах 122 в сочетании с платформой 118(1) операционной системы предприятия. Согласно некоторым вариантам осуществления одно или более инструментальных средств могут загружаться в вычислительные устройства 122 через сеть и могут быть реализованы на платформе 118(1) операционной системы предприятия. Каждое из инструментальных средств может выполнять различные функции, например, связанные с оценкой эффективности объекта 120. Однако в других примерах инструментальные средства могут распределять или администрировать другие услуги и данные для сред предприятия.
[0024] Инструментальные средства могут содержать инструментальные средства переформатирования данных, инструментальные средства преобразования данных, инструментальные средства агрегирования данных, инструментальные средства корреляции данных, инструментальные средства генерации KPI, инструментальные средства визуализации данных, инструментальные средства адаптера данных, инструментальные средства генерации предупреждений, инструментальные средства автоматизации и т.д. Инструментальное средство переформатирования данных может изменять формат данных, собранных платформой операционной системы предприятия, для обработки другим инструментальным средством. Инструментальное средство преобразования данных может преобразовывать значения, собранные платформой операционной системы предприятия, из одного стандарта измерений в другой стандарт измерений. Инструментальное средство агрегирования данных может агрегировать данные, собранные платформой операционной системы предприятия, в различные наборы данных в соответствии с параметрами группирования. Параметры группирования могут включать конкретные временные периоды (например, ежечасно, ежедневно и т.д.), узлы объекта, компоненты объекта, производителя пользовательских устройств, модели пользовательских устройств и т.д. В других вариантах осуществления настоящего изобретения параметры группирования могут использоваться для агрегирования данных в множество наборов данных, соответствующих различным уровням иерархии объекта. Например, данные могут агрегироваться в наборы данных, соответствующие уровню устройства, уровню области обслуживания и географическому уровню рынка. Инструментальные средства генерации KPI могут содержать инструментальные средства, которые генерируют KPI на основе данных из одного или более источников данных, а также инструментальные средства, генерирующие комплексные KPI, основанные на анализе множества KPI, или KPI с использованием данных из других источников данных. Инструментальное средство визуализации данных может использоваться для просмотра KPI и отчетов данных различным образом, например, с использованием диаграмм, графиков, карт, временных шкал и т.д.
[0025] Инструментальные средства адаптера данных могут позволять платформе операционной системы предприятия осуществлять доступ к дополнительным источникам данных, которые в противном случае недоступны для платформы операционной системы предприятия, таким как сторонние источники данных социальных сетей, сторонние сетевые данные и т.д. В некоторых примерах инструментальные средства адаптера данных могут включать независимые от данных адаптеры, которые способны извлекать данные из структурированных баз данных безотносительно к конкретному содержимому данных в каждой из структурированных баз данных. Согласно другим вариантам осуществления инструментальные средства адаптера данных могут включать адаптеры данных для других источников данных, различных производителей, множества версий программного обеспечения и т.д., и каждый из таких адаптеров данных может преобразовывать данные из одного формата в другой. Инструментальные средства генерации предупреждений могут содержать приложения, которые анализируют тенденции изменения KPI и/или другие информационные отчеты для обнаружения в объекте признаков отклонения эффективности от нормы. Например, инструментальное средство генерации предупреждений может рассматривать тенденцию изменения KPI как отличающуюся от нормы, если в течение заданного периода времени наблюдается тенденция к увеличению или уменьшению, превышающему предварительно определенное пороговое значение изменения. В другом примере инструментальное средство генерации предупреждений может рассматривать тенденцию изменения KPI как отличающуюся от нормы, если она указывает на то, что изменение KPI со временем не соответствует признакам изменений, характерным для других связанных KPI, то есть изменение KPI отклоняется от другого признака изменений на предварительно определенное пороговое значение. Инструментальные средства автоматизации могут автоматизировать эффективность одной или более функций при обнаружении конкретных условий или переменных. Например, инструментальное средство автоматизации может автоматически прерывать или завершать выполнение функций устройств или компонентов объекта, инициировать функцию технического обслуживания или восстановления объекта и т.д. при обнаружении тенденции отклонения KPI от нормы. В другом примере инструментальное средство автоматизации может автоматически реализовывать модификацию конфигурации, сгенерированную другим инструментальным средством, для улучшения функционирования устройства или компонента объекта. Согласно различным вариантам осуществления инструментальное средство может внедрять новую модель данных в платформу операционной системы предприятия, такую как платформа 118(1).
[0026] Согласно различным вариантам осуществления инструментальные средства 110(1)-110(2) могут разрабатываться для взаимодействия друг с другом в качестве взаимосвязанных инструментальных средств. Соответственно, виртуальный рынок 102 может сохранять информацию о состоянии, касающуюся одного или более инструментальных средств, уже используемых совместно с платформой 118(1) операционной системы предприятия. Кроме того, виртуальный рынок 102 может также хранить данные о состоянии инструментальных средств (например, инструментальных средств 110(1)-110(N)), доступных для приобретения на рынке. Например, данные о состоянии каждого инструментального средства могут указывать, является ли инструментальное средство новым, новой версией существующего инструментального средства, или указывать на доступность или изъятие этого инструментального средства на рынке. Данные о состоянии инструментального средства могут также указывать на функциональные возможности инструментального средства и/или входные данные, предоставляемые другими инструментальными средствами, от которых зависит выполнение функций обработки этим инструментальным средством. Альтернативно или одновременно данные о состоянии инструментального средства могут указывать на выходные данные и функциональные возможности, которые способно предоставлять инструментальное средство. Таким образом, если конечный пользователь 116 платформы 118(1) операционной системы предприятия осуществляет доступ к виртуальному рынку 102, то виртуальный рынок может представить интерактивный интерфейс, в котором отображаются одно или более связанных инструментальных средств, имеющих входные или выходные отношения зависимости с инструментальными средствами (например, с инструментальным средством 124), уже используемыми с платформой 118(1). Например, входная зависимость означает, что связанное инструментальное средство, доступное на виртуальном рынке 102, способно предоставлять функциональные возможности или данные инструментальному средству 124, а выходная зависимость означает, что связанное инструментальное средство, доступное на виртуальном рынке 102, способно использовать функциональные возможности или данные, предоставляемые инструментальным средством 124. Соответственно, в некоторых примерах новое инструментальное средство, реализованное на платформе 118(1), имеющее выходную зависимость от другого конкретного инструментального средства, не сможет функционировать, если конкретное инструментальное средство не реализовано на платформе 118(1), поскольку функциональные возможности и данные, предоставляемые конкретным инструментальным средством, от которых зависит новое инструментальное средство, могут быть недоступны. Согласно некоторым вариантам осуществления настоящего изобретения интерактивный интерфейс может быть представлен для отображения платформой 118(1) операционной системы предприятия. Согласно другим вариантам осуществления настоящего изобретения интерактивный интерфейс может представлять собой прикладной интерфейс или портал веб-интерфейса, доступный конечному пользователю 116 через клиентское приложение или веб-браузер.
[0027] Таким образом, если конечный пользователь 116 находит требуемое инструментальное средство 126, имеющее входное или выходное отношение зависимости с инструментальным средством 124, то конечный пользователь 116 может приобрести связанное инструментальное средство 126. Согласно различным вариантам осуществления настоящего изобретения приобретение может осуществляться посредством непосредственного платежа по установленной цене, заявки на аукционе, заявки на обратном аукционе и т.д. через интерактивный интерфейс. По окончании транзакции приобретения конечный пользователь 116 может загрузить связанное инструментальное средство 126 для использования на платформе 118(1).
[0028] Таким же образом, конечный пользователь 128 может применять платформу 118(N) операционной системы предприятия, выполняющуюся на вычислительном устройстве 130, для сбора данных об эффективности из объекта 132. В этом случае платформа 118(N) операционной системы предприятия также может представлять собой копию собственной платформы операционной системы предприятия, разработанной оператором виртуального рынка 102. Платформа 118(N) операционной системы предприятия может распределяться оператором для применения ее конечным пользователем 128. В таком примере конечный пользователь 128 может выполнять одно или более инструментальных средств, таких как инструментальное средство 134, для анализа эффективности объекта 132. Соответственно, виртуальный рынок 102 может рекомендовать дополнительные инструментальные средства (например, инструментальное средство 136), которые характеризуются отношениями зависимости с одним или более инструментальными средствами, уже реализованными на платформе 118(n) операционной системы предприятия, и наоборот. Функциональные возможности могут предоставляться в среде прикладных программных интерфейсов (API, Application Program Interface), которые вызываются для отображения данных, анализа данных, агрегирования данных, преобразования данных, переформатирования данных и т.д. Другими словами, виртуальный рынок 102 может рекомендовать инструментальные средства, чьи предварительно определенные функциональные возможности и/или данные могут удовлетворяться уже реализованными инструментальными средствами. В альтернативном варианте или одновременно виртуальный рынок 102 может рекомендовать инструментальные средства, способные предоставить предварительно определенные данные и функциональные возможности уже реализованным инструментальным средствам. Таким образом, если конечный пользователь 128 находит желательное дополнительное инструментальное средство 136, то конечный пользователь 116 может загрузить инструментальное средство 126 для реализации на платформе 118(N).
Пример компонентов вычислительного устройства
[0029] На фиг. 2 показано схематическое представление типичных компонентов в примере виртуального рынка 102, который распределяет инструментальные средства, такие как инструментальные средства контроля за эффективностью объектов. Виртуальный рынок 102 может быть реализован с помощью рыночного механизма 202, размещенного на вычислительных устройствах 104. Вычислительные устройства 104 могут содержать интерфейс 204 связи, один или более процессоров 206 и память 208. Интерфейс 204 связи может содержать беспроводные и/или проводные компоненты, позволяющие одному или более вычислительным устройствам 104 передавать данные в другие сетевые устройства и принимать из них данные. Доступ к вычислительным устройствам 104 может осуществляться через аппаратуру 210. Аппаратура 210 может содержать дополнительный пользовательский интерфейс, аппаратуру передачи или хранения данных. Например, пользовательский интерфейс может содержать устройство вывода данных (например, дисплей, динамики) и одно или более устройств ввода данных. Устройства ввода данных могут, без ограничения приведенными примерами, содержать комбинации одного или более следующих компонентов: клавишные панели, клавиатуры, мыши, сенсорные экраны, реагирующие на жестикуляции, микрофоны, устройства распознавания голоса или речи и любые другие подходящие устройства.
[0030] Память 208 может быть реализована с использованием машиночитаемого носителя, такого как компьютерное запоминающее устройство. Машиночитаемый носитель включает в свой состав машиночитаемые носители по меньшей мере двух типов, а именно: компьютерное запоминающее устройство и средство связи. Компьютерное запоминающее устройство включает в свой состав энергозависимую и энергонезависимую память, съемную и несъемную память, реализованную с помощью любого способа или технологии хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерное запоминающее устройство включает в свой состав, без ограничения приведенными примерами, RAM, ROM, EEPROM, флэш-память или память другого типа, CD-ROM, универсальные цифровые диски (DVD, Digital Versatile Disk), мультимедийные диски/диски для хранения данных высокой четкости или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, магнитный диск или другие магнитные запоминающие устройства, или любой другой не передающий носитель, который может использоваться для хранения информации, доступной вычислительному устройству. С другой стороны, средства связи могут содержать машиночитаемые инструкции, структуры данных, программные модули или другие данные, переносимые модулированным сигналом передачи данных, таким как несущая или другой механизм передачи.
[0031] Память 208 может содержать рыночный механизм 202 и память 212 данных. Рыночный механизм 202 может содержать модуль 214 учетных записей пользователей, модуль 216 управления разработчиками, модуль 218 проверки инструментальных средств, модуль 220 интеграции тестовых данных, модуль 222 управления инструментальными средствами, модуль 224 транзакций и модуль 226 интерфейса. Модули могут содержать подпрограммы, программные инструкции, объекты и/или структуры данных, которые выполняют конкретные задачи или реализуют определенные абстрактные типы данных.
[0032] Модуль 214 учетных записей пользователей может позволять конечным пользователям, таким как конечные пользователи 116 и 128, создавать учетные записи 228 клиентов. Например, конечный пользователь 116 может создать соответствующую учетную запись клиента путем предоставления регистрационной информации в модуль 214 учетных записей пользователей через вычислительное устройство, такое как вычислительное устройство 122. В состав регистрационной информации может входить имя клиента, адрес клиента, контактная информация клиента, регистрационное имя, пароль и т.д. Каждая из учетных записей 228 клиентов может также содержать информацию о доступе к учетной записи для одного или более финансовых счетов, которые соответствующий клиент предоставляет для оплаты транзакций и получения возмещений. Транзакции могут включать приобретение на виртуальном рынке 102 инструментальных средств, встраиваемых дополнительных приложений и/или услуг поддержки инструментальных средств. Согласно различным вариантам осуществления модуль 214 учетных записей пользователей может выполнять функции аутентификации, управляющие доступом к учетным записям 228 клиентов. В контексте виртуального рынка 102 приобретение инструментального средства может относится к покупке бессрочной лицензии или лицензии на время использования инструментального средства.
[0033] В модуле 214 учетных записей пользователей может также храниться информация о состоянии, касающаяся инструментальных средств, уже реализованных для использования на установочной версии платформы операционной системы предприятия, применяемой каждым конечным пользователем. Информация о состоянии инструментальных средств может храниться в базе 230 данных информации о состоянии. Например, конечный пользователь 116 применяет платформу 118(1) операционной системы предприятия, и платформа может постоянно или периодически автоматически передавать информацию о состоянии, относящуюся к одному или более инструментальным средствам (например, к инструментальному средству 124), реализованным на платформе 118(1) операционной системы предприятия. В альтернативном варианте модуль 214 учетных записей пользователей может периодически опрашивать платформу 118(1) операционной системы предприятия для получения информации о состоянии. В альтернативном варианте платформа 118(1) операционной системы предприятия может отправить новую информацию в модуль 214 учетных записей пользователей, если новое инструментальное средство или новая версия инструментального средства реализована для использования на платформе, если инструментальное средство удаляется с платформы, и/или если рабочее состояние реализованного инструментального средства на платформе каким-либо образом изменяется. В свою очередь, модуль 214 учетных записей пользователей может сохранять для конечного пользователя 116 информацию о состоянии, относящуюся к одному или более инструментальным средствам. Информация о состоянии, собранная и сохраненная для каждой платформы операционной системы предприятия, может содержать идентификационную информацию каждого инструментального средства, реализованного на платформе операционной системы предприятия, историю реализации для каждого инструментального средства, информацию о версии каждого инструментального средства, регистрационную информацию пользователя для каждого инструментального средства, общее время выполнения каждого инструментального средства, отчеты о сбоях и ошибках, генерируемые каждым инструментальным средством, источники данных, используемые каждым инструментальным средством, и т.д. Модуль 214 учетных записей пользователей может хранить информацию о состоянии в базе 230 данных информации о состоянии, расположенной в памяти 212 данных. Согласно дополнительным вариантам осуществления модуль 214 учетных записей пользователей может выполнять функцию анализа, которая использует информацию о состоянии для генерации отчетов об инструментальных средствах, реализованных на конкретной платформе операционной системы, отчетов о категориях инструментальных средств, реализованных на платформе, генерации статистических данных о перекрытиях функциональных возможностей инструментальных средств, реализованных на платформе, генерации статистики об источниках данных, используемых реализованными инструментальными средствами платформы, и т.д.
[0034] Модуль 216 управления разработчиками может отвечать за управление доступом разработчиков программного обеспечения к экземплярам 106(1)-106(N) среды разработки. В различных вариантах осуществления экземпляры 106(1)-106(N) среды разработки могут размещаться на вычислительных устройствах 104, сторонних серверах и/или на серверах облачной системы. Модуль 216 управления разработчиками может предоставлять разработчикам программного обеспечения, таким как разработчики 108(1)-108(N) программного обеспечения, возможность создания учетных записей 232 разработчиков. Разработчики программного обеспечения могут создавать соответствующую учетную запись разработчика программного обеспечения путем предоставления регистрационной информации модулю 216 учетных записей разработчиков через пользовательское устройство. Регистрационная информация может включать имя разработчика, название компании, адрес компании, контактную информацию компании, регистрационное имя, пароль и т.д. Учетная запись разработчика может позволять разработчику программного обеспечения осуществлять доступ к экземпляру среды разработки. Например, разработчик программного обеспечения, заинтересованный в разработке инструментального средства для объекта беспроводной связи, может получать доступ к экземпляру среды разработки для беспроводной связи. Учетная запись разработчика может также позволять разработчику программного обеспечения получать оплату от оператора виртуального рынка 102, если инструментальное средство, разработанное разработчиком программного обеспечения, приобретено конечным пользователем. Например, разработчик программного обеспечения может связать финансовый счет с учетной записью разработчика, с помощью которой активы могут переводиться на счет и сниматься со счета. В некоторых примерах учетная запись разработчика может также позволять разработчику программного обеспечения переводить единовременный или периодический платеж за использование экземпляра среды разработки. Модуль 216 управления разработчиками может также отслеживать доступ разработчиков к экземплярам 106(1)-106(N) среды разработки. Информация может включать регистрационные записи о доступе разработчиков к экземплярам среды разработки, объем вычислительных ресурсов, используемых каждым из разработчиков программного обеспечение в различные периоды времени, информацию об идентификаторах и версиях разработанных инструментальных средств и т.д. После разработки инструментального средства разработчик программного обеспечения может применять пользовательское устройство для информирования модуля 216 управления разработчиками о том, что инструментальное средство представлено для проверки. Согласно различным вариантам осуществления модуль 216 управления разработчиками может выполнять функции аутентификации, которые управляют доступом к учетным записям 232 разработчиков.
[0035] Модуль 218 проверки инструментальных средств может отвечать за проверку представленных инструментальных средств перед их размещением для распределения через виртуальный рынок 102. Согласно различным вариантам осуществления инструментальные средства могут проверяться с использованием тестовой среды, которая содержит узел для хранения наборов тестов и тестовых данных. Каждая тестовая среда может быть настроена для объекта конкретного типа (например, для оператора беспроводной связи) и разработана для имитации производственной среды для выполнения функций распределения и управления данными или услугами, такими как оценка эффективности объекта. Каждый набор тестовых данных может настраиваться в соответствии с версией тестируемого инструментального средства, производственной средой инструментального средства, разработчиком программного обеспечения, который разработал подлежащее тестированию инструментальное средство и т.п. Наборы тестов и тестовые данные тестовой среды разрабатываются для проверки корректного выполнения инструментального средства в имитируемых на узле условиях. Например, в вычислительном устройстве 104 могут размещаться тестовые среды 240(1)-240(N). В свою очередь, тестовые среды 240(1)-240(N) могут соответственно содержать наборы 242(1)-242(N) тестов и тестовые данные 244(1)-244(N).
[0036] Тестовая среда может содержать данные о непосредственных событиях и комплексных событиях, которые должны обрабатываться инструментальным средством. Непосредственные события могут предоставлять собой простые события, в то время как комплексные события являются результатом вычислений или агрегирования других событий. Непосредственные события обычно предоставляют собой обычные события, непосредственно регистрируемые датчиками системы. Комплексные события обычно являются результатом вычислений с использованием данных, основанных на непосредственных событиях и/или других комплексных событиях, в качестве входных значений. Например, непосредственное событие может представлять собой увеличение расхода воды в распределительном водопроводе системы водоснабжения в конкретное время, в то время как комплексное событие может представлять собой увеличение расхода воды в распределительном водопроводе, которое согласовывается с уменьшением расхода в смежном распределительном водопроводе в конкретное время. Соответственно, можно предположить, что инструментальное средство проверено, если оно при тестировании генерирует результаты, удовлетворяющие одному или более критериям.
[0037] Критерии могут представлять собой совпадение результатов тестирования с ожидаемыми значениями или нахождение результатов в пределах предварительно определенных допустимых пороговых значений. В соответствии по меньшей мере с одним из вариантов осуществления настоящего изобретения результаты тестирования, сгенерированные тестируемые инструментальными средствами, могут содержать комплексные данные. В одном из сценариев результаты тестирования инструментального средства могут рассматриваться как совпадающие с ожидаемыми результатами, если каждое значение результатов тестирования находится в пределах предварительно определенного диапазона соответствующего значения, сгенерированного инструментальным средством оценочного тестирования. В таком сценарии инструментальное средство оценочного тестирования может представлять собой предыдущую версию инструментального средства или инструментальное средство, разработанное оператором виртуального рынка 102. Критерии могут также включать генерацию корректных результатов тестирования в пределах предварительно определенного промежутка времени, нахождение объема вычислительных ресурсов, используемых инструментальным средством в процессе тестирования, ниже предварительно определенного порогового значения, способность инструментального средства к восстановлению после возникновения одной или более сымитированных ошибок с использованием входных данных или вычислительных ресурсов и т.д.. После проверки инструментального средства модуль 218 проверки может выпустить инструментальное средство для распределения. В одном из сценариев модуль 218 проверки после выполнения проверки может изменить состояние предварительной версии инструментального средства (например, бета-версии) на сертифицированное состояние. Впоследствии модуль 218 проверки может выпустить сертифицированное инструментальное средство для распределения через виртуальный рынок 102.
[0038] Модуль 220 интеграции тестовых данных может интегрировать результаты тестирования, сгенерированные проверенным инструментальным средством, в тестовые данные соответствующей тестовой среды для объекта конкретного типа. Согласно различным вариантам осуществления настоящего изобретения результаты тестирования могут содержать комплексные данные. Дополнительные комплексные данные включают комплексные события, условные события, пары значений событий, условные зависимости между параметрами и событиями, агрегированные результаты и/или другие данные, сгенерированные в процессе тестирования инструментального средства. Дополнительные комплексные данные результата тестирования могут также использоваться для проверки других инструментальных средств в тестовой среде. Таким образом, тестовая среда может постоянно снабжаться дополнительными тестовыми данными, которые в противном случае недоступны или которые трудно имитировать. Однако модуль 220 интеграции тестовых данных может отбрасывать результаты тестирования, сгенерированные инструментальными средствами, не прошедшими проверку.
[0039] Согласно дополнительным вариантам осуществления модуль 220 интеграции тестовых данных может также интегрировать результаты предварительного тестирования инструментальных средств, тестируемых в производственных средах, в тестовые данные соответствующих тестовых сред. Например, конечный пользователь 116 может выполнять бета-тестирование инструментального средства 124 на платформе 118(1) операционной системы предприятия для оценки, насколько эффективно инструментальное средство 124 способно определять характеристики эффективности объекта 120. Изначально инструментальное средство 124 может проверяться с использованием тестовой среды 240(1). В качестве части процесса наилучшего тестирования инструментальное средство 124 может выполнять функцию дистанционной передачи отчетов, предоставляющих результаты предварительного тестирования в модуль 220 интеграции тестовых данных. Результаты предварительного тестирования могут включать комплексные события, условные события, пары значений событий, условные зависимости между параметрами и событиями, агрегированные результаты и/или другие данные, сгенерированные в процессе предварительного тестирования инструментального средства. Соответственно, модуль 220 интеграции тестовых данных может интегрировать результаты предварительного тестирования в тестовые данные 244(1) тестовой среды 240(1).
[0040] В модуле 222 управления инструментальными средствами могут храниться инструментальные средства 236(1)-236(N) в памяти 238 инструментальных средств, которая может находиться на вычислительных устройствах 104 или размещаться в удаленном местоположении. В некоторых примерах инструментальное средство может загружаться в память 238 инструментальных средств модулем 222 управления инструментальными средствами, если оно является новым инструментальным средством, проверенным для распределения через виртуальный рынок. В других примерах модуль 222 управления инструментальными средствами может заменять существующее инструментальное средство, хранимое в памяти 238 инструментальных средств, на проверенное инструментальное средство обновленной версии. Согласно различным вариантам осуществления настоящего изобретения модуль 222 управления инструментальными средствами может на основе данных из базы 234 данных о состоянии инструментальных средств определять, является ли версия подлежащего распределению инструментального средства новой или обновленной. Соответственно, если инструментальное средство готово для распределения, модуль 222 управления инструментальными средствами может выполнить в базе 234 данных о состоянии инструментальных средств запрос для определения, является ли инструментальное средство новым или существующим инструментальным средством новой версии. В некоторых вариантах осуществления модуль 222 управления инструментальными средствами может также удалять инструментальное средство из памяти 238 инструментальных средства, после чего состояние удаленного инструментального средства в базе 234 данных о состоянии инструментальных средств может быть обновлено модулем 222 управления инструментальными средствами.
[0041] Соответственно, модуль 222 управления инструментальными средствами может обновлять данные о состоянии инструментальных средств 236(1)-236(N) в базе 234 данных о состоянии инструментальных средств с учетом изменений инструментальных средств. Инструментальные средства 236(1)-236(N) могут включать инструментальные средства, доступные для приобретения через виртуальный рынок, а также инструментальные средства, уже приобретенные конечными пользователями и реализованные на различных платформах операционной системы предприятия. Например, данные о состоянии инструментального средства могут указывать, является ли инструментальное средство новым, новой версией существующего инструментального средства, или указывать на доступность или изъятие этого инструментального средства на рынке. Данные о состоянии инструментального средства могут также указывать на требуемые типы входных данных, для обработки которых разработано инструментальное средство, а также на требуемые функциональные возможности других инструментальных средств, от которых зависит выполнение собственных функций обработки данного инструментального средства. Данные о состоянии инструментального средства могут также указывать выходные данные, генерируемые инструментальным средством, а также функциональные возможности, предоставляемые инструментальным средством. В некоторых примерах данные о состоянии инструментального средства могут также содержать подробную информацию, такую как дату выхода из обращения текущей версии инструментального средства, запланированную дату завершения поддержки текущей версии или рабочее состояние разработчика связанного программного обеспечения (например, готов ли к работе разработчик программного обеспечения).
[0042] Таким образом, если конечный пользователь осуществляет доступ к виртуальному рынку 102 с помощью учетной записи клиента, модуль 222 управления инструментальными средствами может предоставить конечному пользователю рекомендации, касающиеся инструментальных средств. Согласно различным вариантам осуществления модуль 222 управления инструментальными средствами может определять входные и выходные функциональные возможности и данные инструментальных средств, уже применяемых конечным пользователем на платформе операционной системы предприятия. Модуль 222 управления инструментальными средствами может также сравнивать такую информацию с входными и выходными функциональными возможностями и данными инструментальных средств 236(1)-236(N). Соответственно, модуль 222 управления инструментальными средствами может определять одно или более связанных инструментальных средств 236(1)-236(N), способных использовать функциональные возможности и выходные данные инструментальных средств, которые уже используются на платформе операционной системы предприятия. В альтернативном варианте или одновременно модуль 222 управления инструментальными средствами может также определять одно или более связанных инструментальных средств 236(1)-236(N), способных предоставлять входные данные и функциональные возможности инструментальным средствам, которые уже используются на платформе операционной системы предприятия. Другими словами, модуль 222 управления инструментальными средствами может определять связанные инструментальные средства, имеющие входные и/или выходные зависимости от инструментальных средств, уже применяемых конечным пользователем на соответствующей платформе операционной системы предприятия. Одно или более связанных инструментальных средств может быть представлено модулем 222 управления инструментальными средствами через интерактивный интерфейс. С помощью интерактивного интерфейса может также указываться цена, способ приобретения и/или условия приобретения, согласно которым конечный пользователь может приобрести каждое из связанных инструментальных средств.
[0043] Согласно дополнительным вариантам осуществления, модуль 222 управления инструментальными средствами также через интерактивный интерфейс может представить предварительно определенный список инструментальных средств, вне зависимости от наличия в инструментальном средстве входных или выходных зависимостей от инструментальных средств, уже используемых на соответствующей платформе операционной системы предприятия. В соответствии с одним из сценариев инструментальные средства в предварительно определенном списке могут не иметь зависимостей от инструментальных средств, уже используемых на соответствующей платформе операционной системы предприятия. Такой предварительно определенный список может содержать инструментальные средства, наиболее популярные на виртуальном рынке 102, инструментальные средства, недавно размещенные на виртуальном рынке 102, инструментальные средства с наивысшим пользовательским рейтингом на виртуальном рынке 102 и т.д. Инструментальные средства, отображаемые в предварительно определенном списке, могут сопровождаться такой информацией, как предварительные требования к входным и выходным данным и функциональным возможностям, пользовательские рейтинги, сведения о цене и оплате и т.д.
[0044] Согласно другим вариантам осуществления модуль 222 управления инструментальными средствами может также через интерактивный интерфейс представлять конечному пользователю уведомления, касающиеся доступности новых версий инструментальных средств, уже реализованных на соответствующей платформе операционной системы предприятия. Согласно различным вариантам осуществления настоящего изобретения уведомление о новой версии может содержать такие сведения, как новые функции, удаленные функции, исправленные ошибки, улучшения, плата за обновление, новая политика поддержки и т.д. Однако такое уведомление не вынуждает конечного пользователя без необходимости выполнять обновление. Модуль 222 управления инструментальными средствами также иногда может выводить уведомления, касающиеся текущей версии инструментального средства, используемой конечным пользователем на соответствующей платформе операционной системы предприятия. Подходящее уведомление может также содержать такие сведения, как дата выхода из обращения текущей версии, дата завершения поддержки текущей версии или рабочее состояние разработчика связанного программного обеспечения (например, готов ли к работе разработчик программного обеспечения). Подходящее уведомление для текущей версии инструментального средства может независимо отображаться через интерактивный интерфейс, даже если обновленная версия инструментального средства отсутствует. Согласно некоторым вариантам осуществления каждое инструментальное средство, представленное через интерактивный интерфейс, может сопровождаться пользовательскими обзорами и рейтингами. Пользовательские обзоры инструментального средства могут предоставляться конечными пользователями через интерактивные интерфейсы обзоров, для того чтобы пользователи могли оставить комментарии о преимуществах и недостатках инструментального средства. Пользовательские рейтинги инструментального средства могут выставляться по цифровой шкале. Например, цифровая шкала может представлять собой шкалу звездного рейтинга (например, четыре из пяти звезд), бальную систему (например, 90 из 100 баллов), процентную шкалу рекомендаций (например, рекомендовано 80% конечных пользователей) и т.д. Интерактивный интерфейс рейтинга инструментального средства может предоставлять конечному пользователю возможность оценить как инструментальное средство в целом, так и отдельные его возможности.
[0045] Модуль 224 транзакций может обрабатывать процесс приобретения инструментальных средств на виртуальном рынке 102. Если конечный пользователь готов приобрести рекомендованное инструментальное средство, то он может инициировать его приобретение через интерактивный интерфейс. Согласно различным вариантам осуществления инструментальное средство можно приобрести с использованием непосредственного платежа по установленной цене, аукциона, обратного аукциона и/или других схем приобретения. В ответ модуль 224 транзакций может инициировать процесс приобретения. Например, в случае покупки по установленной цене модуль 224 транзакций может получить платеж за покупку инструментального средства с финансового счета конечного пользователя. Финансовый счет может представлять собой текущий счет, депозитный счет, счет дебетовой карты, счет кредитной карты, счет платежной карты, счет подарочной карты и т.п.
[0046] В альтернативном варианте цена покупки может частично или полностью оплачиваться с помощью баллов или кредитов, которые конечный пользователь сохранил на виртуальном рынке 102. В некоторых примерах цена за приобретение инструментального средства может устанавливаться в соответствии с рыночными условиями. Например, для начального количества приобретений инструментального средства цена за приобретение может устанавливаться ниже. Однако для одного или более последующих приобретений цена может постепенно наращиваться. В другом примере за приобретение может устанавливаться начальная конкретная цена, которая затем постепенно уменьшается по мере продажи дополнительных единиц. В альтернативном варианте начальная цена за приобретение может постепенно уменьшаться, если объем продаж не соответствует требуемому уровню в течение предварительно определенных периодов времени. В других примерах за приобретение инструментального средства может устанавливаться скидка, или инструментальное средство может распространяться бесплатно для конечных пользователей, согласившихся стать бета-тестерами инструментального средства.
[0047] В других сценариях, в которых средства приобретаются на аукционе или на обратном аукционе, конечный пользователь может инициировать процесс предложения цены с помощью модуля 224 транзакций через интерактивный интерфейс. В свою очередь, модуль 224 транзакций может проводить виртуальный аукцион, в котором задействуется множество электронных участников торгов, для определения выигрышного предложения. Впоследствии модуль 224 транзакций может информировать победившего конечного пользователя через интерактивный интерфейс. Таким образом, платеж за приобретение инструментального средства затем поступает в модуль 224 транзакций с финансового счета конечного пользователя. После выполнения платежа модуль 224 транзакций может инициировать распределение инструментального средства конечному пользователю. В некоторых примерах модуль 224 транзакций может установить соединение с местоположением сервера, из которого может быть загружено инструментальное средство. Например, соединение может представлять собой веб-соединение, соединение с сервером, использующим защищенный протокол передачи файлов (FTP, File Transfer Protocol), или соединение с сайтом защищенного совместного использования файлов.
[0048] Однако в альтернативном сценарии конечный пользователь может прийти к выводу, что текущее инструментальное средство не удовлетворяет его конкретным требованиям. Соответственно, модуль 224 транзакций может предоставить интерактивные интерфейсы для предложений, основанных на заявке. В случае предложений, основанных на заявке, модуль 224 транзакций может предоставлять интерактивный интерфейс, который позволяет конечному пользователю создавать запрос инструментального средства. В запросе могут указываться функциональные возможности инструментального средства, входные и выходные данные инструментального средства и желательная цена инструментального средства. В свою очередь, модуль 224 транзакций может в электронном виде передавать множеству разработчиков запрос инструментального средства. Например, модуль 224 транзакций может отправить запрос инструментального средства на веб-страницу, передать запрос разработчикам по электронной почте или сгенерировать другую форму электронной связи с разработчиками. Кроме того, модуль 224 транзакций может предоставлять разработчикам интерактивный интерфейс для отправки предложений, указывающих на приемлемость запроса инструментального средства и время его поставки. Впоследствии модуль 224 транзакций может передать электронное уведомление конечному пользователю, для того чтобы конечный пользователь мог просмотреть одно или более предложений разработчиков через интерактивный интерфейс, предоставляемый модулем 224 транзакций. После просмотра предложений разработчиков конечный пользователь может принять одно или более предложений. После принятия конечным пользователем предложения разработчика клиент обязан протестировать инструментальное средство, представленное разработчиком по запросу, если инструментальное средство доставлено клиенту в течение указанного периода доставки.
[0049] В процессе представления разработчиками инструментальных средств на виртуальный рынок 102 модуль 224 транзакций может обеспечивать для конечного пользователя доступ к представленным инструментальным средствам для их оценки. После оценки конечный пользователь может передать уведомление в модуль 224 транзакций, указывающее на принятие одного из инструментальных средств. Модуль 224 транзакций может затем обеспечить для конечного пользователя и разработчика принятого инструментального средства возможность закрытия транзакции, связанной с инструментальным средством, на основе желательной цены. В некоторых примерах модуль 224 транзакций может потребовать, чтобы конечный пользователь указал причины, по которым он не принял другие инструментальные средства, разработанные перед тем, как была обеспечена возможность закрытия транзакции. Впоследствии модуль 224 транзакций может предоставить интерактивные интерфейсы обзора для конечных пользователей с целью оценки разработчиков и наоборот. Например, конечные пользователи могут оценивать разработчиков в таких областях, как скорость поставки, качество поставленного инструментального средства, быстрота и надежность связи и т.д. В свою очередь, разработчики могут оценивать конечных пользователей в таких областях, как быстрота и надежность связи, разумность запросов инструментальных средств, разумность сопутствующих запросов и т.д. Рейтинги, передаваемые в модуль 224 транзакций, могут выставляться по цифровой шкале. Например, цифровая шкала может представлять собой шкалу звездного рейтинга (например, четыре из пяти звезд), бальную систему (например, 90 из 100 баллов), процентную шкалу рекомендаций (например, рекомендовано 80% конечных пользователей) и т.д. Модуль 224 транзакций может отображать рейтинги конечных пользователей и/или разработчиков в среде интерактивных интерфейсов, используемых для предложений, основанных на заявке.
[0050] В некоторых примерах оплата инструментального средства может производиться на основе плана оплаты в рассрочку. В таких примерах инструментальное средство может быть вначале реализовано на платформе операционной системы предприятия после проведения первого платежа. Впоследствии инструментальное средство может периодически передавать сообщение с запросом проверки состояния в модуль 224 транзакций для определения, продолжает ли инструментальное средство выполняться на платформе операционной системы предприятия. Соответственно, если модуль 224 транзакций определяет, что дополнительная оплата была получена от конечного пользователя согласно плану оплаты в рассрочку, то модуль 224 транзакций может передать в инструментальное средство ответное сообщение о продолжении работы. После приема ответного сообщения инструментальное средство может продолжать работу. В противном случае модуль 224 транзакций может передать в инструментальное средство ответное сообщение о завершении работы, после приема которого инструментальное средство завершает функционирование.
[0051] Модуль 224 транзакций также может переводить оплату, полученную от конечного пользователя, который приобрел инструментальное средство, на финансовый счет разработчика программного обеспечения, разработавшего инструментальное средство. Оплата может выполняться модулем 224 транзакций в соответствии с условиями, предварительно оговоренными между оператором и разработчиком программного обеспечения. В некоторых примерах предварительно оговоренные условия могут позволить оператору виртуального рынка 102 удерживать предварительно определенный процент оплаты, переводимой разработчику программного обеспечения, в качестве компенсации. В других примерах предварительно оговоренные условия могут позволить оператору удерживать суммы, уплаченные за предварительно определенное количество начальных продаж инструментальных средств, и переводить разработчику программного обеспечения оплату за последующие продажи инструментального средства. В других примерах предварительно оговоренные условия могут позволить оператору удерживать заранее определенный процент оплаты, переводимой для продажи каждого инструментального средства, после завершения ряда продаж в течение временного периода. Тем не менее, модуль 224 транзакций может переводить полученную оплату разработчику программного обеспечения в соответствии с другими схемами, при условии что оператор получает компенсацию по меньшей мере за некоторые продажи инструментальных средств, произведенные через виртуальный рынок 102.
[0052] Соответственно, модуль 224 транзакций может предложить разработчику выбрать одну из множества схем оплаты, если разработчик предоставляет инструментальное средство для распределения через виртуальный рынок 102. Например, первая схема оплаты может позволять конечному пользователю периодически (например, ежемесячно) вносить плату за использование. Однако разработчик не гарантирует предоставление новой актуальной версии инструментального средства. Во втором примере схемы оплаты конечному пользователю может предоставляться возможность покупки корпоративной лицензии за единовременную плату. Согласно такой схеме разработчик также не гарантирует предоставление новых актуальных версий инструментального средства. В третьем примере схемы оплаты конечному пользователю может предоставляться возможность покупки корпоративной лицензии с годичной поддержкой за годовую оплату технического обслуживания. Согласно такой схеме разработчик заключает контракт с конечным пользователем на предоставление новых актуальных версий инструментального средства. Для упрощения перевода и сбора оплаты модуль 224 транзакций может использовать одну или более рабочих учетных записей 248, созданных для таких целей.
[0053] Модуль 226 интерфейса может генерировать различные интерактивные интерфейсы для других модулей рыночного механизма 202. Согласно некоторым вариантам осуществления модуль 226 интерфейса может координировать свои действия с платформой операционной системы предприятия для представления интерактивного интерфейса и приема пользовательских входных данных, вводимых конечным пользователем с помощью интерактивного интерфейса. Согласно другим вариантам осуществления интерактивный интерфейс, сгенерированный модулем 226 интерфейса, может представлять собой прикладной интерфейс или портал веб-интерфейса, доступный конечному пользователю 116 через клиентское инструментальное средство или веб-браузер. Согласно различным вариантам осуществления настоящего изобретения каждый интерактивный интерфейс может создаваться с использованием объектов HTML, скриптов, каскадных таблиц стилей (CSS, Cascade Style Sheet), изображений и/или других статических и/или динамических объектов.
[0054] В памяти 212 данных могут храниться данные, принимаемые и обрабатываемые различными модулями рыночного механизма 202. Память 212 данных может содержать одну или более баз данных, таких как реляционные базы данных, объектные базы данных, объектно-реляционные базы данных и/или базы данных о значениях ключей. Данные, хранимые в памяти 212 данных, могут содержать учетные записи 228 клиентов, базу 230 данных информации о состоянии, учетные записи 232 разработчиков, базу 234 данных о состоянии инструментальных средств, данные 246 обзоров и рабочие учетные записи 248.
Пример пользовательского интерфейса
[0055] На фиг. 3 показаны примеры интерактивных интерфейсов виртуального рынка для выбора инструментальных средств. Интерактивные интерфейсы могут отображаться модулем 226 интерфейса рыночного механизма 202. Интерактивные интерфейсы могут позволять конечному пользователю просматривать инструментальные средства, доступные на виртуальном рынке 102, а также приобретать инструментальные средства на виртуальном рынке 102. Примеры интерактивных интерфейсов могут включать интерактивный интерфейс 302, который отображает инструментальные средства по категориям, и интерактивный интерфейс 302, который отображает инструментальные средства, рекомендуемые рыночным механизмом 202.
[0056] Интерактивный интерфейс 300 может позволять конечному пользователю просматривать инструментальные средства, доступные на рынке 102 инструментальных средств. Интерактивный интерфейс 300 может содержать меню 304 выбора категории. Меню 304 выбора категории может позволять конечному пользователю просматривать множество категорий инструментальных средств. Согласно по меньшей мере одному из вариантов осуществления настоящего изобретения категории могут соответствовать различным типам объектов, для которых доступны инструментальные средства. После того как конечный пользователь выбирает категорию инструментального средства, интерактивный интерфейс 300 может вывести ниспадающее меню, например ниспадающее меню 306, которое отображает множество подкатегорий инструментальных средств, доступных в пределах выбранной категории. Согласно различным вариантам осуществления настоящего изобретения множество подкатегорий может соответствовать типам компонентов инструментальных средств, которые выполняют различные функции оценки эффективности. Соответственно, после выбора категории и подкатегории конечный пользователь может активизировать элемент 308 поиска для отображения инструментальных средств в пределах подкатегории. Инструментальные средства в каждой подкатегории могут отображаться интерактивным интерфейсом в соответствии с критериями сортировки и фильтрации. Например, инструментальные средства могут сортироваться в соответствии с местоположением, в котором они могут устанавливаться (например, согласно почтовым индексам, муниципалитетам, странам или областям). В другом примере инструментальные средства могут фильтроваться в соответствии с зарегистрированными ошибками таким образом, чтобы интерактивный интерфейс отображал инструментальные средства, в которых не зарегистрированы ошибки, или инструментальные средства в возрастающим или убывающем порядке в зависимости от количества ошибок, зарегистрированных для каждого инструментального средства. Кроме того, после выбора инструментального средства интерактивный интерфейс может отображать информацию, относящуюся к инструментальному средству, такую как входные данные и функциональные возможности, от которых зависит инструментальное средство, выходные данные и функциональные возможности, генерируемые инструментальным средством, API и/или адаптеры данных, предоставляющие входные и выходные данные, и т.д. Кроме того, другие варианты фильтрации или сортировки могут позволять конечному пользователю просматривать инструментальные средства в соответствии с конкретными предварительными требованиями к данным и/или функциональным возможностям для входных или выходных данных, номерами версий, пользовательскими рейтингами и т.д.
[0057] Интерактивный интерфейс 302 может отображать для конечного пользователя инструментальные средства, рекомендуемые рыночным механизмом 202, на основе одного или более инструментальных средств, уже реализованных на платформе операционной системы предприятия, применяемой конечным пользователем. Интерактивный интерфейс 302 может содержать раздел 310, в котором отображаются инструментальные средства, уже установленные на платформе операционной системы предприятия. Согласно некоторым вариантам осуществления настоящего изобретения в разделе 310 может отображаться элемент обзора (например, элемент 312 обзора) для каждого инструментального средства, для того чтобы конечный пользователь мог просмотреть обзор и/или рейтинг инструментального средства. Кроме того, в разделе 310 может отображаться текущая обзорная информация и/или текущий рейтинг, предоставленный другими конечными пользователями.
[0058] В интерактивном интерфейсе 302 также в разделе 314 может отображаться рекомендуемое инструментальное средство. Для каждого инструментального средства в разделе 314 может отображаться текущая обзорная информация и/или текущий рейтинг, предоставленный другими конечными пользователями. В разделе 314 также могут отображаться различные варианты приобретения инструментальных средств. Например, может отображаться элемент 316 предложения для инструментального средства, которое может приобретаться на аукционе или обратном аукционе, в то время как элемент 318 покупки может отображаться для инструментального средства, которое может приобретаться путем непосредственного платежа. Другие интерактивные интерфейсы отображают данные о состоянии инструментального средства, если происходит изменение состояния инструментального средства. В одном из сценариев данные о состоянии, такие как доступность новой версии, доступность нового рекомендованного инструментального средства, удаление инструментального средства, используемого конечным пользователем на соответствующей платформе операционной системы предприятия, с виртуального рынка 102, могут предоставляться через интерактивный интерфейс, если конечный пользователь осуществляет доступ к виртуальному рынку 102.
Пример выполнения операций
[0059] На фиг. 4-6 показаны примеры выполнения процессов 400-600, реализующих виртуальный рынок 102. Каждый из процессов 400-600 показан в виде набора блоков логической блок-схемы, которая представляет последовательность операций, которые могут быть реализованы аппаратурой, программным обеспечением или их комбинацией. В контексте программного обеспечения блоки представляют выполняемые компьютером инструкции, хранимые на одном или более машиночитаемых носителях информации, при исполнении которых процессором выполняются указанные операции. Обычно выполняемые компьютером инструкции включают в свой состав подпрограммы, программы, объекты, компоненты, структуры данных и т.д., выполняющие конкретные функции или реализующие конкретные абстрактные типы данных. Порядок, в котором описываются операции, не следует рассматривать в качестве ограничения, и любое количество описываемых блоков может объединяться в любом порядке и/или выполняться параллельно для реализации процесса. При обсуждении процессы 400-600 описываются со ссылкой на архитектуру 100, показанную на фиг. 1.
[0060] На фиг. 4 показан алгоритм примера выполнения процесса 400 для выборочного представления инструментальных средств, доступных для распределения конечному пользователю виртуальным рынком распределяемых инструментальных средств. В блоке 402 рыночный механизм 202 может определить хранимую информацию о состоянии, указывающую одно или более инструментальных средств, реализованных на платформе операционной системы предприятия, такой как платформа 118(1) операционной системы предприятия. Платформа операционной системы предприятия может распределяться оператором виртуального рынка 102. Согласно различным вариантам осуществления рыночный механизм 202 может выполнять такое определение на основе информации о состоянии, хранимой в базе 230 данных информации о состоянии. Информация о состоянии может также содержать идентификационную информацию каждого реализованного инструментального средства, историю реализации каждого инструментального средства, информацию о версии каждого реализованного инструментального средства, пользовательскую регистрационную информацию для каждого инструментального средства, общее время работы каждого инструментального средства, отчеты о сбоях и ошибках, генерируемые каждым инструментальным средством, и т.д. В одном из сценариев одно или более инструментальных средств могут представлять собой инструментальные средства, используемые для определения эффективности объекта.
[0061] В блоке 404 рыночный механизм 202 может устанавливать данные, обрабатываемые или генерируемые каждым инструментальным средством, реализованным на платформе операционной системы предприятия. Данные, обрабатываемые или генерируемые каждым инструментальным средством, могут содержать KPI, другие индикаторы эффективности, информационные отчеты, агрегированные наборы данных, переформатированные данные, накопленные данные и т.д. Рыночный механизм 202 может выполнять такое определение на основе базы 234 данных о состоянии инструментальных средств, хранящейся в памяти 212 данных.
[0062] В блоке 406 рыночный механизм 202 может определить функциональные возможности, используемые или предоставляемые одним или более инструментальными средствами, реализованными на платформе операционной системы предприятия. Функциональные возможности могут включать переформатирование данных, преобразование данных, агрегирование данных, корреляцию данных, генерацию ключевого показателя эффективности (KPI) и т.д. Рыночный механизм 202 также может выполнять такое определение на основе базы 234 данных о состоянии инструментальных средств, хранящейся в памяти 212 данных.
[0063] В блоке 408 рыночный механизм 202 может рекомендовать на виртуальном рынке 102 одно или более связанных инструментальных средств, которые имеют отношения зависимости с одним или более инструментальными средствами, реализованными на платформе операционной системы предприятия, на основе данных и функциональных возможностей. Согласно различным вариантам осуществления настоящего изобретения входное отношение зависимости представляет собой взаимосвязь, в соответствии с которой связанное инструментальное средство, доступное на рынке, способно предоставлять функциональные возможности или данные инструментальному средству, реализованному на платформе операционной системы предприятия. С другой стороны, выходное отношение зависимости представляет собой взаимосвязь, в соответствии с которой связанное инструментальное средство, доступное на рынке 102, способно использовать функциональные возможности или данные, предоставляемые инструментальным средством, реализованным на платформе операционной системы предприятия.
[0064] В блоке 410 рыночный механизм 202 может представить конечному пользователю одно или более рекомендуемых инструментальных средств. Согласно различным вариантам осуществления рыночный механизм 202 может представлять инструментальные средства с помощью интерактивного интерфейса, отображаемого на вычислительном устройстве. Например, рыночный механизм 202 может использовать интерактивный интерфейс на вычислительном устройстве 122 для представления конечному пользователю 116 дополнительного инструментального средства 126.
[0065] В блоке 412 рыночный механизм 202 может принимать запрос на приобретение связанного инструментального средства, рекомендованного рыночным механизмом 202. Запрос на приобретение может быть инициирован конечным пользователем (например, конечным пользователем 116) в интерактивном инструментальном средстве на вычислительном устройстве (например, вычислительном устройстве 122). Согласно различным вариантам осуществления настоящего изобретения запрос на приобретение может представлять собой запрос на приобретение инструментального средства посредством платежа, предложения цены за инструментальное средство на аукционе, или запрос на приобретение инструментального средства с помощью некоторой другой формы перемещения средств.
[0066] В блоке 414 принятия решения рыночный механизм 202 может определять, допустим ли запрос на приобретение. Запрос на приобретение может приниматься, если он удовлетворяет одному или более критериям приемлемости приобретения, таким как оплата или обязательство оплаты покупной цены непосредственно или в рассрочку, или в случае выигрыша на аукционе и т.д. Соответственно, если рыночный механизм 202 определяет, что запрос на приобретение приемлем (переход по ветви "да" из блока принятия решения), процесс 400 может продолжаться с блока 416.
[0067] В блоке 416 рыночный механизм 202 может предоставить связанное инструментальное средство для реализации на платформе операционной системы предприятия. Согласно различным вариантам осуществления настоящего изобретения рыночный механизм 202 может передавать инструментальное средство на платформу операционной системы предприятия через сеть 114. Например, рыночный механизм 202 может доставлять инструментальное средство 126 на платформу 118(1) операционной системы предприятия через сеть 114. Однако, если рыночный механизм 202 определяет, что запрос на приобретение неприемлем (переход по ветви "нет" из блока принятия решения), процесс 400 может продолжаться с блока 418. В блоке 418 рыночный механизм 202 может передавать уведомление в интерактивный интерфейс конечного пользователя (например, конечного пользователя 116), указывающее на то, что запрос на приобретение неприемлем. Например, интерактивный интерфейс может отображаться на вычислительном устройстве 122 конечного пользователя 116.
[0068] В блоке 420 рыночный механизм 202 может обнаруживать изменение состояния по меньшей мере одного инструментального средства относительно платформы операционной системы предприятия. Согласно различным вариантам осуществления настоящего изобретения изменение состояния инструментального средства может представлять собой реализацию инструментального средства, удаление инструментального средства, обновление версии инструментального средства и т.д. Соответственно, процесс 400 может осуществить возврат к блоку 402, для того чтобы рыночный механизм 202 мог сохранить информацию о состоянии, относящуюся по меньшей мере к одному инструментальному средству.
[0069] На фиг. 5 показан алгоритм выполнения примера процесса 500 обновления виртуального рынка распределяемых инструментальных средств с использованием данных о состоянии инструментального средства, которое распределяется через рынок. В блоке 502 рыночный механизм 202 может принимать инструментальное средство для распределения на виртуальном рынке 102. В различных вариантах осуществления настоящего изобретения инструментальное средство может разрабатываться разработчиком программного обеспечения с использованием варианта среды разработки, предоставленного оператором виртуального рынка 102. Инструментальное средство также может проверяться оператором для выпуска его на виртуальный рынок 102.
[0070] В блоке 504 рыночный механизм 202 может определять, является ли инструментальное средство новым или обновленной версией существующего инструментального средства. Согласно различным вариантам осуществления рыночный механизм 202 может выполнять такое определение путем поиска в базе 234 данных о состоянии инструментальных средств информации о существовании версии инструментального средства, и если такая версия существует, проверки, совпадает ли существующая версия инструментального средства с текущей версией инструментального средства. Соответственно, в блоке 506 принятия решения, если рыночный механизм 202 определяет, что инструментальное средство является новым, процесс 500 может продолжаться с блока 508. В блоке 508 рыночный механизм 202 может сохранять новое инструментальные средство в памяти 238 инструментальных средств виртуального рынка 102. В блоке 510 рыночный механизм 202 может сохранять данные о состоянии нового инструментального средства в базе 234 данных о состоянии инструментальных средств виртуального рынка 102. Данные о состоянии инструментального средства могут содержать идентификационную информацию инструментального средства, время и дату сохранения инструментального средства для распределения, номер версии инструментального средства, идентификационную информацию разработчика исходного программного обеспечения, состояние разработчика программного обеспечения и т.д. Данные о состоянии могут также указывать на входные данные и функциональные возможности, необходимые для инструментального средства, а также на выходные данные и функциональные возможности, предоставляемые инструментальным средством. Далее процесс 500 может перейти к блоку 516.
[0071] Если в блоке 506 принятия решения рыночный механизм 202 определяет, что инструментальное средство является обновленной версией существующего инструментального средства, то процесс 500 может продолжиться с блока 512. В блоке 512 рыночный механизм 202 может заменить существующее инструментальное средство, хранимое в памяти 238 инструментальных средств, на новую версию инструментального средства. В блоке 514 рыночный механизм 202 может обновить данные о состоянии существующего инструментального средства в базе 234 данных о состоянии инструментальных средств. Согласно различным вариантам осуществления настоящего изобретения данные о состоянии могут обновляться для указания номера новой версии, любых новых входных данных и функциональных возможностей, необходимых для инструментального средства, а также любых новых выходных данных и функциональных возможностей, предоставляемых инструментальным средством, и т.д.
[0072] В блоке 516 рыночный механизм 202 может определять, удалено ли из виртуального рынка 102 инструментальное средство, ранее доступное для распределения. Согласно различным вариантам осуществления настоящего изобретения инструментальное средство может удаляться разработчиком программного обеспечения или оператором виртуального рынка 102 по различным причинам, таким как устаревание инструментального средства, обнаружение ранее пропущенных неисправностей или ошибок в инструментальном средстве, нарушение соглашения о распределении между оператором и разработчиком программного обеспечения и т.д.
[0073] Соответственно, если в блоке 518 принятия решения рыночный механизм 202 определяет, что инструментальное средство удалено (переход по ветви "да" из блока 518 принятия решения), то процесс 500 может продолжиться с блока 520. В блоке 520 рыночный механизм 202 может обновить данные о состоянии удаленного инструментального средства, хранящиеся базе 234 данных о состоянии инструментальных средств, для указания на то, что инструментальное средство удалено. Однако, если рыночный механизм 202 определяет, что инструментальное средство не удалено (переход по ветви "нет" из блока 518 принятия решения), процесс 500 может вернуться к блоку 502.
[0074] На фиг. 6 показан алгоритм примера выполнения процесса 600 тестирования и проверки инструментального средства для распределения через виртуальный рынок распределяемых инструментальных средств. В блоке 602 рыночный механизм 202 может принимать инструментальное средство, подлежащее проверке для распределения на виртуальном рынке 102. Инструментальное средство может быть разработано разработчиком программного обеспечения с использованием экземпляра среды разработки, предоставленного оператором виртуального рынка 102. В блоке 604 рыночный механизм 202 может выполнять тестирование инструментального средства в тестовой среде с использованием тестовых данных, содержащих данные о непосредственных событиях и комплексных событиях. Тестирование может выполняться с помощью тестовой среды (например, тестовой среды 240(1)), которая специальным образом настраивается для типа объекта, для функционирования в котором предназначено инструментальное средство. При тестировании инструментального средства могут генерироваться результаты тестирования, содержащие дополнительные комплексные данные. Согласно различным вариантам осуществления настоящего изобретения дополнительные комплексные данные включают комплексные события, условные события, пары значений событий, условные зависимости между параметрами и событиями, агрегированные результаты и/или другие данные, сгенерированные в процессе тестирования инструментального средства.
[0075] В блоке 606 рыночный механизм 202 может на основе результатов тестирования определять, проверено ли инструментальное средство. Согласно различным вариантам осуществления настоящего изобретения можно предположить, что инструментальное средство проверено, если оно при тестировании генерирует результаты, удовлетворяющие одному или более критериям. Критерии могут представлять собой совпадение результатов тестирования с ожидаемыми значениями или нахождение результатов в пределах предварительно определенных допустимых пороговых значений. Критерии могут также включать генерацию корректных результатов тестирования в пределах предварительно определенного промежутка времени, нахождение объема вычислительных ресурсов, используемых инструментальным средством в процессе тестирования, ниже предварительно определенного порогового значения, способность инструментального средства к восстановлению после возникновения одной или более сымитированных ошибок с использованием входных данных или вычислительных ресурсов и т.д.
[0076] Соответственно, если по результатам теста инструментальное средство не проходит проверку (переход по ветви "нет" из блока 608 принятия решения), процесс 600 может продолжаться с блока 610. В блоке 610 рыночный механизм 202 может указать на то, что инструментальное средство не сертифицировано. Например, индикация может отображаться для конечного пользователя через интерактивный интерфейс на вычислительном устройстве. Впоследствии рыночный механизм 202 может отбрасывать дополнительные комплексные данные, сгенерированные инструментальным средством. Однако, если по результатам теста инструментальное средство проходит проверку (переход по ветви "да" из блока 608 принятия решения), процесс 600 может продолжаться с блока 612. В блоке 612 рыночный механизм 202 может считать, что инструментальное средство сертифицировано для распределения. Соответственно, рыночный механизм 202 может сохранять инструментальное средство в памяти 238 инструментальных средств виртуального рынка 102, для того чтобы инструментальное средство могло распределяться в производственную среду (например, на платформу 118(1) операционной системы предприятия), в которой выполняется инструментальное средство.
[0077] В блоке 614 рыночный механизм 202 может интегрировать дополнительные комплексные данные в тестовые данные для тестирования дополнительных инструментальных средств, подлежащих проверке для распределения. Согласно различным вариантам осуществления настоящего изобретения комплексные данные, сгенерированные в результате тестирования инструментального средства определенного типа, могут использоваться для тестирования дополнительных инструментальных средств того же типа. Например, при тестировании инструментального средства оценки эффективности телекоммуникационной сети могут генерироваться комплексные данные. В свою очередь, комплексные данные могут быть интегрированы в исходные тестовые данные для проверки других инструментальных средств оценки эффективности телекоммуникационной сети, представляемых разработчиками программного обеспечения.
[0078] В блоке 616 рыночный механизм 202 может определять, должно ли инструментальное средство распределяться для предварительного тестирования. Такое определение может выполняться рыночным механизмом 202 на основе установок, заданных оператором виртуального рынка 102. Соответственно, если рыночный механизм 202 определяет, что инструментальное средство должно распределяться (переход по ветви "да" из блока 618 принятия решения), процесс 600 может продолжаться с блока 620. В блоке 620 рыночный механизм 202 может получать результаты предварительного тестирования для сохранения их в тестовых данных с целью проверки дополнительных инструментальных средств. Согласно различным вариантам осуществления настоящего изобретения результаты предварительного тестирования могут содержать комплексные события, условные события, пары значений событий, условные зависимости между параметрами и событиями, агрегированные результаты и/или другие данные, сгенерированные в процессе тестирования инструментального средства. Согласно различным вариантам осуществления настоящего изобретения комплексные данные, сгенерированные в результате предварительного тестирования инструментального средства определенного типа, могут использоваться в качестве тестовых данных для тестирования дополнительных инструментальных средств того же типа. Например, в ходе предварительного тестировании инструментального средства оценки эффективности поставщика ресурсов могут генерироваться комплексные данные. В свою очередь, комплексные данные могут быть интегрированы в исходные тестовые данные для оценки других инструментальных средств оценки эффективности поставщика ресурсов, представляемых разработчиками программного обеспечения.
[0079] В целом, на виртуальном рынке распределяемых инструментальных средств конечному пользователю может предлагаться возможность приобретения инструментальных средств, совместимых с платформой операционной системы предприятия. Разработчики программного обеспечения могут использовать виртуальный рынок для поддержки связи с конечными пользователями с целью продажи инструментальных средств. С другой стороны, виртуальный рынок может предоставлять конечным пользователям удобное виртуальное хранилище для контакта с разработчиками и покупки требуемых инструментальных средств. Оператор виртуального рынка может выполнять проверочные тесты, чтобы убедиться в том, что инструментальные средства функционируют в соответствии с конкретными инструкциями. За предоставление среды передачи, обеспечивающей транзакции между разработчиками программного обеспечения и конечными пользователями, оператор может получать доход путем начисления платы за транзакцию для приобретения каждого рабочего инструментального средства.
ЗАКЛЮЧЕНИЕ
[0080] Хотя предмет изобретения описан языком, специфичным для структурных признаков и/или действий способов, следует понимать, что предмет изобретения, определяемый в прилагаемой формуле изобретения, не обязательно ограничен описанными признаками или действиями. Напротив, конкретные признаки и действия раскрываются как примеры реализации изобретения.