CN105308563B - 用于系统准备任务的协调的方法和设备 - Google Patents

用于系统准备任务的协调的方法和设备 Download PDF

Info

Publication number
CN105308563B
CN105308563B CN201380076965.2A CN201380076965A CN105308563B CN 105308563 B CN105308563 B CN 105308563B CN 201380076965 A CN201380076965 A CN 201380076965A CN 105308563 B CN105308563 B CN 105308563B
Authority
CN
China
Prior art keywords
user
program
task
eligible task
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
CN201380076965.2A
Other languages
English (en)
Other versions
CN105308563A (zh
Inventor
T.H.阿尔芬三世
S.D.克莱门
S.F.萨瓦亚
H-C.马查拉尼
A.萨卡
N.钱德拉塞卡兰
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 CN105308563A publication Critical patent/CN105308563A/zh
Application granted granted Critical
Publication of CN105308563B publication Critical patent/CN105308563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

诸如操作系统和应用套件之类的各种系统具有安装的多个程序和被配置成以便使系统处于期望操作状态(例如,基本上完全运转的状态)的设置。不同用户基于他们使用的不同程序具有不同体验,并且他们使用的程序集合可以来自网络位置。创建标识待被执行以使系统处于期望操作状态的各种动作的系统准备任务集合。协调该系统准备任务集合的执行以在实现期望操作状态之前,显示为系统的特定用户而定制的系统的用户界面的预览。在显示用户界面的预览的同时,继续该系统准备任务集合的执行,直至实现期望操作状态为止。

Description

用于系统准备任务的协调的方法和设备
技术领域
本发明涉及计算设备的系统,具体地,本发明涉及系统准备任务的协调。
背景技术
随着计算技术的进步,用户通过各种程序可获得的功能(包括计算机操作系统和其它应用)已经大大增加了。虽然这种功能的增加非常有助于用户,但也不是没有问题的。一个这样的问题是,给定用户可以在他们的设备上安装的不同程序的数量以及一些程序的尺寸,建立具有新程序的计算机的过程可能是耗时的。例如,当用户购买了新计算机并且开始第一次使用它时,在各种程序、程序的更新等等被安装在计算机上时,他或她可能必须等候几分钟。这样的延迟对于用户而言,可能是烦人的,从而导致用户体验不佳。
发明内容
提供本发明内容以便以简化的形式介绍概念的选择,该概念在具体实施方式中进一步描述如下。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在被用来限制所要求保护的主题的范围。
根据一个或多个方面,分析待被执行以使计算设备的系统处于期望操作状态的多个系统准备任务。协调多个系统准备任务的执行以在实现期望操作状态之前,显示该系统的用户界面的预览,该用户界面的预览为系统的特定用户而定制。当接收并响应对该系统的用户输入时,继续多个系统准备任务的执行的这种协调。该协调可以包括:对系统准备任务重新按优先级排序(re-prioritize),以配合(align)在提供用户输入中用户正在采取的动作(例如,选择要运行的程序)。
根据一个或多个方面,计算设备包括输出模块和系统准备服务。该输出模块被配置成输出用于计算设备的用户界面显示。该系统准备服务被配置成分析待被执行以使计算设备的系统的多个程序中的每一个处于期望操作状态的多个系统准备任务。该服务还被配置成协调多个系统准备任务的执行以在实现系统的期望操作状态之前,显示系统的用户界面的预览,并且当接收并且响应对计算设备的用户输入时,继续该协调。
附图说明
在所有附图中,相同的标记用来指代相同的特征。
图1是图示了根据一个或多个实施例的实现系统准备任务的协调的示例计算设备的方框图。
图2是图示了根据一个或多个实施例的协调系统准备任务的系统的方框图。
图3图示了根据一个或多个实施例的使用动作列表的示例。
图4是图示了根据一个或多个实施例的用于实现系统准备任务的协调的示例过程的流程图。
图5图示了包括表示可以实现本文中所描述的各种技术的一个或多个系统和/或设备的示例计算设备的示例系统。
具体实施方式
本文中讨论了系统准备任务的协调。诸如操作系统和应用套件之类的各种系统具有准备运行(例如,已安装)的多个程序和被配置成使系统处于期望操作状态(例如,基本上完全运转的状态)的设置。创建标识待被执行的以使系统处于期望操作状态的各种动作的系统准备任务集合。协调该系统准备任务集合的执行以在实现期望操作状态之前,显示为系统的特定用户而定制的系统的用户界面的预览。在显示用户界面的预览的同时,继续执行该系统准备任务集合,直至实现期望操作状态为止。
图1是图示了根据一个或多个实施例的实现系统准备任务的协调的示例计算设备100的方框图。该计算设备100可以是多种不同类型的设备,诸如台式计算机、服务器计算机、膝上型或上网本计算机、平板或笔记本计算机、移动站、娱乐工具、通信地耦合到显示设备、电视机或其它显示设备的机顶盒、蜂窝或其它无线电话、游戏控制台、车载计算机、可穿戴计算机等等。因此,计算设备100的范围可以从具有实际存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持游戏控制台)。
计算设备100包括用户输入模块102、输出模块104、操作系统106、一个或多个应用108和系统准备服务110。
用户输入模块102接收来自计算设备100的用户的用户输入。用户输入可以以多种不同的方式提供,诸如通过按下设备100的小键盘或键盘的一个或多个键,按下设备100的控制器(例如,远程控制设备、鼠标、轨迹垫等)的一个或多个键,按下设备100的触摸板或触摸屏的特定部分,在设备100的触摸板或触摸屏上做出特定手势和/或在设备100的控制器(例如,远程控制设备、鼠标、轨迹垫等)上做出特定手势。用户输入还可以经由其它物理反馈输入被提供给设备100,诸如轻敲设备100的任何部分,可以由运动检测或设备100的其它组件识别的动作(诸如摇动设备100、转动设备100、弯曲或折曲设备100等)等等。用户输入还可以以其它方式提供,诸如经由到麦克风的话音或其它可听输入,经由图像捕获设备所观察到的手或身体其它部位的运动等等。
输出模块104生成、管理和/或输出内容以用于显示、回放和/或其它呈现。该内容可以由输出模块104创建或从计算设备100的其它模块处获得。该内容可以是例如通过操作系统106、通过一个或多个应用108等等所显示的用户界面(UI)的显示或回放部分。该内容可以通过计算设备100的组件(例如,扬声器、交互式显示设备等)显示或以其它方式回放。可替换地,输出模块104可以生成被输出到与计算设备100分离的其它设备或组件(例如,扬声器、显示设备等)的一个或多个信号。
显示器112被图示,其表示被配置成输出用于计算设备100的图形的设备。在显示器112上显示的是视觉元素(visual)114,其是功能、内容、资源等等的视觉表示。例如,视觉元素114的各个可以与应用108的相应的实例和/或存储在计算设备100上的应用108相关联。用户选择视觉元素114的单独一个可以使得应用108的其中一个被启动,内容的实例被呈现,等等。因此,如本文中所讨论的,视觉元素通常是指可被选择以使得诸如启动应用、发起内容重放、访问设备等等之类的多种不同的动作出现的图形元素。
操作系统106包括管理计算设备的操作的一个或多个程序,包括用户输入模块102、输出模块104和应用108。该应用108可以由操作系统106和/或另一个应用108执行或以其它方式运行。由操作系统提供各种管理功能,诸如输入/输出支持、存储器管理、程序执行调度等等。
应用108可以是提供各种功能的多种不同的应用,诸如业务应用(例如,文字处理应用、电子表格应用)、娱乐应用、资源应用等等。该应用108可以从各种源获得,例如在被分发时,被包括在计算设备100内,从远程源获得(例如,经由因特网或其它网络访问的应用商店)等等。该应用108可以是单独应用,或者可替换地可以被包括作为多个应用的套件的一部分。
系统准备服务110分析待被执行以使系统处于期望操作状态的多个系统准备任务,并且协调多个系统准备任务的执行以在实现期望操作状态之前,显示系统的用户界面的预览。当接收并且响应对系统的用户输入时,该系统准备服务110继续协调多个系统准备任务的执行。协调多个系统准备任务的执行是基于在下文更详细地讨论的各种规则或标准。该系统准备任务是待被执行以使系统处于期望操作状态的动作。各种动作可以被执行以使系统处于期望操作状态,诸如下载程序,下载用于程序或系统的数据或设置等等。
在一个或多个实施例中,针对其系统准备服务110协调系统准备任务的系统是操作系统106。可替换地,该系统准备服务110可以协调用于其它系统(诸如应用108的套件)的系统准备任务。例如,应用套件可以包括多个应用(例如,文字处理应用、电子表格应用、消息收发应用等),并且系统准备服务110可以协调用于应用套件的系统准备任务。
系统的期望操作状态是指实际准备运行的系统具有要准备运行的程序、所设定的配置值等等。例如,该系统的期望操作状态可以是系统至少近似地完全运转、能够运行先前被请求准备在计算设备100上运行的应用108。准备运行的程序可以包括由计算设备100或操作系统106的分配器所标识的程序、由计算设备100的用户(例如,借助于用与用户已经购买或使用的程序相关联的用户账户登录网络服务的用户)所标识的程序等等。在一个或多个实施例中,使程序准备运行包括:安装程序,其是指使程序处在运行或以其它方式执行的条件,并且可以包括各种动作,诸如用操作系统注册程序、将文件存储在特定目录或文件夹中、解压缩文件或数据、生成文件或数据等等中的一个或多个。可替换地,使程序准备运行可以以其它方式执行,诸如使程序处在从远程因特网位置上运行的条件,而非安装在计算设备上。因此,应当注意,尽管本文中的各种讨论是指安装程序,但是本文中所讨论的技术也可以与准备运行而没有被安装的程序一起使用。
在一个或多个实施例中,使系统处于期望操作状态是多阶段过程。在第一阶段,获得并显示为系统的特定用户而定制的系统的用户界面的预览。该预览可以以多种不同方式获得,诸如基于对服务110而言可获得的配置数据由系统准备服务110生成,从网络服务(例如,经由维护与用户相关联的配置数据的因特网所访问的服务)获得等等。在第二阶段,在第一阶段之后,执行把系统带入期望操作状态的附加的任务,诸如下载应用,安装应用等等。因此,在使系统处于期望操作状态之前,获得并显示用户界面的预览,从而在继续把系统带入期望操作状态的同时,向用户提供为用户而定制的用户界面的预览(例如,显示具有用户先前已经用其定制它的外表和感觉的用户界面)。
应当注意,使系统处于期望操作状态的过程期间,在其中用户界面被显示或以其它方式呈现的点可以变化。在一个或多个实施例中,用户界面在过程早期被显示,并且当生成用户界面的预览时改变,从而当获得并显示它时,允许用户观看预览的内容。可替换地,用户界面可以在过程后期被显示,诸如在获得预览的内容并且准备被显示给用户之后。可替换地,用户界面甚至可以在过程后期被显示,诸如在获得预览的内容并且准备被显示给用户以及要准备运行的程序中的至少一些已经准备运行之后。
在一个或多个实施例中,使系统处于期望操作状态包括:使多个程序中的每一个处于期望操作状态。这些程序可以是操作系统106的应用108和/或程序。程序的期望操作状态是指程序准备运行(其可以包括安装程序)、用于程序的配置值被设定等等。在一个或多个实施例中,使程序处于期望操作状态包括各种阶段,诸如获得程序(例如,从服务、程序商店等下载程序),在计算设备100上安装程序,获得用于程序的备份数据(如果有的话)(诸如与网络服务上的用户的用户帐户相关联的存储的备份数据),以及恢复用于程序的任何备份数据以使得备份数据可用于程序。
图2是图示了根据一个或多个实施例的协调系统准备任务的系统200的方框图。该系统200包括具有输入标识模块202和任务协调模块204的系统准备服务110。输入标识模块202接收或以其它方式标识在使系统处于期望操作状态中待被使用的各种程序和/或数据。这些程序和/或数据可以包括一个或多个系统程序206、一个或多个附加的程序208和系统状态210。系统程序206是指是系统本身的一部分的程序,诸如操作系统程序或模块、应用套件程序或模块等等。附加的程序208是指在系统上或与该系统结合运行的程序,诸如在操作系统上运行的应用。系统状态210是指用于系统的配置设置的各种数据,诸如用户指定的系统设置、开发者指定的系统设置等等。
任务协调模块204基于在使系统处于期望操作状态中待被使用的程序和/或数据生成动作列表212。该动作列表212是标识待被执行以使系统处于期望操作状态的系统准备任务的记录,以及其中那些系统准备任务待被执行的顺序。该动作列表212可以采取各种形式,诸如:针对每个程序206、程序208、和/或系统状态210待被执行的单独任务列表;与针对对于系统准备服务110是已知的或以其它方式提供给该系统准备服务110的每个程序或系统状态待被执行的单独任务一起处于期望操状态的程序206、程序208和/或系统状态210的列表等等。
在一个或多个实施例中,在动作列表212中标识的系统准备任务包括用于程序的系统准备任务,并且对于系统程序206和附加的程序208中的每一个,包括以下各项中的一项或多项:获得为系统的特定用户而定制的程序的预览,以供为系统的特定用户而定制的系统的用户界面的预览的显示或其它呈现;获得程序(例如,从服务、程序商店等下载程序);在计算设备上安装程序;获得用于程序的备份数据(如果有的话)(诸如存储为与网络服务上的用户的用户帐户相关联的备份数据);和/或还原用于程序的任何备份数据以使得备份数据可用于该程序。
在一个或多个实施例中,在动作列表212中标识的系统准备任务包括用于系统状态的系统准备任务,并且对于系统状态210,包括以下各项中的一项或多项:获得所指定的系统设置;和/或用所指定的系统设置配置系统。
系统程序206、附加的程序208和系统状态210可以以多种不同方式标识。在一个或多个实施例中,系统准备服务110用程序206、程序208和/或状态210中的至少一些的标识符进行配置。可替换地,系统准备服务110可以访问标识程序206、程序208和/或状态210中的至少一些的远程设备或服务。对于多个不同的计算设备,程序206、程序208和/或状态210可以是相同的,或者可替换地,对于不同的计算设备和/或用户,可以是不同的。例如,对于多个不同的计算设备,该系统程序206可以是相同的,并且可以由系统分配器的远程更新服务标识,并且对于不同的用户,该附加的程序208可以是不同的,并且可以由用户用他或她的用户帐户登录的远程服务标识。
包括在动作列表212中的系统准备任务可以以多种不同方式来确定。在一个或多个实施例中,随着标识程序和/或系统状态本身一起,标识用于程序和/或系统状态的待被执行的系统准备任务。例如,如果远程设备或服务标识程序和/或系统状态,则远程设备或服务还标识用于程序和/或系统状态的待被执行的系统准备任务。可替换地,用于程序和/或系统状态的待被执行的系统准备任务可以以其它方式标识,诸如被包括在程序和/或系统状态本身中。在一个或多个实施例中,系统准备服务110还可以通过分析所标识的程序和/或系统状态来确定至少一些系统准备任务。例如,如果程序被标识并且尚未在计算设备上安装,则系统准备服务110可以自动确定用于程序的系统准备任务包括下载程序并且在计算设备上安装该程序。
任务协调模块204在生成动作列表212中使用静态数据220和/或动态数据222。静态数据220和/或动态数据222可以用来确定包括在动作列表212中的系统准备任务、和/或动作列表212中的系统准备任务的顺序(例如,系统准备任务待以其被执行的顺序)。该静态和/或动态数据可以描述处于期望操作状态的系统的各种属性、在使系统处于期望操作状态中待被使用的系统状态210和/或程序206或208的各种属性、实现系统的设备(例如,图1的计算设备100)的各种属性等等。静态数据220和/或动态数据222可以从各种源获得,诸如从程序206、程序208和/或系统状态210的源获得,从标识程序206、程序208和/或系统状态210的源获得,从实现系统准备服务110的计算设备的其它组件或模块获得,从程序206、程序208和/或系统状态210它们本身获得等等。可以由模块204使用的静态和/或动态数据的示例在下文更详细地进行讨论。
任务协调模块204确定在其中系统准备任务基于静态数据220和/或动态数据222通过应用一个或多个规则或标准待而被执行的顺序。系统准备任务以其被执行的顺序可以变化,尽管系统准备任务的顺序被协调以使得为系统的特定用户而定制的用于系统的用户界面的预览在第一阶段被显示,并且在显示用于系统的用户界面的预览的同时,可以执行更耗时的系统准备任务。可以从各种源获得为系统的特定用户而定制的用于系统的用户界面的预览。在一个或多个实施例中,为特定用户而定制的用于系统的用户界面的预览与网络服务上的用户的用户帐户相关联,并且当用户登录到网络服务上的他或她的用户帐户时,从网络服务获得预览。
取决于动作列表212(例如,作为针对每个程序206或208、或程序206或208的列表而待被执行的单独任务的列表)以其被实现的方式,模块204可以应用一个或多个规则或标准来确定动作列表212中的单独任务的排序、动作列表212中的单独任务的排序等等。例如,每个系统准备任务可以被指派指示其优先级的特定权重或分数,该动作列表212可以标识系统准备任务中的每一个的优先级,并且系统准备任务可以至少近似地以它们的优先级的顺序执行。作为另一示例,每个程序可以被指派指示其优先级的特定权重或分数,该动作列表212可以标识每个程序的优先级,并且用于这些程序的系统准备任务可以至少近似地以程序优先级的顺序而被执行。
在一个或多个实施例中,定义动作列表212中的位置(例如,通过任务协调模块204),在该位置处,用户界面被显示。相对于系统准备任务,该位置是在其中用户界面被显示或以其它方式呈现给用户的时间。在系统准备服务110到达动作列表212中的这个位置之前,该系统不可操作以接收和响应用户输入。然而,一旦系统准备服务110到达这个位置,至少显示系统的用户界面的预览,并且系统可操作以接收和响应用户输入。因此,例如,如果系统是图1的计算设备100的操作系统,则用户等待交互(例如,请求程序运行),直至到达这个位置为止,并且在到达该位置之后,可以向计算设备提供各种用户输入。这个位置可以是例如其中已经获得用于获得程序预览的系统准备任务所在的位置。作为另一示例,这个位置可以是其中已经获得用于获得程序预览的系统准备任务所在的并且程序中的至少一些处于它们期望操作状态的位置(例如,在用户界面的特定屏幕或页面上标识的程序,诸如表示当用户登录到或开始计算设备时由用户界面显示的程序的视觉元素的初始屏幕或页面)。
由系统准备服务110使用的静态数据220可以包括各种数据。静态数据220的示例包括在本文中,尽管应当注意,这些是示例,并非本文中所讨论的所有的静态数据220都需要被系统准备服务110使用,和/或附加的静态数据可以被系统准备服务110使用。静态数据220可以包括程序206的列表、程序208的列表和/或标识不同系统状态210的列表。
静态数据220还可以包括用户界面中的一个或多个视觉元素的位置,诸如用户界面的哪个屏幕或页面包括视觉元素,视觉元素是在菜单中显示还是在用户界面的另一屏幕或页面上显示等等。这些视觉元素可以是例如程序206和/或208的表示。
静态数据220还可以包括关于程序206或208、或系统状态210是否要被下载的指示,并且如果是,则还包括下载的近似尺寸。可以从诸如服务之类的不同位置经由网络(例如,因特网、局域网等)下载程序206或208或系统状态210。
静态数据220还可以包括各种程序206或208或系统状态210的使用频率的指示。该使用频率可以是每个用户的。例如,当用户用网络服务登录到他或她的帐户时,可以确定用户使用特定程序的频率,并且如果从实现系统200的计算设备登录相同的用户账户,则那个频率信息可以提供给系统准备服务110。使用频率可以可替换地跨多个用户和/或设备(诸如从多个不同的计算设备访问网络服务的账户的多个不同用户)聚合。所聚合的使用信息频率可以任选地基于多个标准过滤,诸如实现系统200的计算设备的特征(例如,设备的形状因子)、系统200的用户的特征等等。程序的使用频率可以由网络服务进行监测,以响应于接收用户授权以由用户(例如,能够参加或退出这样的监测的用户)监测程序的使用频率。
静态数据220还可以包括不论被程序206或208使用的数据是经由网络(例如,因特网)从另一设备获得还是从服务获得。例如,对于一个或多个程序206或208中的每一个,静态数据220可以包括在程序处于期望操作状态之前,用于程序的数据是经由网络从另一设备获得还是从服务获得的指示。
静态数据220还可以包括哪些程序206或208或系统状态210被系统200的多个不同程序或模块使用的标识。例如,静态数据220可以包括哪些程序206或208参与用于系统200的系统级契约、哪些程序206或208是用于公共文件类型的处置器等等的指示。
对于在实现系统200的计算设备的锁定屏幕上显示哪些视觉元素,静态数据220还可以包括程序206或208的列表。该锁定屏幕是指在等待用户授权诸如通过键入个人标识号码、键入密码等等访问计算设备的同时被显示的计算设备的页面或屏幕。
对于程序206或208中的一个或多个,静态数据220还可以包括用于程序的程序细节的指示。这些程序细节可以包括例如程序是被阶段处理还是不被阶段处理、程序的尺寸、在使程序处于其期望操作状态中被该程序访问的资源、在程序被下载到计算设备之后其使程序处于其期望操作状态所花费的近似时间量等等。
系统准备服务110所使用的动态数据222可以包括各种数据。动态数据222与静态数据220不同之处在于动态数据222可以随时间改变,包括当系统处于其期望的操作状态时。动态数据222的示例包括在本文中,尽管应当注意,这些是示例,并非本文中所讨论的所有动态数据222都需要被系统准备服务110使用,和/或附加的静态数据可以被系统准备服务110使用。
动态数据222可以包括与系统200的用户交互。各种不同的用户交互可以包括在动态数据222中,诸如用户请求运行的程序的指示(通过提供多种不同的用户输入中的任一种)、用户请求从系统200中删除的程序的指示(通过提供多种不同的用户输入中的任一种)、用户请求添加到系统200的程序的指示(通过提供多种不同的用户输入中的任一种)等等。
动态数据222还可以包括网络状态信息。该网络状态信息标识实现系统200的计算设备当前连接到的网络的各种特征。这些特征可以包括例如网络的速度(例如,当在网络上时,数据上传和/或下载速度)、网络的使用率是否当前被计量、所下载的数据的尺寸是否受网络限制(如果是的话,多少)等等。
动态数据222还可以包括实现系统200的计算设备的电源的指示。例如,计算设备是否以插入模式(例如,在AC电源上或当前正在充电)操作或计算设备是否以电池模式(例如,在电池电源上)操作。作为另一示例,如果计算设备以电池模式操作,则动态数据222可以包括电池剩余的近似电池寿命的指示。
动态数据222还可以包括实现系统200的计算设备的当前负载的指示。计算设备的当前负载可以是例如用于计算设备的当前处理器或CPU的使用率、计算设备的存储器使用率、计算设备的网络使用率等等。
动态数据222还可以包括关于程序206或208中的一个或多个的每一个的受欢迎度或使用的指示。例如,动态数据222可以包括用户可以从其中购买或以其它方式获得程序的应用商店中的各种程序206或208的受欢迎度的指示。作为另一示例,动态数据222可以包括哪些程序206或208正在因特网上的新闻网站中最频繁地被提及的指示。作为又一示例,动态数据222可以包括哪些程序206或208(和任选地它们被提及的频率)在用户的社交网络(例如,在微博网络中、社交网络服务上用户的朋友或用户的页面上等)中被提及的指示。作为又一示例,动态数据222可以包括用于用户位置(例如,用户的地理位置(诸如实现系统准备服务110的计算设备所在的城市或国家、或用户所报告的位置)、诸如由被指派给实现系统准备服务110的计算设备的网络地址所确定的网络地址位置等)的程序206或208的受欢迎度(例如,被其它用户更频繁地使用、被其它用户更频繁地购买或以其它方式获得等)的指示。作为又一示例,动态数据222可以包括关于用户选择其以共享(例如,通过参加或退出共享)的用户的信息,诸如用户的年龄或职业、用户的因特网浏览习惯等等。
应当注意,动态数据222不是静态的,因此可以随时间改变。动态数据222可以在使系统处于其期望操作状态的任何阶段期间改变,因此,当动态数据222改变时,任务协调模块204所应用的规则或标准可以随时间产生不同排序。因此,在系统正在处于其期望操作状态的同时,由动作列表121所标识的系统准备任务的顺序可以改变。
任务协调模块204可以以多种不同方式使用静态数据220和动态数据222来生成动作列表212。在一个或多个实施例中,模块204使用其中由静态数据220和/或动态数据222标识的不同的属性有助于计算的用于系统准备任务的权重或分数的启发方法(heuristic)。具有较高的权重或分数的系统准备任务在具有较低的权重或分数的系统准备任务之前被执行。不同属性有助于系统准备任务的权重或分数的量可以以各种方式来确定,例如由系统准备服务110的开发者根据经验确定,从另一设备或服务获得,在系统准备服务110的操作期间由系统准备服务110确定,它们的组合等等。
例如,与用于较不频繁使用的程序的系统准备任务相比,用于更频繁使用的程序的系统准备任务可以被指派更高的权重或分数。这些更频繁使用的程序可以基于其它计算设备上的用户的使用率模式被标识,并且这样的使用率模式被聚合成用于实现系统准备服务110的计算设备的值(例如,从最频繁使用的到最不频繁使用的排名)。更频繁使用的程序的标识还可以是基于使用率模式的,该使用率模式基于计算设备类型被过滤。例如,用于具有与实现系统准备服务110的计算设备相同的形状因子的设备(例如,平板电脑、台式计算机、膝上型计算机等)的程序的使用率可以聚合成用于实现系统准备服务110的计算设备的值,并且用于计算设备的程序的使用率具有排除被聚合成该值的其它形状因子。
作为另一示例,如果计算设备连接到下载速度小于阈值速度的网络,则下载大于阈值尺寸的程序的系统准备任务(例如,具有大于阈值数量的待被下载的字节)可以被指派比如果计算设备连接到下载速度大于阈值速度的网络更低的权重或分数等等。作为又一示例,与用于其它程序的系统准备任务相比,针对其接收请求运行程序的用户输入的该程序的系统准备任务可以被指派更高的权重或分数。作为又一示例,与用于程序的系统准备任务相比,用于系统状态的系统准备任务可以被指派更高的权重或分数。
作为又一示例,系统准备任务可以基于用户可以从其中购买或以其它方式获得程序的应用商店中的程序的受欢迎度来安排优先级。作为又一示例,系统准备任务可以基于哪些程序正在因特网上的新闻站点中最频繁地被提及来安排优先级。作为又一示例,系统准备任务可以基于哪些程序在用户的社交网络中最频繁地被提及来安排优先级。作为又一示例,系统准备任务可以基于用户的当前位置处的程序的受欢迎度来安排优先级。作为又一示例,系统准备任务可以基于用户已经共享的关于用户的信息(诸如年龄、职业、因特网浏览习惯等等)来安排优先级。
可替换地,任务协调模块204可以以其它方式生成操作列表212。例如,任务协调模块204可以基于用户界面中的视觉元素的位置(诸如用户界面的哪个屏幕或页面包括视觉元素)生成动作列表212。由初始或较早网页上的视觉元素表示的用于程序的系统准备任务在由较晚页面上的视觉元素表示的用于程序的系统准备任务之前被执行。较早和较晚页面是指作为用户页面的部分显示的页面或屏幕,其中,初始页面或屏幕是所显示的第一页面或屏幕,然后用户可以跨过附加的页面。用户可以以其跨过页面的顺序(例如,通过在触摸屏上向左或向右刷他或她的手指、通过选择左或右箭头、通过选择向上或向下图标等)指示较早页面和较晚页面,即当在访问其它页面或屏幕之前跨过页面或屏幕时用户可以访问的页面或屏幕被称为较早页面,并且当在访问其它页面或屏幕之后跨过页面或屏幕时用户可以访问的页面或屏幕被称为较晚页面。
作为另一示例,任务协调模块204可以生成动作列表212,使得在其它系统准备任务之前,执行用于获得为系统的特定用户而定制的程序的预览的系统准备任务,以供为系统的特定用户而定制的系统的用户界面的预览的显示或其它呈现。在执行用户获得程序的预览的系统准备任务之后,剩余的系统准备任务(尚未被执行的系统准备任务)可以以各种顺序被执行。例如,剩余的系统准备任务可以以预期完成速度的顺序被执行,预期花费较少时间量来完成的系统准备任务在预期花费较长时间量来完成的系统准备任务之前被执行。
完成系统准备任务预期要花费的时间量可以以各种方式来确定,诸如由系统准备服务110的开发者根据经验确定,从另一设备或服务获得等等。例如,所预期的完成的时间量可以基于系统准备任务的类型(例如,安装程序可以比获得程序花费更少的时间),基于程序的尺寸(例如,尺寸较大的程序(例如,包括更多兆字节的数据、指令等的文件)可以比尺寸较小的程序花费更多的时间)等等。应当注意,一些系统准备任务可以取决于其它系统准备任务,并且不被执行直至已经执行了它们所取决于的系统准备任务为止,而不考虑所预期的完成的时间量。例如,在某些情形下,程序不允许被安装,直至它已经从服务下载完之后为止。在这样的情况下,安装程序的系统准备任务不被执行,直至下载程序的系统准备任务已经被执行之后为止,而不考虑下载程序以及安装程序的所预期的时间量。
系统准备服务110支持各种不同使用场景,从而允许要协调的系统准备任务的执行以供在实现期望操作状态之前,显示为系统的特定用户而定制的系统的用户界面的预览,然后在显示用户界面的预览的同时,继续执行系统准备任务,直至实现期望操作状态为止。在显示用户界面的预览的同时,以其执行系统准备任务的顺序基于静态数据220、动态数据222和/或任务协调模块204的实现方式而变化。
例如,任务协调模块204可以执行系统准备任务,使得在用于其它程序的系统准备任务执行之前,针对其的视觉元素在开始屏幕(例如,表示当用户登录到或开始计算设备时由用户界面显示的程序的视觉元素的初始屏幕或页面)上呈现的程序处于它们的期望操作状态。作为另一示例,任务协调模块204可以执行系统准备任务,使得更频繁使用的程序在较不频繁使用的程序之前处于它们的期望操作状态。作为又一示例,任务协调模块204可以确定动作列表212,但随后接收请求运行尚未处于其期望操作状态的程序的用户输入。响应于这样的用户输入,该模块204可以更改动作列表212,使得用户已经请求运行的程序在其它程序之前处于其期望操作状态(例如,而不考虑在接收用户输入之前由动作列表212标识的系统准备任务的排序)。
应当注意,在其中用户输入(例如,请求运行程序的用户输入)是程序的用户选择的情形下,多个附加的程序可能会受到影响,并且模块204可以更改动作列表212,使得受影响的这些附加的程序在其它程序之前处于它们的期望操作状态(例如,通过重新排序动作列表212)。例如,如果用户输入选择电子邮件应用,则模块204可以分析电子邮件应用的特性,并且对用于与电子邮件应用一起使用的其它程序(诸如照片管理程序、文字处理程序等等)的系统准备任务安排优先级。
还应当注意,执行系统准备任务的速度(包括在执行系统准备任务中是否发生了任何暂停或中断)可以基于静态数据220和/或动态数据222变化。例如,在系统资源有限的情况下,系统准备服务110可以一直保持显示系统的用户界面的预览,而不执行附加的系统准备任务,诸如当实现系统准备任务110的计算设备在电池电源上操作时,当实现系统准备任务110的计算设备没有因特网访问时,当实现系统准备任务110的计算设备正在经由网络或与数据使用收费(例如,所传送的每兆字节或千兆字节的数据的收费)的连接访问因特网时。在这样的情形下,附加的系统准备任务不被执行,直至数据改变为止(例如,计算设备以插入模式而非电池模式操作)或以响应于请求使用程序的用户输入(在此情况下,如果可能的话,动作列表212被重新排序,以使得允许程序运行的系统准备任务被执行)。
因此,动作列表212可以改变,以响应各种事件,诸如系统环境或动态数据222的改变。动作列表212的这种改变导致重新对系统准备任务安排优先级或对其排序以适应该事件。例如,运行由用户输入选择的程序的系统准备任务可以被重新排序以在其它系统准备任务之前被执行,在实现系统准备服务110的计算设备以电池模式操作的同时,系统准备任务可以被暂时停止等等。
图3图示了根据一个或多个实施例的使用动作列表300的示例。动作列表300可以是例如图2的动作列表212。动作列表300是被图示为程序1、程序2、…程序x的多个(x)程序302(1)、…,302(x)的列表。在动作列表300中以其的优先级顺序来图示程序302(1)、…、302(x),程序1的优先级高于程序2,程序2的优先级高于程序3等等。图1的系统准备服务110执行各种系统准备任务以使程序302(1)…、…、302(x)以它们的优先级的顺序处于其期望操作状态,从而使较高优先级的程序在较低优先级的程序之前处于其期望操作状态。
每个程序在各种阶段处于其期望操作状态,如由用于程序的系统准备任务所指示的。多个(y)阶段被图示为阶段1、阶段2、阶段y,每个阶段与系统准备任务的特定类型相对应。用于程序302的系统准备任务置于或以其它方式与队列(被图示为阶段任务队列304(1)、…、304(y))相关联,该队列与多个阶段相关联。多个阶段可以包括与如上文所讨论的不同类型的系统准备任务相关联的各种不同阶段,诸如获得程序,在计算设备上安装该程序,获得用于程序的备份数据(如果有的话),以及恢复用于程序的任何备份数据以使得备份数据可用于该程序。在所图示的示例中,对于每个程序302,阶段1中的系统准备任务在阶段2中的系统准备任务之前被执行,阶段2中的系统准备任务在阶段3中的系统准备任务之前被执行等等。
如在图3中可以看出,用于程序2的阶段1中的系统准备任务接下来被执行(或者当前正在被执行),在这之后,用于程序3的系统准备任务要被执行。类似地,用于程序1的阶段2中的系统准备任务接下来被执行(或者当前正在被执行),在这之后,用于程序4的系统准备任务要被执行,在这之后,用于程序2的系统准备任务要被执行。类似地,用于程序1的阶段y中的系统准备任务接下来被执行。
在图3的所图示的示例中,尽管每个程序可能不具有与每个阶段相关联的系统准备任务,但是对于系统准备任务,程序确实具有以它们阶段的顺序执行的系统准备任务。因此,特定阶段的系统准备任务可以取决于先前阶段的系统准备任务的完成。例如,程序2具有与阶段1和阶段2相关联的系统准备任务,并且与阶段2相关联的系统准备任务不被执行,直至完成与阶段1相关联的系统准备工作为止。
系统准备服务110分析在不同阶段执行的系统准备任务,并且由于这些依赖关系尝试执行阶段任务队列304中的空缺(hole)或空位(vacancy)中的较低优先级的程序的系统准备任务。这允许其中用于较低优先级的程序的特定阶段的系统准备任务在用于较高优先级的程序的该特定阶段的系统准备任务之前被执行的情形。例如,用于程序2的与阶段2相关联的系统准备任务不被执行,直至完成用于程序2的与阶段1相关联的系统准备任务为止。因此,系统准备服务110协调系统准备任务,使得在程序1和程序2之间的阶段2任务队列中的空缺或空位期间,用于程序4(其优先级程序比程序2更低,但不具有与阶段1相关联的系统准备任务)的与阶段2相关联的系统准备任务被执行。
图4是图示了根据一个或多个实施例的用于实现系统准备任务的协调的示例过程400的流程图。过程400由系统准备服务(诸如图1或图2的系统准备服务110)执行,并且可以以软件、固件、硬件、或其组合来实现。过程400被示出为动作集合并且不限于所示出的用于执行各种动作的操作的顺序。过程400是用于实现系统准备任务的协调的示例过程;参照不同附图,本文中包括实现系统准备任务的协调的附加讨论。
在过程400中,分析待被执行以使系统处于期望操作状态的系统准备任务(动作402)。这种分析包括:分析基本上所有的待被执行以使系统处于期望操作状态的系统准备任务,包括待被执行以使系统的各种程序处于它们的期望操作状态的系统准备任务在内。这种分析包括:标识用于系统程序的各种系统准备任务。
协调系统准备任务的执行以在实现期望操作状态之前,显示系统的用户界面的预览(动作404)。如上文所讨论的,用户界面的预览是为系统的特定用户而定制的。协调系统准备任务的执行包括:使用如上文所讨论的各种动态和/或静态数据标识系统准备任务的执行顺序。如上文所讨论的,当系统正处于其期望操作状态时,这种顺序还可以改变。
当接收到对系统的用户输入时,继续协调系统准备任务的执行(动作406)。如上文所讨论的,对系统的用户输入可以改变系统准备任务的执行顺序。这种协调继续,直至实现系统的期望操作状态为止。
在动作406中,用户输入通过由正在被执行的用户输入所请求的动作被接收并响应。可以接收请求各种动作的用户输入,诸如请求运行程序的用户输入、请求添加或删除程序的用户输入、请求改变系统设置(例如,配置值)的用户输入、请求改变视觉元素的位置的用户输入等等。该系统响应于这些用户输入并且执行由用户请求的操作。在其中在可以执行所请求的动作之前,附加的系统准备任务要被执行的情形中,那些附加的系统准备任务在系统执行所请求的动作之前被执行。例如,如果用户请求运行尚未处于其期望操作状态的程序,则执行用于程序的系统准备任务以在运行该程序之前使程序处于其期望操作状态。
根据一个或多个实施例,可以采用本文中所讨论的技术确定特定功能(例如,应用、服务、操作系统模块等等)是否要被安装在计算设备上。比如,功能可用于安装在计算设备上,采用和/或请求该功能的任务应当产生。然而,除非该功能被明确调用诸如以响应于用户动作和/或被另一功能调用,否则可以不安装功能。因此,用于功能的占位符可以在计算设备上被维护以提供功能可用于安装的指示。
例如,考虑其中加密模块被注册到可用于安装的计算设备的场景。注册可能发生,比如,作为用于特定用户的计算设备的初始配置的一部分(例如,使计算设备的操作系统处于期望操作状态)。除非出现调用加密模块的事件,否则即使加密模块可以保持处于“未安装”的状态,系统(例如,计算设备的操作系统)也可以处于其期望操作状态。例如,用户可以请求文档以加密形式进行传输。响应于该请求,加密模块可以被安装在计算设备上,使得该文档可以在被传输之前被加密模块加密。因此,除非功能被明确调用,否则实施例使得功能的可用性的永久指示就能够在计算设备上被维护,而不发起功能的安装。
尽管在本文中参照特定模块对特定功能进行了讨论,但是应当注意,本文中所讨论的单独模块的功能可以被分为多个模块,和/或多个模块的至少一些功能可以被组合成单个模块。附加地,本文中作为执行动作所讨论的特定模块包括执行动作的特定模块本身、或者可替换地该特定模块调用或以其它方式访问执行动作(或与该特定模块结合地执行动作)的另一组件或模块。因此,执行动作的特定模块包括执行动作的特定模块本身和/或由执行动作的那个特定模块所调用的或以其它方式访问的另一模块。
图5图示了包括表示可以实现本文中所描述的各种技术的一个或多个系统和/或设备的示例计算设备502的示例系统500。该计算设备502可以是例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统和/或任何其它合适的计算设备或计算系统。
所图示的示例计算设备502包括处理系统504、一个或多个计算机可读媒体506和通信地彼此耦合的一个或多个I/O接口508。尽管未示出,但是计算设备502还可以包括将各种组件彼此耦合的系统总线或其它数据和命令传递系统。系统总线可以包括不同总线结构(诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用多种总线体系结构中的任何一个的处理器或局部总线)中的任何一个或组合。还预期了多种其它示例,诸如控制线和数据线。
处理系统504表示使用硬件执行一个或多个操作的功能。因此,处理系统504被图示为包括硬件元件510,该硬件元件510可以被配置为处理器、功能块等等。这可能包括作为使用一个或多个半导体形成的专用集成电路或其它逻辑器件的硬件的实现方式。硬件元件510不受形成它们的材料或其所采用的处理机制的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这样的背景下,处理器可执行指令可以是电子可执行指令。
计算机可读媒体506被图示为包括存储器/存储装置512。存储器/存储装置512表示与一个或多个计算机可读媒体相关联的存储器/存储装置容量。存储器/存储装置512可以包括易失性媒体(诸如随机存取存储器(RAM))和/或非易失性媒体(诸如只读存储器(ROM)、闪存、光盘、磁盘等等)。存储器/存储装置512可以包括固定媒体(例如,RAM、ROM、固定硬盘驱动器等等)以及可移除媒体(例如,闪存、可移除硬盘驱动器、光盘等等)。如下文进一步所描述的,计算机可读媒体506可以以多种其它方式来配置。
(多个)输入/输出接口508表示允许用户向计算设备502键入命令和信息并且还允许使用各种输入/输出设备将信息呈现给用户和/或其它组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于话音输入)、扫描仪、触摸功能(例如,被配置成检测物理接触的电容性或其它传感器)、相机(例如,其可以采用可见或非可见波长(诸如红外频率)来检测不涉及作为手势的触摸的移动)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等等。因此,如下文进一步所描述的,计算设备502可以在多种方式进行配置,以支持用户交互。
计算设备502还包括系统准备服务514。系统准备服务514提供各种功能,如上文所讨论的,包括协调使系统处于期望操作状态的系统准备任务。系统准备服务514可以实现例如图1或图2的系统准备服务110。
本文中可以在软件、硬件元件或程序模块的一般上下文中对各种技术进行描述。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等等。如本文中所使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。本文中所描述的技术的特征是平台无关的,从而意味着该技术可以在具有多种处理器的各种计算平台上实现。
所描述的模块和技术的实现方式可以被存储在某种形式的计算机可读媒体上或通过某种形式的计算机可读媒体进行传输。计算机可读媒体可以包括可以由计算设备502访问的多种媒体。作为示例而非限制,计算机可读媒体可以包括“计算机可读存储媒体”和“计算机可读信号媒体“。
“计算机可读存储媒体”是指相对于仅信号传输、载波或信号本身,使得能够永久存储信息和/或使得能够进行有形存储的媒体和/或设备。因此,计算机可读存储媒体是指非信号承载媒体。该计算机可读存储媒体包括以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据的信息的方法或技术所实现的硬件,诸如易失性和非易失性、可移除和不可移除媒体和/或存储设备。计算机可读存储媒体的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或其它磁性存储设备、或其它存储设备、有形媒体、或适合于存储所期望的信息且可以由计算机访问的制品。
“计算机可读信号媒体”是指被配置成诸如经由网络向计算设备502的硬件传输指令的信号承载介质。典型地,信号媒体可以包括计算机可读指令、数据结构、程序模块或诸如载波、数据信号或其它传送机制之类的已调制的数据信号中的其它数据。信号媒体还包括任何信息递送媒体。术语“已调制的数据信号”意指以这样的方式设置或改变其特征中的一个或多个以在信号中对信息进行编码的信号。作为示例而非限制,通信媒体包括诸如有线网络或直接线连接之类的有线媒体和诸如声学、RF、红外和其它无线媒体之类的无线媒体。
如先前所描述的,硬件元件510和计算机可读媒体506表示可以在一些实施例中用来实现本文中所描述的技术的至少一些方面的以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)和以硅或其它硬件设备的其它实现方式。在这种背景下,硬件元件可以作为执行由指令、模块和/或由硬件元件以及用来存储指令以供执行的硬件设备(例如,先前所描述的计算机可读存储媒体)所包括的逻辑而定义的程序任务的处理设备来进行操作。
上述的组合还可以用于实现本文中所描述的各种技术和模块。因此,软件、硬件或程序模块和其它程序模块可以作为包括在一些形式的计算机可读存储媒体上和/或由一个或多个硬件元件10所包括的一个或多个指令和/或逻辑而实现。计算设备502可以被配置成实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,作为可由作为软件的计算设备502执行的模块,该模块的实现可以例如通过使用处理系统的计算机可读存储媒体和/或硬件元件510至少部分地以硬件形式实现。指令和/或功能可由一个或多个制品(例如,一个或多个计算设备502和/或处理系统504)执行/操作来实现本文中所描述的技术、模块和示例。
如在图5中进一步所图示的,当在个人计算机(PC)、电视设备和/或移动设备上运行应用时,示例系统500使泛在环境能够用于无缝用户体验。当在利用应用、玩视频游戏、观看视频等等的同时从一个设备过渡到下一个设备时,服务和应用在所有三种环境中基本上类似地运行以用于共同的用户体验。
在示例系统500中,多个设备通过中央计算设备互连。中央计算设备可以对多个设备来说是本地的或可以位于远离该多个设备。在一个或多个实施例中,中央计算设备可以是通过网络、因特网、或其它数据通信链路连接到多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,这种互连体系架构使功能能够跨多个设备递送以向多个设备的用户提供共同和无缝体验。多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台以使得能够向设备递送为该设备所定制的以及为所有设备所共有的两者的体验。在一个或多个实施例中,创建一类目标设备并且为通用类的设备定制体验。一类设备可以由物理特征、使用类型或设备的其它公共特征定义。
在各种实现方式中,计算设备502可以假定诸如计算机516、移动装置518和电视520使用的多种不同配置。这些配置中的每一个包括可以具有通常不同的构造和能力的设备,因此,计算设备502可以根据不同的设备类的一个或多个进行配置。比如,计算设备502可以被实现为包括个人计算机、台式计算机、多屏计算机、膝上型计算机、上网本等等的设备的计算机516类。
计算设备502还可以被实现为包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏计算机等等之类的移动设备的移动装置518类设备。该计算设备502还可以被实现为包括具有或连接到的休闲观看环境中的通常较大屏幕的设备的电视520类设备。这些设备包括电视、机顶盒、游戏控制台等。
本文中所描述的技术可以由计算设备502的这些各种配置来支持,并且不限于本文中所描述的技术的特定示例。这种功能还可以诸如在“云”522上经由如下文所描述的平台524通过使用分布式系统全部或部分地实现。
云522包括和/或表示用于资源526的平台524。平台524提取云522的硬件(例如,服务器)和软件资源的基础功能。资源526可以包括在远离计算设备502的服务器上执行计算机处理的同时可以被利用的应用和/或数据。资源526还可以包括在因特网上和/或通过诸如蜂窝或Wi-Fi网络之类的订户网络提供的服务。
该平台524可以提取资源和功能,以将计算设备502与其它计算设备连接。平台524还可以用来提取资源比例,以提供对应的比例水平来满足对经由平台524所实现的资源526的需求。因此,在相互连接的设备实施例中,本文中所描述的功能的实现方式可以分布在整个系统500中。例如,该功能可以部分地在计算设备502上以及经由提取云522的功能的平台524实现。
尽管已经以特定于结构特征和/或方法动作的语言对主题进行了描述,但是需要理解的是,在所附权利要求中定义的主题并不一定局限于上文所描述的特定特征或动作。相反,上文所描述的特定特征和动作作为实现权利要求的示例形式而被公开。

Claims (10)

1.一种用于使计算设备的系统处于期望操作状态的方法,所述方法包括:
获取所述系统的用户界面的预览,所述用户界面的所述预览是为所述系统的特定用户而定制的并且包括多个视觉元素,所述多个视觉元素中的每个视觉元素可被选择以启动所述计算设备上的应用;
显示所述系统的所述用户界面的所述预览;
分析所述系统并且标识待被执行以使所述系统处于所述期望操作状态的多个系统准备任务;
向所述系统准备任务中的每个系统准备任务指派优先级,所述优先级被加权以指示用于通过分析包括以下中的一个或者多个而标识的静态数据和/或动态数据的属性:
应用的使用频率;
在一个或多个其他计算设备上的针对所述特定用户的使用率模式;
应用的下载尺寸;
用于下载应用可用的下载速度;
来自应用商店的应用的受欢迎度;
社交网络上的应用的受欢迎度;
所述特定用户的当前地理位置处的应用的受欢迎度;或者
社交网络上由所述特定用户共享的内容;
通过按照被指派给所述多个系统准备任务中的每个系统准备任务的优先级来组织所述多个系统准备任务,生成动作列表;
按照被指派给所述多个系统准备任务中的每个系统准备任务的优先级,执行所述动作列表上的所述多个系统准备任务;
经由所述用户界面的所述预览,在所述执行期间接收用户输入;以及
响应于接收所述用户输入,继续所述执行并根据所述用户输入来更新所述系统的所述用户界面的显示的所述预览。
2.根据权利要求1所述的方法,所述系统包括所述计算设备的操作系统。
3.根据权利要求1所述的方法,所述多个系统准备任务包括:下载并安装一个或多个程序。
4.根据权利要求1所述的方法,进一步包括:在执行所述系统准备任务期间定义时间,在所述时间之后,所述系统可操作并且响应用户输入。
5.根据权利要求4所述的方法,还包括:响应于所述动态数据的改变,改变所述多个系统准备任务以其要被执行的顺序。
6.一种计算设备,包括:
至少一个处理器,以及计算机可读存储介质,所述计算机可读存储介质被配置以存储由所述至少一个处理器可执行的多个指令;
所述多个指令的第一子集,被配置以:
输出用于所述计算设备的用户界面显示;以及
所述多个指令的第二子集,被配置以:
获取所述计算设备的系统的用户界面的预览,所述系统的所述用户界面的所述预览是为所述系统的特定用户而定制的并且包括多个视觉元素,所述多个视觉元素中的每个视觉元素可被选择以启动所述计算设备上的应用;
显示所述系统的所述用户界面的所述预览;
分析所述系统并且标识待被执行以使所述系统处于期望操作状态的多个系统准备任务;
向所述系统准备任务中的每个系统准备任务指派优先级,所述优先级被加权以指示用于通过分析包括以下中的一个或者多个而标识的静态数据和/或动态数据的属性:
应用的使用频率;
在一个或多个其他计算设备上的针对所述特定用户的使用率模式;
应用的下载尺寸;
用于下载应用可用的下载速度;
来自应用商店的应用的受欢迎度;
社交网络上的应用的受欢迎度;
所述特定用户的当前地理位置处的应用的受欢迎度;或者
社交网络上由所述特定用户共享的内容;
通过按照被指派给所述多个系统准备任务中的每个系统准备任务的优先级来组织所述多个系统准备任务,生成动作列表;
按照被指派给所述多个系统准备任务中的每个系统准备任务的优先级,执行所述动作列表上的所述多个系统准备任务;
经由所述系统的所述用户界面的所述预览,在所述执行所述动作列表上的所述多个系统准备任务期间接收用户输入;以及
响应于接收所述用户输入,继续所述执行所述多个系统准备任务并根据所述用户输入来更新所述系统的所述用户界面的显示的所述预览。
7.根据权利要求6所述的计算设备,所述系统包括所述计算设备的操作系统。
8.根据权利要求7所述的计算设备,所述系统准备服务还被配置成响应于所述动态数据的改变,改变所述多个系统准备任务以其要被执行的顺序,所述动态数据包括请求运行所述系统的所述多个程序中的其中一个的用户输入。
9.根据权利要求6所述的计算设备,所述系统准备服务还被配置成在执行所述系统准备任务期间定义时间,在所述时间之后,所述系统可操作并且所述多个视觉元素被显示。
10.根据权利要求9所述的计算设备,其中,所述时间包括在其后获得并显示表示所述系统的所述多个程序的视觉元素的时间。
CN201380076965.2A 2013-05-29 2013-09-18 用于系统准备任务的协调的方法和设备 Active CN105308563B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/905121 2013-05-29
US13/905,121 US10452222B2 (en) 2013-05-29 2013-05-29 Coordination of system readiness tasks
PCT/US2013/060249 WO2014193432A1 (en) 2013-05-29 2013-09-18 Coordination of system readiness tasks

Publications (2)

Publication Number Publication Date
CN105308563A CN105308563A (zh) 2016-02-03
CN105308563B true CN105308563B (zh) 2019-08-06

Family

ID=49510487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380076965.2A Active CN105308563B (zh) 2013-05-29 2013-09-18 用于系统准备任务的协调的方法和设备

Country Status (4)

Country Link
US (1) US10452222B2 (zh)
EP (1) EP3005101B1 (zh)
CN (1) CN105308563B (zh)
WO (1) WO2014193432A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656800B2 (en) 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
JP7056269B2 (ja) * 2018-03-16 2022-04-19 株式会社リコー 情報処理システム、機器、情報処理方法及び情報処理プログラム
US11409552B2 (en) * 2019-09-24 2022-08-09 International Business Machines Corporation Hardware expansion prediction for a hyperconverged system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214802B1 (en) * 2007-02-08 2012-07-03 Vmware, Inc. Providing visual preview of intermediate steps of software configuration
CN102542410A (zh) * 2010-12-21 2012-07-04 微软公司 与背景和基于任务的计算环境的交互
CN102693495A (zh) * 2011-03-21 2012-09-26 微软公司 过滤和推销应用商店应用

Family Cites Families (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4902469A (en) 1986-05-05 1990-02-20 Westinghouse Electric Corp. Status tree monitoring and display system
US6021425A (en) 1992-04-03 2000-02-01 International Business Machines Corporation System and method for optimizing dispatch latency of tasks in a data processing system
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
DE4417588A1 (de) 1993-08-30 1995-03-02 Hewlett Packard Co Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
US6204847B1 (en) 1995-07-17 2001-03-20 Daniel W. Wright Shared virtual desktop collaborative application system
US6108704A (en) 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
US6950991B2 (en) 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US5874958A (en) 1997-03-31 1999-02-23 Sun Microsystems, Inc. Method and apparatus for accessing information and items across workspaces
US6080207A (en) 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6066182A (en) * 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation
US6510466B1 (en) 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US6425126B1 (en) 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US6990238B1 (en) 1999-09-30 2006-01-24 Battelle Memorial Institute Data processing, analysis, and visualization system for use with disparate data types
US6724403B1 (en) 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7028264B2 (en) 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7987431B2 (en) 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6698018B1 (en) 2000-05-10 2004-02-24 Microsoft Corporation System and method of multiple-stage installation of a suite of applications
US20020124245A1 (en) 2000-08-14 2002-09-05 Alvin Maddux Method and apparatus for advanced software deployment
US7885981B2 (en) 2000-10-31 2011-02-08 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
US20020086706A1 (en) 2000-11-15 2002-07-04 Ming-Feng Chen Mobile device server
US20020090934A1 (en) 2000-11-22 2002-07-11 Mitchelmore Eliott R.D. Content and application delivery and management platform system and method
US6807665B2 (en) 2001-01-18 2004-10-19 Hewlett-Packard Development Company, L. P. Efficient data transfer during computing system manufacturing and installation
US20020147766A1 (en) 2001-04-04 2002-10-10 Marko Vanska Operating user profiles with distributed profile model using a hybrid terminal
US7143419B2 (en) 2001-06-06 2006-11-28 Sap Ag Device for running offline applications and synchronizing with a central computer system
CA2403300A1 (en) 2002-09-12 2004-03-12 Pranil Ram A method of buying or selling items and a user interface to facilitate the same
US7379977B2 (en) 2001-07-24 2008-05-27 Steve Walrath System and method for display of multiple electronic pages
AU2002334954B2 (en) 2001-10-11 2008-07-31 Omniture, Inc. System, method, and computer program product for processing and visualization of information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US20040032400A1 (en) 2002-08-14 2004-02-19 Freeman Mark T. Method and systems for managing the display of digital content
JP2004133733A (ja) 2002-10-11 2004-04-30 Sony Corp 表示装置および方法、並びにプログラム
US9092190B2 (en) 2010-10-01 2015-07-28 Z124 Smartpad split screen
US7343567B2 (en) 2003-04-25 2008-03-11 Microsoft Corporation System and method for providing dynamic user information in an interactive display
EP1618480A2 (en) 2003-04-29 2006-01-25 University Of Strathclyde Monitoring software
US7669140B2 (en) 2003-08-21 2010-02-23 Microsoft Corporation System and method for providing rich minimized applications
US7239877B2 (en) 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US7290164B1 (en) 2004-03-03 2007-10-30 Cisco Technology, Inc. Method of reverting to a recovery configuration in response to device faults
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
US7761800B2 (en) 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US7774811B2 (en) 2004-08-26 2010-08-10 Sony Corporation Method and system for use in displaying multimedia content and status
CA2589900A1 (en) 2004-10-25 2006-05-04 Michael Kuan-Hung Chang System and method for global data synchronization
US20060123413A1 (en) * 2004-11-30 2006-06-08 International Business Machines Corporation System and method for installing a software application
US8732182B2 (en) 2004-12-02 2014-05-20 Desktopsites Inc. System and method for launching a resource in a network
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
US7593013B2 (en) 2005-03-11 2009-09-22 University Of Utah Research Foundation Systems and methods for displaying and querying heterogeneous sets of data
US7849453B2 (en) 2005-03-16 2010-12-07 Oracle America, Inc. Method and apparatus for software scouting regions of a program
US20070011268A1 (en) 2005-03-22 2007-01-11 Banga Jasminder S Systems and methods of network operation and information processing, including engaging users of a public-access network
US7673255B2 (en) 2005-04-22 2010-03-02 Microsoft Corporation Interface and system for manipulating thumbnails of live windows in a window manager
US8543931B2 (en) * 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US20110258049A1 (en) 2005-09-14 2011-10-20 Jorey Ramer Integrated Advertising System
US20070064984A1 (en) 2005-09-19 2007-03-22 General Electric Company System and method for dynamic configuration of PACS workstation displays
US7818733B2 (en) 2005-09-27 2010-10-19 International Business Machines Corporation Improving bundle control in computing environment
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
CN1956516B (zh) 2005-10-28 2010-05-26 深圳Tcl新技术有限公司 通过图片结合语音显示电视功能界面的方法
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US7703039B2 (en) 2005-12-08 2010-04-20 Adobe Systems Incorporated Methods and apparatus for displaying information
US8286159B2 (en) 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
JP4347303B2 (ja) 2006-01-23 2009-10-21 シャープ株式会社 情報処理装置、プログラムおよび記録媒体
US8261253B2 (en) 2006-01-25 2012-09-04 The Boeing Company Method for restoring software applications on desktop computers
US20070240150A1 (en) * 2006-03-08 2007-10-11 Oracle International Corporation Simplifying installation of a suite of software products
US20070233782A1 (en) 2006-03-28 2007-10-04 Silentclick, Inc. Method & system for acquiring, storing, & managing software applications via a communications network
US7673131B2 (en) 2006-05-05 2010-03-02 Microsoft Corporation Booting an operating system in discrete stages
US7748000B2 (en) 2006-07-27 2010-06-29 International Business Machines Corporation Filtering a list of available install items for an install program based on a consumer's install policy
US8121585B2 (en) 2006-08-25 2012-02-21 International Business Machines Corporation Technique for synchronizing data with a mobile device based on a synchronization context
US8136100B1 (en) 2006-08-29 2012-03-13 Adobe Systems Incorporated Software installation and icon management support
US7861933B2 (en) 2006-11-06 2011-01-04 Ikan Technologies Inc. Methods and systems for network configuration
US8347280B2 (en) 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US7714864B2 (en) 2006-11-16 2010-05-11 Microsoft Corporation Visual resource profiler for graphical applications
JP4982505B2 (ja) 2007-01-25 2012-07-25 シャープ株式会社 マルチウィンドウ管理装置及びプログラム、記憶媒体、並びに情報処理装置
US8413064B2 (en) 2007-02-12 2013-04-02 Jds Uniphase Corporation Method and apparatus for graphically indicating the progress of multiple parts of a task
US20100107150A1 (en) 2007-03-20 2010-04-29 Tomihisa Kamada Terminal having application update managing function, and application update managing program and system
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US8484637B2 (en) 2007-04-03 2013-07-09 Microsoft Corporation Parallel installation
WO2008137690A2 (en) 2007-05-03 2008-11-13 Vidoop, Llc. Method and apparatus for queuing user action prior to authentication
US20080301672A1 (en) 2007-05-30 2008-12-04 Google Inc. Installation of a Software Product on a Device with Minimal User Interaction
US8230417B1 (en) 2007-06-08 2012-07-24 Adobe Systems Incorporated Combined application and execution environment install
US20090083703A1 (en) 2007-09-24 2009-03-26 Mednet Solutions Electronic Clinical Study Site Generation System
US8122368B2 (en) 2007-10-31 2012-02-21 Internaitonal Business Machines Corporation System and method to facilitate progress forking
US8166486B2 (en) 2007-12-04 2012-04-24 Oracle America, Inc., Adjusting workload to accommodate speculative thread start-up cost
CN101216763B (zh) 2008-01-17 2012-05-30 金蝶软件(中国)有限公司 一种个性化界面实现方法及系统
US8296682B2 (en) 2008-02-29 2012-10-23 Microsoft Corporation Interface for navigating interrelated content hierarchy
US7987211B2 (en) 2008-02-29 2011-07-26 Dell Products L.P. System and method for automated deployment of an information handling system
US20090254529A1 (en) 2008-04-04 2009-10-08 Lev Goldentouch Systems, methods and computer program products for content management
US9514444B2 (en) 2009-01-15 2016-12-06 Sococo, Inc. Encapsulating virtual area based communicant assemblies
US9146722B2 (en) 2008-04-16 2015-09-29 International Business Machines Corporation Reinstalling a computer based on frequency of application utilization
JP5359355B2 (ja) * 2008-05-08 2013-12-04 株式会社リコー 機器管理装置、機器管理システム、機器管理方法、プログラム、及び記録媒体
US9165044B2 (en) 2008-05-30 2015-10-20 Ethority, Llc Enhanced user interface and data handling in business intelligence software
US8284909B2 (en) 2008-09-29 2012-10-09 Microsoft Corporation Offline voicemail
US8561012B1 (en) 2008-10-08 2013-10-15 Versionone, Inc. Transitioning between iterations in agile software development
US8745086B2 (en) 2008-12-05 2014-06-03 New BIS Safe Luxco S.á.r.l. Methods, apparatus and systems for data visualization and related applications
US8650290B2 (en) 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
US20120004975A1 (en) 2009-01-21 2012-01-05 Billshrink, Inc. System and method for platform-driven savings opportunity matching
US8578326B2 (en) 2009-03-26 2013-11-05 Microsoft Corporation Localized information-preserving levels in model visualization
US8260876B2 (en) 2009-04-03 2012-09-04 Google Inc. System and method for reducing startup cost of a software application
US9112928B2 (en) 2009-05-29 2015-08-18 Nokia Technologies Oy Method and apparatus for automatic loading of applications
US9330503B2 (en) 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
US8880736B2 (en) 2009-07-09 2014-11-04 Simon Cooper Methods and systems for archiving and restoring securely installed applications on a computing device
US8856670B1 (en) 2009-08-25 2014-10-07 Intuit Inc. Technique for customizing a user interface
US8966375B2 (en) 2009-09-07 2015-02-24 Apple Inc. Management of application programs on a portable electronic device
US20110078332A1 (en) 2009-09-25 2011-03-31 Poon Roger J Method of synchronizing information across multiple computing devices
US8811942B2 (en) 2009-11-15 2014-08-19 Nokia Corporation Method and apparatus for the activation of services
US9009219B2 (en) 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
US8140570B2 (en) 2010-03-11 2012-03-20 Apple Inc. Automatic discovery of metadata
US8775958B2 (en) 2010-04-14 2014-07-08 Microsoft Corporation Assigning Z-order to user interface elements
FR2960077A1 (fr) * 2010-05-11 2011-11-18 Alcatel Lucent Dispositif de gestion dynamique d'applications telechargeables, pour un equipement de communication
US8996978B2 (en) 2010-05-14 2015-03-31 Sap Se Methods and systems for performing analytical procedures by interactions with visual representations of datasets
US8631396B2 (en) 2010-06-03 2014-01-14 International Business Machines Corporation Schema specification to improve product consumability on installation, configuration, and/or un-installation activity
JP5449044B2 (ja) * 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
US9646317B2 (en) 2010-08-06 2017-05-09 Avaya Inc. System and method for predicting user patterns for adaptive systems and user interfaces based on social synchrony and homophily
US9411482B2 (en) 2010-09-01 2016-08-09 Autodesk, Inc. Visualizing user interfaces
US9529577B2 (en) 2010-09-10 2016-12-27 International Business Machines Corporation Method of deploying a contextually dependent application
US20120079095A1 (en) 2010-09-24 2012-03-29 Amazon Technologies, Inc. Cloud-based device synchronization
US20120102433A1 (en) 2010-10-20 2012-04-26 Steven Jon Falkenburg Browser Icon Management
US20120123865A1 (en) 2010-11-12 2012-05-17 Cellco Partnership D/B/A Verizon Wireless Enhanced shopping experience for mobile station users
US8839133B2 (en) 2010-12-02 2014-09-16 Microsoft Corporation Data visualizations including interactive time line representations
US20120185842A1 (en) * 2011-01-14 2012-07-19 Verizon Patent And Licensing Inc. System and method for providing an application installation tool
WO2012107929A2 (en) 2011-02-09 2012-08-16 Conduit Ltd Application synchronization among multiple computing devices
US20120218254A1 (en) 2011-02-28 2012-08-30 Microsoft Corporation Data visualization design and view systems and methods
US9060239B1 (en) 2011-08-09 2015-06-16 Zscaler, Inc. Cloud based mobile device management systems and methods
US20120246137A1 (en) 2011-03-22 2012-09-27 Satish Sallakonda Visual profiles
EP2712442A1 (en) 2011-05-09 2014-04-02 Google, Inc. Recommending applications for mobile devices based on installation histories
EP2710466A1 (en) 2011-05-09 2014-03-26 Google, Inc. Identifying applications of interest based on application metadata
WO2012154838A2 (en) 2011-05-09 2012-11-15 Google Inc. Generating application recommendations based on user installed applications
US20120324481A1 (en) 2011-06-16 2012-12-20 Samsung Electronics Co. Ltd. Adaptive termination and pre-launching policy for improving application startup time
US20130007662A1 (en) 2011-06-29 2013-01-03 International Business Machines Corporation Prioritization of urgent tasks on mobile devices
CN102262552B (zh) 2011-07-06 2015-08-19 惠州Tcl移动通信有限公司 一种应用程序跨设备同步方法及系统
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US9202297B1 (en) 2011-07-12 2015-12-01 Domo, Inc. Dynamic expansion of data visualizations
US8245934B1 (en) 2011-09-30 2012-08-21 Google Inc. Apparatus and method for automatically providing information to a new computer
US9137651B2 (en) * 2011-11-22 2015-09-15 International Business Machines Corporation Systems and methods for determining relationships between mobile applications and electronic device users
US9503520B2 (en) 2012-02-06 2016-11-22 Conduit Ltd. Application synchronization among multiple computing devices
US9128513B2 (en) 2012-02-08 2015-09-08 Qualcomm Incorporated Display of an online catalog for concurrent downloading of files
RU2477520C1 (ru) 2012-03-14 2013-03-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ динамической адаптации функционала антивирусного приложения на основе конфигурации устройства
US20140309853A1 (en) 2013-04-15 2014-10-16 Flextronics Ap, Llc Vehicle diagnostics and roadside assistance
US9307006B2 (en) 2012-04-11 2016-04-05 Salesforce.Com, Inc. System and method for synchronizing data objects in a cloud based social networking environment
US20130297807A1 (en) 2012-05-02 2013-11-07 Steven Darnell Chavis Systems and methods for serving application programs to devices
US9430120B2 (en) 2012-06-08 2016-08-30 Apple Inc. Identification of recently downloaded content
US9003299B2 (en) 2012-06-08 2015-04-07 Apple Inc. Extensible application state preservation architecture
US20150142983A1 (en) 2012-06-13 2015-05-21 Nokia, Inc Cloud services in mobile heterogeneous networks
CN102819461B (zh) 2012-07-19 2016-05-11 腾讯科技(深圳)有限公司 桌面同步方法、装置、设备及系统
US8775917B2 (en) 2012-08-09 2014-07-08 Sweetlabs, Inc. Systems and methods for alert management
US8639781B1 (en) 2012-10-19 2014-01-28 Dropbox, Inc. Systems and methods for downloading files
WO2014094468A1 (zh) 2012-12-17 2014-06-26 北京奇虎科技有限公司 实现浏览器数据同步的系统、方法及浏览器客户端
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
CN103986742B (zh) 2013-02-08 2018-08-31 纬创资通股份有限公司 文件同步的方法及相关电子装置
US20140229438A1 (en) 2013-02-12 2014-08-14 Dropbox, Inc. Multiple platform data storage and synchronization
KR102155708B1 (ko) 2013-02-26 2020-09-14 삼성전자 주식회사 휴대 단말기 및 그의 멀티 어플리케이션 운용 방법
US9934241B2 (en) 2013-03-05 2018-04-03 Hightail, Inc. System and method for cloud-based read-only folder synchronization
US9690746B1 (en) 2013-03-08 2017-06-27 Crimson Corporation Computing devices for sending and receiving configuration information
US8700722B1 (en) 2013-03-15 2014-04-15 Google Inc. User-aware cloud to device messaging systems and methods
US9858052B2 (en) 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9061210B2 (en) 2013-03-21 2015-06-23 Nextbit Systems Inc. Synchronizing an instance of an application between multiple devices
IN2013MU01237A (zh) 2013-03-28 2015-04-10 Tata Consultancy Services Ltd
US10656800B2 (en) 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
US9710248B2 (en) 2013-05-29 2017-07-18 Microsoft Technology Licensing, Llc Application install and layout syncing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214802B1 (en) * 2007-02-08 2012-07-03 Vmware, Inc. Providing visual preview of intermediate steps of software configuration
CN102542410A (zh) * 2010-12-21 2012-07-04 微软公司 与背景和基于任务的计算环境的交互
CN102693495A (zh) * 2011-03-21 2012-09-26 微软公司 过滤和推销应用商店应用

Also Published As

Publication number Publication date
CN105308563A (zh) 2016-02-03
US10452222B2 (en) 2019-10-22
EP3005101A1 (en) 2016-04-13
WO2014193432A1 (en) 2014-12-04
EP3005101B1 (en) 2021-06-23
US20140359469A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
CN104246659B (zh) 可实例化的手势对象
US20130227409A1 (en) Integrating sensation functionalities into social networking services and applications
CN111064655B (zh) 模板消息的推送方法、装置、设备及存储介质
US9176726B2 (en) Method and apparatus for developing, distributing and executing applications
US11567638B2 (en) Method, system, and non-transitory computer-readable record medium for providing reputation badge for video chat
CN108292304A (zh) 跨应用数字墨水库
CN107111494A (zh) 显露通用应用的视觉表示
CN108885738A (zh) 通过自关联消息的命令和任务完成
US20190199823A1 (en) Reservation system
EP3005119B1 (en) Service-based backup data restoring to devices
US20170269916A1 (en) Selective Application Installation Or Application Running Without Installation
CN110537161A (zh) 异构选项卡环境中的上下文新选项卡体验
CN108885479A (zh) 对外部具有触摸功能的显示设备的触摸输入支持
CN105308563B (zh) 用于系统准备任务的协调的方法和设备
CN105468402B (zh) 用于提供启动应用的时段的方法和装置
CN114586000A (zh) 提供以用户为中心的应用
CN103793148B (zh) 内容管理系统和方法
US10592689B2 (en) Selective container use for device usage sessions
US11258838B2 (en) Method, system, and non-transitory computer readable record medium for processing chatroom based on usage
EP3087469A1 (en) Dynamically sharing intents
CN115373574A (zh) 设备控制器和查看器
KR102243964B1 (ko) 영상 채팅 중 호감을 표출하는 방법, 시스템, 및 컴퓨터 프로그램
KR101815629B1 (ko) 잠금화면 제어 방법 및 그 방법을 실행하기 위한 프로그램을 기록한 기록매체
KR20200138977A (ko) 대화방에서 컨텐츠 생성자를 픽할 수 있는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
JP2023001052A (ja) 友達推薦方法、コンピュータ装置、およびコンピュータプログラム

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