桌面管理规范DMI分析
2000/10/1 来源:互联网世界 作者:黄文培


  概述
  
  随着联网技术的飞速发展,企业联网势在必行。研究表明,随着联网PC种类、数量的不断上升,一年内维护和运行一台PC的开销——总保有成本TCO将急骤上升。为了有效地控制TCO,近年来,业界提出了不少新的网络管理规范。例如Intel的WfM2.0、Microsoft的WMI、DMTF(DesktopManagementTaskForce,Inc.)的CIM等。新的网管规范通过提高企业网的远程监控、远程安装、远程配置等能力,将系统使用与系统维护工作分开,有效地提高了用户的工作效率、减少了TCO。
  作为企业级网络管理规范的一个基础,桌面管理规范(DesktopManagementInterfaceSpecificationVersion2.0,简称DMI)为实现台式机、服务器、便携机的资产管理、远程监控、远程访问提供了标准的接口。由于DMI具有不依赖特定的操作系统和硬件;不依赖特定的网管协议;具有统一的编程接口,易于被厂家采纳;可提供本地、远程访问接口;能将DMI信息映射至已有的网管协议(如CMIP、SNMP)等特点,近年来获得了业界的广泛支持。
  
  DMI的组成和结构
  
  以往的管理应用程序在访问系统软、硬件信息时要直接同操作系统、硬件驱动程序打交道。由于不同的操作系统、硬件提供不同的编程接口(API),这极大地限制了管理应用程序访问不同系统、部件的能力。为了便于管理应用程序访问底层软、硬件信息,DMI2.0通过在管理应用程序与硬件驱动程序之间增加一个抽象层(DMIServiceProvider)实现对底层信息的一致访问。因此,结构上,DMI由服务层(ServiceProvider)、管理接口(ManagementInterface)、组件接口(ComponentInterface)三部分组成,如图1所示。
  1.DMI服务层
  DMI服务层(以下简称DMISP)是一个常驻内存的应用程序。它负责管理DMI的MIF库,执行管理应用程序的部件安装、删除命令;响应管理应用程序(ManagementApplication)、部件测试工具(Componentinstrumentation)发出的DMI请求(request);支持事件/报警(Event/Indication)的预定(Subscription)和过滤(Filtering)机制。
  这里,管理应用程序指能发出DMI命令的应用程序。它可能是一个具有图形用户界面的应用程序,也可能是一个没有用户界面的将SNMP、CMIP请求转换成DMI请求的网管协议代理。部件测试工具是专门用于管理某特定部件可管理属性的代码程序,通常是一个DLL或EXE文件。DMI视计算机内一个物理上(或逻辑上)的实体(包括软件和硬件)为一个部件(Component)。
  图1DMI的结构
  2.管理接口
  DMISP与管理应用程序的接口称为管理接口(ManagementInterface,简称MI)。管理接口主要由DmiGet、DmiSet和DmiList三类命令组成。其中,DmiGet、DmiSet分别用于读取、设置DMI组属性。DmiList用于查询MIF库信息。由于DmiList不返回属性值,管理应用程序发送DmiList请求时,DMISP不调用部件测试工具。另外,由于多个应用程序可能同时访问一个DMISP,为了区分不同的管理应用程序发出的DMI请求,DMI规定:管理应用程序在请求DMISP服务前,首先要向DMISP注册并获得一个合法的管理句柄(Handle)。随后,管理应用程序可以利用得到的句柄发送DMI请求。最后,为了便于DMI数据库操作,管理接口还包含DmiAdd、DmiDelete等多条命令。
  DMI1.0服务层只提供本地调用接口。DMI2.0在1.0的基础上增加了一个远程过程调用(RemoteProcedureCall,简称RPC)支持层(supportlayer)。借助RPC(DEC/RPC、ONC/RPC或TI/RPC)机制,DMI隐藏了远程过程调用的复杂性,为管理应用程序访问本地和远程桌面管理信息提供了一致性方法。
  3.部件接口
  DMISP与组件测试工具的接口称为部件接口(ComponentInterface,简称CI)。DMI2.0规范规定,组件测试工具可以有两种实现方式:
  (1)直接接口程序(Directinterfaceprograms)
  直接接口程序是一......点击查阅全文......↓