CN101159621B - 移动式和嵌入式设备的配置和管理系统 - Google Patents

移动式和嵌入式设备的配置和管理系统 Download PDF

Info

Publication number
CN101159621B
CN101159621B CN 200710193975 CN200710193975A CN101159621B CN 101159621 B CN101159621 B CN 101159621B CN 200710193975 CN200710193975 CN 200710193975 CN 200710193975 A CN200710193975 A CN 200710193975A CN 101159621 B CN101159621 B CN 101159621B
Authority
CN
China
Prior art keywords
client device
client
limited resources
management system
configuration
Prior art date
Application number
CN 200710193975
Other languages
English (en)
Other versions
CN101159621A (zh
Inventor
丹尼斯·克莱格·马尔
威内·迪奥
詹福瑞·布莱恩·菲利普
迈克·汤姆森
郎大春
Original Assignee
微软公司
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
Priority to US33877701P priority Critical
Priority to US60/338,777 priority
Priority to US10/183,916 priority patent/US7219140B2/en
Priority to US10/183,916 priority
Application filed by 微软公司 filed Critical 微软公司
Priority to CN02155904.X2002.12.05 priority
Priority to CN02155904.X priority
Publication of CN101159621A publication Critical patent/CN101159621A/zh
Application granted granted Critical
Publication of CN101159621B publication Critical patent/CN101159621B/zh

Links

Abstract

本发明披露了一种移动式和嵌入式设备的配置和管理系统,该系统包括独立于所述客户设备实现的客户机代理服务器。所述客户机代理服务器被配置成与所述客户设备通信,并模拟一个代表所述客户设备的全功能客户计算机。

Description

移动式和嵌入式设备的配置和管理系统

[0001] 本申请是申请号为02155904. X,申请日为2002年12月5日,发明名称为“移动式 和嵌入式设备的配置和管理系统”的发明专利申请的分案申请。

[0002] 相关申请

[0003] 本申请要求2001年12月5日由Craig C. Marl等人申请的临时申请号为 60/338777,名禾尔为"Configuration&Management System forMobile & Embedded Devices,, 的美国专利申请的优先权。

技术领域

[0004] 本申请涉及一种配置管理系统,尤其涉及这种系统在有限资源及/或不兼容客户 设备上的使用。

背景技术

[0005] 计算机已经成为工作场所的不可缺少的部分。在许多组织中,几乎每个雇员都使 用至少一个计算机。因此,大的公司一般都操作和维护数量极大的计算机。在这些公司中, 尽可能实现零碎的维护工作的自动化是重要的。

[0006] 幸运的是,局域网络(LAN)和广域网络(WAN)也已经变得普遍,这就使得组织内的 各个计算机能够利用集中提供的计算机服务例如用户识别、文件共享、电子邮件,以及各种 其它类型的服务。

[0007] 配置管理系统代表一种类型的服务,其可被有效地在在网络环境中使用,以便使 组织内的各个不同的计算机的维护和管理自动化。这种服务提供了用于集中的软件分配、 资产管理、以及关于台式计算机、服务器和服务器应用程序的远程发现并排除故障的工具。 微软公司的“系统管理服务器”是为此目的而设计的系统的一个例子。

[0008] 图1表示计算机系统10的一个简化的例子,其中实现了自动化配置管理。这种系 统包括一个管理服务器12和多个客户计算机14。通过局域网或广域网16,客户机14之间 以及客户机和管理服务器之间可以进行通信。

[0009] 虽然在图1中管理服务器被表示为一个装置,但是其可以包括多个单个的计算机 或服务器,它们可能设置在彼此的附近,或者可能设置在各个不同的位置。

[0010] 现代的操作系统和应用软件通常提供客户端支持,用于其上装有操作系统和应用 软件的计算机的自动化的配置管理。例如,微软的Windows XP系列的操作系统在数据库 中维护硬件和软件部件的详细的产品清单(inventory),用于来自计算机本身内的部件的 和来自其它计算机的程序询问(programmatic query)和数据校核(datacollation)。在 Windows环境中,这个功能被称为WindowsManagement Instrumentation (视窗管理测试) 或WMI。改变和配置管理软件可以利用WMI信息来获得各个计算机的产品清单,并评估计算 机的配置是否应当被更新或者被改变。

[0011] 除去操作系统支持之外,各个客户计算机14 一般配置有专用软件,用于支持自动 化配置管理。这种软件一般被设计成特定销售者实现的自动配置管理系统的一部分,例如作为微软的系统管理服务器产品的一部分。专用软件和客户计算机的操作系统协同工作, 以便和管理服务器12协同完成各种功能。因而自动化配置管理系统的整个框架包括服务 器部分和客户机组件。

[0012] 图2表示由微软的系统管理服务器产品执行的配置管理框架的简化的逻辑组件, 包括服务器12的部分和在客户14内实现的部分。所示的这些部分涉及框架的清单和软件 分发特征。

[0013] 管理服务器12具有服务器清单和发现组件(inventory anddiscovery component) 20,其和驻留在客户机14上的客户机清单和发现组件22协同操作。客户机清 单和发现组件22收集客户机14的识别信息和硬件与软件清单,把所述信息组织成数据结 构,并把所述信息提供给服务器12的服务器清单和发现组件20。所述识别信息唯一地标识 被管理的网络上的客户机,并且包括诸如NetBIOS名,IP地址之类的属性。这个信息被打 包,并且作为被称为发现数据记录或DDR的数据结构被报告。管理服务器把这个信息保存 在数据库中,以便利资产管理功能(asset management function)。在客户机14内,许多信 息利用Windows XP操作系统的WMI功能被收集。在服务器12和客户机14之间的通信利 用自动化配置管理系统的特定实施专有的预定协议。

[0014] 客户计算机可以采集和报告200个以上的属性,例如包括以下的细节:

[0015] 盘驱动器的数量和尺寸

[0016] 处理器的类型和速度

[0017] 存储器的数量

[0018] 操作系统

[0019] 监视器和显示器设置

[0020] 计算机名和IP地址

[0021] 关于连接的外围设备的信息

[0022] 网络类型

[0023] BIOS 信息

[0024] 此外,每个客户计算机报告一个在客户机上安装的所有软件应用程序的列表,包 括制造者和版本信息。

[0025] 管理服务器12包括策略提供器(policy provider) 24,其向被管理的计算机例如 客户机14分配策略。所述策略表示配置设置和软件分配。配置设置策略的一个例子是一个 规则,例如“在这个客户计算机上的口令的长度必须是7-10个字符,并且不包括非字母字 符”。软件分配策略表示可用于下载和安装的软件包,并且也包括表示哪种类型的客户可以 下载和安装指出的软件包的信息。软件包是文件及关于文件的下载和安装的说明的集合。

[0026] 客户机14具有策略评价器26,其接收来自服务器12的策略,并评价那些策略,从 而确定哪个是针对客户机14的策略。当策略服务器26确定一个策略针对客户机14时,策 略评价器便把这个信息送到合适的部分执行。配置设置策略用多种方式执行-其中一些方 式要求改变注册表,一些要求访问WMI。如果策略是软件分配类型的策略,则把其送到客户 机14的应用程序安装组件28。安装组件28检查策略信息并确定如何下载相关的软件包。 然后,其连接到和服务器12相关的分发点29,并下载所述软件包。在下载软件包之后,应用 程序安装组件28按照包含在下载的软件包中的信息安装打包的软件。

4[0027] 现有的自动化配置管理系统例如微软系统管理服务器在图1所示的传统的网络 环境中能够很好地工作,其中被管理的计算机包括台式或者其它全功能的计算机。不过,在 组织内的雇员越来越多地利用比常规的台式计算机功能更有限的便携式计算装置。具体地 说,已知的作为个人数字助理(PDA)的手持设备被越来越广泛地使用,并且其用户经常把 这种装置和公司网络相连,以便阅读电子邮件或用于同步连接表(contact list)。网络连 接可以通过一个相关的台式计算机,或者可以通过独立的网络连接,包括无线与/或远程 接入设备。

[0028] 虽然许多组织不正式提供对手持设备例如PDA的技术支持,但是它们经常收到关 于这些设备的不断增加的支持请求。这些请求通常涉及配置手持设备,获得安装在所述设 备上的应用程序的新的更新。

[0029] 在这样的环境,其中大量地使用功能比全台式功能少的计算机或类似计算机的设 备。工厂自动化控制器,销售终端的电子网点,气站泵等等,是通常使用的经常和网络相连 的,但是没有传统的台式计算机的全功部能和资源的设备的例子。微软公司设计了一种用 于这种有限资源设备的Windows操作系统的专用版本,公知为Windows CE操作系统。

[0030] 在过去,有限资源设备例如PDA和上述的其它的例子不能参与自动化配置管理。 现有的配置管理方案对被管理的客户计算机一般都强加了相当大量的处理任务,并且所需 要的客户端软件一般不能在有限资源设备例如PDA上运行。可以想象得到,专门为这些设 备设计的客户机软件可以被设计用于现有的配置管理系统,但是很可能会逼近或超过这些 设备上可用的计算资源的极限。

发明内容

[0031] 一种用于有限资源客户机的系统管理框架,包括与客户设备分离实现的客户机代 理服务器。所述的客户机代理服务器被配置用于和客户设备通信,并且模拟一个代表客户 设备的全功能客户计算机。具体地说,客户机代理服务器具有策略评价器,其接收来自配置 管理系统的评价,并且评价策略,从而确定它们对于客户设备的适用性。如果客户机代理服 务器确定一个策略可应用于客户设备,则客户机代理服务器对客户机提供关于如何应用新 的设置或者关于新的软件包如何下载和安装的指令。

附图说明

[0032] 图1是现有技术的系统管理框架的示意图;

[0033] 图2是例如在图1所示的现有技术的系统管理框架中使用的配置管理服务器和客 户计算机的逻辑元件的框图;

[0034] 图3是按照本发明的实施例的系统管理框架的框图;

[0035] 图4是表示例如在图3所示的系统中使用的配置管理服务器、客户计算机和客户 机代理服务器的逻辑元件的框图;

[0036] 图5和图6是表示图3和图4的系统管理框架的方法方面的框图;以及

[0037] 图7是表示计算机元件的框图,其子集可被用于实现其中所述的逻辑功能的各个 部分。具体实施方式

[0038] 图3表示系统管理框架30的顶层表示。框架30包括配置管理系统或服务器32, 客户设备34和客户机代理服务器36。在所示的实施例中的配置管理服务器系统32包括上 述的微软系统管理服务器(SMS)设备,虽然这里所述的技术可以结合来自其它制造者的自 动化管理系统来实现。

[0039] 配置管理系统32被配置用于和上述的多个兼容客户计算机通信并管理所述多个 客户计算机。当这种客户计算机是全功能的计算机例如传统的台式计算机时,客户计算机 运行上述的专用软件(一般称为管理系统客户机代理程序或客户机组件),从而提供和由 配置管理系统提供的功能的兼容性。不过,在图3所示的例子中,客户设备34是有限资源 装置,在其上不可能、不实际或者不需要运行自动化配置管理系统的标准客户机组件。有限 资源装置包括手持计算机,移动设备,或者其它的计算机或者与传统的全功能的台式计算 机相比具有有限资源和功能的类似计算机的设备。这种设备的例子包括PDA、工厂自动化控 制器和销售终端的电子网点、气站泵、移动电话等。这些设备一般在与传统的台式计算机操 作系统相比系统开销较少并且功能也较少的操作系统下运行。Windows CE操作系统是经常 和有限资源计算机例如上述的那些计算机结合使用的操作系统的例子。

[0040] 因为其有限的功能和资源,以及不能运行配置管理系统的标准的客户软件,客户 设备34在本说明中被认为是和配置管理系统32不兼容的:其不运行能够直接和配置管理 系统32通信并由配置管理系统32管理的软件。而是由客户机代理服务器36模拟一个代 表不兼容的客户设备34的兼容的、非有限资源的客户计算机,从而使得配置管理系统能够 管理不兼容的客户设备。客户设备的管理包括维持关于所述设备的产品清单(inventory) 信息以及对所述客户设备添加和卸除应用程序的能力。

[0041] 客户机代理服务器36是一种独立于有限资源客户设备34,例如在作为管理系统 的一部分的计算机上、在集中式服务器或计算机上、或者在为同步目的而与客户设备34相 连的台式主计算机上执行的软件组件。其借助于网络连接或其它装置被连接以便和管理系 统32通信。客户机代理服务器36作为被管理的客户机和管理系统32通信,其作为正常的 全功能的客户机出现于管理系统32。因而,可以利用标准配置的管理系统32,只需在产品 的服务器部分中作微小的改变,以便支持有限资源客户机。

[0042] 客户机代理服务器36借助于有线网络连接、无线连接或者HTTP代理服务器连接 通过主计算机(例如为同步目的而与客户设备相连的台式计算机)和客户设备34通信。为 了进行管理,客户设备34和客户机代理服务器36通信,而不直接和配置管理系统32通信。

[0043] 客户机代理服务器36的责任可以粗略地分为两类:(a)在客户设备34和管理服 务器32之间转换和中转信息,以及(b)执行本来将由客户设备34执行的管理功能。

[0044] 关于所述两类中的第一类,客户机代理服务器36从客户设备34获得或接收当前 配置信息,其格式配置管理系统32使用的格式和协议不兼容。客户机代理服务器把至少部 分所述配置信息转换成和配置管理系统32兼容的格式,并代表客户设备34以管理系统希 望的格式向配置管理系统32提供或报告配置信息。

[0045] 所述配置信息包括标识可以在客户设备上获得的应用程序的软件清单。更具体地 说,软件清单包括一个包ID列表,其相应于客户设备根据客户设备用户的选择而已被指令 安装或者使之可用的包。配置信息还包括硬件清单。[0046] 在所述的实施例中,从客户设备34向客户机代理服务器36传递的配置信息按照 XML数据模式被格式化为XML数据,其中的一个例子将在本说明的后面的部分给出。

[0047] 关于第二类:执行管理功能,客户机代理服务器36和管理服务器32通信,以接收 或获得策略。如上所述,策略指出可用于下载和安装的配置设置与/或软件包,也包括指出 哪种类型的客户机应当下载和实施所指出的配置设置或者下载和安装所指出的软件包的 信息。客户机代理服务器36接收来自配置管理系统32的策略,确定是否有策略适用于客 户设备34,并且对客户设备发出指令。具体地说,客户机代理服务器按照被确定决定应用 于客户设备的策略,命令客户设备下载和执行一个或几个配置改变指令,或者下载、安装并 /或移除一个或几个应用程序。提供给客户设备的指令可以指出某一个应用程序或者一组 配置改变指令应当被下载的条件,以及它们可以从中被下载的URL (统一资源定位器)。

[0048] 图4更详细地表示了系统管理框架30的逻辑组件。管理服务器系统32包括清单 和发现组件40,策略提供器42,以及应用程序或包分发组件44。

[0049] 清单和发现组件40从多个客户计算机接收发现数据记录和硬件与软件清单,用 于进行资产管理(asset management)。这个信息一般被存储在可以由系统管理员访问的数 据库(未示出)中。

[0050] 策略提供器42向由服务器系统32管理的计算机和其它设备分发策略。所述策略 指出可供下载和安装使用的配置设置或软件包,并且还包括指出所述策略应用于哪种类型 的客户机的信息。软件包是文件及用于下载和安装文件的指令的集合。

[0051] 分发组件44是客户机可以和其连接,以便下载应用程序、包、或配置改变指令的 连接点。

[0052] 客户机代理服务器36的逻辑组件包括清单和发现组件46,策略评价器48和指令 提供器50。清单和发现组件46与客户设备34交互作用,以便获得关于客户设备的配置的 信息,包括硬件和软件清单。从有限资源客户设备34接收到的硬件和软件清单比可以由其 它类型的客户机例如全功能台式计算机产生的清单简单得多。清单和发现组件46按照管 理服务器系统32使用的通信协议对这个简化的信息格式化,并以硬件和软件清单和发现 数据记录(DDR)的形式把所述信息传递给管理服务器系统32。

[0053] 策略评价器48接收来自管理服务器系统32的策略提供器42的策略,并评价所述 策略,以便确定哪一个策略针对客户设备34。当策略评价器48确定一个策略指向客户设 备34时,其命令指令提供器组件50向客户设备34提供下载或配置改变指令,这些指令规 定如何(可选地,在什么条件下)下载应用程序、包或者作为策略的主题的配置指令集。

[0054] 客户设备34的逻辑组件包括轮询和报告组件52,调度组件54,下载组件56,安装 指令解释器58,以及程序或包安装组件60。这些组件可以利用安装在客户设备上的专用软 件来实现,并利用例如URL或关于客户机代理服务器36的其它规范以及鉴别信息和凭证被 预先配置。因为客户设备34的有限的功能和资源,这个专用的软件和可以在全功能台式计 算机上使用的标准的客户端软件相比,其范围和功能都是有限的。随着讨论的进展,这将会 更清楚地看出。

[0055] 客户设备还具有程序存储器64,其中安装有应用程序和数据库或者数据结构66, 利用这些,客户设备34维护一个供应列表(offeringlist),指出通过以前和客户机代理服 务器36的交互作用而已经可为客户设备所利用的应用程序或包的。这些组件彼此之间以

7及和客户机代理服务器36之间的交互作用将在下面参照图5详细说明。

[0056] 图5表示图4所示的框架的方法方面。在图的左侧上的操作由客户设备34的组件 执行。在图的右侧上的操作由客户机代理服务器36的组件执行。在中部的操作由管理员 或服务器系统32执行。这些操作将参照需要在所有移动设备上分发和安装一个应用程序 的情况进行说明。作为应用程序的一个例子具有3个组件:foo. exe, foo. dll和foo. reg。 在客户设备上的安装涉及把头两个组件复制到被称为“\ProgramFiles\Foo”的目录上,并 把“foo. reg”装入客户设备的注册表中。

[0057] 初始操作70包括产生含有3个程序组件foo. exe, foo. dll和foo. reg的分发包。 所述的包可以包括所谓的“CAB”文件(一种公知的文件类型,用于把多个文件组合成为单 个文件,以便容易分发),其可以由接收该文件的客户设备打开,以便在所述客户设备上自 动地安装。或者,可以装配非CAB包,其包括应用程序组件和含有可以由客户设备执行的用 于完成安装任务的安装脚本的文件。在这个例子中,安装脚本文件被称为“foo. cmd”,并含 有下面的指令:

[0058] copy foo. exe "\program files\foo. exe,,

[0059] copy foo. dll "\program files\foo.dll,,

[0060] loadreg foo. reg

[0061] delete foo. exe

[0062] delete foo. dll

[0063] delete foo. reg

[0064] 这个文件一般由作为系统管理员的人员创建。

[0065] 按照由调度组件54确定的预定间隔,轮询和报告组件52执行连接到客户机代理 服务器36和发送配置信息的操作72。配置信息包括关于客户设备的硬件和软件的各种信 息,并且包括这里被称为供应列表的应用程序包的列表。所述供应列表利用包ID标识客户 设备已被指令安装或提供安装的应用程序包。包ID从数据库66获得,其根据从客户机代 理服务器36接收的指令被维护,如下所述。供应列表指出客户机代理服务器36命令客户 机提供利用的所有的包。

[0066] 配置信息最好按照XML模式报告给客户机代理服务器36。下面是这种模式的一个

例子:

[0067]

[0068] 下面是按照上面的XML模式格式化的实际数据的一个例子,其中黑体字表示可变 数据值的例子。XML数据一般作为HTTP邮件(post)传递给客户机代理服务器36 :

[0069] DEVICE POST: [0070] <devmgmt> [0071] 〈identity deviceName = " corpuser-ipaq" userName = "corpuser"[0072] domain =" NTDEV" /> [0073] <devmgmt-sysinfo version =" 1.0" type=" full" > [0074] <ceDevice class ="Pocket PC2" modelDescription = “Compaq iPAQ[0075] H3600" cpuType =" StrongARM" /> [0076] <osVersion major ="3〃 minor=" 0〃 buildNum =" 9348 “[0077] CodePage = --"1236" > [0078] <binFile pid =" {13D65099-CE43-11D0-A2AD-0020357512E7}“ [0079] ver = “ 1. 0〃 xipRegion= 〃 OS Core" /> [0080] <binFile pid =" {23C46454-CE43-4650-AG7D-0145357512F8}“ [0081] ver = “ 1. 6〃 xipRegion = " Apps 〃 /> [0082] </osVersion> [0083] <screen vRes =" 240" hRes=" 320" type=" Color //[0084] numColors ="65536〃 />[0085] 〈transport ip = “ 157. 59. 244. 92〃 subnet = “ 255. 255. 252. 0"

[0086] bandffidth = “ 10000〃 />

[0087] <power AC = “ Connected" battery = “ High" batteryPercent =“ 95"

[0088] backup=" High" backupPercent = “ 100" />

[0089] 〈memory total = “ 31944" program = “ 15984" programFree = “ 3584"

[0090] storage = “ 15960" storageFree = “ 13002" />

[0091] <storage>

[0092] <fiIeSystem name =" root" size=" 1002" usedSpace =" 500" />

[0093] <fiIeSystem name =" backup" size=" 1462〃 usedSpace =" 700〃 />

[0094] <fiIeSystem name =" data" size=" 150〃 usedSpace =" 120〃 />

[0095] </storage>

[0096] <packages>

[0097] 〈package ID =〃 E9C4C404-A802-460b-B8AF_6BFlD72AF594〃 />

[0098] 〈package ID =〃 4A9DlF33-76CC-42d2-93BE_FlD86B7FBA36 〃 />

[0099] 〈package ID =〃 2C0E13El-4C20-4dc2-A80E_368FD63F986F〃 />

[0100] </packages>

[0101] </devmgmt-sysinfo>

[0102] </devmgmt>

[0103] package ID属性的例子指出了从配置管理服务器系统32接收的包ID。所述ID 可以表示“强制的(mandatory)”包或者“可选择的(optional) ”包。强制的包是服务器系 统32要求安装在适用的客户设备上的包。可选的包是只在用户选择时才下载和安装的包。 由客户设备维护和报告的供应列表相应于客户设备通过以前和客户机代理服务器36的交 互作用已经知道的所有适用的强制的和选择的包。

[0104] 客户机代理服务器36的清单和发现组件46在操作74接收配置信息。响应所述 信息的接收,客户机代理服务器执行操作76,对所述信息按照管理服务器系统32期望的格 式进行格式化,并把格式化的信息发送给服务器系统32。客户机代理服务器还维护一个从 客户设备接收的客户设备ID和由管理服务器系统12指定给客户设备的ID之间的映射。

[0105] 客户设备34的策略评价器48也接收供应列表,以及从管理服务器系统32接收策 略。根据这个信息,客户机代理服务器36执行操作78,将接收到的策略选择性地应用到客 户设备34。这涉及判断是否有策略应用到客户设备上,并且按照任何所述可应用的策略评 价接收的供应列表,从而确定应当由客户对其供应列表进行的任何改变。所述评价涉及判 断是否应当对客户设备的供应列表添加包或从中移除包。作为所述判断的结果,策略评价 器48执行向客户设备34发送供应列表指令的操作80,令其按照所述确定的改变改变其供 应列表:按照从管理服务器32接收的策略移除应用程序并/或下载和安装包。在所述的实 施中,供应列表指令以下面的XML格式被发送,其中黑体字符表示将根据包的性质而改变 的示例的数据:

[0106] <RDM-0peration>

[0107] <packages>

[0108] <add>[0109]

[0110] [0111] [0112]

[0113]

[0114]

[0115]

[0116] [0117]

</remove> <packages/>

</add> <remove>

〈package ID=" FE046C21-9272-49e0_83D7-

8975566184F0" Type=" Mandatory" Name=" Foo Program" Description =" Latest Foo program" /

〈package ID = “ E9C4C404-A802-460b_B8AF_ 6BF1D72AF594" />

[0118] </RDM-Operation>

[0119] 客户设备34在操作82接收供应列表指令,并在操作84通过分析和执行所述指令 进行响应,以便修改其供应列表。在上述的例子中,指令客户设备把由列举的包ID规定的 "Foo Program”添加到其供应列表中,并除去也由其包ID标识的另一个程序。

[0120] 在修改其供应列表之后,客户设备34检测供应列表的变化,并采取合适的操作。 如果一个或几个应用程序已被除去,则它们在操作86中被卸载或移除。如果一个或几个应 用程序已被添加,则它们在操作88被下载和安装。

[0121] 图6表示添加或安装新程序的操作88的细节。在确定一个包需要被安装之后,轮 询和报告组件52执行操作90,连接客户机代理服务器36,并通过提出一个包请求请求下载 指令。包请求由其包ID标识客户已经标记为需要的包。客户机代理服务器36在操作91 接收包请求,并在操作92通过产生或编译下载指令文件,并向客户设备34提供下载指令文 件进行响应。下载指令文件最好以XML的格式提供。

[0122] 下载指令文件包括关于包对象应当如何、何时、从哪里以及在什么条件下被下载 的各个参数。在所述的实施例中,所述参数包括:

[0123] 头部

[0124] 内容块

[0125] ID(GUID)

[0126] 状态报告的响应URL (可选的)

[0127] 下载指令

[0128] 开始时间(Start Time) (GMT)

[0129] Δ 时间(Delta Time) (GMT)

[0130] 标记(Flags)(连接类型或者连接等级) [0131 ] 被请求(Required) (YES 或 N0,缺省:N0)

[0132] 文件说明

[0133] 源 URL (Source URL)

[0134] 设备上的目的地(作为完全合格的路径的文件位置)

[0135] 签名(Signature)(文件的签署的杂乱数据(Signed

[0136] hash))

[0137] 在下载之后在设备上运行的命令(可选的)

[0138] “内容块”包含关于指令文件本身的内容的信息,包括URL,客户应当对其报告在后列出的操作的成功或失败。“下载指令”规定“开始时间”或“ Δ时间”(一个时间间隔,操 作应当在该间隔后开始),以及表示允许进行下载的条件的“标记”。例如,标记可以指出只 有当存在特定通信能力时,例如通过高速网和网络相连时,才开始下载。作为另一个例子, 标记可以指出,只有当客户设备和交流电源(与电池电源相对)相连时,下载才开始。 [0139] “被请求”参数指出管理服务器32是否请求把所述包安装在设备上。“文件说明” 指出要被复制到客户设备上的文件的源位置和目的地位置,以及文件的签名。“命令”参数 标识在成功地复制指令文件预先规定的文件之后要由客户设备执行的指令。

[0140] 下面是XML下载指令文件的一个例子,其中黑体字符是变量数据值:

[0141] DOWNLOAD XML MESSAGE:

[0142] <RDM-Operation)

[0143] 〈Authorization SourceGUID = " 66CC03B9-6C89-45e3_94C5-

[0144] 4213925B7B21" Signature =" Foo Bar" />

[0145] 〈Contents Action = " Create" ID=" FE046C21-9272-49e0_83D7-

[0146] 8975566184F0"

[0147] ResponseUrl = " https://server/device. dll ? status" >

[0148] 〈Description SourceName = " Server" OfferingName = " Foo Program" >

[0149] <ShortDescription> “Latest Foo program,,</ShortDescription>

[0150] 〈/Description〉

[0151] 〈Download StartTime =" dO 07 Oa 00 03 00 12 00 00 00 2a 00 05 00

[0152] 00 00" DeltaTime =" 00 00 01 00 00 00 00 00 00 00 00 00 00 00

[0153] 00 00" RetryTime =" 00 00 01 00 00 00 00 00 00 00 00 00 00 00

[0154] 00 00" MaxRetryCount =" 5" Type = " Download" Flags = " 05 00

[0155] 00 00〃 RequireUrlSigs = " 0〃

[0156] NotificationType = " MandatorySilent" >

[0157] <CopyFile Url = " https://server/drop/foo. exe"

[0158] Dest =〃 \temp\foo.exe" />

[0159] <CopyFile Url = https://server/drop/foo. dll

[0160] Dest=" \temp\foo.dll" />

[0161] <CopyFile Url = " https://server/drop/foo. reg"

[0162] Dest =〃 \temp\foo. reg" />

[0163] <CopyFile Url = " https://server/drop/foo. cmd"

[0164] Dest=" \temp\foo.cmd" />

[0165] <Postlnstall Command = " \temp\foo.cmd" />

[0166] 〈/Download〉

[0167] </Contents>

[0168] </RDM-0peration>

[0169] 客户设备34接收和分析接收的下载指令文件,并在操作94利用调度组件54调度

下载的指令,以便按照开始时间、△时间与/或和所述指令相关的标记执行。在合适的时 间,调度程序命令下载组件56执行操作95,下载在下载指令文件中规定的文件。由指令解释程序58执行的下一个操作96包括执行由下载指令文件的“命令”参数表示的指令,其在 大多数情况下将由安装组件60启动下载文件的安装。在给定的例子中,这个命令包括在本 文中上面说明的“foo. cmd”脚本。执行“foo. cmd”包括执行其各个指令,这些指令执行任 何所需的安装任务,在给定的例子中,就是把文件复制到客户设备的合适的目录上,加载注 册表值,和删除临时文件。

[0170] 返回图5,在从其程序列表中添加或除去程序或包之后,或者在安装程序或包之 后,客户设备34执行操作97,向客户机代理服务器36发送表示操作的成功(或失败)的状 态响应。所述状态响应最好被格式化为XML数据,指出已被下载、安装与/或除去的包的包 ID。例如,XML状态响应可以采取以下的形式。其中黑体字符表示变量数据:

[0171] 〈Status〉

[0172] 〈response code =〃 100〃 ID =〃 E587E5D6-7160-4b8e_A3D9-

[0173] 041B85568704" Type=" Download" />

[0174] 〈response code =〃 100〃 ID =〃 E587E5D6-7160-4b8e_A3D9-

[0175] 041B85568704" Type=" Install" />

[0176] 〈/Status〉

[0177] 客户机代理服务器36在操作98接收并处理状态响应。

[0178] 除去上面详细说明的特定的功能之外,客户机代理服务器36还执行其它功能,以 便支持客户设备52的管理。具体地说,客户机代理服务器36代表客户设备34响应状态请 求和其它通信。此外,通过命令客户设备下载、安装与/或执行特定的报告应用程序,客户 机代理服务器能够启动由客户设备34进行的更广泛的报告。

[0179] 服务器和客户机代理服务器组件以及上述的功能由一个或几个计算机来实现。图 7表示了这种计算机的一般例子的组件,所述计算机由标号100表示。图7表示的组件只是 一个例子,并不对本发明的功能范围构成任何限制;本发明不必依赖于图7所示的特征。

[0180] 一般地说,可以使用各种不同的通用的或专用的计算系统配置。适用于本发明的 公知的计算系统的例子、环境与/或配置包括但不限于:个人计算机,服务器计算机,膝上 型设备,微处理器系统,基于微处理器的系统,网络PC,微型计算机,大型计算机,包括任何 上述系统或设备等的分布式计算环境等。

[0181] 计算机的功能在许多情况下由计算机可执行的指令例如由计算机执行的程序模 块来实施。一般地说,程序模块包括例行程序,程序,对象,组件,数据结构等,它们执行特定 的任务,或实现特定的抽象数据类型。任务也可以通过利用通信网络连接的远程处理设备 完成。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。

[0182] 指令与/或程序模块在不同的时间被存储在计算机可读的介质中,所述介质或者 是计算机的一部分,或者是可以由计算机读出的介质。程序一般分布在例如软盘,CD-ROM, DVD或其它形式的传播介质例如调制信号上,由之安装到或载入计算机的辅存储器中。在执 行时,它们至少部分地被载入计算机的主电子存储器。当计算机可读介质含有指令、程序与 /或模块,用于结合微处理器或其它数据处理器实施上述的步骤和操作时,这里所述的发明 包括这些以及其它各种类型的计算机可读介质。本发明还包括按照上述的方法和技术编程 的计算机本身。

[0183] 为了便于说明,程序以及其它可执行的程序组件例如操作系统,这里作为分立模块进行说明,但应认识到,这种程序和组件在不同的时间驻留在计算机的不同的存储部件 中,并由计算机的数据处理器执行。

[0184] 现在参看图7,计算机100的部件可以包括但不限于处理单元120,系统存储器130 和系统总线121,所述总线把包括系统存储器在内的各个系统组件和处理单元120相连。系 统总线121可以是几种类型的总线结构中的任何一种类型的结构,包括存储器总线或存储 器控制器,外围总线,以及使用多种总线结构的任何一个的局域总线。作为例子而不是限 制,所述结构包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增强型ISA(EISAA)总 线,视频电子标准协会(VESA)局域总线,以及外围部件互联(PCI)总线,其也被称为中层楼 (Mezzanine)总线。

[0185] 计算机100 —般包括各种计算机可读的介质。计算机可读的介质可以是可由计算 机100访问的任何现有的介质,包括易失性介质和非易失性介质,可换介质和不可换介质。 作为例子而非限制,计算机可读介质可以包括计算机存储介质和传播介质。计算机存储介 质包括以任何方法或技术实现的,用于存储信息例如计算机可读的指令、数据结构、程序模 块或者其它数据的易失性和非易失性,可换和不可换介质。计算机存储介质包括,但不限 于,RAM、ROM、EEPR0M、快速闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光盘存 储器、盒式磁带、磁带、磁盘存储器或其它磁存储装置、或者任何其它可用于存储所需的信 息并且可由计算机110访问的介质。传播介质一般包含计算机可读的指令、数据结构、程序 模块或在调制数据信号中的其它数据,所述调制数据信号例如是载波或其它的传输机制, 传播介质还包括任何信息传输介质。术语“调制数据信号”指的是这样的信号,其特性中的 一种或多种被设置或改变,从而将信息编码在信号中。作为举例而非限制,传播介质包括有 线介质例如有线网络,或直接导线连接,以及无线介质例如声音介质、RF、红外和其它的无 线介质。上述这些介质的任意组合也被包括在计算机可读介质的范围内。

[0186] 系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,例如 只读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/输出系统133 (BIOS) —般 被存储在ROM 131中,其含有用于例如在启动期间帮助在计算机100的元件之间传递信息 的基本的例行程序。RAM 132 —般含有由处理器单元120立即访问的与/或当前正在由处 理器单元120操作的数据与/或程序模块。作为举例而非限制,图7示出了操作系统134, 应用程序135,其它程序模块136,以及程序数据137。

[0187] 计算机100还可以包括其它可换/非可换、易失性/非易失性计算机存储介质。 仅仅作为例子,图7示出了硬盘驱动器141,其可以对非可换非易失性磁介质进行读写,磁 盘驱动器151,其可以对可换非易失性磁盘152进行读写,以及光盘驱动器155,其可以对可 换非易失性光盘156例如CD ROM或其它光学介质进行读写。可以在所举例的操作环境中 使用的其它可换/非可换、易失的/非易失的计算机存储介质包括但不限于盒式磁带、闪存 卡、数字通用盘、数字视频磁带、固态RAM,固态ROM等。硬盘驱动器141 一般通过非可换存 储器接口例如接口 140和系统总线121相连,磁盘驱动器151和光盘驱动器155 —般通过 可换存储器接口例如接口 150和系统总线121相连。

[0188] 上面讨论的并在图7中示出的驱动器及其相关的计算机存储介质用于存储计算 机可读指令、数据结构、程序模块和用于计算机100的其它数据。在图7中,例如,所示的硬 盘驱动器141用于存储操作系统144,应用程序145,其它程序模块146和程序数据147。注意,这些组件可以和操作系统134,应用程序135,其它程序模块136以及程序数据137相同 或不同。图中对操作系统144,应用程序145,其它程序模块146和程序数据147给予不同 的标号是要说明它们至少是不同的拷贝。用户可以通过输入装置例如键盘162和通常被称 为鼠标、跟踪球或触控板的定位设备161对计算机100输入指令或信息。其它的输入装置 (未示出)可以包括麦克风、游戏杆、游戏板(game pad)、盘式卫星天线(satellite dish)、 扫描仪等。这些和其它的输入装置通常通过和系统总线相连的用户输入接口 160和处理单 元120相连,但是也可以通过其它接口以及总线结构例如并行端口、游戏端口或者通用串 行总线(USB)相连。监视器191或其它类型的显示装置也可以通过接口例如视频接口 190 和系统总线121相连。除去监视器之外,计算机还可以包括其它的外围输出装置例如扬声 器197和打印机196,它们可以通过输出外围接口 195连接。

[0189] 计算机可以通过使用和一个或几个远程计算机例如远程计算机180的逻辑连接 而在网络环境中操作。远程计算机180可以是个人计算机,服务器,路由器,网络PC,同级 设备或其它的公共网络节点,并且一般包括上述的关于计算机100的许多或所有的元件, 尽管在图7中只示出了存储器存储装置181。图7中所示的逻辑连接包括局域网(LAN) 171 和广域网(WAN) 173,但是也可以包括其它网络。这种网络环境在办公室、企业计算机网络、 内部网和互联网中是通常的。

[0190] 当在LAN联网环境中使用时,计算机100通过网络接口或适配器170和LAN 171 相连。当在WAN联网环境中使用时,计算机100 —般包括调制解调器172或其它用于在WAN 173例如互联网上建立通信的装置。调制解调器172可以是内置的或外置的,可以通过用户 输入接口 160或其它合适的机构和系统总线121相连。在网络环境中,对于计算机100或 其一部分描述的程序模块可以存储在远程存储器存储装置中。作为举例而非限制,图7示 出了驻留在存储装置181中的远程应用程序185。应当理解,所示的网络连接只是一个例 子,可以使用在计算机之间建立通信连接的其它装置。

[0191] 有限资源客户设备34通过使用类似于图7所示的技术来实现,尽管是在更为有限 的规模上。此外,有限资源客户设备例如PDA、蜂窝电话等一般没有图7所示的所有功能。 例如,有限资源客户通常没有用于可换磁介质例如软盘或⑶-ROM的驱动器。这种客户机一 般具有少得多的存储容量,较小的显示装置和键盘,较慢的或功能较少的处理器。此外,许 多这种设备具有电子闪存器,用于代替硬盘。此外,有限资源装置一般运行没有台式计算机 操作系统所支持的所有功能的操作系统。例如。有限资源装置可以运行Windows CE操作 系统,而不运行Windows XP操作系统。

[0192] 虽然本发明按照特定的结构特征和方法步骤进行了说明,但是应当理解,在所附 权利要求中限定的本发明不必局限于这些特定的特征。而是,这些特定的特征和方法步骤 只是作为用于实施权利要求限定的优选的形式披露的。

17

Claims (9)

  1. 一种在配置管理系统的管理框架中包括有限资源客户设备的方法,所述方法包括:和有限资源客户设备通信,从而获得关于其配置的配置信息,其中所述客户设备不能直接与所述配置管理系统通信并且不由所述配置管理系统直接管理;模拟一个代表有限资源客户设备的非有限资源客户计算机,使得配置管理系统能够管理所述有限资源客户设备的配置;其中,所述模拟包括对有限资源客户设备选择性地应用从所述配置管理系统接收的策略。
  2. 2.如权利要求1所述的方法,其中:所述配置信息标识所述有限资源客户设备现有的应用程序;以及 所述选择性地应用包括:命令所述有限资源客户设备对其现有的应用程序进行应用程 序的添加与/或移除。
  3. 3.如权利要求1所述的方法,还包括:以和配置管理系统兼容的格式向配置管理系统 报告至少一部分所述配置信息。
  4. 4.如权利要求1所述的方法,其中还包括:接收来自有限资源客户设备,其格式和所述配置管理系统不兼容的配置信息;以及 以和配置管理系统兼容的格式向配置管理系统报告至少一部分所述配置信息。
  5. 5.如权利要求1所述的方法,其中所述配置信息还包括所述有限资源客户设备的硬件 和软件清单,所述方法还包括:代表所述有限资源客户设备向配置管理系统报告所接收到 的硬件和软件清单。
  6. 6.如权利要求1所述的方法,其中选择性地应用策略包括:按照被确定为适用于所述 有限资源客户设备的策略,命令所述有限资源客户设备下载和安装一个或多个应用程序。
  7. 7.如权利要求1所述的方法,其中选择性地应用策略包括:按照被确定为适用于所述 有限资源客户设备的策略,命令所述有限资源客户设备进行一个或多个配置改变。
  8. 8.如权利要求1所述的方法,其中,选择性地应用策略包括:按照被确定为适用于所述 有限资源客户设备的策略,命令所述有限资源客户设备移除一个或多个应用程序。
  9. 9.如权利要求1所述的方法,还包括: 接收来自有限资源客户设备的包请求;响应所述包请求,返回可以由所述有限资源客户设备执行以下载应用程序包的下载指令。
CN 200710193975 2001-12-05 2002-12-05 移动式和嵌入式设备的配置和管理系统 CN101159621B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US33877701P true 2001-12-05 2001-12-05
US60/338,777 2002-06-26
US10/183,916 US7219140B2 (en) 2001-12-05 2002-06-26 Configuration and management systems for mobile and embedded devices
US10/183,916 2002-06-26
CN02155904.X 2002-12-05
CN02155904.X2002.12.05 2002-12-05

Publications (2)

Publication Number Publication Date
CN101159621A CN101159621A (zh) 2008-04-09
CN101159621B true CN101159621B (zh) 2010-12-22

Family

ID=27788917

Family Applications (2)

Application Number Title Priority Date Filing Date
CN 02155904 CN100363895C (zh) 2001-12-05 2002-12-05 移动式和嵌入式设备的配置和管理系统
CN 200710193975 CN101159621B (zh) 2001-12-05 2002-12-05 移动式和嵌入式设备的配置和管理系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN 02155904 CN100363895C (zh) 2001-12-05 2002-12-05 移动式和嵌入式设备的配置和管理系统

Country Status (1)

Country Link
CN (2) CN100363895C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546357B2 (en) 2004-01-07 2009-06-09 Microsoft Corporation Configuring network settings using portable storage media
CN101009566B (zh) 2006-01-23 2011-06-01 北京金远见电脑技术有限公司 用于嵌入式系统装置下载资料的系统和方法
WO2007123025A1 (ja) * 2006-04-13 2007-11-01 International Business Machines Corporation 組込機器による外部との通信を代行サーバにより制御させる技術
CN100461966C (zh) * 2006-09-08 2009-02-11 西安交通大学 基于嵌入式移动终端设备与支撑移动协同服务的综合平台
CN101136825B (zh) 2007-10-10 2010-06-09 中兴通讯股份有限公司 一种客户端/服务器结构的异步配置信息管理方法及系统
CN101674190A (zh) * 2008-09-08 2010-03-17 深圳华为通信技术有限公司 终端设备发送消息的方法、装置和管理系统
US20100262953A1 (en) * 2009-04-14 2010-10-14 Barboni Michael P Systems and methods for automatically enabling and disabling applications and widgets with a computing device based on compatibility and/or user preference
CN102651694B (zh) * 2011-02-23 2015-05-20 蓝盾信息安全技术股份有限公司 一种对主机进行管控的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300494A (zh) 1999-03-15 2001-06-20 布尔Cp8公司 借助于“web”导航器与一个灵巧卡协作存取对象的方法和用于应用该方法的架构
CN2461074Y (zh) 2000-11-22 2001-11-21 岳阳宏讯计算机技术开发有限公司 Ip网关

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9414951D0 (en) * 1994-07-25 1994-09-14 British Telecomm Computer system having client-server architecture
US6822955B1 (en) * 1998-01-22 2004-11-23 Nortel Networks Limited Proxy server for TCP/IP network address portability
US6711611B2 (en) * 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
EP1047244A1 (en) * 1999-04-20 2000-10-25 Lucent Technologies Inc. Mobile IP supporting quality of service for data sent from mobile node to correspondent node

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300494A (zh) 1999-03-15 2001-06-20 布尔Cp8公司 借助于“web”导航器与一个灵巧卡协作存取对象的方法和用于应用该方法的架构
CN2461074Y (zh) 2000-11-22 2001-11-21 岳阳宏讯计算机技术开发有限公司 Ip网关

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CN 1278623 A,全文.

Also Published As

Publication number Publication date
CN101159621A (zh) 2008-04-09
CN100363895C (zh) 2008-01-23
CN1441374A (zh) 2003-09-10

Similar Documents

Publication Publication Date Title
JP5522307B2 (ja) 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法
DE60101911T2 (de) Verfahren und vorrichtung zum zugriff und zur adressierung von diensten in einer verteilten rechnerumgebung
US7409463B2 (en) On-demand active role-based software provisioning
US8166458B2 (en) Method and system for automated distributed software testing
US7178144B2 (en) Software distribution via stages
RU2364925C2 (ru) Бесшовное обнаружение установленных на рабочей станции удаленных приложений из экстрасети
US6728884B1 (en) Integrating heterogeneous authentication and authorization mechanisms into an application access control system
US9626526B2 (en) Trusted public infrastructure grid cloud
ES2297072T3 (es) Administracion de software en un escenario de proveedor de servicios de aplicaciones, a traves de directivas de configuracion.
EP1512265B1 (en) A computing services grid
CN100530158C (zh) 在网络化的资源上复制源文件的方法和服务器计算装置
US7324473B2 (en) Connector gateway
US7239877B2 (en) Mobile provisioning tool system
US20090307763A1 (en) Automated Test Management System and Method
US7334226B2 (en) Autonomic auto-configuration using prior installation configuration relationships
CN1499395B (zh) 服务设备聚集
US20190268347A1 (en) Managing security groups for data instances
US20110302569A1 (en) Facilitating the execution of web applications in the cloud
US9479535B2 (en) Transmitting aggregated information arising from appnet information
US8819194B2 (en) System for an open architecture deployment platform with centralized synchronization
CN101014945B (zh) 用于远程应用程序发现的web服务方法以及计算装置
US20070088630A1 (en) Assessment and/or deployment of computer network component(s)
US8892776B2 (en) Providing remote application access using entitlements
US20060085852A1 (en) Enterprise assessment management
JP2008521090A (ja) プロビジョニングパケットを配信するためのシステムおよび方法

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of the right of patent application or the patent right