СПОСОБ ИНИЦИИРОВАНИЯ РЕГИСТРАЦИИ ЛОКАЛЬНОГО УСТРОЙСТВА В ОБЛАЧНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ (ВАРИАНТЫ), ПОЛЬЗОВАТЕЛЬСКОЕ УСТРОЙСТВО И ЛОКАЛЬНОЕ УСТРОЙСТВО
METHOD FOR INITIATION OF REGISTRATION OF LOCAL DEVICE IN CLOUD COMPUTING SYSTEM (OPTIONS), USER DEVICE AND LOCAL DEVICE

ОБЛАСТЬ ТЕХНИКИ
[1] Варианты раскрытия настоящего изобретения в целом относятся к обработке данных, а более конкретно, но не исключительно, - к способу и системе инициирования регистрации устройства в облачной системе (например, основанной на Интернете) с использованием отдельного устройства.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[2] Облачные вычислительные системы могут предоставляться по требованию одному или более клиентам через сеть связи (например, через глобальную сеть, такую как Интернет), освобождая, таким образом, клиентов от необходимости покупки или аренды базовых вычислительных систем, поддерживающих необходимые вычислительные услуги. Кроме того, в некоторых рабочих средах облачная вычислительная система может служить в качестве центрального узла для нескольких, возможно для множества, клиентских вычислительных систем, расположенных удаленно по отношению к облачной вычислительной системе. Такая конфигурация может обеспечить добавление клиентских вычислительных систем к более крупной распределенной или объединенной сети систем, удаленное конфигурирование программного обеспечения клиентских вычислительных систем, оперативное управление клиентскими вычислительными системами и т.д.
[3] В то время как распределенная вычислительная система может обеспечить выполнение ряда функций, полезных для отдельных клиентских вычислительных систем, таких как совместное использование информации, обеспечение безопасности всей системы может вызывать серьезное беспокойство. Например, злонамеренная клиентская вычислительная система путем маскировки под доверенного клиента способна осуществлять доступ к частной информации, хранимой в облачной вычислительной системе. Кроме того, посредством такого доступа злонамеренный субъект также может выполнять доступ и управление одной или более клиентскими вычислительными системами, соединенными для взаимодействия с облачной вычислительной системой, что потенциально приводит к некорректному функционированию клиентских вычислительных систем, а также других подключенных к ним систем. Известные системы не предоставляют адекватного механизма для эффективной и безопасной регистрации клиентских вычислительных систем в облачной вычислительной системе.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[4] Различные прилагаемые чертежи просто иллюстрируют примеры раскрытия настоящего изобретения и не могут рассматриваться в качестве ограничения его объема.
[5] На фиг. 1 показана блок-схема примера облачной вычислительной системы, соединенной с локальной сетью, включая пример доверенного устройства и пример локального устройства.
[6] На фиг. 2 показана блок-схема примера локального устройства, изображенного на фиг. 1.
[7] На фиг. 3 показана блок-схема примера доверенного устройства, изображенного на фиг. 1.
[8] На фиг. 4 показана схема связи, представляющая взаимодействие и работу локального устройства, доверенного устройства и типового диспетчера устройств облачной вычислительной системы, изображенной на фиг. 1.
[9] На фиг. 5А показано графическое представление пользовательского интерфейса, отображающего сконфигурированные и не сконфигурированные локальные устройства и указывающего выбранное для конфигурирования локальное устройство, в том виде, в котором эта информация отображается в доверенном устройстве, изображенном на фиг. 1.
[10] На фиг. 5В показано графическое представление пользовательского интерфейса, отображающего сконфигурированные и не сконфигурированные локальные устройства и указывающего выбранное локальное устройство в сконфигурированном состоянии, в том виде, в котором эта информация отображается в доверенном устройстве, изображенном на фиг. 1.
[11] На фиг. 6А показано графическое представление пользовательского интерфейса, отображающего сконфигурированные и не сконфигурированные локальные устройства и указывающего выбранное для конфигурирования локальное устройство в соответствии с конкретной рабочей ролью, в том виде, в котором эта информация отображается в доверенном устройстве, изображенном на фиг. 1.
[12] На фиг. 6В показано графическое представление пользовательского интерфейса, отображающего сконфигурированные и не сконфигурированные локальные устройства и указывающего выбранное локальное устройство в сконфигурированном состоянии в соответствии с конкретной рабочей ролью, в том виде, в котором эта информация отображается в доверенном устройстве, изображенном на фиг. 1.
[13] На фиг. 7 показана блок-схема машины или устройства в виде примера компьютерной системы, в которой могут исполняться инструкции для инициирования выполнения машиной или устройством любого из одного или более способов, обсуждаемых в этом описании.
[14] Заголовки в этом описании представлены только для удобства и не обязательно влияют на сферу или значение используемых терминов.
ПОДРОБНОЕ ОПИСАНИЕ
[15] В последующем описании с целью разъяснения приводится ряд конкретных подробностей, позволяющих досконально разобраться в различных примерах осуществления предмета настоящего изобретения. Однако специалистам в этой области техники должно быть очевидно, что примеры осуществления настоящего изобретения на практике можно реализовать без использования этих конкретных подробностей.
[16] На фиг. 1 показана блок-схема примера облачной вычислительной системы 101 (или проще - облачной системы 101), соединенной с зоной 120 локальной сети с помощью облачной сети 130 связи. Примеры вариантов осуществления облачной сети 130 связи включают, без ограничения приведенными примерами, глобальную сеть (WAN, Wide Area Network), такую как Интернет, беспроводную WAN (WWAN, Wireless, WAN) и т.п., которые могут объединяться с другими сетями, обеспечивающими доступ к WAN, такими как сотовая телефонная сеть (например, сеть третьего поколения (3G) или четвертого поколения (4G)). Зона 120 локальной сети, такая как здание или другой локализованный объект, может обслуживаться одной или более локальными сетями 140 или соединениями. Примеры осуществления локальной сети 140 включают, без ограничения приведенными примерами, локальную сеть (LAN, Local Area Network), беспроводную LAN (WLAN, Wireless LAN), сеть передачи по электрическим сетям (PLC, Power-Line Communication), соединение Bluetooth, соединение для связи на короткие расстояния (NFC, Near-Field Communication) и т.д.
[17] Как показано на фиг. 1, локальная сеть 140 может обеспечить связь между локальным устройством 122 и доверенным устройством 124 в пределах зоны 120 локальной сети. В некоторых примерах осуществления локальная сеть 140 может также обеспечить подключение локального устройства 122 и/или доверенного устройства 124 к облачной сети 130 связи для осуществления связи с облачной системой 101. Например, локальная сеть 140 может содержать один или более маршрутизаторов, коммутаторов или других устройств, которые обеспечивают связь между локальным устройством 122, доверенным устройством 124 и облачной сетью 130 связи. Хотя на фиг. 1 изображено одно локальное устройство 122 и одно доверенное устройство 124, в других примерах осуществления настоящего изобретения в зоне 120 локальной сети может использоваться множество таких устройств 122, 124.
[18] В примерах осуществления настоящего изобретения доверенное устройство 124 представляет собой управляемое пользователем устройство, отделенное от локального устройства 122, которому локальным устройством 122 и/или облачной системой 101 "доверено" выполнение связи между ними. Доверенное устройство 124 может применяться для сбора информации из локального устройства 122 с использованием связи с локальным устройством 122 по локальной сети 140 для передачи сведений о намерении добавить локальное устройство 122 к общей системе, управляемой через облачную систему 101, и для передачи учетных данных или подобной информации, принятой из облачной системы 101 через облачную сеть 130 связи, в локальное устройство 122 через локальную сеть 140 с целью обеспечения впоследствии непосредственной связи между локальным устройством 122 и облачной системой 101. В некоторых примерах осуществления настоящего изобретения эта непосредственная связь может обеспечить регистрацию и конфигурирование локального устройства 122 облачной системой 101, что позволит локальному устройству 122 выполнять некоторые требуемые функции или набор функций в зоне 120 локальной сети. В примере осуществления настоящего изобретения передача учетных данных доверенным устройством 124 в локальное устройство 122 предназначена для инициирования регистрации и/или последующего конфигурирования локального устройства 122.
[19] Доверенное устройство 124 может содержать, без ограничения приведенными примерами, настольный компьютер, ноутбук, планшет, смартфон или любое другое вычислительное устройство или устройство связи, способное осуществлять связь с облачной вычислительной системой 101 через облачную сеть 130 связи с помощью сообщений, пакетов данных или других структур передаваемых данных. В примере осуществления настоящего изобретения доверенное устройство 124 может осуществлять связь с облачной вычислительной системой 101 с использованием протокола передачи гипертекстовых файлов (HTTP, Hypertext Transfer Protocol) через веб-сервер (явно не показанный на фиг. 1) с помощью вызовов из приложения, выполняющегося на доверенном устройстве 124, функций прикладного программного интерфейса (API, Application Programming Interface), поддерживаемого облачной системой 101, или посредством других протоколов связи или способов, отдельно не рассматриваемых в этом описании. В некоторых примерах осуществления доверенное устройство 124 может представлять собой планшет или смартфон, который может осуществлять беспроводную связь через локальную сеть 140 и облачную сеть 130 связи для отображения пользователю доверенного устройства 124 идентификационной информации локальных устройств 122, которые сконфигурированы или не сконфигурированы для использования с облачной системой 101, и для приема от пользователя информации о выбранных локальных устройствах 122, которые должны быть сконфигурированы, или конфигурация которых должна быть отменена.
[20] Локальное устройство 122 в примере осуществления может представлять собой любое электронное устройство (включая, без ограничения приведенными примерами, такие вычислительные системы как настольные компьютеры, ноутбуки и т.д.), способное осуществлять связь с доверенным устройством 124 и облачной системой 101, как описано выше. В некоторых примерах осуществления настоящего изобретения локальное устройство 122 может представлять собой промышленное устройство Интернета вещей ("Industrial Internet of Things", IIoT), такое как промышленный контроллер, устройство сбора данных (например, устройство измерения температуры, давления, объема потока жидкости, интенсивности потока жидкости, силы и т.д.) и т.п. Кроме того, в примерах осуществления настоящего изобретения локальное устройство 122 может быть сконфигурировано для интеграции операционной системы, поддерживающей множество виртуальных машин, множество программных контейнеров (например, контейнеров Docker) или других компьютерных архитектур, поддерживающих один или более исполняемых процессов и/или потоков. Локальное устройство 122 в некоторых примерах осуществления может быть сконфигурировано для регистрации в облачной системе 101 с целью обеспечения выполнения дальнейшей связи или операций совместно с облачной системой 101, включая, возможно, конфигурирование программного обеспечения (например, программного обеспечения контейнеров), подлежащего установке и исполняемого локальным устройством 122. Кроме того, в некоторых примерах осуществления локальное устройство 122 может осуществлять связь с облачной системой 101 для передачи данных (например, результатов измерений) между локальным устройством 122 и облачной системой 101.
[21] В примере осуществления, показанном на фиг. 1, облачная вычислительная система 101 содержит одно или более компьютерных устройств или систем, реализующих диспетчер 102 устройств, сконфигурированный для управления использованием одного или более локальных устройств 122. Как показано на фиг. 1, диспетчер 102 устройств может содержать генератор 104 учетных данных, диспетчер 106 регистрации и диспетчер 112 конфигурирования. В примерах осуществления генератор 104 учетных данных может генерировать один или более наборов учетных данных (например, цифровой сертификат, секретный ключ (например, ключ шифрования и/или дешифрования) и т.п.), связанных с конкретным локальным устройством 122 (например, с локальным устройством 122, связанным с идентификатором, предоставляемым доверенным устройством 124). Диспетчер 106 регистрации в примере осуществления может быть сконфигурирован для регистрации локального устройства 122 в облачной системе 101 для предоставления локальному устройству 122 доступа к приложениям 114 и/или услугам 116 (например, к базе данных, файловой системе, системе передачи сообщений и т.д.), реализуемым программным обеспечением, выполняющимся в облачной системе 101. Кроме того, в некоторых примерах осуществления регистрация локального устройства 122 также может позволить локальному устройству 122 пройти конфигурирование с использованием диспетчера 112 конфигурирования совместно с программным обеспечением, исполняемым облачной системой 101. В примере осуществления диспетчер 112 конфигурирования может конфигурировать конкретное программное обеспечение на основе рабочей роли (например, роли, выбранной пользователем доверенного устройства 124), назначенной локальному устройству 122.
[22] На фиг. 2 показана блок-схема примера осуществления локального устройства 122, изображенного на фиг. 1. Как показано на чертеже, локальное устройство 122 может содержать сетевой интерфейс 202, модуль 204 аутентификации/конфиденциальности, модуль 206 регистрации/конфигурирования и память 208 данных. Такие компоненты или модули в примере осуществления настоящего изобретения, а также другие описываемые компоненты или модули могут быть реализованы в виде инструкций, исполняемых одним или более аппаратными процессорами машины, такой как вычислительная система. Кроме того, могут также использоваться другие модули, такие как модуль обработки данных, модуль сбора данных, пользовательский интерфейс и т.п., однако они явно не обсуждаются в этом описании, для того чтобы сфокусироваться на последующем обсуждении.
[23] Сетевой интерфейс 202 в примерах осуществления может быть сконфигурирован для обеспечения связи между локальным устройством 122 и облачной сетью 130 связи и/или локальной сетью 140. Примеры сетевого интерфейса 202 могут включать, без ограничения приведенными примерами, один или более следующих интерфейсов: WiFi, Ethernet, Bluetooth, NFC и интерфейс универсальной последовательной шины (USB, Universal Serial Bus).
[24] В примерах осуществления модуль 204 аутентификации/конфиденциальности может быть сконфигурирован для аутентификации идентификационной информации доверенного устройства 124 и/или облачной системы 101, а также для предоставления аутентификационной информации доверенному устройству 124 и/или облачной системе 101. Согласно примеру осуществления модуль 204 аутентификации/конфиденциальности может выполнять двухстороннюю аутентификацию (например, двухстороннюю аутентификацию безопасности на транспортном уровне (TLS, Transport Layer Security)) с использованием доверенного устройства 124 и/или облачной системы 101. Такая аутентификация может также обеспечивать дальнейшее выполнение связи и операций между локальным устройством 122 и доверенным устройством 124 и/или облачной системой 101, таких как упомянутые выше операции регистрации и конфигурирования. Модуль 204 аутентификации/конфиденциальности может также выполнять шифрование и дешифрование (например, с использованием секретных ключей, открытых ключей и т.п.) в процессе связи с доверенным устройством 124 и/или облачной системой 101. В примерах осуществления модуль 204 аутентификации/конфиденциальности может передавать и/или принимать идентификаторы устройства или системы, адреса уровня управления доступом к среде передачи (MAC, Media Access Control), адреса Интернет-протокола (IP, Internet Protocol), цифровые сертификаты и/или другую информацию для выполнения различных функций аутентификации и обеспечения конфиденциальности.
[25] Как показано на фиг. 2, память 208 данных может хранить данные, используемые для аутентификации локального устройства 122, включая идентификатор 212 локального устройства 122 и данные 214 сертификата/аутентификации (например, цифровой сертификат, секретные ключи и т.д.) для локального устройства 122. В примерах осуществления настоящего изобретения в памяти 208 данных могут храниться данные других типов, используемые для выполнения функций аутентификации, обеспечения секретности, регистрации и конфигурирования локального устройства 122. В примере осуществления память 208 данных может содержать энергонезависимые устройства одного или более типов, возможно включая, без ограничения приведенными примерами, магнитный диск, оптический диск и флэш-память. В некоторых примерах осуществления в памяти 208 данных в области хранения данных могут храниться данные, относящиеся к аутентификации и секретности, которые отделены от области оперативной памяти и доступны только с помощью криптографического процессора, такого как доверенный платформенный модуль (ТРМ, Trusted Platform Module).
[26] Модуль 206 облачной регистрации/конфигурирования в примере осуществления может быть выполнен с возможностью выполнения различных операций регистрации и/или конфигурирования локального устройства 122. Например, модуль 206 облачной регистрации/конфигурирования может передавать запрос (например, путем вызова API) в облачную систему 101 (например, в диспетчер 106 регистрации диспетчера 102 устройств) для регистрации в облачной системе 101 с целью последующего использования одного или более приложений 114 и/или услуг 116 облачной системы 101 локальным устройством 122. Модуль 206 облачной регистрации/конфигурирования может осуществлять связь с облачной системой 101 для загрузки программного обеспечения (например, в программных контейнерах) в локальное устройство 122 с целью выполнения этих приложений для реализации различных операций, присущих локальному устройству 122. В некоторых примерах осуществления настоящего изобретения в процессе выполнения операций регистрации и/или конфигурирования локальное устройство 122 может быть связано с конкретной выполняемой им рабочей ролью, вследствие чего локальное устройство 122 конфигурируется с использованием подходящего программного обеспечения и получает доступ к приложениям 114 и услугам 116, соответствующим этой роли. Такие роли могут включать, например, сбор данных, контроль промышленной системы или устройства, операции интерфейса человек/машина interface (HMI, Human/Machine Interface) и, потенциально, многие другие роли.
[27] На фиг. 3 показана блок-схема примера осуществления доверенного устройства 124, изображенного на фиг. 1. Как показано на фиг. 3, доверенное устройство 124 может содержать сетевой интерфейс 302, модуль 304 аутентификации/конфиденциальности, модуль 306 инициирования регистрации и память 308 данных. Такие компоненты или модули в примере осуществления настоящего изобретения, а также другие описываемые компоненты или модули могут быть реализованы в виде инструкций, исполняемых одним или более аппаратными процессорами машины, например вычислительной системы. Кроме того, могут также использоваться другие модули, такие как модуль обработки данных, модуль определения местоположения и т.п., однако они явно не обсуждаются в этом описании, для того чтобы сфокусироваться на последующем обсуждении.
[28] Таким же образом как сетевой интерфейс 202 локального устройства 122, сетевой интерфейс 302 доверенного устройства 124 в примере осуществления может быть сконфигурирован для обеспечения связи между доверенным устройством 124 и облачной сетью 130 связи и/или локальной сетью 140. Примеры сетевого интерфейса 302 могут включать, без ограничения приведенными примерами, один или более следующих интерфейсов: WiFi, Ethernet, Bluetooth, NFC и USB.
[29] В примерах осуществления модуль 304 аутентификации/ конфиденциальности может быть сконфигурирован для аутентификации идентификационной информации локального устройства 122 и/или облачной системы 101, а также для предоставления аутентификационной информации локальному устройству 122 и/или облачной системе 101. Согласно примеру осуществления модуль 304 аутентификации/конфиденциальности может выполнять двухстороннюю аутентификацию (например, двухстороннюю аутентификацию TLS) с использованием локального устройства 124 и/или облачной системы 101. Такая аутентификация может также обеспечивать дальнейшее выполнение связи и операций между доверенным устройством 124 и локальным устройством 122 и/или облачной системой 101, как упомянуто выше. Модуль 304 аутентификации/конфиденциальности может также выполнять шифрование и дешифрование (например, с использованием секретных ключей, открытых ключей и т.п.) в процессе связи с локальным устройством 122 и/или облачной системой 101. В примерах осуществления модуль 304 аутентификации/конфиденциальности может передавать и/или принимать идентификаторы устройства или системы, МАС-адреса, IP-адреса, цифровые сертификаты и/или другую информацию для выполнения различных функций аутентификации и обеспечения конфиденциальности.
[30] В примере осуществления модуль 306 инициирования регистрации может быть сконфигурирован для установления связи с локальным устройством 122 и облачной системой 101 с целью инициирования регистрации локальным устройством 122 в облачной системе 101. В примере осуществления модуль 306 инициирования регистрации принимает идентификатор локального устройства 122 из локального устройства 122 и использует идентификатор устройства при связи с облачной системой 101 с целью приема учетной информации из облачной системы 101. Затем модуль 306 инициирования регистрации может переслать принятую учетную информацию в локальное устройство 122 для обеспечения регистрации локального устройства 122 в облачной системе 101, а также возможного конфигурирования локального устройства 122 облачной системой 101. В примере осуществления настоящего изобретения пересылка учетной информации в локальное устройство 122 может интерпретироваться локальным устройством 122 как запрос или команду регистрации в облачной системе 101, возможно, с использованием дополнительной информации, предоставляемой доверенным устройством 124. Ниже со ссылкой на фиг. 4 более подробно описывается пример операций, выполняемых модулем 306 инициирования регистрации.
[31] Согласно примеру осуществления память 308 данных может быть сконфигурирована для хранения информации, принятой из локального устройства 122 (например, идентификатор локального устройства 122), облачной системы 101 (например, учетная информация, подлежащая передаче в локальное устройство 122) и, возможно, из других источников информации. Таким же образом как память 208 данных локального устройства 122, память 308 данных в примерах осуществления настоящего изобретения может содержать энергонезависимые запоминающие устройства одного или более типов, включая, возможно, без ограничения приведенными примерами, магнитный диск, оптический диск и флэш-память.
[32] В примере осуществления пользовательский интерфейс 310 может быть сконфигурирован для отображения индикации (например, идентификатора устройства или некоторой другой индикации об устройстве) локального устройства 122 для пользователя доверенного устройства 124, а также для приема информации о выборе пользователем локального устройства 122 для инициирования регистрации и возможного конфигурирования локального устройства 122. В некоторых примерах осуществления может отображаться индикация множества локальных устройств 122, и пользователь может выбирать множество таких индикаций для инициирования регистрации и возможного конфигурирования соответствующих локальных устройств 122. Пользовательский интерфейс 310 в примерах осуществления может содержать сенсорный экран, в который одновременно интегрированы дисплей и сенсорная область для ввода данных пользователем и который часто применяется в смартфонах, планшетах и т.п. Другие примеры пользовательского интерфейса 310 могут без ограничения включать дисплей, мышь, сенсорную панель клавиатуру и т.д.
[33] На фиг. 4 показана схема связи, отражающая пример выполнения связи и операций 400 в среде локального устройства 122, доверенного устройство 124 и диспетчера 102 устройств облачной системы 101, изображенной на фиг. 1. Хотя различные функции связи и операции 400, а также другие представленные функции описываются относительно среды, показанной на фиг. 1-3, в других вариантах осуществления те же операции могут выполнять другие системы и устройства, специально не обсуждаемые в этом описании. Кроме того, хотя различные функции связи и операции 400 представлены на фиг. 4 в определенном порядке, в других вариантах осуществления возможен другой порядок выполнения операций, включая перекрытие, одновременное или параллельное выполнение двух или более операций 400.
[34] Как показано на фиг. 4, доверенное устройство 124 и диспетчер 102 устройств могут аутентифицировать друг друга в процессе выполнения операции аутентификации (операция 402). Аутентификация 402 может гарантировать тот факт, что последующая связь между доверенным устройством 124 и диспетчером 102 устройств выполняется с известными устройствами, и связь между доверенным устройством 124 и диспетчером 102 устройств осуществляется безопасно, например, с использованием шифрования и соответствующего дешифрования посредством открытых и/или секретных ключей, или другой совместно используемой секретной информацией. В примере осуществления настоящего изобретения аутентификация доверенного устройства 124 может выполняться диспетчером 102 устройств с помощью учетной информации, предоставляемой от имени клиента облачной системы 101, например конкретной корпорации или другой организации, связанной с доверенным устройством 124. Например, организация, владеющая или управляющая доверенным устройством 124, может отвечать за получение учетной информации для доверенного устройства 124, например, из центра сертификации (СА, Certificate Authority). В примерах осуществления настоящего изобретения аутентификация между доверенным устройством 124 и облачной системой 101 (например, диспетчером 102 устройств) может быть реализована с использованием двусторонней аутентификации TLS.
[35] Кроме того, в примерах осуществления доверенное устройство 124 может представлять собой смартфон, планшет, ноутбук, настольный компьютер или другое пользовательское устройство, которое может применяться техническим специалистом, системным оператором или другим персоналом, связанным с корпорацией или другой организацией, имеющей отношение к доверенному устройству 124. Таким же образом, в примерах осуществления облачная система 101 может представлять собой систему, эксплуатируемую или управляемую организацией, или организацию может представлять клиент организации, поддерживающей облачную систему 101.
[36] После аутентификации доверенного устройства 124 и диспетчера 102 устройств может устанавливаться локальное устройство 122 (операция 404). В примере осуществления локальное устройство 122 может представлять собой промышленный контроллер, монитор, систему сбора данных или другое устройство, связанное с промышленной системой (например, энергоустановкой, производственной линией и т.п.). При установке, согласно примерам осуществления настоящего изобретения, может устанавливаться соединение (например, механическое, электрическое и т.д.) локального устройства 122 с одним или более элементами промышленной системы и подаваться питание на локальное устройство 122.
[37] После установки (операция 404) и перехода в рабочее состояние локальное устройство 122 и доверенное устройство 124 могут инициировать операцию или процесс аутентификации (операция 406) с использованием локальной сети 140. В примерах осуществления локальная сеть 140 поддерживается маршрутизатором (например, маршрутизатором WiFi), обеспечивающим коммуникационное соединение между локальным устройством 122 и доверенным устройством 124, а также соединение со шлюзом, связывающим локальную сеть 140 с облачной сетью 130 связи. Как обсуждалось выше, в примере осуществления настоящего изобретения аутентификация может происходить с использованием процесса двусторонней аутентификации TLS между локальным устройством 122 и доверенным устройством 124.
[38] В примере осуществления локальная сеть 140 может представлять собой сеть связи, специально сформированную между локальным устройством 122 и доверенным устройством 124 без использования маршрутизатора, например, с помощью соединения Bluetooth, соединения WiFi Direct и т.п. В примере осуществления локальное устройство 122 может предоставлять доступ к такому локальному коммуникационному соединению для доверенного устройства 124. В ответ на это доверенное устройство 124 может соединяться для связи с локальным устройством 122 через доступное коммуникационное соединение. После установления локального коммуникационного соединения доверенное устройство 124 в примере осуществления настоящего изобретения может принимать или извлекать из локального устройства 122 корневой сертификат, который идентифицирует веб-сайт или другое местоположение, связанное с корневым центром сертификации, доступным через облачную сеть 130 связи. Доверенное устройство 124 может извлекать или принимать цифровой сертификат или другую информацию из корневого центра сертификации, который аутентифицирует локальное устройство 122. В примере осуществления настоящего изобретения корневой сертификат может храниться в качестве данных 214 сертификации/аутентификации в памяти 208 данных, такой как ТРМ, как указано выше. Согласно еще одному примеру осуществления локальное устройство 122 и доверенное устройство 124 могут аутентифицировать друг друга с использованием других средств или процессов, например, с помощью сертификатов, связанных с организацией, относящейся к локальному устройству 122 и/или доверенному устройству 124.
[39] В процессе или после аутентификации локального устройства 122 и доверенного устройства 124 доверенное устройство 124 может принять идентификатор локального устройства 122. В примере осуществления доверенное устройство 124 может отображать индикацию локального устройства 122 (операция 408) (возможно, совместно с индикацией других локальных устройств 122) с помощью пользовательского интерфейса 310 (например, на сенсорном экране). В ответ на отображение индикации локального устройства 122 доверенное устройство 124 может принять информацию о выборе локального устройства 122 через пользовательский интерфейс 310 (операция 410) (например, от технического специалиста или системного оператора, использующего доверенное устройство 124). В примерах осуществления настоящего изобретения выбор локального устройства 122 может указывать доверенному устройству 124 на то, что локальное устройство 122 должно быть зарегистрировано в облачной системе 101 (например, через диспетчер 102 устройств), для того чтобы локальное устройство 122 могло выполнять некоторую рабочую роль в той среде (например, в промышленной системе), в которой оно установлено.
[40] Согласно примеру осуществления настоящего изобретения в ответ на выбор пользователем локального устройства 122 доверенное устройство 124 может запросить учетную информацию из диспетчера 102 устройств (операция 412) через облачную сеть 130 связи для обеспечения регистрации локального устройства 122 с помощью диспетчера 102 устройств. В примере осуществления доверенное устройство 124 может предоставлять идентификатор устройства для локального устройства 122 в запросе 412 учетных данных. В ответ на запрос 412 учетных данных диспетчер 102 устройств может сгенерировать и/или предоставить учетную информацию (операция 414), подлежащую использованию локальным устройством 122 для связи с диспетчером 102 устройств, а затем передать учетную информацию (операция 416) в доверенное устройство 124 через облачную сеть 130 связи. Эта учетная информация в примере осуществления настоящего изобретения может содержать один или более ключей шифрования/дешифрования, которые должны применяться локальным устройством 122 при связи с диспетчером 102 устройств. В некоторых примерах осуществления настоящего изобретения учетная информация может также содержать информацию, указывающую сетевой адрес (например, URL) для диспетчера 102 устройств, или другую информацию, требуемую локальному устройству 122 для выполнения регистрации в диспетчере 102 устройств. Кроме того, также может включаться информация других типов, подходящая локальному устройству 122 для регистрации, например идентификатор, используемый диспетчером 102 устройств для локального устройства 122.
[41] После приема учетной информации, а также любой связанной с ней информации доверенное устройство 124 в примере осуществления настоящего изобретения может передать эту информацию в локальное устройство 122 через локальную сеть 140 (операция 418). В примере осуществления доверенное устройство 124 может передавать учетную информацию по прямому локальному коммуникационному соединению с локальным устройством 122, которое было предварительно предоставлено локальным устройством 122; через локальную сеть 140, обслуживающую локальное устройство 122, доверенное устройство 124 и другие устройства в зоне 120 локальной сети; или через другую локальную сеть 140.
[42] Локальное устройство 122 после приема учетной информации (операция 418) может провести регистрацию в диспетчере 102 устройств (например, в диспетчере 106 регистрации) через облачную сеть 130 связи (операция 420) с использованием принятой учетной информации. В примере осуществления настоящего изобретения в результате регистрации локального устройства 122 диспетчер 106 регистрации может предоставить локальному устройству 122 возможность использования одного или более приложений 114 и/или услуг 116, доступных в облачной системе 101, как отмечалось выше. Кроме того, конкретные приложения 114 и/или услуги 116, доступ к которым предоставляется локальному устройству 122, могут основываться на конкретной играемой локальным устройством 122 рабочей роли, которая может выбираться пользователем доверенного устройства 124. В одном из примеров осуществления доверенное устройство 124 в качестве части запроса учетной информации (операция 412) может передавать выбранную пользователем рабочую роль локального устройства 122 с идентификатором устройства. В другом примере осуществления доверенное устройство 124 может передавать в локальное устройство 122 выбранную пользователем рабочую роль локального устройства 122 с принятой учетной информацией (операция 418).
[43] Кроме того, в некоторых примерах осуществления облачная система 101 (например, диспетчер 112 конфигурирования) на основе регистрации локального устройства 122 может сконфигурировать локальное устройство 122 с использованием программного обеспечения через облачную сеть 130 связи, как описывалось выше. Конфигурирование локального устройства 122 может также основываться на конкретной рабочей роли, выбранной для локального устройства 122, как обсуждалось выше.
[44] На фиг. 5А показано графическое представление пользовательского интерфейса 310 доверенного устройства 124, в среде которого отображаются сконфигурированные в настоящий момент устройства 504 и не сконфигурированные в настоящий момент устройства 502, каждое из которых может представлять собой локальное устройство 122, описанное выше. В этом конкретном примере пользователь доверенного устройства 124 выбирает для конфигурирования конкретное не сконфигурированное (или не зарегистрированное) локальное устройство 502 (ЛОКАЛЬНОЕ УСТРОЙСТВО 8) из списка не сконфигурированных устройств 502 (ЛОКАЛЬНОЕ УСТРОЙСТВО 2 … ЛОКАЛЬНОЕ УСТРОЙСТВО 9) в соответствии с информацией, отображаемой доверенным устройством 124. Как показано на фиг. 5А, к этому моменту времени уже зарегистрировано и/или сконфигурировано одно локальное устройство 504 (ЛОКАЛЬНОЕ УСТРОЙСТВО 1). В этом конкретном примере пользователь выбирает для регистрации и/или конфигурирования не сконфигурированное локальное устройство 502 путем "перетаскивания" (операция 506) индикатора "ЛОКАЛЬНОЕ УСТРОЙСТВО 8" из списка не сконфигурированных локальных устройств 502 в список сконфигурированных локальных устройств 504. В других примерах осуществления пользовательского интерфейса 310 доверенного устройства 124 могут быть реализованы другие способы выбора для регистрации или конфигурирования конкретного не сконфигурированного локального устройства 502.
[45] На фиг. 5В показано графическое представление пользовательского интерфейса 310 доверенного устройства 124, в среде которого отображаются сконфигурированные локальные устройства 504 и не сконфигурированные локальные устройства 502 после того, как не сконфигурированное локальное устройство 502, выбранное, как показано на фиг. 5А, было зарегистрировано и/или сконфигурировано (например, таким образом как описано выше), в результате чего выбранное локальное устройство 122 (ЛОКАЛЬНОЕ УСТРОЙСТВО 8) отображается в среде пользовательского интерфейса 310 в списке сконфигурированных локальных устройств 504. В некоторых примерах осуществления пользовательский интерфейс 310 может обеспечивать выбор одного или более сконфигурированных (или зарегистрированных) локальных устройств 504 для отмены конфигурации и/или регистрации также путем перетаскивания одного из сконфигурированных локальных устройств 504 в список не сконфигурированных локальных устройств 502.
[46] На фиг. 6А показано графическое представление пользовательского интерфейса 310 доверенного устройства 124, в среде которого отображаются сконфигурированные в настоящий момент локальные устройства 504, не сконфигурированные в настоящий момент локальные устройства 502 и доступные рабочие роли 602 (например, HMI (Human/Machine Interface, интерфейс человек/машина)/БЕЗОПАСНОСТЬ, БАЗОВЫЙ КОНТРОЛЛЕР, ЭЛЕКТРИЧЕСКАЯ ЗАЩИТА и т.д.) для одного или более не сконфигурированных локальных устройств 502. Кроме того, на фиг. 6А показан выбор пользователем не сконфигурированного (или не зарегистрированного) локального устройства 502 (ЛОКАЛЬНОЕ УСТРОЙСТВО 8) для выполнения его конфигурирования в соответствии с конкретной рабочей ролью 602 (БАЗОВЫЙ КОНТРОЛЛЕР) путем перетаскивания (операция 606) индикатора "ЛОКАЛЬНОЕ УСТРОЙСТВО 8" в строку выбранной рабочей роли 602 (БАЗОВЫЙ КОНТРОЛЛЕР). Как отмечено выше со ссылкой на фиг. 5А, для выбора конкретной рабочей роли 602 для не сконфигурированного (или не зарегистрированного) локального устройства 502 в других примерах осуществления могут использоваться способы, отличные от перетаскивания. Например, каждая из доступных рабочих ролей 602 может быть представлена конкретными местоположениями или элементами на карте, схеме или другом представлении промышленной системы или среды, в которой установлены не зарегистрированные локальные устройства 502.
[47] На фиг. 6В показано графическое представление пользовательского интерфейса 310 доверенного устройства 124 после регистрации и возможного конфигурирования (например, способом, описанным выше) выбранного не сконфигурированного локального устройства 502 (ЛОКАЛЬНОЕ УСТРОЙСТВО 8), в результате чего ЛОКАЛЬНОЕ УСТРОЙСТВО 8 отображается как одно из сконфигурированных локальных устройств 504 с указанием связанной с ним рабочей роли (БАЗОВЫЙ КОНТРОЛЛЕР). Как обсуждалось выше со ссылкой на фиг. 5В, пользователь доверенного устройства 124 может отменить конфигурирование и/или регистрацию конкретного сконфигурированного или зарегистрированного локального устройства 504, например, путем перетаскивания выбранного сконфигурированного локального устройства 504 в список не сконфигурированных локальных устройств 502.
[48] В различных вариантах осуществления настоящего изобретения, описанных выше, каждое локальное устройство 122 может представлять собой отдельное аппаратное устройство или систему. В еще одном примере осуществления локальное устройство 122 может представлять отдельно идентифицируемую, регистрируемую и/или конфигурируемую часть физического устройства, такую, например, как отдельная виртуальная машина из множества виртуальных машин, которые могут выполняться на одной вычислительной системе. В других примерах осуществления настоящего изобретения каждый из множества программных контейнеров, содержащих программное обеспечение, выполняемое в отдельной вычислительной системе, может рассматриваться как отдельное локальное устройство 122 для регистрации и/или конфигурирования облачной системой 101.
[49] Согласно примеру осуществления настоящего изобретения способ инициирования регистрации локального устройства в облачной вычислительной системе включает прием отдельным устройством из локального устройства через локальное коммуникационное соединение идентификатора локального устройства, при этом отдельное устройство назначается облачной вычислительной системой доверенным для связи с облачной вычислительной системой; инициирование через пользовательский интерфейс отдельного устройства отображения индикатора локального устройства; прием через пользовательский интерфейс отдельного устройства сигнала активизации индикатора локального устройства для инициирования регистрации локального устройства в облачной вычислительной системе; в ответ на активизацию передачу по меньшей мере одним аппаратным процессором отдельного устройства в облачную вычислительную систему через глобальную сеть запроса приема учетной информации, позволяющей локальному устройству зарегистрироваться в облачной вычислительной системе; в ответ на запрос прием учетной информации отдельным устройством из облачной вычислительной системы через глобальную сеть и передачу учетной информации отдельным устройством в локальное устройство через локальное коммуникационное соединение.
[50] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, передача запроса включает вызов прикладного программного интерфейса диспетчера устройств облачной вычислительной системы, при этом вызов содержит запрос.
[51] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает аутентификацию отдельным устройством локального устройства, при этом аутентификация локального устройства включает прием идентификатора локального устройства.
[52] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, процесс двусторонней аутентификации между отдельным устройством и локальным устройством включает аутентификацию локального устройства.
[53] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает подключение отдельного устройства к локальному коммуникационному соединению в ответ на предоставление локальным устройством локального коммуникационного соединения, при этом аутентификация локального устройства выполняется через локальное коммуникационное соединение.
[54] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает передачу отдельным устройством в локальное устройство через локальное коммуникационное соединение информации о сетевом адресе для облачной вычислительной системы, позволяющей локальному устройству регистрироваться в облачной вычислительной системе с использованием учетной информации.
[55] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, информация о сетевом адресе содержит унифицированный указатель ресурсов для диспетчера устройств облачной вычислительной системы.
[56] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, локальное коммуникационное соединение включает беспроводное локальное коммуникационное соединение.
[57] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает прием через пользовательский интерфейс отдельного устройства информации о выборе рабочей роли для локального устройства и передачу отдельным устройством в локальное устройство через локальное коммуникационное соединение индикации рабочей роли для обеспечения конфигурирования локального устройства облачной вычислительной системой через глобальную сеть с использованием программного обеспечения, соответствующего рабочей роли.
[58] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает прием через пользовательский интерфейс отдельного устройства информации о выборе рабочей роли для локального устройства и передачу отдельным устройством в облачную вычислительную систему через глобальную сеть индикации рабочей роли для обеспечения конфигурирования локального устройства облачной вычислительной системой через глобальную сеть с использованием программного обеспечения, соответствующего рабочей роли.
[59] Согласно примеру осуществления настоящего изобретения способ инициирования регистрации локального устройства в облачной вычислительной системе включает передачу локальным устройством в отдельное устройство через локальное коммуникационное соединение идентификатора локального устройства, при этом отдельное устройство назначается облачной вычислительной системой доверенным для связи с облачной вычислительной системой; после передачи идентификатора локального устройства прием локальным устройством из отдельного устройства через локальное коммуникационное соединение учетной информации для локального устройства, позволяющей выполнять регистрацию локального устройства в облачной вычислительной системе; и передачу по меньшей мере одним аппаратным процессором локального устройства в облачную вычислительную систему через глобальную сеть запроса регистрации локального устройства в облачной вычислительной системе с использованием учетной информации.
[60] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает прием локальным устройством из облачной вычислительной системы через глобальную сеть программного обеспечения, подлежащего выполнению на локальном устройстве, на основе регистрации локального устройства в облачной вычислительной системе.
[61] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, прием программного обеспечения включает прием по меньшей мере одного программного контейнера, содержащего программное обеспечение; и способ также включает установку программного контейнера на локальном устройстве для выполнения на верхнем уровне операционной системы локального устройства.
[62] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает установку локальным устройством программного обеспечения в виртуальной машине, выполняющейся на локальном устройстве.
[63] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает аутентификацию локальным устройством отдельного устройства через локальное коммуникационное соединение, при этом аутентификация включает передачу идентификатора локального устройства.
[64] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает предоставление локальным устройством отдельному устройству локального коммуникационного соединения, при этом аутентификация отдельного устройства выполняется в ответ на предоставление локального коммуникационного соединения.
[65] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает прием локальным устройством из отдельного устройства через локальное коммуникационное соединение информации о сетевом адресе для облачной вычислительной системы, при этом при регистрации локального устройства применяется информация о сетевом адресе.
[66] Согласно другому примеру осуществления настоящего изобретения, включающему все предыдущие примеры осуществления, способ также включает прием локальным устройством из отдельного устройства через локальное коммуникационное соединение индикации рабочей роли для локального устройства и прием локальным устройством из облачной вычислительной системы через глобальную сеть программного обеспечения, подлежащего выполнению на локальном устройстве, на основе регистрации локального устройства в облачной вычислительной системе, при этом программное обеспечение сконфигурировано в соответствии с рабочей ролью локального устройства.
[67] Согласно примеру осуществления настоящего изобретения пользовательское устройство содержит пользовательский интерфейс, один или более аппаратных процессоров и память, хранящую инструкции, при выполнении которых по меньшей мере одним процессором из одного или более аппаратных процессоров пользовательское устройство осуществляет операции, включающие прием из локального устройства через локальное коммуникационное соединение идентификатора локального устройства, при этом пользовательское устройство назначается облачной вычислительной системой доверенным для связи с облачной вычислительной системой; инициирование через пользовательский интерфейс отображения индикатора локального устройства; прием через пользовательский интерфейс сигнала активизации индикатора локального устройства для инициирования регистрации локального устройства в облачной вычислительной системе; в ответ на активизацию передачу в облачную вычислительную систему через глобальную сеть запроса приема учетной информации, позволяющей локальному устройству зарегистрироваться в облачной вычислительной системе; прием учетной информации из облачной вычислительной системы через глобальную сеть; и передачу учетной информации в локальное устройство через локальное коммуникационное соединение.
[68] Согласно примеру осуществления настоящего изобретения локальное устройство содержит один или более аппаратных процессоров и память, хранящую инструкции, при выполнении которых по меньшей мере одним процессором из одного или более аппаратных процессоров локальное устройство осуществляет операции, включающие: передачу в отдельное устройство через локальное коммуникационное соединение идентификатора локального устройства, при этом отдельное устройство назначается облачной вычислительной системой доверенным для связи с облачной вычислительной системой; после передачи идентификатора локального устройства прием из отдельного устройства через локальное коммуникационное соединение учетной информации для локального устройства, позволяющей выполнять регистрацию локального устройства в облачной вычислительной системе; и передачу в облачную вычислительную систему через глобальную сеть запроса регистрации локального устройства в облачной вычислительной системе.
[69] На фиг. 7 показана блок-схема, иллюстрирующая компоненты машины 700, соответствующей некоторым примерам осуществления настоящего изобретения и способной считывать инструкции 724 из машиночитаемого носителя 722 (например, из машиночитаемого носителя, машиночитаемой или компьютерной среды хранения данных) и, частично или полностью, выполнять любой способ из одного или более способов, рассмотренных в этом описании. Более конкретно, на фиг. 7 показана машина 700 в виде примера компьютерного устройства (например, компьютера), содержащего инструкции 724 (например, программное обеспечение, микропрограммное обеспечение, программу, приложение, апплет, программное средство или другой исполняемый код) для инициирования выполнения машиной 700, частично или полностью, любого способа из одного или более способов, рассмотренных в этом описании.
[70] Например, инструкции 724 могут инициировать выполнение машиной 700 алгоритма, показанного на фиг. 4, и реализовать пользовательские интерфейсы, показанные на 5А, 5В, 6А и 6В, а также осуществить все связанные с ними примеры раскрытия настоящего изобретения. Инструкции 724 могут преобразовать незапрограммированную машину 700 общего назначения в конкретную машину (например, специально сконфигурированную машину), запрограммированную для выполнения указанным способом описанных и проиллюстрированных функций. Кроме того, в примерах осуществления настоящего изобретения машина 700 может работать в качестве одной или более систем, модулей или компонентов, показанных на фиг. 1-3, или в качестве любой другой компьютерной системы или устройства, описанных выше.
[71] В примерах осуществления настоящего изобретения машина 700 работает как автономное устройство или может подключаться (через сеть) к другим машинам. Машина 700 может представлять собой сервер, клиентский компьютер, персональный компьютер (PC, Personal Computer), планшет, ноутбук, нетбук, компьютерную приставку (STB, Set-Top Box), персональное информационное устройство (PDA, Personal Digital Assistant), сотовый телефон, смартфон, веб-устройство, сетевой маршрутизатор, сетевой коммутатор, сетевой мост, адаптер источника питания, подключенный промышленный прибор или любую машину 700, способную последовательно или иным способом выполнять инструкции 724, определяющие действия, предпринимаемые этой машиной 700. Кроме того, хотя на чертеже показана только одна машина 700, предполагается, что термин "машина" также подразумевает ряд машин, которые отдельно или совместно выполняют инструкции 724 для осуществления одного или более обсуждавшихся в этом описании способов.
[72] Машина 700 содержит процессор 702 (например, центральный процессор (CPU, Central Processing Unit), графический процессор (GPU, Graphics Processing Unit), цифровой сигнальный процессор (DSP, Digital Signal Processor), специализированную интегральную схему (ASIC, Application-Specific Integrated Circuit), радиочастотную интегральную схему (RFIC, Radio-Frequency Integrated Circuit) или любую подходящую комбинацию этих средств), оперативную память 704 и статическую память 706, которые сконфигурированы для связи друг с другом через шину 708. Процессор 702 может содержать микросхемы, которые, временно или постоянно, сконфигурированы некоторыми или всеми инструкциями 724 таким образом, чтобы процессор 702 мог, полностью или частично, выполнять любой из одного или более описанных способов. Например, набор из одной или более микросхем процессора 702 может быть сконфигурирован для выполнения одного или более описанных модулей (например, программных модулей).
[73] Машина 700 может также содержать графический дисплей 710 (например, плазменный дисплей (PDP, Plasma Display Panel), светодиодный (LED, Light-Emitting Diode) дисплей, жидкокристаллический (LCD, Liquid Crystal Display) дисплей, проектор, электронно-лучевую трубку (CRT, Cathode Ray Tube) или любой другой дисплей, способный отображать графическую или видеоинформацию). Машина 700 может также содержать алфавитно-цифровое устройство 712 ввода (например, клавиатуру или клавишную панель), устройство 714 управления курсором (например, мышь, сенсорную панель, трекбол, джойстик, датчик движения, устройство управления движениями глаз или другое указательное устройство), запоминающее устройство 716, устройство 718 генерации сигналов (например, звуковую карту, усилитель, динамик, гнездо для подключения наушников или любую другую подходящую комбинацию этих устройств) и устройство 720 сетевого интерфейса.
[74] Запоминающее устройство 716 содержит машиночитаемый носитель 722 (например, физический машиночитаемый носитель информации), на котором хранятся инструкции 724, реализующие один или более описанных способов или функций. Инструкции 724 могут также, полностью или по меньшей мере частично, размещаться в оперативной памяти 704, в процессоре 702 (например, в кэш-памяти процессора 702) или в той и другой памяти, перед или во время исполнения этих инструкций машиной 700. Соответственно, оперативная память 704 и процессор 702 могут рассматриваться как машиночитаемый носитель 722 (например, как физический машиночитаемый носитель).
[75] В некоторых примерах осуществления машина 700 может представлять собой портативное или мобильное вычислительное устройство, оснащенное одним или более дополнительными компонентами ввода (например, датчиками или измерительными приборами). Примеры таких компонентов ввода включают компонент ввода изображений (например, одна или более камер), компонент ввода звукового сигнала (например, микрофон), компонент ввода направления (например, компас), компонент ввода местоположения (например, приемник глобальной системы позиционирования (GPS, Global Positioning System)), компонент определение ориентации (например, гироскоп), компонент определения движения (например, один или более акселерометров), компонент определения высоты (например, высотомер) и компонент обнаружения газа (например, газовый датчик). Входные данные, собранные одним или более такими компонентами ввода, могут быть доступны для использования любым из описанных модулей.
[76] В данном описании термин "память" относится к машиночитаемому носителю 722, способному временно или постоянно хранить данные, и может рассматриваться, без ограничения приведенными примерами, как оперативная память (RAM, Random-Access Memory), постоянная память (ROM, Read-Only Memory), буферная память, флэш-память и кэш. Хотя в примере осуществления настоящего изобретения машиночитаемый носитель 722 показан в виде одного носителя, термин "машиночитаемый носитель" следует рассматривать в качестве одного носителя или множества носителей (например, как централизованную или распределенную базу данных или связанные кэши и серверы), способных хранить инструкции 724. Термин "машиночитаемый носитель" также следует рассматривать как включающий любой носитель или комбинацию множества носителей, способных хранить инструкции 724, исполняемые машиной (например, машиной 700) так, чтобы при исполнении инструкций 724 одним или более процессорами машины 700 (например, процессором 702) машина 700 выполняла любой из одного или более описанных способов. Соответственно, термин "машиночитаемый носитель" следует рассматривать, без ограничения приведенными примерами, как включающий одно или более хранилищ данных в виде твердотельной памяти, оптического носителя, магнитного носителя или любой подходящей комбинации этих компонентов.
[77] Кроме того, машиночитаемый носитель 722 является постоянным в том смысле, что он не представляет собой распространяющийся или кратковременный сигнал. Однако определение "постоянный" в отношении машиночитаемого носителя 722 не следует толковать как означающее, что носитель не способен к перемещению; носитель в некоторых примерах осуществления следует рассматривать как переносимый из одного физического местоположения в другое. Кроме того, поскольку машиночитаемый носитель 722 является материальным, он может рассматриваться как машиночитаемое устройство.
[78] Инструкции 724 могут также передаваться или приниматься по сети 726 связи с использованием среды передачи через устройство 720 сетевого интерфейса и с помощью любого из ряда хорошо известных протоколов передачи (например, протокола передачи гипертекстовых файлов (HTTP, Hypertext Transfer Protocol)). К примерам сетей 726 связи относятся локальная сеть (LAN, Local Area Network), глобальная сеть (WAN, Wide Area Network), Интернет, мобильные телефонные сети, сети традиционной телефонной услуги (POTS, Plain Old Telephone Service) и беспроводные сети передачи данных (например, Wi-Fi, LTE и WiMAX™). Термин "среда передачи" следует рассматривать как включающий любой "неосязаемый" носитель, способный хранить, кодировать или переносить инструкции 724 для исполнения машиной 700 и включающий цифровые и аналоговые сигналы связи или другой "неосязаемый" носитель, обеспечивающий связь для такого программного обеспечения.
[79] Определенные примеры осуществления настоящего изобретения описываются как включающие логические схемы или ряд компонентов, модулей или механизмов. Модули могут представлять собой либо программные модули (например, код, реализованный на машиночитаемом носителе 722 или в передающем сигнале), либо аппаратные модули. "Аппаратные модули" представляют собой физические блоки, которые способны выполнять определенные операции и могут быть сконфигурированы или настроены определенным физическим способом. В различных примерах осуществления настоящего изобретения, одна или более компьютерных систем (например, автономная компьютерная система, клиентская компьютерная система или серверная компьютерная система) либо один или более аппаратных модулей компьютерной системы (например, процессор 702 или группа процессоров 702) могут быть сконфигурированы программным обеспечением (например, приложением или частью приложения) в качестве аппаратного модуля, функционирующего для выполнения определенных описанных операций.
[80] В некоторых примерах осуществления аппаратный модуль может быть реализован механически, электрически или посредством любой подходящей комбинации этих способов. Например, аппаратный модуль может содержать специализированные схемы или логические компоненты, которые на постоянной основе сконфигурированы для выполнения определенных операций. Например, аппаратный модуль может представлять собой специализированный процессор, такой как программируемая пользователем вентильная матрица (FPGA, Field-Programmable Gate Array) или специализированная интегральная схема (ASIC, Application-Specific Integrated Circuit). Аппаратный модуль может также содержать программируемую логику или схемы, которые временно сконфигурированы программным обеспечением для выполнения определенных операций. В другом примере аппаратный модуль может содержать программное обеспечение, встроенное в процессор общего назначения или в другой программируемый процессор. Следует принимать во внимание, что решение о механической реализации аппаратного модуля в виде специализированной и постоянно сконфигурированной схемы либо в виде временно сконфигурированной схемы (например, программно сконфигурированной) может приниматься на основе факторов, учитывающих затраты и время.
[81] Соответственно, фраза "аппаратный модуль" должна пониматься как охватывающая материальный объект, физически сконструированный, сконфигурированный на постоянной основе (например, жестко закодированный) или временной основе (например, запрограммированный) для работы определенным образом с целью выполнения конкретных описанных операций. В данном описании термин "аппаратно реализованный модуль" означает аппаратный модуль. В примерах осуществления настоящего изобретения, в которых аппаратные модули конфигурируются (например, программируются) временно, каждый из аппаратных модулей не требуется конфигурировать или реализовывать в какой-либо один момент времени. Например, если аппаратный модуль содержит процессор общего назначения, сконфигурированный программным обеспечением для преобразования в специализированный процессор, то процессор общего назначения может конфигурироваться, соответственно, для работы в качестве различных специализированных процессоров (например, содержащих различные аппаратные модули) в различные моменты времени. Программное обеспечение может соответственно конфигурировать процессор, например, для реализации конкретного аппаратного модуля в один конкретный момент времени и для реализации другого аппаратного модуля в другой момент времени.
[82] Различные операции в описанных примерах способов могут выполняться, по меньшей мере частично, одним или более процессорами, временно (например, программно) или постоянно сконфигурированными для выполнения соответствующих операций. Сконфигурированные временно или постоянно такие процессоры могут реализовывать процессорные модули, работающие для выполнения одной или более описанных операций или функций. В данном описании термин "процессорный модуль" означает аппаратный модуль, реализованный с использованием одного или более процессоров.
[83] Таким же образом, описанные способы могут, по меньшей мере частично, быть реализованы с помощью процессора, представляющего собой пример аппаратуры. Например, по меньшей мере некоторые операции способа могут выполняться одним или более процессорами или процессорными модулями.
[84] Некоторые аспекты предмета настоящего изобретения, обсуждавшиеся в этом описании, могут быть представлены в терминах алгоритмов или символических представлений операций с данными, хранимыми в виде битов или двоичных цифровых сигналов в памяти машины (например, в компьютерной памяти). Такие алгоритмы или символические представления являются примерами технологий, используемых специалистами в области обработки данных для передачи информации о сущности их работы другим специалистам. В данном описании термин "алгоритм" обозначает последовательность операций или подобную обработку, завершающуюся требуемым результатом. В этом контексте в алгоритмах и операциях задействуется физическая обработка физических величин. Обычно, но не обязательно, такие величины могут принимать форму электрических, магнитных или оптических сигналов, которые могут сохраняться, использоваться, передаваться, объединяться, сравниваться или в иных случаях обрабатываться машиной. Иногда, по причинам общности использования, удобно обозначать эти сигналы с помощью таких слов, как "данные", "содержимое", "биты", "значения", "элементы", "символы", "знаки", "термины", "числа", "цифры" и т.п. Однако эти слова являются просто удобными обозначениями и связаны с соответствующими физическими величинами.
[85] Если специально не указано иное, при обсуждении аспектов этого описания использование таких слов, как "обработка", "вычисление", "расчет", "определение", "представление", "отображение" и т.п., может указывать на действия или процессы машины (например, компьютера), которые обрабатывают или преобразуют данные, представленные как физические (например, электронные, магнитные или оптические) величины в одной или более памятей (например, энергозависимой памяти, энергонезависимой памяти или любой подходящей комбинации этих видов памяти), одном или более регистров или в других машинных компонентах, которые принимают, сохраняют, передают или отображают информацию. Кроме того, если специально не указано иное, термин "один" или "некоторый" используется в данном описании, как обычно в патентных документах, для включения в один или несколько примеров. Наконец, в данном описании соединительный союз "или" указывает на не исключающее "или", если специально не указано иное.
[86] Хотя обзор предмета изобретения приведен со ссылкой на конкретные примеры осуществления, в эти примеры могут быть внесены различные модификации и изменения без отступления от широкого объема вариантов раскрытия настоящего изобретения. Например, различные варианты реализации признаков настоящего изобретения могут объединяться или сопоставляться, или устанавливаться в качестве необязательных специалистом в этой области техники. Такие варианты осуществления предмета изобретения для удобства могут в этом описании, отдельно или совместно, называться "изобретением" без намеренного ограничения объема данной заявки какой-либо одной идеей изобретения, если фактически раскрывается несколько идей.
[87] Проиллюстрированные примеры осуществления настоящего изобретения описаны достаточно подробно, чтобы позволить специалистам на практике реализовать раскрытые идеи. На основе этих идей могут использоваться и другие варианты осуществления таким образом, чтобы структурные и логические замены и изменения могли производиться в объеме настоящего изобретения. Таким образом, раздел подробного описания не следует рассматривать в ограничительном смысле, и объем различных вариантов осуществления настоящего изобретения определяется только прилагаемой формулой изобретения совместно с полным объемом аналогов, правомерных с точки зрения такой формулы изобретения.
[88] Кроме того, множество описанных экземпляров ресурсов, операций или структур могут быть представлены посредством одного экземпляра. Помимо этого, границы между различными ресурсами, операциями, модулями, механизмами и хранилищами данных до некоторой степени произвольны, и определенные операции проиллюстрированы в контексте конкретных пояснительных конфигураций. Возможно другое распределение функций, которое может находиться в пределах объема различных вариантов раскрытия настоящего изобретения. В целом, структуры и функции, представленные в виде отдельных ресурсов в примерах конфигураций, могут быть реализованы в виде объединенной структуры или ресурса. Таким же образом, структуры и функции, представленные в виде одного ресурса, могут быть реализованы в виде отдельных ресурсов. Эти и другие изменения, модификации, дополнения и улучшения попадают в объем вариантов раскрытия настоящего изобретения, представленных прилагаемой формулой изобретения. Соответственно, описание и чертежи должны рассматриваться в качестве примеров, а не в ограничительном смысле.