Синхронизация данных ассоциирования устройств среди вычислительных устройств

Иллюстрации

Показать все

Изобретение относится к средствам синхронизации данных ассоциирования устройств среди вычислительных устройств. Техническим результатом является снижение временных затрат на стороне пользователя при осуществлении доступа к различным периферийным устройствам с вычислительного устройства. Вычислительное устройство содержит: хранилище данных для хранения данных привязки устройств для периферийных устройств, причем данные привязки устройств для периферийного устройства описывают, как вычислительное устройство должно подключаться к этому периферийному устройству, модуль синхронизации данных привязки устройств, выполненный с возможностью: приема данных привязки устройств, определения автоматически доступных периферийных устройств, автоматически делать доступными ранее определенные периферийные устройства и генерирования записи о периферийных устройствах, не являющихся автоматически доступными для вычислительного устройства. 3 н. и 17 з.п. ф-лы, 6 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0004] Одинаковые позиции использованы во всех чертежах для ссылки на одинаковые признаки.

[0005] Фиг. 1 показывает иллюстративную систему, реализующую синхронизацию данных привязки устройств среди вычислительных устройств, согласно одному или нескольким вариантам осуществления.

[0006] Фиг. 2 является блок-схемой, показывающей иллюстративное вычислительное устройство, реализующее синхронизацию данных привязки устройств среди вычислительных устройств, согласно одному или нескольким вариантам осуществления.

[0007] Фиг. 3 является последовательностью операций, показывающей иллюстративный процесс для синхронизации данных привязки устройств среди вычислительных устройств, согласно одному или нескольким вариантам осуществления.

[0008] Фиг. 4 является последовательностью операций, показывающей иллюстративный процесс для автоматической привязки периферийных устройств к вычислительному устройству, согласно одному или нескольким вариантам осуществления.

[0009] Фиг. 5 является блок-схемой, показывающей иллюстративную модель для реализации технологий, описанных здесь, согласно одному или нескольким вариантам осуществления.

[0010] Фиг. 6 показывает иллюстративную систему, которая включает в себя иллюстративное вычислительное устройство, которое является характерным для одной или нескольких систем и/или устройств, которые могут реализовать различные технологии, описанные здесь.

ПОДРОБНОЕ ОПИСАНИЕ

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

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

[0013] Фиг. 1 показывает иллюстративную систему 100, реализующую синхронизацию данных привязки устройств среди вычислительных устройств, согласно одному или нескольким вариантам осуществления. Система 100 включает в себя вычислительное устройство 102 и многочисленные (n) вычислительные устройства 104(1), …, 104(n), которые могут устанавливать связь со службой 106. Вычислительные устройства 102, 104 могут устанавливать связь со службой 106 через любую из множества разных сетей, включая интернет, локальную сеть (LAN), телефонную сеть, интрасеть, другие общественные и/или фирменные сети, их комбинации и т.д. Вычислительные устройства 102, 104 могут, дополнительно или альтернативно, устанавливать связь со службой 106 через коммуникационные каналы, отличные от сети, такие как множество проводных и/или беспроводных соединений. Следует отметить, что система 100 может включать в себя любое количество вычислительных устройств одного или разных типов, устанавливающих связь со службой 106.

[0014] Каждое вычислительное устройство 102, 104 может принадлежать ко множеству разных типов устройств, и вычислительные устройства 102 и 104 могут принадлежать к одному или разным типам устройств. Например, каждое вычислительное устройство 102, 104 может быть настольным компьютером, серверным компьютером, компактным портативным компьютером или компьютером-нетбуком, планшетным компьютером или компьютером-блокнотом, мобильной станцией, развлекательным устройством, телевизионной приставкой, соединенной с возможностью связи с устройством отображения, телевизионным приемником или другим устройством отображения, сотовым или другим беспроводным телефоном, игровой консолью, автомобильным компьютером, носимым компьютером и т.д. Таким образом, каждое вычислительное устройство 102, 104 может варьироваться от устройства с полным набором ресурсов со значительными ресурсами памяти и процессора (например, персональные компьютеры, игровые консоли) до устройства с малым набором ресурсов с ограниченными ресурсами памяти и/или вычислительными ресурсами (например, традиционные телевизионные приставки, ручные игровые консоли).

[0015] Подобно описанию вычислительных устройств 102 и 104, служба 106 может быть реализована с использованием одного или нескольких из множества устройств разных типов, варьирующихся от устройств с полным набором ресурсов со значительными ресурсами памяти и процессора до устройства с малым набором ресурсов с ограниченными ресурсами памяти и/или вычислительными ресурсами. Служба 106 может быть удаленной от вычислительных устройств 102, 104 (например, с осуществлением доступа через интернет) или локальной для вычислительных устройств 102, 104 (например, с осуществлением доступа через LAN). Таким образом, служба 106 может быть размещена на одном или нескольких устройствах, локальных по отношению к вычислительным устройствам 102, 104 (например, локально, в том же самом здании или офисе), или размешена на одном или нескольких устройствах, удаленных от вычислительных устройств 102, 104 (например, удаленно, в другом здании, городе, или стране).

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

[0017] Пользователь вычислительного устройства 102 может подключиться к одному или нескольким периферийным устройствам 108, что также называется привязкой вычислительного устройства 102 к одному или несколькими периферийными устройствами 108. Привязка вычислительного устройства 102 к периферийному устройству 108 может включать в себя инсталляцию периферийного устройства 108 на вычислительном устройстве 102. Инсталляция периферийного устройства включает в себя инсталляцию ресурсов (например, драйверов), и установку подходящих характеристик для вычислительного устройства 102 и/или периферийного устройства 108 для установления коммуникационного соединения между вычислительным устройством 102 и периферийным устройством 108 (например, спаривания периферийного устройства 108 с вычислительным устройством 102). Таким образом, инсталляция периферийного устройства включает в себя обеспечение доступности периферийного устройства 108 для использования вычислительным устройством 102.

[0018] Привязка вычислительного устройства 102 к периферийному устройству 108 может также включать в себя добавление в вычислительное устройство 102 информации, указывающей на то, как осуществить доступ к периферийному устройству 108 (например, установить коммуникационное соединение между вычислительным устройством 102 и периферийным устройством 108), какие аппаратные функции имеет периферийное устройство, как использовать аппаратные функции или как осуществить доступ к ним, их комбинации и т.д. Таким образом, привязка вычислительного устройства 102 к периферийному устройству 108 может включать в себя обеспечение доступности периферийного устройства 108 для использования вычислительным устройством 102 без инсталляции периферийного устройства 108 на вычислительном устройстве 102.

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

[0020] В одном или нескольких вариантах осуществления, периферийные устройства являются устройствами, реализованными в корпусах, отдельных от вычислительных устройств 102, 104. Периферийные устройства являются физически отдельными от вычислительных устройств 102, 104 и внешними по отношению к ним, но могут, однако, устанавливать связь с вычислительными устройствами 102, 104, и, необязательно, могут быть физически соединены с вычислительными устройствами 102, 104. Периферийные устройства являются аппаратными устройствами, и могут включать в себя программное обеспечение и/или аппаратно-программное обеспечение. Например, периферийное устройство (например, принтер совместного использования) может быть логическим элементом, включающим в себя как сервер печати (реализованный в программном обеспечении), так и физический принтер.

[0021] Данные привязки устройств являются различными данными, которые могут быть использованы в качестве части процесса привязки вычислительного устройства к периферийному устройству. Данные привязки устройств, таким образом, также относятся к соответствующему периферийному устройству. Данные привязки устройств для периферийного устройства являются данными, используемыми для подключения к периферийному устройству, такими как сетевой адрес или адрес управления доступом к среде передачи (MAC), сетевой адрес для принтера совместного использования на сервере печати, данные обеспечения безопасности или данные аутентификации, такие как сертификат или персональный идентификационный номер (PIN), и т.д. Данные привязки устройств могут также включать в себя дополнительные данные в отношении периферийного устройства и/или данные привязки устройств, такие как имя или идентификатор периферийного устройства, тип периферийного устройства, идентификатор драйвера, ассоциированного с периферийным устройством, данные о том, инсталлировано ли уже периферийное устройство на вычислительном устройстве 102, и т.д. Данные привязки устройств для периферийного устройства, таким образом, описывают, как подключиться к периферийному устройству. Данные привязки устройств хранятся вычислительным устройством 102, с тем чтобы вычислительное устройство 102 могло впоследствии осуществить доступ к периферийному устройству (например, после выключения электропитания и повторного включения) без повторной инсталляции периферийного устройства.

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

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

[0024] Периферийное устройство 108 может быть привязано в ручном режиме к вычислительному устройству 102, например, посредством инсталляции периферийного устройства 108 на вычислительном устройстве 102 в ручном режиме, независимо от службы 106 (например, без получения данных привязки устройств от службы 106). Для привязки периферийного устройства 108 к вычислительному устройству в ручном режиме, периферийное устройство обнаруживают или идентифицируют с использованием любого из множества механизмов, таких как служба каталогов, обнаружение посредством многоадресной рассылки по сети, сетевые протоколы универсального варианта особенности оборудования «включи и работай» (UPnP), локальная связь с периферийным устройством (например, с использованием универсальной последовательной шины (USB) или беспроводного USB-протокола), Web-службы на устройствах, другие общественные и фирменные протоколы и т.д. Данные привязки устройств могут быть получены различными способами, на основе механизма, используемого для обнаружения или идентификации периферийного устройства, например, получения данных привязки устройств от службы, используемой для обнаружения или идентификации периферийного устройства, от самого периферийного устройства и т.д.

[0025] При входе в его или ее учетную запись, вычислительное устройство 102 синхронизирует данные привязки устройств со службой 106. Вычислительное устройство 102, синхронизирующее данные привязки устройств, относится к вычислительному устройству 102, получающему данные привязки устройств от службы 106, и обеспечивающему передачу данных привязки устройств от вычислительного устройства 102 в службу 106. Служба 106 может включать в себя модуль 112 синхронизации данных и хранилище 114 данных привязки устройств. Модуль 112 синхронизации данных управляет синхронизацией данных привязки устройств с вычислительными устройствами 102, 104, сохраняя принятые данные привязки устройств в хранилище 114 данных привязки устройств. Хранилище 114 данных привязки устройств службы 106, таким образом, включает в себя данные привязки устройств, которые обеспечиваются для службы 106 в качестве результата привязки периферийных устройств 108 к различным вычислительным устройствам 102, 104 и синхронизируются для всех вычислительных устройств 102, 104.

[0026] Альтернативно, служба 106 может просто включать в себя хранилище 114 данных привязки устройств, и вычислительные устройства 102, 104 могут считывать данные из хранилища 114 данных привязки устройств и определять любые изменения в данных привязки устройств, как описано более подробно ниже, без использования модуля 112 синхронизации данных. Служба 106 может поддерживать модели активной доставки (например, когда служба 106 обеспечивает данные от службы 106 для одного или нескольких вычислительных устройств 102) и/или модели активного опроса (например, когда вычислительное устройство 102 опрашивает службу 106 или, иначе говоря, осуществляет доступ к службе 106 для запроса или считывания данных от службы 106).

[0027] Когда пользователь осуществил логический вход в его или ее учетную запись с вычислительного устройства 102 или 104, данные привязки устройств для вновь привязанных периферийных устройств 108 на вычислительном устройстве отправляются в службу 106 и сохраняются в хранилище 114 данных привязки устройств. Подобным образом, указания на отмену привязки (например, удаление или деинсталляцию) периферийных устройств 108 могут быть отправлены в службу 106, и указанные данные привязки устройств могут быть удалены из хранилища 114 данных привязки устройств. Отмена привязки периферийного устройства 108 относится к деинсталляции этого устройства (например, стиранию или, иначе говоря, удалению драйверов или других ресурсов, очистке или сбросу характеристик для вычислительного устройства 102 и/или периферийного устройства 108 и т.д.), или, иначе говоря, очистке или сбросу значений, используемых вычислительным устройством 102 для установления связи с периферийным устройством 108. В одном или нескольких вариантах осуществления, для управления конфликтами между вычислительными устройствами, которые могут иметь разные данные, каждое вычислительное устройство 102, 104 и служба 106 сохраняют временные метки (например, даты и/или моменты времени) для тех моментов, когда эти данные были модифицированы в последний раз (посредством или с точки зрения вычислительного устройства или службы) для разрешения конфликтов и определения того, какие данные являются данными, подлежащими использованию (например, самая последняя временная метка для момента, когда данные модифицировались в последний раз).

[0028] Данные привязки устройств, принимаемые от одного вычислительного устройства 102, 104, хранят в хранилище 114 данных привязки устройств и обеспечивают для других вычислительных устройств 102, 104. Данные могут быть обеспечены для других вычислительных устройств 102, 104 или, иначе говоря, получены ими, в разные моменты времени и/или в качестве реакции на разные события, например, при логическом входе пользователя в его или ее учетную запись с другого вычислительного устройства 102, 104, с регулярными или нерегулярными интервалами времени (например, могут быть отправлены к другому вычислительному устройству 102, 104 службой 106, считаны другим вычислительным устройством 102, 104 и т.д.).

[0029] Таким образом, при привязке нового периферийного устройства 108 к вычислительному устройству 102, данные привязки устройств для нового периферийного устройства 108 отправляют в службу 106 и сохраняют в хранилище 114 данных привязки устройств. Впоследствии, при логическом входе пользователя в его или ее учетную запись с вычислительного устройства 104, данные привязки устройств для нового периферийного устройства 108 отправляются от службы 106 в вычислительное устройство 104, и новое периферийное устройство 108 автоматически привязывается к вычислительному устройству 104 (показано пунктирным соединением 120). Следует отметить, что новое периферийное устройство автоматически привязывается к вычислительному устройству 104, если новое периферийное устройство может быть автоматически привязано к вычислительному устройству 104. Могут возникнуть ситуации, при которых новое периферийное устройство не может быть автоматически привязано к вычислительному устройству 104, в этом случае новое периферийное устройство не привязывают автоматически к вычислительному устройству 104, как описано более подробно ниже. Подобным образом, если дополнительное периферийное устройство необходимо ассоциировать с вычислительным устройством 104, данные привязки устройств для этого дополнительного периферийного устройства обеспечивают для вычислительного устройства 102, и дополнительное периферийное устройство автоматически привязывают к вычислительному устройству 102 (предполагая, что дополнительное периферийное устройство может быть автоматически привязано к вычислительному устройству 102).

[0030] Фиг. 2 является блок-схемой, показывающей иллюстративное вычислительное устройство 200, реализующее синхронизацию данных привязки устройств среди вычислительных устройств, согласно одному или нескольким вариантам осуществления. Вычислительное устройство 200 может быть, например, вычислительным устройством 102 или 104 фиг. 1. Вычислительное устройство 200 включает в себя модуль 202 пользовательского ввода данных, модуль 204 вывода данных, коммуникационный модуль 206, модуль 208 синхронизации данных привязки устройств, и хранилище 210 данных привязки устройств.

[0031] Модуль 202 пользовательского ввода данных принимает пользовательские вводы данных от пользователя вычислительного устройства 200. Пользовательские вводы данных могут быть обеспечены множеством разных способов, такими как нажатие одной или нескольких клавиш клавишной панели или клавиатуры устройства 200, нажатия одной или нескольких клавиш контроллера (например, удаленного устройства управления, мыши, сенсорной площадки и т.д.) устройства 200, нажатия конкретного участка сенсорного планшета или сенсорного экрана устройства 200, выполнения конкретного жеста на сенсорном планшете или сенсорном экране устройства 200, и/или выполнения конкретного жеста на контроллере (например, на удаленном устройстве управления, мыши, сенсорной площадке и т.д.) устройства 200. Пользовательские вводы данных могут быть также обеспечены посредством другого ввода данных в устройство 200 с физической обратной связью, например, постукивания по любому участку устройства 200, действия, которое может быть распознано посредством устройства детектирования движения или другого компонента устройства 200 (например, встряхивание устройства 200, поворот устройства 200, сгибание или изгибание устройства 200 и т.д.) и т.д. Пользовательские вводы данных могут быть также обеспечены другими способами, например, посредством речи или других звуковых вводов данных для микрофона, посредством движений рук или других частей тела, наблюдаемых устройством захвата изображения и т.д.

[0032] Модуль 204 вывода данных генерирует, управляет, и/или выдает контент для отображения, воспроизведения, и/или другого представления. Этот контент может быть создан посредством модуля 204 вывода данных или получен от других модулей вычислительного устройства 200. Этот контент может быть, например, участком отображения или воспроизведения пользовательского интерфейса (UI), приглашениями ко вводу данных и т.д. Контент может быть отображен или, иначе говоря, воспроизведен посредством компонентов вычислительного устройства 200 (например, громкоговорителей, интерактивных устройств отображения и т.д.). Альтернативно, модуль 204 вывода данных может генерировать один или несколько сигналов, которые выводятся к другим устройствам или компонентам (например, громкоговорителям, устройствам отображения и т.д.), которые являются отдельными от вычислительного устройства 200.

[0033] Коммуникационный модуль 206 управляет связью со службой, такой как служба 106 фиг. 1, а также периферийными устройствами, такими как периферийные устройства 108 фиг. 1. Управление связью относится к отправке данных, получаемых от других модулей вычислительного устройства 200, к целевому устройству, и обеспечению данных, принимаемых от других модулей, для соответствующих модулей вычислительного устройства 200.

[0034] Хранилище 210 данных привязки устройств сохраняет копии данных привязки устройств для устройств, привязанных в ручном режиме к вычислительному устройству 200, а также данных привязки устройств для устройств, принимаемых от службы 106. Данные привязки устройств для устройств, принимаемые от службы 106, могут быть автоматически связаны с вычислительным устройством 200, или, альтернативно, могут быть приняты и сохранены в хранилище 210 данных привязки устройств без связывания с вычислительным устройством 200, как описано более подробно ниже.

[0035] Модуль 208 синхронизации данных привязки устройств управляет отправкой данных привязки устройств в службу 106. Когда новое периферийное устройство привязывается в ручном режиме к вычислительному устройством 200 при логическом входе пользователя в его или ее учетную запись в службе 106, данные привязки устройств для периферийного устройства сохраняются в хранилище 210 данных привязки устройств, и модуль 208 синхронизации данных привязки устройств отправляет копию данных привязки устройств в службу 106. Если новое периферийное устройство привязывается в ручном режиме к вычислительному устройству 200 при отсутствии логического входа пользователя в его или ее учетную запись в службе 106, то модуль 208 синхронизации данных привязки устройств может отправить копию данных привязки устройств для нового периферийного устройства в службу 106 впоследствии, при логическом входе пользователя в его или ее учетную запись с вычислительного устройства 200. Альтернативно, модуль 208 синхронизации данных привязки устройств может не отправлять копию данных привязки устройств для нового периферийного устройства в службу 106, если новое периферийное устройство привязывается в ручном режиме к вычислительному устройству 200 при отсутствии логического входа пользователя в его или ее учетную запись в службе 106.

[0036] Модуль 208 синхронизации данных привязки устройств также управляет приемом данных привязки устройств от службы 106. При логическом входе пользователя в его или ее учетную запись в службе 106 с вычислительного устройства 200, служба 106 отправляет копию данных привязки устройств для любых новых периферийных устройств, для которых служба 106 имеет копию, а вычислительное устройство 200 не имеет копию (например, для периферийных устройств, которые ассоциировались в ручном режиме с другим вычислительным устройством). Служба 106 может также отправить копию другой информации о данных привязки устройств, принимаемых от службы 106, такой как информация о временных метках, пользовательская информация и т.д. Модуль 208 синхронизации данных привязки устройств сохраняет копию данных привязки устройств, принимаемых от службы 106, в хранилище 210 данных привязки устройств. Модуль 208 синхронизации данных привязки устройств также сохраняет информацию о данных привязки устройств, принимаемых от службы 106, такую как информация о временных метках, пользовательская информация и т.д., для разрешения конфликтов и выполнения других функций. Модуль 208 синхронизации данных привязки устройств также автоматически привязывает вычислительное устройство 200 к периферийному устройству, соответствующему этим данным привязки устройств, предполагая, что периферийное устройство может быть автоматически привязано к вычислительному устройству 200, как описано более подробно ниже.

[0037] Подобным образом, другие изменения в данных привязки устройств могут быть отправлены в службу 106 и/или приняты от службы 106 аналогично отправке данных привязки устройств для нового периферийного устройства. Например, если данные привязки устройств для периферийного устройства изменяются (например, имя сервера печати изменяется, данные обеспечения безопасности или данные аутентификации изменяются и т.д.), то указание изменения может быть отправлено в службу 106, которая отправляет это указание к другим вычислительным устройствам, при логическом входе пользователя в его или ее учетную запись с этих других вычислительных устройств. Таким образом, изменение в данных привязки устройств автоматически синхронизируют с другими вычислительными устройствами. В качестве другого примера, если периферийное устройство удаляют (например, деинсталлируют или отменяют привязку) на одном вычислительном устройстве, то указание на удаление может быть отправлено в службу 106, которая отправляет это указание к другим вычислительным устройствам, при логическом входе пользователя в его или ее учетную запись с этих других вычислительных устройств. Таким образом, для периферийного устройства автоматически отменяют привязку (например, деинсталлируют) с этими другими вычислительными устройствами. Альтернативно, указания удаленных периферийных устройств могут не отправляться в службу 106, а, вместо этого, пользователь в ручном режиме отменяет привязку периферийных устройств на вычислительных устройствах по его или ее желанию. Следует отметить, что даже если для периферийного устройства отменена привязка к вычислительному устройству, то соответствующие данные привязки устройств могут остаться на вычислительном устройстве (или, альтернативно, могут быть удалены).

[0038] Определения того, какие изменения в данных привязки устройств (например, новые данные привязки устройств, указания удалений или другие изменения) сделаны, и, таким образом, какие изменения в данных привязки устройств должны быть синхронизированы с другими вычислительными устройствами, могут быть выполнены различными способами. Служба 106 и/или вычислительное устройство 200 могут обеспечить выполнение этого определения. Например, вычислительное устройство 200 может определить, какие изменения в данных привязки устройств были сделаны, и отправить указание на изменения в данных привязки устройств, которые были сделаны. В качестве другого примера, вычислительное устройство 200 может отправить запись, по существу, всех данных привязки устройств в хранилище 210 данных привязки устройств (например, отображение статистического состояния текущих данных привязки устройств для вычислительного устройства 200) в службу 106, и служба 106 может сравнить запись, по существу, всех данных привязки устройств, с соответствующей записью данных привязки устройств, сохраненной службой 106, для определения того, какие изменения в данных привязки устройств были сделаны.

[0039] В качестве еще одного примера, вычислительное устройство 200 может отправить запись, по существу, всех данных привязки устройств в хранилище 210 данных привязки устройств (например, отображение статистического состояния текущих данных привязки устройств для вычислительного устройства 200) в службу 106, и служба 106 может сохранить копию этой записи. Затем, запись может быть отправлена службой 106 к другим вычислительным устройствам, при логическом входе пользователя в его или ее учетную запись с этих других вычислительных устройств, и эти другие вычислительные устройства могут сравнить запись, по существу, всех данных привязки устройств, с их записями данных привязки устройств, для определения того, какие изменения в данных привязки устройств были сделаны. Эта запись может быть, альтернативно, отправлена службой 106 к другим вычислительным устройствам в другие моменты времени, или в качестве реакции на другие события, например, служба 106 может принудительно рассылать эту запись к другим вычислительным устройствам с регулярными или нерегулярными интервалами времени, другие вычислительные устройства могут запрашивать эту запись (например, опрашивая службу 106) с регулярными или нерегулярными интервалами времени и т.д.

[0040] Фиг. 3 является последовательностью операций, показывающей иллюстративный процесс 300 для синхронизации данных привязки устройств среди вычислительных устройств, согласно одному или нескольким вариантам осуществления. Процесс 300 может быть реализован в программном обеспечении, аппаратно-программном обеспечении, аппаратном обеспечении, или их комбинации. Процесс 300 показан с использованием трех столбцов: действия процесса 300, показанные в левом столбце, выполняют посредством одного вычислительного устройства (например, вычислительного устройства 102 или 104 фиг. 1, или вычислительного устройства 200 фиг. 2), действия процесса 300, показанные в правом столбце, выполняют посредством другого вычислительного устройства (например, вычислительного устройства 102 или 104 фиг. 1, или вычислительного устройства 200 фиг. 2), и действия процесса 300, показанные в среднем столбце, выполняют посредством службы (например, службы 106 фиг. 1). Процесс 300 показан в виде набора действий и не ограничен порядком, показанным для выполнения операций различных действий. Процесс 300 является иллюстративным процессом для синхронизации данных привязки устройств среди вычислительных устройств; дополнительные описания синхронизации данных привязки устройств среди вычислительных устройств включены в данный документ со ссылкой на разные фигуры.

[0041] В процессе 300, данные привязки устройств и/или изменения в данных привязки устройств отправляют в службу (этап 302), которая принимает данные привязки устройств и/или изменения в данных привязки устройств (этап 304) и сохраняет копию данных привязки устройств и/или изменений в данных привязки устройств (этап 306).