Связывание устройств
Иллюстрации
Показать всеИзобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных. Способ содержит этапы, на которых поддерживают учетные записи пользователей и данные связывания, которые ассоциируют устройства с соответственной учетной записью пользователя на основе регистрации этих устройств в отношении данной учетной записи пользователя для обнаружения другими устройствами, ассоциированными с этой соответственной учетной записью пользователя, причем данные связывания обеспечивают устройствам, ассоциированным с этой соответственной учетной записью пользователя, возможность быть связанными друг с другом; и обеспечивают формирование соединения между двумя или более из устройств, зарегистрированных в отношении упомянутой соответственной учетной записи пользователя, каковое соединение сконфигурировано для передачи управляющих команд, которые обеспечивают одному из упомянутых устройств возможность управлять операциями другого одного из упомянутых устройств. 3 н. и 17 з.п. ф-лы, 7 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
В один конкретный день пользователи могут взаимодействовать с множеством разных устройств. Например, пользователь может взаимодействовать с настольным PC, ноутбуком, устройством мобильной связи (например, мобильным телефоном), игровой консолью и так далее. Обычное взаимодействие с этими устройствами, однако, часто является изолированным, так что взаимодействие с одним устройством отделено от взаимодействия с другим устройством. Кроме того, несмотря на то, что для решения этой проблемы впоследствии были разработаны способы, эти способы часто являются сложными и неэффективными, и поэтому пользователи обычно не используют эти функциональные возможности.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Описано связывание устройств. В одной или нескольких реализациях, в сетевой услуге поддерживаются данные, описывающие характеристики множества устройств, которые ассоциированы с учетной записью пользователя этой сетевой услуги. Формируется передаваемая информация для приема ее одним из этого множества устройств, включающая в себя часть упомянутых данных, которая относится к другому одному из упомянутого множества устройств и которая является пригодной для обнаружения приемным устройством упомянутого другого одного из множества устройств для инициирования локального сетевого соединения между упомянутыми устройствами.
В одной или нескольких реализациях, в вычислительном устройстве принимаются данные, ассоциированные с учетной записью пользователя, из сетевой услуги, которые идентифицируют другое вычислительное устройство, ассоциированное с учетной записью пользователя. В ответ на определение упомянутым вычислительным устройством того, что это другое вычислительное устройство является доступным через локальное сетевое соединение, упомянутым вычислительным устройством формируется локальное сетевое соединение с упомянутым другим вычислительным устройством. В ответ на определение упомянутым вычислительным устройством того, что упомянутое другое вычислительное устройство не является доступным через локальное сетевое соединение, упомянутым вычислительным устройством формируется нелокальное сетевое соединение с упомянутым другим вычислительным устройством.
В одной или нескольких реализациях, посредством обмена информацией с сетевой услугой обнаруживается доступность некоторого устройства для поддержки совместного взаимодействия, причем эта доступность определяется через привязку этого устройства к учетной записи пользователя. Данные, принимаемые из сетевой услуги, используются для инициирования локального сетевого соединения между вычислительным устройством и упомянутым устройством, в результате упомянутого обнаружения, которое можно использовать для передачи данных, относящихся к совместному взаимодействию.
В этом разделе Сущность изобретения в упрощенном виде представлена подборка концепций, которые описаны ниже в разделе Подробное описание. Этот раздел Сущность изобретения не предназначен для идентификации отличительных или существенных признаков заявленного изобретения, он также не предназначен для использования его в качестве вспомогательного средства для определения объема заявленного изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Подробное описание приведено со ссылкой на прилагаемые чертежи. На этих чертежах крайняя(ие) левая(ые) цифра(ы) ссылочной позиции идентифицирует(ют) чертеж, в котором эта ссылочная позиция появляется впервые. Использование идентичных ссылочных позиций в разных конкретных случаях в описании и на чертежах может указывать на аналогичные или идентичные элементы. Объекты, представленные на чертежах, могут указывать на один или несколько объектов, и, соответственно, при обсуждении упоминание объектов в единственном или множественном числе является взаимозаменяемым.
Фиг. 1 - иллюстрация среды в иллюстративной реализации, которая обеспечивает возможность выполнения способов связывания устройств, описанных в этом документе.
Фиг. 2 - иллюстрация системы в иллюстративной реализации, более подробно изображающая вычислительные устройства и поставщика услуг по фиг. 1.
Фиг. 3 - схема последовательности операций, которая изображает процедуру в иллюстративной реализации, в которой сетевая услуга сконфигурирована для соединений через брокера между устройствами.
Фиг. 4 - схема последовательности операций, которая изображает процедуру в иллюстративной реализации, в которой вычислительное устройство сконфигурировано для эффективного использования локальных и/или удаленных сетевых соединений для обмена информацией с другим вычислительным устройством.
Фиг. 5 - схема последовательности операций, которая изображает процедуру в иллюстративной реализации, в которой поддерживается совместное взаимодействие посредством связывания устройств.
На фиг. 6 изображена иллюстративная система, которая включает в себя вычислительное устройство, описанное со ссылкой на фиг. 1.
На фиг. 7 изображены различные компоненты иллюстративного устройства, которое может быть реализовано как любой тип вычислительного устройства, описанного со ссылкой на фиг. 1 - фиг. 4, для реализации вариантов осуществления способов, описанных в этом документе.
ПОДРОБНОЕ ОПИСАНИЕ
Общие сведения
Обычные способы, которые используются для связывания устройств вместе, обычно содержат множество выполняемых вручную этапов, которые должны выполняться пользователем. Кроме того, эти этапы часто являются сложными, и поэтому пользователи обычно не пользуются этими способами, даже когда они являются доступными.
Описаны способы связывания устройств. В одной или нескольких реализациях описаны способы, в которых разные типы устройств могут работать совместно, например, использование мобильного устройства связи для поддержки взаимодействия с игровой консолью. В этом документе обсуждается множество способов, которые могут эффективно использоваться для связывания устройств вместе, например, для поддержки этого взаимодействия. Их примеры включают в себя эффективное использование "облака" и локального соединения для выполнения начальной установки, использования локального и удаленного соединений, поддержки функциональности механизма отката и так далее. Дополнительное обсуждение этого и других способов может быть найдено в изложении следующих разделов.
В нижеследующем обсуждении сначала описывается иллюстративная среда, в которой могут быть применены способы, описанные в этом документе. Далее описываются иллюстративные процедуры, которые могут выполнятся в упомянутой иллюстративной среде, а также в других средах. Следовательно, выполнение упомянутых иллюстративных процедур не ограничивается упомянутой иллюстративной средой, и упомянутая иллюстративная среда не ограничивается выполнением упомянутых иллюстративных процедур.
Иллюстративная Среда
Фиг. 1 является иллюстрацией среды 100 в иллюстративной реализации, которая обеспечивает возможность применения способов, описанных в этом документе. Иллюстрированная среда 100 включает в себя примеры двух вычислительных устройств 102, 104, которые могут быть сконфигурированы множеством способов. Вычислительные устройства 102, 104, например, могут быть сконфигурированы как обычный компьютер (например, настольный персональный компьютер, ноутбук и так далее), мобильная станция, развлекательное оборудование, игровая консоль, коммуникативно соединенная с устройством отображения (например, телевизором, устройством мобильной связи (например, беспроводным телефоном, планшетом, нетбуком и т.д.), как также описано в отношении иллюстративной рабочей среды и устройства. Соответственно, вычислительные устройства 102, 104 могут находиться в пределах от полноресурсных устройств со значительными ресурсами памяти и процессора, (например, персональные компьютеры, игровые консоли) до малоресурсных устройств с ограниченными ресурсами памяти и/или обработки (например, обычные телевизионные приставки, малогабаритные игровые консоли). В иллюстрированной реализации вычислительное устройство 102 сконфигурировано как игровая консоль, а другое вычислительное устройство 104 сконфигурировано как устройство мобильной связи, хотя также предполагаются и другие реализации, как описано выше.
Изображено, что каждое из вычислительных устройств 102, 104 включает в себя модуль 106, 108 ввода/вывода, соответственно. Модули 106, 108 ввода/вывода представляют функциональность, относящуюся к распознаванию вводов и/или обеспечению выводов соответствующим вычислительным устройством. Например, модули 106, 108 ввода/вывода могут быть сконфигурированы для приема вводов из клавиатуры, мыши, для идентификации жестов и вызова операций, которые должны быть выполнены, которые соответствуют жестам, и так далее. Вводы могут обнаруживаться модулями 10 6, 108 ввода/вывода множеством различных способов.
Модуль 106 ввода/вывода, например, может быть сконфигурирован для приема одного или нескольких вводов посредством взаимодействия касанием с аппаратным устройством, например, устройством 110 управления, как изображено. Взаимодействие касанием может включать в себя нажатие кнопки, перемещение джойстика, перемещение по всему трекпаду, использование сенсорного экрана устройства отображения (например, обнаружение пальца руки пользователя или стилуса вычислительным устройством 102) и так далее.
Распознавание вводов может эффективно использоваться модулями 106, 108 ввода/вывода для взаимодействия с интерфейсом пользователя, выводимым соответствующим вычислительным устройством 102, 104, например, для взаимодействия с игрой, приложением, просмотра интернет, изменения одного или нескольких установочных параметров вычислительных устройств 102, 104 и т.д. Также предполагается множество других аппаратных устройств, которые содержат взаимодействие касанием с этим устройством. Примеры таких аппаратных устройств включают в себя устройство управления курсором (например, мышь), дистанционный пульт (например телевизионный пульт), устройство мобильной связи (например, беспроводной телефон, сконфигурированный для управления одной или несколькими операциями вычислительного устройства 102, как иллюстрируется вычислительным устройством 104) и другие устройства, которые подразумевают касание со стороны пользователя или объекта.
Модулями 106, 108 ввода/вывода может также поддерживаться* естественный пользовательский интерфейс (NUI), например, для распознавания взаимодействий, которые могут не подразумевать касания. Например, вычислительные устройства 102, 104 могут эффективно использовать устройства ввода для обнаружения вводов без касания пользователем конкретного устройства, например, для распознавания речевых вводов посредством использования микрофона. Например, модули 106, 108 ввода/вывода могут быть сконфигурированы для выполнения распознавания речи для распознавания конкретного произнесения (например, речевой команды), а также для распознавания конкретного пользователя, который обеспечивает это произнесение.
В другом примере, модули 10 6, 108 ввода/вывода, которые могут быть сконфигурированы для распознавания жестов, представленных объектов, изображений и так далее посредством использования камеры. Камера, например, может включать в себя множество линз для возможности захвата разных перспектив, и, соответственно, определения глубины, как изображено для вычислительного устройства 102 в конфигурации игровой консоли. Разные перспективы, например, могут использоваться для определения относительного расстояния от устройства ввода и, соответственно, изменения этого относительного расстояния. Разные перспективы могут быть эффективно использованы соответствующими вычислительными устройствами 102, 104 как восприятие глубины. Естественно, также могут быть эффективно использованы другие изображения без использования контроля глубины, например, камера вычислительного устройства 104, сконфигурированного как мобильное устройство связи. Изображения могут эффективно использоваться для обеспечения различных функциональных возможностей, например, способов для идентификации конкретных пользователей (например, посредством распознавания лиц), объектов, выполнения поиска и так далее.
Модули 106, 108 ввода-вывода могут эффективно использовать вводы для выполнения установки соответствия по скелету вместе с выделением особенностей конкретных точек человеческого тела (например, 48 точек скелета) для отслеживания одного или нескольких пользователей (например, четырех пользователей одновременно) для выполнения анализа движения. Например, захваченные изображения могут быть проанализированы модулями 106, 108 ввода/вывода для распознавания одного или нескольких движений, сделанных пользователем, в том числе того, какая часть тела используется для осуществления этого движения, а также того, какой пользователь сделал это движение. Один пример иллюстрируется через распознавание положения и перемещения одного или нескольких пальцев руки 112 пользователя и/или перемещения всей руки 112 пользователя. Для инициирования соответствующей операции, движения могут идентифицироваться модулями 106, 108 ввода/вывода как жесты.
Также изображено, что вычислительные устройства 102, 104 включают в себя соответствующие связывающие модули 114, 116. Связывающие модули 114, 116 представляют функциональность соответствующих устройств для инициирования одного или нескольких сетевых соединений между устройствами и управления ими. Соединения могут использоваться для поддержки множества разных функциональных возможностей, например, совместного взаимодействия. Например, вычислительное устройство 104, сконфигурированное как мобильное устройство связи, может взаимодействовать с вычислительным устройством 102, сконфигурированным как игровая консоль, для дополнения взаимодействия пользователя. Это может включать в себя использование вычислительного устройства 104 как игрового контроллера, вывод электронного телегида для управления выводом контента вещательных передач вычислительным устройством 102 и так далее. Соответственно, взаимодействие с вычислительным устройством 104 может использоваться для управления одной или несколькими операциями, выполняемыми вычислительным устройством 102, и наоборот. Вычислительное устройство 102, например, может обеспечивать дополнительный контент для вывода вычислительным устройством 104.
Связывающие модули 114, 116 могут включать в себя множество разных функциональных возможностей для инициирования сетевых соединений и управления ими. Например, связывающие модули 114, 116 могут включать в себя функциональные возможности для формирования локального сетевого соединения 118 между этими устройствами (например, локальное соединение Wi-Fi) и/или удаленного соединения, включающего в себя сеть 120, например, "через облако", посредством эффективного использования поставщика 122 услуг, к которому можно получить доступ через Internet. Соответственно, в этом втором примере иллюстрируется то, что поставщик 122 услуг также включает в себя связывающий модуль 124, который представляет функциональные возможности поставщика 122 услуг также для поддержки функциональных возможностей связывания устройств.
Связывающие модули 114, 116, например, могут эффективно использовать удаленное соединение сети 120 для установки связи с поставщиком 120 услуг для выполнения обнаружения устройства, например, "определения местоположения" устройства, для обмена информацией с ним. Эти данные могут после этого использоваться для установки локального сетевого соединения 118 между упомянутыми устройствами для поддержки совместного взаимодействия, как описано ранее. В другом примере это соединение может поддерживаться полностью или частично чрез удаленное соединение, включающее в себя сеть 120, например, Internet, или другую глобальную сеть. Соответственно, связывающие модули 114, 116 могут эффективно использовать множество разных типов соединений и способов для формирования упомянутых соединений, дополнительное обсуждение которых может быть найдено в отношении следующего чертежа.
В общем, любая из функций, описанных в этом документе, может быть реализована с использованием программных средств, программно-аппаратных средств, аппаратных средств (например, схемы с фиксированными логическими функциями) или комбинации этих реализаций. Термины "модуль",
"функциональность/функциональные возможности" и "логика", используемые в этом документе, в общем представляют программные средства, программно-аппаратные средства, аппаратные средства или их комбинацию. В случае программной реализации, модуль, функциональность/функциональные возможности или логика представляют код программы, который выполняет конкретные задачи при исполнении на процессоре (например, центральном процессоре (ЦП) или центральных процессорах). Код программы может храниться в одном или нескольких машиночитаемых запоминающих устройствах. Особенности способов, описанных ниже, являются независимыми от платформы, что означает то, что эти способы могут быть реализованы на множестве коммерческих вычислительных платформ, имеющих множество процессоров.
Например, вычислительные устройства 102, 104 могут также включать в себя объект (например, программное средство), который вызывает выполнение операций аппаратными средствами вычислительных устройств 102, 104, например, процессорами, функциональными блоками и так далее. Например, вычислительные устройства 102, 104 могут включать в себя машиночитаемый носитель информации, который может быть сконфигурирован для поддержки инструкций, которые вызывают выполнение операций упомянутым вычислительным устройством, а более конкретно аппаратными средствами вычислительных устройств 102, 104. Соответственно, инструкции выполняют функции по конфигурированию аппаратных средств для выполнения упомянутых операций, и, следовательно, в результате приводят к преобразованию аппаратных средств для выполнения функций. Инструкции могут обеспечиваться машиночитаемым носителем информации в вычислительное устройство 102 посредством множества разных конфигураций.
Одной такой конфигурацией машиночитаемого носителя информации является носитель информации, несущий сигнал, и, соответственно, сконфигурированный для передачи инструкций (например, несущая волна) в аппаратные средства вычислительного устройства, например, через сеть. Машиночитаемый носитель информации может также быть сконфигурирован как машиночитаемая запоминающая среда, и, соответственно, не являться носителем информации, несущим сигнал. Примеры машиночитаемого носителя информации включают в себя оперативное запоминающее устройство (ОЗУ, RAM), постоянное запоминающее устройство (ПЗУ, ROM), оптический диск, флэш-память, накопитель на жестком диске и другие запоминающие устройства, которые могут использовать магнитные, оптические и другие технологии для хранения инструкций и других данных.
На фиг. 2 изображена система 200, представляющая более подробно вычислительные устройства 102, 104 и поставщика 122 услуг. Соединения для поддержки совместного взаимодействия между вычислительными устройствами 102, 104 могут инициироваться и поддерживаться множеством способов. Например, каждое из вычислительных устройств 102, 104 может быть ассоциировано с учетной записью пользователя сетевой услуги поставщика 122 услуг. Следовательно, с обеспечением учетных данных через сеть 120 пользователи могут просто входить в учетную запись пользователя поставщика услуг 122 без привлечения дополнительной информации для входа в систему, кодов ключей и т.д. Эти учетные данные могут после этого обрабатываться модулем 202 диспетчера учетных записей поставщика 122 услуг для аутентификации пользователя. Кроме того, эта аутентификация может использоваться для получения доступа к множеству разных услуг поставщика 122 услуг (и других поставщиков услуг) посредством "однократного" входа в систему, например, к услуге музыкального вещания, услуге передачи сообщений, услуге ведения календаря, услуге управления контактами и т.д.
После аутентификации, могут быть предоставлены функциональные возможности связывающего модуля 124, например, формирование соединения между устройствами. Связывающий модуль 124, например, может быть сконфигурирован для поддержки данных, которые описывают детали сетевого соединения, которые могут быть использованы для формирования сетевого соединения между устройствами. Они могут включать в себя данные, которые описывают детали локального сетевого соединения 118, например, для поддержки соединения Wi-Fi посредством использования идентификатора, имени сети и так далее. Эти данные могут также описывать детали удаленного соединения для доступа через сеть 120 (например, Internet), например, IP-адрес, поддерживаемый диапазон частот, информацию о местоположении, тип доступа к сети и так далее.
Упомянутые данные могут передаваться поставщику 122 услуг множеством способов и в различные моменты времени. Например, упомянутые данные могут передаваться как часть аутентификации, могут быть сохранены из предыдущего обмена информацией, могут быть обеспечены в ответ на запрос, принятый от поставщика 122 услуг (например, после осуществления аутентификации), и так далее. Соответственно, связывающие модули 114, 116 могут передавать множество разных данных, которые могут быть эффективно использованы для формирования соединения.
В одной или нескольких реализациях, на соответствующих связывающих модулях 114, 116 могут быть предоставлены установочные параметры для управления тем, обеспечивать ли эти данные. Например, может быть предоставлен установочный параметр конфигурации для обеспечения возможности обнаружения соответствующего вычислительного устройства, который может быть установлен "включено" как значение по умолчанию, хотя также предполагаются другие примеры.
Кроме того, другой установочный параметр конфигурации может использоваться для управления тем, должно ли вычислительное устройство поддерживать с поставщиком 122 услуг соединение в режиме реального времени, который может быть установлен в "выключено" как значение по умолчанию. Он может использоваться для сокращения потребления ресурсов (например, сетью 120 и/или поставщиком услуг), так что поставщик 122 услуг не будет вынужден поддерживать эту особенность соединения с устройством для устройств, которым не требуется делать это. Например, этот установочный параметр может быть первоначально установлен в "выключено". Однако после попытки соединения этот установочный параметр может переключаться на "включено" автоматически и без вмешательства пользователя для поддержания разорванного соединения "в состоянии готовности" для выполнения связывания, описываемого в этом документе.
Для инициирования соединения, вычислительные устройства 102, 104 могут сначала "обнаруживать" друг друга множеством способов. Например, связывающие модули 114, 116 могут быть сконфигурированы для определения сначала того, является ли другое устройство доступным через локальное сетевое соединение 118, например, доступным через Wi-Fi, Bluetooth или другую проводную или беспроводную сеть. Это обнаружение может быть сконфигурировано с эффективным использованием данных, ранее сохраненных соответствующими связывающими модулями 114, 116, например, идентификация конкретных сетевых идентификаторов соответствующих вычислительных устройств 102, 104, сетей и другой информации, хотя также предполагаются другие примеры.
Если устройство не обнаружено таким способом, то для обнаружения того, является ли другое устройство доступным для соединения, связывающие модули 114, 116 могут обмениваться информацией с поставщиком 112 услуг. Вычислительные устройства 102, 104, например, могут передавать данные, которые указывают местоположение устройств, данные, которые можно использовать для обнаружения устройств через локальное соединение, и так далее. Данные могут указывать конкретное местоположение, например, в конкретном помещении, эффективно использовать GPS-координаты и другие функциональные возможности определения позиции. Кроме того, эта информация может использоваться для определения устанавливаемого типа соединения, например, для установки удаленного соединения через сеть 120, когда локальное сетевое соединение 118 является не доступным, например, устройства расположены на расстоянии, которое превышает расстояние, поддерживаемое локальным сетевым соединением 118.
Например, вычислительное устройство 104 может обмениваться информацией с связывающим модулем 124 поставщика 122 услуг через сеть 120 для определения того, являются ли другие устройства (например, вычислительное устройство 102), которые зарегистрированы в учетной записи пользователя, доступными для связывания. Далее поставщик 122 услуг может возвратить ответ, который может включать в себя дополнительную информацию о локальном сетевом соединении (например, беспроводная или проводная подсеть) для этих устройств. После этого с использованием этой информации связывающий модуль 116 вычислительного устройства 104 может вести поиск в упомянутой локальной сети и пытаться найти упомянутое другое устройство или устройства. Если оно найдено, то вычислительные устройства 102, 104 могут согласовать прямую линию связи посредством локального сетевого соединения 118 для обмена информацией, которое в одном или нескольких конкретных случаях может поддерживать более эффективный обмен информацией, чем соединение, поддерживаемое через сеть 120. Например, локальное сетевое соединение 118 может поддерживать больший диапазон частот, чем удаленное соединение через сеть 120. Кроме того, может также использоваться фактор стоимости как часть процесса принятия решения относительно того, какую сеть использовать, например, сеть Wi-Fi в сравнении с сетью мобильной телефонной связи, которая имеет наибольшие размеры использования.
Если оно не найдено, то вычислительные устройства 102, 104 могут обмениваться информацией через сеть 120 множеством способов. Например, передаваемая информация может пересылаться через поставщика 122 услуг как посредника. Соответственно, обмен информацией в этом примере может эффективно использовать интернет или другую глобальную сеть для соединения устройств, одного с другим. В другом примере удаленного соединения, для пересылки передаваемой информации могут поддерживаться способы туннелирования, например, посредством эффективного использования IP-адресов других устройств соответствующими связывающими модулями 114, 116, для обмена информацией непосредственно через сеть 120 без активной работы поставщика 122 услуг как посредника.
Также предполагается множество других примеров, например, гибридный режим, в котором разная передаваемая информация пересылается через разные сети. Например, такой гибридный режим может использоваться для поддержки передачи команд через сеть 120 и контента через локальное сетевое соединение 118 и наоборот. Это разделение передаваемой информации может выполняться по многим причинам, например, из-за ограничений топологии конкретных сетевых соединений, поддерживаемых соответствующими сетями.
В некоторых случаях, во время использования характеристики сетевого соединения могут измениться. Соответственно, связывающие модули 114, 116, 124 могут быть сконфигурированы множеством различных способов для разрешения вопросов, связанных с этими изменениями. Например, связывающие модули 114, 116, 124 могут быть сконфигурированы для уведомления пользователя (например, через интерфейс пользователя) об этом изменении. Кроме того, связывающие модули 114, 116, 124 могут быть сконфигурированы для настройки (например, отключения) свойств, которые, могут плохо работать в этом состоянии, например, для сокращения разрешающей способности, функциональных возможностей, которые требуют интенсивного обмена информацией, свойств, которые не поддерживаются этой сетью, и так далее.
Кроме того, связывающие модули 114, 116, 124 могут быть сконфигурированы для кэширования команд, которые могут использоваться для улучшения эффективности и решения вопросов прерывистого соединения. Это кэширование может выполняться в вычислительных устройствах 102, 104, а также в поставщике 122 услуг. Также предполагается множество других примеров.
Например, связывающие модули 114, 116, 124 могут быть сконфигурированы для поддержки автоматического аварийного восстановления. Локальное сетевое соединение 118, например, может ухудшиться или разъединиться, например, из-за перемещения вычислительного устройства 104 дальше от вычислительного устройства 102, помех от сети и так далее. В таких конкретных случаях связывающие модули 114, 116, 124 могут вызвать осуществление соединения через сеть 120, вместо этого, могут принимать решение о применении гибридного формата, как описано выше, и так далее. Обратное также справедливо в том смысле, что, если надежность сети 120 уменьшается, то для поддержки обмена информацией между устройствами может автоматически эффективно использоваться локальное сетевое соединение 118 без вмешательства пользователя.
Это изменение может также использоваться для переключения сетей в ответ на определение того, что другая одна из сетей стала доступной. Например, вычислительное устройство 104 может сначала обмениваться информацией с вычислительным устройством 102 по Internet, например, тогда, когда вычислительное устройство 104 находится на расстоянии, на котором локальное сетевое соединение 118 не поддерживается. В ответ на определение того, что вычислительное устройство 104 в настоящее время находится в пределах диапазона локальной сети вычислительного устройства 102, связывающие модули 114, 116 автоматически могут обмениваться информацией по локальному сетевому соединению 118. Как описано выше, при использовании этих функциональных возможностей может учитываться множество факторов, например, фактор стоимости, описанный выше. Соответственно, для поддержки связывания устройств может быть эффективно использовано множество разных функциональных возможностей, которые также могут использоваться для поддержки множества дополнительных функциональных возможностей, например, совместного взаимодействия, как описано выше.
Связывающими модулями 114, 116, 124 также может поддерживаться множество других функциональных возможностей. Например, как описано выше, соединение может являться двунаправленным, так что каждое из устройств может отправлять и принимать данные из других устройств. Эти функциональные возможности могут эффективно использоваться множеством способов. Вычислительное устройство 102, например, может быть сконфигурировано для оповещения вычислительного устройства 104 о текущем состоянии при выводе контента. Вычислительное устройство 104 может после этого эффективно использовать эту информацию для обеспечения функциональных возможностей, например, для определения местоположения связанного контента, для выполнения поиска в Internet на основе одного или нескольких мест, ассоциированных с этим связанным контентом, и т.д. Обратное также справедливо в том смысле, что вычислительное устройство 104 может передавать состояние в вычислительное устройство 102, которое может быть эффективно использовано этим устройством для поддержки функциональных возможностей, например, для продолжения воспроизведения вычислительным устройством 102 контента с текущей точки, которая соответствует выводу контента вычислительным устройством 104.
В другом примере связывающие модули 114, 116, 124 могут также поддерживать множество разных способов шифрования для защиты обмена информацией, как через локальное сетевое соединение 118, так и удаленно, через сеть 120, и так далее. Кроме того, несмотря на то, что в отношении сети 12 0 описан интернет, упомянутыми способами может также поддерживаться множество разных типов сетей, например, с одиночным доменом, как части предприятия, интранет и так далее. Дальнейшее обсуждение способов связывания устройств может быть найдено в отношении следующих процедур.
Иллюстративные процедуры
В нижеследующем обсуждении описываются способы связывания устройств, которые могут быть реализованы с использованием ранее описанных систем и устройств. Аспекты каждой из процедур могут быть реализованы в аппаратных средствах, программно-аппаратных средствах (firmware) или программных средствах или их комбинации. Процедуры представлены как набор блоков, которые задают операции, выполняемые одним или несколькими устройствами, и которые не обязательно ограничены порядком, представленным для выполнения этих операций соответствующими блоками. В частях нижеследующего обсуждения делается ссылка на среду 100 по фиг.1 и систему 2 00 по фиг. 2.
Фиг. 3 является схемой последовательности операций, которая изображает процедуру 300 в иллюстративной реализации, в которой сетевая услуга сконфигурирована для соединений через брокера между устройствами. В сетевой услуге поддерживаются данные, описывающие характеристики множества устройств, которые ассоциированы с учетной записью пользователя этой сетевой услуги (этап 302). Связывающий модуль 124 поставщика 122 услуг, например, может принимать данные из вычислительных устройств 102, 104, которые ассоциированы с учетной записью пользователя. Эти данные могут быть приняты в ответ на выбор установочного параметра в соответствующих устройствах, разрешающего обнаружение устройства.
Формируется передаваемая информация для приема ее одним из упомянутого множества устройств, включающая в себя часть данных, которая относится к другому одному из упомянутого множества устройств и которая является пригодной для обнаружения приемным устройством упомянутого другого одного из множества устройств для инициирования локального сетевого соединения между упомянутыми устройствами (этап 304). Упомянутая передаваемая информация, например, может включать в себя данные, которые можно использовать для определения местоположения устройств локально, например, проводная или беспроводная подсеть, через которую к упомянутому другому устройству можно получить доступ посредством упомянутого локального сетевого соединения. Передаваемая информация может также включать в себя данные, которые можно использовать для определения местоположения устройств удаленно, например, IP-адрес. Далее эти данные могут использоваться для формирования соединений, которые могут использоваться для поддержки множества функциональных возможностей, например, совместного взаимодействия, как описано ранее.
Фиг. 4 является схемой последовательности операций, которая изображает процедуру 4 00 в иллюстративной реализации, в которой вычислительное устройство сконфигурировано для эффективного использования локальных и/или удаленных сетевых соединений для обмена информацией с другим вычислительным устройством. В вычислительном устройстве, из сетевой услуги, принимаются данные, ассоциированные с учетной записью пользователя, которые идентифицируют другое вычислительное устройство, ассоциированное с учетной записью пользователя (этап 402). Как описано ранее, упомянутые данные могут описывать устройство множеством способов, например, посредством сетевого адреса, имени устройства и так далее.
В ответ на определение упомянутым вычислительным устройством того, что это другое вычислительное устройство является доступным через локальное сетевое соединение, упомянутым вычислительным устройством формируется локальное сетевое соединение с этим другим вычислительным устройством (этап 404). Вычислительное устройство 102, например, может сформировать локальное беспроводное соединение (например, Wi-Fi) с вычислительным устройством 104, если оно является доступным.
В ответ на определение упомянутым вычислительным устройством того, что упомянутое другое вычислительное устройство не является доступным через локальное сетевое соединение, упомянутым вычислительным устройством формируется нелокальное сетевое соединение с упомянутым другим вычислительным устройством (этап 406). В продолжение предыдущего примера, если вычислительное устройство 104 не является доступным чер