CN1647036A - 关于与现存系统管理产品或软件方案接口的系统与方法 - Google Patents

关于与现存系统管理产品或软件方案接口的系统与方法 Download PDF

Info

Publication number
CN1647036A
CN1647036A CNA038087901A CN03808790A CN1647036A CN 1647036 A CN1647036 A CN 1647036A CN A038087901 A CNA038087901 A CN A038087901A CN 03808790 A CN03808790 A CN 03808790A CN 1647036 A CN1647036 A CN 1647036A
Authority
CN
China
Prior art keywords
multiple arrangement
gateway
interface
software
ensures
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.)
Pending
Application number
CNA038087901A
Other languages
English (en)
Inventor
格雷戈里·L·博丁
安德鲁·J·安德森
约翰·P·凯恩
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.)
CA Inc
Original Assignee
Computer Associates Think Inc
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 Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of CN1647036A publication Critical patent/CN1647036A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Abstract

一种用于提供与不同系统产品或软件方案的一致的接口的系统与方法,包括一或多个其中驻留了不同系统产品或软件方案(装置)的系统单元或设备。可以向与某一特定的系统单元或设备相关的装置网关做出一个服务请求,这一特定的系统单元或设备包括一个可以服务于该请求的装置。装置网关选择与该特定装置相关的一个装置保障器,以从该特定的装置引用所请求的服务。

Description

关于与现存系统管理产品或软件方案接口的系统与方法
技术领域
总体上讲,本发明所公开的内容涉及数据资源管理,具体地讲,本发明所公开的内容涉及一种提供了与现存计算机系统管理产品(product)或软件方案(solution)的一致的管理接口的系统与方法。
背景技术
计算机系统管理是企业运营的一个重要的方面,并且也是软件市场增长最快的领域之一。随着产品(例如软件和硬件)部署与购买数量的增多,由于更大的责任,压力也日趋增大。为获得所要部署的硬件和软件需要付出的巨额花费,以及表明受托方责任的越来越大的成本控制压力,导致了对更大责任的需求,从而使系统管理在企业的运营中发挥着更为关键的作用。
使用一系列不同工具的传统的系统管理途径,已经证明具有很低的成本效率比,因为与使用这些独立的管理工具相关的成本,导致了管理上的成本,而这些成本往往会超过需要加以管理的硬件和软件方面最初的投资。通常,减少工具的数量是不可行的,因为所使用的每一工具均具有不同的能力,其中许多工具需用于实现具体的管理目标。解决这一问题的其它传统的途径一直在促进接口标准定义或动议(Proposal),并且这些接口标准定义或动议最终在现存产品的新版本中得以承认和实现(例如,通常为了响应来自客户机方面对标准兼容性要求的压力)。
发明内容
本发明所公开的内容描述了一种机制,通过其可实现与现存技术进行接口的标准技术。在一个实施例中,向现存产品提供了基于标准的、一致的接口以及相关的技术,而且不需引入或开发新的通信协议、消息结构、或对这些产品或技术的其它重大更新。
因此,一种用于提供与不同产品或软件方案的一致的接口的系统与方法,可以包括一或多个其中驻留了不同系统产品或软件方案(装置)的系统单元或设备。可以向一个与某一特定的系统单元或设备相关的装置网关发送一个服务请求,这一特定的系统单元或设备包括可以服务于该请求的装置。装置网关选择与该特定装置相关的一个装置保障器(sponsor),以从该特定的装置引用所请求的服务。该装置保障器在请求者和可以完成这一服务请求的特定的装置之间提供一个面向具体产品的接口。装置保障器可以经由适当的接口和装置网关在消息有效载荷中向请求者返回服务结果。在一个示例实施例中,消息有效载荷可以包括XML(可扩展标示语言)消息。
附图说明
为了更全面地理解本发明所公开的内容,请结合附图,参照以下的描述,其中:
图1说明了可以用于实现一个示例实施例的示例系统;以及
图2说明了可以用于实现一个示例实施例的示例方法。
具体实施方式
图1说明了可以用于实现一个示例实施例的示例系统10。系统10包括多个系统单元或设备12a~12n。为了便于举例,仅描述了4个这样的系统单元12a~12n,但实际上可以使用任何适当数量的系统单元12。对于此例,可以类似地配置系统单元12a~12n,然而,提供在每一系统单元12a~12n上的系统产品、软件或装置可能为不同的产品或方案,例如数据存储设备等。
每一个系统单元12a~12n可以包括一个装置网关14。装置网关14主要用作调度器(dispatcher)(例如对象请求居间器(broker)),可以提供对给定系统单元或设备12a~12n上所有装置保障器16a~16n的访问。实质上,装置网关14用作中央管道,通过其可获得的对装置保障器16a~16n的访问。尽管仅示出了3个这样的装置保障器16a~16n,但本发明所公开的内容并无意如此加以限制,而是实际上可以使用任何适当数量的装置保障器16。每一个装置保障器16a~16n可以用作一给定系统单元或设备12a~12n上的装置网关14的次级代理器(agent)。装置保障器16a~16n主要用于把标准接口暴露于装置网关14,通过这一标准接口,可以获得对特定系统产品和软件方案的功能的访问,其中针对这些特定的系统产品或软件方案来对装置保障器进行设计,以进行工作。每一装置保障器16a~16n可以用作一知识(knowledge)提供器(provider)的可执行的示例,并且能够使现存系统产品与客户机接口。因此,每一装置保障器可以用作一个实际的知识生成器或服务提供器。
知识提供器为这样的一种应用:能够从门户服务器对其加以引用,以提供对某些系统管理器门窗(portlet)所需的信息与服务的访问。门窗为能够使门户的用户访问各种与系统管理相关的任务的门户窗口。门户服务器可以为能够在其上执行门户服务器应用的设备。
基本知识提供器为这样的一种知识提供器:通过对装置层18a~18n中一个单一的应用所提供的一或多个适当接口的直接引用,提供对服务的访问(例如,一个基本知识提供器可以调用一个单一的装置保障器16a~16n)。复合知识提供器为这样的一种知识提供器:通过对装置层18a~18n中多个单一的应用所提供的一或多个适当接口的直接引用,提供对服务的访问(例如,一个复合知识提供器可以调用多个装置保障器16a~16n)。
每一个装置层18a~18n可以用作客户机应用20可以与其接口的一个现存系统产品或软件方案(例如,通过装置保障器16a~16n)。从而,可以通过门窗调用装置层18a~18n中的该系统产品或软件方案的程序(function),以执行所涉及的产品、软件或装置的实际的任务。为了完成客户机的服务请求,装置保障器可以引用适当的装置层或产品18a~18n。
在操作中,用户或客户机应用20试图与一或多个系统单元12a~12n上的现存系统产品、软件方案或相关的技术进行接口。对于一个示例实施例,可以把系统10视为这样的一个基于万维网(Web)的门户:该门户可以向系统管理员提供针对多种不同的系统技术(存储、安全、网络控制等)、并跨越不同平台来观察、实现、报告、分析、监视、及自动操作系统管理过程的公共接口。应用20可以创建一条标准的消息,该消息描述对与所涉及产品配套的服务的请求的性质。例如,应用20可以创建一条描述所做请求的可扩展标示语言(XML)消息。通常,可以把这一消息称为一个消息有效载荷(或者,对于XML消息,可以将其称为一个“XML消息有效载荷”)。XML消息有效载荷的内容可以包括XML标签(tag)与值,XML标签与值共同构成了相关于与所涉及系统产品、软件方案或装置进行的事务处理、或者对所涉及系统产品、软件方案或装置的服务的请求的查询和格式化准则。能够把可以包括针对某一产品的事务处理或服务请求的消息有效载荷传送到系统单元12a~12n,在该系统单元12a~12n,该产品将被接口,且该产品处于活跃(active)状态。例如,可以经由因特网(例如,网络19),使用一种标准的消息传送协议,例如针对标准类型消息的HTTP(超文本传送协议)1.1、或针对比通常情况要求更安全处理的消息有效载荷的HTTPS(安全套接层上的HTTP)1.1把消息有效载荷从应用20传送到系统单元(或设备)12a~12n上的一个端口。可以把从应用20接收所传送的消息有效载荷的系统单元12a~12n上的端口耦合于装置网关14,并且由装置网关14提供服务。
网络19可以包括公共与/或专用网络的任何适当的组合,而且这些公共与/或专用网络可以把用户(例如20)耦合于一或多个系统单元或设备12a~12n。在一个示例实施例中,网络19包括Internet和任何把用户20耦合于系统单元或设备12a~12n的适当的局域网(LAN)、城域网(MAN)或广域网(WAN)。
装置网关14可以检查流入(inbound)的消息有效载荷,以确定可以选择和引用哪一装置保障器16a~16n,以对来自应用20的消息有效载荷中的请求提供服务。较佳的做法是,可以把每一装置保障器16a~16n与能够加以引用以执行一或多个所请求任务的某一特定的系统产品、软件方案或装置层18a~18n的装置相关联。然后,所选择的装置保障器16a~16n可以引用适当的系统产品、软件方案或设备,以执行所请求的一或多个任务。应该加以注意的是,可以对所选择的装置保障器16a~16n加以构造,以使其能够提供执行所请求的一或多个任务所要求的任何一或多个面向具体产品的接口。
如以上所描述的,装置网关14可以选择和引用一个适当的装置保障器16a~16n,以服务于来自客户机应用20的请求。对于一个示例实施例,每一个装置保障器16a~16n可以为可执行的软件,并作为一个进程外应用或进程内应用加以运行,而且具有至少下列格式之一:动态连接库(DLL)、组件对象模型(COM)对象(例如可视化Basic(VB)、对象链接与嵌入(OLE)、OLE定制控制(OCX)、ActiveX等)、Java类、以及VBScript。可以把关于每一装置保障器16a~16n的功能和特性的相关信息存储在一个可集中访问的登记管理机构(未示出)中。这一登记管理机构可以用作把关于装置保障器16a~16n的登记信息提供于统一描述、发现和集成(UDDI)目录或其它基于Web的服务目录的一个接触点。
登记信息可以包括针对每一装置保障器16a~16n的数字签字。一个给定平台或系统单元12a~12n上的装置网关14可以使用数字签字(例如,作为一个选项),以确保装置网关14所加载或引用的具体装置保障器16a~16n不被篡改。因此,对于一个示例实施例,可以把微软签字代码机制用于数字签字DLL、COM对象、Java类等,以支持装置保障器16a~16n。
当装置网关14向所选择的装置保障器16a~16n发送消息有效载荷,以引用装置层18a~18n的一个适当的系统产品或软件方案时,装置网关14可以把相关的消息信息以多种方式中的至少一种方式加载到所选择的装置保障器中。因此,装置网关14所使用的加载方法可能会随所涉及的装置保障器16a~16n的平台和处理类型的改变而改变。例如,如果把所选择的装置保障器16a~16n用于基于视窗(Windows)的平台的进程外的方法,则装置网关14可通过例示一个适当的COM对象(例如COM可以建立一个隐式的NT创建过程),加载具有相关消息信息的所选择的装置保障器,其中该COM对象包括该信息。作为另一个例子,如果把所选择的装置保障器16a~16n用于基于UNIX的平台的进程外的方法,则装置网关14可以经由共享库与/或创建新进程(Fork)或执行(Exec)命令,加载具有相关消息信息的所选择的装置保障器。
然而,如果把所选择的装置保障器16a~16n用于基于Windows的平台或基于UNIX的平台的进程内的方法,则装置网关14可以通过创建一个线程,并例示该线程,来加载具有相关消息信息的所选择的装置保障器,其中所创建的线程包括该信息,使得所选择的装置保障器16a~16n可以在装置网关14的控制下作为该线程(例如,一个程序的可以独立于其它部分执行的部分)执行。
如以上所描述的,每一个装置保障器16a~16n可以经由识别用户(例如客户机应用20)所请求的系统或软件程序的装置网关14,接收一个进入的消息有效载荷(例如,XML消息有效载荷)。另外,每一个装置保障器16a~16n还可以经由装置网关14向请求者(例如,应用20)输出一条消息(例如XML消息缓冲器)。特别是,用于在装置网关14和装置保障器16a~16n之间传送消息的机制可能随所使用的装置保障器的平台和处理类型的改变而改变。例如,如果把装置保障器16a~16n用于基于Windows的平台的进程外的方法,则可以使用COM远程过程调用(RPC)机制把消息发送至由装置网关14所启动的进程,但在其它方面,与主代理器的(例如,装置网关的)服务相分离地运行。使用COM RPC,客户机程序可以以适当的变元(argument)把消息发送至服务器,而该服务器可以返回包括程序执行的结果的消息。作为另一个例子,如果把装置保障器16a~16n用于基于UNIX的平台的进程外的方法,则可以经由“Fork”或“Exec”命令引用装置保障器。因此,装置保障器可以从“stdin”字段读进入的消息(例如XML消息),并通过写“stdout”字段来输出响应消息。然而,如果把装置保障器16a~16n用于进程内的方法(例如在基于Windows的平台或基于UNIX的平台上),最初,可以把一个句柄或指针传送给一个流入缓冲器(例如char*inbuff),并且把另一个指针传送给一个流出(outbound)缓冲器(例如char*outbuff)。
以下是可由装置网关14用于引用装置保障器16a~16n的基于UNIX的代码的一个例子:
Loadlib(bebSubAjent.dll)
Beb.InvokeSub(“INIT”)
wait for inbound data
if for bebAgent
        beb.InvokeSub(“INVOKE”,ib,ob);
        sendRply(ob);
    beb.InvokeSub(“FREE”,ob);
    continue;
以下是可由装置保障器16a~16n用于接收来自装置网关14的一条消息,并加以响应的代码的一个例子:
  fn:bebSubAject.dll

  long_declspec(dllexport)_cdeclInvokeSub(

  PCHAR szFunction,

  ...

  )

  {

  va_list argptr;

  if(stricmp(szFunction,“INITIALIZE”)==0){

  retum(ss.Initialize());

  }

  else if(stricmp(szFunction,“TERMINATE”)==0){
        <!-- SIPO <DP n="6"> -->
        <dp n="d6"/>
  return(ss.Terminate());

  }

  else if(stricmp(sxFunction,”INVOKE”)==0){

  char*ibXml;

  char**obXml;

  va_start(argptr,szFunction);

  ibXml=va_arg(argptr,char*);

  obXml=va_arg(atgptr,char**);

  va_end(argptr);

  return(ss.Invoke(idXml,obXml)):

  }

  else if(stricmp(szFunction,“FREE”))==0){

  char*obj;

  va_start(argptr,szFunction);

  obj=va_arg(argptr,char*);

  va_end(argptr);

  return(ss.Free(obj));

  }

  return 400;

  }
每一个装置保障器16a~16n可以执行多个可以经由来自装置网关14的一或多个消息有效载荷(例如XML消息有效载荷)引用的程序和方法。例如一个装置保障器16a~16n至少可以执行下列方法:
可以把“描述(Describe)”方法用于要求代理器提供关于它自身的信息。例如,如果把“Describe”方法发送给装置网关14,则该装置网关能够用一条描述其自身的消息响应与在其上运行装置网关的设备(系统单元12a~12n)上的该装置网关相关的所有当前所安装的装置保障器、以及在其上运行装置网关的设备上该装置网关可以检测的所有产品或软件方案。如果把“Describe”方法发送给装置保障器,则该装置保障器可以描述其自身。以下是这样的Describe方法的代码的一个例子:
  accepts
        <!-- SIPO <DP n="7"> -->
        <dp n="d7"/>
          <Method=describe/>

  returns:

          <Version=string/>

          <ProdInterfaceInfo=(ProdInterface Type*)

          <PlatformInfo=string/>

          <CanIssueAsyncNotify=string/>          (y,n)

          <ReqDTDVersionID=(Version*)Version of Request

  DTD this instrument sponsor supports

          <RespDTDVersionID=(Versi*)Version of

  Response DTD this instrument sponsor supports

          ProdInterfaceType(ProdName,Release,SubStat,

          Active)

          Name           CDATA Required

          Release        CDATA Required

          SubStat        Number(1,0)(1=instrument

          sponsor installed,0=instrument sponsor

          not installed)

          Active Number(1,0)(1=Active,

          0=Inactive)

   Version(VersionInfo)

          VersionInfo CDATA
可以把“异步通知设置目的地(AsyncNotifySetDestination)”方法用于告知装置保障器16a~16n它可以向何处发送异步通知。以下是可用于AsyncNotifySetDestination方法的代码的例子:
  accepts<Method=AsyncNotitySetDestination>

      <AsyncNotifySetDestinationType=string/>

                                      (trap,http)

      <AsyncNotifySetDestinationTargets=string/>

           (machine namelip addr,port;machine

           namelip addr,port;etc.)

      <AsyncNotifySetDestinationPort=string/>(port)
        <!-- SIPO <DP n="8"> -->
        <dp n="d8"/>
  returns<AsyncNotifySetDestinationStatus=string/>

                                      (success,failure)

    <AsyncNotifySetDestinationReason=string/>

                                      (explanation for failure)
可以把“显示语法(ShowGrammar)”方法用于要求代理器提供关于如何与其自身进行接口的信息。以下是可用于ShowGrammar方法的代码的一个例子。
accepts
    <Method=ShowGrammar/>
returns:
    <ResponseType=string/>          (URL,DTD,SCHEMA)
    <ResponseGrammar=string/>
可以把“启始(Init)”方法用于指示代理器启动。通常,可以通过装置网关把这一方法发送至装置保障器,即在其把一个消息有效载荷加载到该装置保障器中时进行这一发送。以下是可用于Init方法的代码的一个例子:
accepts
        <Method=Term/>
returns:
        <InitStatus=string/>
可以把“终止(Term)”方法用于指示代理器关闭。通常,装置网关可以把这一消息发送给装置保障器,即当指示该装置网关(例如,通过一个客户机应用或系统管理员)关闭一个装置保障器时进行这一发送。以下是可用于Term方法的代码的一个例子:
accepts
          <Method=Term/>
returns:
          <InitStatus=string/>
可以把“配置(Configure)”方法用于设置或查询装置保障器的可配置的设置。当针对装置保障器设置原始配置值时,在所涉及的平台上的那一装置保障器的随后的重新启动中配置这些值。应该加以注意的是,如果试图在一条单一的消息中放入多个配置设置,则要求所涉及的装置保障器使这些配置设置立即全部生效。如果设置新配置值的任何尝试均失败,则可以把所有值退回到引用该Configure方法之前配置值。以下是使用Configure方法的代码的一个例子:
  accepts

        <Method=ConfigureSub/>

        <ConfigurePolarity=(ConfigPolarity*)

        <ConfigureSetting=(ConfigureVariable*)

  returns:

        <ConfigureStatus=String/>       (success,

             failure)

        <ConfigureStatusReason=string/>     (explanation

             for failure)

  ConfigurePolarity(Polarity)

        Polarity Number(1,0)(0=Get,1=Set)

  Polarity CDATA            (Valid values are get or set)

  ConfigureVariable(VarName,VarValue)

      Varname CDATA

      VarValue CDATA
可以把“引用(Invoke)”方法用于请求装置保障器16a~16n可以代表用户加以执行的一个服务(例如,信息检索、策略管理、动作引用等)。以下是可用于Invoke方法的代码的一个例子:
accepts
      <Method=InvokeSub,InstallProd,DeinstallProd,
      InitProd,TermProd,CallProd>
      <method specific grammar>
      returns:
      <InvokeStatus=string/>
可以把“验证(Authenticate)”方法用于向装置保障器16a~16n发送授权书,该装置保障器可以验证该授权书(credential),以确定是否把用户(例如客户机应用20)所发送的随后的服务请求授予该装置保障器。较佳的做法是,取代对装置网关14的验证,这一Authenticate方法可以验证:哪个服务请求者的请求经由装置网关被提交到装置保障器。一旦该请求者得到验证,则可以由所涉及的装置保障器局部地超高速缓存或存储MAC Addr(网络适配器地址)或IP Addr(因特网协议地址)(或其它可以识别该请求者的记号)。接下来,装置保障器可以从局部超高速缓存器中检索授权书,并根据所检索的授权书信息做出访问决策。因此,装置网关14和所有数字签字的代理器能够确认装置保障器16a~16n的签字。以下是可用于Authenticate方法的代码的一个例子。
accepts
      <Method=Authenticate/>
      <UserID=userid string/>
      <Password=password/>
returns:
      <AuthenticateStatus=string/>
图2说明了可用于实现一个示例实施例的示例方法100。在步骤102,一个客户机或用户(例如20)创建一个包括针对某一特定系统产品或软件方案的服务请求的消息有效载荷(例如XML消息有效载荷)。在步骤104,客户机或用户把消息有效载荷发送到与一个针对一或多个系统单元或设备12a~12n的门户相关的地址。例如,可以由用户指定这一地址,或根据所做出的请求的类型加以确定。
在步骤106,响应于对包括一个服务请求在内的消息有效载荷的接收,一或多个装置网关14(例如,每一个与某一特定系统单元或设备12a~12n相关的装置网关14)向与该装置网关相关的装置保障器12a~12n发送一个“Describe”方法请求。响应于所做出的决策:服务于该请求的适当的系统产品或软件方案(装置)经由装置保障器12a~12n是可得的,则在步骤108,装置网关14选择该装置保障器以服务于该请求。在步骤110,所选择的装置保障器12a~12n经由一个针对将引用的系统产品或软件方案的面向具体产品的接口,从装置层18a~18n引用该相关的系统产品或软件方案(装置)。例如,如果某一适当的系统产品或软件方案作为装置18a驻留在装置层,则装置网关14可以选择装置保障器16a(例如,与装置18a直接相关的),以经由一个为该装置而设计的适当的接口引用该装置,以完成所做出的服务请求。在步骤112,所选择的装置保障器16a~16n可以向请求者发送一个包括服务结果的消息有效载荷(例如,经由装置网关14)。
尽管附图中已示意了并且在以上的详细描述中已经说明了一个优选实施例,但应该意识到,所公开的内容并不局限于所公开的这一实施例,在不背离权利要求所说明和所定义的本发明的精神的情况下,可以对本发明进行多种重新安排、修改以及替换。

Claims (26)

1.一种用于提供与多个装置的一致的接口的系统,包括:
至少一个系统单元;
装置网关,该装置网关耦合于一或多个所述系统单元;
多个装置保障器,该多个装置保障器中的每一个装置保障器耦合于一个装置网关;以及
多个装置,该多个装置中的每一个装置耦合于所述多个装置保障器之一。
2.根据权利要求1所述的系统,其中,通过相应的接口,把该多个装置中的每一个装置耦合于该多个装置保障器之一。
3.根据权利要求1所述的系统,其中,该系统单元之一包括数据存储设备。
4.根据权利要求1所述的系统,其中,该多个装置包括多个系统产品。
5.根据权利要求1所述的系统,其中,该多个装置包括多个软件方案。
6.一种用于提供与多个装置的一致的接口的系统,包括:
用于创建服务请求消息的部件;
用于向与至少一个系统单元相关的网关发送该服务请求消息的部件;
用于判断是否多个装置之一可用于完成包含在该服务请求消息中的服务请求的部件;
用于如果所述装置可用,则选择与该装置相关的保障器的部件;以及
用于以该装置引用所述服务的部件。
7.根据权利要求6所述的系统,还包括经由接口,把该多个装置中的装置耦合于该保障器的部件。
8.根据权利要求6所述的系统,其中,该多个装置包括多个系统产品。
9.根据权利要求6所述的系统,其中,该多个装置包括多个软件方案。
10.一种用于提供与多个装置的一致的接口的方法,该方法包括下列步骤:
在与至少一个系统单元相关的网关接收服务请求消息;
判断是否多个装置中有一个装置可用于完成包含在该服务请求消息中的服务请求;
如果有上述装置可用,则选择包括与该装置相关的接口的保障器;以及
通过该接口以该装置引用所述服务。
11.根据权利要求10所述的方法,其中,创建该服务请求消息包括创建XML消息。
12.根据权利要求10所述的方法,还包括把所引用的服务的结果返回给使用XML消息的服务请求者。
13.根据权利要求10所述的方法,其中,由用户创建服务请求消息。
14.根据权利要求10所述的方法,其中,判断是否该多个装置中的装置可用于完成包含在该服务请求消息中的服务请求,包括把描述消息发送到与该网关相关的多个装置保障器。
15.根据权利要求10所述的方法,其中,该接口包括针对该装置的面向具体产品的接口。
16.根据权利要求10所述的方法,其中,由该网关执行所述选择步骤。
17.根据权利要求10所述的方法,其中,由该保障器执行所述引用步骤。
18.根据权利要求10所述的方法,至少一个系统单元包括数据存储设备。
19.根据权利要求10所述的方法,该网关包括装置网关。
20.根据权利要求10所述的方法,该保障器包括装置保障器。
21.根据权利要求10所述的方法,该多个装置包括多个系统产品。
22.根据权利要求10所述的方法,该多个装置包括多个软件方案。
23.用于提供与多个装置的一致的接口的软件,该软件包含于计算机可读的媒体中,当执行时,可操作下列步骤:
在与至少一个系统单元相关的网关接收服务请求消息;
判断是否多个装置中有一个装置可用于完成包含在该服务请求消息中的服务请求;
如果有上述装置可用,则选择包括与该装置相关的接口的保障器;以及
以该装置引用所述服务。
24.根据权利要求23所述的软件,还可操作经由该接口把该多个装置之一耦合于该保障器。
25.根据权利要求23所述的软件,该多个装置包括多个系统产品。
26.根据权利要求23所述的软件,该多个装置包括多个软件方案。
CNA038087901A 2002-04-19 2003-04-18 关于与现存系统管理产品或软件方案接口的系统与方法 Pending CN1647036A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37389302P 2002-04-19 2002-04-19
US60/373,893 2002-04-19
US10/417,028 2003-04-15
US10/417,028 US7346647B2 (en) 2002-04-19 2003-04-15 System and method for interfacing with existing system management products or software solutions

Publications (1)

Publication Number Publication Date
CN1647036A true CN1647036A (zh) 2005-07-27

Family

ID=29218950

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA038087901A Pending CN1647036A (zh) 2002-04-19 2003-04-18 关于与现存系统管理产品或软件方案接口的系统与方法

Country Status (10)

Country Link
US (1) US7346647B2 (zh)
EP (1) EP1497715A2 (zh)
JP (1) JP2005523520A (zh)
KR (1) KR20040101537A (zh)
CN (1) CN1647036A (zh)
AU (1) AU2003222644A1 (zh)
BR (1) BR0309048A (zh)
CA (1) CA2482779A1 (zh)
IL (1) IL164624A0 (zh)
WO (1) WO2003090090A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101802804B (zh) * 2007-07-31 2016-05-25 通用仪表公司 制造个性化的动态和实时可配置软件架构的方法和装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478408B2 (en) * 2003-04-04 2009-01-13 Sesma Systems, Inc. System and method for accessing objects in a platform dependent environment from a platform independent environment
US7490332B2 (en) * 2003-04-04 2009-02-10 Sesma Systems, Inc. System and method for accessing ActiveX objects in a platform dependent environment from objects in a platform independent environment
US7437734B2 (en) * 2003-08-12 2008-10-14 Hewlett-Packard Development Company, L.P. Propagating web transaction context into common object model (COM) business logic components
KR100757896B1 (ko) * 2006-05-24 2007-09-11 한국전자통신연구원 홈 네트워크 시스템 및 그 시스템에서의 원격 홈서비스설치 방법
CN101739256B (zh) * 2009-12-30 2012-12-26 中国运载火箭技术研究院 用于集成优化软件的通用接口系统
US9842343B2 (en) 2012-05-21 2017-12-12 Connectwise, Inc. Systems and methods for an online marketplace for accessories of a remote monitoring and management product
US20150235011A1 (en) * 2014-02-19 2015-08-20 Adobe Systems Incorporated Drm protected video streaming on game console with secret-less application
US10331095B2 (en) * 2014-04-29 2019-06-25 Cox Communications Systems and methods for development of an automation control service

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5508732A (en) * 1993-03-22 1996-04-16 International Business Machines Corporation Data server, control server and gateway architecture system and method for broadcasting digital video on demand
US6141689A (en) * 1993-10-01 2000-10-31 International Business Machines Corp. Method and mechanism for allocating switched communications ports in a heterogeneous data processing network gateway
US6064979A (en) * 1996-10-25 2000-05-16 Ipf, Inc. Method of and system for finding and serving consumer product related information over the internet using manufacturer identification numbers
US5706286A (en) * 1995-04-19 1998-01-06 Mci Communications Corporation SS7 gateway
US5640446A (en) * 1995-05-01 1997-06-17 Mci Corporation System and method of validating special service calls having different signaling protocols
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
US6119105A (en) * 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
US6002767A (en) * 1996-06-17 1999-12-14 Verifone, Inc. System, method and article of manufacture for a modular gateway server architecture
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US5850446A (en) * 1996-06-17 1998-12-15 Verifone, Inc. System, method and article of manufacture for virtual point of sale processing utilizing an extensible, flexible architecture
US5996010A (en) * 1996-08-29 1999-11-30 Nortel Networks Corporation Method of performing a network management transaction using a web-capable agent
US5815571A (en) * 1996-10-28 1998-09-29 Finley; Phillip Scott Computer system with secured data paths and method of protection
US6073172A (en) * 1997-07-14 2000-06-06 Freegate Corporation Initializing and reconfiguring a secure network interface
US6308207B1 (en) * 1997-09-09 2001-10-23 Ncr Corporation Distributed service subsystem architecture for distributed network management
US6457049B2 (en) * 1998-06-08 2002-09-24 Telxon Corporation Enterprise wide software management system for integrating a plurality of heterogenous software systems to support clients and subclients communication by using a midware interface
US6667736B1 (en) * 1998-06-17 2003-12-23 Microsoft Corporation Method for communicating local information between component objects and hosts
US8006177B1 (en) * 1998-10-16 2011-08-23 Open Invention Network, Llc Documents for commerce in trading partner networks and interface definitions based on the documents
US6993774B1 (en) * 1998-10-19 2006-01-31 Recursion Software, Inc. System and method for remote enabling classes without interfaces
EA003744B1 (ru) 1998-11-18 2003-08-28 Сага Софтвеар, Инк. Расширяемая распределенная интеграционная система приложения для предприятия
US7617453B1 (en) * 1999-02-03 2009-11-10 Microsoft Corporation Method and system for generating a user interface for distributing devices
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US6857076B1 (en) * 1999-03-26 2005-02-15 Micron Technology, Inc. Data security for digital data storage
US6779027B1 (en) * 1999-04-30 2004-08-17 Hewlett-Packard Development Company, L.P. Intelligent management module application programming interface with utility objects
US6708272B1 (en) * 1999-05-20 2004-03-16 Storage Technology Corporation Information encryption system and method
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6877163B1 (en) * 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6697815B1 (en) * 1999-12-29 2004-02-24 International Business Machines Corporation Method and apparatus for application program specification and run time execution providing for the separation of business application programming and user interface programming
US6708074B1 (en) * 2000-08-11 2004-03-16 Applied Materials, Inc. Generic interface builder
US6965777B1 (en) * 2000-11-16 2005-11-15 Thomas Cast Method of delivering short messages using a SMPP gateway with standard interface
US20030018950A1 (en) * 2001-06-02 2003-01-23 Malcom Sparks Dynamic redeploying environment for the rapid iterative development of software applications
US20030038825A1 (en) * 2001-08-24 2003-02-27 Inventec Corporation Intuitive single key-press navigation for operating a computer
US6990655B2 (en) * 2001-09-27 2006-01-24 International Business Machines Corporation Apparatus and method of providing a pluggable user interface
US7178163B2 (en) * 2002-11-12 2007-02-13 Microsoft Corporation Cross platform network authentication and authorization model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101802804B (zh) * 2007-07-31 2016-05-25 通用仪表公司 制造个性化的动态和实时可配置软件架构的方法和装置

Also Published As

Publication number Publication date
WO2003090090A3 (en) 2004-02-19
CA2482779A1 (en) 2003-10-30
US20030200319A1 (en) 2003-10-23
EP1497715A2 (en) 2005-01-19
KR20040101537A (ko) 2004-12-02
IL164624A0 (en) 2005-12-18
BR0309048A (pt) 2006-01-17
JP2005523520A (ja) 2005-08-04
US7346647B2 (en) 2008-03-18
AU2003222644A1 (en) 2003-11-03
WO2003090090A2 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
JP3853593B2 (ja) ウェブアプリケーションサーバにおいて拡張可能な認証機構を実現するための方法および装置
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US8990262B2 (en) managing data center using web services
US7984192B2 (en) System and method for assigning unique identifiers to each remote display protocol session established via an intermediary device
EP1794991B1 (en) Systems and method for virtual host name roaming and managing virtual ip addresses
KR100600959B1 (ko) 분산 컴퓨팅 환경에서 집합화된 서비스의 공급
JP3980596B2 (ja) サーバを遠隔かつ動的に構成する方法およびシステム
US6401132B1 (en) Subchaining transcoders in a transcoding framework
US7624404B2 (en) Communication method selection for exchanging information between service requester and service provider
US20060053415A1 (en) Method and system for efficiently interpreting a computer program
US20030120825A1 (en) Processing resource for use in a distributed processing framework system and methods for implementing the same
US6748436B1 (en) System, method and program for management of users, groups, servers and resources in a heterogeneous network environment
JP2001511269A (ja) 多数のプロセスを制御するウェブ要求ブローカ
CN112612629A (zh) 一种组件式的数据接口实现方法与系统
WO2009062414A1 (en) Integrate client and method of desktop application communicating with net web application
CN1647036A (zh) 关于与现存系统管理产品或软件方案接口的系统与方法
US20140331292A1 (en) Abstracted authenticated client connectivity application programming interface (api)
CN1449157A (zh) 一种网络管理系统和方法
US20060101023A1 (en) Universal computing paradigm with single-code base utilizing a flexible distributed computing architecture
KR100463823B1 (ko) 리거시 시스템 및 콘텐츠 프로바이더(cp) 연동용soap 기반 통신 게이트웨이 시스템 및 이를 이용한프로토콜 변환 방법
JP2006127399A (ja) アプリケーションプラットフォーム提供システム及び方法並びにそのプログラム
US11546157B2 (en) Adaptive identification systems and methods
KR100463822B1 (ko) Soap 기반 게이트웨이 시스템을 이용한corba/iiop 기반의 lbs 시스템 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication