CN105793817A - 更新操作系统 - Google Patents

更新操作系统 Download PDF

Info

Publication number
CN105793817A
CN105793817A CN201480066043.8A CN201480066043A CN105793817A CN 105793817 A CN105793817 A CN 105793817A CN 201480066043 A CN201480066043 A CN 201480066043A CN 105793817 A CN105793817 A CN 105793817A
Authority
CN
China
Prior art keywords
computing equipment
operating system
computer
renewal
triplicate
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
CN201480066043.8A
Other languages
English (en)
Other versions
CN105793817B (zh
Inventor
伊丽莎白·桑德拉·冯-琼斯
威廉·亚历山大·德鲁里
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN105793817A publication Critical patent/CN105793817A/zh
Application granted granted Critical
Publication of CN105793817B publication Critical patent/CN105793817B/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/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Retry When Errors Occur (AREA)

Abstract

提供了用于更新计算设备的操作系统的系统和方法。在一个或多个方面中,在计算设备处接收用于计算设备的操作系统的更新,同时操作系统的第一副本在计算设备上运行。至少部分基于所接收的更新将操作系统的第二副本更新,且存储计算设备的预重启状态。将计算设备重启。重启计算设备之后,至少部分地基于计算设备被存储的预重启状态,向操作系统的经过更新的第二副本提供用户访问。在一个或多个实现中,在重启计算设备之后,可以至少部分基于所接收的更新将操作系统的第一副本更新。

Description

更新操作系统
技术领域
本主题技术一般涉及更新计算设备的操作系统。
背景技术
操作系统的制造者可以经由网络向实现操作系统的计算机提供对所传递的操作系统的更新。在有些情况下,为了安装更新,用户可能需要重启计算机,或者计算机可以自动重启。
发明内容
在一些方面中,所公开的主题内容涉及用于更新操作系统的计算机实现的方法。该方法包括在第一时间,在计算设备处接收用于计算设备的操作系统的更新。该方法包括在第二时间,存储计算设备的预重启状态,预重启状态包括用于作为计算设备的指定用户登入计算设备的登录信息,计算设备的指定用户在第二时间被登入计算设备。该方法包括重启计算设备,其中,在计算设备重启之前或重启期间,根据所接收的更新将计算设备的操作系统更新。该方法包括在重启计算设备之后,根据所存储的计算设备的预重启状态,向经过更新的操作系统提供用户访问。
在一些方面中,所公开的主题内容涉及编码有可执行指令的非暂时性计算机可读介质。指令包括用于接收用于计算机的操作系统的更新的代码。指令包括用于存储计算机的预重启状态的代码,预重启状态包括用于作为计算机的指定用户登入计算机的登录信息。指令包括用于重启计算机的代码,其中,在计算机重启之前或重启期间,根据所接收的更新将计算机的操作系统更新。指令包括用于在重启计算机之后,根据所存储的计算机的预重启状态,向经过更新的操作系统提供用户访问的代码。
在一些方面中,所公开的主题内容涉及计算设备。计算设备包括一个或多个处理器和存储器。存储器包括指令。指令包括当操作系统的第一副本在计算设备上运行时,用于在计算设备接收用于计算设备的操作系统的更新的代码。指令包括用于存储计算设备的预重启状态的代码,预重启状态包括用于作为计算设备的指定用户登入计算设备的登录信息。指令包括用于重启计算设备的代码。在计算设备重启之前或重启期间,根据所接收的更新将计算设备的操作系统的第二副本更新。在计算设备重启之后,计算设备的操作系统的第二副本在计算设备上运行。指令包括用于在计算设备重启之后,根据所存储的计算设备的预重启状态,向操作系统的经过更新的第二副本提供用户访问的代码。指令包括用于根据所接收的更新,将计算设备的操作系统的第一副本更新的代码。
应当理解,通过下面的具体实施方式,主题技术的其他配置将变得显而易见,其中通过图示说明的方式来示出和描述主题技术的各种配置。应当意识到,主题技术能够采用其他的以及不同的配置,并且它们的多种细节能够在各种其他方面中修改,全部都不脱离主题技术的范围。因此,在本质上应当将附图和具体实施方式视为说明性而不是限制性的。
附图说明
在所附权利要求中阐述了主题技术的特征。但是为了说明的目的,在下面的附图中给出所公开的主题的若干方面。
图1A图示了用于更新计算设备的操作系统的示例网络系统。
图1B图示了可以更新操作系统的示例计算设备。
图2图示了通过其可以更新计算设备的操作系统的示例步骤。
图3概念性图示了利用其实现主题技术的一些实现的示例电子系统。
具体实施方式
下面所阐述的详细描述旨在作为对主题技术的各种配置的描述,并不旨在表示可以实践主题技术的唯一配置。附图被合并在其中并构成详细描述的一部分。详细描述包括为了提供对主题技术的透彻理解的目的的具体细节。但是,清楚并且显而易见的是,主题技术不限于本文中所阐述的具体细节并且在没有这些具体细节的情况下也可以被实践。在一些实例中,用方框图的形式示出某些结构和组件以便避免模糊主题技术的概念。
如上所述,操作系统的制造商可以经由网络向实现操作系统的计算机提供对所递送的操作系统的更新。在有些情况下,用户可能需要重启计算机或者计算机可以自动重启用于将要安装的更新。计算机的重启可能不是用户友好的体验,因为用户可能需要关闭用户正在其中工作的窗口或者保存用户产生的数据。在重启和重新打开窗口之前,用户可能要花时间回忆打开了哪些窗口。此外,为了在计算机重启期间访问计算机,用户可能需要重新输入他/她的登录信息(例如,密码或用户名和密码的组合)。如上所述,需要用于更新操作系统的新的途径。
主题技术提供用于更新计算设备的操作系统的技术。计算设备在第一时间经由网络接收用于计算设备的操作系统的更新。计算设备在第二时间存储计算设备的预重启状态。第二时间可以与第一时间同时出现,或者紧接着第一时间出现(例如,在没有任何故意延迟的情况下,根据计算设备的处理速度,例如是0.1秒、0.5秒、1秒、或2秒)。或者,第二时间可以在第一时间之后经过有意的延迟或者预定的时间段出现(例如,一秒钟、一分钟、一小时等等)。例如,第二时间可以在计算设备处于休眠模式时出现,并且第一时间可以在计算设备处于苏醒模式时出现。预重启状态包括用于作为计算设备的指定用户登入计算设备的登录信息(例如,密码),计算设备的指定用户在第二时间登入计算设备。预重启状态可以识别计算设备处打开的窗口的集合、窗口的集合内打开的选项卡的集合、窗口的集合内的信息、以及窗口的集合内的当前活跃窗口。例如,预重启状态可以识别表示了计算设备上打开的文档处理器应用、web浏览器、以及音频播放器应用的数据。文档处理器应用是活跃的并且正在显示文档“Letter-to-Sam”的第三页。web浏览器正在显示网页example.com/abc和example.com/def的选项卡。音频播放器应用在音频文件“physics-101-lecture”1:02的位置暂停。可将预重启状态存储在加密位置,以防止对预重启状态中的信息(包括登录信息)的非授权访问。
在存储了预重启状态之后,计算设备将自己重启。在重启之前或重启期间,根据所接收的更新将计算设备的操作系统或者计算设备的操作系统的至少一个副本更新。在重启之后,根据所存储的计算设备的预重启状态,计算设备向经过更新的操作系统提供用户访问。计算设备可以根据预重启状态中的登录信息登入计算设备,而不要求用户重新输入登录信息。在更新后的操作系统中,计算设备可以在经过更新的操作系统内重新实例化窗口的集合、选项卡的结合、窗口的集合内的信息、以及预重启状态的当前活跃窗口。
优选地,作为本文中所述一些实现的结果,在计算设备重启之后,计算设备返回至重启之前计算设备的状态。结果,用户的工作没有丢失,并且在有些情况下,用户可以放弃保存文件并回忆在重启之前打开了哪些窗口和选项卡。而且,通过在重启和操作系统更新过程期间不要求用户重新输入他/她的登录信息,节省了计算设备重启期间用户的时间和精力。
图1A图示了用于更新计算设备的操作系统的示例网络系统100A。如示出的,网络系统包括连接至网络130A的计算设备110A和服务器120A。计算设备110A和服务器120A可经由网络130A相互通信。网络130A可包括任意网络,例如互联网、内联网、蜂窝网络、局域网、广域网、有线网络、无线网络、虚拟专用网(VPN)等等。计算设备110A可以是任意计算设备,例如膝上型计算机、桌面型计算机、平板计算机、移动电话、个人数字助理(PDA)、电子音乐播放器、智能手表、与一个或多个处理器和存储器耦合的电视机等等。计算设备110A可包括使用本文中所述技术更新的操作系统。服务器120A可以是计算设备110A的操作系统的开发者的服务器,并且可以经由网络130A传输用于实现操作系统的(一个或多个)计算机(例如,计算设备110A)的(一个或多个)操作系统的更新。
图1B图示了被配置为更新操作系统的示例计算设备100B。计算设备100B可以与图1A的计算设备110A对应,并且可以是膝上型计算机、桌面型计算机、平板计算机、移动电话、个人数字助理(PDA)、电子音乐播放器、智能手表、与一个或多个处理器和存储器耦合的电视机等等。
如示出的,计算设备100B包括处理单元102B、网络接口104B、以及存储器106B。处理单元单元102B包括一个或多个处理器。处理单元102B可包括中央处理单元(CPU)、图形处理单元(GPU)、或者任意其他处理单元。处理单元102B执行计算机可读介质(例如存储器106B)中所存储的计算机指令。网络接口104B允许计算设备100B传输和接收网络(例如图1A的网络130A)中的数据。存储器106B存储数据和/或指令。存储器106B可以是高速缓存单元、存储单元、内部存储器单元、或外部存储器单元中的一个或多个。如图所示,存储器106B包括非用户可修改的存储器区域108B,其存储操作系统副本110B和112B、所接收的更新114B、以及自动更新模块116B。存储器106B还存储已存储的预重启状态118B和应用120B.1-n。
非用户可修改的存储器区域108B存储包括操作系统副本110B和112B、所接收的更新114B、以及自动更新模块116B的数据或指令,其不能被计算设备100B的用户修改。非用户可修改的存储器区域存储108B中的数据或指令是可修改的,例如经由使用网络接口104B通过网络接收到的更新(例如所接收的更新114B)。
操作系统副本110B和112B是由计算设备100B实现的操作系统的副本。当操作系统在计算设备100B上运行时的任何时间,操作系统的一个副本是活跃的且在运行,而另一个副本是不活跃的且不运行。虽然将计算设备100B图示了为存储操作系统的两个副本110B和112B,但是计算设备100B可以存储操作系统的单个副本(当计算设备100B运行时其始终运行),也可以存储操作系统的两个以上的副本。计算设备可以在运行的操作系统副本110B或112B内执行例如应用120B.1-n中的一个或多个的(一个或多个)应用。
所接收的更新114B是用于通过网络使用网络接口104B所接收的计算设备100B的操作系统的更新。所接收的更新114B可以由操作系统的制造者提供、由计算设备100B的制造者提供、由与计算设备100B相关联的企业提供等等。为了实现所接收的更新114B,可以根据所接收的更新114B来修改在计算设备100B上运行的操作系统副本110B或112B。
当执行自动更新模块116B时,使得处理单元102B经由网络接口104B并且在第一时间接收用于操作系统的更新114B。在第一时间,操作系统副本110B在计算设备100B上运行且操作系统副本112B不运行。因此,在第一时间将操作系统副本112B更新,因为可以在不打扰操作系统副本110B的功能的情况下将操作系统副本112B更新。
当执行自动更新模块116B时,使得处理单元102B在第二时间存储计算设备100B的预重启状态118B。所存储的预重启状态118B包括用于作为计算设备的指定用户登入计算设备的登录信息,其中指定用户在第二时间登入计算设备。所存储的预重启状态118B还可包括在计算设备100B上打开的应用120B.1-n的指示、在应用中打开的选项卡、在应用内存储的数据(例如,被键入浏览器应用输入框的数据或者被键入文档处理器应用的数据)、以及活跃的应用。第二时间可以与第一时间同时出现,或者紧接着第一时间出现。替选的,例如,当计算设备100B处于休眠模式时,第二时间可以在第一时间之后经过有意的延迟或者预定时间段出现(例如,一秒钟、一分钟、一小时等等)。
当执行自动更新模块116B时,使得处理单元102B重启计算设备100B。在重启期间或重启之后,处理单元102B确定在相比于操作系统副本110B更晚的时间将操作系统副本112B更新。因此,基于对在相比于操作系统副本110B更晚的时间将操作系统副本112B更新的确定,处理单元102B将操作系统副本110B更新以匹配操作系统副本112B。处理单元102B可将操作系统副本112B复制到操作系统副本110B,或者处理单元102B可将所接收的更新114B应用到操作系统副本110B。在重启之后,操作系统副本112B运行而操作系统副本110B不运行,因此处理单元102B可以写入操作系统副本110B。
在重启计算设备100B之后,处理单元102B根据所存储的预重启状态118B向在计算设备100B上运行的经过更新的操作系统副本112B提供用户访问,因此用户可以继续在计算设备100B处工作而对他/她的工作没有干扰或者干扰最小。例如,可以根据所存储的预重启状态118B中的登录信息将用户登入计算设备100B而不要求用户重新输入登录信息。在一些情况下,作为本文所述技术的结果,在安装操作系统的更新的同时可以保持应用120B.1-n打开的窗口、打开的窗口中打开的选项卡、以及当前活跃的窗口。
应用120B.1-n可包括在计算设备100B上执行的任何应用。例如,应用120B.1-n可包括web浏览器应用、电子邮件应用、文档处理器应用、电子表格应用、幻灯片应用、视频呼叫应用等等中的一个或多个。
根据一些示例,存储器106B包括磁盘和随机存取存储器(RAM)。所存储的预重启状态118B可以被加密存储在磁盘上,并且在经过更新的操作系统副本112B重启之后,只要RAM保持加电并且磁盘上的加密数据没有被移除便可使得所存储的预重启状态118B可用。在一些示例中,所存储的预重启状态118B可能不可以被计算设备的用户访问或修改,以保证所存储的预重启状态118B中的信息不被未授权人员访问。此外,计算设备100B可包括被授权使用计算设备100B的(一个或多个)用户的一个或多个用户账户。每个用户账户可以与它自己的加密数据相关联,所述数据不能经由其他用户账户访问。当经由自动更新模块116B的操作将计算设备100B重启时,用户可以被重新登入他/她的账户,这提供对于所存储的预重启状态118B中的数据的访问。用户可以被重新登入他/她的账户而不被要求重新认证(例如,重新输入他/她的用户名或密码),也不改变计算设备100B上所存储的加密数据的任何其他安全特性,包括所存储的预重启状态118B。
图2图示了通过其可以更新计算设备的操作系统的示例过程200。
过程200开始于步骤210处,其中计算设备(例如,计算设备100B)在第一时间接收用于计算设备的操作系统的更新(例如,所接收的更新114B)。可经由网络接口(例如,网络接口104B)通过网络接收用于操作系统的更新。在第一时间,操作系统的第一副本(例如,操作系统副本110B)在计算设备上运行,而操作系统的第二副本(例如,操作系统副本112B)不在计算设备上运行。
在步骤220中,计算设备在第二时间存储计算设备的预重启状态(例如,所存储的预重启状态118B)。预重启状态包括用于作为计算设备的指定用户登入计算设备的登录信息。计算设备的指定用户在第二时间登入计算设备。预重启状态还可以识别在计算设备处打开的窗口的集合、在窗口的集合内打开的选项卡的集合、窗口的集合内的信息、以及窗口的集合内的当前活跃窗口。第二时间与第一时间一致或在第一时间之后没有任何有意的延迟地实时出现。替选地,在第一时间与第二时间之间可以存在有意的延迟或预定的时间段(例如,一秒钟、一分钟、一小时等等)。例如,当计算设备被连接到网络且通过网络将操作系统更新传输给计算设备时,第一时间可以出现。当计算设备处于休眠模式或空闲时,第二时间可以出现。
在步骤230中,计算设备将自己重启。在重启之前或重启期间,根据所接收的更新将操作系统的第二副本更新。例如,可将所接收的更新应用于操作系统的第二副本。在计算设备重启之后,计算设备的操作系统的第二副本在计算设备上运行,而操作系统的第一副本不在计算设备上运行。
在步骤240中,在重启计算设备之后,计算设备根据所存储的计算设备的预重启状态,提供对操作系统的更新的第二副本的用户访问。结果,在计算设备重启之后,用户可以从所存储的预重启状态继续在计算设备处工作,并且在计算设备处用户的工作不会被干扰或者干扰最小。例如,计算设备可以根据预重启状态中的登录信息登入计算设备而不要求用户重新输入登录信息。计算设备还可以重新实例化预重启状态中所存储的窗口和选项卡,以允许用户在被重新实例化的窗口和选项卡中继续工作。
在步骤250中,计算设备根据接收更新将计算设备的操作系统的第一副本更新。例如,可将所接收的更新应用于操作系统的第一副本。替选地,可将重启之前或重启期间已经被更新的操作系统的第二副本复制到操作系统的第一副本。在步骤250之后,过程200结束。
图3概念性地图示了利用其实现主题技术的一些实现的电子系统300。例如,可以使用电子系统300的布置来实现计算设备100B。电子系统300可以是计算机(例如,移动电话、PDA)或者任何其他类型的电子设备。这样的电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统300包括总线305、(一个或多个)处理单元310、系统存储器315、只读存储器320、永久储存器设备325、输入设备接口330、输出设备接口335、以及网络接口340。
总线305统一代表可通信地连接电子系统300的多个内部设备的所有系统、外围和芯片集总线。诸如,总线305可通信地将(一个或多个)处理单元310与只读存储器320、系统存储器315、以及永久储存器设备325相连接。
为了执行主题技术的过程,(一个或多个)处理单元310通过这些多种存储器单元检索要执行的指令以及要处理的数据。在不同的实现中,(一个或多个)处理单元可以是单个处理器或多核处理器。
只读存储器(ROM)320存储(一个或多个)处理单元310以及电子系统的其他模块所需要的静态数据和指令。另一方面,永久储存器设备325是读写存储器设备。该设备是非易失性存储器单元,即使当电子系统300掉电时也存储指令和数据。主题技术的一些实现使用大型存储设备(例如,磁盘或光盘以及它的对应磁盘驱动)作为永久储存器设备325。
其他实现使用可移除存储设备(例如,软盘、闪存驱动、以及它的对应磁盘驱动)作为永久储存器设备325。类似于永久储存器设备325,系统存储器315是读写存储器设备。但是,不同于存储设备325,系统存储器315是易失性读写存储器,例如随机存取存储器。系统存储器315存储处理器在运行时需要的指令和数据中的一些。在一些实现中,将主题技术的过程存储在系统存储器315、永久储存器设备325、或者只读存储器320中。例如,根据一些实现,多种存储器单元包括用于更新操作系统软件的指令。为了执行一些实现的过程,(一个或多个)处理单元310通过这些多种存储器单元检索要执行的指令以及要处理的数据。
总线305还连接到输入和输出设备接口330和335。输入设备接口330使得用户能够通信信息并选择给电子系统的命令。例如,与输入设备接口330一起使用的输入设备包括字母数字键盘和指针设备(也称为“光标控制设备”)。例如,输出设备接口335实现对由电子系统300所产生的图像的显示。例如,与输出设备接口335一起使用的输出设备包括打印机和显示器设备,例如阴极射线管(CRT)或液晶显示器(LCD)。一些实现包括例如触摸屏(用作输入和输出设备)设备。
最后,如图3中所示出的,总线305还通过网络接口340将电子系统300耦合到网络(未示出)。通过这种方式,电子系统300可以成为计算机网络(例如,局域网(LAN)、广域网(WAN)、内联网、或网络的网络,例如互联网)的一部分。电子系统300的任何组件或全部组件均可连同主题技术使用。
可将上述特征和应用实现为软件过程,所述软件过程被指定为计算机可读存储介质(也称为计算机可读介质)上所记录的指令的集合。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核、或其他处理单元)执行时,它们致使(一个或多个)处理单元执行指令中所指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动、RAM芯片、硬盘驱动、EPROM,等等。计算机可读介质不包括无线地或通过有线连接传递的载波以及电子信号。
在本说明书中,术语“软件”意思是包括只读存储器中驻留的固件或者磁存储或闪存(例如固态驱动)中存储的应用,其可以被读入存储器内用于由处理器处理。此外,在一些实现中,可将多个软件技术实现为为更大程序的子部,同时保持不同的软件技术。在一些实现中,也可将多个软件技术实现为独立的程序。最后,共同实现本文中所述软件技术的独立程序的任何组合皆落入主题技术的范围内。在一些实现中,当软件程序被安装以在一个或多个电子系统上操作时,定义执行并实践软件程序的操作的一个或多个特定机器实现。
可以以任何形式的编程语言来写入计算机程序(也被称为程序、软件、软件应用、脚本、或代码),包括编译或解释型语言、声明性或过程的语言,并且其可以按照任何形式来部署,包括作为独立程序或者作为模块、组件、子例程、对象、或者适于在计算环境中使用的其他单元。计算机程序可以但不是需要与文件系统中的文件相对应。可将程序存储在保持其他程序或数据的文件的部分中(例如,标记语言文档中所存储的一个或多个脚本)、专用于正在讨论的程序的单个文件中、或者多个协调文件中(例如,存储了一个或多个模块、子程序、或代码的部分的文件)。可将计算机程序部署为在一个计算机上执行,或者在多个计算机上执行,所述多个计算机位于一个地点,或者跨多个地点分布且通过通信网络互连。
上述这些功能可以在数字电子电路中、在计算机软件、固件或硬件中被实现。可以使用一个或多个计算机程序产品来实现所述技术。可将可编程的处理器和计算机包括在移动设备中或者封装为移动设备。可由一个或多个可编程处理器并由一个或多个可编程逻辑电路来执行过程和逻辑流程。可通过通信网络将通用和专用计算设备以及存储设备互连。
一些实现包括电子组件,例如将计算机程序指令存储在机器可读或计算机可读介质(替选地被称为计算机可读存储介质、机器可读介质、或机器可读存储介质)中的微处理器、存储、以及存储器。这样的计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、只读数字通用盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等等)、闪存(例如,SD卡、迷你SD卡、微型SD卡等等)、磁性或固态硬件驱动器、只读和可记录盘、高密度光盘、以及任何其他光或磁介质、和软盘。计算机可读介质可存储可由至少一个处理单元执行且包括用于进行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括例如由编译器产生的机器代码、以及包括由计算机、电子组件、或者微处理器使用解释器执行的更高级别的代码的文件。
虽然以上讨论主要指执行软件的微处理器或者多核处理器,但是一些实现是由一个或多个集成电路执行的,例如专用集成电路(ASIC)或者现场可编程门阵列(FPGA)。在一些实现中,这样的集成电路执行存储在电路本身上面的指令。
如同本申请的说明书和任何权利要求中所使用的,术语“计算机”、“服务器”、“处理器”以及“存储器”均指电子或其他技术设备。这些术语排除人或人群。为了说明的目的,术语显示或显示意思是在电子设备上显示。如同本申请的说明书和任何权利要求中使用的,术语“计算机可读介质”、“计算机可读媒体”被完全限于以计算机可读形式存储信息的有形的物理对象。这些术语排除任意无线信号、有线下载信号、以及任何其他瞬时信号。为了提供与用户的交互,本说明书中所述主题的实现可以在计算机上实现,所述计算机具有显示设备(例如,用于向用户显示信息的阴极射线管(CRT)或液晶显示(LCD)监视器)以及键盘和指针设备(例如,鼠标或轨迹球,用户可以由此向计算机提供输入)。也可以使用其他类型的设备提供与用户的互动;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任意形式接收用户的输入,包括声学的、语音或触觉输入。此外,计算机可通过往来于用户使用的设备收发文档与用户交互;例如,通过响应于从web浏览器接收到的请求向用户的客户端设备上的web浏览器发送网页。
本说明书所述主题可以在计算机系统中实现,所述计算机系统包括后端组件(例如,数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或网页浏览器的客户端计算机,用户可以通过其与本说明书所述主题的实现交互)、或者一个或多个这样的后端、中间件、或前端组件的任何组合。可通过数字数据通信的任何形式或介质(例如,通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN)、互联网络(例如互联网)、以及对等网络(例如,对等点对点网络)。
计算系统可包括客户端和服务器。客户端和服务器通常相互远离并且通常通过通信网络交互。客户端和服务器的关系通过在各个计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在所公开的主题的一些方面中,服务器向客户端设备传输数据(例如,HTML页面)(例如,为了向与客户端设备交互的用户显示数据以及从所述用户接收用户输入的目的)。在服务器处可以从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
应当理解,所公开的过程中步骤的任何特定顺序或层级都是示例性办法的说明。应当理解,可以基于设计偏好重新布置过程中步骤的特定顺序或层级,或者执行所有图示的步骤。步骤中的有些可以同时进行。例如,在某些环境下,多任务和并行处理是有利的。此外,上述各种系统组件的分离不应当理解为要求这种分离,而是应当理解为通常可将所述程序组件和系统集成在单个软件产品中或者封装在多个软件产品中。
对这些方面的各种修改将是显而易见的,并且可将本文所定义的通用原则应用于其他方面。因此,权利要求书并非旨在受限于本文中所示出的方面,而是要符合与语言权利要求一致的全部范围,其中,除非特别指定如此,按照单数形式对元件的引用不旨在意味着“一个且仅此一个”,而是“一个或多个”。除非特别指定,否则术语“一些”指一个或多个。男性代词(例如,他的)包括女性和中性(例如她的和它的),反之亦然。标题和副标题,如果有的话,只是为了方便而使用,不限制主题技术。
例如“方面”的短语不暗示方面对主题技术是必要的,或者该方面应用于主题技术的所有配置。可将与方面有关的公开应用于所有配置,或者一个或多个配置。例如方面的短语可以指一个或多个方面,反之亦然。例如“配置”的短语不暗示这种配置对主题技术是必要的,或者该配置应用于主题技术的所有配置。可将与配置有关的公开应用于所有配置,或者一个或多个配置。例如配置的短语可以指一个或多个配置,反之亦然。

Claims (20)

1.一种方法,包括:
在第一时间,在计算设备处接收用于所述计算设备的操作系统的更新,其中,在所述第一时间,所述操作系统的第一副本正在所述计算设备的一个或多个处理器上运行;
在第二时间,存储所述计算设备的预重启状态;
重启所述计算设备,其中,在所述计算设备重启之前或期间,至少部分基于所接收的更新,通过所述一个或多个处理器更新所述计算设备的所述操作系统的第二副本;以及
在重启所述计算设备之后,至少部分基于所述计算设备的存储预重启状态,提供对在所述计算设备的所述一个或多个处理器上运行的所述操作系统的更新的第二副本的用户访问。
2.根据权利要求1所述的方法,其中所述预重启状态包括用于作为所述计算设备的指定用户登入所述计算设备的登录信息,所述计算设备的所述指定用户在所述第二时间被登入所述计算设备。
3.根据权利要求2所述的方法,其中至少部分基于所存储的所述计算设备的预重启状态提供对所述操作系统的更新的第二副本的用户访问包括:
在不要求用户重新输入所述登录信息的情况下,至少部分地基于所述预重启状态中的所述登录信息,来登入所述计算设备。
4.根据权利要求1所述的方法,其中所述第二时间与所述第一时间同时出现,或者在所述第一时间之后的预设时间段内出现。
5.根据权利要求1所述的方法,其中所述第二时间在所述计算设备处于休眠模式时出现,并且其中所述第二时间以预定的持续时间跟随在所述第一时间之后。
6.根据权利要求1所述的方法,其中所述操作系统的所述第一副本和所述第二副本与用于所述操作系统的所述更新不同。
7.根据权利要求6所述的方法,其中在所述计算设备重启之后,所述操作系统的所述第二副本在所述计算设备的所述一个或多个处理器上运行,而所述操作系统的所述第一副本不在所述计算设备的所述一个或多个处理器上运行。
8.根据权利要求7所述的方法,进一步包括:
通过运行所述操作系统的所述第二副本的所述一个或多个处理器并且在重启所述计算设备之后,至少部分基于所接收的更新,来更新所述操作系统的所述第一副本。
9.根据权利要求1所述的方法,其中所述预重启状态被加密存储在所述计算设备的磁盘上,并且其中在所述计算设备重启期间,所述计算设备的随机存取存储器RAM保持加电。
10.根据权利要求1所述的方法,其中所述预重启状态识别在所述计算设备处打开的窗口集合、在所述窗口集合中打开的选项卡集合、所述窗口集合内的信息、以及所述窗口集合内的当前活跃窗口,并且至少部分地基于所述计算设备的存储预重启状态提供对所述操作系统的更新的第二副本的用户访问包括:
在所述操作系统的所述更新的第二副本内,重新实例化所述预重启状态的所述窗口集合、所述选项卡集合、所述窗口集合内的所述信息、以及所述当前活跃窗口。
11.一种包括指令的非暂时性计算机可读介质,所述指令当由计算机的一个或多个处理器执行时,致使所述计算机的所述一个或多个处理器实现方法,所述方法包括:
当操作系统的第一副本正在所述计算机的所述一个或多个处理器上运行时,接收用于所述计算机的所述操作系统的更新;
通过所述计算机的所述一个或多个处理器,至少部分基于所接收的更新,来更新所述操作系统的第二副本;
存储所述计算机的预重启状态;
重启所述计算机,其中在重启所述计算机之后,所述操作系统的所述第二副本在所述计算机的所述一个或多个处理器上运行;以及
在重启所述计算机之后,至少部分基于所述计算机的存储预重启状态,提供对所述操作系统的更新的第二副本的用户访问。
12.根据权利要求11所述的非暂时性计算机可读介质,其中所述预重启状态包括用于作为所述计算机的指定用户登入所述计算机的登录信息。
13.根据权利要求12所述的非暂时性计算机可读介质,其中至少部分基于所述计算机的存储预重启状态提供对所述操作系统的更新的第二副本的用户访问包括:
在不要求用户重新输入所述登录信息的情况下,至少部分地基于所述预重启状态中的所述登录信息,来登入所述计算机,其中在所述预重启状态被存储的时间,将所述计算机的所述指定用户登入所述计算机。
14.根据权利要求11所述的非暂时性计算机可读介质,其中在第一时间接收用于所述计算机的所述操作系统的所述更新,并且其中在第二时间存储所述计算机的所述预重启状态。
15.根据权利要求14所述的非暂时性计算机可读介质,其中所述第二时间与所述第一时间同时出现,或者在所述第一时间之后的预设时间段内出现。
16.根据权利要求14所述的非暂时性计算机可读介质,其中所述第二时间在所述计算机处于休眠模式时出现,并且其中所述第二时间以预定的持续时间跟随在所述第一时间之后。
17.根据权利要求14所述的非暂时性计算机可读介质,其中所述操作系统的所述第一副本和所述操作系统的所述第二副本与用于所述操作系统的所述更新不同。
18.根据权利要求17所述的非暂时性计算机可读介质,所述方法进一步包括:
通过运行所述操作系统的所述第二副本的所述一个或多个处理器并且在重启所述计算设备之后,至少部分基于所接收的更新,来更新所述操作系统的所述第一副本。
19.一种计算设备,包括:
一个或多个处理器;以及
存储器,所述存储器包括指令,所述指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器实现方法,所述方法包括:
当操作系统的第一副本正在所述计算设备的所述一个或多个处理器上运行时,在所述计算设备处接收用于所述计算设备的所述操作系统的更新;
存储所述计算设备的预重启状态;
重启所述计算设备,其中在所述计算设备重启之前或期间,至少部分地基于所接收的更新,通过所述一个或多个处理器更新所述计算设备的所述操作系统的第二副本,以及其中,在所述计算设备重启之后,所述计算设备的所述操作系统的所述第二副本在所述计算设备的所述一个或多个处理器上运行;
在重启所述计算设备之后,至少部分地基于所述计算设备的存储预重启状态,提供对在所述一个或多个处理器上运行的所述操作系统的更新的第二副本的用户访问;以及
在重启所述计算设备之后且通过所述一个或多个处理器,至少部分地基于所接收的更新,来更新所述计算设备的所述操作系统的所述第一副本,同时所述操作系统的所述第二副本在所述一个或多个处理器上运行。
20.根据权利要求19所述的计算设备,所述存储器进一步包括非用户可修改的存储器区域,所述非用户可修改的存储器区域存储了所述操作系统的所述第一副本和所述操作系统的所述第二副本,其中所述操作系统的所述第一副本和所述操作系统的所述第二副本与用于所述操作系统的所述更新不同。
CN201480066043.8A 2013-12-05 2014-12-05 更新操作系统 Active CN105793817B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/098,451 US8990793B1 (en) 2013-12-05 2013-12-05 Updating an operating system
US14/098,451 2013-12-05
PCT/US2014/068780 WO2015085167A1 (en) 2013-12-05 2014-12-05 Updating an operating system

Publications (2)

Publication Number Publication Date
CN105793817A true CN105793817A (zh) 2016-07-20
CN105793817B CN105793817B (zh) 2019-07-26

Family

ID=52683501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480066043.8A Active CN105793817B (zh) 2013-12-05 2014-12-05 更新操作系统

Country Status (8)

Country Link
US (2) US8990793B1 (zh)
EP (1) EP3077905A4 (zh)
JP (1) JP6178515B2 (zh)
KR (1) KR101824013B1 (zh)
CN (1) CN105793817B (zh)
AU (1) AU2014360323B2 (zh)
CA (1) CA2929621C (zh)
WO (1) WO2015085167A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114127685A (zh) * 2019-07-04 2022-03-01 三星电子株式会社 电子设备及其控制方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298931B (zh) * 2014-09-29 2018-04-10 深圳酷派技术有限公司 信息处理方法和信息处理装置
US10187362B1 (en) * 2015-06-22 2019-01-22 Amazon Technologies, Inc. Secure streamlined provisioning of remote access terminals
US10102008B2 (en) * 2015-09-02 2018-10-16 Dell Products L.P. Managed boot process system
US10936296B2 (en) * 2019-05-07 2021-03-02 Microsoft Technology Licensing, Llc Automated application updates during operating system upgrades
CN111367963B (zh) * 2020-02-28 2023-07-25 北京百度网讯科技有限公司 一种确定来源渠道的方法、装置、设备和计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944854B2 (en) * 2000-11-30 2005-09-13 International Business Machines Corporation Method and apparatus for updating new versions of firmware in the background
US6963981B1 (en) * 2001-01-29 2005-11-08 Akamai Technologies, Inc. Method and apparatus for remote installation of an operating system over a network connection
CN1886729A (zh) * 2003-09-24 2006-12-27 T1科技有限公司 启动计算机系统的方法和设备
US20070180206A1 (en) * 2006-01-18 2007-08-02 Craft Julie L Method of updating a duplicate copy of an operating system on the same disk
US20080320466A1 (en) * 2007-06-20 2008-12-25 Dias Eric W B Automatic software installation and cleanup
US8429639B2 (en) * 2009-02-10 2013-04-23 Microsoft Corporation Image-based software update

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3457032B2 (ja) * 1993-09-30 2003-10-14 富士通株式会社 オペレーティングシステム更新装置
US20040187104A1 (en) * 2003-03-18 2004-09-23 Shantanu Sardesai Operating system deployment methods and systems
TWI258671B (en) * 2004-04-16 2006-07-21 Intervideo Digital Technology System for automatic downloading for data update in computer system with two operation systems and method thereof
US20060271923A1 (en) * 2005-05-25 2006-11-30 International Business Machines Corporation Methods and apparatus for categorizing computer system states for use in identifying individual computer systems to receive state-dependent maintenance
JP2007213494A (ja) * 2006-02-13 2007-08-23 Ntt Docomo Inc 更新起動装置及び更新起動制御方法
US8170540B2 (en) * 2006-09-07 2012-05-01 Qualcomm Incorporated System and methods for remotely upgrading software applications
JP5167936B2 (ja) * 2008-05-08 2013-03-21 日本電気株式会社 情報処理装置
US8171276B2 (en) * 2008-06-10 2012-05-01 International Business Machines Corporation Minimal startup mode for performing multiple-reboot configuration
US20120110562A1 (en) * 2010-10-27 2012-05-03 David Heinrich Synchronized firmware update
DE102011102425A1 (de) * 2011-05-24 2012-11-29 Heidelberger Druckmaschinen Ag Simultanes Softwareupdate
KR20130024667A (ko) * 2011-08-31 2013-03-08 삼성전자주식회사 소프트웨어를 자동으로 설치하는 방법 및 장치
US20140059534A1 (en) * 2012-08-22 2014-02-27 General Electric Company Method and system for software management
US9218178B2 (en) * 2012-08-29 2015-12-22 Microsoft Technology Licensing, Llc Secure firmware updates
US9195575B2 (en) * 2013-05-17 2015-11-24 Coherent Logix, Incorporated Dynamic reconfiguration of applications on a multi-processor embedded system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944854B2 (en) * 2000-11-30 2005-09-13 International Business Machines Corporation Method and apparatus for updating new versions of firmware in the background
US6963981B1 (en) * 2001-01-29 2005-11-08 Akamai Technologies, Inc. Method and apparatus for remote installation of an operating system over a network connection
CN1886729A (zh) * 2003-09-24 2006-12-27 T1科技有限公司 启动计算机系统的方法和设备
US20070180206A1 (en) * 2006-01-18 2007-08-02 Craft Julie L Method of updating a duplicate copy of an operating system on the same disk
US20080320466A1 (en) * 2007-06-20 2008-12-25 Dias Eric W B Automatic software installation and cleanup
US8429639B2 (en) * 2009-02-10 2013-04-23 Microsoft Corporation Image-based software update

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114127685A (zh) * 2019-07-04 2022-03-01 三星电子株式会社 电子设备及其控制方法
CN114127685B (zh) * 2019-07-04 2024-04-12 三星电子株式会社 电子设备及其控制方法

Also Published As

Publication number Publication date
US9524159B2 (en) 2016-12-20
US8990793B1 (en) 2015-03-24
KR101824013B1 (ko) 2018-01-31
CN105793817B (zh) 2019-07-26
JP2016539426A (ja) 2016-12-15
CA2929621A1 (en) 2015-06-11
WO2015085167A1 (en) 2015-06-11
JP6178515B2 (ja) 2017-08-09
AU2014360323A1 (en) 2016-05-19
EP3077905A4 (en) 2017-06-28
EP3077905A1 (en) 2016-10-12
CA2929621C (en) 2018-07-10
AU2014360323B2 (en) 2020-05-21
KR20160095066A (ko) 2016-08-10
US20150169315A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
US10552644B2 (en) Method and apparatus for displaying information content
CN105793817A (zh) 更新操作系统
EP2507715B1 (en) Communication channel between web application and process outside browser
JP6026108B2 (ja) プラグインコードによりホストされたアプリケーションの分離方法
US9804767B2 (en) Light dismiss manager
US20150207800A1 (en) Systems and methods for enabling access to a web application
Murugesan Web application development: Challenges and the role of web engineering
US20170053028A1 (en) Sharing a process in a web client
US20180295102A1 (en) Mention identification for untrusted content
US20160077899A1 (en) Handling of inputs in a multi-process application
Fernandes et al. Quality attributes for mobile applications
CN108351888A (zh) 生成可推迟数据流
Brockschmidt Programming Windows 8 Apps with HTML, CSS and Javascript
EP3161600A1 (en) Command surface drill-in control
US11816607B2 (en) Apparatuses, computer-implemented methods, and computer program products for managing a feature emphasis interface element in association with a card-based collaborative workflow management system
US20230034196A1 (en) Techniques for providing synchronous and asynchronous data processing
US20150212824A1 (en) Booting a machine using a firmware file system
Wood Computer Hardware, Software, and Networks
US20180107556A1 (en) Self-recovering application
Ahsan Chowdhury et al. SMART MIRROR
Williams et al. Microsoft SharePoint 2013 Administration Inside Out
KR20120133276A (ko) 특정 컨텐츠 표시 전용 패널을 갖는 다중 디스플레이 장치, 이를 채용한 컴퓨터 및 특정 컨텐츠 강제 표시 방법
Adonis An Introduction to Windows 8

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant