CN102713886A - 跨越多个计算设备的漫游应用设置 - Google Patents

跨越多个计算设备的漫游应用设置 Download PDF

Info

Publication number
CN102713886A
CN102713886A CN2011800067754A CN201180006775A CN102713886A CN 102713886 A CN102713886 A CN 102713886A CN 2011800067754 A CN2011800067754 A CN 2011800067754A CN 201180006775 A CN201180006775 A CN 201180006775A CN 102713886 A CN102713886 A CN 102713886A
Authority
CN
China
Prior art keywords
application
application setting
change
computing equipment
setting
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.)
Granted
Application number
CN2011800067754A
Other languages
English (en)
Other versions
CN102713886B (zh
Inventor
W.S.卡赞
J.E.布雷扎克
M.S.贝克
T.R.马尼安
R.M.门兴
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102713886A publication Critical patent/CN102713886A/zh
Application granted granted Critical
Publication of CN102713886B publication Critical patent/CN102713886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

跨越多个计算设备漫游应用设置。计算设备上的提供器模块被运行以获取要被漫游的应用设置并且跨越多个计算设备漫游这些应用设置。在特定的计算设备上发起的应用设置改变被添加到该特定计算设备上的应用设置改变历史,并且还被添加到同步通信模块以传送到所述多个计算设备的一个或多个附加的计算设备。由所述一个或多个附加的计算设备之一发起的应用设置改变被特定计算设备接收并且被添加到该特定计算设备上的应用设置改变历史,并且还被并入到该特定计算设备上的应用设置中。

Description

跨越多个计算设备的漫游应用设置
背景技术
当前,许多用户使用多个计算设备,比如他们的家用计算机、工作计算机、膝上型计算机等等。用户经常在这些设备上安装相同的应用,在这些设备的每一个上按照他们的特定偏好定制这些应用。然而,这可能导致用户挫折,因为用户典型地被要求在多个设备的每一个上执行相同的应用定制。
发明内容
提供该发明内容,从而以简化形式引入在下文的具体实施方式中进一步描述的概念的选集。该发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于限制要求保护的主题的范围。
根据一个或多个方面,监控第一计算设备上的应用设置改变历史。响应于对第一计算设备上应用设置的第一改变的识别,第一改变被添加到同步通信模块以用于传送到一个或多个附加计算设备。响应于对所述一个或多个附加计算设备的第二设备上的应用设置的第二改变的识别,第二改变被添加到应用设置改变的历史并且还被并入到第一计算设备上的应用设置。
根据一个或多个方面,在第一计算设备中,识别与应用相关联的提供器模块。该应用的一个或多个应用设置被存储在为提供器模块所知的一个或多个设置位置中。该提供器模块被运行以获得一个或多个应用设置,并且跨越多个计算设备漫游所述一个或多个应用设置。这多个计算设备包括第一计算设备和一个或多个附加的计算设备。
附图说明
贯穿附图使用相同的数字来引用同样的特征。
图1图示了根据一个或多个实施例的实现跨越多个计算设备漫游应用设置的示例系统。
图2图示了根据一个或多个实施例的实现跨越多个计算设备漫游应用设置的示例计算设备。
图3是图示根据一个或多个实施例的用于配置计算设备和漫游应用设置的示例过程的流程图。
图4是图示根据一个或多个实施例的用于提供器在漫游应用设置时的示例过程的流程图。
图5是图示根据一个或多个实施例的用于跨越多个计算设备漫游应用设置的示例过程的流程图。
图6图示了根据一个或多个实施例的可以被配置成实现跨越多个计算设备漫游应用设置的示例计算设备。
具体实施方式
本文讨论了跨越多个计算设备漫游应用设置。在一个或多个实施例中,一个或多个用于应用的应用设置跨越多个计算设备被漫游。当对设备之一上的应用设置进行改变时,该改变被漫游到多个设备中的其他设备。相应地,对于该特定应用,在多个设备上被漫游的应用设置将是相同的,并且在一个设备上由用户进行的对这种应用设置的任何改变被自动识别并同样被传送到其他设备。在设备上用于多个不同应用的应用设置可以被漫游。
图1图示了根据一个或多个实施例的实现跨越多个计算设备漫游应用设置的示例系统100。系统100包括可以经由网络108而相互通信的多个计算设备102、104和106。计算设备102、104和106中的每一个可以是多种不同类型的计算设备。例如,每个计算设备102、104和106可以是台式计算机、膝上型或手持式计算机、移动站、娱乐设备(appliance)、通信地耦合到显示设备的机顶盒、电视、蜂窝或其他无线电话、游戏控制台、汽车用计算机等等。因此,每个计算设备102、104和106的范围可以是从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持式游戏控制台)。不同的计算设备102、104和106可以是相同或不同类型的计算设备。
网络108可以是多种不同的网络,包括因特网、局域网(LAN)、蜂窝或其他电话网络、内联网、其他公用和/或专用网络、及其组合等等。可替代地,计算设备102、104和106可以(例如,使用红外通信、有线连接、无线(例如,无线通用串行总线)连接等等)直接地相互通信。计算设备还可以经由一个或多个中间设备(比如一个或多个服务或服务器计算设备)而相互通信。
用于一个或多个应用的应用设置可以跨越计算设备102、104和106被漫游(也被称为同步)。每当在计算设备102、104和106之一上对漫游的应用设置进行改变时,该改变被自动传送到其他计算设备102、104和106并被这些计算设备保存。尽管在系统100中示出三个计算设备102、104和106,但是应当领会应用设置可以跨越两个计算设备或可替代地跨越四个或更多计算设备而被漫游。可以通过如下文更详细地讨论的不同方式来识别漫游应用设置所跨越的特定计算设备以及要被漫游的特定应用设置。
每个计算设备102、104和106包括设置同步模块和应用设置。计算设备102包括设置同步模块112和应用设置114,计算设备104包括设置同步模块116和应用设置118,以及计算设备106包括设置同步模块120和应用设置122。设置同步模块112、116和120经由网络108相互通信。设置同步模块112、116和120相互传送对应用设置114、118和122的改变,使得在计算设备102、104和106上的漫游的应用设置是相同的。
图2图示了根据一个或多个实施例实现跨越多个计算设备漫游应用设置的示例计算设备200。计算设备200可以是例如图1的计算设备102、104或106。计算设备200包括设置同步模块202,其包括提供器模块204、同步端点模块206和同步通信模块208。计算设备200还包括应用210、一个或多个应用设置212、配置信息214和控制器模块216。计算设备200还可选地包括用户接口(UI)模块218。设置同步模块202可以是例如图1的设置同步模块112、116或120,并且应用设置212可以是例如图1的应用设置114、118或122。
应当注意,在计算设备200中,图示了各种组件或模块。尽管被图示为单独的组件或模块,但是这些组件或模块中的多个组件或模块的功能或数据可以可替代地被组合成单个组件或模块。类似地,这些组件或模块中的一个或多个组件或模块的功能或数据可以可替代地被分离成多个组件或模块。
计算设备200包括其上安装的应用210。尽管在图2中图示了单个应用210,但是应当领会,多个应用可以被安装在计算设备200上。应用210具有一个或多个应用设置212。被漫游的应用设置212被存储在为提供器模块204所知的一个或多个特定设置位置中,如下文更详细地讨论的。应用设置212可以被存储在多种不同类型的设置位置中。例如,设置位置可以是文件、文件夹或目录、注册仓库(例如,操作系统注册表)等等。应用210从这一个或多个设置位置读取它的应用设置,并且还可以将新应用设置添加到这一个或多个设置位置和/或者改变这一个或多个设置位置中的应用设置。
多种不同类型的数据或值可以被存储为应用设置212。应用设置212是应用210在运行时所使用的配置信息或数据。被存储的特定类型的设置可以基于应用而变化,并且可以包括例如最喜爱的项目的列表(例如,web站点)、显示格式化选项、默认字体、用于拼写检查的词典、用户输入数据的草稿(例如,博客条目、电子邮件消息等)等等。
计算设备200包括存储在一个或多个配置位置中的配置信息214。配置信息214包括由应用210提供的信息,其用于注册自身以漫游应用设置并且还用于存储用户接口(UI)元素,比如所获得以在如下面更详细地讨论的UI中显示的名称、图标和描述。配置信息214包括例如应用210的名称、要被显示为表示应用210的图标、应用210的描述、识别应用210期望使用的特定提供器的信息等等。
当应用210被安装在计算设备200上时,用于应用210的适当配置信息被存储为配置信息214。用于应用210的该配置信息可以由应用210自身存储或者可替代地由另一个组件或模块(例如,安装程序(installer)应用)存储。可替代地,应用210可以识别资源(比如本地化资源DLL(动态链接库))。该资源可以由另一个组件或模块(安装程序应用)访问以获得用于应用210的配置信息。
在一个或多个实施例中,配置信息214包括提供器模块204的标识符。如下文更详细讨论的,该提供器模块204(也被简称为提供器)监控应用设置212的改变,并且还将对从其他计算设备接收的应用设置的改变存储为应用设置212。所标识的提供器模块204是应用210期望使用的提供器模块204。
可替代地,配置信息214不需要包括提供器模块204的标识符。例如,在一个或多个实施例中,单个提供器模块204包括在计算设备200中。在这样的实施例中,提供器模块204的标识符不需要包括在配置信息214中,因为仅有一个提供器模块204。通过另一个实例,在一个或多个实施例中,默认提供器模块204可以包括在计算设备200中。在这样的实施例中,如果提供器模块204的标识符没有包括在配置信息214中,则默认提供器模块204被用作用于应用210的提供器模块204。
计算设备200可以包括一个或多个提供器模块204。应用210具有相关联的提供器模块204(例如,在配置信息214中标识的提供器模块204、默认提供器模块204等)。与应用210相关联的提供器模块204知道各种设置位置,其中存储了用于应用210的应用设置212.提供器模块204可以是专用提供器模块。专用提供器模块利用其中存储了用于应用210的应用设置212的各种设置位置来配置或另外具有所述各种设置位置的知识。不同的应用可以将应用设置存储在不同的设置位置中和/或以不同方式存储,并且与每个这种不同应用相关联的专用提供器模块利用其中存储用于相关联应用的应用设置的设置位置和/或方式来配置或另外具有所述设置位置和/或方式的知识。
通用提供器模块也可以包括在每一个设备上并且可以被用于多个不同的应用。该通用提供器模块访问针对应用设置212的一个或多个特定设置位置(例如,操作系统注册仓库的一个或多个密钥、一个或多个目录或文件夹等)。因此,如果应用210将应用设置212存储在这一个或多个特定设置位置,该通用提供器模块漫游这些应用设置212。
控制器模块216管理提供器模块204的装载和运行。在操作期间,控制器模块216基于配置信息214识别应用210所期望的提供器模块204。如果应用210所期望的提供器模块204尚未运行,则控制器模块216装载并运行应用210所期望的提供器模块204。
控制器模块216可以响应于多种不同事件装载并运行应用210期望的提供器模块204。在一个或多个实施例中,当计算设备200被登录到服务或者另外与允许应用设置漫游的另一个计算设备通信时,控制器模块216装载并运行提供器模块204。例如,当计算设备200经由网络登录到单独的服务(例如,经由图1的网络108所登录到的同步服务)中时,当与另一个计算设备建立同步连接(例如同步通信模块208与另一个计算设备的同步通信模块正在通信)时等等,控制器216可以装载并运行提供器模块204。
在其他实施例中,控制器模块216响应于其他事件装载并运行提供器模块204。例如,提供器模块204可以响应于应用210正被装载和运行而被装载并运行。通过另一个示例,每当计算设备200被通电并运行时(不管应用210在当时是否运行),每当计算设备200与网络(例如,图1的网络108)通信时等等,提供器模块204可替代地可以被装载并运行。
在一个或多个实施例中,特定应用和/或特定应用设置可以被选择用于跨越多个计算设备漫游。该选择可以由多种不同的实体来执行,比如由计算设备200的用户、由计算设备200的管理员或计算设备200访问的服务(例如,同步服务)、由计算设备200的另一个组件或模块或另一个设备等等来执行。
在一个或多个实施例中,计算设备200的用户可以经由用户接口模块218选择特定应用和/或特定应用设置。用户接口模块218向计算设备200的用户显示或另外呈现可以在计算设备200上运行的一个或多个应用的表示。这一个或多个应用是例如根据包括在配置信息214中的信息而被识别的。用户接口模块218允许计算设备200的用户选择可以在计算设备200上运行的特定的应用。这些所选择的应用是漫游应用设置所针对的应用。哪些应用使它们的应用设置被漫游的指示被保持在配置信息214中。
类似地,用户接口模块218可以向计算设备200的用户显示或另外呈现要被漫游的不同类型的应用设置的表示。例如,特定应用可以具有存储在应用设置212中的多个类型的设置,比如最喜爱项目的列表、显示格式化选项、用于拼写检查的字典。用户可以经由用户接口模块218选择漫游所有这些应用设置或仅漫游这些应用设置中的特定类型的应用设置。例如,用户可以选择漫游最喜爱项目列表和用于拼写检查的字典,而不漫游显示格式化选项。哪些应用设置被漫游的指示被保持在配置信息214中。
被选择用于漫游的特定应用和/或应用设置被识别到控制器模块216。对于至少一个类型的应用设置被漫游的每一个应用,控制器模块216装载并运行与应用相关联的提供器模块204。该与应用相关联的提供器模块204在如上所讨论的配置信息214中被识别。提供器模块204然后与同步端点模块206和同步通信模块208一起工作以漫游用于相关联的所选应用的所选类型的应用设置,如下文更详细讨论的。
下面表I图示了示例配置信息214。应当领会,表I中所包括的信息是配置信息214的示例,并且可替代地附加的信息可以包括在配置信息214中,和/或表I中所列出的一些信息可以从配置信息214中排除。
表1
名称/子键 数据/描述
提供器 提供器CLSID。这是识别应用期望使用的提供器的类ID。
显示名称 指向由应用提供的资源文件中的显示名称。这被UI模块用来在UI中显示应用名称。这可以是字符串。
描述 指向由应用提供的资源文件中的描述。这被UI模块用来在UI中显示应用描述。
图标 指向由应用提供的资源文件中的图标。这被UI模块用来在UI中显示应用图标。
活动文件夹 如果该键存在并有效,则这意味着应用在用于在线服务的文件夹中的文件中具有一些设置(例如位于下列路径处的文件夹:%APPDATA%\Microsoft\Windows\Live\Roaming\AppNAME)。该在线服务可以是例如辅助应用设置的漫游的同步服务。这被控制器模块用来识别存储应用设置的附加位置。
套件 对应于应用作为其一部分的套件下子键的名称。这可以被UI模块用来显示应用作为其一部分的套件的指示,和/或可以被控制器模块用来识别存储应用设置的附加位置。
在一个或多个实施例中,计算设备200的用户可以识别漫游应用设置所利用的一个或多个其他计算设备。用户接口模块218可以允许用户选择漫游应用设置所利用的一个或多个其他计算设备,或可替代地该识别可以以其他方式执行。这些漫游应用设置所利用的其他计算设备包括例如计算设备200的用户所拥有的和/或所使用的其他计算设备。漫游应用设置所跨越的计算设备的记录可以被保持在计算设备200处(例如,由提供器模块204或同步通信模块208保持),或者可替代地可以被保持在远程服务处(比如同步服务)。
在一个或多个实施例中,控制器模块216与远程服务(比如同步服务)通信,以识别可能的可以漫游应用服务所利用的其他计算设备。该服务例如经由图1的网络108而被访问。这些可能的其他计算设备可以以不同方式被识别,例如通过包括用户选择来注册漫游服务的计算设备、用户从其登录到服务的计算设备、用户使用相同的用户凭证(比如id和口令)从其登录到服务的计算设备等等。该服务保持这些可能的其他计算设备的记录,并且该记录可以由控制器模块216访问。用户接口模块218从控制器模块216获得该记录,并且使用该记录向计算设备200的用户显示或另外呈现其他计算设备的列表,用户可以从列表中选择漫游应用设置所利用的一个或多个计算设备。
可替代地,漫游应用设置所利用的所述一个或多个其他计算设备可以以不同方式被识别。例如,应用设置可以跨越用户从其登录到远程服务(比如同步服务)的所有计算设备而被漫游。通过另一个示例,用户可以经由由远程服务呈现的用户接口指定用户何时利用特定计算设备而被登录到远程服务,应用设置是否将利用该特定计算设备而被漫游。
当提供器模块204被装载时,提供器模块204获得漫游的应用设置212。这些漫游的应用设置212是已被选择用于漫游的应用设置212。提供器模块204因此具有用于应用210的当前应用设置212的知识(也被称为用于应用210的应用设置状态)。
除了提供器模块204之外,同步模块202包括同步端点模块206(也被称为具有存储的馈送同步端点(FEWS))和同步通信模块208(也被称为网格操作环境(MOE))。同步通信模块208部分地是指用于在漫游应用设置所跨越的各种计算设备中传送应用设置的底层同步平台。同步通信模块208与漫游应用设置所跨越的其他计算设备上的同步通信模块通信。一般地,一个计算设备上正被漫游的应用设置的改变被识别、被传送到另一个计算设备、并且在该另一个设备的应用设置位置中被更新。该另一个设备上的应用获得并使用这些应用设置。因此,对于正被漫游的应用设置,对一个设备上的应用设置的改变被传送到一个或多个其他设备,以使得运行在这些设备上的应用具有相同的应用设置。
同步端点模块206包括端点控制模块222和端点仓库224,其保持计算设备200上漫游的应用设置212的改变的历史。对于漫游的应用设置的每一个改变,所进行的改变的指示(例如,被添加、删除或更新的一个或多个特定值)以及发起该改变的计算设备的标识符以及当在发起改变的计算设备上进行改变时的时间戳被记录在端点仓库224中。
根据计算设备200的透视图,对应用设置的改变可以是内向改变或外向改变。改变是内向改变还是外向改变取决于该改变是在计算设备200处发起还是在另一个计算设备处发起。在特定设备处发起的改变是指计算设备运行应用210借此进行该改变(不管该改变是响应于改变应用设置的用户请求进行,还是由应用210自身自动进行)。内向改变是指在另一个计算设备处发起的和从中接收的应用设置的改变。外向改变是指在计算设备200上发起的应用设置的改变。内向改变经由同步通信模块208从其他计算设备接收并且被提供器模块204应用到应用设置212。外向改变被提供给同步通信模块208并且由模块208传送给其他设备(其中它们被看作内向改变)。
提供器模块204监控应用设置212并且识别何时进行对漫游的应用设置212的改变。该识别可以以不同方式执行,比如(以规则间隔或不规则间隔)获得应用设置212的当前状态并且确定自最后一次获得应用设置212的当前状态以来任何应用设置是否已经改变。可替代地,该识别可以以不同方式执行,比如应用210或另一个组件或模块通知提供器模块204何时已进行对漫游的应用设置212的改变。不管如何识别,识别何时在计算设备200上进行对应用设置212的改变的时间戳也由提供器模块204识别。该时间戳可以以不同方式识别,比如作为其上存储应用设置212的文件上的时间戳、由应用210记录何时进行改变的时间戳等等。
当对漫游的应用设置212进行改变时,提供器模块204识别该改变并且将该改变的指示添加到同步端点模块206的端点仓库224。端点仓库224保持该改变的记录,连同计算设备200(如应用设置改变被发起所在的设备)的标识符和时间戳。
应当领会,所改变的应用设置不需要以与改变存储在端点仓库224中的指示相同的方式被存储在应用设置212中。相应地,提供器模块204将在应用设置212中使用的应用设置的格式转换为在端点仓库224中使用的应用设置的格式。例如,提供器模块204可以从文件或特定操作系统注册仓库的特定部分获得应用设置,并且将该应用设置包括在端点仓库224中。
同步通信模块208包括通信控制模块226和通信仓库228,其保持已被传送到一个或多个其他计算设备或从中接收的应用设置改变的历史。类似于同步端点模块206,对于每一个应用设置改变,所进行的改变的指示(例如被添加、删除或更新的一个或多个特定值)以及在进行改变的计算设备上进行改变时的时间戳和进行改变的计算设备的标识符被记录在通信仓库228中。
提供器模块204调用端点控制模块222的合并过程来合并包括在端点仓库224和通信仓库228中的应用设置。当对应用设置212的改变被识别并被添加到同步端点模块206时或可替代地在其他时间(例如,以规则或不规则的间隔)提供器模块204可以调用该合并过程。该合并过程确定在端点仓库224中记录的应用设置改变与在通信仓库228中记录的应用设置改变之间的差异。新近由提供器模块204识别的且包括在端点仓库224中的应用设置改变并未包括在通信仓库228中。该合并过程识别新近添加到端点仓库224的应用设置改变未存在于通信仓库228中,并且将应用设置改变添加到通信仓库228。应当注意,由于端点控制模块222的合并过程正将来自端点仓库224的应用设置改变添加到通信仓库228中,应用设置212不需要被更新,因为该改变已经在应用设置212中得到反映。
同步通信模块208的通信控制模块226将近来被添加到通信仓库228的应用设置改变传送到漫游应用设置所利用的一个或多个其他计算设备。通信控制模块226可以以多种不同方式将该应用设置改变传送到所述一个或多个其他计算设备,比如直接传送到其他设备、经由网络(例如,图1的网络108)、经由同步服务(例如其存储应用设置改变直到其他计算设备访问同步服务为止)等等。相应地,外向改变被传送到漫游应用设置所利用的其他计算设备。
通信控制模块226还从正漫游应用设置所利用的一个或多个其他计算设备接收通信,这些接收的通信识别在那些其他计算设备上进行的应用设置改变。对于这样的内向改变,提供器模块204也调度控制模块222的合并过程。提供器模块204可以在多种不同的时间处(比如响应于由通信控制模块226通知的内向改变已被通信控制模块226接收)、以规则或不规则间隔等等调度合并过程。
如上所指示,该合并过程确定在端点仓库224中记录的应用设置改变与在通信仓库228中记录的应用设置改变之间的差异。相应地,由通信控制模块226接收的、但尚未包括在同步端点模块206的端点仓库224中的内向改变通过合并过程来识别。由合并过程识别的这种内向改变被提供器模块204添加到端点仓库224和应用设置212。因此,在另一个设备上进行的对应用设置的改变也在计算设备200上进行。在一个或多个实施例中,对应用设置212的改变包括在发起改变的计算设备上进行应用设置改变时的时间戳,尽管可替代地可以使用其他时间戳。
如上所讨论,应当领会,所改变的应用设置不需要以与改变的指示被存储在端点仓库224中相同的方式被存储在应用设置212中。相应地,提供器模块204将在同步端点模块206中使用的应用设置的格式转换为在应用设置212中使用的应用设置的格式。
如上文所讨论的合并过程确定在端点仓库224中记录的应用设置改变与在通信仓库228中记录的应用设置改变之间的差异。这样的差异可以以不同方式来确定。在一个或多个实施例中,通过比较在端点仓库224中记录的应用设置改变与在通信仓库228中记录的应用设置改变并且识别二者之间的差异来确定所述差异。在其他实施例中,通过比较仓库224或228之一的当前状态与同一仓库的先前状态并将状态的任何差异识别为这二者之间的差异来识别所述差异。例如,端点仓库224的当前状态中所包括的、不处于端点仓库224的先前状态中的新应用设置改变被认为尚未被添加到通信仓库228。通过另一个示例,通信仓库228的当前状态中所包括的、不处于通信仓库228的先前状态中的新应用设置改变被认为尚未被添加到端点仓库224。
作为合并过程的一部分,关于应用设置改变的冲突可能发生。关于应用设置改变的冲突发生在对在近似相同时间处对相同应用设置进行两个或更多不同改变时。例如,当两个计算设备在近似相同时间将相同的应用设置改变为不同的值时,当一个计算设备改变应用设置、几乎同时另一个计算设备删除该应用设置时等等,冲突可能出现。
在合并过程期间,端点控制模块222可以识别这样的冲突。当内向改变和外向改变是针对相同的应用设置时,以及当多个内向改变是针对相同的应用设置时,由端点控制模块222识别冲突。端点控制模块222通过应用特定策略确定哪个应用设置的改变要被应用(换言之,确定哪个设置获胜)来自动解决冲突。可替代地,关于改变的信息可以被提供给另一个组件或模块(比如提供器模块204),其进而可以通过应用特定策略确定应用设置的哪个改变要被应用来解决冲突。
多种不同的策略可以被用于确定应用设置的哪个改变要被应用。例如,一个这种策略是具有最近的时间戳的改变为被应用的应用设置的改变。通过另一个示例,另一个策略是提示用户选择所述改变之一来保持,并且用户选择的改变是被应用的对应用设置的改变。
应当注意,提供器模块204还可以使用同步端点模块206来区分作为在计算设备200处发起的应用设置的删除的应用设置改变与作为在另一个计算设备处发起的应用设置的添加的应用设置改变。由于应用设置改变的历史被保持在同步端点模块206中,区分这样的添加和删除可以容易地由提供器模块204来进行。
除了发送和/或接收对应用设置的改变之外,多个应用设置的集合可以被发送和/或接收。同步通信模块208可以向另一个计算设备发送多个应用设置的集合以使在所述另一个计算设备上的多个应用设置用该集合取代。类似地,同步通信模块208可以从另一个计算设备接收多个应用设置的集合,并且提供器模块204可以用所接收的多个应用设置的集合取代应用设置212。
多个应用设置的集合可以以不同方式识别,比如通信控制模块226接收被(例如通过通信中的特定标志值或命令)识别为具有多个应用设置的集合的通信。通信控制模块226保持与通信仓库228分离的所接收的多个应用设置的集合,并且提供器模块204从通信控制模块226获得应用设置212。因此,与调度端点控制模块222的合并过程不同,提供器模块204从通信控制模块226获得所接收的多个应用设置的集合并且用多个应用设置的所述集合取代应用设置212。类似地,提供器模块204可以向通信控制模块226提供应用设置的集合,该集合将被发送到漫游应用设置所跨越的其他计算设备。与调度端点控制模块222的合并过程不同,提供器模块204向通信控制模块226发送应用设置的所述集合。
例如,用于获得多个应用设置(例如,针对特定应用所漫游的所有应用设置)的集合的用户请求可以被提供器模块204(例如,经由UI模块218)接收。这种请求可以出于不同的原因而被接收,比如用户期望取代他或她相信已经变得腐化的设置、利用来自另一个计算设备的应用设置配置新计算设备等等。响应于用户请求,提供器模块204(经由通信控制模块226)向漫游应用设置所跨越的其他计算设备发送针对多个应用设置的集合的请求。多个应用设置的集合随后由通信控制模块226从另一个计算设备接收并且被提供给提供器模块204。然后,提供器模块204用所接收的应用设置的集合取代应用设置212中的相应设置。
图3是图示根据一个或多个实施例的用于配置计算设备并漫游应用设置的示例过程300的流程图。过程300由诸如图2的计算设备200之类的计算设备实施,并且可以在软件、固件、硬件或其组合中实现。过程300被示出为一组动作并且不限于所示出的用于执行各种动作的操作的顺序。过程300是用于配置计算设备并漫游应用设置的示例过程;参考不同附图,本文中包括配置计算设备和漫游应用设置的附加讨论。
在过程300中,漫游一个或多个应用设置的一个或多个应用中的每一个被识别(动作302)。这一个或多个应用可以基于用于安装在如上所讨论的计算设备上的应用的配置信息而由控制器来识别。
与在动作302中被识别的每一个应用相关联的提供器模块被识别(动作304)。该提供器模块可以是如上所讨论的专用提供器模块或通用提供器模块。
在动作304中识别的每一个提供器模块被装载和运行(动作306)。这些提供器模块可以在不同时间或响应于如上所讨论的不同事件被装载和运行。
在动作306中运行的每一个提供器模块获取针对与该提供器模块相关联的应用而被漫游的一个或多个应用设置(动作308),并且跨越多个计算设备漫游这一个或多个应用设置(动作310)。该漫游包括发送和/或接收对应用设置的改变,以及发送和/或接收多个应用设置的集合,如上文所讨论。
图4是图示根据一个或多个实施例的提供器在漫游应用设置时的示例过程400的流程图。过程400由计算设备(比如图2的计算设备200)实施,并且可以在软件、固件、硬件或其组合中实现。过程400被示出为一组动作并且不限于所示出的用于执行各种动作的操作的顺序。当漫游应用设置时,过程400是用于提供器的示例过程;参考不同的附图,当漫游应用设置时对提供器的附加讨论包括在本文中。
在过程400中,当前应用设置被获取(动作402)。这些当前应用设置是正被漫游的应用设置,如上文所讨论。
应用设置的改变被识别(动作404)。应用设置改变可以以多种不同方式被识别,如上文所讨论。
在动作406中,在端点仓库中保持的应用设置改变的历史被更新为包括在动作404中识别的应用设置改变。该端点仓库被包括在如上文所讨论的同步端点模块中。
合并过程也被调度以将在动作404中识别的应用设置改变添加到通信仓库以便传送到漫游应用设置所跨越的其他计算设备(动作408)。该通信仓库被包括在如上文所讨论的同步通信模块中。
此外,应用设置被更新以反映从通信仓库中获得的任何应用设置改变(动作410)。这样的应用设置改变是从漫游应用设置所跨越的其他计算设备接收的应用设置改变,并且被并入到如上文所讨论的计算设备的应用设置中。
图5是图示根据一个或多个实施例的用于跨越多个计算设备漫游应用设置的示例过程500的流程图。过程500由计算设备(比如图2的计算设备200)实施,并且可以在软件、固件、硬件或其组合中实现。过程500被示出为一组动作并且不限于所示出的用于执行各种动作的操作的顺序。过程500是用于跨越多个计算设备漫游应用设置的示例过程;参考不同的附图,对跨越多个计算设备漫游应用设置的附加讨论包括在本文中。
在过程500中,比较同步端点模块和同步通信模块中的应用设置改变(动作502),并且作出关于这两个模块中的任何应用设置改变是否不同的确定(动作504)。如果两模块之一包括另一个模块中不包括的一个或多个应用设置改变,则这两个模块中的应用设置改变是不同的。该比较可以响应于如上文所讨论的不同事件来执行。该比较也以各种间隔重复,如上文所讨论,直到这两个模块中的一个或多个应用设置改变不同为止。
如果应用设置改变是不同的,则选择一个应用设置改变(动作506)。该应用设置改变是在动作504中被确定为存在的应用设置改变差异(例如包括在两个模块之一中而不包括在另一个中的应用设置改变)。如果存在多个不同的应用设置改变,则选择一个这样的应用设置改变。这一个应用设置改变可以以不同方式来选择,比如基于最近或最老的时间戳、根据某些其他规则或标准、随机地等等。
解决涉及所选的应用设置改变的任何冲突(动作508)。这样的冲突可以以不同方式来解决,如上文所讨论。
关于所选的应用设置改变是否是内向改变进行检查(动作510)。如果所选的应用设置改变是内向改变,则所选的应用设置改变被添加到计算设备的同步端点模块(动作512)并且被并入到计算设备的应用设置中(动作514)。
然后,关于在动作504中确定存在、但尚未在动作506中被选择的附加应用设置改变是否存在进行检查(动作516)。如果存在尚未在动作506中被选择的附加应用设置改变,则过程500返回到动作506以选择这样的应用设置改变中的一个。然而,如果不存在这样的附加应用设置改变,则过程500返回到动作502以比较同步端点模块和同步通信模块中的应用设置改变。
返回到动作510,如果所选的应用设置改变不是内向改变,则所选的应用设置改变是外向改变。相应地,所选的应用设置改变被添加到计算设备的同步通信模块(动作518)并且被传送到漫游应用设置所跨越的所述一个或多个其他计算设备(动作520)。然后,关于在动作504中确定存在、但尚未在动作506中被选择的附加应用设置改变是否存在进行检查(动作516),并且过程500基于如上文所讨论的该检查的结果而返回到动作506或动作502。
本文所讨论的跨越多个计算设备漫游应用设置支持多种不同的使用场景。一个这样的使用场景是用户可以容易地在他或她的计算设备中的多个不同计算设备上保持相同的应用设置。如果用户期望改变特定设置,用户可以在他或她的设备之一上进行该变化,并且使该变化自动应用于他或她的所有其他计算设备。
另一个使用场景是用户可以获得新计算设备并容易地使该新计算设备上的应用设置改变为与他或她的其他计算设备上的应用设置相同。用户可以简单地指示该新计算设备是要被漫游的应用设置所跨越的设备之一,并且来自他或她的其他设备的应用设置将自动地被应用在该新计算设备上。
另一个使用场景是用户可以有效地备份他或她的应用设置并且随后按照他或她的期望使它们应用于一个或多个计算设备。当这些应用设置跨越多个设备被漫游时,如果这些应用设置出于某种原因在特定计算设备上丢失,则这些设置可以容易地从另一个计算设备获得。
另一个使用场景是用户可以在一个计算设备上开始行动,并且容易在不同的计算设备上完成该行动。例如,用户可以在第一设备上开始创建博客条目或电子邮件消息,并且该博客条目或电子邮件消息可以是跨越他或她的计算设备被漫游的设置。随着该博客条目或电子邮件消息已经从第一设备被漫游到第二设备,该用户然后可以重新开始在第二设备上关于博客条目或电子邮件消息的工作。
图6图示了根据一个或多个实施例可以被配置成实现跨越多个计算设备漫游应用设置的示例计算设备。计算设备600可以是例如图2的计算设备200或图1的计算设备102、104或106之一。
计算设备600包括一个或多个处理器或处理单元602、一个或多个可以包括一个或多个存储器和/或存储组件606的计算机可读介质604、一个或多个输入/输出(I/O)设备608以及允许各种组件和设备相互通信的总线610。计算机可读介质604和/或一个或多个I/O设备608可以作为计算设备600的一部分而被包括在内,或者可替代地可以耦合到计算设备600。总线610表示若干类型的总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、处理器或局域总线以及使用多种不同的总线架构的其他总线。总线610可以包括有线和/或无线总线。
存储器/存储组件606表示一个或多个计算机存储介质。组件606可以包括易失性介质(比如随机存取存储器(RAM))和/或非易失性介质(比如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件606可以包括固定介质(例如RAM、ROM、固定的硬盘驱动器等)以及可移除介质(例如闪存驱动器、可移除的硬盘驱动器、光盘等等)。
本文所讨论的技术可以在软件中实现,其中指令由一个或多个处理单元602来执行。应当领会,不同的指令可以存储在计算设备600的不同组件中,比如存储在处理单元602中、在处理单元602的各种高速缓冲存储器中、在设备600的其他高速缓冲存储器(未示出)中、在其他计算机可读介质上等等。此外,应当领会,指令存储在计算设备600中的位置可以随时间改变。
一个或多个输入/输出设备608允许用户向计算设备600输入命令和信息,并且还允许信息被呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡等等。
在本文中可以在软件或程序模块的通用背景中描述各种技术。一般地,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现方式可以存储在某种形式的计算机可读介质上或跨越其传输。计算机可读介质可以是可以由计算设备访问的任何可用介质或媒质。通过示例而非限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括在用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术中实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储或其他磁存储设备或任何可以用于存储期望的信息并可以由计算机访问的其他媒介。
“通信介质”典型地在已调制数据信号(比如载波或其他传输机构)中体现计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任何信息输送介质。术语“已调制数据信号”意指使其特性中的一个或多个以一定方式设置或改变以便在信号中编码信号的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质和诸如声学、RF、红外和其他无线介质之类的无线介质。上述任何组合也包括在计算机可读介质的范围内。
一般地,本文所述的任何功能或技术可以使用软件、固件、硬件(例如固定逻辑电路)、手动处理或这些实现方式的组合来实现。如本文所使用的术语“模块”和“组件”一般地表示软件、固件、硬件或其组合。在软件实现方式的情况下,模块或组件表示在处理器(例如一个或多个CPU)上执行时执行指定任务的程序代码。该程序代码可以存储在一个或多个计算机可读存储器设备中,其进一步描述可以参考图6找到。本文所述的漫游应用设置技术的特征是平台独立的,从而意味着该技术可以在具有多种处理器的多种商业计算平台上实现。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不必限于上述特定特征或动作。而是,上述特定特征和动作作为实现权利要求的示例形式而被公开。

Claims (15)

1. 一种在多个计算设备的第一计算设备中实现的方法,该方法包括:
监控第一计算设备上的应用设置改变的历史;
响应于对第一计算设备上应用设置的第一改变的识别,将第一改变添加到同步通信模块以便传送到所述多个计算设备的一个或多个附加计算设备;以及
响应于对所述一个或多个附加计算设备的第二设备上的应用设置的第二改变的识别,将第二改变添加到应用设置改变的历史并且将第二改变并入到第一计算设备上的应用设置中。
2. 如权利要求1所述的方法,其中通过比较同步通信模块中的设置改变与应用设置改变的历史中的设置改变来识别对应用设置的第一改变。
3. 如权利要求1所述的方法,进一步包括:
识别第一改变与第二改变之间的冲突;
确定第一改变或第二改变是否要被应用;
只有第一改变要被应用的情况下才将第一改变添加到同步通信模块;以及
只有第二改变要被应用的情况下才将第二改变添加到应用设置改变的历史并且将第二改变并入到所述应用设置。
4. 如权利要求1所述的方法,其中应用设置改变的历史被保持在第一计算设备的同步端点模块的端点仓库中。
5. 如权利要求1所述的方法,其中对于每一个应用设置改变而言,应用设置改变的历史包括:
应用设置改变的指示;
发起所述改变的多个计算设备之一的指示;以及
在发起所述改变的多个计算设备之一上进行应用设置改变时的时间戳。
6. 如权利要求1所述的方法,进一步包括呈现用户接口,经由该用户接口,可以接收要跨越第一计算设备和所述一个或多个附加计算设备而被漫游的应用的一个或多个应用设置的用户选择。
7. 如权利要求1所述的方法,进一步包括呈现用户接口,经由该用户接口,可以接收要跨越第一计算设备和所述一个或多个附加计算设备而被漫游的应用设置所针对的一个或多个应用的用户选择。
8. 如权利要求1所述的方法,进一步包括运行提供器模块以获取应用的一个或多个应用设置并识别对要被添加到应用设置改变的历史的所述一个或多个应用设置的改变。
9. 如权利要求8所述的方法,进一步包括当所述应用被安装在第一计算设备上以识别要被运行的提供器模块时,访问由所述应用提供的配置信息。
10. 如权利要求8所述的方法,其中所述一个或多个应用设置包括来自第一计算设备的操作系统注册仓库的应用设置。
11. 如权利要求8所述的方法,其中所述一个或多个应用设置包括第一计算设备的文件的部分。
12. 第一计算设备,包括:
处理器;和
一个或多个计算机可读介质,其上存储了多个指令,处理器执行这些指令使得该处理器:
识别与应用相关联的提供器模块,其中该应用的一个或多个应用设置被存储在为提供器模块所知的一个或多个设置位置中;以及
运行提供器模块以获取所述一个或多个应用设置,并且跨越包括第一计算设备和一个或多个附加计算设备的多个计算设备漫游所述一个或多个应用设置。
13. 如权利要求12所述的第一计算设备,其中识别与所述应用相关联的提供器模块是在所述应用被安装在第一计算设备上时访问由所述应用提供的配置信息,该配置信息识别提供器模块。
14. 如权利要求12所述的第一计算设备,其中所述多个指令进一步使得处理器识别与附加应用相关联的附加提供器模块,以及运行该附加提供器模块以获取要被漫游的附加应用的一个或多个应用设置,以及跨越所述多个计算设备漫游该附加应用的所述一个或多个应用设置。
15. 如权利要求12所述的第一计算设备,其中提供器模块与附加应用相关联,并且其中该提供器模块被运行以获取要被漫游的附加应用的一个或多个应用设置,以及跨越所述多个计算设备漫游该附加应用的所述一个或多个应用设置。
CN201180006775.4A 2010-01-21 2011-01-05 跨越多个计算设备的漫游应用设置 Active CN102713886B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29720510P 2010-01-21 2010-01-21
US61/297205 2010-01-21
US12/725,059 US8606889B2 (en) 2010-01-21 2010-03-16 Roaming application settings across multiple computing devices
US12/725059 2010-03-16
PCT/US2011/020200 WO2011090818A2 (en) 2010-01-21 2011-01-05 Roaming application settings across multiple computing devices

Publications (2)

Publication Number Publication Date
CN102713886A true CN102713886A (zh) 2012-10-03
CN102713886B CN102713886B (zh) 2016-05-11

Family

ID=44278359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180006775.4A Active CN102713886B (zh) 2010-01-21 2011-01-05 跨越多个计算设备的漫游应用设置

Country Status (4)

Country Link
US (3) US8606889B2 (zh)
EP (1) EP2526495B1 (zh)
CN (1) CN102713886B (zh)
WO (1) WO2011090818A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103649936A (zh) * 2011-05-20 2014-03-19 西里克斯系统公司 在移动设备上针对在服务器上远程执行的应用的外壳集成
US9077733B2 (en) 2010-01-21 2015-07-07 Microsoft Technology Licensing, Llc Roaming application settings across multiple computing devices
CN105683845A (zh) * 2014-05-15 2016-06-15 通用电子有限公司 用于装置检测和app配置的系统和方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10755287B2 (en) * 2008-11-25 2020-08-25 Microsoft Technology Licensing, Llc Selecting between client-side and server-side market detection
JP5507368B2 (ja) * 2010-07-13 2014-05-28 富士通テレコムネットワークス株式会社 Snmpのエージェント装置および設定アンドゥ方法
US8782149B2 (en) 2010-11-09 2014-07-15 Comcast Interactive Media, Llc Smart address book
US9201709B2 (en) 2011-05-20 2015-12-01 Citrix Systems, Inc. Shell integration for an application executing remotely on a server
US11451618B2 (en) 2014-05-15 2022-09-20 Universal Electronics Inc. Universal voice assistant
US11792185B2 (en) 2019-01-08 2023-10-17 Universal Electronics Inc. Systems and methods for associating services and/or devices with a voice assistant
US11295603B2 (en) 2011-10-28 2022-04-05 Universal Electronics Inc. System and method for optimized appliance control
US11756412B2 (en) * 2011-10-28 2023-09-12 Universal Electronics Inc. Systems and methods for associating services and/or devices with a voice assistant
US11700412B2 (en) 2019-01-08 2023-07-11 Universal Electronics Inc. Universal voice assistant
US9158559B2 (en) * 2012-01-27 2015-10-13 Microsoft Technology Licensing, Llc Roaming of note-taking application features
US9258382B2 (en) * 2012-06-21 2016-02-09 Microsoft Technology Licensing, Llc User-specific roaming settings
CN103595738B (zh) * 2012-08-14 2017-12-01 中国电信股份有限公司 用户多终端数字阅读实现方法、系统和阅读业务平台
US10990417B2 (en) * 2012-08-30 2021-04-27 Autodesk, Inc. Method and system for connecting users based on a measure of correlation
US11394790B2 (en) * 2012-10-09 2022-07-19 Cvent Inc. Method, system and apparatus for providing activity feed for events to facilitate gathering and communicating of event information
US20140282062A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Techniques for efficient and granular composition of a user profile
US9531662B2 (en) 2013-03-20 2016-12-27 Microsoft Technology Licensing, Llc Global email identity preferences
US9336228B2 (en) * 2013-12-18 2016-05-10 Verizon Patent And Licensing Inc. Synchronization of program code between revision management applications utilizing different version-control architectures
KR102194306B1 (ko) 2013-12-30 2020-12-22 삼성전자주식회사 응용 프로그램을 실행하는 전자 장치 및 방법
US11445011B2 (en) 2014-05-15 2022-09-13 Universal Electronics Inc. Universal voice assistant
US9652212B2 (en) 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
KR102354769B1 (ko) * 2014-10-29 2022-01-25 삼성전자주식회사 단말장치 및 그 제어 방법
US9519471B2 (en) 2014-12-31 2016-12-13 Microsoft Technology Licensing, Llc Surfacing visual representations of universal applications
EP3104553B1 (en) * 2015-06-12 2017-12-13 Panasonic Intellectual Property Corporation of America Method for controlling multiple devices connected via network
US10769189B2 (en) 2015-11-13 2020-09-08 Microsoft Technology Licensing, Llc Computer speech recognition and semantic understanding from activity patterns
US11429883B2 (en) 2015-11-13 2022-08-30 Microsoft Technology Licensing, Llc Enhanced computer experience from activity prediction
US10241776B2 (en) 2016-04-08 2019-03-26 Microsoft Technology Licensing, Llc User settings across programs
US10904727B2 (en) 2016-12-13 2021-01-26 Universal Electronics Inc. Apparatus, system and method for promoting apps to smart devices
US11776539B2 (en) 2019-01-08 2023-10-03 Universal Electronics Inc. Voice assistant with sound metering capabilities
US11665757B2 (en) 2019-01-08 2023-05-30 Universal Electronics Inc. Universal audio device pairing assistant

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076087A1 (en) * 2003-09-18 2005-04-07 Vulcan Portals Inc. Method and system for email synchronization for an electronic device
CN1811704A (zh) * 2005-01-26 2006-08-02 微软公司 用于知晓上下文的平台的系统和方法
US20060242206A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation System and method for peer to peer synchronization of files
US20070283011A1 (en) * 2006-06-02 2007-12-06 Google Inc. Synchronizing Configuration Information Among Multiple Clients
US20080028102A1 (en) * 2000-06-20 2008-01-31 Palmsource, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272545B1 (en) * 1997-10-24 2001-08-07 Microsoft Corporation System and method for interaction between one or more desktop computers and one or more mobile devices
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
JP2005509979A (ja) * 2001-11-15 2005-04-14 ヴィスト・コーポレーション 非同期型同期のシステムおよび方法
US7809384B2 (en) * 2002-11-05 2010-10-05 Microsoft Corporation User-input scheduling of synchronization operation on a mobile device based on user activity
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US20050091346A1 (en) * 2003-10-23 2005-04-28 Brijesh Krishnaswami Settings management infrastructure
US8909712B2 (en) * 2003-11-25 2014-12-09 Sap Ag System and method for a generic mobile synchronization framework
US7617501B2 (en) * 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
CN100527080C (zh) * 2004-08-14 2009-08-12 艾利森电话股份有限公司 软件程序同步的方法
US7958543B2 (en) * 2005-07-12 2011-06-07 Microsoft Corporation Account synchronization for common identity in an unmanaged network
US7970017B2 (en) * 2005-07-13 2011-06-28 At&T Intellectual Property I, L.P. Peer-to-peer synchronization of data between devices
US7912916B2 (en) * 2006-06-02 2011-03-22 Google Inc. Resolving conflicts while synchronizing configuration information among multiple clients
US8145200B2 (en) * 2006-07-31 2012-03-27 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
JP2008165328A (ja) * 2006-12-27 2008-07-17 Brother Ind Ltd データ同期システム、取得端末、提供端末、取得プログラム及び提供プログラム
WO2008121873A1 (en) * 2007-03-29 2008-10-09 Vmware, Inc. Synchronization and customization of a clone computer
US8806479B2 (en) * 2007-06-05 2014-08-12 International Business Machines Corporation Creating an application virtual machine image by isolating installation artifacts in shadow area
US8464242B2 (en) * 2009-07-08 2013-06-11 Tranxition Corporation Virtualization of configuration settings
US8954958B2 (en) * 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8606889B2 (en) 2010-01-21 2013-12-10 Microsoft Corporation Roaming application settings across multiple computing devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080028102A1 (en) * 2000-06-20 2008-01-31 Palmsource, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization
US20050076087A1 (en) * 2003-09-18 2005-04-07 Vulcan Portals Inc. Method and system for email synchronization for an electronic device
CN1811704A (zh) * 2005-01-26 2006-08-02 微软公司 用于知晓上下文的平台的系统和方法
US20060242206A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation System and method for peer to peer synchronization of files
US20070283011A1 (en) * 2006-06-02 2007-12-06 Google Inc. Synchronizing Configuration Information Among Multiple Clients

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENRY LARKIN: "Applying Concurrent Versioning to Serverless Mobile Device Synchronisation", 《COMPUTER AND INFORMATION SCIENCE, 2007. ICIS 2007. 6TH IEEE/ACIS INTERNATIONAL CONFERENCE ON》 *
李欣慧 等: "基于SyncML协议的异构数据源同步方法", 《计算机应用研究》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077733B2 (en) 2010-01-21 2015-07-07 Microsoft Technology Licensing, Llc Roaming application settings across multiple computing devices
CN103649936A (zh) * 2011-05-20 2014-03-19 西里克斯系统公司 在移动设备上针对在服务器上远程执行的应用的外壳集成
CN103649936B (zh) * 2011-05-20 2016-03-16 西里克斯系统公司 在移动设备上针对在服务器上远程执行的应用的外壳集成
US10244039B2 (en) 2011-05-20 2019-03-26 Citrix Systems, Inc. Shell integration on a mobile device for an application executing remotely on a server
CN105683845A (zh) * 2014-05-15 2016-06-15 通用电子有限公司 用于装置检测和app配置的系统和方法

Also Published As

Publication number Publication date
EP2526495A2 (en) 2012-11-28
US9077733B2 (en) 2015-07-07
CN102713886B (zh) 2016-05-11
EP2526495A4 (en) 2017-02-15
EP2526495B1 (en) 2020-11-25
US20110179149A1 (en) 2011-07-21
WO2011090818A3 (en) 2011-11-10
WO2011090818A2 (en) 2011-07-28
US20150263911A1 (en) 2015-09-17
US20140095710A1 (en) 2014-04-03
US8606889B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
CN102713886A (zh) 跨越多个计算设备的漫游应用设置
US20170323267A1 (en) System and method for providing work allocation and collaboration
JP7091785B2 (ja) 通信システム、通信方法
US9703969B2 (en) Image forming system, service providing server, information processing terminal, image forming device and non-transitory computer readable recording medium
US20130179825A1 (en) System and method of managing states of computer screen and controlling mobile communication terminal
US8209436B2 (en) Method and system of migrating profiles in telecommunications devices
CN102770870A (zh) 专用网络文件服务器
EP1912453A2 (en) Apparatus and method for managing tool kit menu of portable terminal in roaming condition
EP2408140A1 (en) Method, control point, apparatus and communication system for configuring access right
CN104202370A (zh) 移动终端及其远程控制方法、系统、服务器及远程控制端
CN102821150A (zh) 基于云服务的应用管理方法及云服务器
CN105453126A (zh) 应用程序共享服务方法和应用于该服务方法的装置
JP2008123388A (ja) 周辺機器の割当て方法、情報処理システム、情報処理装置および管理装置
JP2006024059A (ja) 文書管理用コンピュータプログラムならびに文書管理装置および方法
US20200272514A1 (en) Information processing terminal, non-transitory recording medium, and control method
CN104756463B (zh) 用于将消息传递到支持多用户的移动装置的系统和方法
CN103716230A (zh) 消息发送方法、装置及服务器
CN103034699A (zh) 向外部系统提供文档储存库事件的通知
CN107682573B (zh) 高并发外呼方法、系统、设备及存储介质
CN106161075A (zh) 业务处理方法、装置及系统
CN106657567A (zh) 一种多用户访问方法、装置及终端
CN107306290B (zh) 一种会话session共享方法及应用服务器
CN103098434A (zh) 用于管理通用即插即用家庭网络中的控制设备的系统和方法
EP2913957B1 (en) Method and apparatus for controlling internet access
CN102426510A (zh) 借助于用户界面来管理操作

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150617

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150617

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant