CN1423192A - 利用配置管理器的回滚与安全特性在移动计算设备上安装软件 - Google Patents

利用配置管理器的回滚与安全特性在移动计算设备上安装软件 Download PDF

Info

Publication number
CN1423192A
CN1423192A CN02155777A CN02155777A CN1423192A CN 1423192 A CN1423192 A CN 1423192A CN 02155777 A CN02155777 A CN 02155777A CN 02155777 A CN02155777 A CN 02155777A CN 1423192 A CN1423192 A CN 1423192A
Authority
CN
China
Prior art keywords
mobile computing
computing device
action
instruction
file
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
CN02155777A
Other languages
English (en)
Other versions
CN100351779C (zh
Inventor
I·B·皮夫
H·M·丹格
K·J·萨瓦吉
S·R·谢尔
N·M·霍夫梅斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1423192A publication Critical patent/CN1423192A/zh
Application granted granted Critical
Publication of CN100351779C publication Critical patent/CN100351779C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

使用配置管理器安装软件,从而可以在安装过程中利用配置管理器的回滚与安全特性。一台移动计算设备访问将要安装在该移动计算设备上的文件,以及定义了如何将这些文件安装到该移动计算设备上的计算机可执行指令。然后配置管理器使这些计算机可执行指令得以执行(如使用配置服务供应器),并使一个镜像回滚文档得以构造。如果安装失败,就通过执行该回滚文档倒转安装过程。通过检查判定每个安装指令的执行是否已授权,配置管理器还可以用来在执行安装指令时实现安全性。

Description

利用配置管理器的回滚与安全特性在移动计算设备上安装软件
(1)技术领域
本发明涉及软件安装技术领域,特别是涉及使用一种配置管理器的回滚与安全特性在移动计算设备上安装软件的方法、系统、计算机程序产品和数据结构。
(2)背景技术
计算机变革了我们的生活方式。一台通用的计算设备的功能部件可以分为两个总类,即,硬件和软件。举例而言,硬件包括一个或多个处理器、多种的存储器(如RAM、ROM、FLASH、硬盘驱动器、CD-ROM等)、用户接口(如显示器、键盘、鼠标、扬声器、打印机、扫描仪等)和联网设备(如调制解调器、网络接口卡、天线等)。软件则包含在由处理器执行时控制硬件的多种操作,使硬件能以某种方式交互作用,完成某些任务。典型的计算设备包含多种软件,能实现大量的功能。
为了进一步改善计算设备的操作能力,经常希望能在计算设备上添加额外的软件。为安装这样的软件,计算设备要访问某个安装文件。安装文件一般包含存储在计算设备上某个合适目录处的许多最终需要解开的压缩文件。安装文件还包括为了以恰当地安装这些解压文件需循序的一系列指令。举例来说,这样的指令可以引导计算设备解压文件、移动文件、复制文件、删除文件或设定配置信息。
一个典型的安装过程本质上是由计算设备的用户启动的。举例来说,用户可以购买在计算机可读取媒介如硬盘、CDROM等上的软件,或可以通过网络下载软件。可是,在移动计算设备上要采用某种相对新的安装形式。特别是,移动计算设备能接收到新软件可用的通知,然后一般会给用户一个接受该新软件的选项。如果接受,就可以潜在地将该软件下载到要安装的移动计算设备上。
用于常规通用计算机的操作系统一般提供某些安全层次,以确保能适当地将进程和个人所可能执行的操作类型限制在特定的文件上或特定的目录中。但是,由于移动计算设备与膝上或桌面计算机相比相对有限的存储和处理能力,用于移动设备的操作系统可能只具有削弱了的功能。
由于如此的处理和存储限制,这样的操作系统经常可能在安全控制的种类上受限。况且,当响应某个对移动计算设备的异步通知而下载某个安装软件时,软件提供者的可信度就更成问题。因此,当在某个处理和存储能力受限的环境中安装软件时,就希望有能提供安全性的系统、方法、计算机程序产品和数据结构。
而且,安装过程可能由于这样那样的原因而失败。举例来说,计算系统可能会崩溃,或者安装软件可能会试图操作未授权该安装软件操作的文件、目录或配置设定。如果软件安装失败,操作系统可能会存储错误的预示软件安装成功的配置设定。而且,安装的部分文件可能会被存储在计算设备上,即使由于安装失败这些文件已经无用。此外,无用的文件占据大量的存储空间,这在如移动计算设备那样的有限存储器的环境内特别不利。因此,如果在某个移动计算环境中安装失败,就进一步希望有能倒转安装效果的系统、方法、计算机程序产品和数据结构。
(3)发明内容
描述了使移动计算设备能使用配置管理器安装软件,从而可以在安装过程中利用配置管理器的回滚与安全特性的系统、方法、计算机程序产品和数据结构。如果安装由于某种原因未成功或需要倒转,回滚特性能完全倒转安装的效果。关于操作中在哪个目录与文件上可以执行什么操作,安全特性能实现适当的访问控制。
在某实例中,已经利用配置管理器在设定配置信息的环境中实现了这些回滚与安全特性。通过不仅在配置设定环境而且在目录和文件操作环境中将这一功能应用于安装,就最大限度地减小了将回滚与安全功能应用于安装过程的存储和处理的负担。这在与膝上或桌面计算机相比一般只有相对有限的存储和处理能力的移动计算设备如蜂窝电话和个人数字助理(PDA)环境中特别重要。
本发明可以在某个驻留了可用于安装软件,如某个新的应用或补丁的安装文件的网络环境中实现。该网络也包括了某种移动计算设备。举例来说,该网络环境可以包括一台服务器,通过一个蜂窝电话网向蜂窝电话下载安装文件,也可以包括一台桌面个人计算机,通过一个坞架(docking cradle)向PDA传送安装文件。
如本发明所述,作为安装的一部分,移动计算设备会访问将要安装在该移动计算设备上的一个或多个文件的至少一个版本。举例而言,这些文件可以是压缩形式的,以保证网络带宽的有效利用,或者也可以是未压缩的。
移动计算设备还访问定义了如何将文件安装到该移动计算设备上的计算机可执行指令。举例而言,这样的指令可以包括对复制、移动或删除文件的指示,以及对设定配置信息的指示。要安装的文件以及安装指令可以作为部分而包含在单个的安装文件中。
这些计算机可执行指令是可直接由一个与该移动计算设备相关的配置管理器来解释的。举例而言,这些计算机可执行指令可以按照某种特定模式,如以可扩展标记语言(XML)规范定义的语言的特定模式来构造。这种特定模式可以是一套规则,在其中,结构内值的意义可从该结构内值的上下文环境获得。
而后配置管理器使这些计算机可执行指令得以执行。举例而言,配置管理器可以直接执行这些指令,或者可能让另一组件(如配置服务供应器)来执行某些指令。举例来说,配置管理器可能会让一个文件配置服务供应器来执行文件操作指令,而让一个注册表服务供应器来执行配置操作指令。
在这些指令的执行中,配置管理器可以实现回滚与安全功能。如果由于某种原因安装失败或不再需要,回滚特性能使安装的效果倒转。
这样,如果安装失败,移动计算设备就能回到其原来的状态。不再有预示成功安装的不希望的配置设定的改变。因此,移动计算设备的处理就不会被错误的配置设定所妨碍。而且,也不再有着眼于成功安装而安装的无用的散乱文件。因此,移动计算设备的存储器就能被节省,而不必存储作为失败安装的结果的无用信息。在处理和存储能力相对有限的移动计算设备环境中,这是特别有益的。
在执行安装指令时,通过检查判定每个安装指令的执行是否被授权,配置管理器还可以用来实现安全性。以这种方式,移动计算设备可以保护其自身,不让无聊或疏忽的新软件提供者执行对该移动计算设备总体上有害的安装指令。
本发明另外的特性与益处将在后面的描述中阐明,其在描述中部分地将是明显的,或可以通过本发明的实践来获悉。本发明的特性与益处可以通过在所附权利要求中所特别指出的设备与组合的手段来认识与获得。本发明的这些与其它特性通过下面的描述和所附的权利要求将更充分地彰显,或可以如下文中所阐明的那样,通过本发明的实践来获悉。
(4)附图说明
为了描述可以获得本发明上述及其它益处和特性的方式,将通过参照在附图中例示的详细实施例来呈现对上面已简要描述的本发明更为详细的描述。请理解这些图只是描述了本发明的典型实施例,因此不可认为是对其范围的限制,而本发明可以通过使用附图以另外的特性与细节来加以描述和解释。这些附图包括:
图1例示了一个可以用于向移动计算设备递送安装文件的示例网络环境;
图2例示了一个可按照本发明原则在其上可安装新软件的移动计算设备的操作部件;
图3例示了一个可以用于在移动计算设备上安装新软件的各种部件的架构;
图4例示了一个使用配置管理器的回滚与安全特性在移动计算设备上安装新软件的方法的流程图;
图5例示了一个包括要安装的文件及一个引导安装的指令部分的安装文件的数据结构。
(5)具体实施方式
本发明提供了使用配置管理器安装软件,从而可以在安装过程中利用配置管理器的回滚与安全特性的系统、方法、计算机程序产品和数据结构。如果安装由于某种原因未成功或需要倒转,回滚特性能完全倒转安装的效果。关于安装过程中在哪个目录与文件上可以执行什么操作,安全特性能实现适当的访问控制。
一台移动计算设备访问一个安装文件。该安装文件包含一个或多个要安装在该移动计算设备上的文件(此处也称作“要安装的文件”),以及用于安装这些文件的计算机可执行指令(此处也称作“安装指令”)。安装器将这些安装指令传递给配置管理器并解压要安装的文件。这些安装指令是某种可由配置管理器直接解释的格式。然后配置管理器通过例如解析这些安装指令并将指令传递给适当的配置服务供应器来使这些安装指令得以执行。
为了实现回滚特性,配置管理器构造一个回滚文档。如果安装最终成功,则将这次安装作为一次单独的事务而提交。相反,如果安装失败,则通过执行该回滚文档来倒转安装过程。在一个实施例中,将在持久性的存储器中维护关于事务的状态信息。这样,如果移动计算设备掉电,事务状态在供电恢复时仍可用于继续该事务。如此,该事务就可以挺过供电的中断。
通过检查判定每条安装指令的执行是否已授权,配置管理器还可以用来在执行安装指令时实现安全性。特别是,在接收到一个安装文件后,该安装文件就被根据与安装文件一起提供的信任状而赋予一个角色掩码。角色掩码被用来确定在移动计算设备上的什么文件与设定上可以进行什么安装操作。如果该安装指令表现为任何未经授权的操作,则配置管理器会确保不执行该安装,并使移动计算设备保持在其安装前的状态。通过这样做,移动计算设备就可以保护其自身,不让新软件提供者执行对该移动计算设备有害的安装操作。
如将在下面更详细讨论的那样,本发明的实施例可以包含一台包括了多种计算机硬件的专用或通用的计算设备。本发明范围内的实施例还包括用来在其上承载或存储计算机可执行指令或数据结构的计算机可读取媒介。这样的计算机可读取媒介可以是能由通用或专用计算机访问的任何可用媒介。举例而言,但非限制,这样的计算机可读取媒介可以包括物理存储媒介,如RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备,或可以用来承载或存储所期望的以计算机可执行指令或数据结构形式并可由通用或专用计算机访问的程序代码手段的任何其它媒介。
当通过一个网络或另一通信连接(可以是硬连线的、无线的或硬连线与无线组合的)将信息传送或提供给一台计算机时,该计算机可以恰当地将该连接看作一个计算机可读取媒介。上述的组合也包括在计算机可读取媒介的范围内。因此,任何这样的连接都可被恰当地称为计算机可读取媒介。计算机可执行指令则包括例如让通用计算机、专用计算机或专用处理设备执行某些功能或功能组的指令和数据。
尽管没有要求,仍将在由计算设备执行的计算机可执行指令,如程序模块的一般环境中描述本发明。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、组件、数据结构等。计算机可执行指令、相关数据结构和程序模块表示了用以执行此处披露的方法步骤的程序代码手段的示例。这些可执行指令或相关数据结构的特定序列则表现了用以实现在这些步骤中所描述功能的相应动作的示例。
相关领域的行家将会理解,本发明可以在具有多种计算机系统配置的网络计算环境中实现,这些计算机系统配置包括个人计算机、手持设备、多处理器系统、基于微处理器的或可编程的消费电子品、网络PC、小型计算机、大型计算机等。本发明也可以在分布式计算环境中实现,其中由本地的或通过一个通信网络而相联接(通过硬连线链路、无线链路或硬连线链路与无线链路的组合)远端处理设备来执行任务。在一个在分布式计算环境中,程序模块可以位于本地和远端者的记忆存储设备上。
图1例示了一个网络环境100,在其中可以将一个安装文件递送给一台移动计算设备。网络环境100主要包括一台通过一个无线链路103与移动计算设备102通信的服务器101。
服务器101可以是移动计算设备102的主要连接点,如公共无线服务提供者(如某个蜂窝运载者)或某个专用无线通信网络(如某个公司通信网络)。服务器101也还可以是一台与主要连接点合作的专用服务器。
移动计算设备102在下面参考图2和3来进一步详细例示与描述。简要地说,移动计算设备102是一台包括了移动电话功能及典型个人数字助理(PDA)功能的手持计算设备。
服务器101和移动计算设备102通过一个无线链路103互相通信,无线链路103可以是任何无线通信的装置,如无线电频率链路等。举例而言,服务器101可以检测到可用于安装到移动计算设备102上的新软件(如新的应用、更新或补丁)。然后服务器101通过无线链路103向移动计算设备102发出一个安装通报104,通知移动计算设备102有新的可用的软件。在图1中以第一个箭头来表示这一通报。这一通报可以通过一个无线电话网络,使用无线应用协议(WAP)推送通报、超文本传输协议(HTTP)推送通报或无论是当前存在还是将要开发的任何其它可能的通报方法来予以实现。
这样的通报方法有很多种。举例来说,用户可以使用移动计算设备102的一个浏览器来导引一个公司网络或互联网,找到某个下载站点。用户通过选择某个与安装文件相应的链接来同意安装。然后浏览器就提交一个对该安装文件的请求(如一个HTTP GET命令),而该安装文件就将会自动下载。
可作替换的是,移动计算设备102也可以插入一个经由通用串行总线(USB)或串行线缆与桌面计算机或膝上计算机连接的坞架。桌面计算机就可以使用同步软件(如ActiveSync)来向移动计算设备下载安装文件。用户通过让安装文件下载到移动计算设备102来允许安装。
在另一个例子中,安装文件作为附件或链接被包含在发往移动计算设备102的电子邮件或文本短消息内。用户可以通过选择该附件或链接来允许安装。
运载者还可以将服务提示(SI)和服务加载(SL)消息通过推送代理网关(PPG)发送给移动计算设备102。移动计算设备102可以配置成将这些专用的文本短消息服务(SMS)的消息放置到一个收件箱中。如果是一个SI消息,用户就通过选择该消息中的一个链接来允许安装。如果是一个SL消息,设备就自已试图下载安装文件。
安装文件可以存储在一块“多媒体卡”(MMC)存储卡上。如果该MMC卡包含一个“自动运行”文件,而“自动运行”在该移动计算设备上可以实现,MMC甚至可以自动启动一个安装脚本。在这种情况下,用户通过插入MMC设备来允许安装。
如果移动计算设备102允许安装,就提交一个对与新软件相关的安装文件的请求。这可以是一个HTTP GET请求的形式,在图1中以第二个箭头表示。而后安装文件105就被下载到移动计算设备102上。举例来说,安装文件105可以在响应HTTP GET请求的同一会话中下载。安装文件105的下载在图1中以第三个箭头表示。而后移动计算设备102如下面与图3至6相关而进一步描述的那样,使用安装文件105来安装新软件。
尽管这里主要描述了通过无线链路103将安装文件105递送给移动计算设备102的环境,可以理解这只是下载安装文件105的一种实施例。上面描述了将安装文件105递送给移动计算设备102的几种方法,某些是面向网络的,某些不是。因此,图1中的第二个和第三个箭头可以表示任何形式的通信,用户在其中允许安装,而安装文件在移动计算设备102上执行。
图2进一步详细例示了移动计算设备102。移动计算设备102包含了一个用户接口201,用以让用户通过一个输入用户接口203输入信息,并经由一个输出用户接口202检查所显示的信息。举例来说,输出用户接口202包括一个用以向用户表现音频信息的扬声器204,及一个用以向用户表现视频信息的显示器。移动计算设备102还有一根用以通过无线链路103与服务器101无线通信的天线209。
输入用户接口203可以包括一个用以将音频信息呈现为电子形式的话筒206。另外,输入用户接口203还包括以12个按键表示的拨号控件207,用户通过它可以拨出电话号码、输入文本消息或指示移动计算设备102发送数据消息。输入用户接口203还包括导引控制按键208,它帮助用户引导在显示器205上可能列出的多个条目与选项。
尽管移动计算设备102具有移动电话的外观,其看不见的特性可以实现复杂与灵活的通用处理能力。举例而言,移动计算设备还包括了一个处理器211和一个存储器212,它们互相连接,并经由一个总线210与用户接口201相连。从历史上看,移动计算设备如蜂窝电话与PDA的处理和存储能力与膝上和桌面个人计算机相比是相对有限的。存储器212一般表现为可以使用的很多种易失和/或不易失的存储器。在移动计算设备102中使用的存储器的特定种类对本发明是不重要的。
由一个或多个程序模块组成的程序代码手段可以存储在存储器212中。多个程序模块之一可以包括一个操作系统213、一个或多个应用程序214、其它程序模块215和程序数据216。在图2中例示的环境只是示例性的,并不代表本发明的原则可在其中得以实现的多种移动计算设备中的即使一小部分。
图3示意性地例示了一个可以由移动计算设备102实现的架构300。详细来说,在图2中例示的组件包括了几个功能性的组件如调度程序301、安装器302、配置管理器303、解析器304、回滚起草器305、反安装器306、安全模块307、文件配置服务供应器(CSP)308和注册表CSP309。这些功能组件可以是如移动计算设备102的应用程序214、程序模块215或操作系统213各部分之一。回滚文档310可以是如移动计算设备102的程序数据216的一部分。
如果安装文件105的递送要通过网络,则调度程序301接收安装通报104,并可选地从服务器101检索安装文件105。然后调度程序301触发安装器302使用安装文件105安装新软件。而后图3的架构300就可以使用图4的方法来利用配置管理器的回滚与安全特性安装新软件。因此,图3架构的余下部分(实质上是除调度程序310外的所有组件)将频繁参照图4来予以描述。
参照图4的方法400,移动计算设备102访问将要安装到该移动计算设备上作为新软件安装的一部分的一个或多个文件的至少一个版本(动作401)。举例来说,为了确保网络带宽的有效利用,这些文件可以是压缩形式的,在这种情况下移动计算设备将访问这些文件的一个压缩版本。但是,一个安装文件也可以包含这些文件自身,不用任何压缩。
移动计算设备102还访问定义了如何将这些文件安装到该移动计算设备上的计算机可执行指令(动作402)。举例来说,这些指令可以包括对复制、移动或删除文件的指示,以及对设定配置信息的指示。
所要安装的文件及安装指令可以包含为安装文件105的一部分。在这种情况下,访问所要安装的文件的动作(动作401)和访问安装指令的动作(动作404)可以由安装器302简单地访问一个单独的安装文件如安装文件105来实现。图5示意性地例示了安装文件105的一个数据结构500。数据结构500包含了所要安装的多个文件,如文件503a至503d。数据结构500还包含了用于指示如何在移动计算设备102上安装文件503的安装指令501。
安装指令501直接由配置管理器303解释。举例而言,安装指令501可以按照某种特定的模式来构造。在图5中以由粗线突出标注的模式502的安装指令501来表示安装指令501遵循这一模式。在下面将进一步描述一个遵循某个使用可扩展标记语言(XML)规范的模式的安装指令示例。在这一描述和权利要求中,“模式”被定义为一套规则,通过其可以组织某种数据结构,在该结构内数值的意义可从该结构内数值的上下文环境获得。
按常规途径,安装指令直接由一个专门化的安装器来执行。然而,按照本发明,安装器302只是辅助安装过程。详细来说,安装器302将所要安装的文件解压(假设它们是压缩形式的),然后将它们存储到存储器212中。安装器302还将安装指令501传递给配置管理器。在某些实施例中,配置管理器302可以直接执行安装指令。然而,在这里描述的实施例中,配置管理器303使用一个解析器304解析安装指令,并将适当的安装指令路由给其它适当的组件。举例来说,配置管理器303可以让一个文件配置服务供应器308来执行文件操作指令(如移动文件、复制文件或删除文件),而让一个注册表配置服务供应器309来执行配置操作指令。
以前,配置管理器303仅仅是利用一个配置服务供应器来负责改变或者说管理配置设定。可是,本发明的原则将监视全部安装操作的责任也分配给了配置管理器303。这样,配置管理器提供给配置信息设定的任何功能就都被应用于文件操作。文件操作和配置设定指令都按照配置管理器303所遵循的某种模式来构造。这样,配置管理器303就可以在对配置管理器303的操作与编码作最小改动下,解析配置设定指令及文件操作指令两者。最低限度,配置管理器303只需要识别出文件操作指令,并将文件操作指令传递给某个能够实现文件操作的组件(如文件CSP 308)。
以这种方式,配置管理器303在设定配置信息环境下的功能就可以被扩展到安装过程。举例而言,在动作405中执行安装指令的过程中,配置管理器可以实现回滚与安全功能。如果由于某种原因安装失败或不再被需要,回滚特性允许安装的效果被倒转。首先将描述安装过程的回滚特性,接着是对安装过程的安全特性的描述。
参照图3,配置管理器303的回滚特性由该配置管理器303可直接或间接访问的回滚起草器305、回滚文档310和反安装器306来予以支持。在名为“用于连续提供移动服务的系统与方法”的一般拥有并且未决的美国专利申请(序列编号09/895471,2001年6月29日归档,在此完整附录以供参考)中,描述了有关配置管理器如何使用回滚特性来在事务基础上设定配置信息的细节。
尽管在上面附作参考的相应申请中已描述了详细的回滚操作,现在这里还是参照图4简要地描述一下回滚操作。图4例示了一个使用配置管理器303以某种事务方式来安装新软件的步骤(步骤402)。该步骤包括了前已描述的相应的动作404和405,以及相应的动作406和407。
详细来说,配置管理器303使回滚文档310得以构造(动作406)。作为安装的一部分,移动计算设备102可以接收一个可能是或包括安装文件105的供应文档。该供应文档包含了关于需要哪些配置服务供应器来完成安装的信息,因此就识别出哪些配置服务供应器需要实例化。配置管理器303根据这些信息实例化文件CSP308和注册表CSP309(以及任何其它所需要的CSP)。
然后配置管理器303识别出可能作为安装结果被改变的文件和/或其它数据项。举例而言,配置管理器303询问文件CSP308要作为安装的一部分而被改变的任何文件的当前状态,并询问注册表CSP309要作为安装的一部分而被改变的任何配置变化的当前状态。而后配置管理器303将这些当前状态编入回滚文档310。这样,回滚文档310就表示了移动计算设备那些很有可能作为安装的结果而改变的数据项在安装前的状态。
然后配置管理器303判定安装是否已经或将要成功(动作407)。举例而言,配置管理器303将相应的指令传递给相应的CSP,并询问每个CSP这是否将得到成功安装。如果CSP中的任何一个提示安装将不成功,配置管理器303就判定该安装将不成功(在判定框407中为NO)。例如,可能有某个CSP检测出一个或多个安装指令对于安装文件的识别并未授权执行。在某种实施例中,这使用赋予安装文件的角色掩码来完成。关于CSP如何使用角色掩码来实现安全性将在后面描述。如果在执行安装指令前就判定安装将不成功,就没有必要在动作410中执行回滚文档。取而代之的是,配置管理器303可以简单地拒绝执行该安装。
如果通过这一询问过程判定安装很有可能成功(在判定框407中为YES),则配置管理器303提交该事务(动作409)。详细来说,配置管理器303指示每个CSP实施它们相应的安装指令。如果由于某种原因,安装尽管有预备询问仍失败了,则配置管理器303判定安装为未成功(在判定框407中为NO)。由于在这一判定的时刻安装指令已经被执行,所以配置管理器303要使用回滚文档310来将移动计算设备102恢复到其安装前的状态(动作410)。这就以某种事务方式完成了安装新软件的步骤。
这样,如果安装失败,移动计算设备102就回到其原来的状态。不再有预示成功安装的不需要的配置设定的变化。因此,移动计算设备的处理就不会被错误的配置设定所妨碍。而且,也不再有着眼于成功安装而安装的无用的散乱文件。因此,移动计算设备102的存储器就能被节省,而不必存储作为失败安装的结果的无用信息。
在图3中所例示的架构300不仅支持在某种事务基础上安装新软件,而且利用配置管理器303所提供的安全特性来有条件地安装新软件。具体来说,安全模块307特别地支持这些安全特性,而安全模块307对于配置管理器303是直接或间接可访问的。在名为“用于经过空中的配置安全的系统与方法”的一般拥有并且未决的美国专利申请(序列编号09/843901,2001年4月27日归档,在此完整附录以供参考)中,描述了配置管理器如何在设定配置信息时提供安全性的细节。
参照图4,例示了一个利用配置管理器303的安全特性来有条件地安装新软件的步骤(步骤403)。该步骤包括了前已描述的相应的动作404和405,以及相应的动作408。详细来说,配置管理器303询问CSP它们是否能够执行它们相应的安装指令。作为响应,CSP检查确定是否每个安装指令是否都已授权(动作408)。CSP可以利用赋予安装文件的某个角色掩码来完成这一任务。角色掩码可以随查询而传递给多个CSP。
角色掩码按现在所描述的这样来赋予和使用。当初始创建一个安装文件时,该安装文件可以是有标记或无标记的。安装文件的标记可以通过使用软件如MicrosoftAuthenticode来将一个证书包含到安装文件中而完成。然后移动计算设备102将该证书与某个相应的角色掩码相匹配。每个角色掩码都可以对应于一个适当的证书。而后移动计算设备102将角色掩码赋予相应的安装文件。如果安装文件是无标记的,或具有一个与角色掩码不匹配的证书,则赋予一个缺省的角色掩码,该角色掩码对应于用于某个未鉴别的安装文件来源的适当的安全权限。在有些情况下,这可能意味着根本没有安全权限。
如果对于给定的角色掩码有任何安装指令没有授权,则配置管理器303可以如上面描述的那样制止安装。以这种方式,移动计算设备102可以保护其自身,不让无聊或疏忽的新软件提供者执行对该移动计算设备102总体上有害的安装操作。
现在描述一个基于XML的安装指令501的实例。下面的XML例示了在一个如下的示例XML文档中的最高层嵌套标记:
1    <?xml version=”1.0”encoding=”UTF-8”?>
2    <wap-provisioningdoc>
3-47 [Content]
48   </wap-provisioningdoc>
在XML编码中每一行左边的数字表示了在示例XML文档中的顺序行号。请注意在该XML文档中有48行。只有第1、2和48行表示了嵌套XML代码的最高层。因此,在上面只有第1、2和48行是明确地列出的。XML代码的较低层次总的用术语“[Content]”来表示,在这里情况下它对应于该XML文档的第3至第47行。在说明为术语“[Content]”处,这表示在XML文档中相应行的确切内容将在下面进一步描述。
如那些XML文档编写领域的普通行家所周知,第1行表示了该XML文档的XML版本,以及该XML文档的文本编码格式。在这里,第1行表示XML版本是1.0,文本以UTF-8文本编码格式来编码。
第2行和第48行分别是开始和结束标记,表示其间的材料(即标识为“[Content]”的第3-47行)是某种wap提供的文档。配置管理器303将wap提供的文档识别为某种包含了配置指令的文档类型。然而,在软件安装的情况下,wap提供的文档也可以包含文件指令。
以下表现了在对应于该XML文档第3至第7行的wap提供的文档中的一个元素:
3    <characteristic type=”Registry”>
4         <characteristic type=”maindir\subdir\config\app”>
5            <para name=”Filename”value=”newgame”/>
6        </characteristic>
7    </characteristic>
归结起来,这个元素识别了发生在“注册表”上的一个操作(见第3行),因此指出该元素表示了一个配置操作。配置位置是在一个由“maindir\subdir\config\app”所定义的目录结构内(见第4行)。配置设定是“文件名”配置设定,它将接收到值“newgame”(见第5行)。请注意值“newgame”的意义可以通过其在该XML文档内的上下文来确定。
然而,该XML的wap提供文档不仅包含配置设定指令,而且还包含实际的文件操作指令。以下的XML文档定义了该XML文档的一个文件操作元素的代码范围:
8    <characteristic type=”FileOperation”>
9-46    [Content]
47   </characteristic>
第8行和第47行分别是开始和结束标记,表示从第9行至第46行的内容表现文件操作。以下的XML代码表现了组成这内容一部分的一个元素:
  9     <!--current directory is:\Program Files\My Test App\Temp>

  10    <characteristic type=”%CE1%My Test App\Temp”>

  11        <!--create this directory-->

  12        <characteristic type=”MakeDir”>

  13        </characteristic>

  14        <!--extract hpopen.txt from CAB 00hpopen.001-->

  15        <characteristic type=”hopen.txt”>

  16            <parm name=”Source”value=”00hpopen001”/>

  17            <parm name=”NoOverwriteIfNewer”/>

  18            <parm name=”Shared”/>

  19        </characteristic>

  20        <!--extract AirSync.txt from CAB 00hpopen.002-->

  21        <characteristic type=”AirSync.txt”>

  22            <parm name=”Source”value=”00hpopen002”/>

  23            <parm name=”NoOverwrite”/>

  24        </characteristic>

  25    </characteristic>
第9行是不执行的注释代码。第9行表示文件操作将发生在目录“ProgramFiles\My Test App\Temp”中。第10行是一个开始标记,对应于第25行的结束标记,表示从第11行至第24行的内容将应用于该目录。
如第11注释行所显示,第12和第13行分别是创建目录“Program Files\MyTest App\Temp”的开始和结束标记。请注意文本“%CE1%”是文本“ProgramFiles”的一个已编码形式。如第14注释行所显示,第15至第19行从一个称作“CAB 00hpopen.001”的所要安装文件503的压缩版本中解出一个称作“hpopen.txt”的文件。如第20注释行所显示,第21至第24行从一个称作“CAB00hpopen.002”的所要安装文件503的压缩版本中解出一个称作“AirSync.txt”的文件。这些所解出的每一个文件的目标是目录“Program Files\My TestApp\Temp”。
以下的XML元素表示了一个文件复制操作:
  26    <!--Copy email.bmp to Temp directory>

  27    <characteristic type=”\Temp\email.bmp”>

  28        <characteristic type=”Copy”/>

  29            <parm name=”Source”value=”My Test App\email.bmp”/>

  30            <parm name=”NoOverwriteIfNewer”/>

  31            <!--If email.bmp is newer,do not overwrite.-->

  32        </characteristic>

  33    </characteristic>
这一元素将一个称作“email.bmp”的文件从临时目录“Program Files\MyTest App\Temp”复制到目标目录“Program Files\My Test App”。
以下的XML元素表示了一个文件移动操作:
34    <!--Move existing file to target file:profile_move.bmp-->
35    <characteristic type=”\Temp\profile_move.bmp”>
36        <characteristic type=”Move”/>
37            <parm name=”Source”value=”My Test App\profile.bmp”/>
38        </characteristic>
39    </characteristic>
这一元素将一个称作“profile_move.bmp”的文件从临时目录“ProgramFiles\My Test App\Temp”以新的文件名“profile.bmp”移动到目标目录“ProgramFiles\My Test App”。
以下的XML元素表示了一个文件删除操作:
40    <!--Delete target file-->
41    <characteristic type=”\Temp\email.bmp”>
42        <characteristic type=”Delete”/>
43            <parm name=”ForceDelete”/>
44        </characteristic>
45    </characteristic>
这一元素将一个称作“email.bmp”的文件从临时目录“Program Files\MyTest App\Temp”中删除。
请注意安装是通过衡量移动计算设备的已有组件来完成的。配置管理器303只需要识别并解析出文件操作的元素,然后将指令传递给适当的配置服务供应器,无论其是文件CSP 308还是注册表CSP 309。因此,与只提供配置设定相比,安装新软件所要求增加的处理花费是最小的。因此,本发明的原则在安装过程中实现回滚与安全的同时,实现了在移动计算设备上新软件的有效安装。
本发明能以其它特定的形式来实施而不背离本发明的精神和本质特征。已描述的实施例从所有方面讲都只是示例性的和非限制性的。所以,本发明的范围是通过所附的权利要求来显示,而不是通过前面的描述。与这些权利要求等价的意义或范围内的所有改变,都包含在其范围内。
通过美国专利特许所要求并期望被保护的是权利要求。

Claims (58)

1、在一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中,使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器的回滚特性作为一个事务来安装该套计算机可执行指令的一种方法,其特征在于该方法包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的一个动作;
该移动计算设备访问定义了如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的一个动作,而这些安装指令直接由与该移动计算设备相关的一个配置管理器来解释;
该配置管理器使这些安装指令得以执行的一个动作;以及
该配置管理器使一个回滚文档得以构造的一个动作。
2、如权利要求1所述的一种方法,其特征在于进一步包含:
该移动计算设备判定这些安装指令是否会成功的一个动作。
3、如权利要求2所述的一种方法,其特征在于所述移动计算设备判定这些安装指令是否会成功的动作包含:
询问多个将要执行某些安装指令的配置服务供应器就它们相应的安装指令而言安装是否会成功的一个动作。
4、如权利要求3所述的一种方法,其特征在于进一步包含:
根据询问的结果判定安装是否会成功的一个动作;以及
包括将这些安装指令作为一个整体执行的事务提交的一个动作。
5、如权利要求2所述的一种方法,其特征在于该移动计算设备判定这些安装指令是否会成功的动作包含:
判定这些安装指令都已成功执行的一个动作。
6、如权利要求2所述的一种方法,其特征在于该移动计算设备判定这些安装指令是否会成功的动作包含:
判定这些安装指令作为整体已执行失败的一个动作;以及
通过执行回滚文档来倒转安装过程的一个动作。
7、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的动作包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的一个压缩版本的一个动作;以及
该移动计算设备解压将要安装在该移动计算设备上的至少一个文件的该压缩版本的一个动作。
8、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的动作包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的一个未压缩版本的一个动作。
9、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问按照由配置管理器解释的一个模式构造安装指令的一个动作。
10、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问按照可扩展标记语言(XML)构造安装指令的一个动作。
11、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的安装指令的动作包含:
该移动计算设备访问至少一个安装指令以提取一个文件的一个压缩版本的一个动作。
12、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的安装指令的动作包含:
该移动计算设备访问至少一个安装指令以将一个文件从一个源目录位置移动到一个目标目录位置的一个动作。
13、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的安装指令的动作包含:
该移动计算设备访问至少一个安装指令以将一个文件从一个源目录位置复制到一个目标目录位置的一个动作。
14、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的安装指令的动作包含:
该移动计算设备访问至少一个安装指令以删除一个文件的一个动作。
15、如权利要求1所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的安装指令的动作包含:
该移动计算设备访问至少一个安装指令以改变一个配置设定的一个动作。
16、如权利要求1所述的一种方法,其特征在于其中的该配置管理器使这些安装指令得以执行的动作包含:
该配置管理器直接执行这些安装指令的一个动作。
17、如权利要求1所述的一种方法,其特征在于其中的该配置管理器使这些安装指令得以执行的动作包含:
该配置管理器让至少一个其它模块来执行这些安装指令的一个动作。
18、如权利要求17所述的一种方法,其特征在于其中的该配置管理器让至少一个其它模块来执行这些安装指令的动作包含:
该配置管理器将文件命令传递给一个文件配置服务供应器的一个动作。
19、如权利要求17所述的一种方法,其特征在于其中的该配置管理器让至少一个其它模块来执行这些安装指令的动作包含:
该配置管理器将配置命令传递给一个注册表配置服务供应器的一个动作。
20、如权利要求1所述的一种方法,其特征在于其中的该配置管理器使一个回滚文档得以构造的动作包含:
该配置管理器将一个安装前状态包含在该回滚文档中的一个动作。
21、如权利要求20所述的一种方法,其特征在于其中的该配置管理器将一个安装前状态包含在该回滚文档中的动作包含:
为每个改变一个文件的安装指令备份该文件原始版本的一个动作。
22、如权利要求1所述的一种方法,其特征在于其中的该配置管理器将一个安装前状态包含在该回滚文档中的动作包含:
为每个将一个配置设定从一个原始值改变为一个改变了值的安装指令备份该配置设定原始值的一个动作。
23、一个在包含一套计算机可执行指令来源和多台移动计算设备的网络环境中使用的一种计算机程序产品,该计算机程序产品实现了使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器的回滚特性作为一个事务来安装该套计算机可执行指令的一种方法,该计算机程序产品包含至少一种计算机可读取媒介,其特征在于在其上存储了:
用于访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的计算机可执行指令;
用于访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的计算机可执行指令,而这些安装指令直接由与该移动计算设备相关的一个配置管理器来解释;
用于使这些安装指令得以执行的计算机可执行指令;
用于使一个回滚文档得以构造的计算机可执行指令;以及
用于判定这些安装指令是否会成功的计算机可执行指令。
24、如权利要求23所述的一种计算机程序产品,其特征在于其中的至少一种计算机可读取媒介是物理存储媒介。
25、如权利要求23所述的一种计算机程序产品,其特征在于其中的用于使这些回滚文档得以构造的计算机可执行指令包含:
用于将计算机可执行指令包含在由配置管理器直接解释的回滚文档中的计算机可执行指令。
26、如权利要求23所述的一种计算机程序产品,其特征在于其中的用于判定这些安装指令是否会成功的计算机可执行指令包含:
用于判定这些安装指令作为整体已成功执行的计算机可执行指令。
27、如权利要求23所述的一种计算机程序产品,其特征在于其中的用于判定这些安装指令是否会成功的计算机可执行指令包含:
用于判定这些安装指令作为整体已执行失败的计算机可执行指令;以及
用于通过执行回滚文档来倒转安装过程的计算机可执行指令。
28、在一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中,使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器的回滚特性作为一个事务来安装该套计算机可执行指令的一种方法,其特征在于该方法包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的一个动作;以及
用于利用配置服务器以一个事务化方式安装该至少一个文件的一个步骤。
29、如权利要求28所述的一种方法,其特征在于其中的用于利用配置服务器以一个事务化方式安装该至少一个文件的步骤包含:
该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的一个动作,而这些安装指令直接由与该移动计算设备相关的一个配置管理器来解释;
该配置管理器使这些安装指令得以执行的一个动作;
该配置管理器使一个回滚文档得以构造的一个动作;以及
该配置管理器判定这些计算机可执行指令作为整体是否已成功执行的一个动作。
30、在一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中,使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器的安全特性来安装该套计算机可执行指令的一种方法,其特征在于该方法包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的一个动作;
该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的一个动作,而这些安装指令直接由与该移动计算设备相关的一个配置管理器来解释;
该配置管理器使这些计算机可执行指令得以执行的一个动作;以及
对这些计算机可执行指令中的至少一个,该配置管理器判定这些计算机可执行指令的执行是否已授权的一个动作。
31、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的动作包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的一个压缩版本的一个动作;以及
该移动计算设备解压将要安装在该移动计算设备上的至少一个文件的该压缩版本的一个动作。
32、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的动作包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的一个未压缩版本的一个动作。
33、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问按照由配置管理器可解释的一个模式构造的安装指令的一个动作。
34、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问按照可扩展标记语言(XML)规定构造的安装指令的一个动作。
35、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问至少一个安装指令以提取析一个文件的一个压缩版本的一个动作。
36、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问至少一个安装指令以将一个文件从一个源目录位置移动到一个目标目录位置的一个动作。
37、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问至少一个安装指令以将一个文件从一个源目录位置复制到一个目标目录位置的一个动作。
38、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问至少一个安装指令以删除一个文件的一个动作。
39、如权利要求30所述的一种方法,其特征在于其中的该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的动作包含:
该移动计算设备访问至少一个安装指令以改变一个配置设定的一个动作。
40、如权利要求30所述的一种方法,其特征在于其中的该配置管理器使这些安装指令得以执行的动作包含:
该配置管理器直接执行这些安装指令的一个动作。
41、如权利要求30所述的一种方法,其特征在于其中的该配置管理器使这些安装指令得以执行的动作包含:
该配置管理器让至少一个其它模块来执行这些安装指令的一个动作。
42、如权利要求41所述的一种方法,其特征在于其中的该配置管理器让至少一个其它模块来执行这些安装指令的动作包含:
该配置管理器将文件命令传递给一个文件配置服务供应器的一个动作。
43、如权利要求41所述的一种方法,其特征在于其中的该配置管理器让至少一个其它模块来执行这些安装指令的动作包含:
该配置管理器将配置命令传递给一个注册表配置服务供应器的一个动作。
44、如权利要求30所述的一种方法,其特征在于其中的该配置管理器判定这些计算机可执行指令的执行是否已授权的动作包含:
该配置管理器访问与该套计算机可执行指令相应的一个角色掩码的一个动作;以及
使用该角色掩码来判定这些计算机可执行指令的执行是否已授权的一个动作。
45、如权利要求30所述的一种方法,其特征在于其中的该配置管理器判定这些计算机可执行指令的执行是否已授权的动作包含:
该配置管理器判定这些计算机可执行指令中的至少一个未授权的一个动作。
46、如权利要求45所述的一种方法,其特征在于进一步包含:
在该配置管理器判定这些计算机可执行指令中的至少一个未授权的动作后,停止或放弃该配置管理器使这些安装指令得以执行的动作的一个动作。
47、在一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中使用的一种计算机程序产品,该计算机程序产品实现了使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器的安全特性来安装该套计算机可执行指令的一种方法,该计算机程序产品包含至少一种计算机可读取媒介,其特征在于在其上存储了:
用于访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的计算机可执行指令;
用于访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的计算机可执行指令,而这些安装指令直接由与该移动计算设备相关的一个配置管理器来解释;
用于使这些安装指令得以执行的计算机可执行指令;以及
用于为这些安装指令中的至少一个判定这些安装指令的执行是否已授权的计算机可执行指令。
48、如权利要求47所述的一种计算机程序产品,其特征在于其中的至少一种计算机可读取媒介是物理存储媒介。
49、如权利要求47所述的一种计算机程序产品,其特征在于其中的用于判定这些安装指令的执行是否已授权的计算机可执行指令包含:
用于访问与该套计算机可执行指令相应的一个角色掩码的计算机可执行指令;以及
用于使用该角色掩码来判定这些计算机可执行指令的执行是否已授权的计算机可执行指令。
50、如权利要求47所述的一种计算机程序产品,其特征在于其中的用于判定这些计算机可执行指令的执行是否已授权的计算机可执行指令包含:
用于判定这些计算机可执行指令中的至少一个未授权的计算机可执行指令。
51、如权利要求50所述的一种计算机程序产品,其特征在于在其的至少一种计算机可读取媒介上进一步存储了:
用于在该配置管理器判定这些计算机可执行指令中的至少一个未授权的动作后,停止该配置管理器使这些安装指令得以执行的动作的计算机可执行指令。
52、在一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中,使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器的安全特性来安装该套计算机可执行指令的一种方法,其特征在于该方法包含:
该移动计算设备访问将要安装在该移动计算设备上的至少一个文件的至少一个版本的一个动作;以及
用于利用配置服务器的安全特性有条件地安装该至少一个文件的一个步骤。
53、如权利要求52所述的一种方法,其特征在于用于利用配置服务器的安全特性有条件地安装该至少一个文件的步骤包含:
该移动计算设备访问确定如何将该至少一个文件安装到该移动计算设备上的计算机可执行安装指令的一个动作,而这些安装指令直接由与该移动计算设备相关的一个配置管理器来解释;
该配置管理器使这些安装指令得以执行的一个动作;以及
对这些安装指令中的至少一个,该配置管理器判定这些安装指令的执行是否已授权的一个动作。
54、用于一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中的至少一种计算机可读取媒介,在该至少一种计算机可读取媒介上存储了用于实现使至少其中一台移动计算设备利用驻留在该移动计算设备上的配置管理器来安装该套计算机可执行指令的一种方法的一种数据结构,该数据结构包含:
表示至少一个文件的至少一个版本将要被安装的一个字段;以及
指示如何将该至少一个文件安装到该移动计算设备上的安装指令,而这些安装指令被结构化成可由配置管理器直接解释。
55、如权利要求54所述的至少一种计算机可读取媒介,其特征在于其中的字段包含至少一个文件的一个压缩版本将要被安装。
56、如权利要求54所述的至少一种计算机可读取媒介,其特征在于其中的安装指令是按照某种可扩展标记语言(XML)规范而构造的。
57、如权利要求54所述的至少一种计算机可读取媒介,其特征在于其中的该至少一种计算机可读取媒介是物理存储媒介。
58、用于一个包含了一套计算机可执行指令来源和多台移动计算设备的网络环境中的一个系统,该系统用于在一台移动计算设备上利用驻留在该移动计算设备上的配置管理器的安全特性来安装该套计算机可执行指令,该系统包含:
配置来将该套计算机可执行指令解析成将要安装的一个或多个文件和安装指令的一个安装模块;
配置来从该安装模块接收安装指令的一个配置管理器;
配置来从该配置管理器接收表示文件或目录操作的任何安装指令,并配置来执行所接收到的安装指令的一个文件配置服务供应器;以及
配置来从该配置管理器接收表示配置设定操作的任何安装指令,并配置来执行所接收到的安装指令的一个注册表配置服务供应器。
CNB021557772A 2001-12-05 2002-12-04 利用配置管理器的回滚与安全特性在移动计算设备上安装软件 Expired - Fee Related CN100351779C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/005,959 US6993760B2 (en) 2001-12-05 2001-12-05 Installing software on a mobile computing device using the rollback and security features of a configuration manager
US10/005,959 2001-12-05

Publications (2)

Publication Number Publication Date
CN1423192A true CN1423192A (zh) 2003-06-11
CN100351779C CN100351779C (zh) 2007-11-28

Family

ID=21718563

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021557772A Expired - Fee Related CN100351779C (zh) 2001-12-05 2002-12-04 利用配置管理器的回滚与安全特性在移动计算设备上安装软件

Country Status (5)

Country Link
US (2) US6993760B2 (zh)
EP (1) EP1318452A1 (zh)
JP (2) JP2003208316A (zh)
CN (1) CN100351779C (zh)
TW (1) TWI258945B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426749C (zh) * 2006-03-01 2008-10-15 华为技术有限公司 资源修改失败的处理设备和方法
CN102193780A (zh) * 2010-03-08 2011-09-21 华为技术有限公司 事务实现方法以及事务实现设备
CN102246144A (zh) * 2008-12-12 2011-11-16 诺基亚公司 用于在计算机平台上安装程序的方法和装置
CN103488549A (zh) * 2013-09-29 2014-01-01 方正国际软件有限公司 多镜像数据的回滚处理系统和回滚处理方法
CN103677879A (zh) * 2012-09-14 2014-03-26 腾讯科技(深圳)有限公司 软件安装方法及相应软件安装装置
CN104956374A (zh) * 2013-03-01 2015-09-30 意法爱立信有限公司 用于软件防回滚恢复的方法

Families Citing this family (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934532B2 (en) * 2000-02-09 2005-08-23 Apriva, Inc. Communication systems, components, and methods operative with programmable wireless devices
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7770102B1 (en) 2000-06-06 2010-08-03 Microsoft Corporation Method and system for semantically labeling strings and providing actions based on semantically labeled strings
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7788602B2 (en) 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US20030135851A1 (en) * 2002-01-17 2003-07-17 Laura Dickey Method and system for concentration of applications during installation in target devices
US20030200149A1 (en) * 2002-04-17 2003-10-23 Dell Products L.P. System and method for facilitating network installation
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7742048B1 (en) 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
GB0212314D0 (en) 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7356537B2 (en) 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US20030237021A1 (en) * 2002-06-20 2003-12-25 Ching Yee Fen Automatic restoration of software applications in a mobile computing device
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7209915B1 (en) 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US7865578B1 (en) 2002-08-19 2011-01-04 Juniper Networks, Inc. Generation of a configuration patch for network devices
US7558835B1 (en) 2002-08-19 2009-07-07 Juniper Networks, Inc. Application of a configuration patch to a network device
KR100504476B1 (ko) 2002-10-30 2005-08-01 엘지전자 주식회사 아이콘 제어를 위한 방법 및 디스플레이 시스템
US7783614B2 (en) * 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7631055B1 (en) * 2003-04-23 2009-12-08 Cisco Technology, Inc. Method and apparatus providing automatic connection announcement from a modular network device to a network management point
US7451224B1 (en) 2003-04-23 2008-11-11 Cisco Technology, Inc. Method and apparatus for automatically synchronizing a unique identifier of a network device
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
KR100531875B1 (ko) * 2003-06-24 2005-11-29 엘지전자 주식회사 이동 통신 단말기의 운용 프로그램 탑재 방법
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7500235B2 (en) * 2003-09-05 2009-03-03 Aol Time Warner Interactive Video Group, Inc. Technique for updating a resident application and associated parameters in a user terminal through a communications network
US20070169075A1 (en) * 2003-09-05 2007-07-19 David Lill Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing
CA2539460C (en) * 2003-09-17 2012-09-25 Research In Motion Limited System and method for dynamic version management of applications
US8555271B2 (en) * 2003-10-29 2013-10-08 Qualcomm Incorporated Method, software and apparatus for application upgrade during execution
US8930944B2 (en) 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
US7080279B2 (en) * 2003-12-03 2006-07-18 International Business Machines Corporation Autonomic rollback
US20050124332A1 (en) * 2003-12-08 2005-06-09 Clark David R. Mobile device programming system and method
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US7523185B1 (en) 2004-01-13 2009-04-21 Cisco Technology, Inc. Method and apparatus for providing automatic frame relay and ATM provisioning of network devices
US7523097B1 (en) * 2004-01-13 2009-04-21 Juniper Networks, Inc. Restoration of archived configurations for a network device
US7222340B2 (en) * 2004-01-27 2007-05-22 Research In Motion Limited Software-delivered dynamic persistent data
US8418162B2 (en) * 2004-01-27 2013-04-09 Research In Motion Limited Network delivered dynamic persistent data
TWI237786B (en) * 2004-02-11 2005-08-11 Benq Corp Program correction method, storage medium and program-driven electronic device using the same
US7290164B1 (en) * 2004-03-03 2007-10-30 Cisco Technology, Inc. Method of reverting to a recovery configuration in response to device faults
US7539686B2 (en) * 2004-03-12 2009-05-26 Microsoft Corporation Tag-based schema for distributing update metadata in an update distribution system
JP2005267089A (ja) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd ドライバ管理方法および装置並びにプログラム
US8488476B2 (en) * 2004-04-05 2013-07-16 Verizon Business Global Llc Providing applets to remote devices in a communications network
US7710888B2 (en) 2004-04-05 2010-05-04 Verizon Business Global Llc Apparatus and method for testing and fault isolation in a communication network
US7587433B2 (en) 2004-06-01 2009-09-08 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
US8595687B2 (en) * 2004-06-23 2013-11-26 Broadcom Corporation Method and system for providing text information in an application framework for a wireless device
US7934213B2 (en) * 2004-11-09 2011-04-26 Microsoft Corporation Device driver rollback
DE102005000653A1 (de) * 2005-01-04 2006-07-13 Robert Bosch Gmbh Skriptbasierte Software-Installation über Broadcast-Transportmedien
ATE510376T1 (de) * 2005-02-22 2011-06-15 Nextair Corp Ermöglichung von mobilgeräte-bewusstheit über die verfügbarkeit neuer oder aktualisierter serverseitiger anwendungen
US8646080B2 (en) * 2005-09-16 2014-02-04 Avg Technologies Cy Limited Method and apparatus for removing harmful software
US8719924B1 (en) 2005-03-04 2014-05-06 AVG Technologies N.V. Method and apparatus for detecting harmful software
US20070067844A1 (en) * 2005-09-16 2007-03-22 Sana Security Method and apparatus for removing harmful software
KR100764791B1 (ko) 2005-04-08 2007-10-11 엘지전자 주식회사 장치관리 시스템 및 그 시스템에서의 장치관리 스케줄링방법
CN101040552B (zh) * 2005-04-18 2010-12-01 捷讯研究有限公司 控制软件版本更新的方法和系统
US7970386B2 (en) * 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
US20060288057A1 (en) * 2005-06-15 2006-12-21 Ian Collins Portable data backup appliance
US20070016638A1 (en) * 2005-06-30 2007-01-18 Ian Elbury System and method of application provisioning
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US7818160B2 (en) 2005-10-12 2010-10-19 Storage Appliance Corporation Data backup devices and methods for backing up data
US7702830B2 (en) * 2005-10-12 2010-04-20 Storage Appliance Corporation Methods for selectively copying data files to networked storage and devices for initiating the same
US8195444B2 (en) * 2005-10-12 2012-06-05 Storage Appliance Corporation Systems and methods for automated diagnosis and repair of storage devices
US7899662B2 (en) 2005-10-12 2011-03-01 Storage Appliance Corporation Data backup system including a data protection component
US20070091746A1 (en) * 2005-10-12 2007-04-26 Storage Appliance Corporation Optical disc for simplified data backup
US20080028008A1 (en) * 2006-07-31 2008-01-31 Storage Appliance Corporation Optical disc initiated data backup
US7813913B2 (en) 2005-10-12 2010-10-12 Storage Appliance Corporation Emulation component for data backup applications
US7844445B2 (en) * 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
US7822595B2 (en) * 2005-10-12 2010-10-26 Storage Appliance Corporation Systems and methods for selectively copying embedded data files
US7962798B2 (en) * 2006-04-17 2011-06-14 The Trustees Of Columbia University In The City Of New York Methods, systems and media for software self-healing
US8578363B2 (en) * 2006-05-03 2013-11-05 Microsoft Corporation Differentiated installable packages
US20070266128A1 (en) * 2006-05-10 2007-11-15 Bhogal Kulvir S Method and apparatus for monitoring deployment of applications and configuration changes in a network of data processing systems
US20080082453A1 (en) * 2006-10-02 2008-04-03 Storage Appliance Corporation Methods for bundling credits with electronic devices and systems for implementing the same
US20080172487A1 (en) * 2007-01-03 2008-07-17 Storage Appliance Corporation Systems and methods for providing targeted marketing
WO2008092162A2 (en) * 2007-01-26 2008-07-31 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for recovering an application from a fault or attack
US9442708B1 (en) * 2007-02-16 2016-09-13 Bladelogic, Inc. System and method for installing, updating and uninstalling applications
US9274811B1 (en) 2007-02-16 2016-03-01 Bladelogic, Inc. System and method for cloud provisioning and application deployment
US8239854B2 (en) * 2007-03-26 2012-08-07 Microsoft Corporation Bookmark and configuration file for installation sequence
EP2132628A1 (en) * 2007-04-05 2009-12-16 International Business Machines Corporation Method, system and computer program for configuring firewalls
US20080320110A1 (en) * 2007-06-25 2008-12-25 Sharp Laboratories Of America, Inc. Firmware rollback and configuration restoration for electronic devices
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
US8196136B2 (en) * 2007-09-28 2012-06-05 Microsoft Corporation Configuration and change management system with restore points
US8978028B2 (en) * 2007-10-10 2015-03-10 Microsoft Technology Licensing, Llc Transactional multi-package installation
US20090183151A1 (en) * 2008-01-15 2009-07-16 Sam Gharabally Obtaining Software for a Handheld Device
KR20140022481A (ko) 2008-01-18 2014-02-24 인터디지탈 패튼 홀딩스, 인크 M2m 통신을 인에이블하는 방법 및 장치
US8762977B2 (en) * 2008-04-10 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Mobile device software management method and apparatus
US8135393B2 (en) 2008-09-18 2012-03-13 Research In Motion Limited System and method for transactional application lifecycle management for mobile devices
EP2169552A1 (en) * 2008-09-18 2010-03-31 Research In Motion Limited System and method for transactional application lifecycle management for mobile devices
US8132047B2 (en) 2008-11-14 2012-03-06 International Business Machines Corporation Restoring application upgrades using an application restore point
US8332842B2 (en) * 2008-11-14 2012-12-11 International Business Machines Corporation Application restore points
US8838084B2 (en) * 2009-02-27 2014-09-16 Blackberry Limited System and method for provisioning mobile communication device upgrades
RU2011140357A (ru) 2009-03-05 2013-04-10 Интердиджитал Пэйтент Холдингз, Инк. Способ и устройство для проверки и подтверждения целостности h(e)nb
US20110010543A1 (en) * 2009-03-06 2011-01-13 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US8117087B2 (en) * 2009-09-24 2012-02-14 Avaya Inc. Customer loyalty, product demonstration, and store/contact center/internet coupling system and method
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8347382B2 (en) * 2009-12-17 2013-01-01 International Business Machines Corporation Malicious software prevention using shared information
US8413137B2 (en) * 2010-02-04 2013-04-02 Storage Appliance Corporation Automated network backup peripheral device and method
JP5359911B2 (ja) * 2010-02-08 2013-12-04 株式会社リコー 情報処理システム、情報処理装置、管理装置、インストール処理方法、プログラム及び記憶媒体
JP5515904B2 (ja) 2010-03-17 2014-06-11 株式会社リコー 情報処理システム、管理装置、情報処理装置、インストール処理方法、プログラム及び記憶媒体
US8473925B2 (en) 2010-05-11 2013-06-25 Ca, Inc. Conditional dynamic instrumentation of software in a specified transaction context
US8566800B2 (en) 2010-05-11 2013-10-22 Ca, Inc. Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation
US8782612B2 (en) 2010-05-11 2014-07-15 Ca, Inc. Failsafe mechanism for dynamic instrumentation of software using callbacks
CN101853296A (zh) * 2010-05-28 2010-10-06 华为终端有限公司 管理应用程序的方法和装置
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
US8938729B2 (en) 2010-10-12 2015-01-20 Ca, Inc. Two pass automated application instrumentation
JP5810168B2 (ja) 2010-11-05 2015-11-11 インターデイジタル パテント ホールディングス インコーポレイテッド デバイスの妥当性確認、障害指示、および修復
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8752015B2 (en) 2011-12-05 2014-06-10 Ca, Inc. Metadata merging in agent configuration files
US9411616B2 (en) 2011-12-09 2016-08-09 Ca, Inc. Classloader/instrumentation approach for invoking non-bound libraries
CN102609328B (zh) 2012-01-29 2015-04-15 华为终端有限公司 系统差分升级方法和装置、移动终端
CN102594908B (zh) 2012-03-13 2014-08-20 华为技术有限公司 一种推送网络内容的方法、设备和系统
US9367298B1 (en) 2012-03-28 2016-06-14 Juniper Networks, Inc. Batch configuration mode for configuring network devices
WO2013154380A1 (ko) * 2012-04-12 2013-10-17 한양대학교 산학협력단 소프트웨어 정의 라디오 어플리케이션의 동작 방법
JP2014126943A (ja) 2012-12-25 2014-07-07 Fanuc Ltd 画像中の対象物を検出するために画像処理を行う画像処理装置及び方法
US9634921B2 (en) 2013-03-04 2017-04-25 Hello Inc. Wearable device coupled by magnets positioned in a frame in an interior of the wearable device with at least one electronic circuit
US9432091B2 (en) 2013-03-04 2016-08-30 Hello Inc. Telemetry system with wireless power receiver and monitoring devices
US9339188B2 (en) 2013-03-04 2016-05-17 James Proud Methods from monitoring health, wellness and fitness with feedback
US9445651B2 (en) 2013-03-04 2016-09-20 Hello Inc. Wearable device with overlapping ends coupled by magnets
US9530089B2 (en) 2013-03-04 2016-12-27 Hello Inc. Wearable device with overlapping ends coupled by magnets of a selected width, length and depth
US9532716B2 (en) 2013-03-04 2017-01-03 Hello Inc. Systems using lifestyle database analysis to provide feedback
US9553486B2 (en) 2013-03-04 2017-01-24 Hello Inc. Monitoring system and device with sensors that is remotely powered
US9704209B2 (en) 2013-03-04 2017-07-11 Hello Inc. Monitoring system and device with sensors and user profiles based on biometric user information
US20140246502A1 (en) 2013-03-04 2014-09-04 Hello Inc. Wearable devices with magnets encased by a material that redistributes their magnetic fields
US9367793B2 (en) 2013-03-04 2016-06-14 Hello Inc. Wearable device with magnets distanced from exterior surfaces of the wearable device
US9392939B2 (en) 2013-03-04 2016-07-19 Hello Inc. Methods using a monitoring device to monitor individual activities, behaviors or habit information and communicate with a database with corresponding individual base information for comparison
US9427160B2 (en) 2013-03-04 2016-08-30 Hello Inc. Wearable device with overlapping ends coupled by magnets positioned in the wearable device by an undercut
US9848776B2 (en) 2013-03-04 2017-12-26 Hello Inc. Methods using activity manager for monitoring user activity
US9406220B2 (en) 2013-03-04 2016-08-02 Hello Inc. Telemetry system with tracking receiver devices
US9298882B2 (en) 2013-03-04 2016-03-29 Hello Inc. Methods using patient monitoring devices with unique patient IDs and a telemetry system
US9420856B2 (en) 2013-03-04 2016-08-23 Hello Inc. Wearable device with adjacent magnets magnetized in different directions
US9398854B2 (en) 2013-03-04 2016-07-26 Hello Inc. System with a monitoring device that monitors individual activities, behaviors or habit information and communicates with a database with corresponding individual base information for comparison
US9737214B2 (en) 2013-03-04 2017-08-22 Hello Inc. Wireless monitoring of patient exercise and lifestyle
US9462856B2 (en) 2013-03-04 2016-10-11 Hello Inc. Wearable device with magnets sealed in a wearable device structure
US9662015B2 (en) 2013-03-04 2017-05-30 Hello Inc. System or device with wearable devices having one or more sensors with assignment of a wearable device user identifier to a wearable device user
US9345403B2 (en) 2013-03-04 2016-05-24 Hello Inc. Wireless monitoring system with activity manager for monitoring user activity
US9159223B2 (en) 2013-03-04 2015-10-13 Hello, Inc. User monitoring device configured to be in communication with an emergency response system or team
US9427189B2 (en) 2013-03-04 2016-08-30 Hello Inc. Monitoring system and device with sensors that are responsive to skin pigmentation
US8850421B2 (en) * 2013-03-04 2014-09-30 Hello Inc. Telemetry system with remote firmware updates or repair for remote monitoring devices when the monitoring device is not in use by the user
US9424508B2 (en) 2013-03-04 2016-08-23 Hello Inc. Wearable device with magnets having first and second polarities
US9357922B2 (en) 2013-03-04 2016-06-07 Hello Inc. User or patient monitoring systems with one or more analysis tools
US9430938B2 (en) 2013-03-04 2016-08-30 Hello Inc. Monitoring device with selectable wireless communication
US9361572B2 (en) 2013-03-04 2016-06-07 Hello Inc. Wearable device with magnets positioned at opposing ends and overlapped from one side to another
US9149189B2 (en) 2013-03-04 2015-10-06 Hello, Inc. User or patient monitoring methods using one or more analysis tools
US9420857B2 (en) 2013-03-04 2016-08-23 Hello Inc. Wearable device with interior frame
US9320434B2 (en) 2013-03-04 2016-04-26 Hello Inc. Patient monitoring systems and messages that send alerts to patients only when the patient is awake
US9330561B2 (en) 2013-03-04 2016-05-03 Hello Inc. Remote communication systems and methods for communicating with a building gateway control to control building systems and elements
US9436903B2 (en) 2013-03-04 2016-09-06 Hello Inc. Wearable device with magnets with a defined distance between adjacent magnets
US9345404B2 (en) 2013-03-04 2016-05-24 Hello Inc. Mobile device that monitors an individuals activities, behaviors, habits or health parameters
US9204798B2 (en) 2013-03-04 2015-12-08 Hello, Inc. System for monitoring health, wellness and fitness with feedback
US9526422B2 (en) 2013-03-04 2016-12-27 Hello Inc. System for monitoring individuals with a monitoring device, telemetry system, activity manager and a feedback system
US9610030B2 (en) 2015-01-23 2017-04-04 Hello Inc. Room monitoring device and sleep analysis methods
US10058290B1 (en) 2013-06-21 2018-08-28 Fitbit, Inc. Monitoring device with voice interaction
US10009581B2 (en) 2015-01-02 2018-06-26 Fitbit, Inc. Room monitoring device
US9993197B2 (en) 2013-06-21 2018-06-12 Fitbit, Inc. Patient monitoring systems and messages that send alerts to patients only when the patient is awake
US9993166B1 (en) 2013-06-21 2018-06-12 Fitbit, Inc. Monitoring device using radar and measuring motion with a non-contact device
US10004451B1 (en) 2013-06-21 2018-06-26 Fitbit, Inc. User monitoring system
US9684499B2 (en) 2013-06-30 2017-06-20 Dropbox, Inc. Systems and methods for facilitating installation of software applications
CN104346184A (zh) * 2013-08-01 2015-02-11 中兴通讯股份有限公司 应用打包装置及方法
US10964199B2 (en) 2016-11-14 2021-03-30 Instant Care, Inc. AI-based monitoring system for reducing a false alarm notification to a call center
US11281522B2 (en) * 2019-08-30 2022-03-22 Microsoft Technology Licensing, Llc Automated detection and classification of dynamic service outages

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US5113518A (en) * 1988-06-03 1992-05-12 Durst Jr Robert T Method and system for preventing unauthorized use of software
US5838907A (en) 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
US5768566A (en) * 1996-03-01 1998-06-16 Microsoft Corporation Method and facility for uninstalling a computer program package
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
JPH10177473A (ja) * 1996-12-18 1998-06-30 Japan Airlines Co Ltd コンピュータ・プログラムのインストール方法及びシステム
WO1998040805A2 (en) * 1997-02-27 1998-09-17 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US5991543A (en) * 1997-08-29 1999-11-23 Dell Usa, L.P. Software installation and testing for a build-to-order computer system
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
US6078921A (en) * 1998-03-03 2000-06-20 Trellix Corporation Method and apparatus for providing a self-service file
JPH11316721A (ja) * 1998-04-30 1999-11-16 Nippon Telegr & Teleph Corp <Ntt> ファイル送受信方法及びシステム及びファイル送受信プログラムを格納した記憶媒体
JP2000082002A (ja) * 1998-09-07 2000-03-21 Techno Craft:Kk データ管理システム及び記録媒体
US6363499B1 (en) * 1998-09-21 2002-03-26 Microsoft Corporation Method and system for restoring a computer to its original state after an unsuccessful installation attempt
US6523166B1 (en) * 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
US6366898B2 (en) * 1998-09-21 2002-04-02 Sun, Microsystems, Inc. Method and apparatus for managing classfiles on devices without a file system
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6298478B1 (en) * 1998-12-31 2001-10-02 International Business Machines Corporation Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions
US6493751B1 (en) * 1999-02-24 2002-12-10 3Com Corporation Network configuration method and system for a window-based operating system environment
US6434744B1 (en) * 1999-03-03 2002-08-13 Microsoft Corporation System and method for patching an installed application program
US6438749B1 (en) * 1999-03-03 2002-08-20 Microsoft Corporation Method and system for restoring a computer to its original state after an unsuccessful patch installation attempt
US6360364B1 (en) * 1999-03-17 2002-03-19 Microsoft Corporation System and method for installing an application on a portable computer
US6647260B2 (en) 1999-04-09 2003-11-11 Openwave Systems Inc. Method and system facilitating web based provisioning of two-way mobile communications devices
JP2001067232A (ja) * 1999-08-31 2001-03-16 Hitachi Ltd ソフトウエアの配信システムおよびソフトウエアの受信端末装置
US6434628B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns
JP3809548B2 (ja) * 1999-09-24 2006-08-16 株式会社日立製作所 計算機システムおよびプログラムのインストール方法
US6687873B1 (en) * 2000-03-09 2004-02-03 Electronic Data Systems Corporation Method and system for reporting XML data from a legacy computer system
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
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
AU2001294677A1 (en) * 2000-09-22 2002-04-02 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7188243B2 (en) * 2001-02-16 2007-03-06 Microsoft Corporation System and method for over the air configuration security
US7194503B2 (en) * 2001-06-29 2007-03-20 Microsoft Corporation System and method to query settings on a mobile device
US7295522B2 (en) * 2001-06-29 2007-11-13 Microsoft Corporation System and method for continuously provisioning a mobile device
US20030009752A1 (en) * 2001-07-03 2003-01-09 Arvind Gupta Automated content and software distribution system
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US7430602B2 (en) * 2002-12-20 2008-09-30 Qualcomm Incorporated Dynamically provisioned mobile station and method therefor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426749C (zh) * 2006-03-01 2008-10-15 华为技术有限公司 资源修改失败的处理设备和方法
CN102246144A (zh) * 2008-12-12 2011-11-16 诺基亚公司 用于在计算机平台上安装程序的方法和装置
CN102193780A (zh) * 2010-03-08 2011-09-21 华为技术有限公司 事务实现方法以及事务实现设备
CN103677879A (zh) * 2012-09-14 2014-03-26 腾讯科技(深圳)有限公司 软件安装方法及相应软件安装装置
CN103677879B (zh) * 2012-09-14 2019-03-26 腾讯科技(深圳)有限公司 软件安装方法及相应软件安装装置
CN104956374A (zh) * 2013-03-01 2015-09-30 意法爱立信有限公司 用于软件防回滚恢复的方法
CN103488549A (zh) * 2013-09-29 2014-01-01 方正国际软件有限公司 多镜像数据的回滚处理系统和回滚处理方法
CN103488549B (zh) * 2013-09-29 2017-01-18 北大医疗信息技术有限公司 多镜像数据的回滚处理系统和回滚处理方法

Also Published As

Publication number Publication date
US6993760B2 (en) 2006-01-31
JP2009087358A (ja) 2009-04-23
TWI258945B (en) 2006-07-21
TW200301049A (en) 2003-06-16
EP1318452A1 (en) 2003-06-11
CN100351779C (zh) 2007-11-28
US20050132358A1 (en) 2005-06-16
US7017155B2 (en) 2006-03-21
JP4565032B2 (ja) 2010-10-20
US20030121033A1 (en) 2003-06-26
JP2003208316A (ja) 2003-07-25

Similar Documents

Publication Publication Date Title
CN100351779C (zh) 利用配置管理器的回滚与安全特性在移动计算设备上安装软件
US10348804B2 (en) System to automatically process components on a device
US7287068B1 (en) System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
CN107992308B (zh) 一种安卓终端应用程序的插件化管理方法
CN1685395A (zh) 用于使用多个应用的系统和方法
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及系统
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
KR20040015704A (ko) 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
US20060204949A1 (en) Methods and apparatus for providing on-demand assistance for a wireless device
CN1658609A (zh) 定制应用内容供应的系统和方法
CN1886976A (zh) 用于使用动作列表及版本控制对一无线装置执行动作的方法、软件及设备
CN1664813A (zh) 构建、展开、服务并管理可定制和可配置可重复使用应用程序的框架
CN1661982A (zh) 自动配置访问控制的方法和系统
CN1745383A (zh) 用于浏览数据通信网络的方法
EP3611616A1 (en) Software code optimizer and method
WO2004059513A1 (en) System for registry-based automatic installation and component handling on a device
CN1601469A (zh) 程序
CN1180361C (zh) 非标准字符处理装置和系统
CN1256658C (zh) 信息终端装置
CN1606730A (zh) 用在网络环境中的设备
CN100474285C (zh) 用于在装置上自动处理组件的方法和设备
CN1914937A (zh) 用于配置电子设备的方法
CN1534468A (zh) 终端装置及程序
CN112153127A (zh) 一种文件部署方法、装置、设备及存储介质
CN117111987A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

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

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071128

Termination date: 20191204

CF01 Termination of patent right due to non-payment of annual fee