CN101888320A - 增强型网络适配器框架 - Google Patents

增强型网络适配器框架 Download PDF

Info

Publication number
CN101888320A
CN101888320A CN2009101669500A CN200910166950A CN101888320A CN 101888320 A CN101888320 A CN 101888320A CN 2009101669500 A CN2009101669500 A CN 2009101669500A CN 200910166950 A CN200910166950 A CN 200910166950A CN 101888320 A CN101888320 A CN 101888320A
Authority
CN
China
Prior art keywords
network
order
service
network adapter
adapter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009101669500A
Other languages
English (en)
Other versions
CN101888320B (zh
Inventor
M·J·罗佩斯
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.)
Accenture Global Services Ltd
Accenture International LLC
Original Assignee
Accenture Global Services GmbH
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 Accenture Global Services GmbH filed Critical Accenture Global Services GmbH
Publication of CN101888320A publication Critical patent/CN101888320A/zh
Application granted granted Critical
Publication of CN101888320B publication Critical patent/CN101888320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/546Message passing systems or structures, e.g. queues
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本申请涉及增强型网络适配器框架,其中参数储存在配置表中,所述参数是针对网络和应用而定制的。基于调用通用网络适配器来实例化针对该网络和该应用而定制的网络适配器,其中所述通用网络适配器外部参考所述配置表;并使用该实例化的网络适配器来实现该应用和该网络之间的通信。

Description

增强型网络适配器框架
技术领域
本发明公开主要涉及定制的网络适配器。
背景技术
定制的网络适配器用于实现特定应用和网络之间的通信,创建定制网络适配器的一种方案是将用于网络适配器的各种通信参数硬编码为网络适配器的软件(如,JAVA,C,C++,Ada,类似的代码或其他软件)。如果需要一个第二定制网络适配器,例如如果替换不同的应用或网络,则初始的网络适配器的软件代码就不得不以某种方式重新编码,从而改变其通信参数。
发明内容
根据一个一般实现,一种通用网络适配器,在其代码内包括对参数表的外部参考。定制的网络适配器,例如使用ACTIVATOR或其他应用的网络适配器,可通过调整参数表来创建,参数表的调整例如使用结构化查询语言(SQL)编辑器(如TOAD,PL/SQL开发器等)、直接表或文本编辑器或任何其他编辑器。在这个过程中,只需要对实际软件(诸如JAVA代码)进行较少的修订,这降低了储存和维护用于每个特定网络配置的多个不同软件部分(如JAVA部分或其他软件部分)的需要。例如,用于使用通用网络适配器的系统的方案可使用任何合适的软件,例如JAVA,C,C++,Ada,Assembly等。
除其他之外,一个或多个参数表可包括第一参数表,其将每个服务映射到实现该服务所需的多个命令;使用常规表达式的第二表,其将从网络返回的消息映射到唯一的消息标识符,该消息标识符能够被应用或网络适配器框架所理解;第三表,其基于唯一的消息标识符和输入命令来确定命令结果;以及第四表,其包括对应于每个命令结果的可扩展标记语言(XML)模板,该模板用于生成可以传送至应用的响应消息。
根据另一个一般实现,一种计算机实现的过程,包括:将参数存储在一个或多个配置表中,该参数是针对网络和应用而定制的;以及通过调用通用网络适配器来实例化针对网络和应用而定制的网络适配器,该通用网络适配器外部参考一个或多个配置表。该过程还包括:使用该实例化的网络适配器来实现应用和网络之间的通信。
各个实现可包括一个或多个以下特征。例如,使用该实例化的网络适配器来实现应用和网络之间的通信可进一步包括:从应用接收在网络上执行服务的请求;基于参考该服务在第一配置表中的唯一标识符,来标识与该服务相关联的命令和该命令的次序;按序将命令传输至网络;从网络接收对该命令的响应;基于执行第二配置表中所列的常规表达式来标识与该响应相关联的唯一消息标识符;以及基于参考与该响应相关联的唯一消息标识符和第三配置表中该命令的唯一标识符来确定命令结果。
在其他示例中,使用该实例化的网络适配器来实现应用和网络之间的通信可进一步包括:基于确定与该服务相关联的所有命令的结果,来确定该服务的结果;基于参考第四配置表中的该服务的结果,来选择XML返回消息,包括一般性适配器声明表达式(GADE)变量,使用与服务所关联的所有命令的结果相关联的一个或多个结果值来填入GADE变量;以及将填有结果值的XML返回消息提供给应用。
在其他示例中,该服务可以选自:非对称数字用户线(ADSL)端口禁用服务,ADSL修改参数服务,或ADSL启用端口服务。非对称数字用户线是一种数字用户线(DSL),其中上传速度可以与下载速度不同。可以在第二配置表中列出对命令的每个可能响应的常规表达式,以及相关联的唯一消息标识符。第二配置表可列出用于网络所发送的所有先前未知或未标识响应的全捕获(catch-all)常规表达式,以及用于该全捕获常规表达式的唯一消息标识符。该结果可标识命令是否成功,或是否发生了致命或非致命错误,以及是否禁止回滚(rollback)。该结果还可标识结果值。所述可以是ACTIVATOR或其他应用。
在其他示例中,通用网络适配器可以是基于JAVA EE的网络适配器。参数可包括或描述用于实现过程流的规则的值。参数包括可以表达式为常规表达式的响应,并且可包括能够从应用发送到网络的命令,或能够从网络发送到应用的命令响应。该过程还可包括:使用一个或多个配置表中的单个配置负载来调用通用适配器;或检测网络和应用的类型,并基于所检测到的网络和应用的类型从多个配置表中选择一个或多个配置表。参数可包括与回送模式、网络仿真模式和网络模式相关联的动作。参数可包括服务定义。参数包括由激励器(activator)生成的XML请求中包括的值。例如,这些值可用于填充GADE变量。
根据另一个一般实现,一种系统,包括一个或多个计算机,以及耦合至该一个或多个计算机的计算机可读介质,其中储存有指令,当这些指令被一个或多个计算机执行时,使得该一个或多个计算机执行操作。所述操作包括:将参数存储在一个或多个配置表中,所述参数是针对网络和应用而定制的;通过调用通用网络适配器来实例化针对该网络和应用而定制的网络适配器,其中所述通用网络适配器外部参考一个或多个配置表;以及使用该实例化的网络适配器来实现应用与网络间的通信。
实现可以包括一个或多个以下特征。例如,使用该实例化的网络适配器来实现应用和网络间的通信可进一步包括:从应用接收在网络上执行服务的请求;基于参考第一配置表中该服务的唯一标识符,来标识与该服务相关联的命令和该命令的次序,按序向网络发送命令;从网络接收对该命令的响应;基于执行第二配置表中所列的常规表达式,来标识与该响应相关联的唯一消息标识符;以及基于参考与该响应相关联的唯一消息标识符和第三配置表中该命令的唯一标识符,来确定命令结果。
根据另一个一般实现,一种计算机存储介质,编码有计算机程序,该程序包括指令,当数据处理设备执行这些指令时,使得数据处理设备执行操作。这些操作包括:将参数存储在一个或多个配置表中,所述参数是针对网络和应用而定制的;通过调用通用网络适配器来实例化针对该网络和应用而定制的网络适配器,其中所述通用网络适配器外部参考所述一个或多个配置表;以及使用该实例化的网络适配器来实现应用和网络间的通信。
在下面的附图和说明书中阐述了一个或多个实现的细节。从说明书、附图和权利要求中可以看出,本发明公开的其他潜在特征和优点将是显而易见的。
附图说明
图1示出了说明一种用于使用网络适配器框架来创建网络适配器的系统的上下文框图。
图2是说明用于使用客户端设备和网络适配器框架设备来适配网络设备的系统的上下文框图。
图3示出了使用网络适配器框架来创建网络适配器的示例过程的流程图。
图4至图6为示例性网络适配器框架架构的框图。
图7和8描述了示例用户界面,其包括配置表以及用于选择特定配置表以进行编辑的表选择窗口。
图9为说明在执行以创建网络适配器的命令的执行期间的状态的上下文框图。
图10为示出用于使用实例化的网络适配器来实现应用和网络间通信的示例过程的流程图。
图11至图14显示了可由网络适配器框架使用的配置表的其他示例。
图15显示了将GADE变量转换为返回消息中的真实值的示例。
图16为可用于实现网络适配器框架的示例性计算设备的框图。
在各个附图中,相同的参数始终代表相应的部分。
具体实施方式
根据本文所描述的增强型网络适配器框架,一种通用网络适配器,在其代码内包括对参数表的外部参考。定制的网络适配器(例如使用
Figure B2009101669500D0000051
ACTIVATOR或其他应用的网络适配器)可通过调整参数表来创建,参数表的调整使用例如SQL编辑器(如TOAD,PL/SQL开发器等)、直接的表或文本编辑器或任何其他编辑器。在这个过程中,只需对实际软件(如JAVA代码)进行较少修订或者不需修订,这降低了储存和维护用于每个特定网络配置的多个不同软件部分(如JAVA部分或其他软件部分)的需求。虽然本说明书和附图提供的示例使用了JAVA,JAVA EE和其他特定软件语言,但也可以使用任何合适的软件和/或软件语言。
除其他之外,参数表可包括:第一参数表,其将每个服务映射到实现该服务所需要的多个命令;第二表,其使用常规表达式,将从网络返回的消息映射到唯一的消息标识符;第三表,其基于该唯一的消息标识符和输入命令,来确定命令结果;以及第四表,其包括对应于每个命令结果的XML模板,该模板用于生成可传送至应用的响应消息。在某些实现中,在与该服务相关联的某些或所有命令已执行之后,生成XML。
图1是用于使用网络适配器框架102来创建网络适配器的示例性系统100的上下文框图。使用系统100创建的网络适配器提供应用104和网络106之间的网络通信。例如,正如所描述的,应用104可包括:
Figure B2009101669500D0000052
ACTIVATOR应用104a,第二应用(例如,其可以是GRANITE INVENTORY应用)104b,以及第三应用104c。网络106包括网络106a,106b和106c。系统100可用于创建网络适配器或任何其他硬件或软件部分,例如网卡,局域网(LAN)适配器或网络接口卡(NIC),这些部分构建并适于允许计算机通过计算机网络来进行通信。
系统100使用网络适配器框架102来创建或“实例化”网络适配器,该网络适配器实现应用104和网络106之间的通信。例如,特定的网络适配器可用于
Figure B2009101669500D0000061
ACTIVATOR应用104a和网络106a之间的通信。其他网络适配器可支持应用104b-c和网络106c之间、
Figure B2009101669500D0000062
ACTIVATOR应用104a和网络106c之间或其他应用和网络的组合之间的通信,不论其图1中是否描述。“实例化”网络适配器表示:通过调用外部参考配置表的通用网络适配器,来创建定制的网络适配器。下文将以更详细的方式描述配置表,该配置表储存可以用来定义用于特定网络106和应用104的网络适配器的数据。例如,对于每种类型的设备(如Huawei,ZTE,Alcatel等),可能存在使用该框架的一个或多个适配器。当激励器请求执行某个服务时(如创建,删除等),它可以核实设备的种类,在XML请求中设置用于正确适配器的标识符。例如,如果针对ZTE设备而生成“创建”请求,那么激励器可以生成用于相应适配器的XML请求,并将其在队列中送出。
在某些实现中,核实设备类型及在XML请求中设置用于正确适配器的标识符可包括以下内容。当
Figure B2009101669500D0000063
ACTIVATOR需要发生针对该适配器的请求时,它能读取一个或多个配置表,该配置表标识必须用来执行特定网络单元自动配置的相应网络适配器。例如,配置表可以是
Figure B2009101669500D0000064
GRANITE INVENTORY应用的数据库表。在某些实现中,可以存在包含实例或条目的队列,所述实例或者条目中的每一个都专用于特定的适配器。例如,该条目可以是用于该适配器的消息驱动的bean(MDB)条目。因此,每个MDB条目可以充当队列中该适配器的消费者。在任何特定的激励器请求中,适配器的标识符(如消息中标识其“MDB消费者”的参数)是唯一的,从而使每个MDB条目都与其正确的请求相关联。
网络适配器框架102包括通用网络适配器108和表选择器110。通用网络适配器108可操作以适配现有的通用网络适配器定义,从而实例化用于特定应用104和网络106的新网络适配器。例如,如果使用网络适配器框架102来创建用于
Figure B2009101669500D0000071
ACTIVATOR应用104a和网络106a之间通信的网络适配器,那么通用网络适配器108可以用于选择适于(例如,最为匹配于)实例化所需特定网络适配器的通用网络适配器。网络适配器框架102还可使用表选择器110来选择并访问包含有配置参数的表,这些配置参数用于将网络适配器实例化为特定应用104和网络106所需的规格。通用网络适配器108包括外部参考112,其用来从配置表获得特定参数。
网络适配器框架102还包括可用于定义新网络适配器的一个或多个用户界面。例如,正如所描述的,网络适配器框架102包括表编辑器界面114,该表编辑器界面114可以是用于定义新网络适配器的其他界面或者是计算机终端上的一组多个屏幕中的一部分。可存在类似的界面114用来修改现有的网络适配器。
表编辑器界面114包括一个库列表116。例如,正在使用表编辑器界面114定义网络适配器的用户,可以从库列表116中选择多个条目中的一个(例如,服务,适配器,消息,参数,适配器,结果等)。表编辑器界面114的某些实现可允许用户按照各种方式来选择表。取决于用户的选择,相应的参数表115可显示于表编辑器界面114内。正如所描述的,参数表115包括ID列118,消息列120,类型列122,以及数值列124。用户在使用表编辑器114定义用于特定应用104和网络106的网络适配器的同时,可以输入或修改表中条目的值(如,AAFN-62),例如具有类型122“错误(Error)”的条目125“执行(execute)”。
在某些实现中,表编辑器界面114可以自动检测正在针对其而定义网络适配器的网络和应用的类型。使用该信息,表编辑器界面114可以基于检测到的网络和应用的类型,从配置表的群组或者列表中自动选择配置表。
系统100包括储存在计算机可读介质126上的数据,网络适配器框架102和表编辑器界面114使用该数据来创建网络适配器框架102的网络适配器(如网络适配器102a-102c)。数据包括网络适配器框架数据128,Java平台企业版(JAVA EE)代码和运行时库130,参数库132,表编辑器134以及数据表136。网络适配器框架数据128可包括支持计算机软件执行的代码和数据,这些计算机软件组成了网络适配器框架102。表136包含与通用网络适配器类型相关联的一般字段。例如,一个或多个表136可表示具有基于JAVA EE的网络适配器信息的通用网络适配器。每个表136可以由表编辑器界面114访问。参数库132包括可用于在创建(或实例化)新网络适配器时定制表示通用网络适配器的、表136的一般字段的参数。虽然本说明书和附图提供的示例使用了JAVA,JAVA EE和其他特定软件语言,但也能使用任何合适的软件和/或软件语言。
例如,参数库132中的参数可包括如下参数,该参数对应于能够从应用104发送到网络106的命令,或对应于能够从网络106发送到应用104的命令响应。在某些实现中,参数库132可以包括用作例如实现处理流程的规则值的参数。
在某些实现中,参数库132可以包括与回送模式、网络仿真模式和/或网络模式相关联的动作相关联或者是定义所述动作的参数。在某些实现中,参数库132可包括与服务定义相关联的参数。
图2为说明用于使用客户端设备204和网络适配器框架设备206来适配网络设备202的系统200的上下文框图。客户端设备204和网络适配器框架设备206可以在执行这二者功能的单个设备中实现。系统200可用于由系统100或其他系统进行适配的网络框架。网络设备202包括网络设备202a到202d。设备204和206可以互相通信,以及利用一个或多个网络208与网络设备202通信。任何一个网络208,例如网络208a和208b,可以是互联网,局域网(LAN),广域网(WAN),无线网,电话线,或其他有线网络等。
如图2中所描述的,客户端设备204包括储存介质210,接口212,处理器214,用户界面216和输入设备218。储存介质210可储存用于定义和/或配置网络适配器的任何数据。接口212可处理客户端设备204和网络适配器框架设备206之间的通信。处理器214可执行客户端设备204用来管理网络适配器的计算机处理。用户界面216可提供软件界面,用户(如DSL供应商技术员,电缆供应商消费者服务代表,或其他用户)可用来与网络适配器框架应用交互,和/或管理网络适配器框架应用的数据。例如,用户界面216可包括显示器,菜单,输入区域,图形用户界面,概要,列表等。输入设备218可包括一个或多个键盘,鼠标,开关,按键,或任何其他控制器,用户可使用这些控制器与网络适配器框架应用、硬件和固件交互。
储存介质210包括表编辑器220,表222,参数库224,和应用226。表编辑器220包括用于将数据表呈现给用户以便显示和更新的参数和数据。表222包括网络适配器数据,例如关系型数据库管理系统(RDBMS)表(如MS SQL服务器,DB2,Oracle,以及MySQL)和/或定义字段和值的平面文件,这些字段和值用于定义和配置网络适配器。参数库224包括可以在创建(或实例化)新网络适配器时用来定制通用表的参数。应用226可包括一个或多个TELCORDIA激励器应用228,JAVA EE 230语言和运行时环境,以及用于与网络通信或配置网络的任何其他应用。例如,TELCORDIA激励器应用228可包括
Figure B2009101669500D0000091
AVTIVATOR和/或其他应用的任意组合。
正如所描述的,网络适配器框架设备206包括一个接口240和储存介质242。接口240可处理客户端设备204和网络适配器框架设备206之间的通信。接口240还可处理网络适配器框架设备206和网络设备202之间的通信。储存介质242包括通用网络适配器244和表选择器246。通用网络适配器244可操作以适配现有的通用网络适配器定义,以实例化用于特定应用226和网络设备202的新网络适配器。
例如,如果使用网络适配器框架设备206来创建用于AVTIVATOR应用228和网络设备202a之间通信的网络适配器,则通用网络适配器224可以用来选择适于(例如,最接近地匹配于)实例化所需的特定网络适配器的通用网络适配器。网络适配器框架设备206还可以使用表选择器246来选择并访问包含有配置参数的表,这些配置参数用于将网络适配器实例化为特定应用226和网络设备202所需的规格。通用网络适配器244包括用于从配置表中获得特定参数的外部参考248,例如通过互联网从远端位置获得。例如,对于每种类型的设备(如Huawei,ZTE,Alcatel等),可能存在使用该框架的一个或多个适配器。当激励器请求执行某个服务时(如创建,删除等),它可核实设备的类型,在XML请求中设置正确适配器的标识符。例如,如果针对ZTE设备而生成“创建”请求,那么激励器可以生成针对相应适配器的XML请求,并将其在队列中发出。
正如所描述的,网络设备202a包括服务254,处理器256,储存介质258以及接口260。服务254可包括用于在网络设备202a上建立网络服务(如DSL供应服务,电缆供应商服务等)的命令和参数,例如连接或配置DSL,改变DSL设置(如传输速度等)或断开DSL连接服务。处理器256可执行网络设备202a用来提供服务的计算机处理。介质258可储存网络设备202a的执行所需的数据。接口260可处理网络设备202a和不同网络设备252a-252b之间的通信。例如,设备252a-252b可包括DSL调制器,网关,或提供或引入服务的其他硬件或设备。
图3是示出了使用网络适配器框架来创建网络适配器的示例性过程300的流程图。例如,过程300可以是系统100和200的网络适配器框架内使用的一种计算机可执行方法。总体上,该过程包括:将参数储存在一个或多个配置表中,所述参数是针对网络和应用而定制的;以及通过调用外部参考一个或多个配置表的通用网络适配器,来实例化专用于该网络和应用的网络适配器。该过程还包括:使用该实例化的网络适配器来实现应用和网络之间的通信。
更详细地,当过程300开始时,将参数储存在一个或多个配置表中(操作302)。所述参数是针对网络和应用而定制的。例如,参考图2,存储在参数库224中的一组参数可由网络适配器框架设备206用来在网络设备202a或任何其他网络设备202上创建网络适配器。所述参数可定义用于创建定制网络适配器的命令和服务。所述参数还包括由应用(例如
Figure B2009101669500D0000111
AVTIVATOR)用来创建网络适配器的数字设置。参数可进一步包括与执行命令和服务相关联的状态和消息信息。例如,参考图1,参数表115包括ID列118,消息列120,类型列122以及数值列124,所有这些都可定义与特定命令和服务相关联的消息。在某些实现中,在启动服务器中的适配器之前(例如,已部署的通用网络适配器244),适配器可读取配置数据(储存在表或数据库中)。
实例化网络适配器,其针对所述网络和应用而定制(操作304)。该实例化是基于调用外部参考一个或多个配置表的通用网络适配器。例如,参考图1,网络适配器框架102可使用表(例如表115)来创建用于网络106a到106c中任何一个的定制网络适配器。所创建的定制网络适配器是特定于设备和应用的。例如,设备特定性可取决于特定的硬件设备(如特定的DSL调制器或硬件的其他部分)。应用特定性可取决于正在执行的特定应用104,如
Figure B2009101669500D0000112
AVTIVATOR应用104a,
Figure B2009101669500D0000113
GRANITE INVENTO RY应用104b,或任何其他通用应用104c。
使用该实例化的网络适配器来实现应用和网络之间的通信(操作306),从而结束过程300。例如,使用新实例化的网络适配器,特定应用104可与特定网络106通信,其中网络适配器是针对该特定网络106而创建和定制的。
图4是用于提供网络适配器框架的示例性架构400的框图。例如,架构400可用于系统100和200。架构400可通过任何网络适配器应用(例如
Figure B2009101669500D0000114
AVTIVATOR应用404)来促进创建网络适配器402。
网络适配器402包括:应用开发软件和中间设备或其他消息收发服务,例如JAVA消息服务(JMS)406;激励器接口408;网络适配器框架410中的若干个配置表和协议;以及连接管理器412。例如,网络适配器402被配置用于处理事务语言1(TL1)协议或用于DSL接入复用器(DSLAM)范围的其他电信协议。使用配置表可提供灵活性的优点,例如,通过使用常规表达式来分析网络命令、参数和响应。网络适配器框架410所使用的配置表信息(如命令、消息、规则、常规表达式等)可允许在不改变应用(如
Figure B2009101669500D0000121
AVTIVATOR应用404)中的代码的情况下创建网络适配器。
在某些实现中,
Figure B2009101669500D0000122
AVTIVATOR应用404可以使用可扩展标记语言(XML)命令和响应414来与网络适配器402连接。可以使用队列或其他用于管理消息、命令和通信的过程来管理XML命令和响应414。例如,输入队列可处理由
Figure B2009101669500D0000123
AVTIVATOR应用404发出的服务请求(如激活DSL,取消DSL等)。
XML命令和响应414可以由应用开发软件和JMS队列接口406来管理,并被发送到激励器接口408或从激励器接口408接收。例如,激励器接口408可包括激励器流程命令416,其可被用于执行
Figure B2009101669500D0000124
AVTIVATOR应用404所请求的服务。类似地,由执行命令所产生的响应可以由激励器接口408发送到应用开发软件和JMS接口406所管理的输出队列中。
网络适配器框架410可包括:协议,适配器表和信息,流程控制命令(如处理服务,如果服务失败则回滚命令等)以及通信控制器。网络适配器框架410可通过通信包装器(wrapper)418与连接管理器412通信。连接管理器412可利用通信门面(facade)420与网络设备和设备(如DSL调制器或其他设备)通信。该通信可以通过网络422进行,例如互联网,局域网(LAN),广域网(WAN),无线网,电话线或其他有线网络等。在某些实现中,网络适配器框架410所包括的协议可以是标准化协议,例如公共对象请求代理体系结构(CORBA),公共管理信息协议(CMIP),事务语言1(TL1),或其他通信协议等。
图5是用于网络适配器框架的另一示例性架构500的框图。例如,可在系统100和200内使用该架构500。该架构500包括:适配器架构激励器接口502,以及适配器框架架构504。适配器架构激励器接口502可包括:用于处理消息的消息驱动bean;以及用于与适配器框架通信的接口。
适配器框架架构504包括:通用执行类,服务命令定义层506,命令预处理应用,通用通信参数,以及连接管理器。服务命令定义层506可包括:适配器信息,服务群组信息,服务,命令,参数,消息,响应和返回消息。例如,服务命令定义层506的这些组件可以组织在一系列配置表中,以创建用于特定应用和网络设备的定制网络适配器。
在某些实现中,通用执行类可包括实现用来处理请求的共同逻辑的Java类。例如,该Java类可包括:INTEGRA.ADAPTER.COMM.LOG,INTEGRA.ADAPTER.COMM.TL1.ERROR,INTEGRA.ADAPTER.COMM.TL1.ERROR,INTEGRA.ADAPTER.CORE,INTEGRA.ADAPTER.FRWK.ADAPTERINTERFACE,INTEGRA.ADAPTER.FRWK.BEAN,INTEGRA.ADAPTER.FRWK.COMM,INTEGRA.ADAPTER.FRWK.ERROR,INTEGRA.ADAPTER.FRWK.GADE,INTEGRA.ADAPTER.FRWK.LOG,INTEGRA.ADAPTER.FRWK.UTIL,INTEGRA.ADAPTER.UTIL,其他INTEGRA.ADAPTER类或子类,或其他类。例如,服务命令定义层506可以支持映射到相应适配器实例的服务。
命令预处理工具可以主要包括宏类工具,其收集对GADE表达式进行正确解释和编译所需的特征。宏类工具可以标识和分离表达式本身的部分,例如常规表达式的纯GADE部分。在编译的同时,这些数据可以加以内部组织,以确保处理GADE语言的特定属性的较好性能。
通用通信参数可通过调用设计和命令的概念来表示与网络的特定通信的层。这允许每个命令如一个原子单元那样运行,同时,作为由定义的接口驱动的请求/响应对。例如,该接口可专门针对会话bean而实现,从而按照网络适配器架构的需要来提供用于管理连接的特征和控制的实现。该接口所定义的主要特征可包括:1)针对独立于网络通信中所使用技术的连接的请求;2)针对按照网络标的命令执行的请求;以及3)针对操作关闭的请求,允许释放连接。
连接管理器可以负责管理网络适配器之间的连接,从而按照需求为适配器提供连接。为了初始化连接管理器,可创建一组连接(如,初始化连接请求)并使这组连接可用于适配器的请求。每个连接请求都可以被使用,然后返回给连接管理器(例如,如果需要,则在另一请求中使用)。
在某些实现中,(例如,在回送模式中,或者在网络仿真器活跃的情况下),命令可以不经由网络来发送。相反,应答可以从配置文件中获得。
在某些实现中,对于每个适配器的实例,可以存在通信门面420和通信连接处理器的实例。
在某些实现中,对于每个网络管理系统都可以存在连接管理器,例如用于提供网络内某些设置的更好可用性。通过这种方式,单个连接管理器的故障不会引起所考虑的所有网络管理器系统的接入损耗。此外,具有多个连接管理器,可以在单个连接管理器中编程维护或针对单个连接管理器调度维护时,防止接入损耗。
在某些实现中,服务命令定义层506可包括映射在多个数据库表中的、与服务相关联的规则,这些实现的示例将在下文中参考图11-图15来进行更详细的讨论。例如,在网络适配器框架启动时,来自数据库表的所有信息可以载入虚拟存储器中。每个执行具有配置数据的一次初始负载,可以帮助减少数据库性能或接入容量问题。
在某些实现中,服务命令定义层506可进一步提供:通过表定义的命令配置,以及命令参数;递归命令参数化;针对每个可能的网络返回消息而相应定制的命令级重试参数化;针对每个所执行命令的网络返回消息而定制的回滚映射;包括条件规则在内的命令流映射;网络结果消息参数化、映射和分类;网络异常处理规则的参数化;以及命令特定的超时参数化。
图6是说明用于网络适配器框架的另一示例性架构600的框图。例如,结构600可用于系统100和200。结构600包括:激励器适配器602,发现适配器604,适配器连接管理器606,发现连接管理器608,网络管理系统(NMS)610,以及网络612。
该框架可以使用激励器适配器602和发现适配器604来通过连接管理器连接到网络并向网络发送命令。适配器连接管理器606和发现连接管理器608可包括和/或使用向适配器发送命令和从适配器接收命令的应用。在某些实现中,连接管理器606和608可以不处理激励规则,而是由管理器606和608通过接收将要通过网络(例如,经过NMS610)发送的命令来进行操作。NMS610可负责控制并管理命令,例如配置命令和系统命令,并负责将命令发送到各个网络单元。NMS610可以是网络的一部分,但在某些实现中这是可选的。
激励器适配器602和发现适配器604可以是不同类型的系统。例如,激励器适配器602可以是自动配置网络的
Figure B2009101669500D0000151
系统。例如,发现适配器604可以是自动发现或确定网络中各网络单元的配置的
Figure B2009101669500D0000152
系统。适配器602和604二者都能发送命令并处理响应,但是它们具有不同的商业或技术目标。
图7显示了包括配置表702和用于选择特定配置表以进行编辑的表选择窗口704的示例用户界面700。例如,使用作为网络适配器框架(如系统100和200)的部分而被调用的应用,用户可从表列表706中进行选择以进行编辑。在某些实现中,表列表706中所列的表都可以具有一个公共前缀(如“TB”),这表示列表中的条目是表名称。如果出现在其他列表中的其他非表实体不是表的话(例如参数,变量或其他实体),则其可具有其他前缀。
在使用用户界面700的一个示例中,如果用户从表列表706中选择命令表条目708(如“TB_COMMAND”),则可以显示配置表702。在该情况中,配置表702可包含与网络适配器命令相关联的信息,包括用于命令ID、消息ID、消息数、禁止回滚标记、消息子类型、消息结果类型、消息结果代码、以及消息描述的列标题710。
在某些实现中,可存在用于优化或重新组织信息显示的控件。例如,排序控件712或其他控件可允许用户以更方便的方式来布置信息(如,通过消息子类型来排序,等)。
示例配置表702中的行714可包含与该条目相关联的所有字段。正如所描述的,高亮的行714列出了命令ID的值“ACT_CM_ZTE_009”,消息ID的值“ACT_MS_ZTE_002”,消息子类型“成功”等。正如本文所描述的示例配置表700和其他配置表的情况那样,多个行可具有某些列或字段的共同值。例如,行716,718和720分别列出了命令ID“ACT_CM_ZTE_009”,但分别具有不同的消息ID。
在某些实现中,高亮显示配置表中的一行(如,行714)可允许用户编辑该行中的字段,正如某些公共电子数据表应用功能那样的方式。在某些实现中,高亮显示一行可导致一个或多个窗口(弹出窗口或屏幕)的出现,用户可以在其中添加、修改或删除信息。还可以存在其他的用户界面700控件和性能,例如鼠标选择和拖曳,右键命令,单选按钮,复选框,或图形用户界面(GUIs)中常见的任何其他控件。在某些实现中,可以使用SQL编辑器(如TOAD,PL/SQL Developer等)来修改配置表700中的数据。
图8显示了另一示例用户界面800,其包括示例配置表802和用于编辑配置表802中特定条目的数据(如命令信息)的数据编辑窗口804。例如,如果用户从表列表706中选择命令表条目708,则可以显示配置表802,以便编辑命令信息。此外,当用户选择配置表802中的一个特定行或单元时,可显示数据编辑窗口804。
例如,正如用粗线环绕的行所表示的那样,在配置表802中选择第一行806。结果是,数据编辑窗口804包含与行806相关联的数据单元的当前值。例如,值条目框808包含对应于该行806的“命令表达式”列812中的单元810的当前值(如“LOGIN:::<INSERT_STAG_HERE>...”)。正如所描述的,该行806代表如下命令的信息,该命令具有命令ID“ACT_CM_HUA_001”,命令描述“LOGIN HUAWEI”,命令表达式“LOGIN:::<INSERT_STAG_HERE>...”,以及超时阈值5000(例如,在产生超时异常或错误之前等待多少毫秒后执行该命令)。
在某些实现中,被特定字符(例如“<INSERT_STAG_HERE>”中的“<”和“>”)包围的命令描述部分可以是发送到网络适配器框架的信号,用于将实际的值或参数替换到命令表达式中。例如,参数可储存在本文未描述的其他配置表中。
用户界面802可包括多个数据条目字段,例如具有“平台默认值”作为当前值816的行终止符字符段814。用户界面800可包括按钮或其他控件,例如改变按钮818,其允许用户修改行终止符字段814或其他字段的值。可以存在附加控件820,其允许用户在配置表802中添加行,核实改变(如利用“OK”按钮),或取消改变。用户界面802还可包括其他控件,例如水平滑动条822和垂直滑动条824,其例如用于控制值条目框808中的显示位置。
在某些实现中,网络适配器框架中采用的用户界面可具有用于选择选项等的热键或其他快捷方式。例如,行终止符字段814和其他字段可具有加下划线的字符(如“Terminator”中的“T”),其表示还可以使用ALT-T,Ctrl-T或其他键序列来选择该选项。
图9是上下文状态图900,其说明了各种状态下对利用增强型网络适配器框架而创建的定制网络适配器的使用。具体地,状态902a到902c涉及对常规表达式的使用,而状态902d涉及在使用网络适配器框架期间XML命令的自动生成。
状态902a到902c使用实例化的网络适配器来实现应用和网络之间的通信。状态902a到902c包括从应用接收执行网络上的服务的请求,以及标识相关联的命令序列。这些命令按序发送,每个命令会得到接收到的响应。对于每个响应,可执行常规表达式以决定性地确定命令的结果。常规表达式基于唯一的消息标识符和/或消息模式。
状态902d也使用实例化的网络适配器来实现应用和网络之间的通信。但是,状态902d的最终结果向给应用提供XML返回消息,其填有与该服务相关联的命令序列中每个命令的结果值。XML返回消息可包括GADE变量,这是嵌入在返回消息中的代入变量。在发送给应用之前,GADE变量可用实际的值来代替,这取决于各种因素。例如,GADE变量可基于参考服务的结果和与该服务相关联的一个或多个结果值。GADE变量还可取决于一个或多个参数表中的条目。与该服务相关联的所有命令的结果可用于确定服务本身的总体结果。
状态902涉及应用904、网络适配器框架906和网络908之间的通信。每个状态中的处理和通信取决于针对该状态的相应配置表910。这里所显示的配置表910图示了刚好足以支持描述示例性状态902的行和列。在某些实现中,可存在附加列,这提供了更为鲁棒的功能(如回滚,超时等),并且可存在表示附加服务、命令、消息等的其他行。
在图9中,虽然应用904a到904d被认为是相同的应用,但其标号不同,以便在描述各个状态902时加以引用。对于网络适配器框架906和网络908来说也是一样。无论如何,状态902可以由应用904、网络适配器框架906和网络908的任意组合使用。
在第一状态902a中,应用904a标识网络适配器框架906a将要执行的服务912a(如SVC_01)。服务912a所标识的“SVC_01”被列在配置表910a的第一列中。在该示例中,配置表910a是“服务-命令”表,其标识将针对任何特定服务(如SVC_01)而执行的命令和所述命令的次序。SVC_01所代表的服务示例可以包括:用于激活DSL、去激活DSL、建立卫星TV服务、连接或配置室内外围设备(如数字视频录像机或DVR)等的服务。
网络适配器框架906a使用应用904a所标识的服务912a(如SVC_01)来访问配置表910a,查询一个或多个对应于该服务的命令。在该情况中,命令(如CMD_01到CMD_03)储存于配置表910a的第二列。此外,在配置表910a的第三列中可找到命令的相应顺序(如10,20,30)。使用从配置表910a中获得的第一命令(如CMD_01),网络适配器框架910a可发送第一命令914a(如“CMD_01”)到其中执行命令的网络908a。
对应于该服务的剩余命令也可按序得以执行,每个执行产生某种类型的返回状态(如“SUCCESS(成功)”,“ERROR(错误)”,“UNRECOGNIZED(不可识别)”等)。在当前的示例中,具有次序20的CMD_02将在具有次序10的CMD_01之后被执行。最后被执行的第三命令CMD_03具有最高的顺序30。
在第二状态902b中,网络908b产生返回状态914b(如“SUCCESS”),这是由执行命令而得到的。网络适配器框架906b可分析该返回状态914b(如“SUCCESS”)并访问配置表910b,以定位含有“SUCCESS”的匹配的表行。在该情况中,配置表910b中对应于“SUCCESS”的消息代码为MS_001。
在某些实现中,可以使用常规表达式或用于定义和标识感兴趣的特定文本字符串的任何其他形式化语言,来实现包括配置表910b的第二状态902b。例如,使用常规表达式可允许将可预见的消息预载入到表中(例如配置表910b),以便与从网络设备实际返回的消息进行比较。这可以提供一种灵活且确定性的方式来标识感兴趣的文本字符串(例如特定的返回或错误消息),或消息中的字模式。
在第三状态902c中,网络适配器框架906c将消息代码MS_001与命令代码CMD_01组合,以访问配置表910c。在该情况中,配置表910c包含四个可视列,前两个提供“键”或查询索引。第三列具有第一行条目“PASS(通过)”,其是状态字段。最后的第四列(如,具有条目“DSL OK”)为结果代码字段。作为访问配置表910c的结果,“MS_001+CMD_01”对例如可得到返回状态914c“’PASS’+’DSLOK’”。结果代码“DSL OK”可被传送到这一级的应用904c,或可在稍后用于填入XML响应消息。
在第四状态902d中,服务命令的状态结果可以被组合在一起,从而生成服务级结果消息。例如,作为接收服务912a(如SVC_01)及执行相应命令CMD_01、CMD_02和CMD_03的结果,这些命令的状态结果914d(如PASS、PASS和PASS)可被组合,以访问配置表910d。配置表910d中的第一列可包含针对、特定服务而按序执行的独立命令的结果的所有可能组合。正如所描述的,配置表910d包含一个行或条目,但其他表可以是例如“PASS,PASS,FAIL”,“PASS,FAIL,N/A”等。查询“PASS,PASS,PASS”条目的结果是,可以找该表的第二列中的条目(如“处理响应”+[RESULT_CODE]),这表示“处理响应”将要与来自配置表910c的[RESULT_CODE]连成一串。一旦完成了[RESULT_CODE]的代入,就生成了服务级结果912d(如“处理响应-DSL OK”),并将其返回给应用904d。结果912d可被格式化为XML返回消息。
图10是示出了使用实例化的网络适配器来完成应用和网络之间通信的示例过程1000的流程图。例如,过程1000可与参照图3描述的过程300结合使用。例如,过程1000可以是在系统100和200的网络适配器框架内使用的计算机可执行方法,。此外,参考图9,过程1000可用于执行参照状态902a到902c(其设计常规表达式)和状态902d(其设计生成和提供XML返回消息)所描述的所述处理。
接收来自应用的请求,以执行网络上的服务(操作1002)。例如,参考图2,该请求可以是由任意TELCORDIA激励器应用228的用户(也就是电缆供应商消费者服务代表)发出的“开始DSL服务”服务请求。客户端设备204可发送服务请求到网络适配器框架设备206。
通过参考第一配置表中用于该客户端设备的服务的唯一标识符,标识与该服务相关联的命令和所述命令的次序(操作1004)。例如,基于从客户端设备204接收的“开始DSL服务”服务请求,网络适配器框架设备206可确定实现该服务所需的各个命令。例如,该确定可通过访问表222(如配置表910b或其他这样的表)、使用服务代码(如SVC_01)获得相应命令来完成。第一配置表列出了针对该唯一标识符而要执行的命令和所述命令的次序。在某些实现中,该唯一标识符可以按照例如在配置时为数据库选择主键的相同方式来确定(如,例如数据库CREATE TABLE(创建表)命令等命令)。
按照次序将命令发送到网络(操作1006)。例如,网络适配器设备206可以按照次序将命令发送到至少一个网络设备202。在某些实现中,如果正在利用网络适配器配置相同类型的多个网络设备202,那么命令会被串行或并行地发送到每个网络设备202。这样,可以同时创建多个网络适配器。向网络设备202发送命令可以通过一个或多个网络208来进行。
接收来自网络的命令响应(操作1008)。例如,基于命令在特定网络设备202上的执行,网络设备202可将响应发送到网络适配器框架设备206。该响应的形式可以是文本字符串或其他消息。
通过执行第二配置表中所列的常规表达式,标识与该响应相关联的唯一消息标识符(操作1010)。例如,客户端设备204可访问多个表222中的一个(例如包含常规表达式的配置表),并生成与该响应(如“SUCCESS”)相关联的唯一消息标识符(如MS_001)。如果不能确定匹配的消息标识符,则客户端设备204会使用或生成默认消息标识符。
通过参考与该响应相关联的唯一消息标识符和第三配置表中该命令的唯一标识符,确定命令的结果(操作1012)。例如,服务代码(如SVC_01)可以与消息标识符(如MS_001)结合使用,以确定命令的结果。
通过确定与该服务相关联的所有命令的结果,确定服务的结果(操作1014)。例如,如果为该服务执行三个命令,则在确定服务本身的结果时,每个命令的结果被认为是一个组。在一个实现中,如果命令的结果是PASS、PASS和PASS,则三个结果可被组合,以访问配置表(如配置表910d),以获得例如处理响应或结果代码。
通过参考第四配置表中的服务结果,选择包括GADE变量的XML返回消息(操作1016)。例如,使用配置表910d或类似表,网络框架可利用服务的PASS、PASS、PASS结果查询“处理响应”+[RESULT_CODE]。在该示例中,[RESULT_CODE]可以是GADE变量。
使用与该服务所关联的所有命令的结果相关联的一个或多个结果值来填入GADE变量(操作1018)。例如,使用[RESULT_CODE]GADE变量,框架利用DSL OK来填入消息。
将填有结果值的XML返回消息提供给应用(操作1020)。例如,网络适配器框架906d可将响应912d(如“处理响应-DSL OK”)返回给应用904d。
图11到图14显示了可由每个系统100和200内的网络适配器框架所使用的配置表的更详细示例。具体地,图11显示了一个示例服务命令表1100。服务命令表1100中的每个行或条目可以针对每个服务ID1102而储存用于执行该服务的命令的命令ID1104、次序号1106、回滚服务1108,回滚使能指示符1110,以及条件命令1112。服务命令表1100可用于查询用于特定服务的命令以及这些命令的次序,从而使这些命令可按照设计的顺序来执行。
条件命令1112可包括如下命令,这些命令基于为其定义的一个或多个条件来执行。例如,假设一条件命令1113a为”:#ACT_ALCATEL_CARD_MODEL:]”==”ADLT-L”||”[:#ACT_ALCATEL_CARD_MODEL:]”==”ADLT-W”。当框架执行时,通常会对条件命令1112列的值进行转译和赋值。例如,对条件命令1113a赋值的结果可以确定是否执行“SVC_007”服务1113c的“CM_005”命令1113b(例如,二者与条件命令1113a在相同行上)是否得到执行。特别地,如果“ADLT-L==ADLT-L||ADLT-L==ADLT-W”为真,则执行“CM_005”命令1113b。否则,如果赋值结果为“假”结果,则不执行“CM_005”命令1113b。
图12显示了示例消息表1200。消息表1200中的每个行或条目都可储存消息ID 1202和相应的消息表达式1204。每个消息ID1202可以是常规表达式,其能够被执行以确定给出特定消息描述1204的唯一消息ID 1202。消息表1200可用于确定用于特定消息的消息ID。
图13显示了示例命令消息表1300。命令消息表1300中的每个行或条目都可储存命令ID 1302、消息ID 1304、消息次序1306、禁止回滚指示符1308、消息子类型1310、消息结果类型1312、消息代码1314、以及消息描述1316。命令消息表1300可用于确定与结合命令ID 1302和消息ID 1304的数值对相关的值。
图14显示了示例返回消息表1400。返回消息表1400中的每一行或条目都可储存返回消息ID 1402、返回消息描述1404、以及返回消息表达式1406。返回消息表1400可用于确定对应于特定返回消息ID1402的返回消息表达式1406。
以下的详细举例标识出了如何使用配置表1100到1400中特定条目的一个或多个实现。当在服务器中启动适配器时(如基于某个文件,例如AdapterConfiguration.xml),适配器可读取一次配置(其储存在表或数据库中),从而处理存储器中的每个请求。
激励器应用(例如
Figure B2009101669500D0000231
ACTIVATOR应用228)对网络发出执行服务的请求。对于DSL而言,示例服务例如可以包括:创建,删除和暂停服务。每个服务与唯一的服务ID相关联,例如,如配置表1100中所定义,服务11114的服务ID 1102的值为SV_001。在该示例中,SV_001占用服务命令表1100中的5行,因为要使用5个命令来执行该服务。表中的其他服务为SV_002到SV_007每个都具有各个数量的行,每个命令一行。在某些实现中,为了确定唯一的服务ID,框架使用适配器名称、适配器模型和卡片模型(如所有这些在XML请求中都可用)来确定群组代码。利用群组代码和操作名称,框架可唯一地确定要执行的服务。
服务(例如创建服务)可包括一个或多个命令,所述命令将由网络按序执行以便执行服务。例如,示例命令可包括:登录、端口失效ADSL、修改参数ADSL、使能端口ADSL、退出、或其他非对称数字用户线(ADSL)命令。每个命令与唯一的命令ID(如从CM_001到CM_005的命令ID1116中的任一个)相关联。对于每个服务,按照次序参数1106(如,组成序列1118的值10,20,30,40和50)所定义的次序来执行命令。用图11作为示例,服务11114包括按序执行的命令1,2,3,4和5,服务21120包括按序命令11221,2,6和5,服务31124包括按序命令11261,2,3,4和5。
取决于使用命令来实现的服务,该命令可以与服务回滚列1108中所标识的回滚处理相关联,从而在遇到错误时撤消服务。例如,服务1的命令1没有相关联的回滚处理(如,用“空”值1128所示)。服务3的命令4与回滚处理#91130相关联。注意,当该相同的命令4与服务5相关联地执行时,其与不同的回滚处理#61132相关联。
因此,服务命令表1100的一个目的是,标识并指示针对激励器应用所请求的每个服务,网络将要执行的命令的次序。包括服务命令表1100在内的配置表可在首次实例化适配器时载入存储器中。因此,所有处理都发生在该存储器中。
除了服务命令表1100外,网络适配器框架使用多个其他配置表来实现应用和网络间的通信。接下来的配置表称为消息表1200(图12),其列出了网络所发送的所有可能响应的常规表达式(如,在消息表达式列1204中),包括针对未知或未标识响应的“全捕获”常规表达式参数1206。特别是,“全捕获”常规表达式参数1206是周期性的,且对应的“全捕获”消息ID 1208是MS_031,如表行1210所示。消息表达式列1204中所列的每个可能的响应都与唯一的消息ID 1202相关联。如果由于某些原因非常频繁地将“全捕获”消息ID1208用于相同的未定义消息表达式,且用户注意到了该情况,则可以将对应于该消息的定义的行添加到消息表1200中。
TELCORDIA
Figure B2009101669500D0000251
应用可以发出命令,其导致网络产生响应。当网络适配器框架接收到该响应时,则执行消息表1200中的每个常规表达式(如,在消息表达式列1204中),以标识或分离与该响应相关的唯一消息ID 1202。
当被调用时,消息表1200中的每个常规表达式所使用的参数(?m)[MESSAGE]指示:应当对该响应的所有行执行搜索,以找到与[MESSAGE]匹配的字符串。在某些实现中,除(?m)以外的其他符号可具有其他含义,例如以其他特定方式来解析消息。因此,消息表1200的一个目的是,确定与每个特定响应相关的唯一消息ID1202。唯一消息ID 1202在稍后的处理步骤中使用。
在使用消息表1200中所列的(?m)[MESSAGE]常规表达式参数执行搜索的基础上,如果响应中的字符串与[MESSAGE]匹配,则输出该匹配的唯一消息ID 1202。备选地,当没有响应字符串与消息表1200的消息表达式列1204中所列的常规表达式的[MESSAGE]参数匹配时,可返回具有对应于“.”常规表达式参数的值MS_031的消息ID 1208。这表示网络适配器框架已经遇到一个未知的响应。另一方面,将响应用作输入,消息表1200输出与响应(如消息表达式1204)相关的消息ID 1202。
下一配置表是命令消息表1300(图13),其使用消息ID 1304和命令ID 1302二者来输出消息结果类型1312,指示命令是否已成功执行或是否发生致命或非致命错误(如,基于消息子类型1310)。命令消息表1300还可以输出禁止回滚指示符1308,其指示是否应当禁止回滚处理(例如,基于禁止回滚指示符1308)。
如果不执行回滚且命令是成功的,则网络适配器框架可允许处理另一命令,例如序列中的下一个命令。此外,取决于特定的消息ID 1304和命令ID 1302,命令消息表1300还可输出其他参数,例如结果代码1314,其可在稍后的处理步骤中使用或是用于创建输出XML文件。
在下面使用常规表达式的示例中,激励器应用发出命令(如,使用XML)。每个命令可包括按序执行的多个离散服务。如上所述,服务及其次序是使用服务命令表1100来标识的。
考虑:激励器应用228正在执行服务“CREATE(创建)”。如服务命令表1100中所示,“创建”服务可分为5个离散步骤或命令。例如,这些步骤可以是:1)登录;2)端口禁用ADSL;3)修改参数ADSL;4)启用端口ADSL;以及5)退出。此外,这5个命令要按序执行,正如命令序列1106所显示的那样。
第一命令(如,在该情况中,登录)由框架发送到网络(如,使用连接管理器适配器):
ACT-USER:7302-MR-01-
RJLLB07:SUPERUSER:<INSET_CTAG_HERE>::ANS#150;(1)
以上表示“创建”服务的“登录”命令。该命令从网络适配器框架发送到网络。
73400352008-02-01 19:40:04
M 62COMPLD
EN=0ENDESC=Succeeded.;(2)
以上表示创建服务的登录命令的格式化响应。该响应从网络发送到网络适配器框架。
参考消息表1200中所列的常规表达式,从以上响应中解析出项目“Succeeded”,将“Succeeded”置于响应的第三行。因此,输出对应于项目“Succeeded”1214的消息ID“MS_001”1212。
可能的消息响应及其相关联消息ID的已知整体在消息表1200中预配置。如果接收到未知的响应,则使用默认的消息ID,它可以触发错误条件(并强制回滚)。在任意时间都可以将其他消息ID添加到消息表1200中,例如添加用于“未知”响应的定义。
将MS_001消息ID 1304和CM_001命令ID 1302输入命令消息表1300。输出子类型1310值“Success(成功)”,结果类型1312值“SUCCESS(成功)”以及结果代码1314值“0000”,这表示登录命令(CM_001)已成功执行。没有执行回滚(如,禁止回滚指示符为“S”),且允许执行下一个命令。
然后调用下一个命令,端口禁用ADSL:
DACT-ADSLPORT::DEV=123,FN=0,SN=2,PN=321:63::;(3)
以上表示“创建”服务的端口禁用ADSL命令。该命令从网络适配器框架发送到网络。
73400352008-02-01 19:40:08
M 63COMPLD
EN=0ENDESC=Error processing the command.Invalid OSR.;(4)
以上表示“创建”服务的端口禁用ADSL命令的格式化响应。该响应从网络发送到网络适配器框架。
参考消息表1200中所列的常规表达式,从以上响应中解析出项目“错误执行该命令。无效OSR。”。网络适配器框架执行每个常规表达式;但是,其中的任何一个都不具有匹配响应消息的字符串。
由于响应中没有字符串可匹配消息表1200中所列的常规表达式的任何一个[MESSAGE]参数,因此,返回对应于“.”常规表达式参数的消息ID MS_031 1208。这表示网络适配器框架已经遇到了未知响应。“.”常规表达式参数和“MS_031”消息ID相关。
MS_031消息ID 1304和CM_002命令ID 1302被输入到命令消息表1300中;并且,在高亮行1318中,输出子类型“未知错误”1320、结果类型1312值“致命错误”和结果代码1314值“AAFN-6106E”,以指示端口禁用ADSL命令(CM_002)没有成功执行。
由于端口禁用(CM_002)命令未成功,而且禁止回滚指示符为“N”,因此执行回滚。正如服务命令表1100中高亮显示的那样,与“创建”命令(SV_001)和端口禁用ADSL命令(CM_002)相关联的回滚处理是回滚服务处理SV_006 1134。基于服务命令表1100中的回滚生效指示符1110,可以或者不可以禁用该回滚处理。
网络适配器框架中所使用的消息和处理可以包括使用XML文件。例如,激励器应用向网络发出命令。网络处理该命令,并生成响应。网络适配器框架从网络接收该响应,并可生成XML文件。该XML文件被送回激励器应用,以作为其之前发送的命令的结果。一旦接收到XML文件,则激励器可解析XML并使用收集到的信息来继续该处理或其他处理。XML文件可储存在激励器数据库中,或存储在目录中,或借助于其他手段来存储,这取决于实现。所包括的信息可供客户端用户使用,因为用户可读取由适配器在网络中所进行的激励的详细结果。
取决于来自网络的响应,XML文件可包括各种格式的不同信息。这些不同信息和格式总体上可以用附加配置表中的GADE变量来表示,正如返回消息表1400的返回消息表达式列1406中所显示的那样。正如先前所提到的,GADE变量是嵌入在返回消息中的代入变量。GADE变量可用实际的值来替代,这取决于各个因素。XML文件的内容和格式可通过改变GADE变量的内容和格式来改变。
例如,返回消息表1400中的行1408定义了用于返回消息代码MR_002 1410的条目。相应的返回消息描述1412将该消息描述为“错误消息输出-Huawei”。该消息的GADE变量包括在返回消息表达式单元1414中,该单元包含
“[:&RESULT_CODE:]:[&RESULT_TYPE:]...”。第一GADE变量为“[:&RESULT_CODE:]”而第二个是[&RESULT_TYPE:]。由于与包含GADE变量的返回消息是共同的,因此还可能存在其他字符和标点符号,例如两个GADE变量之间的冒号(“:”)。
网络所生成的响应(例如,响应于创建、删除或暂停服务或登录命令)包括用于填入GADE变量由此创建XML文件的信息。在某些实现中,除非对基础软件类(如,JAVA类)进行较大改动,否则返回消息表1400无法适应新的变量。但是,任何新变量被定义一次后,此后都可以按照需要使用(以及复用)多次。
如果在处理期间检测到错误,则可以使用从配置表导出的信息来填入XML返回消息。变量及其相关数据源描述如下:
例如,在GADE变量代入之前,返回消息可以是:
[:&RESULT_CODE:]:[:&RESULT_SUBTYPE:]-
[[:&SEQ_COMMAND:]/[:&QTY_COMMAND:]]:[:&OPERATION_NAME:]-
[:&SERVICE_TYPE_NAME:]:[:&TECHNOLOGY_TYPE_NAME:]-
[:&TECHNOLOGY_NAME:]-[:&DEVICE_MODEL:]-
DEVICE_NAME=[:#ACT_HUAWEI_DEVICE_NAME:]-RACK=[:#ACT_
HUAWEI_RACK:]-SHELF=[:#ACT_HUAWEI_SHELF:]-SLOT=[:#ACT_
HUAWEI_SLOT:]-PORT=[:#ACT_HUAWEI_PORT:]            (5)
在处理期间,在GADE变量中填写数据值,如下所述:
    [:&RESULT_CODE:]=result code of the process
    [:&RESULT_SUBTYPE:]=subtype of the result
    [:&SEQ_COMMAND:]=sequential of the command
    [:&QTY_COMMAND:]=quantity of the commands executed in the
network
    [:&OPERATION_NAME:]=the name of the service
    [:&SERVICE_TYPE_NAME:]=type of service
    [:&TECHNOLOGY_TYPE_NAME:]=the technology type
    [:&TECHNOLOGY_NAME:]=the technology name
    [:&DEVICEMODEL:]=model device
    [:#ACT_HUAWEI_DEVICE_NAME:]=the device name
    [:#ACT_HUAWEI_RACK:]=rack of device
    [:#ACT_HUAWEI_SHELF:]=shelf of device
    [:#ACT_HUAWEI_SLOT:]=slot of device
    [:#ACT_HUAWEI_PORT:]=port of device        (6)
在向XML中的GADE变量中填写数值之后,结果为:
0000:ERROR-[1/2]:CREATE-ADSL_BB:DSLAM-HUAWEI-TL1-ISAM
7302XD-DEVICE_NAME=RJ-IPA05-EDSLAM-RACK=01-SHELF=
1-SLOT=06-PORT=44                            (7)
图15显示了将GADE变量转换为返回消息中实际值的示例转换。例如,该转换可将具有GADE变量的消息响应1502转换为代入后的消息响应1504。该转换例如可以通过GADE变量代入模块1506使用上文所述的一个或多个配置表或其他过程来完成。结果是,在一个示例代入中,GADE变量[:&RESULT_CODE:]1508可以由值AAFN-6106E 1510来代替。在另一示例代入中,GADE变量[:&OPERATION_NAME:]1512可以由值CREATE 1514来代替。下面提供对GADE变量代入过程的更详细讨论。
当适配器激活时,其可载入配置文件的数据(如使用<ADAPTER_NAME>ADAPTERCONFIGURATION.XML)。在该过程期间,可以利用一个或多个参数表中所配置的值来初始化GADE变量。在将请求置于适配器队列中时(例如通过JAM消息),框架可以处理请求文件,并初始化另一组GADE变量(例如,通过读取变量中所储存的XML)。
例如,以下几组值(例如储存在参数表中)可用于载入相应的Huawei适配器变量:
ACT_HUHUAWEI_DEVICE_NAME=ALPJ_-EHA201
ACT_HUHUAWEI_SHELF=0
ACT_HUHUAWEI_SLOT=11
ACT_HUHUAWEI_PORT=14                    (8)
参数表中的这些值可以显示GADE变量与XML路径的关联。
下面的示例描述了对于端口禁用ADSL HUAWEI服务而言可能发生的GADE变量代入。在处理XML文件并定义将要执行的服务之后,框架:1)载入用于该服务的网络命令(查阅服务命令表1100);以及2)将从XML读取的值与相应的GADE变量相关联。
对于每个命令或服务,可以存在包含GADE变量的消息结果,例如:
    DACT-
    ADSLPORT::DEV=[:#ACT_HUAWEI_DEVICE_NAME:],FN=[:#ACT_H
UAWEI
_SHELF:],SN=[:#ACT_HUAWEI_SLOT:],
PN=[:#ACT_HUAWEI_PORT:]:<INSERT_CTAG_HERE>::;(9)
在针对变量而储存(例如,在参数表中)的值的基础上,框架可执行适当的代入,形成该命令,例如:DACT-ADSLPORT::DEV=ALPJ__-EHA201,FN=0,SN=11,PN=14:2343::;(10)
框架将命令发送到通信模块(如连接管理器),通信模块将消息发送到网络,网络继而返回响应,例如:
7344401 2009-01-29 23:08:56
M 121802COMPLD
EN=0ENDESC=Succeeded.
;]                                    (11)
使用常规表达式,框架可将网络响应与每个先前注册的响应(如,在消息表1200中)进行匹配。
如果匹配发生,则框架会执行针对该类响应而配置的过程(如,利用命令消息表1300)。在消息表1200中的消息ID列1202的基础上,框架可核实与命令消息表1300的关系(如,Hibernate),获得下一个要执行的处理。在错误情况下,下一个处理将是回滚命令。
假设网络应答指示成功,将以相同的方式载入并处理下一个命令。
接着,框架会载入下一个命令(修改参数ADSL HUAWEI):
MOD-
ADSLPORT::DEV=[:#ACT_HUAWEI_DEVICE_NAME:],FN=[:#ACT_HUA
WEI
_SHELF:],SN=[:#ACT_HUAWEI_SLOT:],
PN=[:#ACT_HUAWEI_PORT:]:<INSERT_CTAG_HERE>::LPROFID=[:#AC
T_
HUAWEI_PRIMARY_PROFILE:],ALIAS=[:#ACT_HUAWEI_ALIAS:];(12)
代入GADE变量,可以建立下一个命令:
MOD-ADSLPORT::DEV=ALPJ__-
EHA201,FN=0,SN=11,PN=14:4323::LPROFID=VELOX1000GDMT,
ALIAS=MCOAD5077916;(13)
在将命令发送到网络之后,可以接收到响应,例如:
7344401 2009-01-29 23:08:57
M 121803COMPLD
EN=0ENDESC=Succeeded.
;]
ACT-ADSLPORT::DEV=ALPJ__-EHA201,FN=0,SN=11,PN=14:121804::;
7344401 2009-01-29 23:08:57
M 121804COMPLD
EN=0ENDESC=Succeeded.
;]                            (14)
在处理服务的所有命令之后,利用处理的值来生成GADE变量,这允许框架生成并发送完全合格的响应给请求方。正如返回消息表1400中所显示的,可存在不同类型的响应,每一个对应一种情况。为了找到正确的XML应答,适配器可使用返回消息(如,来自响应表或来自返回消息表1400的返回消息列)。
框架可以利用GADE值来填写XML中,并向队列发送消息(带有生成的XML)到队列。这时,所有的GADE变量都是“干净的(clean)”(如,被转换为实际值)。
例如,最初包含未经代入的GADE变量的响应可以是:
    <NetworkResponse>
    [:&RESULT_CODE:]:[:&RESULT_SUBTYPE:]-
    [[:&SEQ_COMMAND:]/[:&QTY_COMMAND:]]:[:&OPERATION_NAME:
]-
    [:&SERVICE_TYPE_NAME:]:[:&TECHNOLOGY_TYPE_NAME:]-
    [:&TECHNOLOGY_NAME:]-[:&DEVICE_MODEL:]-
    DEVICE_NAME=[:#ACT_HUAWEI_DEVICE_NAME:]-
    SHELF=[:#ACT_HUAWEI_SHELF:]-SLOT=[:#ACT_HUAWEI_SLOT:]-
    PORT=[:#ACT_HUAWEI_PORT:]
    </NetworkResponse>                    (15)
作为代入的结果,生成的XML响应可以是:
<NetworkResponse>
  <![CD ATA[AAFN-6106E:SUCCESS-Port Modify:[3/3]:CREATE-
  ADSL_BB:DSLAM-HUAWEI-FSAP 9800-DEVICE_NAME=
ALPJ___-EHA201-
  SHELF=14-SLOT=ll-PORT=14]]></ErrorText>
  </NetworkResponse>                    (16)
本文所描述的框架可被配置为使用GADE变量。GADE变量被开发为辅助增强型框架来配置适配器,且这些变量充当特定于该增强型框架的定制语言。该语言可用于对配置表或框架中其他表中的网络命令和响应进行配置。
GADE变量是常规表达式的语言成分,其具有专门为适配器而定义的术语。例如,这些术语可按照下面的语言POSIX标准语法来定义。用接有冒号的左括号来开始一个表达式(如“[:”)。用冒号之后的右括号来终止一个表达式(如“:]”)。GADE变量的第一个字符(如“$”,“&”等)可表示项目的意思,现在将进行说明。
以美元符号($)开始、并被用作对某个变量的直接参考的GADE变量可具有格式[:$<path>:]。在该情况中,常规表达式<path>可以由要使用的参数来代替。
以英镑符号(#)开始、并被用作对某个变量的间接参考的GADE变量可具有格式[:#<name>:]。在该情况中,常规表达式<name>可以用要使用的参数名称来代替。
以“安培和”开始、并且仅被用作GADE变量的GADE变量可具有格式[:@<name>:]。在该情况中,框架可访问先前已声明并初始化的变量的值(如“变量的定义......”)。
以“&”为开始并被用作环境变量的GADE变量可具有格式[:&<name>:]。在该情况中,框架可访问该环境变量的值,例如UUID(如,用于64位标识符),SEQ(如,为每个命令生成的序列号),以及ROLLBACK(处理结果:Y=成功;N=失败)。
用作某个阵列的第一位置的GADE变量可具有格式[:@<name>$:]。在该情况中,该变量可被用于访问变量阵列的第一位置的值。
用作某个阵列的位置的GADE变量可具有格式[:@<name>$(1):]。在该情况中,该变量可被用于访问变量阵列的任意位置的值。该所需的位置是用圆括号来指示的,其中第一位置可以是0(通常)或1。
用作阵列大小的GADE变量可具有格式[:@<name>$qty:]。在该情况中,变量可用于标识阵列中值的数量,或者标识阵列中的可用空间。
一般来说,GADE变量和表达式可确定框架中的适配器的各种特征。例如,GADE变量可以参考由适配器和javabean设置的外部值,例如利用美元(“$”)字符标识的某个适配器请求(如“AdapterRequest”)。GADE变量还可提供别名或名称,其代表参数表中设置的参数。同样,GADE变量可用于适配器的实现上下文内的环境变量的实例化中。最后,GADE变量可以提供对在适配器实现上下文内初始化的变量的参考。
在使用GADE变量的表达式的一个示例中,例如在“AdapterRequest”中,表达式可以与下面的类似:
LOGIN:::EQ=[:#equip_id:]::UN=[:#username:],PWD=[:#password:],
GROUP=[:#default-group:]                        (17)
图16可以用来实现增强型网络适配器框架的计算设备1600、1650的框图,其可以是客户端也可以是一个或多个服务器。计算设备1600意在表示多种形式的数字计算机,例如膝上电脑,桌上电脑,工作台,个人数字助理,服务器,刀片服务器,大型机,以及其他合适的计算机。计算设备1650意在表示多种形式的移动设备,例如个人数字助理,蜂窝电话,智能电话,以及其他类似的计算设备。本文所显示的部件、其连接和关系以及其功能,仅表示举例,并不意味着限制在本文所描述和/或要求的实现中。
计算设备1600包括处理器1602,存储器1604,储存设备1606,连接到存储器1604和高速扩展口1610的高速接口1608,以及连接到低速总线1614和储存设备1606的低速接口1612。每个部件1602,1604,1606,1608,1610和1612,都用各种总线互联,且可安装在一块公共主板上,或以其他适当的方式安装。处理器1602可处理计算设备1600内执行的指令,包括储存在存储器1604或储存设备1606上的指令,从而为外部输入/输出设备,例如耦合到高速接口1608的显示器1616上的GUI显示图形信息。在其他实现中,可适当地使用多个处理器和/或多个总线,结合多个存储器和各种类型的存储器。同样,多个计算设备1600可与提供各部分必要操作的每个设备相连(如,服务器阵列,一组刀片伺服器,或一个多处理器系统)。
存储器1604储存计算设备1600内的信息。在一个实现中,存储器1604为计算机可读介质。在一个实现中,存储器1604为一个或多个易失性储存单元。在另一个实现中,存储器1604为一个或多个非易失性储存单元。
储存设备1606能给计算设备1600提供大容量存储。在一个实现中,储存设备1606是计算机可读介质。在多个不同实现中,储存设备1606可以是软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其他类似的固态储存设备,或设备阵列,包括储存区域网络或其他配置中的设备。在一个实现中,计算机程序产品确实被编入信息载体中。该计算机程序产品包含指令,当这些指令被执行时,实施一个或多个方法,例如上文所描述的方法。信息载体是计算机可读或机器可读介质,例如存储器1604、储存设备1606、或处理器1602上的存储器。
高速控制器1608管理计算设备1600的带宽密集型操作,同时低速控制器1612管理管理较低的带宽密集型操作。这样的责任分配仅仅是举例。在一个实现中,高速控制器1608耦合到存储器1604、显示器1616(如通过图形处理器或加速器)和可连接多种扩展卡(未显示)的高速扩展口1610。在该实现中,低速控制器1612耦合到储存设备1606和低速扩展口1614。低速扩展口可包括多种通信端口(如,USB,蓝牙,以太网,无线以太网),例如,可通过一个网络适配器耦合到一个或多个输入/输出设备,如键盘,指向设备,扫描仪,或者像交换机或路由器这样的组网设备。
可以用多种不同方式来实现计算设备1600,如附图所示。例如,其可实现为标准的服务器1620,或是在此类服务器组中的多个服务器。它还可实现为机架式服务器系统1624的一部分。另外,它可实现于个人计算机中,例如膝上型电脑1622。可选地,计算设备1600中的部件可以与移动设备(未显示)中的其他部件组合,例如设备1650。每个这样的设备可包含有一个或多个计算设备1600、1650,且整个系统可以由互相通信的多个计算设备1600,1650组成。
除了其他部件外,计算设备1650包括处理器1652,存储器1664,以及像显示器1654这样的输入输出设备,通信接口1666,以及收发机1668。还可以给设备1650提供一个储存设备,例如微型硬盘或其他设备,以提供额外的储存量。利用各种总线,将每个部件1650,1652,1664,1654,1666和1668互相连接,且若干个部件可安装在一个公共主板上,或以适当的其他方式安装。
处理器1652可处理用于在计算设备1650内执行的指令,包括存储器1664内储存的指令。处理器还可包括独立的模拟和数字处理器。例如,处理器可供用于协调设备1650的其他部件,例如控制用户界面、设备1650运行的应用以及设备1650的无线通信。
通过控制接口1658以及耦合到显示器1654的显示器接口1656,处理器1652可以与用户进行交流。例如,显示器1654可以是TFT LCD显示器或OLED显示器,或其他合适的显示器技术。显示器接口1656可包括适当的电路,用于驱动显示器1654,从而给用户呈现图形和其他信息。控制器接口1658可接收来自用户的命令,并对其进行转换,以提交给处理器1652。另外,在与处理器1652进行通信时,可提供外部接口1662,从而使设备1650能与其他设备进行近距离通信。例如,外部接口1662可供用于有线通信(如通过停靠步骤)或无线通信(如通过蓝牙或其他像这样的技术)。
存储器1664储存计算设备1650内的信息。在一个实现中,存储器1664为计算机可读介质。在一个实现中,存储器1664是一个或多个易失性储存单元。在另一个实现中,存储器1664是一个或多个非易失性储存单元。也可提供扩展存储器1674并通过扩展接口1672连接到设备1650,例如,扩展接口可包括SIMM卡接口。这样的扩展存储器1674可以给设备1650提供额外的储存量,或也可为设备1650储存应用或其他信息。特别是,扩展存储器1674可包括指令,这些指令用于执行或补充上文所描述的各种处理,并也可包括保密信息。因此,例如,扩展存储器1674可作为设备1650的安全模块来提供,并可以用允许安全地使用设备1650的指令来编程。此外,通过SIMM卡可提供安全的应用,以及其他信息,例如以不可被攻击的方式将标识信息放在SIMM卡上。
例如,存储器可包括闪存和/或MRAM储存器,如上文所讨论的那样。在一个实现中,计算机程序产品确实被嵌入信息载体中。计算机程序产品包含指令,当执行这些指令时,实施一个或多个方法,例如上文所描述的方法。信息载体是计算机可读或机器可读介质,例如存储器1664,扩展存储器1674或处理器1652上的存储器。
设备1650可以通过通信接口1666进行无线通信,如果有必要的话,通信接口1666可包括数字信号处理电路。除此之外,通信接口1666可供用于多种模式或协议下的通信,例如GSM语音呼叫,SMS,EMS或MMS消息,CDMA,TDMA,PDC,WCDMA,CDMA2000或GPRS。例如,这种通信可通过射频收发机1668来产生。另外,利用如蓝牙,WiFi或其他这样的收发机(未显示),可产生短距离通信。另外,GPS接收机模块1670可提供其他的无线数据给设备1650,设备1650上运行的应用可以适当地使用这些数据。
设备1650还可利用音频编解码器1660来进行音频通信,音频编解码器1660可接收来自用户的话音信息,并将其转换为可使用的数字信息。音频编解码器1660同样可以为用户产生可听见的声音,例如通过一个扬声器,例如在设备1650的听筒中。这样的声音可包括来自语音电话呼叫的声音,可包括录下的声音(如语音消息,音乐文件等),以及可包括设备1650上运行的应用所产生的声音。
计算设备1650可以以多种不同的方式来实现,如附图中所示。例如,其可以实现为蜂窝电话1680。它还可实现为智能电话1682、个人数字助理或其他类似移动设备的一部分。
本文所描述的系统和技术的各种实现可以在数字电子电路、集成电路、特别设计的ASIC(特定用途集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种各样的实现包括可以在可编程系统上执行和/或解释的一个或多个计算机程序中的实现方式,可编程系统包括至少一个可编程处理器,至少一个输入设备,和至少一个输出设备,该可编程处理器是专用或通用的,耦合并接收来自储存系统的数据和指令以及向储存系统发送数据和指令。
这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并可用高级程序性编程语言和/或面向目标的编程语言、和/或用汇编/机器语言来实现。在本文中使用时,术语“机器可读介质”“计算机可读介质”指的是用于给可编程处理器提供机器指令和/或数据的任何计算机程序产品、设备和/或设备(如磁盘,光盘,存储器,可编程逻辑设备(PLD)),包括接收机器指令的机器可读介质。虽然本文讨论了使用JAVA代码和Telcordia激励器软件,但本发明公开内容不限于任何特定的软件和语言实现方式。
为了供用于与用户交互,可以在具有显示器设备(如CRT(阴极射线管)或LCD(液晶显示器)监视器)和键盘及指向设备(如鼠标和轨迹球)的计算机上实现本文所描述的系统和技术,该显示器设备用于向用户显示信息,用户用键盘和指向设备来向计算机提供输入。其他类型的设备也可用于提供与用户进行交互;例如,提供给用户的反馈可以是任意形式的感官反馈(如,视觉反馈,听觉反馈,或触觉反馈);且可用任意方式接收来自用户的输入,包括听觉、语音或触觉输入。
本文所描述的系统和技术可以在具有后端部件(如数据服务器),或具有中间设备部件(如应用服务器),或具有前端部件(如具有图形用户界面或网络浏览器的客户端电脑,用户可通过它与本文所描述的系统和技术的某种实现方式进行交互),或具有这些后端、中间设备或前端部件的任意组合的计算机系统中实现。系统的各个部件可以用数字数据通信的任意方式或任意介质(如通信网络)来互联。通信网络的示例包括局域网(“LAN”),广域网(“WAN”)和以太网。
计算机系统可包括客户端和服务器。客户端和服务器一般相距很远,且通常通过通信网络互联。客户端和服务器的关系是依靠各个计算机上运行并互相具有客户端-服务器关系的计算机程序而发生的。
多个实现已得以描述。无论怎样,可以理解的是,可以在不脱离本公开内容的精神和范围的条件下进行多种修改。因此,其他实现也落在以下权利要求的范围内。

Claims (19)

1.一种计算机实现的方法,包括:
将参数存储在一个或多个配置表中,所述参数是针对网络和应用而定制的;
基于调用通用网络适配器来实例化针对所述网络和所述应用而定制的网络适配器,其中所述通用网络适配器外部参考所述一个或多个配置表;以及
使用实例化的所述网络适配器来实现所述应用与所述网络之间的通信。
2.如权利要求1的方法,其中使用实例化的所述网络适配器来实现所述应用与所述网络之间的通信,进一步包括:
从所述应用接收在所述网络上执行服务的请求;
基于参考所述服务在第一配置表中的唯一标识符,来标识与所述服务相关联的命令和所述命令的次序;
按序将命令传输至所述网络;
从所述网络接收对所述命令的响应;
基于执行第二配置表中所列的常规表达式,来标识与所述响应相关联的唯一消息标识符;以及
基于参考与所述响应相关联的所述唯一消息标识符和第三配置表中所述命令的唯一标识符,来确定所述命令的结果。
3.如权利要求2的方法,其中使用实例化的所述网络适配器来实现所述应用与所述网络之间的通信,进一步包括:
基于确定与所述服务相关联的所有命令的结果,来确定所述服务的结果;
基于参考第四配置表中所述服务的所述结果,来选择XML返回消息,其包括一般性适配器声明表达式(GADE)变量;
使用与所述服务所关联的所有命令的结果相关联的一个或多个结果值,来填入所述GADE变量;以及
将填有所述结果值的所述XML返回消息提供给所述应用。
4.如权利要求2的方法,其中所述服务选自:ADSL端口禁用服务,ADSL修改参数服务,或ADSL启用端口服务。
5.如权利要求2的方法,其中在所述第二配置表中列出对所述命令的每个可能响应的常规表达式,以及相关联的唯一消息标识符。
6.如权利要求5的方法,其中所述第二配置表列出针对由网络发送的、先前未知或未标识的响应的全捕获常规表达式,以及所述全捕获常规表达式的唯一消息标识符。
7.如权利要求2的方法,其中所述结果标识所述命令是成功还是发生了致命或非致命错误,以及是否禁止回滚。
8.如权利要求7的方法,其中所述结果进一步标识结果值。
9.如权利要求1的方法,其中应用包括ACTIVATOR应用。
10.如权利要求1的方法,其中所述通用网络适配器包括基于JAVA EE的网络适配器。
11.如权利要求1的方法,其中所述参数包括实现过程流的规则的值。
12.如权利要求1的方法,其中所述参数包括表示为常规表达式的响应。
13.如权利要求1的方法,其中所述参数包括能够从所述应用发送到所述网络的命令,或能够从所述网络发送到所述应用的对所述命令的响应。
14.如权利要求1的方法,进一步包括:使用所述一个或多个配置表的单个配置负载,来调用所述通用适配器。
15.如权利要求1的方法,进一步包括:
检测所述网络和所述应用的类型;以及
基于所述网络和所述应用的所检测类型,从多个配置表中选择所述一个或多个配置表。
16.如权利要求1的方法,其中所述参数包括与回送模式、网络仿真模式和网络模式相关联的动作。
17.如权利要求1的方法,其中所述参数包括服务定义。
18.一种系统包括:
一个或多个计算机;以及
耦合至所述一个或多个计算机的计算机可读介质,具有存储于其上的指令,当所述指令被所述一个或多个计算机执行时,其致使所述一个或多个计算机执行操作,包括:
将参数存储在一个或多个配置表中,所述参数是针对网络和应用而定制的,
基于调用通用网络适配器来实例化针对所述网络和所述应用而定制的网络适配器,其中所述通用网络适配器外部参考所述一个或多个配置表,以及
使用实例化的所述网络适配器来实现所述应用与所述网络之间的通信。
19.如权利要求18的系统,其中使用实例化的所述网络适配器来实现所述应用与所述网络之间的通信,进一步包括:
从所述应用接收在所述网络上执行服务的请求;
基于参考所述服务在第一配置表中的唯一标识符,来标识与所述服务相关联的命令和所述命令的次序;
按序将命令传输到所述网络;
从所述网络接收对所述命令的响应;
基于执行第二配置表中所列的常规表达式,来标识与所述响应相关联的唯一消息标识符;以及
基于参考与所述响应相关联的所述唯一消息标识符和第三配置表中所述命令的唯一标识符,来确定所述命令的结果。
CN200910166950.0A 2009-05-11 2009-06-19 增强型网络适配器框架 Active CN101888320B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/463,737 2009-05-11
US12/463,737 US8019839B2 (en) 2009-05-11 2009-05-11 Enhanced network adapter framework

Publications (2)

Publication Number Publication Date
CN101888320A true CN101888320A (zh) 2010-11-17
CN101888320B CN101888320B (zh) 2015-01-07

Family

ID=42470861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910166950.0A Active CN101888320B (zh) 2009-05-11 2009-06-19 增强型网络适配器框架

Country Status (5)

Country Link
US (4) US8019839B2 (zh)
EP (1) EP2251787B1 (zh)
CN (1) CN101888320B (zh)
BR (1) BRPI0903299B1 (zh)
CA (1) CA2669500C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374609A (zh) * 2021-12-06 2022-04-19 东云睿连(武汉)计算技术有限公司 基于rdma设备的深度学习作业运行方法及系统

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019839B2 (en) * 2009-05-11 2011-09-13 Accenture Global Services Limited Enhanced network adapter framework
JP2011096045A (ja) * 2009-10-30 2011-05-12 Hitachi Ltd 計算機、計算機システム、及び、アプリケーション実行方法
US9208007B2 (en) 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers
US8769075B2 (en) * 2012-01-18 2014-07-01 International Business Machines Corporation Use of a systems management tool to manage an integrated solution appliance
US9298446B2 (en) 2013-10-28 2016-03-29 International Business Machines Corporation Unified update tool for multi-protocol network adapter
US9582659B2 (en) * 2014-11-20 2017-02-28 International Business Machines Corporation Implementing extent granularity authorization and deauthorization processing in CAPI adapters
US9600642B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization processing in CAPI adapters
US20160149909A1 (en) 2014-11-20 2016-05-26 International Business Machines Corporation Implementing block device extent granularity authorization model processing in capi adapters
US9600428B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization command flow processing in CAPI adapters
CN104866383B (zh) * 2015-05-29 2018-11-23 北京金山安全软件有限公司 一种接口调用方法、装置及终端
US10104827B2 (en) * 2015-07-08 2018-10-23 The Royal Institution For The Advancement Of Learning/Mcgill University Guidance system and steering control device for an agricultural vehicle
US10235357B2 (en) * 2017-04-04 2019-03-19 Architecture Technology Corporation Community-based reporting and analysis system and method
US10831565B2 (en) * 2017-09-28 2020-11-10 Sap Se Fault tolerant adapter system to consume database as a service
US10951699B1 (en) * 2017-11-28 2021-03-16 EMC IP Holding Company LLC Storage system with asynchronous messaging between processing modules for data replication
CN112311567B (zh) * 2019-07-26 2022-04-05 华为技术有限公司 一种通信方法及装置
US11757991B2 (en) * 2021-07-22 2023-09-12 Cisco Technology, Inc. Common synchronization of device command into multiple synchronized single device tasks
FR3128840A1 (fr) * 2021-11-04 2023-05-05 Orange Supervision du fonctionnement d’un service de transmission de données mis en œuvre selon au moins deux technologies différentes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181753A1 (en) * 2003-03-10 2004-09-16 Michaelides Phyllis J. Generic software adapter
WO2004111961A1 (en) * 2003-06-12 2004-12-23 Datawire Communication Networks, Inc. Versatile terminal adapter and network for transaction processing
CN1653423A (zh) * 2002-03-28 2005-08-10 Sap股份公司 交换基础设施系统和方法
EP1971163A2 (en) * 2007-03-13 2008-09-17 Samsung Electronics Co., Ltd. Network parameter automatic configuration apparatus and method in portable terminal

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452239A (en) 1993-01-29 1995-09-19 Quickturn Design Systems, Inc. Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US6848014B2 (en) 2001-01-23 2005-01-25 Symbol Technologies, Inc. Adapter unit for a personal digital assistant having automatically configurable application buttons
US7337245B2 (en) 1999-03-26 2008-02-26 Dearborn Group, Inc. Protocol adapter for passing diagnostic messages between vehicle networks and a host computer
US7283635B1 (en) 1999-12-09 2007-10-16 Plantronics, Inc. Headset with memory
US6690757B1 (en) 2000-06-20 2004-02-10 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated lane de-skew
US7159823B1 (en) 2000-10-10 2007-01-09 Cerberus Institute For Research And Development, Inc. Rapid deployment of troops and cargo
US7380006B2 (en) 2000-12-14 2008-05-27 Microsoft Corporation Method for automatic tuning of TCP receive window based on a determined bandwidth
WO2002052791A2 (de) 2000-12-23 2002-07-04 Hirschmann Electronics Gmbh & Co. Kg Automatische konfiguration von komponenten eines netzwerkes
US7127517B2 (en) 2000-12-27 2006-10-24 International Business Machines Corporation Protocol adapter framework for integrating non-IIOP applications into an object server container
US7210162B2 (en) 2000-12-27 2007-04-24 Koninklijke Philips Electronics N.V. DVB-ASI signal inverting adapter and system
EP1233590A1 (en) 2001-02-19 2002-08-21 Sun Microsystems, Inc. Content provider for a computer system
US7284267B1 (en) 2001-03-08 2007-10-16 Mcafee, Inc. Automatically configuring a computer firewall based on network connection
US7340714B2 (en) * 2001-10-18 2008-03-04 Bea Systems, Inc. System and method for using web services with an enterprise system
US7650325B2 (en) * 2001-11-13 2010-01-19 International Business Machines Corporation Dynamic interface adapter for integration of source and target applications
ITBO20020082A1 (it) 2002-02-19 2003-08-19 Dalex S R L Gruppo operativo per tendine con rullo avvolgitore
US7266622B2 (en) 2002-03-25 2007-09-04 International Business Machines Corporation Method, computer program product, and system for automatic application buffering
US7093013B1 (en) 2002-06-19 2006-08-15 Alcatel High availability system for network elements
US7181048B2 (en) 2002-06-28 2007-02-20 Hewlett-Packard Development Company, L.P. Biometric capture adapter for digital imaging devices
US20040216147A1 (en) * 2002-07-18 2004-10-28 Motorola, Inc. Component based application middleware framework
IL152768A (en) 2002-11-11 2008-04-13 Rit Techn Ltd Retrofit kit for interconnect cabling system
US7300421B1 (en) 2002-11-26 2007-11-27 Suzanne L. Lowry Safety syringe and safety syringe adapter
US7127541B2 (en) 2002-12-23 2006-10-24 Microtune (Texas), L.P. Automatically establishing a wireless connection between adapters
US7191450B2 (en) * 2003-02-06 2007-03-13 International Business Machines Corporation Data-driven application integration adapters
US7277529B1 (en) 2003-02-27 2007-10-02 Cingular Wireless Ii, Llc System and method for voice mail service in an environment having multiple voice mail technology platforms
US7395540B2 (en) 2003-03-12 2008-07-01 Microsoft Corporation Automated business software application integration
US7188345B2 (en) * 2003-03-19 2007-03-06 International Business Machines Corporation Installation of data-driven business integration adapters
US7426726B1 (en) 2003-03-31 2008-09-16 Emc Corporation System and method for configuring a host for operationally cooperating with data storage system and including selective host adapter settings
US7104896B2 (en) 2003-06-11 2006-09-12 Wwm Enterprises, Inc. Offset motor mount adaptor device
US7305724B2 (en) 2003-07-08 2007-12-11 Baby Wize, Llc Stowable baby bathinette
US7089826B2 (en) 2003-07-09 2006-08-15 Ford Motor Company Automatic tool attachment apparatus
US7182108B2 (en) 2003-09-30 2007-02-27 Submersible Systems, Inc. Automatic bleed valve for pressurized system
US20050114378A1 (en) * 2003-11-24 2005-05-26 Microsoft Corporation System and method for providing a standardized adaptor framework
US7241244B2 (en) 2003-11-25 2007-07-10 Dura Global Technologies, Inc. Actuator for shift-by-wire automatic transmission system
US7156131B2 (en) 2003-12-01 2007-01-02 Societe Bic Method and apparatus for filling a fuel container
US7224784B2 (en) 2003-12-19 2007-05-29 International Business Machines Corporation Subscriber service management
US7406698B2 (en) 2003-12-30 2008-07-29 Microsoft Corporation Driver framework component for synchronizing interactions between a multi-threaded environment and a driver operating in a less-threaded software environment
US7421709B2 (en) * 2004-01-05 2008-09-02 Information Builders, Inc. Framework for adapter used in enterprise application integration
WO2005069898A2 (en) 2004-01-16 2005-08-04 Tekelec Methods, systems, and computer program products for providing configurable telecommunications detail record adapter
US7302108B2 (en) 2004-02-04 2007-11-27 Dell Products L.P. System and method for creating information handling system restore media
US7412548B2 (en) 2004-03-04 2008-08-12 Rockwell Automation Technologies, Inc. Intelligent self-determining I/O device
US7325019B2 (en) 2004-03-12 2008-01-29 Network Appliance, Inc. Managing data replication policies
US7395352B1 (en) 2004-03-12 2008-07-01 Netapp, Inc. Managing data replication relationships
US7139907B2 (en) 2004-04-29 2006-11-21 International Business Machines Corporation Method and apparatus for implementing distributed SCSI devices using enhanced adapter reservations
US7093989B2 (en) 2004-05-27 2006-08-22 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one which spends print data to the other
US7188928B2 (en) 2004-05-27 2007-03-13 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one of which sends print data to both of the printhead modules
US7266661B2 (en) 2004-05-27 2007-09-04 Silverbrook Research Pty Ltd Method of storing bit-pattern in plural devices
US7243193B2 (en) 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US7267417B2 (en) 2004-05-27 2007-09-11 Silverbrook Research Pty Ltd Printer controller for supplying data to one or more printheads via serial links
US7281330B2 (en) 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Method of manufacturing left-handed and right-handed printhead modules
US7290852B2 (en) 2004-05-27 2007-11-06 Silverbrook Research Pty Ltd Printhead module having a dropped row
US7275805B2 (en) 2004-05-27 2007-10-02 Silverbrook Research Pty Ltd Printhead comprising different printhead modules
US7252353B2 (en) 2004-05-27 2007-08-07 Silverbrook Research Pty Ltd Printer controller for supplying data to a printhead module having one or more redundant nozzle rows
US7374266B2 (en) 2004-05-27 2008-05-20 Silverbrook Research Pty Ltd Method for at least partially compensating for errors in ink dot placement due to erroneous rotational displacement
US7314261B2 (en) 2004-05-27 2008-01-01 Silverbrook Research Pty Ltd Printhead module for expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7390071B2 (en) 2004-05-27 2008-06-24 Silverbrook Research Pty Ltd Printer controller for supplying data to a printhead module having a dropped row
US7281777B2 (en) 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Printhead module having a communication input for data and control
US7377609B2 (en) 2004-05-27 2008-05-27 Silverbrook Research Pty Ltd Printer controller for at least partially compensating for erroneous rotational displacement
US7328956B2 (en) 2004-05-27 2008-02-12 Silverbrook Research Pty Ltd Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead
US7120463B2 (en) 2004-06-01 2006-10-10 Radioshack, Corp. Network interface cassette adapter and method
US7266390B2 (en) 2004-06-01 2007-09-04 Radioshack Corporation Network interface cassette adapter and method
US7121653B2 (en) 2004-07-08 2006-10-17 Greater Computer Corporation Negative-pressure control device for ink-supply system
US7364109B2 (en) 2004-07-14 2008-04-29 First Class Electrical Co., Ltd. Cable reel
US7475150B2 (en) * 2004-09-07 2009-01-06 International Business Machines Corporation Method of generating a common event format representation of information from a plurality of messages using rule-based directives and computer keys
US7376546B2 (en) 2004-11-08 2008-05-20 Lsi Corporation User configurable ultra320 SCSI target device simulator and error injector
US7349779B2 (en) 2004-12-21 2008-03-25 Deere & Company Automatic steering system
US7284912B2 (en) 2005-01-12 2007-10-23 Illum Technologies, Inc. Multi fiber optical interconnect system, with push—push type insertion/withdrawal mechanism, MT-type connector and shuttered adapter and method for using same
US7357653B2 (en) 2005-06-06 2008-04-15 Proconn Technology Co., Ltd. Dual-slot memory card adapter
US7281953B1 (en) 2005-08-05 2007-10-16 Unisys Corporation Computer card adapter
US7273434B1 (en) 2005-08-16 2007-09-25 Carl Rossler Automatic transmission brake for racing vehicles
US7395367B2 (en) 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US7309039B1 (en) 2006-07-18 2007-12-18 Stone James W Fishing reel power device
US8606768B2 (en) * 2007-12-20 2013-12-10 Accenture Global Services Limited System for providing a configurable adaptor for mediating systems
US8051191B2 (en) * 2008-04-28 2011-11-01 Microsoft Corporation Ethernet extensibility
US8019839B2 (en) * 2009-05-11 2011-09-13 Accenture Global Services Limited Enhanced network adapter framework

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653423A (zh) * 2002-03-28 2005-08-10 Sap股份公司 交换基础设施系统和方法
US20040181753A1 (en) * 2003-03-10 2004-09-16 Michaelides Phyllis J. Generic software adapter
WO2004111961A1 (en) * 2003-06-12 2004-12-23 Datawire Communication Networks, Inc. Versatile terminal adapter and network for transaction processing
EP1971163A2 (en) * 2007-03-13 2008-09-17 Samsung Electronics Co., Ltd. Network parameter automatic configuration apparatus and method in portable terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374609A (zh) * 2021-12-06 2022-04-19 东云睿连(武汉)计算技术有限公司 基于rdma设备的深度学习作业运行方法及系统
CN114374609B (zh) * 2021-12-06 2023-09-15 东云睿连(武汉)计算技术有限公司 基于rdma设备的深度学习作业运行方法及系统

Also Published As

Publication number Publication date
BRPI0903299B1 (pt) 2020-01-21
US20110295985A1 (en) 2011-12-01
CN101888320B (zh) 2015-01-07
EP2251787A2 (en) 2010-11-17
US8533302B2 (en) 2013-09-10
EP2251787B1 (en) 2020-03-18
US20130013758A1 (en) 2013-01-10
CA2669500A1 (en) 2010-11-11
BRPI0903299A2 (pt) 2011-02-01
US9015290B2 (en) 2015-04-21
US9015291B2 (en) 2015-04-21
US20100287264A1 (en) 2010-11-11
US20130013751A1 (en) 2013-01-10
US8019839B2 (en) 2011-09-13
CA2669500C (en) 2016-10-11
EP2251787A3 (en) 2012-01-04

Similar Documents

Publication Publication Date Title
CN101888320B (zh) 增强型网络适配器框架
CN100545851C (zh) 使用命令行环境的远程系统管理
CN101299754B (zh) 具有动态用户界面的终端用户控制配置系统
CN100435094C (zh) 为组件应用程序建立混合模式执行环境的系统和方法
US8018322B2 (en) Graphical interface for RFID edge server
US6513111B2 (en) Method of controlling software applications specific to a group of users
US8539514B2 (en) Workflow integration and portal systems and methods
US7796014B2 (en) Metadata-based configuration of RFID readers
US20110238498A1 (en) Service stage for subscription management
CN102223736B (zh) 与使用多模式应用的多模式设备进行通信的服务器
US20070050751A1 (en) Automatic interoperation with legacy POS service and control objects
EP1678606A2 (en) System and method for management of mutating applications
CA3050159A1 (en) Artificial intelligence (ai) based automatic rule generation
CN110225104A (zh) 数据获取方法、装置及终端设备
US20070213999A1 (en) EPC provisioning system using business rules
CN109189502A (zh) 一种基于即时通讯公众平台的消息处理方法和相关设备
CN101382889A (zh) 使用ui储存库的公共ui组件执行无线应用程序的系统和方法
CN109117609A (zh) 一种请求拦截方法及装置
CN108038665A (zh) 业务规则管理方法、装置、设备及计算机可读存储介质
CN109710878A (zh) 数据交互方法及服务器
CN101521592B (zh) 一种建立打印机snmp代理的方法及装置
CN107911442A (zh) 接收响应接口交互方法、装置、计算机设备及存储介质
MX2012010195A (es) Metodo y sistema de gestion de operaciones en un terminal de telecomunicaciones.
CN112102058A (zh) 管会系统参数配置方法及装置
CN109542646A (zh) 用于调用应用程序编程接口的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: ACCENTURE INTERNATIONAL CO., LTD.

Free format text: FORMER OWNER: ACCENTURE GLOBAL SERVICES GMBH

Effective date: 20101203

Owner name: ACCENTURE GLOBAL SERVICES GMBH

Free format text: FORMER OWNER: ACCENTURE INTERNATIONAL CO., LTD.

Effective date: 20101203

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: SCHAFFHAUSEN, SWITZERLAND TO: LUXEMBOURG

Free format text: CORRECT: ADDRESS; FROM: LUXEMBOURG TO: DUBLIN, IRELAND

TA01 Transfer of patent application right

Effective date of registration: 20101203

Address after: Dublin, Ireland

Applicant after: ACCENTURE GLOBAL SERVICES Ltd.

Address before: Luxemburg Luxemburg

Applicant before: Accenture international LLC

Effective date of registration: 20101203

Address after: Luxemburg Luxemburg

Applicant after: Accenture international LLC

Address before: Schaffhausen

Applicant before: ACCENTURE GLOBAL SERVICES Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant