CN105431816B - 在计算设备之间同步设备关联数据 - Google Patents

在计算设备之间同步设备关联数据 Download PDF

Info

Publication number
CN105431816B
CN105431816B CN201380076969.0A CN201380076969A CN105431816B CN 105431816 B CN105431816 B CN 105431816B CN 201380076969 A CN201380076969 A CN 201380076969A CN 105431816 B CN105431816 B CN 105431816B
Authority
CN
China
Prior art keywords
equipment
peripheral
calculating
associated data
peripheral equipment
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201380076969.0A
Other languages
English (en)
Other versions
CN105431816A (zh
Inventor
J.A.哈钦斯
E.O.彼得森
A.B.纳加拉简
K.P.沃塔塞克
J.A.拉宁
R.F.海恩
E.E.格里夫
N.A.桑维
S.D.亚当斯
D.W.杜弘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105431816A publication Critical patent/CN105431816A/zh
Application granted granted Critical
Publication of CN105431816B publication Critical patent/CN105431816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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

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)
  • Computer And Data Communications (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

作为被用来连接至外围设备的数据的用于该外围设备的设备关联数据跨与服务上的用户账户相关联的多个计算设备进行保存和同步。当新的外围设备与计算设备相关联时,用于该新的外围设备的设备关联数据被添加至该计算设备。用于该新的外围设备的设备关联数据还被发送至该服务,后者将该设备关联提供至用户从其登录他或她的账户的其它计算设备,并且那些其它计算设备进而自动将自身与该外围设备相关联。描述用户期望如何在一台计算设备上使用该外围设备的设备使用数据以及针对一台计算设备上的设备关联数据的改变能够类似地跨多台计算设备进行同步。

Description

在计算设备之间同步设备关联数据
背景技术
随着计算技术的发展,可供人们使用以及人们成天都在使用的不同计算设备的数量也有所增加。当使用这些设备时,人们经常想要访问相同的外围设备,诸如打印机、扫描仪、耳机等。能够利用多台计算设备使用相同的外围设备对于用户是有帮助的,因为他们能够在不同计算设备上使用他们所熟悉的外围设备。然而,在多台不同计算设备上使用相同的外围设备并非没有其问题。一种这样的问题在于,这样的外围设备需要由用户安装在多台不同计算设备中的每一台上,这会是一个耗时的过程并且导致不良的用户体验。
发明内容
提供该发明内容而以简化形式对随后将在下文的具体实施方式中进一步进行描述的概念的选择进行介绍。该发明内容并非意在标识所请求保护主题的关键特征或必要特征,其也并非意在被用来对所请求保护主题的范围进行限制。
依据一个或多个方面,用于外围设备的设备关联数据描述了如何连接至该外围设备。接收用于与用户账户相关联的一个或多个外围设备中的每一个的设备关联数据。确定该一个或多个外围设备中的哪一个能够自动与该计算设备相关联,并且该一个或多个外围设备中能够自动与该计算设备相关联的那些自动与该计算设备相关联。
附图说明
附图中始终使用相同的数字来指代同样的特征。
图1图示了依据一个或多个实施例的实施在计算设备之间同步设备关联数据的示例系统。
图2是图示依据一个或多个实施例的实施在计算设备之间同步设备关联数据的示例计算设备的框图。
图3是图示依据一个或多个实施例的用于在计算设备之间同步设备关联数据的示例处理的流程图。
图4是图示依据一个或多个实施例的用于自动将外围设备与计算设备相关联的示例处理的流程图。
图5是图示依据一个或多个实施例的用于实施这里所描述的技术的示例模型的框图。
图6图示了包括示例计算设备的示例系统,该示例计算设备表示可以实施这里所描述的各种技术的一个或多个系统和/或设备。
具体实施方式
这里讨论在计算设备之间同步设备关联数据。用于一个或多个外围设备的设备关联数据跨与本地或远程服务的用户账户相关联的多个不同的计算设备进行保存(maintain)和同步。用于外围设备的设备关联数据是用来连接至该外围设备的数据,诸如该外围设备的网络地址,用来与该外围设备进行通信的安全信息,等等。该设备关联数据由用户从其访问他或她的用户账户的计算设备以及与他或她的用户账户相关联的服务进行保存。
当新的外围设备被安装在计算设备上或者以其它方式与之相关联时,用于该新的外围设备的设备关联数据被添加至该计算设备以及该服务。当用户从计算设备登录到他或她的用户账户时,用于还没有存储在该计算设备上的外围设备的设备关联数据被从该服务复制到该计算设备,并且能够被自动安装在该计算设备上或者以其它方式与之相关联的那些外围设备的一些被自动安装在该计算设备上或者以其它方式与之相关联。因此,当用于外围设备的设备关联数据被添加至计算设备或服务时,该设备关联数据与用户从其登录他或她的账户的其它计算设备进行同步,该设备关联数据被复制到那些其它计算设备并且外围设备被自动安装在这样的其它计算设备上或者以其它方式与之相关联。
图1图示了依据一个或多个实施例的实施在计算设备之间同步设备关联数据的示例系统100。系统100包括能够与服务106进行通信的计算设备102以及多个(n个)计算设备104(1),…, 104(n)。计算设备102、104能够经由任意的各种不同网络与服务106进行通信,网络包括互联网、局域网(LAN)、电话网络、企业内部网、其它公众和/或私有网络、它们的组合等。除此之外或可替换地,计算设备102、104能够经由网络以外的通信信道与服务106进行通信,诸如任意的各种有线和/或无线连接。应当注意的是,系统100可以包括与服务106进行通信的相同或不同类型的任意数量的计算设备。
每个计算设备102、104可以是各种不同类型的设备,并且计算设备102和104可以是相同或不同类型的设备。例如,每个计算设备102、104可以是台式计算机、服务器计算机、膝上或上网本计算机、平板或记事板计算机、移动站点、娱乐电器,通信耦合至显示设备的机顶盒、电视机或其它显示设备、蜂窝或其它无线电话、游戏机、汽车计算机、可佩带计算机等。因此,每个设备102、104的范围可以从具有实质性存储器和处理器资源的全资源设备(例如,个人计算机、游戏机)到具有有限存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持游戏机)。
类似于计算设备102和104的讨论,服务106可以使用范围从具有实质性存储器和处理器资源的全资源设备到具有有限存储器和/或处理资源的低资源设备的各种不同类型的设备中的一个或多个来实施。服务106可以远离计算设备102、104(例如,经由互联网进行访问)或者处于计算设备102、104本地(例如,经由LAN进行访问)。因此,服务106能够由处于计算设备102、104本地(例如,场内,诸如处于相同的建筑物或办公室中)的一个或多个设备所托管,或者由远离计算设备102、104的一个或多个设备所托管(例如,场外,诸如在另一个建筑物、城市或国家之中)。
计算设备102的用户具有与服务106相关联的用户账户。该用户能够以任意各种不同的方式从计算设备102登录到他或她的账户,诸如利用用户名和密码、数字证书等。在登录到他或她的账户的同时,如以下更为详细讨论的,计算设备102与服务106同步设备关联数据。
计算设备102的用户能够连接至一个或多个外围设备108,这也被称作将计算设备102与一个或多个外围设备108相关联。将计算设备102与外围设备108相关联可以包括将外围设备108安装在计算设备102上。安装外围设备包括安装资源(例如,驱动程序)并且针对计算设备102和/或外围设备108设置适当属性以在计算设备102和外围设备108之间建立通信连接(例如,将外围设备108和计算设备102进行配对)。因此,安装外围设备包括使得外围设备108能够被计算设备102所使用。
将计算设备102与外围设备108相关联还可以包括向计算设备102添加指示如何访问外围设备108(例如,在计算设备102和外围设备108之间建立通信连接),该外围设备具有哪些设备功能,如何使用或访问该设备功能,它们的组合等的信息。因此,将计算设备102与外围设备108相关联可以包括在并不将外围设备108安装在计算设备102上的情况下使得外围设备108能够被计算设备102所使用。
外围设备108是指能够连接至计算设备,提供该计算设备并未提供的功能,提升该计算设备所提供的功能,更换该计算设备所提供的功能等的设备。例如,外围设备可以是输出设备(例如,打印机、扬声器等)、输入设备(例如,扫描仪、麦克风、键盘等)、数据存储设备、其它计算设备(例如,智能电话、打印服务器等),等等。外围设备可以是本地设备(例如,经由有线或无线连接与计算设备进行通信)或远程设备(例如,经由网络与计算设备进行通信)。外围设备还可以是诸如智能电话的其它计算设备。
在一个或多个实施例中,外围设备是在独立于计算设备102、104的外壳中实施的设备。外围设备在物理上与计算设备102、104分离并且处于其外部,但是仍然能够与计算设备102、104进行通信并且可选地物理连接至计算设备102、104。外围设备是硬件设备,并且可以包括软件和/或固件。例如,外围设备(例如,共享打印机)可以是包括(以软件实施的)打印服务器和物理打印机的逻辑单元。
该设备关联数据是能够被用作将计算设备与外围设备相关联的过程的一部分的各种数据。该设备关联数据因此也被称为对应于外围设备。用于外围设备的设备关联数据是用于连接至外围设备的数据,诸如网络或媒体访问控制(MAC)地址,打印服务器上的共享打印机的网络地址,诸如证书或个人识别号码(PIN)的安全或认证数据,等等。该设备关联数据还可以包括有关该外围设备和/或设备关联数据的附加数据,诸如外围设备的名称或标识符,外围设备的类型,与外围设备相关联的驱动程序的标识符,该外围设备是否已经安装在计算设备102上,等等。用于外围设备的设备关联数据因此描述了如何连接至该外围设备。设备关联数据由计算设备102进行保存而使得计算设备102随后能够访问该外围设备(例如,在关机并重启之后)而无需重新安装该外围设备。
外围设备也可以具有相关联的设备使用数据(也被称作用户偏好数据),其描述了用户期望或偏好如何使用该外围设备。用于外围设备的设备使用数据例如可以指定用户所偏好的外围设备的特定设置或数值(例如,扬声器的特定音量水平,打印机的特定打印设置(例如,双面模式、为了节约墨水或色粉的经济模式等),扫描仪的特定扫描分辨率,等等)。该设备使用数据可以作为设备关联数据的一部分而被包括,并且因此如以下更为详细讨论的,作为设备关联数据的一部分进行同步。可替换地,该设备使用数据可以与设备关联数据分离,但是与设备关联数据类似地(以及可能连同其一起)进行同步。
该设备使用数据可以由于与计算设备相关联的外围设备被自动安装、人工安装或者在并未安装的情况下由计算设备所连接而针对该外围设备进行同步。因此,当外围设备新与计算设备相关联时,来自其它计算设备的设备使用数据能够在该计算设备上接收并使用,并且该用户使得他或她针对该外围设备所期望的设置得以自动在该计算设备上进行设置。类似地,类似于设备关联数据,在一台计算设备上针对该设备使用数据所作出的改变与其它计算设备进行同步。
外围设备108能够以人工方式与计算设备102相关联,诸如通过独立于服务106将外围设备108人工安装在计算设102上(例如,并不从服务106获得设备关联数据)。为了以人工方式将外围设备108与计算设备相关联,使用任意的各种机制来发现或识别该外围设备,诸如目录服务、网络上的组播发现、通用即插即用(UPnP)网络协议、在本地耦合至外围设备(例如,使用通用串行总线(USB)或无线USB协议)、设备上的web服务、其它公众和/或私有协议,等等。该设备关联数据能够基于用来发现或识别该外围设备的机制以各种方式获得,诸如从用来发现或识别该外围设备的服务、从该外围设备自身获得该设备关联数据,等等。
在登录到他或她的账户的同时,计算设备102与服务106同步设备关联数据。计算设备102同步设备关联数据是指计算设备102从服务106获得设备关联数据,并且从计算设备102向服务106提供设备关联。服务106可以包括数据同步模块112和设备关联数据储存器114。数据同步模块112管理设备关联数据与计算设备102、104的同步,将所接收到的设备关联数据存储在设备关联数据储存器114中。服务106的设备关联数据储存器114因此包括由于外围设备108与各个计算设备102、104相关联而被提供至服务106并且跨计算设备102、104进行同步的设备关联数据。
可替换地,服务106可以简单地包括设备关联数据储存器114,并且计算设备102、104可以从设备关联数据储存器114获取数据,并且如以下更为详细讨论的,确定针对设备关联数据的任何改变而并不使用同步模块112。服务106可以支持推送模型(例如,其中服务106将数据从服务106提供至一个或多个计算设备102)和/或拉动模型(例如,其中计算设备102对服务106进行轮询或者以其它方式访问服务106以从服务106请求或获取数据)。
当用户从计算设备102或104登录到他或她的账户时,用于计算设备上新关联的外围设备108的设备关联数据被传输至服务106并且被存储在设备关联数据储存器114中。类似地,被解除关联(例如,被删除或卸载的)外围设备108的指示能够被传输至服务106并且所指示的设备关联数据从设备关联数据储存器114被删除。将外围设备108解除关联是指卸载该设备(例如,删除或者以其它方式去除驱动程序或其它资源,清除或重置计算设备102和/或外围设备108的属性等)或者以其它方式清除或重置计算设备102用来与外围设备108进行通信的数值。在一个或多个实施例中,为了管理可能具有不同数据的计算设备之间的冲突,每个计算设备102、104以及服务106保存当数据被最后修改时(由计算设备或服务所修改或者从它们的角度被修改)的时间戳(例如,日期和/或时间)以便解决冲突并且确定哪些数据是所要使用的数据(例如,当数据被最后修改时的最近时间戳)。
从一台计算设备102、104所接收的设备关联数据被存储在设备关联数据储存器114中并且被提供至其它的计算设备102、104。该数据能够在不同时间和/或响应于不同事件——诸如在用户从其它计算设备102、104登录到他或她的账户时,以规律或不规律的间隔而被提供至其它计算设备102、104或者以其它方式被后者所获取(例如,由服务106推送至其它计算设备102、104,由其它计算设备102、104所获取,等等)。
因此,当新的外围设备108与计算设备102相关联时,用于该新的外围设备108的设备关联数据被传输至服务106并且被存储在设备关联数据储存器114中。当用户随后从计算设备104登录到他或她的账户中时,用于该新的外围设备108的设备关联数据从服务106传输至计算设备104,并且新的外围设备108自动与计算设备104相关联(由虚线连接120所图示)。应当注意的是,该新的外围设备在该新的外围设备能够自动与计算设备104相关联的情况下自动与该计算设备104相关联。可能出现其中新的外围设备无法自动与计算设备104相关联的情形,在这种情况下,如以下更为详细讨论的,外围设备并不自动与计算设备104相关联。类似地,如果另外的外围设备要与计算设备104相关联,则用于该另外的外围设备的设备关联数据被提供至计算设备102,并且该另外的外围设备自动与计算设备102相关联(假设该另外的外围设备能够自动与计算设备102相关联)。
图2是图示依据一个或多个实施例的实施在计算设备之间同步设备关联数据的示例计算设备200的框图。计算设备200例如可以是图1的计算设备102或104。计算设备200包括用户输入模块202、输出模块204、通信模块206、设备关联数据同步模块208和设备关联数据储存器210。
用户输入模块202从计算设备200的用户接收用户输入。用户输入可以以各种不同的方式提供,诸如通过按压设备200的小键盘或键盘的一个或多个按键,按压设备200的控制器(例如,遥控设备、鼠标、轨迹板等)的一个或多个按键,按压设备的触摸板或触摸屏的特定部分,在设备200的触摸板或触摸屏上作出特定手势,和/或在设备200的控制器(例如,遥控设备、鼠标、轨迹板等)上作出特定手势。用户输入也可以经由针对设备200的其它物理反馈输入来提供,诸如敲击设备200的任意部分,能够被设备200的运动检测或其它组件所认出的动作(诸如摇晃设备200,旋转设备200,弯曲或弯折设备200等),等等。用户输入还可以以其它方式提供,诸如经由针对麦克风的语音或其它可听输入,经由图像捕捉设备所观察到的手部或其它身体部分的运动,等等。
输出模块204生成、管理和/或输出内容以便进行显示、播放和/或其它呈现。该内容可以由输出模块204所创建或者从计算设备200的其它模块获取。该内容例如可以是用户界面(UI)的显示或播放部分,对输入的提示,等等。该内容可以由计算设备200的组件(例如,扬声器、交互式显示设备等)进行显示或者以其它方式播放。可替换地,输出模块204能够生成一个或多个信号,它们被输出至与计算设备200分离的其它设备或组件(例如,扬声器、显示设备等)。
通信模块206管理与诸如图1的服务106之类的服务以及诸如图1的外围设备108之类的外围设备的通信。通信的管理是指将从计算设备200的其它模块所获得的数据发送至目标设备,并且将从其它设备所接收到的数据提供至计算设备200的适当模块。
设备关联数据储存器210保存与计算设备200人工关联的设备的设备关联数据以及从服务106所接收的用于设备的设备关联数据的副本。如以下更为详细讨论的,从服务106所接收的用于设备的设备关联数据能够自动与计算设备200相关联,或者可替换地能够在设备关联数据储存器210中被接收并保存而并不与计算设备200相关联。
设备关联数据同步模块208管理设备关联数据向服务106的发送。当新的外围设备在用户登录到他或她在服务106上的账户的同时以人工方式与计算设备200相关联时,用于该外围设备的设备关联数据被保存在设备关联数据储存器210中,并且设备关联数据同步模块208将该设备关联数据的副本发送至服务106。如果新的外围设备在用户并未登录到他或她在服务106上的账户的同时以人工方式与计算设备200相关联,则设备关联数据同步模块208能够在用户随后从计算设备200登录到他或她的账户时将用于该新的外围设备的设备关联数据的副本发送至服务106。可替换地,设备关联数据同步模块208在用户并未登录到他或她在服务106上的账户的同时以人工方式与计算设备200相关联的情况下可以不将用于该新的外围设备的设备关联数据的副本发送至服务106。
设备关联数据同步模块208还管理设备关联数据从服务106的接收。当用户从计算设备200登录到他或她在服务106上的账户时,服务106发送用于服务106具有其副本但是计算设备200并没有副本的任何新的外围设备(例如,以人工方式与另一个计算设备相关联的外围设备)的设备关联数据的副本。服务106还可以发送与从服务106所接收的设备关联数据相关的其它信息的副本,诸如时间戳信息、用户信息等。设备关联数据同步模块208将从服务106所接收到的设备关联数据的副本保存在设备关联数据储存器210中。设备关联数据同步模块208还保留与从服务106所接收的设备关联数据相关的信息,诸如时间戳信息、用户信息等,以解决冲突并执行其它功能。如以下更为详细讨论的,设备关联数据同步模块208还自动将计算设备200与对应于该设备关联数据的外围设备相关联,假设该外围设备能够自动与计算设备200相关联。
类似地,类似于发送用于新的外围设备的设备关联数据,针对设备关联数据的其它改变能够被发送至服务106和/或从服务106接收。例如,如果用于外围设备的设备关联数据发生改变(例如,打印服务器名称改变,安全或认证数据改变等),则该改变的指示能够被发送至服务106,后者在用户从其它计算设备登录到他或她的账户时将该指示发送至那些其它设备。因此,设备关联数据的改变被自动与那些其它计算设备相关联。作为另一个示例,如果在一台计算设备上删除外围设备(例如,卸载或解除关联),则该删除的指示能够被发送至服务106,后者在用户从其它计算设备登录到他或她的账户时将该指示发送至那些其它设备。因此,外围设备被自动与那些其它计算设备解除关联(例如,从中卸载)。可替换地,所删除的外围设备的指示可以并不被发送至服务106,而是另外地,用户以人工方式将其所期望的计算设备上的外围设备解除关联。应当注意的是,即使外围设备从计算设备解除关联,相对应的设备关联数据也能够存留在该计算设备上(或者可替换地能够被删除)。
已经作出了哪些设备关联数据的改变(例如,新的设备关联数据,删除或其它改变的指示)以及因此哪些设备关联数据改变需要被同步至其它计算设备的确定能够以各种方式来执行。能够依赖于服务106和/或计算设备200来执行该确定。例如,计算设备200能够确定已经作出了哪些设备关联数据改变并且发送已经作出的设备关联数据的改变的指示。作为另一个示例,计算设备200能够向服务106发送设备关联数据储存器210中基本上所有设备关联数据的记录(例如,计算设备200的当前设备关联数据的快照),并且服务106将基本上全部设备关联数据的记录与服务106所保存的关联的设备关联数据的记录进行比较以确定已经作出了哪些设备关联数据的改变。
作为又另一个示例,计算设备200能够向服务106发送设备关联数据储存器210中基本上所有设备关联数据的记录(例如,计算设备200的当前设备关联数据的快照),并且服务106保存该记录的副本。该副本随后能够在用户从其它计算设备登录到他或她的账户时由服务106发送至那些其它计算设备,并且那些其它计算设备能够将该基本上所有设备关联数据的记录与它们的设备关联数据的记录进行比较以确定已经作出了哪些设备关联数据的改变。该记录可替换地能够由服务106在其它时间或者响应于其它事件发送至其它计算设备,诸如服务106以规律或不规律的间隔将该记录推送至其它计算设备,该其它计算设备以规律或不规律的间隔请求该记录(例如,对服务106进行轮询),等等。
图3是图示依据一个或多个实施例的用于在计算设备之间同步设备关联数据的示例处理300的流程图。处理300能够以软件、固件、硬件或者它们的组合来实施。处理300利用三列进行图示:在左侧列中所图示的处理300的动作由一台计算设备(例如,图1的计算设备102或104,或者图2的计算设备200)所执行,右侧列中所图示的处理300的动作由另一个计算设备(例如,图1的计算设备102或104,或者图2的计算设备200)所执行,并且中间列中所图示的处理300的动作由服务(例如,图1的服务106)所执行。处理300被示为动作的集合并且并不局限于所示出的用于执行各个动作的操作的顺序。处理300是用于在计算设备之间同步设备关联数据的示例处理;在计算设备之间同步设备关联数据的另外的讨论参考不同附图而被包括于此。
在处理300中,设备关联数据和/或设备关联数据的改变被发送至服务(动作302),后者接收该设备关联数据和/或设备关联数据的改变(动作304),并且保存该设备关联数据和/或设备关联数据的改变的副本(动作306)。该服务将设备关联数据的副本保存为与用户账户相关联,这是在该设备关联数据在动作302被发送至服务时用户所登录的用户账户。对于设备关联数据的改变而言,该服务能够利用新接收到的设备关联数据替换之前的设备关联数据(设备关联数据被改变)。
该设备关联数据和/或设备关联数据的改变被服务发送至计算设备(动作308)。该设备关联数据和/或设备关联数据的改变能够被发送至与在动作302中发送该设备关联数据和/或设备关联数据的改变的计算设备有所不同的计算设备并且被其所接收(动作310)。设备关联数据和/或设备关联数据的改变能够响应于来自计算设备针对设备关联数据和/或设备关联数据的改变的请求而在动作308中被发送,或者可替换地,服务可以在动作308中将设备关联数据和/或设备关联数据的改变推送或者以其它方式提供至该计算设备,而并不考虑该服务所接收的针对设备关联数据和/或设备关联数据改变的任何请求。该计算设备保存设备关联数据和/或设备关联数据的改变的副本(动作312)。该计算设备还自动将该计算设备与被该设备关联数据识别的能够自动与该计算设备相关联的那些外围设备相关联,和/或依据该设备关联数据的改变更新设备关联数据(动作314)。
除此之外或可替换地,用于接收设备关联数据和/或设备关联数据的改变的请求能够由与之前在动作302中发送该设备关联数据和/或设备关联数据的改变相同的计算设备发送(动作316)至服务。响应于在动作316所发送的请求,该服务将与用户账户相关联的设备关联数据和/或设备关联数据的改变发送至该计算设备(动作308)。该计算设备接收该设备关联数据和/或设备关联数据的改变(动作318),并且保存该设备关联数据和/或设备关联数据的改变的副本(动作320)。该计算设备还自动将该计算设备与被该设备关联数据识别的能够自动与该计算设备相关联的那些外围设备相关联,和/或依据该设备关联数据的改变更新设备关联数据(动作322)。可替换地,不同于在动作316中所发送的请求,该服务可以在动作318中将与用户账户相关联的设备关联数据和/或设备关联数据的改变推送或者以其它方式提供至该计算设备,而并不考虑该服务所接收的针对设备关联数据和/或设备关联数据的改变的任何请求。
因此,设备关联数据和/或设备关联数据的改变能够与其它计算设备进行同步,并且外围设备自动与那些其它计算设备相关联。除此之外或可替换地,设备关联数据能够从服务返回至向服务发送该设备关联数据的计算设备。因此,计算设备能够将其设备关联数据的信息备份至服务,并且随后接收该设备关联数据并且使得外围设备自动与该计算设备重新关联(例如,如果该计算设备具有新的硬盘,如果操作系统被重新安装在该计算设备上,等等)。
应当注意的是,设备关联数据与服务上的用户账户相关联,并且因此设备关联数据的发送和接收是在用户登录到他或她的用户账户的同时来执行。处理300中针对不同计算设备的发送和接收因此能够在不同时间执行。例如,该设备关联数据能够在用户从一台计算设备登录到他或她的用户账户时在动作302被发送至服务,并且随后在用户后续从那个其它计算设备登录到他或她的用户账户时在动作308从该服务被发送至该其它计算设备。还应当注意的是,能够从不同计算设备执行同时的处理300。例如,一台计算设备可能在另一台计算设备正在从服务接收设备关联数据的同时向该服务发送设备关联数据,一台计算设备可能在另一台计算设备正在向服务发送设备关联数据的同时向该服务发送设备关联数据,等等。
在示例处理300中,设备关联数据被示为由服务从计算设备所接收。可替换地,设备关联数据能够从其它来源接收。例如,在一个或多个实施例中,外围设备自身能够将用于该外围设备的设备关联数据提供至服务。例如,外围设备可以是能够将其自己的设备关联数据发送至服务的智能电话。因此,外围设备能够将其设备关联数据提供至服务,后者将该设备关联数据同步至用户从那里登录到他或她的账户的计算设备,并且该外围设备在用户之前没有将该外围设备与计算设备人工关联的情况下自动与那些计算设备相关联。类似地,外围设备(诸如智能电话外围设备)还可以从服务接收设备关联数据,其可以包含有关具体用户期望或偏好如何使用该外围设备的用户偏好数据,并且该外围设备能够使用该偏好数据(例如,通过依据用户偏好数据设置适当配置数值或其它设备设定)。
图4是图示依据一个或多个实施例的用于自动将外围设备与计算设备相关联的示例处理400的流程图。处理400由计算设备所执行,诸如图1的计算设备102或104,或者图2的计算设备200,并且能够以软件、固件、硬件或者它们的组合来实施。处理400被示为动作的集合并且并不局限于所示出的用于执行各个动作的操作的顺序。处理400是用于自动将外围设备与计算设备相关联的示例处理;自动将外围设备与计算设备相关联的另外的讨论参考不同附图而被包括于此。
在处理400中,用户从实施处理400的计算设备登录到用户账户(动作402)。接收用于与该用户账户相关联的一个或多个外围设备中的每一个的设备关联数据(动作404)。所接收的设备关联数据可以采用不同的形式,诸如是基本上所有被接收的设备关联数据,用于其它计算设备所安装的新的外围设备的设备关联数据,等等。该设备关联数据能够在不同时间被接收,诸如在登录到用户账户之后不久,登录到用户账户一段时间之后(例如,在已经过去阈值量的时间之后,在已经从服务接收到阈值数量的其它数据或更高优先级的数据之后,等等),基于其它事件(例如,针对存储在服务之中的设备关联数据的改变),等等。
所接收的设备关联数据的副本被保存在计算设备上(动作406)。此外,确定对应于所接收的设备关联数据但是还没有与该计算设备相关联的一个或多个外围设备中的哪些能够与该计算设备相关联(动作408)。在动作408中被确定为能够与该计算设备相关联但是当前并未与该计算设备相关联的一个或多个外围设备自动与该计算设备相关联(动作410)。通过将该外围设备自动与该计算设备相关联,虽然用户并不需要以人工方式将该外围设备与计算设备相关联(例如,无需人工安装该外围设备),但是该外围设备随后能够就像它们以人工方式与该计算设备相关联那样(例如,被人工安装在该计算设备上)被该计算设备所访问。
哪些外围设备已经与计算设备相关联的确定能够以各种不同方式来确定,诸如通过将设备关联数据中包括的外围设备的标识符与已经与该计算设备相关联的外围设备的标识符进行比较,通过假设从服务器所接收的所有设备关联数据是用于还没有与计算设备相关联的外围设备(并且因此对应于所接收的设备关联数据的外围设备都还没有与该计算设备相关联),等等。
哪些外围设备能够自动与计算设备相关联的确定也能够以不同方式来确定。在一个或多个实施例中,应用各种规则(或其它标准)来识别无法与计算设备自动相关联的外围设备。这样的规则可以处于各种位置,诸如在计算设备上,存储为计算设备从服务所接收的设备关联数据的一部分,等等。因此,外围设备因此能够自动与计算设备相关联,除非一种或多种规则指示外围设备不能自动与该设备相关联。
应当注意的是,如果外围设备并未自动与计算设备相关联,则用于该外围设备的设备关联数据仍然能够在将该外围设备以人工方式与计算设备相关联时被用来促成该外围设备的发现和/或该外围设备的关联。例如,外围设备可以具有持续保留在设备关联数据中的安全码或其它信息,并且用户在他或她通过人工安装外围设备而选择与之连接的情况下无需再次输入或者以其它方式提供该信息。作为另一个示例,该外围设备的存在可以被显示在外围设备选择或其它配置屏幕上,诸如以不同形式进行显示(例如,不同颜色、阴影或更亮等)以指示该外围设备存在但是并未与计算设备相关联。
识别无法自动与计算设备相关联的外围设备的规则可以包括外围设备驱动程序可用性规则。外围设备驱动程序是指计算设备用来与该外围设备进行通信的软件(和/或固件)与数据。在一个或多个实施例中,接收对应于外围设备的设备关联数据的计算设备可能无法安装外围设备驱动程序,或者可能无法安装用于该外围设备的驱动程序。在这样的实施例中,确定该外围设备无法与计算设备相关联。
此外,一些外围设备驱动程序诸如经由网络从来源(例如,另一个设备或服务)、从磁盘或光盘、从闪存或其它固态驱动器、从计算设备自身上的另一个位置等进行下载。这些外围设备驱动程序能够以数字方式被签署为经过验证,可以从经过验证的来源获得,或者能够以其它方式进行验证。在一个或多个实施例中,在无法验证外围设备驱动程序的情况下(例如,并未由计算设备所信任的机构进行数字签署,并非来自经过验证的来源等),确定该外围设备驱动程序无法被安装在计算设备上。然而,用户能够可选地被提示使用所获得的外围设备驱动程序授权外围设备的安装。能够接收各种用户输入来授权外围设备的安装,诸如选择“是”或“安装”选项。如果用户输入指示外围设备的安装被授权,则该外围设备就像自动与计算设备相关联那样与该计算设备相关联(用户无需像他或她将外围设备与计算设备人工相关联那样采取另外的动作以将外围设备与计算设备相关联)。
此外,一些外围设备驱动程序使用可以通过版本号进行识别的不同模型(例如,驱动程序所使用的格式或协议)所设计。外围设备可以具有使用这些模型中的不同模型的多个驱动程序。在一个或多个实施例中,在外围设备驱动程序并非特定模型,至少并非该驱动程序模型的特定版本等的情况下确定该外围设备驱动程序无法被安装在计算设备中。然而,用户能够可选地被提示使用所获得的外围设备驱动程序授权外围设备的安装,尽管该所获得的驱动程序并非特定模型,至少该驱动程序模型的特定版本,等等。能够接收各种用户输入来授权外围设备的安装,诸如选择“是”或“安装”选项。如果用户输入指示外围设备的安装被授权,则该外围设备就像自动与计算设备相关联那样与该计算设备相关联(用户无需像他或她将外围设备与计算设备人工相关联那样采取另外的动作以将外围设备与计算设备相关联)。
用来识别无法自动与计算设备相关联的外围设备的规则可以包括所指定的设备规则。一些外围设备能够以特定于个体计算设备的方式与该计算设备相关联,并且设备关联数据包括该具体的方式。例如,外围设备(例如,蓝牙设备)可以被安装在计算设备上并且具有包括该外围设备被安装于其上的计算设备的MAC地址的设备关联数据。在一个或多个实施例中,关于该设备关联数据是否包括指定特定计算设备的数据进行检查。如果接收设备关联数据的计算设备是该设备关联数据所指定的计算设备,则该外围设备能够自动与该计算设备相关联。然而,如果接收设备关联数据的计算设备并不是该设备关联数据所指定的计算设备,则该外围设备无法自动与该计算设备相关联。因此,这样的外围设备能够自动与原始发送该设备关联数据的计算设备重新关联(例如,备份该设备关联数据),但是并不与其它计算设备自动关联。
用于识别无法自动与计算设备相关联的外围设备的规则可以包括域或网络规则。不同的外围设备可以位于仅能够由特定计算设备(例如,有权访问网络的计算设备,作为相同域的一部分的计算设备,等等)进行访问的特定网络或域上。在一个或多个实施例中,关于该设备关联数据指示外围设备是域的一部分还是位于接收该设备关联数据的计算设备当前无法访问的网络上进行检查。能够以各种方式来确定外围设备是域的一部分还是位于计算设备当前无从访问的网络上,诸如通过将(如设备关联数据中所识别的)该外围设备所处的域或网络与计算设备当前所处的记录(例如,由计算设备的操作系统所保存)进行比较来确定它们是否相同,通过尝试访问外围设备并且检查该尝试是否成功,等等。如果外围设备是域的一部分或者位于计算设备当前无从访问的网络上,则确定该外围设备无法自动与该计算设备相关联。
虽然确定了该外围设备无法自动与该计算设备相关联,但是该确定是由于该外围设备当前无法被访问所作出的。因此,该外围设备可以被称作能够与计算设备相关联但是无法自动与该计算设备相关联。该外围设备或设备关联数据被标记或者形成这样的外围设备或设备关联数据的记录以向计算设备指示其随后可能有权访问该外围设备所处的域或网络并且因此与该计算设备进行关联。例如,在执行处理400时,计算设备可能是用户在家中运行的膝上计算机,并且因此无从访问他或她的工作域或网络,但是随后可能被带去工作并加入到该外围设备所在的域或网络。在这样的情况下,该外围设备可以在随后自动与该设备相关联(例如,当用户将其设备带去工作并且计算设备检测到其已经加入该外围设备所在的域或网络时),或者用户可以在随后被提示以指示是否期望重新检查将该外围设备自动与计算设备相关联的能力。图2的设备关联数据同步模块208可以以规律或不规律的间隔或者响应于特定事件(诸如,计算设备加入特定域)检查该外围设备是否是域的一部分还是位于计算设备当前能够访问的网络上。
用于识别无法自动与计算设备相关联的外围设备的规则可以包括关联原因规则。在一些情况下,外围设备能够出于诸如管理员动作或群组策略设置之类的特定原因而与计算设备相关联。在一个或多个实施例中,当外围设备响应于来自管理员的命令或者由于群组策略设置而与计算设备相关联时,在设备关联数据中形成对应于该外围设备由于该命令而与计算设备相关联的记录。由接收该设备关联数据的计算设备关于该设备关联数据是否指示外围设备由于这样的来自管理员的命令或者由于群组策略设置而与计算设备相关联进行检查。如果外围设备因为这样的来自管理员的命令或者由于群组策略设置而与计算设备相关联,则确定该外围设备无法自动与接收该设备关联数据的计算设备相关联。
用于识别无法自动与计算设备相关联的外围设备的规则可以包括认证规则。在一些情况下,某些认证信息、PIN等并不包括在设备关联数据中。另外地,在对应于这样的设备关联数据的外围设备相关联的每个计算设备接收用户输入。在一个或多个实施例中,由接收该设备关联数据的计算设备关于相对应的设备关联数据中是否缺少用于关联外围设备的某些数据(诸如证书、PIN等)进行检查。如果用于将外围设备与计算设备相关联的某些数据并未包括在相对应的设备关联数据中,则确定该外围设备无法自动与该计算设备相关联。
然而,用户可选地能够被提示以提供该设备关联数据中所缺少的某些数据。能够接收各种用户输入以提供某些数据,诸如在键盘上输入PIN或认证码,提供与用户相关联的数字证书,等等。响应于提供缺失数据的用户输入,外围设备就像自动与计算设备相关联那样与该计算设备相关联(用户无需像他或她人工安装外围设备那样采取另外的动作以将外围设备与计算设备相关联)。
在对用于识别无法自动与计算设备相关联的外围设备的规则的讨论中,提到了提示用户进行输入(例如,安装驱动程序的授权、PIN或证书等)。该提示可以在不同时间执行,诸如在确定外围设备无法自动与计算设备相关联时,响应于用户在外围设备管理或配置屏幕上对外围设备的选择,等等。
此外,应当注意的是,如果外围设备并未自动与计算设备相关联,则能够显示或者以其它方式呈现指示以向用户给出该外围设备为何没有自动与计算设备相关联的反馈(例如,外围设备的驱动程序无法在计算设备上安装,计算设备没有正确的MAC地址,等等)。该提示能够在不同时间执行,诸如在确定外围设备无法自动与设备相关联时,响应于用户在外围设备管理或配置屏幕上对外围设备的选择,等等。
还应当注意的是,在所图示的处理400的示例中,所接收的设备关联数据的副本无论对应于该设备关联数据的外围设备是否在动作410自动与计算设备相关联都被保存在该计算设备上。可替换地,对应于外围设备的设备关联数据的副本可以仅在某些情况下才被保存在计算设备上,诸如对应于该设备关联数据的外围设备与计算设备相关联,该设备关联数据被标记为能够与计算设备相关联但是无法自动与计算设备相关联,等等。
图5是图示依据一个或多个实施例的用于实施这里所讨论的技术的示例模型500的框图。模型500例如能够被用来实施图2的设备关联数据同步模块208。模型500包括一般同步架构502、设备同步处理器504、设备关联架构508和设备关联数据储存器510。
设备关联架构508针对特定外围设备协议(例如,打印机、蓝牙设备、Web服务提供方等)而管理设备关联数据,该设备关联数据被保存在设备关联数据储存器510(其可以是图2的设备关联数据储存器210)中。设备关联架构508提供了作为允许设备关联架构508从设备同步处理器504接收设备关联数据的接口的导入方法512,以及作为允许设备关联架构508向设备同步处理器504发送设备关联数据的接口的导出方法514。设备关联架构508可以包括一个或多个模块以针对不同外围设备协议对设备关联数据进行管理。
在一个或多个实施例中,为了为服务106填充用户账户的设备关联数据的集合,一般同步架构502调用设备同步处理器504并且要求该处理程序504列举要进行同步的数据。同步处理程序504调用设备关联架构508并且请求架构508导出其所具有的设备关联数据的集合。设备关联架构508从设备关联数据储存器510进行读取以获得其设备关联数据,并且将所读取的设备关联数据提供回设备同步处理器504。设备同步处理器504将所接收到的设备关联数据放入同步数据的容器之中并且将该容器返回至一般同步架构502。一般同步架构502将该同步数据的集合提供至服务106。
在一个或多个实施例中,为了将针对计算设备上的设备关联数据所做出的改变提供至服务106,设备同步处理器504直接针对设备关联数据510记下改变事件。可替换地,设备同步处理器504能够以其它方式进行指示以接收改变,诸如通过调用设备关联架构508所给出(expose)的应用编程接口(API)方法。响应于数据储存器510中的改变,设备同步处理器504得到通知并且该设备同步处理器504列举来自设备关联架构508的当前的设备关联数据的集合。该列举允许设备同步处理器504获得有关数据储存器510中发生了什么改变的细节而无需理解基础的数据储存器510的细节。设备关联架构508从设备关联数据储存器510进行读取以获得其设备关联数据并且将其设备关联数据(例如,作为设备关联数据对象)返回至设备同步处理器504,后者产生包括其所接收的设备关联数据的同步设置的容器并且将该容器送至一般同步架构502。一般同步架构502将同步数据的集合提供至服务106。
在一个或多个实施例中,为了记录针对从服务106所接收的设备关联数据所做出的改变,服务106关于针对设备关联数据的改变向一般同步架构502进行通知,并且将基本上所有同步的设置的新的聚集提供至一般同步架构502。一般同步架构502对该聚集进行解析并且随后调用设备同步处理器504以对从服务106所接收的设备关联数据进行处理。设备同步处理器504列举设备关联数据的现有集合,使得其能够确定当前本地设备关联数据和从服务106接收的设备关联数据之间的差别。设备同步处理器504利用当前的本地设备关联数据和从服务106所接收的设备关联数据之间的差异而调用设备关联架构508。设备关联架构508从设备关联数据储存器510取得相对应的设备关联数据。从数据储存器510所取得的设备关联的集合被递送回到设备同步处理器504。设备同步处理器504确定有所改变的数据集合是否影响到其所管理的设备关联数据的集合;换句话说,如果设备关联数据保持不变但是其它同步数据发生了改变,则对于设备同步处理器504所管理的本地状态没有改变。如果外围设备被添加,则设备同步处理器504利用导入命令调用设备关联架构508以添加设备关联数据,并且设备关联架构508将该设备关联数据添加至数据储存器510。如果外围设备被移除,则设备同步处理器504利用解除关联或移除命令调用设备关联架构508,并且设备关联架构508从数据储存器510移除设备关联数据。作为设备关联数据被添加至设备关联数据储存器510或从中移除的结果,计算设备与外围设备相关联或者解除关联。
这里所讨论的技术提供了各种使用情形。例如,用户能够安装他或她想要在他或她的计算设备之一上使用的外围设备,并且使得那些外围设备被自动安装在他或她的全部计算设备上。作为另一个示例,用户能够购买新的智能电话并且使得该智能电话将其设备关联数据传输至服务。他或她的新的智能电话随后被自动安装在他或她的所有计算设备上,而该用户不必将该智能电话人工安装在任何那些设备上。
能够针对这里所讨论的技术作出各种其它修改。在一个或多个实施例中,如以上所讨论的,用于安装在计算设备上的外围设备的设备关联数据被自动同步至用户从其登录到他或她的账户的各个其它计算设备。可替换地,用户能够被提示(例如,作为安装过程的一部分)他或她是否期望使得特定外部设备被同步至他或她的其它计算设备,并且用于该特定外围设备的设备关联数据仅响应于指示该特定外围设备要被同步的用户输入才被发送至服务和其它计算设备。
虽然这里参考特定模块讨论了特定功能,但是应当注意的是,这里所讨论的个体模块的功能能够被划分为多个模块,和/或多个模块的至少一些功能能够被组合为单个模块。这里讨论了各个模块所执行的各种动作。这里被讨论为执行动作的特定模块包括其自身执行该动作的特定模块,或者可替换地调用或者以其它方式访问另一个组件或模块的特定模块,上述另一个组件或模块执行该动作(或者结合该特定模块执行该动作)。因此,执行动作的特定模块包括执行该动作的特定模块自身和/或被该特定模块所调用或以其它方式访问的执行该动作的另一个模块。
图6总体上以600图示了包括示例计算设备602的示例系统,该示例计算设备602表示可以实施这里所描述的各种技术的一个或多个系统和/或设备。计算设备602例如可以是服务提供方的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统,和/或任意其它适当计算设备或计算系统。
如所图示的示例计算设备602包括彼此通信耦合的处理系统604、一个或多个计算机可读媒体606以及一个或多个I/O接口608。虽然并未示出,但是计算设备602可以进一步包括系统总线或者将各种组件互相耦合的其它数据和命令传输系统。系统总线可以包括不同总线结构的任意一种或者其组合,诸如存储器总线或存储器控制器、外部总线、通用串行总线,和/或利用任意各种总线架构的处理器或局部总线。还预见到诸如控制和数据线路之类的各种其它示例。
处理系统604表示用于使用硬件执行一种或多种操作的功能。因此,处理系统604被图示为包括硬件部件110,后者可以被配置为处理器、功能块等。这可以包括作为应用特定集成电路或者使用一种或多种半导体所形成的其它逻辑设备的硬件的实施方式。硬件部件610并不被它们所形成的材料或者在其中所采用的处理机制所限制。例如,处理器可以由(多种)半导体和/或晶体管(例如,电子集成电路(IC))所组成。在这样的背景下,处理器可执行的指令可以是能够以电子方式执行的指令。
计算机可读媒体606被图示为包括存储器/储存器612。存储器/储存器612表示与一个或多个计算机可读媒体相关联的存储器/储存器容量。存储器/储存器612可以包括易失性媒体(诸如随机访问存储器(RAM))和/或非易失性媒体(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/储存器612可以包括固定媒体(例如,RAM、ROM、固定硬盘等)以及可移除媒体(例如,闪存、可移除硬盘、光盘等)。计算机可读媒体606可以以如以下进一步描述的各种其它方式进行配置。
(多个)输入/输出接口608表示使用各种输入/输出设备而允许用户向计算设备602输入命令和信息而且还允许信息被呈现给用户和/或其它组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理接触的电容或其它传感器)、相机(例如,其可以采用可见以及诸如红外频率的非可见波长检测移动,该移动并不涉及作为手势的触摸),等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触摸响应设备,等等。因此,计算设备602可以以如以下所进一步描述的各种方式进行配置以支持用户交互。
计算设备602还包括数据同步系统614。数据同步系统614提供如以上所讨论的用于同步设备关联数据的各种功能。数据同步系统614例如能够实施图1的数据同步模块112或者图2的设备关联数据同步模块208。
各种技术可以在这里以软件、硬件部件或者程序模块的总体背景进行描述。通常,这样的模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、部件、组件、数据结构等。如这里所使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。这里所描述的技术的特征是独立于平台的,这意味着该技术可以在具有各种处理器的各种计算平台上实施。
所描述的模块和技术的实施方式可以被存储在一些形式的计算机可读媒体上或者跨它们进行传送。计算机可读媒体可以包括可以由计算设备602进行访问的各种媒体。作为示例而非限制,计算机可读媒体可以包括“计算机可读存储媒体”和“计算机可读信号媒体”。
与仅是信号传输、载波或者信号本身相比,“计算机可读存储媒体”是指使得能够对信息进行持久性存储和/或存储是有形的媒体和/或设备。因此,计算机可读存储媒体是指非信号承载媒体。计算机可读存储媒体包括诸如以适于存储信息的方法或技术所实施的易失性和非易失性、可移除和非可移除媒体和/或存储设备之类的硬件,上述信息诸如计算机可读指令、数据结构、程序模块、逻辑部件/电路或者其它数据。计算机可读存储设备的示例可以包括但并不局限于RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字多功能盘(DVD)或者其它光学存储器件、硬盘、磁性卡盒、磁带、磁盘存储器件或者其它磁性存储设备,或者其它存储设备、有形媒体,或者适于存储所期望信息并且可以被计算机进行访问的制造品。
“计算机可读信号媒体”是指被配置为诸如经由网络而向计算设备602的硬件传送指令的信号承载媒体。信号媒体通常可以在调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据,上述调制数据信号诸如载波、数据信号或者其它传输机制。信号媒体还包括任意的信息传递媒体。术语“调制数据信号”意味着使得其一个或多个特性以在信号中编码信息的方式进行设置或改变的信号。作为示例而非限制,通信媒体包括诸如有线网络或直接线路连接的有线媒体,以及诸如声音、RF、红外和其它无线媒体的无线媒体。
如之前所描述的,硬件部件610和计算机可读媒体606表示以硬件形式所实施的指令、模块、可编程设备逻辑和/或固定设备逻辑,其在一些实施例中可以被用来实施这里所描述的技术的至少一些方面。硬件部件可以包括集成电路的组件或片上系统、应用特定集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD),以及以硅或其它硬件设备形式的其它实施方式。在该背景下,硬件部件可以作为执行该硬件部件所体现的指令、模块和/或逻辑所定义的程序任务的处理器设备以及例如之前所描述的计算机可读存储媒体的被用来存储指令以便执行的硬件设备而进行操作。
以上的组合也可以被采用以实施这里所描述的各种技术和模块。因此,软件、硬件或程序模块以及其它程序模块可以被实施为在某种形式的计算机可读存储媒体上所体现和/或由一个或多个硬件部件610所体现的一个或多个指令和/或逻辑。计算设备602可以被配置为实施对应于软件和/或硬件模块的特定指令和/或功能。因此,能够由计算设备602实施为软件的模块的实施方式可以至少部分以硬件来实现,例如通过使用处理系统的计算机可读存储媒体和/或硬件部件610。指令和/或功能可以能够由一种或多种制造品(例如,一个或多个计算设备602和/或处理系统604)所执行/操作以实施这里所描述的技术、模块和示例。
如图6中进一步图示的,示例系统600使得当在个人计算机(PC)、电视和/或机顶盒设备和/或移动设备上运行应用时能够实现无缝用户体验的普遍存在的环境。当在利用应用、玩视频游戏、观看视频等的时候从一个设备转移至下一个设备时,服务和应用在所有三种环境中基本上类似地针对共同的用户体验而运行。
在示例系统600中,多个设备通过中央计算设备进行互连。该中央计算设备可以处于该多个设备本地或者可以距该多个设备远程定位。在一个或多个实施例中,该中央计算设备可以是通过网络、互联网或其它数据通信链接而连接至多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,该互连架构使得功能得以跨多个设备进行传递以向多个设备的用户提供共同和无缝的体验。该多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台而使得针对设备所定制而且还共用于所有设备的体验能够传递至该设备。在一个或多个实施例中,创建目标设备的类别并且针对一般设备类别对体验进行定制。设备的类别可以由物理特征、使用类型或者设备的其它共同特性所定义。
在各种实施方式中,计算设备602可以假设各种不同的配置,诸如供计算机616、移动618和电视620使用。这些配置中的每一种都包括可以具有总体上不同的构造和能力的设备,并且因此计算设备602可以根据一种或多种不同设备类别进行配置。例如,计算设备602可以被实施为设备的计算机616的类别,其包括个人计算机、台式计算机、多屏幕计算机、膝上计算机、上网本等。
计算设备602还可以被实施为设备的移动618类别,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等。计算设备602还可以被实施为设备的电视620类别,其包括在随意观看环境中具有或连接至通常更大屏幕的设备。这些设备包括电视、机顶盒、游戏机等。
这里所描述的技术可以被计算设备602的这些各种配置所支持而并不局限于这里所描述的技术的具体示例。该功能也可以全部或部分通过使用分布式系统来实施,诸如经由平台624而通过“云”622来实施,如以下所描述的。
云622包括和/或表示用于资源626的平台624。平台624对云622的硬件(例如,服务器)和软件资源的基本功能进行抽象。资源626可以包括能够在计算机处理在计算设备602远程的服务器上执行的同时得以被采用的应用和/或数据。资源626还可以包括在互联网上和/或通过诸如蜂窝或WiFi网络的订户网络所提供的服务。
平台624可以对资源和功能进行抽象以将计算设备602与其它计算设备进行连接。平台624还可以用来对资源的规模进行抽象以针对所遇到的经由平台624所实施的资源的需求提供相对应的规模水平。因此,在互连设备环境中,这里所描述功能的实施方式可以遍布系统600进行分布。例如,该功能可以部分在计算设备602上实施以及经由对云622的功能进行抽象的平台624来实施。
虽然已经以特定于结构特征和/或方法动作的语言对主题进行了描述,但是所要理解的是,所附权利要求中限定的主题并不必局限于以上所描述的具体特征或动作。相反,以上所描述的具体特征和动作被公开为实施权利要求的示例形式。

Claims (11)

1.一种用于同步的方法,包括:
响应于用户登录到服务的用户账户从该服务接收与该用户账户一起保存和同步的用于一个或多个外围设备中的每一个的设备关联数据,该用于外围设备的设备关联数据描述了如何将该外围设备连接至计算设备;
确定该一个或多个外围设备中的哪些能够自动可用于该计算设备;并且
针对无法自动可用于该计算设备的该一个或多个外围设备中的至少一个外围设备,显示提示以提供额外证书;以及
仅将该一个或多个外围设备中能够自动可用于该计算设备的那些外围设备自动可用于该计算设备。
2.根据权利要求1所述的方法,进一步包括在该计算设备上保存用于能够自动可用于该计算设备的外围设备的设备关联数据的副本以及用于该一个或多个外围设备中无法自动可用于该计算设备的至少一个外围设备的设备关联数据的副本。
3.根据权利要求2的方法,进一步包括:
显示无法自动可用于该计算设备的该至少一个外围设备的指示;并且
响应于授权安装该至少一个外围设备的用户输入将该至少一个外围设备安装在该计算设备上。
4.根据权利要求1所述的方法,用于至少一个外围设备的设备关联数据已经由该至少一个外围设备提供至该服务。
5.根据权利要求1所述的方法,该确定包括应用一种或多种规则来识别哪些外围设备无法自动可用于该计算设备,并且该自动可用于包括将除了无法自动可用于该计算设备的该外围设备之外的该一个或多个外围设备自动可用于该计算设备。
6.根据权利要求1所述的方法,进一步包括:
从该服务接收该一个或多个外围设备中的至少一个的设备使用数据,该外围设备的设备使用数据识别该外围设备的特定设置;并且
将该特定设置应用于安装在该计算设备上的至少一个外围设备。
7.根据权利要求1所述的方法,进一步包括:
从该服务接收针对用于该一个或多个外围设备中的至少一个外围设备的设备关联数据的改变;以及
基于该改变对该计算设备上所保存的用于该至少一个外围设备的设备关联数据进行更新。
8.根据权利要求1所述的方法,进一步包括:
从该服务接收该一个或多个外围设备中的至少一个已经被删除的指示;以及
不再使得该至少一个外围设备可用于该计算设备。
9.一种计算设备,包括:
数据储存器,用来存储用于外围设备的设备关联数据,该用于外围设备的设备关联数据描述了计算设备如何连接至该外围设备;以及
设备关联数据同步模块,其被配置为
响应于用户登录到服务的用户账户从该服务接收与该用户账户一起保存和同步的用于多个外围设备中的每一个的设备关联数据;
确定多个外围设备中的哪些能够自动可用于该计算设备;并且
仅将该多个外围设备中能够自动可用于该计算设备的那些外围设备自动可用于该计算设备;以及
响应于外围设备能够可用于该计算设备但是无法自动可用于计算设备,生成记录以指示该外围设备可用于该计算设备。
10.根据权利要求9所述的计算设备,该设备关联数据同步模块进一步被配置为,针对能够可用于该计算设备但是无法自动可用于该计算设备的外围设备,将该外围设备标记为可用于该计算设备。
11.一种其上存储计算机可执行指令的计算机可读存储媒体,所述指令当由计算设备执行时,使得所述计算设备实现如权利要求1-7中的任一个所述的方法。
CN201380076969.0A 2013-05-29 2013-09-19 在计算设备之间同步设备关联数据 Active CN105431816B (zh)

Applications Claiming Priority (5)

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

Publications (2)

Publication Number Publication Date
CN105431816A CN105431816A (zh) 2016-03-23
CN105431816B true CN105431816B (zh) 2019-06-04

Family

ID=51986475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380076969.0A Active CN105431816B (zh) 2013-05-29 2013-09-19 在计算设备之间同步设备关联数据

Country Status (11)

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

Families Citing this family (13)

* 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
EP3139803B1 (en) * 2014-05-09 2018-03-07 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
KR102000266B1 (ko) 2016-01-15 2019-07-15 구글 엘엘씨 애플리케이션 인스턴스들에 걸친 식별자들
US9817648B2 (en) 2016-01-15 2017-11-14 Google Inc. Application containers with dynamic sub-package loading
KR101850203B1 (ko) * 2016-04-11 2018-04-18 라인 가부시키가이샤 기기간 어플리케이션 연동 방법 및 시스템
CN106713435A (zh) * 2016-12-14 2017-05-24 北京小米移动软件有限公司 信息处理方法、装置及终端设备
US10606820B2 (en) * 2017-05-12 2020-03-31 International Business Machines Corporation Synchronizing data values by requesting updates
US10614054B2 (en) * 2017-05-12 2020-04-07 International Business Machines Corporation Synchronizing data values by sending updates
CN109413215A (zh) * 2018-12-24 2019-03-01 苏州思必驰信息科技有限公司 用于录音设备和用户终端的数据同步方法和系统

Family Cites Families (110)

* 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
NZ279622A (en) 1994-01-13 1998-04-27 Certco Llc Encrypted secure and verifiable communication: cryptographic keys escrowed
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
US7704147B2 (en) * 1999-10-06 2010-04-27 Igt Download procedures for peripheral devices
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
US6842766B2 (en) * 1999-12-09 2005-01-11 Microsoft Corporation Client side caching of printer configuration
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
AU2002258358A1 (en) 2000-10-27 2002-09-04 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
AU2003294018A1 (en) 2003-12-30 2005-07-21 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
US20050218739A1 (en) * 2004-04-01 2005-10-06 Microsoft Corporation System and method for sharing objects between computers over a network
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
US20050257226A1 (en) * 2004-05-14 2005-11-17 Microsoft Corporation PnP functionality for unsupported devices
US7613881B2 (en) 2004-06-08 2009-11-03 Dartdevices Interop Corporation Method and system for configuring and using virtual pointers to access one or more independent address spaces
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
US7991764B2 (en) 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
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
US8091121B2 (en) 2005-12-01 2012-01-03 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
US8676973B2 (en) 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
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
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
US7912916B2 (en) 2006-06-02 2011-03-22 Google Inc. Resolving conflicts while synchronizing configuration information among multiple clients
US8086698B2 (en) 2006-06-02 2011-12-27 Google Inc. 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
EP2158784A2 (en) 2007-06-06 2010-03-03 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
US20090158186A1 (en) 2007-12-17 2009-06-18 Bonev Robert Drag and drop glads
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
US8099761B2 (en) 2008-08-14 2012-01-17 Microsoft Corporation Protocol for device to station association
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US8769612B2 (en) 2008-08-14 2014-07-01 Microsoft Corporation Portable device 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
WO2011086787A1 (ja) 2010-01-13 2011-07-21 日本電気株式会社 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム
CN102082903A (zh) * 2010-12-21 2011-06-01 张有成 具有认证功能的摄像装置及认证方法
CN102111272B (zh) * 2010-12-24 2014-04-09 武汉天喻信息产业股份有限公司 移动终端对外部设备进行认证的方法
US20120233253A1 (en) 2011-02-11 2012-09-13 Ricci Christopher P 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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN105431816B (zh) 在计算设备之间同步设备关联数据
US11070543B2 (en) Multi-persona management and devices
US10484347B2 (en) Method and apparatus for supporting secure chat
US10116583B2 (en) Controlling resources used by computing devices
CN112380511B (zh) 账户控制方法、装置、设备和计算机可读存储介质
KR20170049513A (ko) 공유 세션 기법
US11962599B2 (en) Techniques for automatically configuring minimal cloud service access rights for container applications
CN106687923A (zh) 多个设备上的计算环境的呈现
EP3005119B1 (en) Service-based backup data restoring to devices
CN103813202A (zh) 具有互动功能的智能电视和手持设备及其互动方法
CN109426705A (zh) 一种界面显示方法、装置、设备和存储介质
CN103685341A (zh) 云存储数据中心及云存储数据的提供方法
US10693670B2 (en) Information processing apparatus, information processing system, and information processing method
KR20230021685A (ko) 음원 관리 플랫폼을 제공하기 위한 전자 장치 및 그 동작 방법
KR20200020376A (ko) 음원 관리 플랫폼을 제공하기 위한 전자 장치 및 그 동작 방법
WO2015125556A1 (en) Information providing apparatus, recording medium, and information providing method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant