CN103365682A - 信息处理设备和信息处理方法 - Google Patents

信息处理设备和信息处理方法 Download PDF

Info

Publication number
CN103365682A
CN103365682A CN201310101444XA CN201310101444A CN103365682A CN 103365682 A CN103365682 A CN 103365682A CN 201310101444X A CN201310101444X A CN 201310101444XA CN 201310101444 A CN201310101444 A CN 201310101444A CN 103365682 A CN103365682 A CN 103365682A
Authority
CN
China
Prior art keywords
content
operating system
messaging device
additional operations
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.)
Granted
Application number
CN201310101444XA
Other languages
English (en)
Other versions
CN103365682B (zh
Inventor
理查德·保罗·康韦尔
内森·J·彼得森
罗德·D·瓦尔特曼
布鲁斯·道格拉斯·格雷斯
李军
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of CN103365682A publication Critical patent/CN103365682A/zh
Application granted granted Critical
Publication of CN103365682B publication Critical patent/CN103365682B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及信息处理设备和信息处理方法。其中,信息处理设备包括:内容提供单元,将附加操作***内容提供至所述信息处理设备;划分单元,划分包括所述基础操作***的至少一个元素的恢复列表;准备单元,准备所述基础操作***和所述附加操作***内容中的至少之一,用于操作***更新;内容吸收单元,访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作***更新;以及,执行单元,执行所述操作***更新。本文中描述了其他实施例。

Description

信息处理设备和信息处理方法
技术领域
本申请涉及信息处理领域,特别涉及信息处理设备和信息处理方法。
背景技术
一般来说,信息处理设备(或者嵌入式设备),例如移动电话或平板计算机,涉及基于固件的图像的使用。通常,在制造时已经安装了与目的地理区域(用于出售/分发)相应的或者与设备的另外的识别方面相应的图像文件。换句话说,为了支持预加载图像,制造商一般倾向于在信息处理设备上装载每个国家一个图像。为了创建和维持大量的唯一图像,这变得很昂贵而且很耗时,并且给整个过程增加了相当大的复杂性。
在如上所述的场景中,常规的布置还可以涉及多个分区的使用,其中一个分区用于每个可能的定制选项。由此,这会占据设备上的大量有用空间。
一般地,还需要注意的是,信息处理设备具有本质上完整的OS图像。编译和构建的处理生成包括所需部分的图像;但是,事实上,设备的变化(尤其是,如上记录的它们的识别方面)通常保证了要提供更多的本质上唯一的修补程序和更新。换句话说,就信息处理设备需要包括唯一专用于设备的一个或多个识别方面的图像或其他部分来说,为了充分支持这样的唯一变化,一个或多个修补程序或更新可能需要通过改变或修改OS或其功能的方式。因此,为了允许独立元件更新,传统的解决方案是倾向于涉及二进制修补程序或分区/图像碎片。目前,这可以证实是一个非常复杂且代价高的、给予了尽可能大范围可变性的任务。
发明内容
具体地,一方面提供了一种信息处理设备,包括:内容提供单元,将附加操作***内容提供至所述信息处理设备;划分单元,划分包括所述基础操作***的至少一个元素的恢复列表;准备单元,准备所述基础操作***和所述附加操作***内容中的至少之一,用于操作***更新;内容吸收单元,访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作***更新;以及,执行单元,执行所述操作***更新。
另一方面提供了一种信息处理方法,包括:将附加操作***内容提供至信息处理设备;划分包括基础操作***的至少一个元素的恢复列表;准备所述基础操作***和所述附加操作***内容中的至少之一,用于操作***更新;访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作***更新;以及执行所述操作***更新。
还一方面提供了一种程序产品,包括:存储介质,包括存储代码,所述程序代码包括:用于将附加操作***内容提供至信息处理设备的程序代码;用于划分包括基础操作***的至少一个元素的恢复列表的程序代码;用于准备所述基础操作***和所述附加操作***内容中的至少之一用于操作***更新的程序代码;用于访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作***更新的程序代码;以及用于执行所述操作***更新的程序代码。
前述为概要,由此可以包含细节的简化、概括、以及省略;因此,本领域的技术人员将领会到所述概要只是说明性的,并且不以任何形式受限。
为了更好理解地实施例、其它和进一步的特征及其优点,对以下描述结合附图作为参考。本发明的范围将由附加的权利要求书所指出。
附图说明
图1示出了信息处理设备***的示例电路。
图2示出了信息处理设备***的另一示例电路。
图3示意性示出了图像安装布置。
图4示意性示出了图像安装过程。
图5示意性示出了具有操作***和应用模块的设备。
图6示意性示出了具有应用程序包模块的设备。
图7示意性示出了***图像启动以准备适应至少一个更新的处理。
图8示意性示出了操作***文件恢复处理。
具体实施方式
容易理解的是,如图中所概要描述和说明的实施例的组成,可以以实施例描述之外的不同配置的广泛变化来安排和设计。因此,以下如图中所代表的实施例的更详细的描述不试图限制实施例的范围,如所声称的仅是示例实施例的代表。
贯穿本说明书的关于“一个实施例”或“实施例”(等等)的引用意为与实施例结合描述的特定特征、结构或特性包括在至少一个实施例中。因此,在贯穿本说明书的不同地方出现的“在一个实施例中”或“在实施例中”等不一定都引用相同的实施例。
此外,所描述的特征、结构或特性在一个或多个实施例中可以以任意合适的方式组合。在以下描述中,提供多个特定细节以给出对实施例的完整理解。然而,相关领域的技术人员可以理解的是,多个实施例可以在没有一个或多个特定细节下实行,或者通过其他方法、组成、材料等实行。在其他情况下,为了防止混淆,未详细示出或描述熟知的结构、材料或者操作。以下描述仅是通过例子的方式,并且仅简单地说明特定的示例实施例。
当可以使用多个其他电路、电路***或者组件时,图1描述了Win-Tel型信息处理设备电路、电路***或者组件的一个实例的框图。图1所描述的实例可以对应于如由北卡罗来纳州莫里斯维尔的Lenovo(US)有限公司销售的THINKPAD系列个人计算机的计算***或其他设备。从本文的描述中显而易见的是,实施例可以包括其他特征或者包括图1所示的实例的仅一些特征。
图1的实例包括具有根据制造商(例如,INTEL、AMD、ARM等)而不同的架构的所谓的芯片集110(一起工作的集成电路或者芯片的组合、芯片组)。芯片集110的架构包括核和存储控制组120、以及经由直接管理接口(DMI)142或者链路控制器144交换信息(例如,数据、信号、命令等)的I/O控制器集线器150。在图1中,DMI142是芯片间的接口(有时被称为“北桥”和“南桥”之间的链路)。核和存储控制组120包括一个或多个处理器122(例如,单核或多核)、以及经由前端总线(FSB)124交换信息的存储控制器集线器126;需要注意的是,组120的元件可以集成在代替传统的“北桥”风格架构的芯片上。
在图1中,存储控制器集成器126与存储器140(例如,为被称为“***存储器”或者“存储器”的一种RAM提供支持)通过接口连接。存储控制器集成器126还包括用于显示设备192(例如,CRT、平板、投影仪等)的LVDS接口132。块138包括可以经由LVDS接口132(例如,串行数字视频、HDMI/DVI、显示端口)支持的一些技术。存储控制器集线器126还包括可以支持离散图像136的高速PCI(PCI-E)接口134。
在图1中,I/O集线器控制器150包括SATA接口151(例如,用于HDD、SDD180等)、PCIe接口152(例如,用于无线连接182)、USB接口153(例如,用于如数字转换器、键盘、鼠标、相机、手机、存储器、其他连接设备等的设备184)、网络接口154(例如,LAN)、GPIO接口155、LPC接口170(用于ASIC171,TPM172,超级I/O173,固件集线器174,BIOS支持175,以及如ROM177、闪存178和NVRAM179之类的各种类型的存储器176)、电源管理接口161、时钟产生器接口162、音频接口163(例如,用于扬声器194)、TCO接口164、***管理总线接口165、以及包括BIOS168和启动代码190的SPI闪存167。I/O集线器控制器150可以包括千兆比特以太网支持。
***在上电时,可以配置为执行如存储在SPI闪存167中的用于BIOS168的启动代码190,之后,在一个或多个操作***和应用软件(例如,存储在***存储器140中)的控制下处理数据。操作***可以存储在任意的不同位置并且例如根据BIOS168的指令而被访问。如本文所述,设备可以包括比图1所示***中的设备更少或更多的特征。
参考图2,关于智能手机和/或平板电路***200,实例包括具有软件和一个或多个处理器结合在单一芯片210中的、基于AMD的***设计。内部总线等取决于不同的供应商,但是本质上所有***设备(220)都可以附接到单个芯片210。与图2所示的电路***相比,平板电路***200可以将处理器、存储控制器、以及I/O控制器集线器所有都结合在通常称为“片上***”(SOC)的单个芯片210上。并且,基于ARM的***200一般不使用SATA、PCI或者LPC。普通接口例如包括SDIO和I2C。存在电源管理芯片230,管理如通过与电源(未显示)连接来充电的可再充电电池240提供的电源,并且在至少一种设计中,单个芯片,例如210,可以用于提供类似BIOS的功能和DRAM存储器。
一般,基于ARM的***200包括一个或多个无线收发器,包括但不限于,用于连接到如远程通信网络之类的各种网络和无线基站的WWAN260和WLAM250收发器。通常地,基于ARM的***200会包括用于数据输入和显示的触摸屏270。基于ARM的***200通常还包括各种存储设备,例如闪存280和SDRAM290。
除关于图1和2中描述和说明的设备的类型之外,实施例还提供了一种在单个计算***中包括主要环境(PE)(例如,如Win-Tel平台之类的传统计算设备平台)和次要环境(SE)(例如,如ANDROID平台之类的移动设备平台)的混合计算***。
以下将具体参考图3-8。为了方便更容易的参考,依次从图3至图8,关于在图3-8中的至少一个在之前的图中出现的至少一个组件或元件,引用数字以100的倍数增加以表示本质上相似或类似的组件或元件。
可以清楚地理解的是,图3-8中概括描述和说明的各种装置及进程,和/或这些装置的一个或多个独立组件或元件、和/或与这些进程相关的一个或多个进程步骤,可以与从本文中描述和说明的一个或多个其他组件、元件和/或进程步骤分别使用或者一起使用。因此,尽管本文中广泛地设想、描述和说明各种装置和进程,但可以理解的是,它们仅仅以说明而非限制性的方式而提供,此外可以当作但仅是一个或多个装置或进程可以运行或操作的可能工作环境的例子。
根据至少一个实施例,本文中广泛设想的方法和装置,在制造阶段为信息处理设备(例如,平板计算机或移动电话)提供数量有限的具有共同内容的图像,因此,在设备的第一次启动时可以下载并安装图像唯一内容。据此,通过将设备内容分解、划分或划定为共同的基础内容(base content)和图像唯一内容(image-unique content),从而会显著地减少在制造阶段提供的图像的数目。在制造期间安装基础内容并且第一次启动处理期间收集并安装第一次启动内容。
根据至少一个实施例,作为说明性和非限制性例子的方式,基础内容通常可以共同跨多个区域和语言,而图像唯一(第一次启动)内容是区域特定的和/或语言特定的。(在这里,区域特定内容可以是对一个国家特定的或对一组国家特定的。)
根据至少一个实施例,在如移动手机或平板计算机之类的信息处理设备的情景中,在制造过程中预先安装对于不同地理区域(或者设备的其他识别方面)共同的小子集的图像内容,而在如第一次启动时之类的另一时期下载和安装区域特定(或方面特定)内容。这可以使处理变得相当简化,因为所提供的设备的图像内容的很可能70%到75%可以是与其他设备的图像内容共同的(而其他根据它们期望的地理区域或其他识别方面是不同的)。例如,共同内容可以包括基本OS和在跨共享共同语言的不同的区域或国家可使用的语言特定内容。另一方面,区域特定或方面特定的内容可以包括应用程序(“app”),该应用程序可能在一个国家内允许而在另一国家内不允许,或者与其他国家相比时,该应用程序在一个国家内有不同的形式或功能。
图3示例性示出了根据至少一个实施例的图像安装布置。如图所示,信息处理设备302包括对于所讨论的设备302可配置的图像304。同样地,作为说明性和非限制性例子,图像304可以包括对于设备302和至少一个其他信息处理设备(例如,将在不同国家或区域销售/分发的移动手机或平板计算机)共同的独立的应用程序或者内容306的其他项目。另一方面,308表示具有两个部分(即,共同内容部分308a和唯一内容部分308b)的内容项目。最后,310表示代表对于单独的设备302唯一的内容的内容项目,或者代表对于共同方面的设备302和其他设备(例如,在共同的地理区域期望销售/分发的设备)唯一的内容的内容项目。
根据至少一个实施例,设备302离开工厂时已经安装了包括内容项目306和部分项目308a的预先加载的图像。在第一次启动时,或在另一预定的或用户选择的时间,设备302与自身包括可以由设备下载唯一内容的项目的目录或其他数据库314的云服务器312交互。之后进行下载,从而可以安装唯一内容项目310和部分内容项目308b。作为说明性和非限制性例子,云服务器312能够代表或者关联于连接到设备302的制造商的“应用商店”(“app store”),并且发起下载唯一内容项目(或者部分内容项目)的调用可以是在第一次启动时自动触发的或者由用户发起的API(应用编程接口)调用。
图4示例性示出了根据至少一个实施例的图像安装过程。在制造过程中,设备(416)获取基础或共有内容。在设备(418)的第一次启动时期或第一次启动时,或者设备将自动检测设备所处区域,或者用户将指定该区域(例如,从下拉菜单中指定)(420)。在前一种情况下,设备能经由GPS、网络IP或发射塔的位置/方向确定其位置(以及其所处区域)。不管怎样,之后设备可以将该区域连同其他设备数据、MTM(机器类型;即,设备的类型和/或版本)、用户ID等发送至预加载的云服务器(422)。如进一步所提及地,之后云服务器查阅用于每个MTM/区域组合的内容(424)的目录,并且唯一内容被下载和安装在设备(426)上。能够理解的是,由于唯一内容存储在云服务器上或者经由云服务器存储,因而当需要进行内容更新时,可以容易地更新内容而不会要求改变设备或生产线。
根据至少一个实施例的特定工作例子,云服务器通过“应用商店”(“appstore”或“app shop”)体现。根据发送给云服务器的数据,“应用商店”决定用于特定MTM/区域组合的额外的预加载模块。例如,平板计算机可以在出厂时安装了基本OS,而在第一次启动期间,设备会检测或用户将选择该平板计算机第一次启动的位置(例如,特定国家,如日本)。还可以理解的是,作为选择,用户可以选择平板计算机启动位置不同的地理位置;例如,他/她可以在美国购买并启动平板计算机,但是选择其他国家(例如,日本)作为目的地或居住地国家,以寻找相关的唯一内容。
根据至少一个实施例,内容无需与所提及的设备的特定用户捆绑。但是,在第一次启动时用户会被要求在“应用商店”上注册,从而可以下载奖励或消费者特定的内容作为进一步的“唯一内容”。
根据至少一个实施例,可以理解的是,一旦用户拥有设备,为了产生完整的图像,在本文中假设存在设备制造和云传送的组合。从而假设一些离散的组件可以替换单个整体图像和相关的OS。因此,并且如图5所示,信息处理设备502的“共同”区域(或者OS核)528可以包括核心、DRM(数字版权管理***)以及对不同设备共同的任何和所有其他组件(例如,启动代码、分区布局和/或如加密和企业管理之类的所有权项目)。可互换的第一核模块528a和第二核模块528b分别代表不同本版的核,其中,一个包括DRM代码而另一个不包括。根据所涉及的设备期望的是哪个版本的核,可以安装核模块528a/528b中的一个或者另一个,但不是都安装。然而,还可以想到的是,可以安装528a/528b二者,其中然后可以激活设备520需要或期望的那一个。
另一方面,根据至少一个实施例,额外模块可以由预加载安装区域(PIA)530和基于云的传送区域532组成。根据设备的预定地理区域和/或其他识别方面,三个区域528/530/532中的每个区域可以提供组件用于产生当用户购买设备时他/她可能期望的内容。
根据至少一个实施例,共同区域(或OS核)528包括很多对不同信息处理设备共同的图像。另一方面,对于用户或者区域来说,PIA区域530的组件是唯一的。而且,传送至云传送区域532的云内容可以在第一次启动时传送,不与制造过程捆绑,并通过允许在服务器上定义云内容来提供了灵活性,因而在第一次启动时用户可以获取预定义的程序包。这些程序包可以是基于设备的期望的地理区域和/或另外的识别方面。
根据至少一个实施例,可以理解的是,提供了一种模块化设备,能够对与设备的期望的地理区域和/或一个或多个其他识别方面关联的设备调整或定制灵活性。在制造过程中,提供了PIA区域530和OS核502。然而,PIA区域530配置为包括用于对设备配置期望的地理区域和/或一个或多个其他识别方面的额外修补程序。这些修补程序可以在制造过程中提供在设备502中(例如,在设备的存储库中,该存储库例如在PIA区域530中或由PIA区域530组成),之后在预定时间(例如,在第一次启动时)激活,或者可以在预定时间(例如,在第一次启动时)(从云服务器)下载。(如果需要,设备502甚至可以包括两种情形,即,在相同或不同预定时间,分别激活在设备中提供的一个或多个修补程序并且从别处[例如,云服务器]下载一个或多个修补程序)。虽然OS修补程序具有很多的形式,但是作为说明性和非限制性例子,它们可以包括将给定的应用与设备绑定和/或使(在OS核中的)这样的应用失效的修补程序。
根据至少一个实施例,就本文中描述OS修补程序来说,可以理解的是,可下载项目,如“应用商店”中出现的那些,提供了不同任务,因为这些项目是终端用户项目并且可以被安装、移动和修改。换句话说,OS修补程序和相关项目超出了终端用户的视野或控制,而如应用之类的可下载项目不是,并且,本文中的实施例分别提出了两种类型的组件到了可以对特定的期望的地理区域和/或设备的其他识别方面定制或调整信息处理设备的程度。
图6示例性示出了涉及应用和预定义程序包的实施例。如图所示,在制造过程中可以加载核OS628和核共同应用634。换句话说,可以从应用商店或云服务器上下载多个(这里示出了5个)国家特定或区域特定的程序包636。每个程序包636可以包括由至少一些设备共享的“强制”(“mandatory”)应用638,以及对一些(例如,基于期望的地理区域的)设备唯一且不由其他设备共享的其他应用640。(根据当前的示例性例子,例如,“强制”应用可以在例如非常广泛定义的地理区域中对一些设备是共同的,或者甚至对所有设备都是共同的。这些可以基于规定标准与核共同应用634区分,或者在一些情况下不必与核共同应用634区分,但仅对于它们被提供给设备602的方式。作为非限制性例子,可以考虑强制应用638在预定时间点被大量设备需要,需要意识到的是,他们的必要性不可能是永久的本性,而是它们在将来的一些时间点可以轻易地被取代或者与其他应用重新配置。尽管这可以对核共同应用634有效,但可以想到的是,在核共同应用634中包含一些应用,这些应用被认为是本质上更持久的,或者在将来的某个时间点被取代或重新配置的可能性很小。如此,可以提供共同应用的层次,其中,在核共同应用634中可以包括被认为更持久的应用,而强制应用638中可以包括被认为持久性较小和更易变的应用)。
根据本发明的至少一个实施例,就本文中讨论的地理区域作为代表用于识别设备并确定提供给设备的内容的参数而言,可以采用设备的一个或多个其他识别方面来替代或增加设备的一个或多个其他识别方面,来辅助进行该确定。因而,例如,代替识别设备的地理区域,可以通过与地理区域不相关的设备标识符来识别设备。例如,这样的设备标识符可以是MTM(机器类型或型号),其中,呈现特定型号的设备会触发对设备下载或者提供附加的(和/或唯一的)图像或者设备操作***内容。例如,其他设备标识符可以包括与设备相关的序列号、用户或公司。
根据至少一个实施例,就OS修补程序可以包括在设备中或者下载到设备从而改变OS自身的基本组成和功能而言,在本文中设想的配置用于将原始OS的任何遗漏或改变的组件至少恢复到足够适应OS或设备其他区域的更新的程度。由上述可以明显得知,***图像一般可以分为两部分,其中一部分对于大多数或很多特定分布的信息处理设备来说是共同的,而另一部分代表一层分布特定的文件。在第一次启动时,程序能刚好在文件***被安装来创建一系列到另一分区(例如,PIA区域,如图5中在504表示的分区)中的区域特定的文件的链接之后运行。该程序能够检查恢复列表的存在,以快速退出而在后续的启动阶段中不减慢设备速度,其中,这样的恢复列表包括与适应OS更新或OTA修补程序(参见下文)有关的在后续时间中需要被恢复的文件或其部分。该程序还可以处理文件的列表以从***图像上删除,并且之后创建并行***图像和共同***图像的链接。之后文件不会被移除而是被重命名为备份名称,以阻止这些文件的实际安装或使用。
根据至少一个实施例,当应用了如OTA(over-the-air,空中下载)修补程序之类的更新时,修改过的所有文件将被写入文件的列表中,或者需要修正的恢复列表中。(在本文中,“OTA修补程序”可以被认为是可以由设备提供的特定类型的更新;本文描述的仅是更新的示例性的而非限制性的例子。)在设备进入恢复模式的启动以应用OTA修补程序或其他更新时,读入恢复列表并移除链接。并且,恢复任意备份文件,使得当应用OTA修改程序(或者其他更新)时***分区以类似于基础分区显示。此时,在重新启动时再次出现重新创建链接的过程,以重新定制设备用于分布。因此可以理解的是,贯穿该过程,特定的文件及其相关的动作对于终端用户是隐蔽的,并且仅使用到需要适应OTA修补程序(或者其他更新)的程度。
相应地,根据至少一个实施例,图7示例性示出了***图像启动以准备适应例如OS更新(例如,OTA修补程序)的至少一个更新的处理。首先,检查恢复列表(738)。如果列表存在,则退出处理。否则,检测设备中的PIA(740)(例如,图5中所示的530),如果未找到,则退出处理,如果PIA确实存在则处理继续。
如此,根据至少一个实施例,重新安装***(即,从文件***断开,然后重新连接到文件***)并临时允许***读写(742)。如果日志文件不能被写入,则处理以错误结束(744)。否则,检查例如(但是非必要)在PIA中是否存在删除文件列表(746)。(删除文件列表,就其本身而言,在实施例中对于用户可以隐藏,或者对用户可见)。如果这样的文件存在,则打开文件用于读取(748)以及,对于每个列出的文件,如果命名的文件存在,则重新命名该文件(例如,命名为“name_orig”)并且然后省略该文件(例如,存档、备份或删除,和/或【例如】写入恢复列表文件)(750)。然后关闭删除文件列表(752)。根据至少一个实施例,“/system”(“/***”)被推入工作栈(752),并且因为只要工作栈不为空,就可以打开“top entry”(“顶部入口”)并检查PIA文件的状态(756)以查看其是目录还是文件(758)。(需要注意的是,“/system”可以是可以存储OS和设备特定的应用[例如,在制造期间加入的应用]的位置,并且该位置通常对于用户是只读的位置。另一方面,“/data”(“/数据”)是存储终端用户内容的且通常可由终端用户写入的位置。如果是目录,则检查“/system/name”(“/***/名称”)是否存在(760);如果不存在,则创建目录以及将名称写入恢复列表文件(762)。如果不是目录,则在存在“/system/file”(“/***/文件”)文件(764)时,重新命名该文件为“/system/file_orig”(766)。之后在“pia/system/file”和“/system/file”之间创建符号链接,并将名称(链接到的PIA中的文件,或者在步骤766中已重新命名的文件)写入恢复列表(768)。(需要注意的是,如刚才提及的,写入的名称必须仅代表将允许恢复列表找到变化的一些类型的唯一标识符)。如果工作栈不为空,则返回到步骤756(770),否则,关闭恢复列表文件,并且重新安装***并恢复到只读(772)。
根据本发明的至少一个实施例,且如图8示例性所示,在恢复期间进行以下处理。检查恢复列表文件的存在(839)。如果复列表文件不存在,则退出处理。否则,重新安装***并进行尝试读写(841),如果尝试失败则在高速缓冲存储器中创建日志文件,并且处理以错误结束。当处理继续时,打开恢复列表文件(847)并将文件的每行推入工作栈(849)。之后关闭恢复列表(851)。
根据本发明的至少一个实施例,只要工作栈不为空,则移除栈顶部和stat文件。如果移除的文件是目录(855),则移除目录(857);否则,文件断开链接(859)。继续地,如果文件不是目录,则(通过示例性和非限制性例子的方式)检查具有名称“name_orig”的文件是否存在(861);如果存在,则将其重新命名为“name”。本文中所有可能的是,如果工作栈不为空,则返回到步骤853(865),否则,移除恢复列表,重新安装***并恢复到只读(867)。
根据本发明的至少一个实施例,本文中讨论了一种信息处理设备,能够理解的是,其可以代表大范围的适用于大范围设置的设备。因而,作为示例性和非限制性例子,这些设备和/或设置可以包括移动电话、平板计算机、其他如便携式笔记本电脑之类的便携式计算机、以及如电视之类的家用电器,它们可以包括或合并了信息处理设备和/或其中的方面。
本领域技术人员容易理解的是,各个方面可以体现为***、方法或计算机(设备)程序产品。因此,这些方面可以采用全部硬件的实施例或者软件的实施例的形式,在本文中一般都被称为“电路”、“模块”或者“***”。而且,这些方面可以采用包含于一个或多个计算机(设备)可读介质的计算机(设备)程序产品的形式,计算机(设备)可读介质上具有计算机(设备)可读程序代码。
可以应用任何一个或多个非信号计算机(设备)可读介质的组合。非信号介质可以是存储介质。存储介质可以是,例如,电子的、磁性的、光学的、电磁的、红外的或半导体***、装置或设备、或者任何以上适当组合。更多的存储介质的详细例子将包括以下:便携计算机磁盘、硬盘、随机存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存存储器)、光纤、便携光盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备、或者任何以上适当组合。
存储介质上包含的程序代码可以用任何适当介质传输,包括但不限于无线、电缆、光缆、RF等,或者任何以上适当组合。
用于执行操作的程序代码可以用任何一个或多个编程语言的组合编写。程序代码可以全部执行于一台设备上,作为单机软件包部分执行于单个设备上,部分执行于单个设备上、部分执行于另一台设备上,或者全部执行在其它设备上。在某些情况下,设备可以通过任何类型的网络连接,包括局域网(LAN)或广域网(WAN),或者通过其他设备(如通过互联网提供服务商提供的因特网)或通过如USB连接的硬线连接来连接。
结合附图描述了示出了根据各个实施例的方法、设备和程序产品例子的方面。可以理解的是,通过程序指令可以至少部分实现所示的行为和功能。这些程序指令可以提供给通用计算机、专用计算机、或者生成机器的其他可编程数据处理设备或信息处理设备的处理器,从而,通过设备的处理器执行这些指令以实现特定的功能/行为。
程序指令也可以存储在能指示设备以特定方式运行的设备可读介质中,从而存储在设备可读介质中的指令生成包括实现指定功能/行为的指令的产品。
程序指令还可以加载到设备上以使得在该设备上执行一系列操作步骤,从而产生设备实施的处理,使得在设备上执行的指令提供用于实现指定功能/行为的处理。
以上揭示是以说明和描述为目的而呈现的,并不试图穷举或作为限制。对于本领域的技术人员而言,多种修改或变化是明显的。示意性的实施例是为了解释原理和实际应用而被选择和描述的,并且使本领域的其他普通技术人员理解用于适于特定预期用途的各种修改的各种实施例的揭示。
因此,尽管本文结合附图描述了示意性的实施例,但需要理解的是,这些描述并不是限制性的,并且本领域技术人员在不脱离以上揭示的范围或精神的情况下,可以想到各种其他的变化和修改。

Claims (19)

1.一种信息处理设备,包括:
内容提供单元,将附加操作***内容提供至所述信息处理设备;
划分单元,划分包括所述基础操作***的至少一个元素的恢复列表;
准备单元,准备所述基础操作***和所述附加操作***内容中的至少之一,用于操作***更新;
内容吸收单元,访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作***更新;以及
执行单元,执行所述操作***更新。
2.根据权利要求1所述的信息处理设备,其中,所述基础操作***和附加操作***内容结合形成整体设备操作***。
3.根据权利要求1所述的信息处理设备,其中,所述附加操作***内容包括至少一个操作***修补程序。
4.根据权利要求1所述的信息处理设备,其中,所述操作***更新包括空中下载操作***修补程序。
5.根据权利要求1所述的信息处理设备,其中,所述恢复列表与所述附加操作***内容一起被划分。
6.根据权利要求1所述的信息处理设备,其中,所述恢复列表在正被划分时确保为只读。
7.根据权利要求6所述的信息处理设备,其中,通过授予临时读/写权限来访问所述恢复列表。
8.根据权利要求1所述的信息处理设备,其中,所述操作***更新包括将所述附加操作***内容临时恢复为初始状态。
9.根据权利要求8所述的信息处理设备,其中,所述操作***更新包括临时移除与所述附加操作***内容相关的至少一个操作***组件。
10.根据权利要求1所述的信息处理设备,其中,所述基础操作***内容对于至少一个其他信息处理设备来说是共同的。
11.一种信息处理方法,包括:
将附加操作***内容提供至信息处理设备;
划分包括基础操作***的至少一个元素的恢复列表;
准备所述基础操作***和所述附加操作***内容中的至少之一,用于操作***更新;
访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作***更新;以及
执行所述操作***更新。
12.根据权利要求11所述的方法,其中,所述基础操作***和附加操作***内容结合形成整体设备操作***。
13.根据权利要求11所述的方法,其中,所述附加操作***内容包括至少一个操作***修补程序。
14.根据权利要求11所述的方法,其中,所述操作***更新包括空中下载操作***修补程序。
15.根据权利要求11所述的方法,其中,所述划分包括所述恢复列表与所述附加操作***内容一起被划分。
16.根据权利要求11所述的方法,还包括所述恢复列表在正被划分时确保为只读。
17.根据权利要求16所述的方法,其中,所述访问包括授予临时读/写权限。
18.根据权利要求11所述的方法,其中,所述执行所述操作***更新包括将所述附加操作***内容临时恢复为初始状态。
19.根据权利要求18所述的方法,其中,所述执行所述操作***更新临时移除与所述附加操作***内容相关的至少一个操作***组件。
CN201310101444.XA 2012-03-30 2013-03-27 信息处理设备和信息处理方法 Active CN103365682B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/435532 2012-03-30
US13/435,532 US8935688B2 (en) 2012-03-30 2012-03-30 Methods for facilitating updates at an information handling device
US13/435,532 2012-03-30

Publications (2)

Publication Number Publication Date
CN103365682A true CN103365682A (zh) 2013-10-23
CN103365682B CN103365682B (zh) 2018-01-02

Family

ID=49154616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310101444.XA Active CN103365682B (zh) 2012-03-30 2013-03-27 信息处理设备和信息处理方法

Country Status (3)

Country Link
US (1) US8935688B2 (zh)
CN (1) CN103365682B (zh)
DE (1) DE102012110202A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8505003B2 (en) * 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
US9934044B2 (en) * 2012-03-30 2018-04-03 Lenovo (Singapore) Pte. Ltd. Methods for customizing an operating system at an information handling device
US9182970B2 (en) * 2012-03-30 2015-11-10 Lenovo (Singapore) Pte. Ltd. Methods for creating device preload via manufacturing and cloud content
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions
US9910660B2 (en) * 2013-08-05 2018-03-06 Harman International Industries, Incorporated Operating system replacement for in-vehicle computing system
US9819570B2 (en) * 2013-10-09 2017-11-14 International Business Machines Corporation Dynamic symbolic links for referencing in a file system
CN105897461A (zh) * 2016-03-23 2016-08-24 广州视睿电子科技有限公司 多***ota升级方法和多***设备
US10810084B2 (en) * 2016-04-01 2020-10-20 Intel Corporation Update failure rebooting and recovery for a smart device
US11340879B2 (en) * 2018-08-08 2022-05-24 Apple Inc. Techniques for dynamically provisioning electronic subscriber identity modules to mobile devices
US11321071B2 (en) * 2020-03-06 2022-05-03 Dell Products L.P. Intelligent device updating

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484152A (zh) * 2002-09-18 2004-03-24 宏基股份有限公司 计算机操作***的恢复方法及装置及生产该***的方法
US20040261072A1 (en) * 2003-06-20 2004-12-23 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US20120030665A1 (en) * 2008-11-10 2012-02-02 Nokia Corporation Method and apparatus for updating firmware

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367072B1 (en) * 1998-03-12 2002-04-02 Applica Systems, Inc. Apparatus and method for identifying and modifying computer operating system components
US6728833B2 (en) * 2002-02-28 2004-04-27 International Business Machines Corporation Upgrading firmware on disks of the raid storage system without deactivating the server
US20040107199A1 (en) * 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
US7664984B2 (en) * 2002-10-09 2010-02-16 Xpoint Technologies, Inc. Method and system for updating a software image
US20050172280A1 (en) * 2004-01-29 2005-08-04 Ziegler Jeremy R. System and method for preintegration of updates to an operating system
US8464241B2 (en) * 2008-05-20 2013-06-11 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US8402553B2 (en) * 2009-10-30 2013-03-19 International Business Machines Corporation Updating an operating system of a computer system
US8612398B2 (en) * 2010-03-11 2013-12-17 Microsoft Corporation Clean store for operating system and software recovery
US9182970B2 (en) * 2012-03-30 2015-11-10 Lenovo (Singapore) Pte. Ltd. Methods for creating device preload via manufacturing and cloud content
US9934044B2 (en) * 2012-03-30 2018-04-03 Lenovo (Singapore) Pte. Ltd. Methods for customizing an operating system at an information handling device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484152A (zh) * 2002-09-18 2004-03-24 宏基股份有限公司 计算机操作***的恢复方法及装置及生产该***的方法
US20040261072A1 (en) * 2003-06-20 2004-12-23 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US20120030665A1 (en) * 2008-11-10 2012-02-02 Nokia Corporation Method and apparatus for updating firmware

Also Published As

Publication number Publication date
US20130263105A1 (en) 2013-10-03
US8935688B2 (en) 2015-01-13
DE102012110202A1 (de) 2013-10-02
CN103365682B (zh) 2018-01-02

Similar Documents

Publication Publication Date Title
CN103365682A (zh) 信息处理设备和信息处理方法
US8972966B2 (en) Updating firmware in a hybrid computing environment
CN103229144B (zh) 预热软件安装
US9110679B1 (en) Pre-boot management of drivers and programs
CN102360298B (zh) 一种终端设备的软件升级方法
CN100399268C (zh) 一种不依赖操作***更新软件数据的计算机***及方法
KR20120041384A (ko) 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US20220100490A1 (en) Firmware updating method, and electronic apparatus and storage media for same
CN104991793A (zh) 一种用于应用程序分包的方法、装置以及***
US20150242201A1 (en) Method for updating firmware and electronic device thereof
CN104375849A (zh) 加载内核的方法及装置
CN104049968A (zh) 普及环境中的元数据驱动版本管理服务的方法和***
CN103559065A (zh) 一种ota升级的方法和***
CA2860657C (en) Installation engine and package format for parallelizable, reliable installations
US9934044B2 (en) Methods for customizing an operating system at an information handling device
CN110597568B (zh) 一种插件部署方法、***及终端
CN104375866A (zh) 一种单板的驱动更新方法及装置
US9182970B2 (en) Methods for creating device preload via manufacturing and cloud content
CN108920159B (zh) 一种安全升级方法、装置及电子设备
CN105453518B (zh) 计量网络的同步
CN102609650B (zh) 实现电子设备中软件加密下载的***及方法
US20210405987A1 (en) Dynamic driver selection based on firmware for a hardware component
CN103559059A (zh) 一种快速的免介质Linux***升级方法
CN102033766B (zh) 一种存储操作***的升级方法
CN104598281A (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
GR01 Patent grant
GR01 Patent grant