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

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

Info

Publication number
RU2648971C2
RU2648971C2 RU2015150953A RU2015150953A RU2648971C2 RU 2648971 C2 RU2648971 C2 RU 2648971C2 RU 2015150953 A RU2015150953 A RU 2015150953A RU 2015150953 A RU2015150953 A RU 2015150953A RU 2648971 C2 RU2648971 C2 RU 2648971C2
Authority
RU
Russia
Prior art keywords
computing device
peripheral
binding data
computing
devices
Prior art date
Application number
RU2015150953A
Other languages
English (en)
Other versions
RU2015150953A (ru
Inventor
Джастин А. ХАТЧИНГЗ
Эрик О. ПЕТЕРСОН
Арун Бабу НАГАРАДЖАН
Кайл П. ВОЙТАШЕК
Дж. Адриан ЛЭННИН
Роберт Ф. ХЭЙН
Эсайас Э. ГРИФФ
Никет А. САНГХВИ
Сэмюэл Дэвид АДАМС
Дэвид В. ДЬЮХОН
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2015150953A publication Critical patent/RU2015150953A/ru
Application granted granted Critical
Publication of RU2648971C2 publication Critical patent/RU2648971C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
[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). Служба сохраняет копию данных привязки устройств, ассоциированную с пользовательской учетной записью, которая является пользовательской учетной записью, в которую пользователь вошел при отправке данных привязки устройств в службе на этапе 302. Для изменений в данных привязки устройств, служба может заменить предшествующие данные привязки устройств (изменяемые данные привязки устройств) на вновь принятые данные привязки устройств.
[0042] Данные привязки устройств и/или изменения в данных привязки устройств отправляют посредством службы к вычислительному устройству (этап 308). Данные привязки устройств и/или изменения в данных привязки устройств могут быть отправлены к вычислительному устройству и приняты (этап 310) вычислительным устройством, которое является вычислительным устройством, отличным от вычислительного устройства, которое отправило данные привязки устройств и/или изменения в данных привязки устройств на этапе 302. Данные привязки устройств и/или изменения в данных привязки устройств могут быть отправлены на этапе 308 в качестве реакции на запрос от вычислительного устройства на данные привязки устройств и/или изменения в данных привязки устройств, или, альтернативно, служба может принудительно рассылать или, иначе говоря, обеспечивать данные привязки устройств и/или изменения в данных привязки устройств для вычислительного устройства на этапе 308, независимо от какого-либо запроса на данные привязки устройств и/или изменения в данных привязки устройств, принимаемого службой. Вычислительное устройство сохраняет копию данных привязки устройств и/или изменений в данных привязки устройств (этап 312). Вычислительное устройство также автоматически привязывается к вычислительному устройству, периферийные устройства которого идентифицированы данными привязки устройств, которое может быть автоматически привязано к этому вычислительному устройству, и/или обновляет данные привязки устройств согласно изменениям в данных привязки устройств (этап 314).
[0043] Дополнительно или альтернативно, запрос на прием данных привязки устройств и/или изменений в данных привязки устройств может быть отправлен (этап 316) в службу посредством того же самого вычислительного устройства, которое ранее отправило данные привязки устройств и/или изменения в данных привязки устройств на этапе 302. В качестве реакции на запрос, отправленный на этапе 316, служба отправляет данные привязки устройств и/или изменения в данных привязки устройств, ассоциированные с пользовательской учетной записью, к вычислительному устройству (этап 308). Вычислительное устройство принимает данные привязки устройств и/или изменения в данных привязки устройств (этап 318), и сохраняет копию данных привязки устройств и/или изменений в данных привязки устройств (этап 320). Вычислительное устройство также автоматически привязывается к вычислительному устройству, периферийные устройства которого идентифицированы данными привязки устройств, которое может быть автоматически привязано к этому вычислительному устройству, и/или обновляет данные привязки устройств согласно изменениям в данных привязки устройств (этап 322). Альтернативно, вместо запроса, отправляемого на этапе 316, служба может принудительно рассылать или, иначе говоря, обеспечивать данные привязки устройств и/или изменения в данных привязки устройств, ассоциированные с пользовательской учетной записью, для вычислительного устройства на этапе 318, независимо от какого-либо запроса на данные привязки устройств и/или изменения в данных привязки устройств, принимаемого службой.
[0044] Таким образом, данные привязки устройств и/или изменения в данных привязки устройств могут быть синхронизированы с другими вычислительными устройствами, и периферийные устройства могут быть автоматически привязаны к этим другим вычислительным устройствам. Дополнительно или альтернативно, данные привязки устройств могут быть возвращены из службы к вычислительному устройству, которое отправило данные привязки устройств в службу. Таким образом, вычислительное устройство может создать резервную копию его информации о данных привязки устройств для службы, и, впоследствии, принять данные привязки устройств и обеспечить автоматическую повторную привязку периферийных устройств к вычислительному устройству (например, если вычислительное устройство имеет новый накопитель на жестких дисках, при повторной инсталляции операционной системы на вычислительном устройстве и т.д.).
[0045] Следует отметить, что данные привязки устройств связываются с пользовательской учетной записью в службе, и, таким образом, отправку и прием данных привязки устройств выполняют при логическом входе пользователя в его или ее пользовательскую учетную запись. Отправка и прием для разных вычислительных устройств в процессе 300 могут быть, таким образом, выполнены в разные моменты времени. Например, данные привязки устройств могут быть отправлены в службу на этапе 302, при логическом входе пользователя в его или ее пользовательскую учетную запись с одного вычислительного устройства, и, затем, впоследствии, отправлены от службы к другому вычислительному устройству на этапе 308, при более позднем логическом входе пользователя в его или ее пользовательскую учетную запись с этого другого вычислительного устройства. Следует также отметить, что одновременные процессы 300 могут быть выполнены из разных вычислительных устройств. Например, одно вычислительное устройство может отправлять данные привязки устройств в службу одновременно с приемом другим вычислительным устройством данных привязки устройств от службы, одно вычислительное устройство может отправлять данные привязки устройств в службу одновременно с отправкой другим вычислительным устройством данных привязки устройств в службу и т.д.
[0046] В иллюстративном процессе 300, данные привязки устройств показаны в виде данных, принимаемых службой от вычислительного устройства. Альтернативно, данные привязки устройств могут быть приняты из других источников. Например, в одном или нескольких вариантах осуществления, периферийное устройство может само обеспечить данные привязки устройств для периферийного устройства для службы. Например, периферийное устройство может быть смартфоном, который способен отправлять свои собственные данные привязки устройств в службу. Таким образом, периферийное устройство способно обеспечить свои данные привязки устройств для службы, которая синхронизирует данные привязки устройств с вычислительными устройствами, с которых пользователь входит в его или ее учетную запись, и данное периферийное устройство автоматически привязывается к этим вычислительным устройствам, без необходимости для пользователя когда-либо привязывать это периферийное устройство в ручном режиме к вычислительному устройству. Подобным образом, периферийное устройство (такое как периферийное устройство смартфона) может также принимать от службы данные привязки устройств, которые могут содержать данные установок пользователя о том, как конкретный пользователь желает или предпочитает использовать периферийное устройство, и периферийное устройство может использовать эти данные установок (например, посредством установки соответствующих значений конфигурации или других аппаратных установок согласно данным установок пользователя).
[0047] Фиг. 4 является последовательностью операций, показывающей иллюстративный процесс 400 для автоматической привязки периферийных устройств к вычислительному устройству, согласно одному или нескольким вариантам осуществления. Процесс 400 выполняют посредством вычислительного устройства, такого как вычислительное устройство 102 или 104 фиг. 1, или вычислительное устройство 200 фиг. 2, и он может быть реализован в программном обеспечении, аппаратно-программном обеспечении, аппаратном обеспечении, или их комбинации. Процесс 400 показан в виде набора действий и не ограничен порядком, показанным для выполнения операций различных действий. Процесс 400 является иллюстративным процессом для автоматической привязки периферийных устройств к вычислительному устройству; дополнительные описания автоматической привязки периферийных устройств к вычислительному устройству включены в данный документ со ссылкой на разные фигуры.
[0048] В процессе 400, в пользовательскую учетную запись входят (этап 402) с вычислительного устройства, реализующего процесс 400. Принимают (этап 404) данные привязки устройств для каждого из одного или нескольких периферийных устройств, ассоциированных с пользовательской учетной записью. Принимаемые данные привязки устройств могут иметь разные формы, например, могут быть, по существу, всеми принимаемыми данными привязки устройств, данными привязки устройств для новых периферийных устройств, инсталлированных другими вычислительными устройствами, и т.д. Данные привязки устройств могут быть приняты в разные моменты времени, например, вскоре после логического входа в пользовательскую учетную запись, через некоторое количество времени после входа в пользовательскую учетную запись (например, после истечения порогового количества времени, после приема от службы порогового количества других данных или данных более высокого приоритета и т.д.), на основе других событий (например, изменения в данных привязки устройств, хранящихся в службе) и т.д.
[0049] Копию принятых данных привязки устройств сохраняют на вычислительном устройстве (этап 406). Дополнительно, определяют (этап 408), какие из одного или нескольких периферийных устройств, соответствующих принятым данным привязки устройств, еще не привязаны к вычислительному устройству, но могут быть привязаны к вычислительному устройству. Одно или несколько периферийных устройств, определенных на этапе 408 в качестве способных к привязке к вычислительному устройству, но в настоящий момент не привязанные к вычислительному устройству, автоматически привязываются к вычислительному устройству (этап 410). При автоматической привязке периферийных устройств к вычислительному устройству, к периферийным устройствам может быть впоследствии осуществлен доступ посредством вычислительного устройства, как если бы они были привязаны в ручном режиме к вычислительному устройству (например, инсталлированы в ручном режиме на вычислительном устройстве), хотя пользователь не должен в ручном режиме привязывать периферийные устройства к вычислительному устройству (например, не должен в ручном режиме инсталлировать периферийные устройства).
[0050] Определение того, какие периферийные устройства уже привязаны к вычислительному устройству, может быть выполнено множеством способов, например, при сравнении идентификатора периферийного устройства, включенного в данные привязки устройств, с идентификаторами периферийных устройств, уже привязанных к вычислительному устройству, при предположении, что все данные привязки устройств, принятые от сервера, являются данными для периферийных устройств, еще не привязанных к вычислительному устройству (и, таким образом, никакие из периферийных устройств, соответствующих принятым данным привязки устройств, еще не привязаны к вычислительному устройству) и т.д.
[0051] Определение того, какие периферийные устройства могут быть автоматически привязаны к вычислительному устройству, может быть выполнено разными способами. В одном или нескольких вариантах осуществления, различные правила (или, иначе, критерии) применяют для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству. Такие правила могут находиться в различных местоположениях, например, на вычислительном устройстве, могут храниться в виде части данных привязки устройств, которые вычислительное устройство принимает от службы, и т.д. Периферийное устройство может быть, таким образом, автоматически привязано к вычислительному устройству, если одно или несколько правил не указывают на то, что периферийное устройство не подлежит автоматической привязке к данному устройству.
[0052] Следует также отметить, что если периферийное устройство не подлежит автоматической привязке к вычислительному устройству, то данные привязки устройств для периферийного устройства могут все же быть использованы для обеспечения обнаружения периферийного устройства и/или привязки периферийного устройства при привязке в ручном режиме этого периферийного устройства к вычислительному устройству. Например, периферийное устройство может иметь код защиты или другую информацию, которая хранится в данных привязки устройств, и пользователь не должен вводить или, иначе говоря, обеспечивать эту информацию снова, если он или она желает подключить это периферийное устройство посредством его инсталляции в ручном режиме. В качестве другого примера, существование периферийного устройства может быть отображено на экране выбора периферийного устройства или другом экране конфигурации, например, в разных видах (например, с использованием другого цвета, с тенью или более светлым и т.д.), для указания на то, что периферийное устройство существует, но не привязано к вычислительному устройству.
[0053] Правила для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству, могут включать в себя правило доступности драйвера периферийного устройства. Драйвер периферийного устройства относится к программному обеспечению (и/или аппаратно-программному обеспечению) и данным, которые используются вычислительным устройством для установления связи с периферийным устройством. В одном или нескольких вариантах осуществления, вычислительное устройство, принимающее данные привязки устройств, соответствующие периферийному устройству, может быть неспособным инсталлировать драйверы периферийных устройств, или может быть неспособным инсталлировать драйвер для этого периферийного устройства. В таких вариантах осуществления, выполняют определение, что периферийное устройство не может быть привязано к вычислительному устройству.
[0054] Дополнительно, некоторые драйверы периферийных устройств загружают из источника (например, другого устройства или службы), например, через сеть, с магнитного или оптического диска, из устройства флэш-памяти или другого твердотельного накопителя, из другого местоположения на самом вычислительном устройстве и т.д. Для этих драйверов периферийных устройств может быть цифровым способом указано, что они проверены, что они могут быть получены из проверенных источников, или могут быть проверены иным образом. В одном или нескольких вариантах осуществления, выполняют определение, что драйвер периферийного устройства не может быть инсталлирован на вычислительное устройство, если драйвер периферийного устройства не проверен (например, цифровым способом не указано достоверным для вычислительного устройства источником, что драйвер получен из проверенного источника, и т.д.). Однако, пользователю может быть предложено разрешить инсталляцию периферийного устройства с использованием полученного драйвера периферийного устройства. Для разрешения инсталляции периферийного устройства могут быть приняты различные пользовательские вводы данных, такие как выбор варианта «да» или «инсталлировать». Если пользовательский ввод данных указывает на то, что инсталляция периферийного устройства разрешена, то тогда периферийное устройство привязывается к вычислительному устройству, как при автоматической привязке к вычислительному устройству (пользователь не должен выполнять дополнительные действия для привязки периферийного устройства к вычислительному устройству, в отличие от привязки периферийного устройства к вычислительному устройству в ручном режиме).
[0055] Дополнительно, некоторые драйверы периферийных устройств разработаны с использованием разных моделей (например, форматов или протоколов, используемых драйверами), которые могут быть идентифицированы по номеру версии. Периферийное устройство может иметь драйверы, использующие разные модели из таких моделей. В одном или нескольких вариантах осуществления, выполняют определение, что драйвер периферийного устройства не может быть инсталлирован на вычислительное устройство, если драйвер периферийного устройства не является конкретной моделью, не является по меньшей мере конкретной версией модели драйвера, и т.д. Однако, пользователю может быть, необязательно, предложено разрешить инсталляцию периферийного устройства с использованием полученного драйвера периферийного устройства, несмотря на то, что полученный драйвер не является конкретной моделью, по меньшей мере конкретной версией модели драйвера, и т.д. Для разрешения инсталляции периферийного устройства могут быть приняты различные пользовательские вводы данных, такие как выбор варианта «да» или «инсталлировать». Если пользовательский ввод данных указывает на то, что инсталляция периферийного устройства разрешена, то тогда периферийное устройство привязывают к вычислительному устройству, как при автоматической привязке к вычислительному устройству (пользователь не должен выполнять дополнительные действия для привязки периферийного устройства к вычислительному устройству, в отличие от привязки периферийного устройства к вычислительному устройству в ручном режиме).
[0056] Правила для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству, могут включать в себя заданное аппаратное правило. Некоторые периферийные устройства могут быть привязаны к вычислительному устройству способом, конкретным для отдельного вычислительного устройства, и данные привязки устройств включают в себя этот конкретный способ. Например, периферийное устройство (например, Bluetooth-устройство) может быть инсталлировано на вычислительное устройство и может иметь данные привязки устройств, которые включают в себя MAC-адрес вычислительного устройства, на котором периферийное устройство инсталлируют. В одном или нескольких вариантах осуществления, выполняют проверку в отношении того, включают ли в себя данные привязки устройств данные, задающие конкретное вычислительное устройство. Если вычислительное устройство, которое принимает данные привязки устройств, является вычислительным устройством, заданным посредством данных привязки устройств, то тогда периферийное устройство может быть автоматически привязано к вычислительному устройству. Однако, если вычислительное устройство, которое принимает данные привязки устройств, не является вычислительным устройством, заданным посредством данных привязки устройств, то тогда периферийное устройство не может быть автоматически привязано к вычислительному устройству. Таким образом, такое периферийное устройство может быть автоматически повторно привязано к вычислительному устройству, из которого были исходно отправлены данные привязки устройств (например, посредством создания резервной копии данных привязки устройств), но не может быть автоматически привязано к другим вычислительным устройствам.
[0057] Правила для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству, могут включать в себя доменное или сетевое правило. Разные периферийные устройства могут быть расположены в конкретных сетях или доменах, которые являются доступными только для конкретных вычислительных устройств (например, вычислительных устройств с доступом к сети, вычислительных устройств, которые являются частью того же самого домена, и т.д.). В одном или нескольких вариантах осуществления, выполняют проверку в отношении того, указывают ли данные привязки устройств на то, что периферийное устройство является частью домена или расположено в сети, к которой вычислительное устройство, которое приняло данные привязки устройств, в настоящий момент не имеет доступа. Является ли периферийное устройство частью домена или расположено в сети, к которой вычислительное устройство, которое приняло данные привязки устройств, в настоящий момент не имеет доступа, может быть определено различными способами, например, посредством сравнения домена или сети, в которой находится периферийное устройство (при идентификации в данных привязки устройств), с записью домена или сети (например, сохраненной посредством операционной системы вычислительного устройства), в которой находится в настоящий момент вычислительное устройство, для определения того, являются ли они одними и теми же, посредством попытки доступа к периферийному устройству и проверки того, является ли попытка успешной, и т.д. Если периферийное устройство является частью домена или расположено в сети, к которой вычислительное устройство в настоящий момент не имеет доступа, то тогда выполняют определение, что периферийное устройство не может быть автоматически привязано к вычислительному устройству.
[0058] Хотя выполняют определение, что периферийное устройство не может быть автоматически привязано к вычислительному устройству, это определение выполняют вследствие того, что периферийное устройство в настоящий момент является недоступным. Таким образом, периферийное устройство может быть обозначено в качестве способного к привязке к вычислительному устройству, но не может быть автоматически привязано к вычислительному устройству. Периферийное устройство или данные привязки устройств помечают или выполняют запись о таком периферийном устройстве или данных привязки устройств для указания вычислительному устройству на то, что оно может, впоследствии, получить доступ к домену или сети, в которой расположено периферийное устройство, которое, таким образом, должно быть привязано к вычислительному устройству. Например, вычислительное устройство может быть компактным портативным компьютером, который пользователь запускает дома при выполнении процесса 400, и, таким образом, он не имеет доступа к его или ее рабочему домену или сети, но, позже, его могут взять на работу, и он сможет соединиться с доменом или сетью, в которой расположено периферийное устройство. В такой ситуации, периферийное устройство может быть автоматически привязано к этому устройству позже (например, когда пользователь возьмет его или ее устройство на работу, и вычислительное устройство детектирует, что оно соединилось с доменом или сетью, в которой расположено периферийное устройство), или пользователю может быть предложено, в более поздний момент времени, указать на то, является ли желательной повторная проверка способности к автоматической привязке периферийного устройства к вычислительному устройству. Модуль 208 синхронизации данных привязки устройств фиг. 2 может проверить с регулярными или нерегулярными интервалами времени, или в качестве реакции на конкретные события (например, соединение вычислительного устройства с конкретным доменом), является ли периферийное устройство частью домена или расположено в сети, к которой вычислительное устройство в настоящий момент имеет доступ.
[0059] Правила для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству, могут включать в себя правило причины привязки. В некоторых ситуациях, периферийные устройства могут быть привязан к вычислительным устройствам по конкретным причинам, таким как действие администратора или установка групповой политики. В одном или нескольких вариантах осуществления, когда периферийное устройство привязывают к вычислительному устройству в качестве реакции на команду от администратора или вследствие установки групповой политики, выполняют запись в данных привязки устройств, соответствующую тому, что периферийное устройство привязано к вычислительному устройству вследствие этой команды. Выполняют проверку, посредством вычислительного устройства, принимающего данные привязки устройств, в отношении того, указывают ли данные привязки устройств на то, что периферийное устройство было привязано к вычислительному устройству вследствие такой команды от администратора или вследствие установки групповой политики. Если периферийное устройство было привязано к вычислительному устройству вследствие такой команды от администратора или вследствие установки групповой политики, то тогда выполняют определение, что периферийное устройство не может быть автоматически привязано к вычислительному устройству, принимающим данные привязки устройств.
[0060] Правила для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству, могут включать в себя правило аутентификации. В некоторых ситуациях, некоторая информация о аутентификации, PIN и т.д., не включены в данные привязки устройств. Напротив, принимают пользовательский ввод данных на каждом вычислительном устройстве, к которому привязывается периферийное устройство, соответствующее этим данным привязки устройств. В одном или нескольких вариантах осуществления, выполняют проверку, посредством вычислительного устройства, принимающего данные привязки устройств, в отношении того, отсутствуют ли в соответствующих данных привязки устройств некоторые данные (такие как учетные данные, PIN и т.д.), используемые для привязки периферийного устройства. Если некоторые данные для привязки периферийного устройства к вычислительному устройству не включены в соответствующие данные привязки устройств, то тогда выполняют определение, что периферийное устройство не может быть автоматически привязано к вычислительному устройству.
[0061] Однако, пользователю, необязательно, может быть предложено обеспечить некоторые данные, которое отсутствуют в данных привязки устройств. Для обеспечения некоторых данных могут быть приняты различные пользовательские вводы данных, такие как ввод PIN или кода аутентификации на клавиатуре, обеспечение цифрового сертификата, ассоциированного с пользователем, и т.д. В качестве реакции на пользовательский ввод данных, обеспечивающий отсутствующие данные, периферийное устройство привязывают к вычислительному устройству, как при автоматической привязке к вычислительному устройству (пользователь не должен выполнять дополнительные действия для привязки периферийного устройства к вычислительному устройству, в отличие от выполнения им или ей инсталляции периферийного устройства в ручном режиме).
[0062] В описании правил для идентификации периферийных устройств, которые не могут быть автоматически привязаны к вычислительному устройству, сделана ссылка на приглашение пользователя ко вводу данных (например, разрешения для инсталляции драйвера, PIN или учетных данных и т.д.). Это приглашение может быть может быть выполнено в разные моменты времени, например, во время выполнения определения, что периферийное устройство не может быть автоматически привязано к данному устройству, в качестве реакции на пользовательский выбор периферийного устройства на устройстве управления периферийного устройства или экране конфигурации и т.д.
[0063] Дополнительно, следует отметить, что, если периферийное устройство не привязано автоматически к вычислительному устройству, то может быть отображено или иным образом представлено указание для обеспечения пользователю обратной связи в отношении того, почему периферийное устройство не было автоматически привязано к вычислительному устройству (например, драйвер периферийного устройства не может быть инсталлирован на вычислительном устройстве, вычислительное устройство не имеет собственного MAC-адреса, и т.д.). Это приглашение может быть может быть выполнено в разные моменты времени, например, во время выполнения определения, что периферийное устройство не может быть автоматически привязано к данному устройству, в качестве реакции на пользовательский выбор периферийного устройства на устройстве управления периферийного устройства или экране конфигурации, и т.д.
[0064] Следует также отметить, что в показанном примере процесса 400, на вычислительном устройстве сохраняют копию принятых данных привязки устройств, независимо от того, привязано ли периферийное устройство, соответствующее данным привязки устройств, автоматически к вычислительному устройству на этапе 410. Альтернативно, копия данных привязки устройств, соответствующих периферийному устройству, может быть сохранена на вычислительном устройстве только при некоторых обстоятельствах, например, при привязке периферийного устройства, соответствующего данным привязки устройств, к вычислительному устройству, при наличии в данных привязки устройств отметки о возможности привязки к вычислительному устройству, но невозможности автоматической привязки к вычислительному устройству, и т.д.
[0065] Фиг. 5 является блок-схемой, показывающей иллюстративную модель 500 для реализации технологий, описанных здесь, согласно одному или нескольким вариантам осуществления. Модель 500 может быть использована для реализации, например, модуля 208 синхронизации данных привязки устройств фиг. 2. Модель 500 включает в себя обобщенную инфраструктуру 502инфраинфраструктуру 502 синхронизации, средство 504 обработки синхронизации устройств, инфраструктуру 508 привязки устройств и хранилище 510 данных привязки устройств.
[0066] Инфраструктура 508 привязки устройств управляет данными привязки устройств для конкретных протоколов периферийных устройств (например, принтеров, Bluetooth-устройств, поставщиков Web-услуг и т.д.), причем данные привязки устройств сохраняют в хранилище 510 данных привязки устройств (которое может быть хранилищем 210 данных привязки устройств фиг. 2). Инфраструктура 508 привязки устройств обеспечивает метод 512 импорта, который является интерфейсом, позволяющим инфраструктуре 508 привязки устройств принимать данные привязки устройств от средства 504 обработки синхронизации устройств, и метод 514 экспорта, который является интерфейсом, позволяющим инфраструктуре 508 привязки устройств отправлять данные привязки устройств к средству 504 обработки синхронизации устройств. Инфраструктура 508 привязки устройств может включать в себя один или несколько модулей для управления данными привязки устройств для разных протоколов периферийных устройств.
[0067] В одном или нескольких вариантах осуществления, для загрузки в службу 106 набора данных привязки устройств для пользовательской учетной записи, обобщенная инфраструктура 502 синхронизации активизирует средство 504 обработки синхронизации устройств и запрашивает выполнение устройством 504 обработки перечисления данных для синхронизации. Средство 504 обработки синхронизации устройств обращается к инфраструктуре 508 привязки устройств и запрашивает выполнение инфраструктурой 508 экспорта имеющегося у нее набора данных привязки устройств. Инфраструктура 508 привязки устройств осуществляет считывание из хранилища 510 данных привязки устройств для получения его данных привязки устройств, и обеспечивает считанные данные привязки устройств обратно для средства 504 обработки синхронизации устройств. Средство 504 обработки синхронизации устройств помещает принятые данные привязки устройств в контейнер синхронизируемых данных и возвращает этот контейнер к обобщенной инфраструктуре 502 синхронизации. Обобщенная инфраструктура 502 синхронизации обеспечивает набор синхронизируемых данных для службы 106.
[0068] В одном или нескольких вариантах осуществления, для обеспечения изменений, сделанных в данных привязки устройств на вычислительном устройстве, для службы 106, средство 504 обработки синхронизации устройств непосредственно регистрирует события изменений по отношению к данным 510 привязки устройств. Альтернативно, средство 504 обработки синхронизации устройств может обеспечить прием изменений другими способами, например, активизируя метод интерфейса прикладного программирования API), исполняемый инфраструктурой 508 привязки устройств. В качестве реакции на изменение в хранилище 510 данных, оповещают средство 504 обработки синхронизации устройств, и средство 504 обработки синхронизации устройств перечисляет текущий набор данных привязки устройств из инфраструктуры 508 привязки устройств. Это перечисление позволяет средству 504 обработки синхронизации устройств получить подробную информацию о том, что изменено в хранилище 510 данных, без необходимости понимания подробной информации базового хранилища 510 данных. Инфраструктура 508 привязки устройств считывает информацию из хранилища 510 данных привязки устройств для получения его данных привязки устройств и возвращает его данные привязки устройств (например, в виде объектов данных привязки устройств) к средству 504 обработки синхронизации устройств, которое создает контейнер синхронизируемых установок, включающий в себя данные привязки устройств, которое оно принимает, и передает этот контейнер к обобщенной инфраструктуре 502 синхронизации. Обобщенная инфраструктура 502 синхронизации обеспечивает набор синхронизируемых данных для службы 106.
[0069] В одном или нескольких вариантах осуществления, для записи изменений, сделанных в данных привязки устройств, принятых от службы 106, служба 106 оповещает обобщенную инфраструктуру 502инфраинфраструктуру 502 синхронизации об изменении в данных привязки устройств и обеспечивает новый набор, по существу, всех синхронизируемых установок для обобщенной структуры 502 синхронизации. Обобщенная инфраструктура 502 синхронизации проводит синтаксический анализ этого набора и, затем, обращается к средству 504 обработки синхронизации устройств для обработки данных привязки устройств, которые были приняты от службы 106. Средство 504 обработки синхронизации устройств перечисляет существующий набор данных привязки устройств таким образом, чтобы оно могло определить различие между текущими локальными данными привязки устройств и данными привязки устройств, которые были приняты от службы 106. Средство 504 обработки синхронизации устройств сообщает инфраструктуре 508 привязки устройств различия между текущими локальными данными привязки устройств и данными привязки устройств, которые были приняты от службы 106. Инфраструктура 508 привязки устройств извлекает соответствующие данные привязки устройств из хранилища 510 данных привязки устройств. Набор привязки устройств, извлеченный из хранилища 510 данных, пересылают обратно к средству 504 обработки синхронизации устройств. Средство 504 обработки синхронизации устройств определяет, влияет ли набор данных, которые изменены, на набор данных привязки устройств, который им управляет; другими словами, если данные привязки устройств остались такими же, но другие синхронизируемые данные были изменены, то тогда нет изменения локального состояния, которым управляет средство 504 обработки синхронизации устройств. Если периферийное устройство было добавлено, то тогда средство 504 обработки синхронизации устройств обращается к инфраструктуре 508 привязки устройств с использованием команды импорта для добавления данных привязки устройств, и для того, чтобы инфраструктура 508 привязки устройств добавила данные привязки устройств в хранилище 510 данных. Если периферийное устройство было удалено, то тогда средство 504 обработки синхронизации устройств обращается к инфраструктуре 508 привязки устройств с использованием команды отмены привязки или удаления, и инфраструктура 508 привязки устройств удаляет данные привязки устройств из хранилища 510 данных. В результате добавления данных привязки устройств в хранилище 510 данных привязки устройств или удаления данных привязки устройств из него, вычислительное устройство привязывается к периферийному устройству, или привязка вычислительного устройства и периферийного устройства отменяется.
[0070] Технологии, описанные здесь, обеспечивают различные сценарии использования. Например, пользователь может инсталлировать периферийные устройства, которые он или она предпочитает использовать на одном из его или ее вычислительных устройств, и эти периферийные устройства автоматически инсталлируются на всех остальных его или ее вычислительных устройствах. В качестве другого примера, пользователь может приобрести новый смартфон и обеспечить, чтобы смартфон передал свои данные привязки устройств в службу. Затем, его или ее новый смартфон автоматически инсталлируется на всех его или ее вычислительных устройствах, без необходимости для пользователя в ручном режиме инсталлировать смартфон на какое-либо из этих устройств.
[0071] Для технологий, описанных здесь, могут быть выполнены различные другие модификации. В одном или нескольких вариантах осуществления, данные привязки устройств для периферийных устройств, инсталлированных на вычислительном устройстве, автоматически синхронизируют с различными другими вычислительными устройствами, с которых пользователь входит в его или ее учетную запись, как описано выше. Альтернативно, пользователю может быть предложено выбрать (например, в виде части процесса инсталляции), желает ли он или она, чтобы конкретное периферийное устройство было синхронизировано с его или ее другими вычислительными устройствами, и данные привязки устройств для конкретного периферийного устройства отправляются службе и другим вычислительным устройствам только в качестве реакции на пользовательский ввод данных, указывающий на то, что конкретное периферийное устройство подлежит синхронизации.
[0072] Хотя конкретная функциональность описана здесь со ссылкой на конкретные модули, следует отметить, что функциональность отдельных модулей, описанных здесь, может быть разделена на многочисленные модули, и/или по меньшей мере некоторая функциональность многочисленных модулей может быть объединена в единственном модуле. Здесь описаны различные действия, выполняемые различными модулями. Конкретный модуль, описанный здесь, при выполнении действия, включает в себя сам этот конкретный модуль, выполняющий действие, или, альтернативно, этот конкретный модуль, активизирующий или, иначе говоря, осуществляющий доступ к другому компоненту или модулю, который выполняет действие (или выполняет действие совместно с этим конкретным модулем). Таким образом, конкретный модуль, выполняющий действие, включает в себя сам этот конкретный модуль, выполняющий действие, и/или другой модуль, активированный этим конкретным модулем, выполняющим действие, или, иначе говоря, к которому осуществлен доступ посредством конкретного модуля, выполняющего действие.
[0073] Фиг. 6 показывает иллюстративную систему, в общем, обозначенную 600, которая включает в себя иллюстративное вычислительное устройство 602, которое является характерным для одной или нескольких систем и/или устройств, которые могут реализовать различные технологии, описанные здесь. Вычислительное устройство 602 может быть, например, сервером поставщика услуг, устройством, связанным с клиентом (например, клиентским устройством), системой на кристалле, и/или другими подходящими вычислительным устройством или вычислительной системой.
[0074] Показанное иллюстративное вычислительное устройство 602 включает в себя систему 604 обработки, одну или несколько машиночитаемых сред 606, и один или несколько интерфейсов 608 ввода/вывода, которые соединены с возможностью связи друг с другом. Хоть и не показано, вычислительное устройство 602 может дополнительно включать в себя системную шину или другую систему передачи данных или команд, которая соединяет различные компоненты друг с другом. Системная шина может включать в себя любую из разных конструкций шин или их комбинацию, например, шину памяти или шину контроллера памяти, периферийную шину, универсальную последовательную шину, и/или шину процессора или локальную шину, которая использует любую из множества архитектур шин. Может быть также рассмотрено множество других примеров, таких как линии управления и данных.
[0075] Система 604 обработки является характерной для функциональности для выполнения одной или нескольких операций с использованием аппаратного обеспечения. Таким образом, показано, что система 604 обработки включает в себя аппаратные элементы 610, которые могут быть выполнены в виде процессоров, функциональных блоков и т.д. Это может включать в себя реализацию в аппаратном обеспечении в виде специализированной интегральной схемы или другого логического устройства, выполненного с использованием одного или нескольких полупроводниковых приборов. Аппаратные элементы 610 не ограничены материалами, из которых они выполнены, или механизмами обработки, используемыми в них. Например, процессоры могут быть составлены из полупроводникового прибора (приборов) и/или транзисторов (например, электронных интегральных схем (IC)). В таком контексте, исполняемые процессором команды могут быть электронно-исполняемыми командами.
[0076] Показано, что машиночитаемые среды 606 включают в себя память/хранилище 612. Память/хранилище 612 представляет емкость памяти/хранения, связанную с одной или несколькими машиночитаемыми средами. Память/хранилище 612 может включать в себя энергозависимые среды (такие как память с произвольным доступом (RAM)) и/или энергонезависимые среды (такие как постоянное запоминающее устройство (ROM), флэш-память, оптические диски, магнитные диски и т.д.). Память/хранилище 612 может включать в себя несъемные среды (например, RAM, ROM, несъемный накопитель на жестких дисках и т.д.), а также съемные среды (например, флэш-память, съемный накопитель на жестких дисках, оптический диск и т.д.). Машиночитаемая среда 606 может быть выполнена множеством способов, как дополнительно описано ниже.
[0077] Интерфейс(ы) 608 ввода/вывода являются характерными для функциональности для обеспечения пользователю возможности вводить команды и информацию в вычислительное устройство 602, а также для обеспечения представления информации для пользователя и/или других компонентов или устройств с использованием различных устройств ввода/вывода. Примеры устройств ввода данных включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон (например, для речевых вводов данных), сканер, сенсорную функциональность (например, емкостные или другие датчики, которые выполнены с возможностью детектирования физического касания), камеру (например, которая может использовать видимые или невидимые длины волн, например, инфракрасные частоты, для детектирования перемещений, которые не включают в себя касания в виде жестов) и т.д. Примеры устройств вывода данных включают в себя устройство отображения (например, монитор или проектор), громкоговорители, принтер, сетевую плату, сенсорное устройство и т.д. Таким образом, вычислительное устройство 602 может быть выполнено различными способами, как дополнительно описано ниже, для поддержки взаимодействия с пользователем.
[0078] Вычислительное устройство 602 также включает в себя систему 614 синхронизации данных. Система 614 синхронизации данных обеспечивает различные функциональности для синхронизации данных привязки устройств, как описано выше. Система 614 синхронизации данных может реализовать, например, модуль 112 синхронизации данных фиг. 1, или модуль 208 синхронизации данных привязки устройств фиг. 2.
[0079] Здесь могут быть описаны различные технологии в общем контексте программного обеспечения, аппаратных элементов, или программных модулей. В общем, такие модули включают в себя подпрограммы, программы, объекты, элементы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные типы абстрактных данных. При использовании здесь, термины «модуль», «функциональность», и «компонент», в общем, представляют программное обеспечение, аппаратно-программное обеспечение, аппаратное обеспечение, или их комбинацию. Признаки и технологии, описанные здесь, являются независимыми от платформы, что означает, что эти технологии могут быть реализованы на разнообразных вычислительных платформах, имеющих разнообразные процессоры.
[0080] Реализация описанных модулей и технологий может быть сохранена на некотором типе машиночитаемой среды или передана через нее. Машиночитаемые среды могут включать в себя множество сред, к которым может быть осуществлен доступ посредством вычислительного устройства 602. В качестве примера, а не ограничения, машиночитаемые среды могут включать в себя «машиночитаемые запоминающие среды» и «машиночитаемые среды передачи сигналов».
[0081] «Машиночитаемые запоминающие среды» относятся к средам и/или устройствам, которые обеспечивают возможность постоянного хранения информации и/или хранения, которое является материальным, в отличие от только передачи сигналов, несущих сигналов, или сигналов самих по себе. Таким образом, машиночитаемые запоминающие среды относятся к ненесущим сигналы средам. Машиночитаемые запоминающие среды включают в себя аппаратное обеспечение, такое как энергозависимые и энергонезависимые, съемные и несъемные среды и/или запоминающие устройства, реализованные с использованием способа или технологии, подходящей для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули, логические элементы/схемы, или других данных. Примеры машиночитаемых запоминающих сред могут включать в себя, но не ограничены этим, RAM, ROM, EEPROM, флэш-память или другие технологии памяти, CD-ROM, универсальный цифровой диск (DVD) или другие оптические запоминающие устройства, жесткие диски, магнитные кассеты, магнитную ленту, запоминающие устройства на магнитных дисках или другие магнитные запоминающие устройства, или другие запоминающие устройства, материальные среды, или изделия, подходящие для хранения необходимой информации, и к которым может быть осуществлен доступ посредством компьютера.
[0082] «Машиночитаемые среды передачи сигналов» относятся к несущей сигналы среде, которая выполнена с возможностью передачи команд для аппаратного обеспечения вычислительного устройства 602, например, через сеть. Среды передачи сигналов обычно передают машиночитаемые команды, структуры данных, программные модули, или другие данные в модулированном сигнале данных, таком как несущие сигналы, сигналы данных, или другие механизмы передачи данных. Среды передачи сигналов также включают в себя любые среды доставки информации. Термин «модулированный сигнал данных» означает сигнал, в котором одна или несколько характеристик установлены или изменены таким образом, чтобы закодировать информацию в этом сигнале. В качестве примера, а не ограничения, среды передачи данных включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как звуковая, RF, инфракрасная, и другие беспроводные среды.
[0083] Как описано выше, аппаратные элементы 610 и машиночитаемые среды 606 являются характерными для команд, модулей, программируемой аппаратной логики и/или фиксированной аппаратной логики, реализуемых в аппаратном обеспечении, которые могут быть использованы в некоторых вариантах осуществления для реализации по меньшей мере некоторых аспектов технологий, описанных здесь. Аппаратные элементы могут включать в себя компоненты интегральной схемы или системы на кристалле, специализированной интегральной схемы (ASIC), матрицы программируемых логических вентилей (FPGA), сложного устройства с программируемой логикой (CPLD), и других реализаций в кремниевых или других аппаратных устройствах. В этом контексте, аппаратный элемент может функционировать в качестве устройства обработки, которое выполняет задачи программы, определяемые посредством команд, модулей, и/или логики, реализованных посредством этого аппаратного элемента, а также в качестве аппаратного устройства, используемого для хранения исполняемых команд, например, машиночитаемой запоминающей среды, описанной выше.
[0084] Комбинации вышеуказанного могут быть также использованы для реализации различных технологий и модулей, описанных здесь. Таким образом, программное обеспечение, аппаратное обеспечение, или программные модули, и другие программные модули могут быть реализованы в виде одной или нескольких команд и/или логики, реализованной на некотором типе машиночитаемой запоминающей среды и/или посредством одного или нескольких аппаратных элементов 610. Вычислительное устройство 602 может быть выполнено с возможностью реализации конкретных команд и/или функций, соответствующих программным модулям и/или аппаратным модулям. Таким образом, реализация модулей в виде модуля, который является исполняемым посредством вычислительного устройства 602, в виде программного обеспечения, может быть обеспечена, по меньшей мере частично, в аппаратном обеспечении, например, посредством использования машиночитаемой запоминающей среды и/или аппаратных элементов 610 системы обработки. Команды и/или функции могут быть исполняемыми/обрабатываемыми посредством одного или нескольких изделий (например, одного или нескольких вычислительных устройств 602 и/или систем 604 обработки) для реализации технологий, модулей, и примеров, описанных здесь.
[0085] Как дополнительно показано на фиг. 6, иллюстративная система 600 обеспечивает распространенные среды для цельного взаимодействия с пользователем при запуске приложений на персональном компьютере (personal computer-PC), телевизионном устройстве и/или телевизионной приставке, и/или мобильном устройстве. Службы и приложения работают, по существу, подобным образом во всех трех средах, для обеспечения простого взаимодействия с пользователем при переходе от одного устройства к следующему, при использовании приложения, проигрывании видеоигры, просмотре видеоинформации и т.д.
[0086] В иллюстративной системе 600, многочисленные устройства подключены через центральное вычислительное устройство. Центральное вычислительное устройство может быть локальным для многочисленных устройств или может быть расположено удаленно от многочисленных устройств. В одном или нескольких вариантах осуществления, центральное вычислительное устройство может быть облаком из одного или нескольких серверных компьютеров, которые подключены к многочисленным устройствам через сеть, интернет, или другие каналы передачи данных.
[0087] В одном или нескольких вариантах осуществления, эта архитектура подключения обеспечивает возможность передачи функциональности для всех многочисленных устройств для обеспечения простого и цельного взаимодействия с пользователем многочисленных устройств. Каждое из многочисленных устройств может иметь разные физические характеристики и возможности, а центральное вычислительное устройство использует некоторую платформу для обеспечения возможности доставки к устройству опыта взаимодействия с пользователем, который является как адаптированным к устройству, так и общим для всех устройств. В одном или нескольких вариантах осуществления, создают класс целевых устройств, и опыт взаимодействия с пользователем адаптируют к обобщенному классу устройств. Класс устройств может быть определен физическими характеристиками, типами использования, или другими общими характеристиками устройств.
[0088] В различных реализациях, вычислительное устройство 602 может предполагать множество разных конфигураций, например, конфигурации для использования компьютера 616, мобильного устройства 618, или телевизионного приемника 620. Каждая из этих конфигураций включает в себя устройства, которые могут иметь, в общем, разные конструкции и возможности, и, таким образом, вычислительное устройство 602 может быть выполнено согласно одному или нескольким разным классам устройств. Например, вычислительное устройство 602 может быть реализовано в виде устройства из класса компьютеров 616, который включает в себя персональный компьютер, настольный компьютер, многоэкранный компьютер, компактный портативный компьютер, нетбук и т.д.
[0089] Вычислительное устройство 602 может быть также реализовано в виде устройства из класса мобильных устройств 618, который включает в себя мобильные устройства, такие как мобильный телефон, портативный музыкальный плеер, портативное игровое устройство, планшетный компьютер, многоэкранный компьютер и т.д. Вычислительное устройство 602 может быть также реализовано в виде устройства из класса телевизионных приемников 620, который включает в себя устройства, имеющие, обычно, большие экраны или подключенные к ним, в обычных средах просмотра. Эти устройства включают в себя телевизионные приемники, телевизионные приставки, игровые консоли и т.д.
[0090] Технологии, описанные здесь, могут поддерживаться этими различными конфигурациями вычислительного устройства 602 и не ограничены конкретными примерами технологий, описанными здесь. Эта функциональность может быть также реализована, полностью или частично, посредством использования распределенной системы, например, посредством «облака» 622, через платформу 624, как описано ниже.
[0091] Облако 622 включает в себя и/или характерно для платформы 624 для ресурсов 626. Платформа 624 представляет в абстрактном виде базовую функциональность аппаратного обеспечения (например, серверов) и ресурсов программного обеспечения облака 622. Ресурсы 626 могут включать в себя приложения и/или данные, которые могут быть использованы при выполнении компьютерной обработки на серверах, которые являются удаленными от вычислительного устройства 602. Ресурсы 626 могут также включать в себя службы, обеспечиваемые посредством интернета и/или посредством абонентской сети, такой как сотовая сеть или сеть Wi-Fi.
[0092] Платформа 624 может представлять в абстрактном виде ресурсы и функции для подключения вычислительного устройства 602 к другим вычислительным устройствам. Платформа 624 может также служить для абстрактного масштабирования ресурсов для обеспечения соответствующего уровня масштаба для обнаруженной потребности в ресурсах 626, которые реализованы через платформу 624. Таким образом, в варианте осуществления с подключенным устройством, реализация функциональности, описанной здесь, может быть распределена по всей системе 600. Например, эта функциональность может быть реализована частично на вычислительном устройстве 602, а также через платформу 624, которая представляет в абстрактном виде функциональность облака 622.
[0093] Хотя изобретение описано на языке, характерном для структурных признаков и/или методологических действий, следует понимать, что объем изобретения, определяемый приложенной формулой изобретения, не обязательно ограничен конкретными признаками или действиями, описанными выше. Напротив, конкретные признаки или действия, описанные выше, описаны в качестве иллюстративных форм реализации формулы изобретения.

Claims (50)

1. Способ предоставления доступа к периферийным устройствам на вычислительном устройстве, содержащий этапы, на которых:
принимают от службы в ответ на вход пользователя в пользовательскую учетную запись этой службы, данные привязки устройств для каждого из одного или более периферийных устройств, хранимые и синхронизируемые с этой пользовательской учетной записью, причем данные привязки устройств для периферийного устройства описывают, как подключить это периферийное устройство к вычислительному устройству;
определяют, какие из одного или более периферийных устройств могут быть автоматически сделаны доступными для использования с вычислительным устройством;
отображают для по меньшей мере одного из одного или более периферийных устройств, которое не может быть автоматически сделано доступным для использования с вычислительным устройством, приглашение предоставить дополнительные учетные данные; и
автоматически делают доступными для использования с вычислительным устройством только те из одного или более периферийных устройств, которые могут быть автоматически сделаны доступными для использования с вычислительным устройством.
2. Способ по п. 1, дополнительно содержащий этап, на котором сохраняют на вычислительном устройстве копию данных привязки устройств для периферийных устройств, которые могут быть автоматически сделаны доступными для использования с вычислительным устройством, а также копию данных привязки устройств для по меньшей мере одного периферийного устройства из одного или более периферийных устройств, которое не может быть автоматически сделано доступным для использования с вычислительным устройством.
3. Способ по п. 2, дополнительно содержащий этапы, на которых:
отображают указание упомянутого по меньшей мере одного периферийного устройства, которое не может быть автоматически сделано доступным для использования с вычислительным устройством; и
инсталлируют это по меньшей мере одно периферийное устройство на вычислительном устройстве в качестве реакции на пользовательский ввод, разрешающий инсталляцию данного по меньшей мере одного периферийного устройства.
4. Способ по п. 1, дополнительно содержащий этап, на котором для периферийного устройства, которое может быть сделано доступным для использования с вычислительным устройством, но не может быть автоматически сделано доступным для использования с вычислительным устройством, помечают это периферийное устройство в качестве того, которое должно быть сделано доступным для использования с вычислительным устройством.
5. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают в ответ на отображение упомянутого приглашения пользовательский ввод, задающий упомянутые дополнительные учетные данные; и
делают доступным для использования, используя эти дополнительные учетные данные, упомянутое по меньшей мере одно из одного или более периферийных устройств, которое не может быть автоматически сделано доступным для использования с вычислительным устройством.
6. Способ по п. 1, в котором данные привязки устройств для по меньшей мере одного периферийного устройства предоставлены в упомянутую службу дополнительным вычислительным устройством в результате соединения дополнительного вычислительного устройства с этим по меньшей мере одним периферийным устройством на дополнительном вычислительном устройстве.
7. Способ по п. 1, в котором данные привязки устройств для по меньшей мере одного периферийного устройства предоставлены в упомянутую службу дополнительным вычислительным устройством в результате предшествующего соединения дополнительного вычислительного устройства с этим по меньшей мере одним периферийным устройством.
8. Способ по п. 1, в котором данные привязки устройств для по меньшей мере одного периферийного устройства предоставлены в упомянутую службу этим по меньшей мере одним периферийным устройством.
9. Способ по п. 1, в котором упомянутое определение содержит применение одного или более правил для идентификации того, какие периферийные устройства не могут быть автоматически сделаны доступными для использования с вычислительным устройством, при этом при упомянутом автоматическом делании доступными для использования автоматически делают доступными для использования с вычислительным устройством одно или более периферийных устройств, за исключением периферийных устройств, которые не могут быть автоматически сделаны доступными для использования с вычислительным устройством.
10. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают от упомянутой службы данные использования устройств для по меньшей мере одного из одного или более периферийных устройств, причем данные использования устройств для периферийного устройства идентифицируют конкретные установки для этого периферийного устройства; и
применяют конкретные установки к по меньшей мере одному периферийному устройству, инсталлированному на вычислительном устройстве.
11. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают от упомянутой службы изменение в данных привязки устройств для по меньшей мере одного из одного или более периферийных устройств;
обновляют данные привязки устройств, хранимые на вычислительном устройстве, для этого по меньшей мере одного периферийного устройства на основе данного изменения.
12. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают от упомянутой службы указание на то, что по меньшей мере одно из одного или более периферийных устройств удалено;
больше не делают это по меньшей мере одно периферийное устройство доступным для использования с вычислительным устройством.
13. Вычислительное устройство, выполненное с возможностью предоставления доступа к периферийным устройствам, при этом вычислительное устройство содержит:
хранилище данных для хранения данных привязки устройств для периферийных устройств, причем данные привязки устройств для периферийного устройства описывают, как вычислительное устройство должно подключаться к этому периферийному устройству; и
модуль синхронизации данных привязки устройств, выполненный с возможностью:
принимать от службы в ответ на вход пользователя в пользовательскую учетную запись этой службы данные привязки устройств для каждого из множества периферийных устройств, хранимые и синхронизируемые с этой пользовательской учетной записью,
определять, какие из множества периферийных устройств могут быть автоматически сделаны доступными для использования с вычислительным устройством,
автоматически делать доступными для использования с вычислительным устройством те из множества периферийных устройств, которые могут быть автоматически сделаны доступными для использования с вычислительным устройством, и
генерировать запись для указания периферийного устройства в качестве того, которое должно быть сделано доступным для использования с вычислительным устройством, в качестве реакции на то, что данное периферийное устройство может быть сделано доступным для использования с вычислительным устройством, но не может быть автоматически сделано доступным для использования с вычислительным устройством.
14. Вычислительное устройство по п. 13, в котором модуль синхронизации данных привязки устройств дополнительно выполнен с возможностью хранить копию данных привязки устройств для периферийных устройств, которые могут быть автоматически сделаны доступными для использования с вычислительным устройством, а также копию данных привязки устройств для по меньшей мере одного периферийного устройства из множества периферийных устройств, которые не могут быть автоматически сделаны доступными для использования с вычислительным устройством.
15. Вычислительное устройство по п. 13, в котором модуль синхронизации данных привязки устройств дополнительно выполнен с возможностью:
отображать указание упомянутого по меньшей мере одного периферийного устройства, которое не может быть автоматически сделано доступным для использования с вычислительным устройством; и
инсталлировать это по меньшей мере одно периферийное устройство на вычислительном устройстве в качестве реакции на пользовательский ввод данных, разрешающий инсталляцию данного по меньшей мере одного периферийного устройства.
16. Вычислительное устройство по п. 13, в котором модуль синхронизации данных привязки устройств дополнительно выполнен с возможностью посылать данные привязки устройств в службу.
17. Вычислительное устройство по п. 13, в котором модуль синхронизации данных привязки устройств дополнительно выполнен с возможностью:
отображать для по меньшей мере одного из множества периферийных устройств, которое не может быть автоматически сделано доступным для использования с вычислительным устройством, приглашение предоставить дополнительные учетные данные;
принимать в ответ на отображение данного приглашения пользовательский ввод, задающий эти дополнительные учетные данные; и
инсталлировать, используя эти дополнительные учетные данные, упомянутое по меньшей мере одно из множества периферийных устройств, которое не может быть автоматически сделано доступным для использования с вычислительным устройством.
18. Вычислительное устройство по п. 13, при этом данные привязки устройств для по меньшей мере одного периферийного устройства предоставлены в упомянутую службу этим по меньшей мере одним периферийным устройством.
19. Вычислительное устройство по п. 13, в котором модуль синхронизации данных привязки устройств дополнительно выполнен с возможностью принимать данные привязки устройств, определять, какие из множества периферийных устройств могут быт автоматически сделаны доступными для использования с вычислительным устройством и автоматически делать доступными для использования с вычислительным устройством те из множества периферийных устройств, которые могут быть автоматически сделаны доступными для использования с вычислительным устройством, при осуществленном входе в пользовательскую учетную запись с вычислительного устройства.
20. Способ предоставления доступа к периферийным устройствам на вычислительном устройстве, содержащий этапы, на которых:
входят с вычислительного устройства в пользовательскую учетную запись службы;
принимают от этой службы данные привязки устройств для каждого из одного или более периферийных устройств, хранимые и синхронизируемые с этой пользовательской учетной записью, причем данные привязки устройств для периферийного устройства описывают, как подключиться к этому периферийному устройству, при этом данные привязки устройств для меньшей мере одного периферийного устройства предоставлены упомянутой службе дополнительным вычислительным устройством в результате соединения дополнительного вычислительного устройства с этим по меньшей мере одним периферийным устройством на дополнительном вычислительном устройстве;
определяют, какие из одного или более периферийных устройств могут быть автоматически инсталлированы на вычислительном устройстве;
синхронизируют изменения в данных привязки устройств между упомянутыми вычислительным устройством, службой и дополнительным вычислительным устройством для одного или более периферийных устройств; и
автоматически инсталлируют на вычислительном устройстве только те из одного или более периферийных устройств, которые могут быть автоматически инсталлированы на вычислительном устройстве, и сохраняют на вычислительном устройстве копию данных привязки устройств для периферийных устройств, которые могут быть автоматически инсталлированы на вычислительном устройстве, а также копию данных привязки устройств для по меньшей мере одного периферийного устройства из одного или более периферийных устройств, которое не может быть автоматически инсталлировано на вычислительном устройстве.
RU2015150953A 2013-05-29 2013-09-19 Синхронизация данных ассоциирования устройств среди вычислительных устройств RU2648971C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361828671P 2013-05-29 2013-05-29
US61/828,671 2013-05-29
US13/931,690 US9032106B2 (en) 2013-05-29 2013-06-28 Synchronizing device association data among computing devices
US13/931,690 2013-06-28
PCT/US2013/060489 WO2014193434A1 (en) 2013-05-29 2013-09-19 Synchronizing device association data among computing devices

Publications (2)

Publication Number Publication Date
RU2015150953A RU2015150953A (ru) 2017-06-01
RU2648971C2 true RU2648971C2 (ru) 2018-03-28

Family

ID=51986475

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015150953A RU2648971C2 (ru) 2013-05-29 2013-09-19 Синхронизация данных ассоциирования устройств среди вычислительных устройств

Country Status (11)

Country Link
US (2) US9032106B2 (ru)
EP (1) EP3005080B1 (ru)
JP (1) JP6305524B2 (ru)
KR (2) KR102168572B1 (ru)
CN (1) CN105431816B (ru)
AU (1) AU2013390850B2 (ru)
BR (1) BR112015029277B1 (ru)
CA (1) CA2910249C (ru)
MX (1) MX353076B (ru)
RU (1) RU2648971C2 (ru)
WO (1) WO2014193434A1 (ru)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US9032106B2 (en) 2013-05-29 2015-05-12 Microsoft Technology Licensing, Llc Synchronizing device association data among computing devices
US20150220308A1 (en) * 2014-01-31 2015-08-06 Dell Products L.P. Model-based development
US20170172352A1 (en) * 2014-05-09 2017-06-22 Vacuvita Holding B.V. Container for delaying spoilage of a consumable product and methods for using the container
US10506068B2 (en) * 2015-04-06 2019-12-10 Microsoft Technology Licensing, Llc Cloud-based cross-device digital pen pairing
US10404532B2 (en) * 2015-04-10 2019-09-03 Comcast Cable Commnications, LLC Virtual gateway control and management
US9817648B2 (en) 2016-01-15 2017-11-14 Google Inc. Application containers with dynamic sub-package loading
US10521242B2 (en) * 2016-01-15 2019-12-31 Google Llc Application containers with updatable application programming interface layers
KR101850203B1 (ko) * 2016-04-11 2018-04-18 라인 가부시키가이샤 기기간 어플리케이션 연동 방법 및 시스템
CN106713435A (zh) * 2016-12-14 2017-05-24 北京小米移动软件有限公司 信息处理方法、装置及终端设备
US10614054B2 (en) * 2017-05-12 2020-04-07 International Business Machines Corporation Synchronizing data values by sending updates
US10606820B2 (en) * 2017-05-12 2020-03-31 International Business Machines Corporation Synchronizing data values by requesting updates
CN109413215A (zh) * 2018-12-24 2019-03-01 苏州思必驰信息科技有限公司 用于录音设备和用户终端的数据同步方法和***
US20230359242A1 (en) * 2022-05-09 2023-11-09 Dell Products L.P. Providing workspace continuity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115256A1 (en) * 1999-12-09 2003-06-19 Brockway Tad Dennis Client side caching of printer configuration
US20050257226A1 (en) * 2004-05-14 2005-11-17 Microsoft Corporation PnP functionality for unsupported devices
RU2331928C2 (ru) * 2003-06-11 2008-08-20 АйДжиТи Процедуры загрузки для периферийных устройств
RU2379755C2 (ru) * 2004-04-01 2010-01-20 Майкрософт Корпорейшн Система и способ для совместного использования объектов между компьютерами по сети

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE501943C2 (sv) 1993-11-24 1995-06-26 Telia Ab Förfarande och arrangemang för semipermanent lagring av tjänsteprofil i personkommunikationssystem
DE69521413T2 (de) 1994-01-13 2002-05-29 Certco Inc., New York Verschlüsselungseinrichtung und verfahren mit möglichkeit zur gesicherten zentralen schlüsselablage
GB9709135D0 (en) 1997-05-02 1997-06-25 Certicom Corp Two way authentication protocol
US6016476A (en) 1997-08-11 2000-01-18 International Business Machines Corporation Portable information and transaction processing system and method utilizing biometric authorization and digital certificate security
US6016746A (en) 1997-08-19 2000-01-25 Micron Communications, Inc. Flip chip screen printing method
JP3922482B2 (ja) 1997-10-14 2007-05-30 ソニー株式会社 情報処理装置および方法
US6122639A (en) 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection
JP2000003336A (ja) 1998-06-16 2000-01-07 Nec Corp 携帯型データ通信端末装置におけるユーザ認証方法及びユーザ認証システム
JP2000181687A (ja) * 1998-12-18 2000-06-30 Fujitsu Ltd 制御装置,電子機器,環境設定方法およびプログラムを格納したコンピュータ読取可能な記録媒体
US6438600B1 (en) 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
US7934251B2 (en) 1999-12-02 2011-04-26 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
JP2001282729A (ja) * 2000-03-30 2001-10-12 Casio Comput Co Ltd ユーザ環境設定システム、その方法及び記録媒体
US6577726B1 (en) 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US7725525B2 (en) 2000-05-09 2010-05-25 James Duncan Work Method and apparatus for internet-based human network brokering
US7266595B1 (en) 2000-05-20 2007-09-04 Ciena Corporation Accessing network device data through user profiles
US6941148B2 (en) 2000-06-03 2005-09-06 International Business Machines Corporation Device registry for automatic connection and data exchange between pervasive devices and backend systems
WO2002067483A2 (en) 2000-10-27 2002-08-29 Softconnex Technologies Automatic embedded host configuration system and method
US20020194596A1 (en) * 2001-06-18 2002-12-19 Srivastava Gopal K. Control of multiple AV-devices by a single master controller using infrared transmitted commands and bus transmitted commands
US20030097503A1 (en) * 2001-11-19 2003-05-22 Huckins Jeffrey L. PCI compatible bus model for non-PCI compatible bus architectures
US20030100307A1 (en) 2001-11-27 2003-05-29 Intel Corporation Automatic service handoff method and apparatus
KR100439187B1 (ko) 2001-12-24 2004-07-05 한국전자통신연구원 모바일 사용자의 맞춤형 원스톱 정보 서비스 장치 및 방법
JP2003199168A (ja) 2001-12-28 2003-07-11 Nec Corp 外部機器からの発信可能な電話装置
US7810091B2 (en) 2002-04-04 2010-10-05 Mcafee, Inc. Mechanism to check the malicious alteration of malware scanner
US7013149B2 (en) 2002-04-11 2006-03-14 Mitsubishi Electric Research Laboratories, Inc. Environment aware services for mobile devices
US20040128345A1 (en) 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
GB2398134A (en) 2003-01-27 2004-08-11 Hewlett Packard Co Applying a data handing policy to predetermined system calls
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
GB2400196A (en) 2003-04-02 2004-10-06 Nec Technologies Restricting access to a mobile phone, laptop etc. using an authorization procedure involving a separate transceiver
US7434166B2 (en) 2003-06-03 2008-10-07 Harman International Industries Incorporated Wireless presentation system
EP1655972A4 (en) 2003-07-09 2013-12-04 Nec Corp ANIMATED IMAGE ENCODING METHOD, ANIMATED IMAGE DECODING METHOD, ANIMATED IMAGE ENCODING DEVICE, ANIMATED IMAGE DECODING DEVICE, AND ASSOCIATED SOFTWARE
US6976253B1 (en) 2003-07-30 2005-12-13 Microsoft Corporation Method and apparatus for configuring a mobile device
GB2404536B (en) 2003-07-31 2007-02-28 Hewlett Packard Development Co Protection of data
US8949311B2 (en) 2003-08-29 2015-02-03 International Business Machines Corporation Dynamic, non-intrusive personalization of web services
US8151280B2 (en) 2003-10-27 2012-04-03 Microsoft Corporation Simple and dynamic configuration of network devices
US7620667B2 (en) 2003-11-17 2009-11-17 Microsoft Corporation Transfer of user profiles using portable storage devices
WO2005064430A1 (en) 2003-12-30 2005-07-14 Telecom Italia S.P.A. Method and system for the cipher key controlled exploitation of data resources, related network and computer program products
CN1914858A (zh) 2004-03-02 2007-02-14 松下电器产业株式会社 通信***和通信方法
US20050208803A1 (en) 2004-03-19 2005-09-22 Ceelox, Inc. Method for real time synchronization of a computing device user-definable profile to an external storage device
US20050220080A1 (en) 2004-04-01 2005-10-06 Nokia Corporation System, method, computer program product, and business method for device group management using virtual device domain
US20060253894A1 (en) 2004-04-30 2006-11-09 Peter Bookman Mobility device platform
US7571346B2 (en) 2004-06-08 2009-08-04 Dartdevices Interop Corporation System and method for interoperability application driven error management and recovery among intermittently coupled interoperable electronic devices
US7971245B2 (en) 2004-06-21 2011-06-28 Ebay Inc. Method and system to detect externally-referenced malicious data for access and/or publication via a computer system
US7469291B2 (en) 2004-09-22 2008-12-23 Research In Motion Limited Apparatus and method for integrating authentication protocols in the establishment of connections between computing devices
US8037527B2 (en) 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
US20060075494A1 (en) 2004-10-01 2006-04-06 Bertman Justin R Method and system for analyzing data for potential malware
US7493487B2 (en) 2004-10-15 2009-02-17 Microsoft Corporation Portable computing environment
US8843995B2 (en) 2004-11-02 2014-09-23 Blackberry Limited Generic access network (GAN) controller selection in PLMN environment
JP2006146704A (ja) 2004-11-22 2006-06-08 Canon Inc 情報管理装置、プログラム検索方法、及びプログラム
US8478849B2 (en) 2004-12-07 2013-07-02 Pure Networks LLC. Network administration tool
US8024488B2 (en) 2005-03-02 2011-09-20 Cisco Technology, Inc. Methods and apparatus to validate configuration of computerized devices
CN1648863A (zh) 2005-03-07 2005-08-03 优网通国际资讯股份有限公司 可携式软件应用的方法
US8032562B2 (en) 2005-03-29 2011-10-04 Microsoft Corporation Identity management user experience
US7509116B2 (en) 2005-03-30 2009-03-24 Genx Mobile Incorporated Selective data exchange with a remotely configurable mobile unit
CA2615659A1 (en) 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
JP2007034826A (ja) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd 機能アップデート方法および携帯通信端末
US8171531B2 (en) 2005-11-16 2012-05-01 Broadcom Corporation Universal authentication token
CA2631778A1 (en) 2005-12-01 2007-10-25 Qualcomm Incorporated Method and apparatus for supporting different authentication credentials
US20070136746A1 (en) 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute User context based dynamic service combination system and method
US8543637B2 (en) 2006-01-18 2013-09-24 At&T Intellectual Property I, L.P. Distributed web publishing
WO2007094056A1 (ja) * 2006-02-15 2007-08-23 Fujitsu Limited 通信装置、無線通信装置および制御方法
US8341238B2 (en) 2006-03-03 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for multiple-device session synchronization
EP1832998A1 (en) 2006-03-07 2007-09-12 Hitachi, Ltd. Method of interfacing between electronic devices, method of operating a portable storage device, electronic device and electronic system
US8676973B2 (en) 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US20070233647A1 (en) 2006-03-30 2007-10-04 Microsoft Corporation Sharing Items In An Operating System
US7647041B2 (en) 2006-03-30 2010-01-12 Sbc Knowledge Ventures, L.P. Systems, methods, and apparatus to enable backup wireless devices
JP5052809B2 (ja) 2006-03-31 2012-10-17 株式会社エヌ・ティ・ティ・データ 認証システム、認証サーバおよびプログラム
WO2007130855A2 (en) 2006-05-01 2007-11-15 Michael Pomerantsev Secure sharing of personal information
KR100710271B1 (ko) * 2006-05-10 2007-04-20 엘지전자 주식회사 외부기기와 티브이의 데이터 재생 방법 및 장치
KR100772875B1 (ko) 2006-05-22 2007-11-02 삼성전자주식회사 사용자 선호도에 따른 사용자 인터페이스를 설정하는 장치및 그 방법
US8296413B2 (en) 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
US8086698B2 (en) 2006-06-02 2011-12-27 Google Inc. Synchronizing configuration information among multiple clients
US7912916B2 (en) 2006-06-02 2011-03-22 Google Inc. Resolving conflicts while synchronizing configuration information among multiple clients
US7945563B2 (en) 2006-06-16 2011-05-17 Yahoo! Inc. Search early warning
EP1873668A1 (en) 2006-06-28 2008-01-02 Nokia Siemens Networks Gmbh & Co. Kg Integration of device integrity attestation into user authentication
KR101307456B1 (ko) 2006-09-22 2013-09-11 삼성전자주식회사 휴대단말기에서 블루투스 자동등록을 제공하는 방법 및 장치
RU61491U1 (ru) 2006-09-26 2007-02-27 ООСТЕРУМ Джозеф ВАН Универсальное устройство сопряжения портативной звуковоспроизводящей системы с автомобильным радиоприемником
JP4805116B2 (ja) * 2006-12-11 2011-11-02 株式会社日立製作所 情報処理システム、情報処理システムの制御方法、サービス利用装置及びサービス提供装置
US8161069B1 (en) 2007-02-01 2012-04-17 Eighty-Three Degrees, Inc. Content sharing using metadata
US8347354B2 (en) 2007-03-16 2013-01-01 Research In Motion Limited Restricting access to hardware for which a driver is installed on a computer
WO2008148191A2 (en) 2007-06-06 2008-12-11 Boldstreet Inc. Remote service access system and method
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
JP4739295B2 (ja) 2007-08-27 2011-08-03 日本電信電話株式会社 映像信号生成装置、映像信号生成方法、映像信号生成プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US8126439B1 (en) 2007-10-30 2012-02-28 Sprint Communications Company L.P. Persona management for mobile enabling services
US8219670B2 (en) 2007-11-08 2012-07-10 University Of Maryland System and method for adaptive context aware interaction of user with entity of interest
US8086676B2 (en) 2007-12-17 2011-12-27 Smooth Productions Inc. Contact aggregator
US7971049B2 (en) 2008-03-31 2011-06-28 Symantec Corporation Systems and methods for managing user configuration settings
US20090313363A1 (en) 2008-06-17 2009-12-17 The Go Daddy Group, Inc. Hosting a remote computer in a hosting data center
US8769612B2 (en) 2008-08-14 2014-07-01 Microsoft Corporation Portable device association
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US8099761B2 (en) 2008-08-14 2012-01-17 Microsoft Corporation Protocol for device to station association
US20100082652A1 (en) 2008-09-29 2010-04-01 Chacha Search, Inc. Method and system for managing user interaction
CA2681446C (en) 2008-10-22 2016-03-22 Research In Motion Limited Method and apparatus for managing synchronization configuration files
US8467305B2 (en) 2008-11-04 2013-06-18 Broadcom Corporation Multiservice communication device with dedicated environmental monitoring
JP2010128554A (ja) 2008-11-25 2010-06-10 Nec Corp アカウント発行システム、割当装置、登録装置、アカウント発行方法およびプログラム
JP5293284B2 (ja) 2009-03-09 2013-09-18 沖電気工業株式会社 通信方法、メッシュ型ネットワークシステム及び通信端末
IT1396340B1 (it) 2009-10-20 2012-11-16 Tiziano Tresanti Sistema e metodo per la gestione e la condivisione all'interno di una rete informatica di informazioni e contatti relativi ad utenti
CN102713925B (zh) 2010-01-13 2015-09-02 日本电气株式会社 机密信息泄露防止***、机密信息泄露防止方法及机密信息泄露防止程序
CN102082903A (zh) * 2010-12-21 2011-06-01 张有成 具有认证功能的摄像装置及认证方法
CN102111272B (zh) * 2010-12-24 2014-04-09 武汉天喻信息产业股份有限公司 移动终端对外部设备进行认证的方法
WO2012109580A2 (en) 2011-02-11 2012-08-16 Ricci Christopher Paul Method and system for interacting and servicing users by orientation
US8879748B2 (en) * 2011-03-15 2014-11-04 Microsoft Corporation Multi-protocol wireless audio client device
US20130282605A1 (en) 2011-08-12 2013-10-24 Philippe Noelting System and Method for User Profile Creation and Access Control
US9087363B2 (en) 2011-08-30 2015-07-21 Genband Us Llc Methods, systems, and computer readable media for managing multiple personas within end user applications
US20130085861A1 (en) 2011-09-30 2013-04-04 Scott Dunlap Persistent location tracking on mobile devices and location profiling
US9405932B2 (en) 2013-05-24 2016-08-02 Microsoft Technology Licensing, Llc User centric data maintenance
US9032106B2 (en) 2013-05-29 2015-05-12 Microsoft Technology Licensing, Llc Synchronizing device association data among computing devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115256A1 (en) * 1999-12-09 2003-06-19 Brockway Tad Dennis Client side caching of printer configuration
RU2331928C2 (ru) * 2003-06-11 2008-08-20 АйДжиТи Процедуры загрузки для периферийных устройств
RU2379755C2 (ru) * 2004-04-01 2010-01-20 Майкрософт Корпорейшн Система и способ для совместного использования объектов между компьютерами по сети
US20050257226A1 (en) * 2004-05-14 2005-11-17 Microsoft Corporation PnP functionality for unsupported devices

Also Published As

Publication number Publication date
JP6305524B2 (ja) 2018-04-04
AU2013390850B2 (en) 2019-04-18
US9311109B2 (en) 2016-04-12
US20150254081A1 (en) 2015-09-10
KR102168572B1 (ko) 2020-10-21
KR20200120763A (ko) 2020-10-21
EP3005080A1 (en) 2016-04-13
RU2015150953A (ru) 2017-06-01
MX2015016355A (es) 2016-03-01
US20140359170A1 (en) 2014-12-04
CA2910249C (en) 2021-01-12
CN105431816A (zh) 2016-03-23
BR112015029277A8 (pt) 2020-03-17
EP3005080B1 (en) 2021-02-17
BR112015029277A2 (pt) 2017-07-25
BR112015029277B1 (pt) 2022-02-15
AU2013390850A1 (en) 2015-11-12
MX353076B (es) 2017-12-19
JP2016527595A (ja) 2016-09-08
KR20160014038A (ko) 2016-02-05
WO2014193434A1 (en) 2014-12-04
KR102303681B1 (ko) 2021-09-16
US9032106B2 (en) 2015-05-12
CN105431816B (zh) 2019-06-04
CA2910249A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
RU2648971C2 (ru) Синхронизация данных ассоциирования устройств среди вычислительных устройств
US12050836B2 (en) Screen transmission processing method, apparatus, and device
US20170317879A1 (en) Cart Mode Provisioning Of Shared Computing Devices
US10528307B2 (en) Information processing apparatus including access point function, control method for controlling information processing apparatus, and storage medium
KR20170049513A (ko) 공유 세션 기법
US9858153B2 (en) Service-based backup data restoring to devices
CN103049339A (zh) 恢复应用和/或使应用免于中止
CN102971705A (zh) 包括多个体验模块的应用
US11298613B2 (en) Information processing device, data acquisition method, and program
CN108763311B (zh) 界面显示方法、装置、智能交互平板及存储介质
JP2020052574A (ja) 管理装置、データ配信システム、及びプログラム
JP7347888B1 (ja) プログラム、方法、情報処理装置、システム
US10439893B2 (en) Information sharing system
US20220124129A1 (en) Information processing system, information processing method, and recording medium having recorded thereon information processing program
US12034899B2 (en) Image forming apparatus, information processing method, and recording medium
JP2015169992A (ja) 情報処理装置、情報共有システム、情報共有方法及びプログラム
CN113986492A (zh) 设备调用方法及装置
CN116888945A (zh) 信息处理装置、信息处理方法、程序及信息处理***
JP2015130132A (ja) 情報処理装置、プログラム、認証制御方法及び情報処理システム