CN104756076B - 配置文件更新器 - Google Patents

配置文件更新器 Download PDF

Info

Publication number
CN104756076B
CN104756076B CN201380056567.4A CN201380056567A CN104756076B CN 104756076 B CN104756076 B CN 104756076B CN 201380056567 A CN201380056567 A CN 201380056567A CN 104756076 B CN104756076 B CN 104756076B
Authority
CN
China
Prior art keywords
update
configuration
computing device
configuration setting
hashed value
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
CN201380056567.4A
Other languages
English (en)
Other versions
CN104756076A (zh
Inventor
A·路德维格
C·康德拉
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.)
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 CN104756076A publication Critical patent/CN104756076A/zh
Application granted granted Critical
Publication of CN104756076B publication Critical patent/CN104756076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

一种用于更新配置信息的方法,包括在包括处理器、存储器和操作系统的计算装置中,发起对该计算装置的至少一个配置设置的更新。可以通过至少一个更新数据源下载所述更新。所述更新可以包括配置更新数据和配置更新元数据。可以通过将配置更新元数据和与至少一个配置设置的当前版本相关联的元数据进行比较来验证所述更新。在所述更新得到验证通过的情况下,可以安装所述更新。可以基于来自该计算装置的不安全的组件的意图,安装针对所述至少一个配置设置的所述更新。所述不安全的组件可以包括安装在该装置上的内容消费应用、该装置的计算平台的组件和/或安装在该装置上的更新搜索器应用。

Description

配置文件更新器
背景技术
被推送至计算装置或者通过计算装置下载的常规的软件更新不包括对计算装置的配置设置的更新。此外,在配置设置被通信给计算装置的情况下,在配置设置的当前版本与配置设置的新(更新的)版本之间可能存在不兼容性(例如,在计算装置的电源已被长时间关闭的情况下,装置可能已跳过了配置设置的更新版本)。此外,许多第三方应用可能试图下载以配置数据的形式的恶意代码。
通过参考附图将常规和传统的方法与在本申请公开的其余部分中阐述的本方法和设备的一些方面相比较,常规和传统方法的限制和缺点对于本领域技术人员将变得明显。
发明内容
针对配置文件更新器提供一种系统和/或方法,其基本如至少一个附图中所示和/或如与至少一个附图相关联所描述的,在权利要求书中更完整地阐述。
根据本申请公开的示例实施例,一种用于更新配置信息的方法,包括:在包括处理器、存储器和操作系统的计算装置中,发起对所述计算装置的至少一个配置设置的更新。可从至少一个更新数据源下载所述更新。所述更新可包括配置更新数据和配置更新元数据。可通过将所述配置更新元数据和与所述至少一个配置设置的当前版本相关联的元数据进行比较,来验证所述更新。可在所述更新得到验证通过的情况下安装所述更新。可基于来自所述计算装置的不安全组件的意图,来安装对所述至少一个配置设置的所述更新。所述不安全组件可包括:安装在所述装置上的内容消费应用;所述装置的计算平台的组件;和/或安装在所述计算装置上的更新搜索器应用。
根据本申请公开的另一示例实施例,一种非易失性机器可读的存储介质,其上存储了具有用于更新配置信息的至少一个代码段的计算机程序。所述至少一个代码段是能够由包括处理器、存储器和操作系统的机器来执行的,从而使得所述机器执行包括以下的方法:发起对计算装置的至少一个配置设置的更新。可从至少一个更新数据源下载所述更新。所述更新可包括配置更新数据和配置更新元数据。可通过将所述配置更新元数据和与所述至少一个配置设置的当前版本相关联的元数据进行比较,来验证所下载的所述更新。在所述更新得到验证通过的情况下,可将所述更新安装至所述至少一个配置设置。
通过以下说明和附图,将会更加全面地理解本申请公开的这些以及其它优势、方面和特征,以及示出的实施方式的细节。
附图说明
图1是示出根据本申请公开的示例实施例的、包括与更新数据源通信的具有配置文件更新功能的计算装置的示例结构的框图。
图2A是示出根据本申请公开的示例实施例的、配置文件更新器的示例结构的框图。
图2B是示出根据本申请公开的示例实施例的、用于启用配置更新器的方法的示例步骤的流程图。
图3是示出根据本申请公开的示例实施例的、用于更新配置信息的方法的示例步骤的流程图。
具体实施方式
这里所使用的术语“电路”和“线路”是指物理电子组件(即,硬件)以及可以配置硬件、通过硬件执行和/或除此以外与硬件相关联的任何软件和/或固件(“代码”)。如这里所使用的,“和/或”是指列表中通过“和/或”连接的项的任何一个或者多个。作为示例,“x和/或y”是指三元素集合{(x),(y),(x,y)}中的任何元素。作为另一个示例,“x,y和/或z”是指七元素集合{(x),(y),(z),(x,y),(x,z),(y,z),(x,y,z)}中的任何元素。如这里所使用的,术语“例如”提出了一个或者多个非限制性的示例、实例或者说明的列表。如这里所使用的,术语“处理器”可以用于指中央处理单元、对称或者不对称的多处理器系统的处理器、数字信号处理器、微控制器、图形/视频处理器或者其它类型的处理器中的一种或者多种。
本申请公开涉及一种用于配置文件更新器的方法和系统。可以使用服务器只将针对性的配置数据分发给特定客户端(例如,可以只针对使用特定API版本的客户端)。服务器可以首先验证客户端处于安装配置前的已知状态。可以通过将客户端的当前配置的散列(hash)与所期望的(想要的)配置的已知散列相比较来确认已知的状态。在散列不匹配的情况下,可以得出结论:客户端的当前配置不是所期望的配置(即,客户端不处在已知状态中因此不应当安装配置)。可选地,在客户端的子集中可能检测到在共同的配置数据中所包括的特有配置特征,则可以将共同配置数据填入原本不具有特有特征的客户端的剩余子集。可以将这里公开的针对性的配置数据更新实现以用于例如,证书锁定、高级SMS检测(一个或者多个装置应用使用的高级服务电话号码中的更新)、时区信息或者设置更新(时区信息是国家特定的并且对于旅行用户可能需要定期更新)以及其它区域(例如,针对特定客户端的配置数据的针对性更新,如前段中提到的)。
根据本申请公开的示例实施例,配置文件更新器可以用于例如,向装置生态系统(例如,移动装置生态系统)中的计算装置提供小到中等量的配置数据。更具体地,在从由操作系统(OS)管理器提供的核心服务分离出平台配置特征的情况下,配置文件更新器可以用于提供一种用于更新不太小量的数据(例如,1KB-1MB的数据)的机制。
图1是示出根据本申请公开的示例实施例的、包括与更新数据源通信的具有配置文件更新功能的计算装置的示例结构的框图。参考图1,示例结构10可以包括计算装置100和更新数据源124。
计算装置100可以包括听筒、智能电话、平板电脑、笔记本电脑和/或其它手持或者便携装置。计算装置100可以包括,例如主处理器102、系统存储器104、通信子系统106、传感子系统108、输入/输出(I/O)子系统110以及显示器120。计算装置可以还包括操作系统112、在计算装置100上运行的一个或者多个应用116,…,118以及更新发起器122。操作系统112可以包括更新获取器114a、更新验证器114b以及更新安装器114c。
主处理器102可以包括合适的逻辑、线路、接口和/或代码,其中,它们可以被操作以处理数据、和/或对计算装置100的操作和/或与匿名框架100相连接的在主处理器102中执行的任务和/或应用进行控制和/或管理。在这点上,主处理器102可以被操作以通过利用例如一个或者多个控制信号,配置和/或控制计算装置100的各种组件和/或子系统的操作。主处理器102使得能够运行和/或执行可能存储在例如系统存储器104中的应用、程序和/或代码(例如,一个或者多个应用116,…,118、更新发起器122和/或操作系统112内的更新获取器、验证器和安装器114a-114c)。可选地,可以利用一个或者多个专用应用处理器来运行和/或执行计算装置100中的应用(或者程序)(例如,一个或者多个应用116,…,118、更新发起器122和/或操作系统112内的更新获取器、验证器和安装器114a-114c)。
在一些实例中,在计算装置100上运行和/或执行的一个或者多个应用116,…,118可以生成和/或更新可以通过显示器120呈现的视频内容。
系统存储器104可以包括合适的逻辑、线路、接口和/或代码,其中,它们可以使得可以使用、消费和/或处理的数据、代码和/或其它信息能够永久性和/或非永久性被存储、缓冲和/或获取。在这点上,系统存储器104可以包括不同的存储器技术,包括例如,只读存储器(ROM)、随机存取存储器(RAM)、闪速存储器、固态驱动(SSD)和/或现场可编程门阵列(FPGA)。系统存储器104可以存储例如可以包括参数和/或代码的配置数据,其包括软件和/或固件(例如,操作系统112、更新发起器122和/或一个或者多个应用116,…,118)。
通信子系统106可以包括合适的逻辑、线路、接口和/或代码,其中,它们可以被操作以诸如通过一个或者多个有线和/或无线连接107等与计算装置通信数据。通信子系统106可以配置为支持一个或者多个有线协议(例如,以太网标准,MOCA等)和/或无线协议或者接口(例如,CDMA、WCDMA、TDMA、GSM、GPRS、UMTS、EDGE、EGPRS、OFDM、TD-SCDMA、HSDPA、LTE、WiMAX、WiFi、蓝牙和/或任何其它可用的无线协议/接口),以便于向计算装置100发送信号和/或从计算装置100接收信号,和/或根据可用的有线或无线协议来处理所发送或者接收的信号。在这点上,信号处理操作可以包括滤波、放大、模数转换和/或数模转换,基带信号的上变频/下变频、编码/解码、加密/解密和/或调制/解调。根据本申请公开的实施例,通信子系统106可以通过有线和/或无线连接107提供至例如分析服务器130的有线和/或无线连接。
传感子系统108可以包括合适的逻辑、线路、接口和/或代码,其中,它们用于获得和/或生成可以与计算装置100、其用户和/或其环境相关联的传感信息。例如,传感子系统108可以包括位置或者定位传感器(例如,基于GPS或者其它GNSS的传感器)、环境条件(例如,温度、湿度或者光线)传感器和/或运动相关的传感器(例如,加速度计、陀螺仪、计步器和/或高度计)。
I/O子系统100可以包括合适的逻辑、线路、接口和/或代码,其中,它们用于使得用户能够与计算装置100交互、使得能够获得来自用户的输入和/或向用户提供输出。I/O子系统110可以支持各种类型的输入和/或输出,包括,例如视频、音频和/或文本。在这点上,可以利用计算装置100外部或者集成在计算装置100内的专用I/O装置和/或组件来在I/O子系统110的操作期间输入和/或输出数据。示例的I/O装置可以包括显示器、鼠标、键盘、触摸屏、语音输入接口和其它输入/输出接口或者装置。关于视频输出,I/O子系统110可以被操作以生成和/或处理视频内容、图形和/或文本数据,和/或基于其生成用于通过例如显示器120显示的视频帧。
显示器120可以包括合适的逻辑、线路、接口和/或代码,其中,它们可以使得可以通过I/O子系统110而操作和/或处理的视频内容能够被显示。显示器120可以用于输出视频数据。
操作系统112可以包括用于管理计算装置100的各种硬件资源的软件。操作系统112还可以用于向计算机程序或者诸如一个或者多个应用116,…,118等的应用提供共同的服务。操作系统112可以用作在硬件组件与一个或者多个应用116,…,118之间的媒介。在一些实现中,操作系统112中的处理(例如,更新获取器、验证器和安装器114a-114c)可以用于下载、验证和安装一个或者多个配置文件更新。根据本申请公开的示例实施例,更新验证器114b和更新安装器114c可以是OS 112的安全(或者受信任)组件。
更新发起器122可以包括合适的线路、逻辑和/或代码,并且可以是可操作的以发起对计算装置100的至少一个配置设置的一个或者多个更新。如图1中所示,更新发起器122可以在核心操作系统(OS)112外部实现(将参考图2A示出并且讨论示例更新发起器的更详细的内容)。在这点上,更新发起器122可以实现为,例如,安装在计算装置(例如,一个或者多个应用116,…,118)上的内容消费应用、计算装置100的计算平台的组件和/或安装在计算装置上的更新搜索器应用。更新搜索器应用可以是装置本地的应用,其周期性地监视外部网络装置(例如,通过有线或者无线连接107监视更新数据源124)上针对OS 112和/或计算装置100的一个或者多个配置设置的更新。由于更新发起器122可能包括不安全的代码或者应用,因此对配置设置的更新可能是通过来自更新发起器122的不受信任(或者不安全)的组件的意图(命令)发起的。
一个或者多个应用116,…,118可以包括可以帮助计算装置100的用户执行特定任务的一个或者多个软件应用(即,计算机程序)。例如,软件应用可以包括交互应用,其向用户显示内容并且使得用户能够提供关于提供内容的方式和/或提供的内容的类型的输入。为了执行任务(例如,网页浏览、视频回放等),一个或者多个应用116,…,118可以访问CPU102、存储器104和/或计算装置100内的任何其它电路以及操作系统112。
更新数据源124可以包括合适的线路、逻辑和/或代码,并且可以包括针对计算装置100(和/或使用OS 112的装置生态系统内的其它相似装置)的配置设置和/或OS 112的一个或者多个不安全或者安全的更新源。
在操作中,可以通过来自更新发起器122的组件(例如,内容消费者、计算平台和/或监视服务)的意图(例如,命令)发起配置文件更新。如参考图2A所更详细说明的,内容消费者、计算平台和监视服务可以是可能需要软件更新的不安全组件。更新获取器114a可以是可操作的以从更新数据源124下载更新内容。更新内容可以包括例如,配置更新数据和可以用于认证配置更新数据的配置更新元数据(如以下参考图2A所更详细说明的)。更新验证器114b(是OS 112的安全的或者受信任的组件)可以验证更新数据和更新元数据。在更新数据得到验证通过的情况下,可以将其发送至可以安装配置文件更新的更新安装器114c(也是OS 112的安全的或者受信任的组件)。
图2A是示出根据本申请公开的示例实施例的、配置文件更新器的示例结构的框图。参考图2A,示例结构200可以包括更新发起器122、更新数据源124和更新管道123。
更新发起器122可以包括合适的线路、逻辑和/或代码,并且可以包括内容消费者202、计算平台204和监视服务206。内容消费者202可以包括例如安装在计算装置上的一个或者多个内容消费应用(例如,一个或者多个应用116,…,118)。这样的内容消费应用可能需要诸如对应用配置设置的更新等的各种更新。配置设置可以与例如证书锁定、高级SMS服务(例如,对由应用所使用的高级SMS收费电话号码的更新)和/或可能根据国家而不同的时区信息相关联。
计算平台204可以包括例如,计算装置100的计算平台的组件,该计算平台可能需要(不时的)配置文件更新(例如,对一个或者多个配置设置的更新)。监视服务206可以包括,例如,安装在计算装置100上的更新搜索器应用。监视服务206可以以规律的间隔监视更新数据源124以发现针对OS 112和/或装置100的一个或者多个配置设置的任何更新。
更新发起器122可以包括向更新获取器114a发送用于配置文件更新的适当的意图(例如,命令或者请求)的组件。在期望由服务器侧驱动更新周期的情况下(例如,服务器作为更新数据源124的主机),该功能可以通过监视服务206自动处理。否则,更新意图(或者命令)可以通过内容消费者202直接发送至更新获取器114a。
更新管道123可以包括更新获取器114a、更新验证器114b和更新安装器114c(验证器和安装器是OS 112的安全的或者受信任的组件)。在这点上,更新管道123具有两个主要组件:负责下载签名的内容(例如,软件更新)的不受信任的更新获取器114a以及(受信任的)验证器/安装器组件114b-114c。这些组件各自可以包括用于进行大部分相对应的组件功能的基本组件,和可以按消费者定制以能够进行更细粒度控制的消费者定制组件。
更新获取器114a
更新获取器114a可以实现为广播接收器/服务对。广播接收器可以存在以监听收到的意图,其中该意图表示:(a)更新发起器(122)想要开始新的更新,或者(b)先前的更新已经进展到需要进一步关注的阶段。这些事件可以通过更新获取器114a开始适当的服务,其可能使得更新获取器114a下载更新内容和元数据、对下载的更新进行初始数据预处理并且接着将数据传递给更新验证器114b和安装器114c。更新获取器114a可以是可操作的以联系一个或者多个更新数据源124,从而下载更新发起器122所需要的必要的配置文件更新。
通过更新获取器114a接收到并且用于发起更新的初始内容可能包括URL(以及文件路径),更新获取器114a可以根据该URL(以及文件路径)获取到更新。该处理针对例如测试和侧面载入可能是有用的。然而,由于任何应用116,…,118(或者任何更新发起器122)都可能发送用于发起配置文件更新的意图(命令),因此通过更新获取器114a下载的未验证的更新可能不会被无条件地信任。
更新验证器114b和更新安装器114c
更新验证器114b和安装器114c可以实现为,例如,作为系统服务器的部分(单独地或者作为单个模块)的广播接收器。验证器114b和安装器114c可以利用以下附加数据(可以是通过更新获取器114a从更新数据源124下载的内容更新数据和/或内容更新元数据的部分)来监听意图与针对特定的消费者定制组件所指定的行为相匹配的意图:
●CONTENT_PATH(内容路径):到不受信任的内容的本地路径;
●REQUIRED_HASH(所需散列):当前更新数据的散列,或者在散列不应当存在的情况下为“0”;
●VERSION(版本):新数据的数字版本;以及
●SIGNATURE(签名):内容、散列和版本的具有RSA签名的SHA512。
一旦更新获取器114a具有这些数据,更新验证器114b就可以验证以下(例如,通过从设置.安全获得证书):(a)当前数据的散列与更新所要求的散列匹配;(b)更新中的版本比当前安装的版本大;和/或(c)提供的签名与以上数据匹配。一旦验证完成,更新安装器114c就可以将更新内容复制到受信任的位置(例如,在计算装置100的磁盘或者存储器104上)并且更新可以完成。
换言之,更新验证器114b可以使用从更新数据源124接收到的更新的配置文件元数据,并且可以验证当前更新数据(例如,正在更新的特定配置组件的当前版本)的散列与更新所要求的散列匹配(即,更新数据具有包括散列的元数据,并且更新数据散列必须与配置组件的当前版本的散列匹配,否则更新可能无法安装)。在当前散列不匹配的情况下(例如,在装置的电源已被长时间关闭、缺少中间的配置更新的情况下),可以提示装置以下载缺少的配置更新,或者可以自动安装这样缺少的中间配置更新。
更新验证器114b还可以使用从更新数据源124接收到的更新的元数据,并且可以验证更新中的版本是否比配置组件或者文件的当前安装版本大以及更新元数据中提供的签名是否与以上更新数据匹配。
更新数据源124
更新数据源可以包括装置文件系统208、第三方URL 210或者配置服务器212。装置文件系统208可以包括合适的线路、逻辑和/或代码,并且可以包括例如具有配置文件更新数据和更新元数据的外部数据源(例如,SD卡)。可以将SD卡插入到计算装置100中,并且更新获取器114a可以从SD卡下载配置文件更新。第三方URL 210可以包括合适的线路、逻辑和/或代码,并且可以包括可通过网页访问的因特网页面,其中可从该因特网页面下载配置文件更新。配置服务器212可以包括合适的线路、逻辑和/或代码,并且可以包括一个或者多个远程网络服务器,其中计算装置100可以通过有线/无线连接107访问所述远程网络服务器以下载配置文件更新。
通过更新数据源124提供的更新数据可以具有一定的限制,诸如:
(a)其可以通过http://、https://或者file://的URL获得;
(b)其可以实现为两个文件:一个包含更新内容并且另一个包含上面指定
的更新元数据;以及
(c)其可能是有限的大小(例如,不大于1MB)。
配置更新元数据可以为以下形式:
SIGNATURE:<sig>
VERSION:<int>
REQUIREO_HASH:<hash>
其中,<sig>可以是具有RSA签名的64进制编码的SHA512;<int>可以是在[0,整数.最大值)范围内的十进制整数;并且<hash>可以是当前值的16进制SHA512散列,或者在当前下载的配置文件更新为第一个更新的情况下为“0”,或者在不应当检查该值的情况下为NONE。配置更新数据内容可以包括任意数据,包括二进制数据(binary blob)。
图2B是示出根据本申请公开的示例实施例的、用于启用配置更新器的方法的示例步骤的流程图。根据本申请公开的示例实施例,可以通过进行方法250启用配置更新器(例如,如图2B中所示),其中方法250可以开始于步骤252,在步骤252,可以从文件接收到针对更新内容的请求(例如,通过实现/使用一个或者多个用于提供更新意图的更新发起器122)。在步骤254,可以实现平台验证器和安装器(例如,114b-114c)。在步骤256,可以实现更新获取器(例如,114a)。在步骤258,可以实现监视服务应用(例如,206)。监视服务应用可以包括安装在计算装置100上的更新搜索器应用。监视服务206可以以规则的间隔监视更新数据源124以发现针对OS 112和/或装置100的一个或者多个配置设置的任何更新。在步骤260,可以实现配置更新内容可用于下载的更新数据源(例如,124)。
在装置已经长时间离线(例如,数月)接着重新上线的情况下,更新发起器122可以为解决配置更新提供一个或者多个选项。在这种情况下,可以自动下载并且安装缺少的更新,或者可以在用户同意的情况下使提示装置下载并且安装缺少的更新。更新发起器122还可以提供完成配置更新的各种通知(例如,在更新前或者在更新安装成功后)。
图3是示出根据本申请公开的示例实施例的、用于更新配置信息的方法的示例步骤的流程图。参考图1-3,示例方法300可以开始于步骤302,在步骤302,可以(例如,通过一个或者多个更新发起器122)发起对计算装置100的至少一个配置设置的更新。在步骤304,可以从至少一个更新数据源(例如,124中208-212)(通过更新获取器114a)下载更新。更新可以包括配置更新数据和配置更新元数据(如上所说明的)。在步骤306,可以(例如,利用更新验证器114b)通过将配置更新元数据中的散列值和与至少一个配置设置的当前版本相关联的元数据中的散列值进行比较来验证所下载的更新。
在步骤308,可以判断配置更新元数据内的散列值是否表示更新是紧接在至少一个配置设置的当前版本之后的下一个版本(例如,配置更新元数据内的散列值与至少一个配置设置的当前版本的散列值匹配)。在存在匹配的情况下,在步骤310,安装更新。在不存在匹配的情况下,在步骤312,拒绝更新并且不安装更新。可选地,可以自动安装或者在用户同意的情况下安装任何缺少的配置更新。
其它实施可以提供非易失性计算机可读介质和/或存储介质,和/或非易失性机器可读介质和/或存储介质,其上存储有具有通过机器和/或计算机可执行的至少一个代码段的机器代码和/或计算机程序,由此使得机器和/或计算机进行如这里所说明的用于更新配置信息的步骤。
因而,本方法和/或系统可以实现为硬件、软件或者硬件和软件的组合。本方法和/或系统可以以集中的方式实现在至少一个计算机系统中,或者以分布式的方式实现,其中不同的元素分布在若干互联的计算机系统中。适于执行这里描述的方法的任何种类的计算机系统或者其它系统都是适合的。硬件和软件的典型组合可以是具有硬件处理器、存储器和计算机程序的通用计算机系统,其中在加载并且执行计算机程序的情况下,控制计算机系统以使得其执行这里说明的方法。
本方法和/或系统还可以嵌入在计算机程序产品中,其包括使得能够实现这里描述的方法的全部特征,并且其在被加载到计算机系统中的情况下能够执行这些方法。在本上下文中的计算机程序是指意在使得具有信息处理能力的系统直接或者在以下两种情况中的任何一种或者两种之后进行特定功能的采用任何语言、代码或者符号的一组指示的任何表达:a)转换成其它语言、代码或者符号;b)以不同的物质形式再现。
尽管已经参考某些实现说明了本方法和/或设备,但是本领域的技术人员将会理解,可以在不偏离本方法和/或设备的范围的情况下进行各种变化和替代等价物。此外,可以在不偏离范围的情况下进行许多修改以使特定的情况或者材料适应于本申请公开的启示。因此,本发明和/或设备并不意在限于所公开的特定实现,而本方法和/或设备将包括处于所附权利要求书的范围内的全部实现。

Claims (16)

1.一种用于更新配置信息的方法,包括:
在包括处理器、存储器和操作系统的计算装置中,
发起对所述计算装置的至少一个配置设置的更新;
从至少一个更新数据源下载所述更新,其中所述更新包括配置更新数据和配置更新元数据;
通过将所述配置更新元数据和与所述至少一个配置设置的当前版本相关联的元数据进行比较,来验证所下载的所述更新;以及
在所述更新得到验证通过的情况下,将所述更新安装至所述至少一个配置设置,
在所述更新被拒绝的情况下,下载针对所述计算装置的所述至少一个配置设置的至少一个中间更新,
其中所述验证包括:
比较所述配置更新元数据内的散列值和与所述至少一个配置设置的当前版本相关联的散列值;
如果所述配置更新元数据内的散列值指示所述更新是紧接在所述至少一个配置设置的当前版本之后的下一个版本,则安装所述更新;以及
如果所述配置更新元数据内的散列值指示所述更新不是紧接在所述至少一个配置设置的当前版本之后的下一个版本,则拒绝所述更新。
2.根据权利要求1所述的方法,其中,还包括:
基于来自所述计算装置的不安全组件的意图,发起对所述至少一个配置设置的所述更新。
3.根据权利要求2所述的方法,其中,所述不安全组件包括以下中的一个或者多个:
安装在所述计算装置上的内容消费应用;
所述计算装置的计算平台的组件;以及
安装在所述计算装置上的更新搜索器应用。
4.根据权利要求1所述的方法,其中,所述配置更新元数据包括以下中的一个或者多个:
散列值,其中所述散列值是基于所述更新所需的至少一个配置设置的;
所述更新的版本编号;以及
所述更新的签名。
5.根据权利要求1所述的方法,其中,还包括:
其中当所述更新被拒绝时,所述配置更新元数据内的所述散列值表示所述更新是紧接在安装了所述至少一个中间更新的所述至少一个配置设置的版本之后的下一个版本。
6.根据权利要求1所述的方法,其中,所述至少一个配置设置包括以下中的一个或者多个:
与证书锁定相关的配置设置;
与所述计算装置可用的高级SMS服务相关的配置设置;以及
与时区信息相关的配置设置。
7.一种非易失性机器可读的存储介质,其上存储了具有用于更新配置信息的至少一个代码段的计算机程序,所述至少一个代码段是能够由包括处理器、存储器和操作系统的机器来执行的,从而使得所述机器执行包括以下步骤的方法:
发起对计算装置的至少一个配置设置的更新;
从至少一个更新数据源下载所述更新,其中所述更新包括配置更新数据和配置更新元数据;
通过将所述配置更新元数据和与所述至少一个配置设置的当前版本相关联的元数据进行比较,来验证所下载的所述更新;以及
在所述更新得到验证通过的情况下,将所述更新安装至所述至少一个配置设置,
在所述更新被拒绝的情况下,下载针对所述计算装置的所述至少一个配置设置的至少一个中间更新,
其中所述验证包括:
比较所述配置更新元数据内的散列值和与所述至少一个配置设置的当前版本相关联的散列值;
如果所述配置更新元数据内的散列值指示所述更新是紧接在所述至少一个配置设置的当前版本之后的下一个版本,则安装所述更新;以及
如果所述配置更新元数据内的散列值指示所述更新不是紧接在所述至少一个配置设置的当前版本之后的下一个版本,则拒绝所述更新。
8.根据权利要求7所述的非易失性机器可读的存储介质,其中,所述至少一个代码段包括用于以下的代码:
基于来自所述计算装置的不安全组件的意图,发起对所述至少一个配置设置的所述更新。
9.根据权利要求8所述的非易失性机器可读的存储介质,其中,所述不安全组件包括以下中的一个或者多个:
安装在所述计算装置上的内容消费应用;
所述计算装置的计算平台的组件;以及
安装在所述计算装置上的更新搜索器应用。
10.根据权利要求7所述的非易失性机器可读的存储介质,其中,所述配置更新元数据包括以下中的一个或者多个:
散列值,其中所述散列值是基于所述更新所需的至少一个配置设置的;
所述更新的版本编号;以及
所述更新的签名。
11.根据权利要求7所述的非易失性机器可读的存储介质,其中当所述更新被拒绝时,
所述配置更新元数据内的所述散列值表示所述更新是紧接在安装了所述至少一个中间更新的所述至少一个配置设置的版本之后的下一个版本。
12.根据权利要求7所述的非易失性机器可读的存储介质,其中,所述至少一个配置设置包括以下的一个或者多个:
与证书锁定相关的配置设置;
与所述计算装置可用的高级SMS服务相关的配置设置;以及
与时区信息相关的配置设置。
13.一种用于更新配置信息的系统,包括:
计算装置,其包括至少一个处理器、存储器和操作系统,所述至少一个处理器能够操作以进行:
发起对所述计算装置的至少一个配置设置的更新;
从至少一个更新数据源下载所述更新,其中所述更新包括配置更新数据和配置更新元数据;
通过将所述配置更新元数据和与所述至少一个配置设置的当前版本相关联的元数据进行比较,来验证所下载的所述更新;以及
在所述更新得到验证通过的情况下,将所述更新安装至所述至少一个配置设置,
在所述更新被拒绝的情况下,下载针对所述计算装置的所述至少一个配置设置的至少一个中间更新,
其中所述验证包括:
比较所述配置更新元数据内的散列值和与所述至少一个配置设置的当前版本相关联的散列值;
如果所述配置更新元数据内的散列值指示所述更新是紧接在所述至少一个配置设置的当前版本之后的下一个版本,则安装所述更新;以及
如果所述配置更新元数据内的散列值指示所述更新不是紧接在所述至少一个配置设置的当前版本之后的下一个版本,则拒绝所述更新。
14.根据权利要求13所述的系统,其中,所述至少一个处理器能够操作,以基于来自所述计算装置的不安全组件的意图发起对所述至少一个配置设置的所述更新。
15.根据权利要求14所述的系统,其中,所述不安全组件包括以下中的一个或者多个:
安装在所述计算装置上的内容消费应用;
所述计算装置的计算平台的组件;以及
安装在所述计算装置上的更新搜索器应用。
16.根据权利要求13所述的系统,其中,所述配置更新元数据包括以下中的一个或者多个:
散列值,其中所述散列值是基于所述更新所需的至少一个配置设置的;
所述更新的版本编号;以及
所述更新的签名。
CN201380056567.4A 2012-10-28 2013-10-22 配置文件更新器 Active CN104756076B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261719469P 2012-10-28 2012-10-28
US61/719,469 2012-10-28
US13/717,860 US9275006B2 (en) 2012-10-28 2012-12-18 Configuration file updater
US13/717,860 2012-12-18
PCT/US2013/066117 WO2014066349A1 (en) 2012-10-28 2013-10-22 Configuration file updater

Publications (2)

Publication Number Publication Date
CN104756076A CN104756076A (zh) 2015-07-01
CN104756076B true CN104756076B (zh) 2019-02-22

Family

ID=49517749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380056567.4A Active CN104756076B (zh) 2012-10-28 2013-10-22 配置文件更新器

Country Status (4)

Country Link
US (1) US9275006B2 (zh)
EP (1) EP2912547B1 (zh)
CN (1) CN104756076B (zh)
WO (1) WO2014066349A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819548B2 (en) * 2013-01-25 2017-11-14 Cisco Technology, Inc. Shared information distribution in a computer network
US9690593B2 (en) * 2013-03-04 2017-06-27 Dell Products L.P. Server information handling system configuration from an end state definition file
US9665366B2 (en) * 2014-09-26 2017-05-30 Oracle International Corporation Creation of a software configuration signature for software
US9811356B2 (en) * 2015-01-30 2017-11-07 Appdynamics Llc Automated software configuration management
US10042626B2 (en) * 2015-06-29 2018-08-07 Verizon Patent And Licensing Inc. Software updates using client self-reporting and a hierarchical data structure
US9965267B2 (en) * 2015-11-19 2018-05-08 Raytheon Company Dynamic interface for firmware updates
US11386067B2 (en) * 2015-12-15 2022-07-12 Red Hat, Inc. Data integrity checking in a distributed filesystem using object versioning
DE102016201634A1 (de) * 2016-02-03 2017-08-03 Siemens Healthcare Gmbh Aktualisierung der Konfiguration einer medizintechnischen Anlage ohne Internetverbindung
US11050726B2 (en) * 2016-04-04 2021-06-29 Nxp B.V. Update-driven migration of data
US10473758B2 (en) 2016-04-06 2019-11-12 Raytheon Company Universal coherent technique generator
CN106843842B (zh) * 2016-12-23 2020-06-12 光锐恒宇(北京)科技有限公司 一种应用程序配置文件的更新方法及装置
US10050835B2 (en) 2017-01-15 2018-08-14 Essential Products, Inc. Management of network devices based on characteristics
US9985846B1 (en) 2017-01-15 2018-05-29 Essential Products, Inc. Assistant for management of network devices
US9986424B1 (en) 2017-01-15 2018-05-29 Essential Products, Inc. Assistant for management of network devices
US10911939B2 (en) 2017-06-14 2021-02-02 Huawei Technologies Co., Ltd. Embedded universal integrated circuit card profile management method and apparatus
CN108259556A (zh) * 2017-11-30 2018-07-06 北京九五智驾信息技术股份有限公司 参数配置方法及终端
CN109992279A (zh) * 2017-12-30 2019-07-09 中国移动通信集团山西有限公司 配置数据更新方法、装置、计算设备及存储介质
KR102607122B1 (ko) * 2018-07-25 2023-11-28 삼성전자주식회사 전자장치 및 그 제어방법
DE102018212726A1 (de) * 2018-07-31 2020-02-06 BSH Hausgeräte GmbH Aktualisierung eines Hausgeräts
CN109086065A (zh) * 2018-08-16 2018-12-25 深圳市元征科技股份有限公司 一种软件升级方法、系统及终端设备
US10868709B2 (en) 2018-09-10 2020-12-15 Oracle International Corporation Determining the health of other nodes in a same cluster based on physical link information
CN110347413B (zh) * 2019-06-27 2023-06-27 北京口袋时尚科技有限公司 软件配置信息更新方法及装置
KR20210029621A (ko) * 2019-09-06 2021-03-16 삼성전자주식회사 전자 장치에서 어플리케이션 업데이트 시 런타임 성능 개선 방법 및 장치
CN111177799B (zh) * 2019-12-31 2022-07-05 奇安信科技集团股份有限公司 安全防护方法、系统、计算机设备和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558606A (zh) * 2004-02-10 2004-12-29 Ut斯达康通讯有限公司 网络终端自动配置方法
CN101969399A (zh) * 2010-09-30 2011-02-09 北京神州泰岳软件股份有限公司 客户端调用服务的路由方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596692B2 (en) * 2002-06-05 2009-09-29 Microsoft Corporation Cryptographic audit
US7516491B1 (en) * 2002-10-17 2009-04-07 Roger Schlafly License tracking system
WO2004081758A2 (en) * 2003-03-12 2004-09-23 Digex, Inc. System and method for maintaining installed software compliance with build standards
JP2006203655A (ja) * 2005-01-21 2006-08-03 Ricoh Co Ltd 画像形成装置設定方法、画像形成装置
CN101132573A (zh) * 2006-08-23 2008-02-27 中兴通讯股份有限公司 一种终端批量升级的实现方法
US20090144362A1 (en) * 2007-12-01 2009-06-04 Richmond Evan P Systems and methods for providing desktop messaging and end-user profiling
US8621551B2 (en) * 2008-04-18 2013-12-31 Samsung Electronics Company, Ltd. Safety and management of computing environments that may support unsafe components
US8990221B2 (en) * 2008-05-30 2015-03-24 Google Technology Holdings LLC Device and method for updating a certificate
CN101667131A (zh) * 2009-10-14 2010-03-10 中兴通讯股份有限公司 移动终端及其配置信息的更新方法
US20110159878A1 (en) * 2009-12-29 2011-06-30 Geos Communications, Inc. System and method of using a dynamic access number architecture
US8655514B2 (en) * 2010-11-18 2014-02-18 General Electric Company Systems and methods for communications based rail vehicle control
US8923278B2 (en) * 2011-01-10 2014-12-30 Vtech Telecommunications Limited Peer-to-peer, internet protocol telephone system with system-wide configuration data
US10067754B2 (en) * 2011-08-11 2018-09-04 International Business Machines Corporation Software service notifications based upon software usage, configuration, and deployment topology
US8898345B2 (en) * 2011-10-11 2014-11-25 International Business Machines Corporation Out-of-band management of third party adapter configuration settings in a computing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558606A (zh) * 2004-02-10 2004-12-29 Ut斯达康通讯有限公司 网络终端自动配置方法
CN101969399A (zh) * 2010-09-30 2011-02-09 北京神州泰岳软件股份有限公司 客户端调用服务的路由方法及系统

Also Published As

Publication number Publication date
CN104756076A (zh) 2015-07-01
WO2014066349A1 (en) 2014-05-01
US20140122862A1 (en) 2014-05-01
US9275006B2 (en) 2016-03-01
EP2912547A1 (en) 2015-09-02
EP2912547B1 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
CN104756076B (zh) 配置文件更新器
US9781098B2 (en) Generic server framework for device authentication and management and a generic framework for endpoint command dispatch
US10225287B2 (en) Method to modify android application life cycle to control its execution in a containerized workspace environment
US10176330B2 (en) Global platform health management
EP3365830B1 (en) Establishing trust between containers
KR102111180B1 (ko) 동적 프리젠테이션과 데이터 구성을 사용하여 보안 모바일 협력 애플리케이션을 구축하기 위한 플랫폼
KR102400477B1 (ko) 어플리케이션을 관리하는 방법 및 그 장치
US9325506B2 (en) Cryptographically enforcing strict separation of environments
JP6793667B2 (ja) アプリケーションダウンロード方法及び装置
US20190080079A1 (en) Method and device for verifying security of application
US11616860B2 (en) Information display method, terminal, and server
WO2017112266A1 (en) Embedded architecture based on process virtual machine
US20240086180A1 (en) Safe modular upgrades
US10554629B2 (en) Push based encryption
US20220109557A1 (en) Efficient and scalable mechanism to protect integrity and authenticity of large data sets in cloud logging environments
CN115766014A (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
CB02 Change of applicant information

Address after: American California

Applicant after: Google Inc.

Address before: American California

Applicant before: Google Inc.

COR Change of bibliographic data
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