CN1441374A - Configuration and management systems for mobile and embedded devices - Google Patents
Configuration and management systems for mobile and embedded devices Download PDFInfo
- Publication number
- CN1441374A CN1441374A CN 02155904 CN02155904A CN1441374A CN 1441374 A CN1441374 A CN 1441374A CN 02155904 CN02155904 CN 02155904 CN 02155904 A CN02155904 A CN 02155904A CN 1441374 A CN1441374 A CN 1441374A
- Authority
- CN
- China
- Prior art keywords
- client device
- client
- management system
- configuration
- policy
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明披露了一种移动式和嵌入式设备的配置和管理系统,该系统包括独立于所述客户设备实现的客户机代理服务器。所述客户机代理服务器被配置成与所述客户设备通信,并模拟一个代表所述客户设备的全功能客户计算机。
The present invention discloses a configuration and management system for mobile and embedded devices, the system comprising a client proxy server implemented independently of the client device. The client proxy server is configured to communicate with the client device and simulate a full-function client computer representing the client device.
Description
相关申请related application
本申请要求2001年12月5日由Craig C.Marl等人申请的临时申请号为60/338777,名称为“Configuration & Management System forMobile & Embedded Devices”的美国专利申请的优先权。This application claims priority to U.S. Patent Application No. 60/338777, filed December 5, 2001, by Craig C. Marl et al., entitled "Configuration & Management System for Mobile & Embedded Devices."
技术领域technical field
本申请涉及一种配置管理系统,尤其涉及这种系统在有限资源及/或不兼容客户设备上的使用。The present application relates to a configuration management system, and more particularly to the use of such a system with limited resources and/or incompatible client devices.
背景技术Background technique
计算机已经成为工作场所的不可缺少的部分。在许多组织中,几乎每个雇员都使用至少一个计算机。因此,大的公司一般都操作和维护数量极大的计算机。在这些公司中,尽可能实现零碎的维护工作的自动化是重要的。Computers have become an integral part of the workplace. In many organizations, nearly every employee uses at least one computer. Consequently, large corporations typically operate and maintain very large numbers of computers. In these companies, it is important to automate piecemeal maintenance tasks as much as possible.
幸运的是,局域网络(LAN)和广域网络(WAN)也已经变得普遍,这就使得组织内的各个计算机能够利用集中提供的计算机服务例如用户识别、文件共享、电子邮件,以及各种其它类型的服务。Fortunately, local area networks (LANs) and wide area networks (WANs) have also become common, allowing individual computers within an organization to take advantage of centrally provided computer services such as user identification, file sharing, e-mail, and various other type of service.
配置管理系统代表一种类型的服务,其可被有效地在在网络环境中使用,以便使组织内的各个不同的计算机的维护和管理自动化。这种服务提供了用于集中的软件分配、资产管理、以及关于台式计算机、服务器和服务器应用程序的远程发现并排除故障的工具。微软公司的“系统管理服务器”是为此目的而设计的系统的一个例子。A configuration management system represents one type of service that can be effectively used in a network environment to automate the maintenance and management of various computers within an organization. This service provides tools for centralized software distribution, asset management, and remote discovery and troubleshooting of desktop computers, servers, and server applications. Microsoft Corporation's "Systems Management Server" is an example of a system designed for this purpose.
图1表示计算机系统10的一个简化的例子,其中实现了自动化配置管理。这种系统包括一个管理服务器12和多个客户计算机14。通过局域网或广域网16,客户机14之间以及客户机和管理服务器之间可以进行通信。Figure 1 shows a simplified example of a computer system 10 in which automated configuration management is implemented. The system includes a
虽然在图1中管理服务器被表示为一个装置,但是其可以包括多个单个的计算机或服务器,它们可能设置在彼此的附近,或者可能设置在各个不同的位置。Although the management server is shown as one device in FIG. 1, it may comprise a plurality of individual computers or servers, which may be located in close proximity to each other, or may be located at various locations.
现代的操作系统和应用软件通常提供客户端支持,用于其上装有操作系统和应用软件的计算机的自动化的配置管理。例如,微软的Windows XP系列的操作系统在数据库中维护硬件和软件部件的详细的产品清单(inventory),用于来自计算机本身内的部件的和来自其它计算机的程序询问(programmatic query)和数据校核(datacollation)。在Windows环境中,这个功能被称为WindowsManagement Instrumentation(视窗管理测试)或WMI。改变和配置管理软件可以利用WMI信息来获得各个计算机的产品清单,并评估计算机的配置是否应当被更新或者被改变。Modern operating systems and application software often provide client support for automated configuration management of the computers on which the operating system and application software are installed. For example, Microsoft's Windows XP family of operating systems maintains a detailed inventory of hardware and software components in a database for programmatic queries and data calibration from components within the computer itself and from other computers. Kernel (datacollation). In the Windows environment, this feature is called WindowsManagement Instrumentation (window management test) or WMI. Change and configuration management software can use WMI information to obtain an inventory of individual computers and evaluate whether a computer's configuration should be updated or changed.
除去操作系统支持之外,各个客户计算机14一般配置有专用软件,用于支持自动化配置管理。这种软件一般被设计成特定销售者实现的自动配置管理系统的一部分,例如作为微软的系统管理服务器产品的一部分。专用软件和客户计算机的操作系统协同工作,以便和管理服务器12协同完成各种功能。因而自动化配置管理系统的整个框架包括服务器部分和客户机组件。In addition to operating system support, each
图2表示由微软的系统管理服务器产品执行的配置管理框架的简化的逻辑组件,包括服务器12的部分和在客户14内实现的部分。所示的这些部分涉及框架的清单和软件分发特征。FIG. 2 shows simplified logical components of the configuration management framework implemented by Microsoft's Systems Management Server product, including portions of the
管理服务器12具有服务器清单和发现组件(inventory anddiscovery component)20,其和驻留在客户机14上的客户机清单和发现组件22协同操作。客户机清单和发现组件22收集客户机14的识别信息和硬件与软件清单,把所述信息组织成数据结构,并把所述信息提供给服务器12的服务器清单和发现组件20。所述识别信息唯一地标识被管理的网络上的客户机,并且包括诸如NetBIOS名,IP地址之类的属性。这个信息被打包,并且作为被称为发现数据记录或DDR的数据结构被报告。管理服务器把这个信息保存在数据库中,以便利资产管理功能(asset management function)。在客户机14内,许多信息利用Windows XP操作系统的WMI功能被收集。在服务器12和客户机14之间的通信利用自动化配置管理系统的特定实施专有的预定协议。The
客户计算机可以采集和报告200个以上的属性,例如包括以下的细节:Client computers can collect and report over 200 attributes, including details such as:
盘驱动器的数量和尺寸Number and size of disk drives
处理器的类型和速度Processor type and speed
存储器的数量amount of memory
操作系统operating system
监视器和显示器设置Monitor and Display Settings
计算机名和IP地址Computer name and IP address
关于连接的外围设备的信息Information about connected peripherals
网络类型Network Type
BIOS信息BIOS information
此外,每个客户计算机报告一个在客户机上安装的所有软件应用程序的列表,包括制造者和版本信息。Additionally, each client computer reports a list of all software applications installed on the client computer, including manufacturer and version information.
管理服务器12包括策略提供器(policy provider)24,其向被管理的计算机例如客户机14分配策略。所述策略表示配置设置和软件分配。配置设置策略的一个例子是一个规则,例如“在这个客户计算机上的口令的长度必须是7-10个字符,并且不包括非字母字符”。软件分配策略表示可用于下载和安装的软件包,并且也包括表示哪种类型的客户可以下载和安装指出的软件包的信息。软件包是文件及关于文件的下载和安装的说明的集合。The
客户机14具有策略评价器26,其接收来自服务器12的策略,并评价那些策略,从而确定哪个是针对客户机14的策略。当策略服务器26确定一个策略针对客户机14时,策略评价器便把这个信息送到合适的部分执行。配置设置策略用多种方式执行-其中一些方式要求改变注册表,一些要求访问WMI。如果策略是软件分配类型的策略,则把其送到客户机14的应用程序安装组件28。安装组件28检查策略信息并确定如何下载相关的软件包。然后,其连接到和服务器12相关的分发点29,并下载所述软件包。在下载软件包之后,应用程序安装组件28按照包含在下载的软件包中的信息安装打包的软件。
现有的自动化配置管理系统例如微软系统管理服务器在图1所示的传统的网络环境中能够很好地工作,其中被管理的计算机包括台式或者其它全功能的计算机。不过,在组织内的雇员越来越多地利用比常规的台式计算机功能更有限的便携式计算装置。具体地说,已知的作为个人数字助理(PDA)的手持设备被越来越广泛地使用,并且其用户经常把这种装置和公司网络相连,以便阅读电子邮件或用于同步连接表(contact list)。网络连接可以通过一个相关的台式计算机,或者可以通过独立的网络连接,包括无线与/或远程接入设备。Existing automated configuration management systems such as Microsoft System Management Server can work well in the traditional network environment shown in FIG. 1 , where the computers to be managed include desktops or other full-featured computers. Increasingly, however, employees within organizations utilize portable computing devices that have more limited capabilities than conventional desktop computers. Specifically, hand-held devices known as personal digital assistants (PDAs) are becoming more and more widely used, and their users often connect such devices to the corporate network in order to read e-mails or to synchronize contact lists. list). The network connection can be through an associated desktop computer, or it can be through a separate network connection, including wireless and/or remote access devices.
虽然许多组织不正式提供对手持设备例如PDA的技术支持,但是它们经常收到关于这些设备的不断增加的支持请求。这些请求通常涉及配置手持设备,获得安装在所述设备上的应用程序的新的更新。Although many organizations do not officially provide technical support for handheld devices such as PDAs, they often receive an increasing number of support requests for these devices. These requests generally involve configuring the handheld device to obtain new updates for applications installed on said device.
在这样的环境,其中大量地使用功能比全台式功能少的计算机或类似计算机的设备。工厂自动化控制器,销售终端的电子网点,气站泵等等,是通常使用的经常和网络相连的,但是没有传统的台式计算机的全功部能和资源的设备的例子。微软公司设计了一种用于这种有限资源设备的Windows操作系统的专用版本,公知为Windows CE操作系统。In environments where computers or computer-like devices with less than full desktop capabilities are used extensively. Factory automation controllers, point-of-sale electronic outlets, gas station pumps, etc., are examples of commonly used devices that are often networked but do not have the full capabilities and resources of a traditional desktop computer. Microsoft Corporation designed a special version of the Windows operating system for such limited resource devices, known as the Windows CE operating system.
在过去,有限资源设备例如PDA和上述的其它的例子不能参与自动化配置管理。现有的配置管理方案对被管理的客户计算机一般都强加了相当大量的处理任务,并且所需要的客户端软件一般不能在有限资源设备例如PDA上运行。可以想象得到,专门为这些设备设计的客户机软件可以被设计用于现有的配置管理系统,但是很可能会逼近或超过这些设备上可用的计算资源的极限。In the past, limited resource devices such as PDAs and the other examples mentioned above were not able to participate in automated configuration management. Existing configuration management solutions generally impose a considerable amount of processing tasks on managed client computers, and the required client software generally cannot run on limited-resource devices such as PDAs. It is conceivable that client software designed specifically for these devices could be designed for use with existing configuration management systems, but would likely approach or exceed the limits of the computing resources available on these devices.
发明内容Contents of the invention
一种用于有限资源客户机的系统管理框架,包括与客户设备分离实现的客户机代理服务器。所述的客户机代理服务器被配置用于和客户设备通信,并且模拟一个代表客户设备的全功能客户计算机。具体地说,客户机代理服务器具有策略评价器,其接收来自配置管理系统的评价,并且评价策略,从而确定它们对于客户设备的适用性。如果客户机代理服务器确定一个策略可应用于客户设备,则客户机代理服务器对客户机提供关于如何应用新的设置或者关于新的软件包如何下载和安装的指令。A system management framework for limited-resource clients, including client-proxy servers implemented separately from client devices. The client proxy server is configured to communicate with the client device and emulates a fully functional client computer on behalf of the client device. Specifically, the client proxy server has a policy evaluator that receives comments from the configuration management system and evaluates policies to determine their applicability to client devices. If the client proxy determines that a policy is applicable to the client device, the client proxy provides instructions to the client on how to apply new settings or on how new software packages are downloaded and installed.
附图说明Description of drawings
图1是现有技术的系统管理框架的示意图;FIG. 1 is a schematic diagram of a system management framework in the prior art;
图2是例如在图1所示的现有技术的系统管理框架中使用的配置管理服务器和客户计算机的逻辑元件的框图;2 is a block diagram of logical elements of a configuration management server and client computers, such as used in the prior art system management framework shown in FIG. 1;
图3是按照本发明的实施例的系统管理框架的框图;Figure 3 is a block diagram of a system management framework according to an embodiment of the present invention;
图4是表示例如在图3所示的系统中使用的配置管理服务器、客户计算机和客户机代理服务器的逻辑元件的框图;FIG. 4 is a block diagram representing logical elements of a configuration management server, client computer, and client proxy server, such as used in the system shown in FIG. 3;
图5和图6是表示图3和图4的系统管理框架的方法方面的框图;以及Figures 5 and 6 are block diagrams representing method aspects of the system management framework of Figures 3 and 4; and
图7是表示计算机元件的框图,其子集可被用于实现其中所述的逻辑功能的各个部分。Figure 7 is a block diagram representing computer elements, a subset of which may be used to implement various portions of the logical functions described therein.
具体实施方式Detailed ways
图3表示系统管理框架30的顶层表示。框架30包括配置管理系统或服务器32,客户设备34和客户机代理服务器36。在所示的实施例中的配置管理服务器系统32包括上述的微软系统管理服务器(SMS)设备,虽然这里所述的技术可以结合来自其它制造者的自动化管理系统来实现。FIG. 3 shows a top-level representation of the
配置管理系统32被配置用于和上述的多个兼容客户计算机通信并管理所述多个客户计算机。当这种客户计算机是全功能的计算机例如传统的台式计算机时,客户计算机运行上述的专用软件(一般称为管理系统客户机代理程序或客户机组件),从而提供和由配置管理系统提供的功能的兼容性。不过,在图3所示的例子中,客户设备34是有限资源装置,在其上不可能、不实际或者不需要运行自动化配置管理系统的标准客户机组件。有限资源装置包括手持计算机,移动设备,或者其它的计算机或者与传统的全功能的台式计算机相比具有有限资源和功能的类似计算机的设备。这种设备的例子包括PDA、工厂自动化控制器和销售终端的电子网点、气站泵、移动电话等。这些设备一般在与传统的台式计算机操作系统相比系统开销较少并且功能也较少的操作系统下运行。Windows CE操作系统是经常和有限资源计算机例如上述的那些计算机结合使用的操作系统的例子。
因为其有限的功能和资源,以及不能运行配置管理系统的标准的客户软件,客户设备34在本说明中被认为是和配置管理系统32不兼容的:其不运行能够直接和配置管理系统32通信并由配置管理系统32管理的软件。而是由客户机代理服务器36模拟一个代表不兼容的客户设备34的兼容的、非有限资源的客户计算机,从而使得配置管理系统能够管理不兼容的客户设备。客户设备的管理包括维持关于所述设备的产品清单(inventory)信息以及对所述客户设备添加和卸除应用程序的能力。
客户机代理服务器36是一种独立于有限资源客户设备34,例如在作为管理系统的一部分的计算机上、在集中式服务器或计算机上、或者在为同步目的而与客户设备34相连的台式主计算机上执行的软件组件。其借助于网络连接或其它装置被连接以便和管理系统32通信。客户机代理服务器36作为被管理的客户机和管理系统32通信,其作为正常的全功能的客户机出现于管理系统32。因而,可以利用标准配置的管理系统32,只需在产品的服务器部分中作微小的改变,以便支持有限资源客户机。The
客户机代理服务器36借助于有线网络连接、无线连接或者HTTP代理服务器连接通过主计算机(例如为同步目的而与客户设备相连的台式计算机)和客户设备34通信。为了进行管理,客户设备34和客户机代理服务器36通信,而不直接和配置管理系统32通信。
客户机代理服务器36的责任可以粗略地分为两类:(a)在客户设备34和管理服务器32之间转换和中转信息,以及(b)执行本来将由客户设备34执行的管理功能。The responsibilities of
关于所述两类中的第一类,客户机代理服务器36从客户设备34获得或接收当前配置信息,其格式配置管理系统32使用的格式和协议不兼容。客户机代理服务器把至少部分所述配置信息转换成和配置管理系统32兼容的格式,并代表客户设备34以管理系统希望的格式向配置管理系统32提供或报告配置信息。With regard to the first of the two categories,
所述配置信息包括标识可以在客户设备上获得的应用程序的软件清单。更具体地说,软件清单包括一个包ID列表,其相应于客户设备根据客户设备用户的选择而已被指令安装或者使之可用的包。配置信息还包括硬件清单。The configuration information includes a software manifest identifying application programs that are available on the client device. More specifically, the software inventory includes a list of package IDs corresponding to packages that the client device has been instructed to install or make available according to the client device user's selection. Configuration information also includes hardware inventory.
在所述的实施例中,从客户设备34向客户机代理服务器36传递的配置信息按照XML数据模式被格式化为XML数据,其中的一个例子将在本说明的后面的部分给出。In the described embodiment, configuration information passed from
关于第二类:执行管理功能,客户机代理服务器36和管理服务器32通信,以接收或获得策略。如上所述,策略指出可用于下载和安装的配置设置与/或软件包,也包括指出哪种类型的客户机应当下载和实施所指出的配置设置或者下载和安装所指出的软件包的信息。客户机代理服务器36接收来自配置管理系统32的策略,确定是否有策略适用于客户设备34,并且对客户设备发出指令。具体地说,客户机代理服务器按照被确定决定应用于客户设备的策略,命令客户设备下载和执行一个或几个配置改变指令,或者下载、安装并/或移除一个或几个应用程序。提供给客户设备的指令可以指出某一个应用程序或者一组配置改变指令应当被下载的条件,以及它们可以从中被下载的URL(统一资源定位器)。Regarding the second category: performing management functions, the
图4更详细地表示了系统管理框架30的逻辑组件。管理服务器系统32包括清单和发现组件40,策略提供器42,以及应用程序或包分发组件44。Figure 4 shows the logical components of the
清单和发现组件40从多个客户计算机接收发现数据记录和硬件与软件清单,用于进行资产管理(asset management)。这个信息一般被存储在可以由系统管理员访问的数据库(未示出)中。Inventory and
策略提供器42向由服务器系统32管理的计算机和其它设备分发策略。所述策略指出可供下载和安装使用的配置设置或软件包,并且还包括指出所述策略应用于哪种类型的客户机的信息。软件包是文件及用于下载和安装文件的指令的集合。
分发组件44是客户机可以和其连接,以便下载应用程序、包、或配置改变指令的连接点。
客户机代理服务器36的逻辑组件包括清单和发现组件46,策略评价器48和指令提供器50。清单和发现组件46与客户设备34交互作用,以便获得关于客户设备的配置的信息,包括硬件和软件清单。从有限资源客户设备34接收到的硬件和软件清单比可以由其它类型的客户机例如全功能台式计算机产生的清单简单得多。清单和发现组件46按照管理服务器系统32使用的通信协议对这个简化的信息格式化,并以硬件和软件清单和发现数据记录(DDR)的形式把所述信息传递给管理服务器系统32。Logical components of
策略评价器48接收来自管理服务器系统32的策略提供器42的策略,并评价所述策略,以便确定哪一个策略针对客户设备34。当策略评价器48确定一个策略指向客户设备34时,其命令指令提供器组件50向客户设备34提供下载或配置改变指令,这些指令规定如何(可选地,在什么条件下)下载应用程序、包或者作为策略的主题的配置指令集。
客户设备34的逻辑组件包括轮询和报告组件52,调度组件54,下载组件56,安装指令解释器58,以及程序或包安装组件60。这些组件可以利用安装在客户设备上的专用软件来实现,并利用例如URL或关于客户机代理服务器36的其它规范以及鉴别信息和凭证被预先配置。因为客户设备34的有限的功能和资源,这个专用的软件和可以在全功能台式计算机上使用的标准的客户端软件相比,其范围和功能都是有限的。随着讨论的进展,这将会更清楚地看出。Logical components of
客户设备还具有程序存储器64,其中安装有应用程序和数据库或者数据结构66,利用这些,客户设备34维护一个供应列表(offeringlist),指出通过以前和客户机代理服务器36的交互作用而已经可为客户设备所利用的应用程序或包的。这些组件彼此之间以及和客户机代理服务器36之间的交互作用将在下面参照图5详细说明。The client device also has a
图5表示图4所示的框架的方法方面。在图的左侧上的操作由客户设备34的组件执行。在图的右侧上的操作由客户机代理服务器36的组件执行。在中部的操作由管理员或服务器系统32执行。这些操作将参照需要在所有移动设备上分发和安装一个应用程序的情况进行说明。作为应用程序的一个例子具有3个组件:foo.exe,foo.dll和foo.reg。在客户设备上的安装涉及把头两个组件复制到被称为“\ProgramFiles\Foo”的目录上,并把“foo.reg”装入客户设备的注册表中。FIG. 5 represents the method aspects of the framework shown in FIG. 4 . Operations on the left side of the figure are performed by components of
初始操作70包括产生含有3个程序组件foo.exe,foo.dll和foo.reg的分发包。所述的包可以包括所谓的“CAB”文件(一种公知的文件类型,用于把多个文件组合成为单个文件,以便容易分发),其可以由接收该文件的客户设备打开,以便在所述客户设备上自动地安装。或者,可以装配非CAB包,其包括应用程序组件和含有可以由客户设备执行的用于完成安装任务的安装脚本的文件。在这个例子中,安装脚本文件被称为“foo.cmd”,并含有下面的指令:Initial operation 70 includes generating a distribution package containing the three program components foo.exe, foo.dll and foo.reg. Said package may include a so-called "CAB" file (a well-known file type used to combine multiple files into a single file for easy distribution), which can be opened by the client automatically installed on the above client devices. Alternatively, a non-CAB package can be assembled that includes application components and files containing installation scripts that can be executed by the client device to accomplish installation tasks. In this example, the install script file is called "foo.cmd" and contains the following directives:
copy foo.exe“\program files\foo.exe”copy foo.exe "\program files\foo.exe"
copy foo.dll“\program files\foo.dll”copy foo.dll "\program files\foo.dll"
loadreg foo.regloadreg foo.reg
delete foo.exedelete foo.exe
delete foo.dlldelete foo.dll
delete foo.regdelete foo.reg
这个文件一般由作为系统管理员的人员创建。This file is typically created by someone who is a system administrator.
按照由调度组件54确定的预定间隔,轮询和报告组件52执行连接到客户机代理服务器36和发送配置信息的操作72。配置信息包括关于客户设备的硬件和软件的各种信息,并且包括这里被称为供应列表的应用程序包的列表。所述供应列表利用包ID标识客户设备已被指令安装或提供安装的应用程序包。包ID从数据库66获得,其根据从客户机代理服务器36接收的指令被维护,如下所述。供应列表指出客户机代理服务器36命令客户机提供利用的所有的包。At predetermined intervals determined by
配置信息最好按照XML模式报告给客户机代理服务器36。下面是这种模式的一个例子:
下面是按照上面的XML模式格式化的实际数据的一个例子,其中黑体字表示可变数据值的例子。XML数据一般作为HTTP邮件(post)传递给客户机代理服务器36:Below is an example of actual data formatted according to the XML schema above, where boldface indicates examples of variable data values. The XML data is typically passed to the
DEVICE POST:
<devmgmt>
<identity deviceName=″corpuser-ipaq″userName=″corpuser″
domain=″NTDEV″/>
<devmgmt-sysinfo varsion=″1.0″type=″full″>
<ceDevice class=″Pocket PC2″modelDescription=″Compaq iPAQ
H3600″cpuType=″StrongARM″/>
<osVersion major=″3″minor=″0″buildNum=″9348″
CodePage=″1236″>
<binFile pid=″{13D65099-CE43-11D0-A2AD-0020357512E7}″
ver=″1.0″xipRegion=″OS Core″/>
<binFile pid=″{23C46454-CE43-4650-AG7D-0145357512F8}″
ver=″1.6″xipRegion=″Apps″/>
</osVersion>
<screen vRes=″240″hRes=″320″type=″Color″
numColors=″65536″/>
<transportip=″157.59.244.92″subnet=″255.255.252.0″
bandWidth=″10000″/>
<power AC=″Connected″battery=″High″batteryPercent=″95″
backup=″High″backupPercent=″100″/>
<memory total=″31944″program=″15984″programFree=″3584″
storage=″15960″storageFree=″13002″/>
<storage>
<fileSystem name=″root″size=″1002″usedSpace=″500″/>
<fileSystem name=″backup″size=″1462″usedSpace=″700″/>
<fileSystem name=″data″size=″150″usedSpace=″120″/>
</storage>
<packages>
<package ID=″E9C4C404-A802-460b-B8AF-6BF1D72AF594″/>
<package ID=″4A9D1F33-76CC42d2-93BE-F1D86B7FBA36″/>
<package ID=″2C0E13E1-4C20-4dc2-A80E-368FD63F986F″/>
</packages>
</devmgmt-sysinfo>
</devmgmt>
DEVICE POST:
<devmgmt>
<identity deviceName="corpuser-ipaq" userName="corpuser"
domain="NTDEV"/>
<devmgmt-sysinfo varsion="1.0"type="full">
<ceDevice class="Pocket PC2" modelDescription="Compaq iPAQ
H3600″cpuType="StrongARM"/>
<osVersion major="3" minor="0" buildNum="9348"
CodePage="1236">
<binFile pid="{13D65099-CE43-11D0-A2AD-0020357512E7}"
ver="1.0"xipRegion="OS Core"/>
<binFile pid="{23C46454-CE43-4650-AG7D-0145357512F8}"
ver="1.6"xipRegion="Apps"/>
</osVersion>
<screen vRes="240"hRes="320"type="Color"
numColors="65536"/>
<transportip="157.59.244.92"subnet="255.255.252.0"
bandWidth="10000"/>
<power AC="Connected" battery="High" batteryPercent="95"
backup = "High" backupPercent = "100"/>
<memory total="31944"program="15984"programFree="3584"
storage="15960"storageFree="13002"/>
<storage>
<fileSystem name="root" size="1002" usedSpace="500"/>
<fileSystem name="backup" size="1462" usedSpace="700"/>
<fileSystem name="data" size="150"usedSpace="120"/>
</storage>
<packages>
<package ID="E9C4C404-A802-460b-B8AF-6BF1D72AF594"/>
<package ID="4A9D1F33-76CC42d2-93BE-F1D86B7FBA36"/>
<package ID="2C0E13E1-4C20-4dc2-A80E-368FD63F986F"/>
</packages>
</devmgmt-sysinfo>
</devmgmt>
package ID属性的例子指出了从配置管理服务器系统32接收的包ID。所述ID可以表示“强制的(mandatory)”包或者“可选择的(optional)”包。强制的包是服务器系统32要求安装在适用的客户设备上的包。可选的包是只在用户选择时才下载和安装的包。由客户设备维护和报告的供应列表相应于客户设备通过以前和客户机代理服务器36的交互作用已经知道的所有适用的强制的和选择的包。An example of the package ID attribute indicates the package ID received from the configuration
客户机代理服务器36的清单和发现组件46在操作74接收配置信息。响应所述信息的接收,客户机代理服务器执行操作76,对所述信息按照管理服务器系统32期望的格式进行格式化,并把格式化的信息发送给服务器系统32。客户机代理服务器还维护一个从客户设备接收的客户设备ID和由管理服务器系统12指定给客户设备的ID之间的映射。The inventory and
客户设备34的策略评价器48也接收供应列表,以及从管理服务器系统32接收策略。根据这个信息,客户机代理服务器36执行操作78,将接收到的策略选择性地应用到客户设备34。这涉及判断是否有策略应用到客户设备上,并且按照任何所述可应用的策略评价接收的供应列表,从而确定应当由客户对其供应列表进行的任何改变。所述评价涉及判断是否应当对客户设备的供应列表添加包或从中移除包。作为所述判断的结果,策略评价器48执行向客户设备34发送供应列表指令的操作80,令其按照所述确定的改变改变其供应列表:按照从管理服务器32接收的策略移除应用程序并/或下载和安装包。在所述的实施中,供应列表指令以下面的XML格式被发送,其中黑体字符表示将根据包的性质而改变的示例的数据:
<RDM-Operation>
<packages>
<add>
<package ID=″FE046C21-9272-49e0-83D7-
8975566184FO″Type=Mandatory″Name=″Foo
Program″Description=″Latest Foo program″/>
</add>
<remove>
<package ID=″E9C4C404-A802-460b-B8AF-
6BF1D72AF594″/>
</remove>
<packages/>
</RDM-Operation>
<RDM-Operation>
<packages>
<add>
<package ID="FE046C21-9272-49e0-83D7-
8975566184FO"Type=Mandatory"Name="Foo
Program "Description = "Latest Foo program"/>
</add>
<remove>
<package ID="E9C4C404-A802-460b-B8AF-
6BF1D72AF594″/>
</remove>
<packages/>
</RDM-Operation>
客户设备34在操作82接收供应列表指令,并在操作84通过分析和执行所述指令进行响应,以便修改其供应列表。在上述的例子中,指令客户设备把由列举的包ID规定的“Foo Program”添加到其供应列表中,并除去也由其包ID标识的另一个程序。The
在修改其供应列表之后,客户设备34检测供应列表的变化,并采取合适的操作。如果一个或几个应用程序已被除去,则它们在操作86中被卸载或移除。如果一个或几个应用程序已被添加,则它们在操作88被下载和安装。After modifying its offer list,
图6表示添加或安装新程序的操作88的细节。在确定一个包需要被安装之后,轮询和报告组件52执行操作90,连接客户机代理服务器36,并通过提出一个包请求请求下载指令。包请求由其包ID标识客户已经标记为需要的包。客户机代理服务器36在操作91接收包请求,并在操作92通过产生或编译下载指令文件,并向客户设备34提供下载指令文件进行响应。下载指令文件最好以XML的格式提供。Figure 6 shows details of operation 88 of adding or installing a new program. After determining that a package needs to be installed, the polling and
下载指令文件包括关于包对象应当如何、何时、从哪里以及在什么条件下被下载的各个参数。在所述的实施例中,所述参数包括:The download instruction file includes various parameters about how, when, from where and under what conditions the package object should be downloaded. In the described embodiment, the parameters include:
头部head
内容块content block
ID(GUID)ID (GUID)
状态报告的响应URL(可选的)Response URL for status report (optional)
下载指令download command
开始时间(Start Time)(GMT)Start time (Start Time) (GMT)
Δ时间(Delta Time)(GMT)Delta Time (Delta Time) (GMT)
标记(Flags)(连接类型或者连接等级)Flags (connection type or connection class)
被请求(Required)(YES或NO,缺省:NO)Required (YES or NO, default: NO)
文件说明Document description
源URL(Source URL)Source URL (Source URL)
设备上的目的地(作为完全合格的路径的文件位置)Destination on the device (file location as a fully qualified path)
签名(Signature)(文件的签署的杂乱数据(SignedSignature (signed messy data of the file (Signed
hash))hash))
在下载之后在设备上运行的命令(可选的)Command to run on device after download (optional)
“内容块”包含关于指令文件本身的内容的信息,包括URL,客户应当对其报告在后列出的操作的成功或失败。“下载指令”规定“开始时间”或“Δ时间”(一个时间间隔,操作应当在该间隔后开始),以及表示允许进行下载的条件的“标记”。例如,标记可以指出只有当存在特定通信能力时,例如通过高速网和网络相连时,才开始下载。作为另一个例子,标记可以指出,只有当客户设备和交流电源(与电池电源相对)相连时,下载才开始。The "Content Block" contains information about the content of the command file itself, including the URL, to which the client should report the success or failure of the operations listed thereafter. The "download command" specifies a "start time" or "delta time" (a time interval after which the operation should start), and a "flag" indicating the conditions under which the download is permitted. For example, a flag may indicate that the download should only begin when certain communication capabilities are present, such as a connection to a network via a high-speed network. As another example, a flag may indicate that the download begins only when the client device is connected to AC power (as opposed to battery power).
“被请求”参数指出管理服务器32是否请求把所述包安装在设备上。“文件说明”指出要被复制到客户设备上的文件的源位置和目的地位置,以及文件的签名。“命令”参数标识在成功地复制指令文件预先规定的文件之后要由客户设备执行的指令。The "requested" parameter indicates whether the
下面是XML下载指令文件的一个例子,其中黑体字符是变量数据值: The following is an example of an XML download instruction file, where characters in boldface are variable data values:
DOWNLOAD XML MESSAGE:
<RDM-Operation>
<Authorization SourceGUID=″66CC03B9-6C89-45e3-94C5-
4213925B7B21″Signature=″Foo Bar″/>
<Contents Action=″Create″ID=″FE046C21-9272-49e0-83D7-
8975566184F0″
ResponseUrl=″https://server/device.dll?status″>
<Description SourceName=″Server″OfferingName=″Foo Program″>
<ShortDescription>“Latest Foo program”</ShortDescription>
</Description>
<Download StartTime=″d0 07 0a 00 03 00 12 00 00 00 2a 00 05 00
00 00″DeltaTime=″00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00″RetryTime=″00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00″MaxRetryCount=″5″Type=″Download″Flags=″05 00
00 00″RequireUrlSigs=″0″
NotificationType=″MandatorySilent″>
<CopyFile Url=″https://server/drop/foo.exe″
Dest=″\temp\foo.exe″/>
<CopyFile Url=https://server/drop/foo.dll
Desy=″\temp\foo.dll″/>
<CopyFile Url=″https://server/drop/foo.reg″
Dest=″\temp\foo.reg″/>
<CopyFile Url=″https://server/drop/foo.cmd″
Dest=″\temp\foo.cmd″/>
<PostlnstallCommand=″\temp\foo.cmd″/>
</Download>
</Contents>
</RDM-Operation>
DOWNLOAD XML MESSAGE:
<RDM-Operation>
<Authorization SourceGUID="66CC03B9-6C89-45e3-94C5-
4213925B7B21″Signature="Foo Bar"/>
<Contents Action="Create" ID="FE046C21-9272-49e0-83D7-
8975566184F0″
ResponseUrl="https://server/device.dll?status">
<Description SourceName="Server"OfferingName="Foo Program">
<ShortDescription>“Latest Foo program”</ShortDescription>
</Description>
<Download StartTime=″d0 07 0a 00 03 00 12 00 00 00 2a 00 05 00
00 00″DeltaTime=″00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00″RetryTime=″00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00″MaxRetryCount="5"Type="Download"Flags="05 00
00 00″RequireUrlSigs="0"
NotificationType="MandatorySilent">
<CopyFile Url="https://server/drop/foo.exe"
Dest = "\temp\foo.exe"/>
<CopyFile Url=https://server/drop/foo.dll
Desy = "\temp\foo.dll"/>
<CopyFile Url="https://server/drop/foo.reg"
Dest = "\temp\foo.reg"/>
<CopyFile Url="https://server/drop/foo.cmd"
Dest = "\temp\foo.cmd"/>
<PostlnstallCommand="\temp\foo.cmd"/>
</Download>
</Contents>
</RDM-Operation>
客户设备34接收和分析接收的下载指令文件,并在操作94利用调度组件54调度下载的指令,以便按照开始时间、Δ时间与/或和所述指令相关的标记执行。在合适的时间,调度程序命令下载组件56执行操作95,下载在下载指令文件中规定的文件。由指令解释程序58执行的下一个操作96包括执行由下载指令文件的“命令”参数表示的指令,其在大多数情况下将由安装组件60启动下载文件的安装。在给定的例子中,这个命令包括在本文中上面说明的“foo.cmd”脚本。执行“foo.cmd”包括执行其各个指令,这些指令执行任何所需的安装任务,在给定的例子中,就是把文件复制到客户设备的合适的The
返回图5,在从其程序列表中添加或除去程序或包之后,或者在安装程序或包之后,客户设备34执行操作97,向客户机代理服务器36发送表示操作的成功(或失败)的状态响应。所述状态响应最好被格式化为XML数据,指出已被下载、安装与/或除去的包的包ID。例如,XML状态响应可以采取以下的形式其中黑体字符表示变量数据<Status><response code=″100″ID=″E587E5D6-7160-4b8e-A3D9-Returning to Figure 5, after adding or removing a program or package from its program list, or after installing a program or package, the
041B5568704″Type=″Download″/><response code=″100″ID=″E587E5D6-7160-4b8e-A3D9-041B5568704″Type=″Download″/><response code=″100″ID=″E587E5D6-7160-4b8e-A3D9-
041B85568704″Type=″instll/″></Status>041B85568704″Type=″instll/″></Status>
客户机代理服务器36在操作98接收并处理状态响应。The
除去上面详细说明的特定的功能之外,客户机代理服务器36还执行其它功能,以便支持客户设备52的管理。具体地说,客户机代理服务器36代表客户设备34响应状态请求和其它通信。此外,通过命令客户设备下载、安装与/或执行特定的报告应用程序,客户机代理服务器能够启动由客户设备34进行的更广泛的报告。In addition to the specific functions detailed above,
服务器和客户机代理服务器组件以及上述的功能由一个或几个计算机来实现。图7表示了这种计算机的一般例子的组件,所述计算机由标号100表示。图7表示的组件只是一个例子,并不对本发明的功能范围构成任何限制;本发明不必依赖于图7所示的特征。The server and client proxy server components and the functions described above are implemented by one or several computers. FIG. 7 shows components of a general example of such a computer, indicated by reference numeral 100 . The components shown in FIG. 7 are only an example and do not constitute any limitation on the functional scope of the invention; the invention does not necessarily depend on the features shown in FIG. 7 .
一般地说,可以使用各种不同的通用的或专用的计算系统配置。适用于本发明的公知的计算系统的例子、环境与/或配置包括但不限于:个人计算机,服务器计算机,膝上型设备,微处理器系统,基于微处理器的系统,网络PC,微型计算机,大型计算机,包括任何上述系统或设备等的分布式计算环境等。In general, a variety of different general purpose or special purpose computing system configurations may be used. Examples of known computing systems, environments and/or configurations suitable for use with the present invention include, but are not limited to: personal computers, server computers, laptops, microprocessor systems, microprocessor-based systems, network PCs, microcomputers , large computers, distributed computing environments including any of the above-mentioned systems or devices, etc.
计算机的功能在许多情况下由计算机可执行的指令例如由计算机执行的程序模块来实施。一般地说,程序模块包括例行程序,程序,对象,组件,数据结构等,它们执行特定的任务,或实现特定的抽象数据类型。任务也可以通过利用通信网络连接的远程处理设备完成。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。The functions of the computer are in many cases implemented by computer-executable instructions, such as program modules, executed by the computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Tasks can also be performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media.
指令与/或程序模块在不同的时间被存储在计算机可读的介质中,所述介质或者是计算机的一部分,或者是可以由计算机读出的介质。程序一般分布在例如软盘,CD-ROM,DVD或其它形式的传播介质例如调制信号上,由之安装到或载入计算机的辅存储器中。在执行时,它们至少部分地被载入计算机的主电子存储器。当计算机可读介质含有指令、程序与/或模块,用于结合微处理器或其它数据处理器实施上述的步骤和操作时,这里所述的发明包括这些以及其它各种类型的计算机可读介质。本发明还包括按照上述的方法和技术编程的计算机本身。Instructions and/or program modules are stored at various times on computer-readable media, which are either part of the computer or media that can be read by the computer. The program is typically distributed on, for example, a floppy disk, CD-ROM, DVD or other form of transmission medium such as a modulated signal, from which it is installed or loaded into the secondary memory of the computer. At execution, they are loaded at least partially into the computer's main electronic memory. When the computer-readable medium contains instructions, programs, and/or modules for carrying out the steps and operations described above in conjunction with a microprocessor or other data processor, the invention described herein includes these and other types of computer-readable media . The present invention also includes the computer itself programmed according to the methods and techniques described above.
为了便于说明,程序以及其它可执行的程序组件例如操作系统,这里作为分立模块进行说明,但应认识到,这种程序和组件在不同的时间驻留在计算机的不同的存储部件中,并由计算机的数据处理器执行。For ease of illustration, programs and other executable program components, such as the operating system, are described herein as discrete modules, but it will be appreciated that such programs and components reside at different times in different memory components of the computer and are controlled by The computer's data processor executes.
现在参看图7,计算机100的部件可以包括但不限于处理单元120,系统存储器130和系统总线121,所述总线把包括系统存储器在内的各个系统组件和处理单元120相连。系统总线121可以是几种类型的总线结构中的任何一种类型的结构,包括存储器总线或存储器控制器,外围总线,以及使用多种总线结构的任何一个的局域总线。作为例子而不是限制,所述结构包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增强型ISA(EISAA)总线,视频电子标准协会(VESA)局域总线,以及外围部件互联(PCI)总线,其也被称为中层楼(Mezzanine)总线。Referring now to FIG. 7 , components of the computer 100 may include, but are not limited to, a processing unit 120 , a system memory 130 and a system bus 121 that connects various system components including the system memory to the processing unit 120 . System bus 121 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus structures. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISAA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect ( PCI) bus, which is also called Mezzanine bus.
计算机100一般包括各种计算机可读的介质。计算机可读的介质可以是可由计算机100访问的任何现有的介质,包括易失性介质和非易失性介质,可换介质和不可换介质。作为例子而非限制,计算机可读介质可以包括计算机存储介质和传播介质。计算机存储介质包括以任何方法或技术实现的,用于存储信息例如计算机可读的指令、数据结构、程序模块或者其它数据的易失性和非易失性,可换和不可换介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、快速闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储装置、或者任何其它可用于存储所需的信息并且可由计算机110访问的介质。传播介质一般包含计算机可读的指令、数据结构、程序模块或在调制数据信号中的其它数据,所述调制数据信号例如是载波或其它的传输机制,传播介质还包括任何信息传输介质。术语“调制数据信号”指的是这样的信号,其特性中的一种或多种被设置或改变,从而将信息编码在信号中。作为举例而非限制,传播介质包括有线介质例如有线网络,或直接导线连接,以及无线介质例如声音介质、RF、红外和其它的无线介质。上述这些介质的任意组合也被包括在计算机可读介质的范围内。Computer 100 generally includes various computer-readable media. Computer readable media can be any existing media that can be accessed by computer 100 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and propagation media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic tape, magnetic tape, magnetic disk storage or other magnetic storage devices , or any other medium that can be used to store the required information and that can be accessed by the computer 110 . Propagation media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term "modulated data signal" refers to a signal that has one or more of its characteristics set or changed such that information is encoded in the signal. By way of example, and not limitation, propagation media include wired media such as a wired network, or direct-wire connection, and wireless media such as acoustic media, RF, infrared and other wireless media. Combinations of any of the above are also included within the scope of computer-readable media.
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,例如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)一般被存储在ROM 131中,其含有用于例如在启动期间帮助在计算机100的元件之间传递信息的基本的例行程序。RAM 132一般含有由处理器单元120立即访问的与/或当前正在由处理器单元120操作的数据与/或程序模块。作为举例而非限制,图7示出了操作系统134,应用程序135,其它程序模块136,以及程序数据137。System memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory, such as read only memory (ROM) 131 and random access memory (RAM) 132 . A basic input/output system 133 (BIOS) is typically stored in ROM 131 and contains the basic routines used to help pass information between elements of computer 100, such as during start-up. RAM 132 generally contains data and/or program modules that are immediately accessed by processor unit 120 and/or are currently being operated on by processor unit 120. By way of example and not limitation, FIG. 7 shows operating system 134 , application programs 135 , other program modules 136 , and program data 137 .
计算机100还可以包括其它可换/非可换、易失性/非易失性计算机存储介质。仅仅作为例子,图7示出了硬盘驱动器141,其可以对非可换非易失性磁介质进行读写,磁盘驱动器151,其可以对可换非易失性磁盘152进行读写,以及光盘驱动器155,其可以对可换非易失性光盘156例如CD ROM或其它光学介质进行读写。可以在所举例的操作环境中使用的其它可换/非可换、易失的/非易失的计算机存储介质包括但不限于盒式磁带、闪存卡、数字通用盘、数字视频磁带、固态RAM,固态ROM等。硬盘驱动器141一般通过非可换存储器接口例如接口140和系统总线121相连,磁盘驱动器151和光盘驱动器155一般通过可换存储器接口例如接口150和系统总线121相连。Computer 100 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 7 shows a hard disk drive 141, which can read from and write to non-removable non-volatile magnetic media, a magnetic disk drive 151, which can read from and write to removable non-volatile magnetic disks 152, and an optical disk drive 151. Drive 155, which can read and write to a changeable non-volatile optical disc 156 such as CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that may be used in the exemplary operating environment include, but are not limited to, cassette tapes, flash memory cards, digital versatile disks, digital video tapes, solid-state RAM , solid-state ROM, etc. The hard disk drive 141 is generally connected to the system bus 121 through a non-removable memory interface such as interface 140 , and the magnetic disk drive 151 and optical disk drive 155 are generally connected to the system bus 121 through a removable memory interface such as interface 150 .
上面讨论的并在图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连接。The drives and their associated computer storage media discussed above and shown in FIG. 7 are used for storage of computer readable instructions, data structures, program modules and other data for computer 100 . In FIG. 7 , for example, a hard disk drive 141 is shown for storing an operating system 144 , application programs 145 , other program modules 146 and program data 147 . Note that these components may or may not be the same as operating system 134 , application programs 135 , other program modules 136 , and program data 137 . Operating system 144, application programs 145, other program modules 146 and program data 147 have been given different reference numbers in the figure to illustrate that they are at least different copies. A user may enter instructions or information into the computer 100 through input devices such as a keyboard 162 and a pointing device 161 commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include microphones, joysticks, game pads, satellite dishes, scanners, and the like. These and other input devices are typically connected to the processing unit 120 through a user input interface 160 connected to the system bus, but may also be connected through other interfaces and bus structures such as parallel port, game port or universal serial bus (USB). A monitor 191 or other type of display device may also be connected to the system bus 121 via an interface such as video interface 190 . In addition to the monitor, the computer may also include other peripheral output devices such as speakers 197 and a printer 196 , which may be connected through the output peripheral interface 195 .
计算机可以通过使用和一个或几个远程计算机例如远程计算机180的逻辑连接而在网络环境中操作。远程计算机180可以是个人计算机,服务器,路由器,网络PC,同级设备或其它的公共网络节点,并且一般包括上述的关于计算机100的许多或所有的元件,尽管在图7中只示出了存储器存储装置181。图7中所示的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其它网络。这种网络环境在办公室、企业计算机网络、内部网和互联网中是通常的。The computer may operate in a network environment through the use of logical connections to one or several remote computers, such as remote computer 180 . Remote computer 180 may be a personal computer, server, router, network PC, peer or other public network node, and typically includes many or all of the elements described above with respect to computer 100, although only memory is shown in FIG. Storage device 181. The logical connections shown in Figure 7 include a local area network (LAN) 171 and a wide area network (WAN) 173, but other networks may also be included. Such networking environments are commonplace in offices, enterprise computer networks, intranets and the Internet.
当在LAN联网环境中使用时,计算机100通过网络接口或适配器170和LAN 171相连。当在WAN联网环境中使用时,计算机100一般包括调制解调器172或其它用于在WAN 173例如互联网上建立通信的装置。调制解调器172可以是内置的或外置的,可以通过用户输入接口160或其它合适的机构和系统总线121相连。在网络环境中,对于计算机100或其一部分描述的程序模块可以存储在远程存储器存储装置中。作为举例而非限制,图7示出了驻留在存储装置181中的远程应用程序185。应当理解,所示的网络连接只是一个例子,可以使用在计算机之间建立通信连接的其它装置。When used in a LAN networking environment, the computer 100 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 100 typically includes a modem 172 or other means for establishing communications over a WAN 173, such as the Internet. The modem 172 can be built-in or external, and can be connected to the system bus 121 through the user input interface 160 or other suitable mechanisms. In a network environment, program modules depicted relative to the computer 100, or portions thereof, may be stored in the remote memory storage device. By way of example and not limitation, FIG. 7 shows remote application 185 residing in storage device 181 . It should be appreciated that the network connection shown is an example and other means of establishing a communications link between the computers may be used.
有限资源客户设备34通过使用类似于图7所示的技术来实现,尽管是在更为有限的规模上。此外,有限资源客户设备例如PDA、蜂窝电话等一般没有图7所示的所有功能。例如,有限资源客户通常没有用于可换磁介质例如软盘或CD-ROM的驱动器。这种客户机一般具有少得多的存储容量,较小的显示装置和键盘,较慢的或功能较少的处理器。此外,许多这种设备具有电子闪存器,用于代替硬盘。此外,有限资源装置一般运行没有台式计算机操作系统所支持的所有功能的操作系统。例如。有限资源装置可以运行Windows CE操作系统,而不运行Windows XP操作系统。Limited
虽然本发明按照特定的结构特征和方法步骤进行了说明,但是应当理解,在所附权利要求中限定的本发明不必局限于这些特定的特征。而是,这些特定的特征和方法步骤只是作为用于实施权利要求限定的优选的形式披露的。Although the invention has been described in terms of specific structural features and method steps, it is to be understood that the invention defined in the appended claims is not necessarily limited to these specific features. Rather, the specific features and method steps are disclosed as preferred forms of implementing the claims.
Claims (38)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US33877701P | 2001-12-05 | 2001-12-05 | |
| US60/338,777 | 2001-12-05 | ||
| US10/183,916 | 2002-06-26 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2007101939750A Division CN101159621B (en) | 2001-12-05 | 2002-12-05 | Configuration and management systems for mobile and embedded devices |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1441374A true CN1441374A (en) | 2003-09-10 |
| CN100363895C CN100363895C (en) | 2008-01-23 |
Family
ID=27788917
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB02155904XA Expired - Lifetime CN100363895C (en) | 2001-12-05 | 2002-12-05 | Configuration and management system for mobile and embedded devices |
| CN2007101939750A Expired - Lifetime CN101159621B (en) | 2001-12-05 | 2002-12-05 | Configuration and management systems for mobile and embedded devices |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2007101939750A Expired - Lifetime CN101159621B (en) | 2001-12-05 | 2002-12-05 | Configuration and management systems for mobile and embedded devices |
Country Status (1)
| Country | Link |
|---|---|
| CN (2) | CN100363895C (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100461966C (en) * | 2006-09-08 | 2009-02-11 | 西安交通大学 | An integrated platform based on embedded mobile terminal equipment and supporting mobile collaborative services |
| WO2010034224A1 (en) * | 2008-09-08 | 2010-04-01 | 华为终端有限公司 | Method, device and management system for sending messages from terminal equipment |
| CN101136825B (en) * | 2007-10-10 | 2010-06-09 | 中兴通讯股份有限公司 | Method and system for asynchronous configuration information management of client/server structure |
| CN101009566B (en) * | 2006-01-23 | 2011-06-01 | 北京金远见电脑技术有限公司 | System and method for information download of the embedded system device |
| US8145735B2 (en) | 2004-01-07 | 2012-03-27 | Microsoft Corporation | Configuring network settings using portable storage media |
| CN101411165B (en) * | 2006-04-13 | 2013-06-19 | 国际商业机器公司 | Technique of controlling communication of installed apparatus with outside by means of proxy server |
| CN107092499A (en) * | 2009-04-14 | 2017-08-25 | 高通股份有限公司 | For enabling and disabling computing device using the system and method with widget |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102651694B (en) * | 2011-02-23 | 2015-05-20 | 蓝盾信息安全技术股份有限公司 | Method and system for managing and controlling host |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9414951D0 (en) * | 1994-07-25 | 1994-09-14 | British Telecomm | Computer system having client-server architecture |
| 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 |
| US6822955B1 (en) * | 1998-01-22 | 2004-11-23 | Nortel Networks Limited | Proxy server for TCP/IP network address portability |
| FR2791159B1 (en) * | 1999-03-15 | 2001-05-04 | Bull Cp8 | METHOD FOR ACCESSING AN OBJECT USING A WEB-BASED BROWSER COOPERATING WITH A CHIP CARD AND ARCHITECTURE FOR IMPLEMENTING THE METHOD |
| 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 |
| JP3485253B2 (en) * | 1999-06-18 | 2004-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing method, information terminal support server, storage medium for storing information processing program |
| CN2461074Y (en) * | 2000-11-22 | 2001-11-21 | 岳阳宏讯计算机技术开发有限公司 | IP gateway |
-
2002
- 2002-12-05 CN CNB02155904XA patent/CN100363895C/en not_active Expired - Lifetime
- 2002-12-05 CN CN2007101939750A patent/CN101159621B/en not_active Expired - Lifetime
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8145735B2 (en) | 2004-01-07 | 2012-03-27 | Microsoft Corporation | Configuring network settings using portable storage media |
| CN101009566B (en) * | 2006-01-23 | 2011-06-01 | 北京金远见电脑技术有限公司 | System and method for information download of the embedded system device |
| CN101411165B (en) * | 2006-04-13 | 2013-06-19 | 国际商业机器公司 | Technique of controlling communication of installed apparatus with outside by means of proxy server |
| CN100461966C (en) * | 2006-09-08 | 2009-02-11 | 西安交通大学 | An integrated platform based on embedded mobile terminal equipment and supporting mobile collaborative services |
| CN101136825B (en) * | 2007-10-10 | 2010-06-09 | 中兴通讯股份有限公司 | Method and system for asynchronous configuration information management of client/server structure |
| WO2010034224A1 (en) * | 2008-09-08 | 2010-04-01 | 华为终端有限公司 | Method, device and management system for sending messages from terminal equipment |
| CN107092499A (en) * | 2009-04-14 | 2017-08-25 | 高通股份有限公司 | For enabling and disabling computing device using the system and method with widget |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101159621B (en) | 2010-12-22 |
| CN101159621A (en) | 2008-04-09 |
| CN100363895C (en) | 2008-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7219140B2 (en) | Configuration and management systems for mobile and embedded devices | |
| JP4519426B2 (en) | Program and method for mobile device configuration management | |
| CN1291313C (en) | System and method for the automatic installation and configuration of an operating system | |
| CN102427481B (en) | System for managing cloud computing service and cloud computing management method | |
| CN1171145C (en) | Request scheduler for automatic software configuration | |
| CN1276320C (en) | Terminal apparatus, controlling method, program and communication method thereof | |
| US20060085852A1 (en) | Enterprise assessment management | |
| CN101069172A (en) | Application programming interface for managing distribution of software updates in an update distribution system | |
| JP2004534973A (en) | Network device upgrade system and method | |
| CN1916846A (en) | Method for automatic deploying operate system | |
| CN1650287A (en) | Methods and systems for changing a topology of a network | |
| CN1947450A (en) | Systems and methods for managing connections to available networks | |
| CN1832476A (en) | Dynamic service surrogates | |
| CN102882908A (en) | Cloud computing management system and cloud computing management method | |
| US8099588B2 (en) | Method, system and computer program for configuring firewalls | |
| CN1969271A (en) | Presenting a merged view of remote application shortcuts from multiple providers | |
| CN1658609A (en) | Systems and methods for customizing application content provisioning | |
| CN1441374A (en) | Configuration and management systems for mobile and embedded devices | |
| CN1763737A (en) | Print support device and control method, print processing device and document processing system | |
| CN1812383A (en) | System and method for provisioning component applications | |
| CN101068163A (en) | Method, device and network management system for realizing document transmission | |
| US9489219B2 (en) | Integration and management apparatus, integration and management system and computer readable information recording medium | |
| CN1791024A (en) | Authentic remote service heat deploying method | |
| JP2014032687A (en) | Integrated management device, control method, and program | |
| CN1969504A (en) | Device management system and device management command scheduling method |
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: 20150507 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20150507 Address after: Washington State Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
| CX01 | Expiry of patent term | ||
| CX01 | Expiry of patent term |
Granted publication date: 20080123 |