CN1615480A - 网络设备间配置文件的翻译 - Google Patents
网络设备间配置文件的翻译 Download PDFInfo
- Publication number
- CN1615480A CN1615480A CNA028273109A CN02827310A CN1615480A CN 1615480 A CN1615480 A CN 1615480A CN A028273109 A CNA028273109 A CN A028273109A CN 02827310 A CN02827310 A CN 02827310A CN 1615480 A CN1615480 A CN 1615480A
- Authority
- CN
- China
- Prior art keywords
- order
- source
- dictionary
- data dictionary
- command
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
一种简化命令行接口(20)配置脚本翻译的系统和方法,以将一与设备相关的命令行接口配置脚本翻译成与另一设备相应的对等CLI(20)配置脚本。该系统包括一个翻译器(14)以及一个或多个数据字典(12)。该翻译器(14)包括一用户界面模块,一实现翻译的翻译器逻辑模块以及一保存所选数据字典的当前数据字典(12)模块。每一数据字典包括以多种CLI(20)脚本类型为依据所产生的共同句法。所述一特定数据字典以来自一网管员的初始输入为依据。翻译器(14)随之对来自与一原设备相关的相应脚本进行自动翻译,并将其翻译到一具有不同脚本要求的设备中。
Description
相关申请
本申请对2001年11月21日提交的申请号为60/332,100的美国临时申请主张权益,该临时申请作为引述文献包含在本文中。
技术领域
本发明涉及一种对计算机网络进行操作的设备和系统,具体地说是对设备和系统进行管理,更具体地说是对此设备和系统进行配置。本发明尤其涉及一种将一类设备或系统的配置命令自动翻译成一另类设备或系统的配置命令。
背景技术
计算机系统是人类信息交流的有效工具。这些信息包括但不限于数据、音频、图形以及视频。从某种意义上说,通过将计算机系统相互连接建立交换,以允许传送表示信息的电信号。相互连接既可以是有线的也可以是无线的。有线连接包括金属及光纤元件。无线连接包括红外线及无线电波传输。
多个具有某种共性的互连计算机系统代表一个网络。例如,与大学校园相关的每个人都可拥有一台计算机设备。此外,在整个校园中可分布共享打印机及远程应用服务器。由于这种个体中的共性而使大学校园中的每个人都可以某些方式与大学相连。所述网络共性对其他环境中个人及其计算机分布是相同的,这些环境包括例如:保健设施,生产基地以及互联网访问用户。在多数场合中,人们期望以某种可选方式允许共群中各种计算机系统进行信息及信号交流。相互连接的计算机系统以及控制和简化系统中信息交流的设备代表一个网络。此外,网络可通过相互连接形成互联网。
为实现计算机系统互连所设计的设备包括但不限于:路由器、网关、桥接器、网络集线器以及转发器。此类设备有许多供应厂商。虽然通过公认标准和协议充分明确定义了信号交换方式,但每个厂商所提供的设备在某些重要方面仍存在差异,比如命令行接口(CLI)。CLI是网管员对一相关网络的一个或多个信号交流设备的特定操作属性进行配置的方式。尽管不同厂商提供的特定驱动程序的基本功能是相同的,但通常,配置命令或与相同功能性相关的脚本各异。由于这一原因,网管员必须耗费大量精力以确保适用于一个设备的命令也同样适用于来自一个不同厂商提供的相似设备,否则将难以截获和执行来自不同厂商提供的网络设备。
目前,如果想要得到兼容性配置,网管员必须手动地把与一个厂商设备相关的CLI命令翻译到与不同厂商设备相关的那些设备中。或者留给网管员的选择就是采用来自同一来源的具有通用CLI配置脚本的网络设备。如果同一来源性价比不是最好的,则这样的选择就不值得。
因此,我们需要一个改进的系统以及能相对简单、充分、自动地将一个系统类型的配置功能翻译成不同系统类型的配置功能。
发明概述
本发明的一个目的在于提供一种能全自动化地将配置脚本由一种格式翻译到另一种格式的系统和相关方法。本发明的这一目的以及其他目的将通过此处所描述的带与一个或多个数据字典相关的脚本翻译器的介绍和使用来实现。
按照本发明的一个方面,配置文件翻译系统将源设备的至少一个源源配置脚本翻译为目的设备的至少一个目的配置脚本。该系统包含至少一个由多个字典条目组成的数据字典。每一字典条目包含至少一个源命令以及至少一个与每一源命令相应的目的命令。该系统还包含一个翻译器,用于在源配置脚本中读取源命令,查找数据字典中相应的目的命令以及将源配置脚本中的源命令翻译成相应的目的命令以创建目的配置脚本。
按照本发明的另一个方面,提供了一种将一个源设备的至少一个源配置脚本翻译成一个目的设备的至少一个目的配置脚本的方法。该方法提供了一个包含提示用户输入、向用户显示信息,以及根据源设备和目的设备选择一数据字典的用户界面。数据字典描述源设备的源命令以及与目的设备相应的目的命令。创建所选数据字典的数据字典内部表示。对包括源设备的源命令的源配置脚本进行处理并且访问对应源配置脚本中源命令的目的命令的数据字典内部表示。产生对应源配置脚本中源命令的目的命令的目的配置脚本。
按照本发明的又一方面,配置文件翻译器包含一在翻译进行期间提示用户输入以及向用户显示信息的用户界面模块。当前数据字典模块在一由用户基于源设备和目的设备所选的当前数据字典中创建一信息内部表示。翻译器逻辑模块运行一与源设备相应的源配置脚本,并访问当前数据字典以生成一与目的设备相应的目的配置脚本。
按照本发明的又一方面,提供一种用于创建一翻译源设备及目的设备数据字典配置文件的方法。该方法包含识别用于配置源设备的源命令以及识别用于配置目的设备的相应目的命令。所创建的数据字典条目包括每一源命令及相应目的命令的文字描述,其中,数据字典条目遵循预定句法规则。
按照本发明的又一方面,一数据结构提供一用于在配置文件中进行翻译的数据字典的内部表示。该数据结构包含字典条目对象及源命令对象,字典条目对象包括一数据字典中的源命令及目的命令,而源命令对象包括一源配置脚本中的源命令。目的命令对象包括含目的命令的指向字典条目对象,其中,每一目的命令对象与含源命令的一字典条目对象相应。字典条目贮存器对象包括含源命令及相应目的命令对象的字典条目对象。一字典条目对象包括一字典条目贮存器对象分类列表。
附图简单说明
以下,我们将结合附图及对详细描述的阅读进一步理解本发明的这些及其他一些特征和优点。
图1表示本发明翻译器系统主单元的简化视图;
图2表示根据本发明一个实施例的用于翻译器系统中的翻译器主单元的简化视图;
图3表示本发明翻译器系统的一个示例性数据字典模块的简化视图;
图4表示本发明使用翻译器系统创建一示例性数据字典内部表示的功能排列的简化视图;
图5表示根据本发明举例说明将一源配置脚本翻译成一目的配置脚本的方法的流程图。
优选实施例的详细描述
图1示出了本发明一配置文件翻译系统10的主单元。该系统10一般包括一个或多个数据字典12以及一翻译器14,他们将在下面作详细描述。系统10连接于一具有一个或多个已有源配置脚本20的源设备和一命令源配置脚本20翻译的目的设备之间。系统10将源配置脚本20中的源命令翻译成在一个或多个输出中或目的配置脚本22中的目的命令。
系统10可包括任意数量的数据字典12。每一数据字典12最好包括翻译器14所需的信息以将一特定源设备的源脚本20转换成一特定目的设备的目的脚本22。例如,如果一个产品X具有2套版本的程序X.1和X.2并希望将它们翻译成用于产品Y的脚本,则将有2个数据字典:X.1Y和X.2Y。翻译器14能支持无限数量的数据字典(以及程序),这就需要用户有目的地选择为特定脚本作翻译之用的正确字典。在所述用于程序Y上的程序X的脚本翻译中,程序X在此作为“源设备”,程序Y在此作为“目的设备”。
数据字典12最好与翻译器14结合使用,但也可应简化手工翻译的要求而单独使用。此外,数据字典12可植入文本或加密文本。另外,数据字典12可由提供翻译器14的厂商提供或由用户生成然后用翻译器14编译。翻译器14可以是一个独立应用程序或一宽带网络管理应用程序的子模块。
数据字典12最好根据预定的假设和句法规则来描述源命令和相应的目的命令。每一命令最好包括一连串关键字和参数,而某些命令定义包括任意关键字和/或参数。在某些情况下,一源设备的源命令可将目的设备翻译成两个或两个以上目的命令以实现相同的功能性。在某些情况下,源设备的一个或多个源命令可不具有任何相应的目的设备的目的命令(例如:如果是一目的设备不支持的属性)。基于这些假设,可将一数据字典句法进行定义和使用,以描述从任一源脚本向任一目的脚本的翻译。
在示例性实施例中,尽管本发明的范围包含其他类型或形式的命令,但配置脚本为具有CLI命令的命令行接口(CLI)配置脚本。一CLI命令基本上包括大量关键字和一些参数,其命令字段可递归。例如,一配置一T1/E1通道组的CLI命令描述如下:
channel-group number timeslots range[speed{5664}]
此命令中的关键字以粗体字表示,参数以斜体字表示。此命令特定地描述可多次递归的范围参数。例如,一有效命令为:
channel-group 2 timeslots 1-3,5-7,9-11,13,16,18 speed 64
现根据实施例对翻译器14中翻译数据字典脚本语言的示例性数据字典句法规则和类别作更详细的描述。本发明中用于示例的假定CLI命令将不作实际CLI命令分析或限定分析。
每一数据字典12包括:描述由源设备调用的源命令(也就是一源命令块)以及由目的设备调用的目的命令(也就是一目的命令块)的字典条目,数据字典中的信息对大小写不加区分。对于任何所描述的CLI命令,关键字排列与字典中的排列相同。任何参数都以“%”符号表示,接着用一个字符表示参数类型。特定类型包括:以%s表示字符串,以%a表示IP地址和掩码;以%x表示十六进制数字;以%d表示十进制数字;以及以%m表示映射参数(见示例10)。要对命令中一参数进行唯一识别,必须向上述类型字符添加一个数字。例如,一含两个十六进制数字的命令将使用%x1来描述第一参数,用%x2来描述第二参数。如果一个参数可获得一特定组值或范围值,则可通过将此规定范围附于符号“<”和“>”中来表达(见示例2)。
在源命令和一个或多个目的命令中使用的一参数名表示复制到目的命令中的参数值(见示例1)。目的命令中的一个在源命令中无副本的参数名(例如%s2)导致翻译失败。一参数的表达类型用于解决可能不明确的命令。例如,如果一个命令视参数不同而具有一不同的含义,可用指示类型来决定翻译时的正确命令。在解决不明确命令之前最好不要进行类型域操作。这意味着如果字典将x命令%d1映射到y命令%d1且脚本包含x命令的某些数字,翻译器将输出y命令的某些数字。
可多次出现CLI命令的任何部分(比如上述通道组中的范围参数)被附于“^”符号内以定义一递归块。一CLI命令的递归块可通过一逗号或一空格隔开(见示例4和5)。这可通过在程序块中增加一个逗号来表示。例如,^port %d1^表示作为端口1、2、3等出现的特定块。如果指定输入为^port %d1,”,最后的逗号表示命令句法为端口1、2、3等。不能内嵌递归命令块。
如果一个命令包含可选参数,这些参数将附于方括号内。具有可选参数的CLI命令内扩大为可选参数的任何可能的结合(见示例7)。如果源命令中的一个变量是可选的,则其在目的命令中也是可选的。仅考虑那些在源命令中查找的全部需用目的命令变量的结合。在一个示例中,命令仅可包含至多32个可选参数,且允许内嵌可选块(见示例8和9)。
源命令中的参数在插入一目的命令之前可能需要进行操作。例如,如果一个命令占用一端口数作为一个变量(port%d1),且目的设备中所有端口数偏移1000的端口数排列不同,这可通过目的命令中的一个数学表达式来定义(见示例3)。所有这些表达式附于符号“&”内(dest port &%d1+1000&)附于符号“&”内的数学表达式最好仅在目的命令中查找且仅包含%d或%x类型的参数。这些表达式块不能包含可选或递归的变量。如果表达式中至少一个变量类型为十六进制(%x1),其结果也将是十六进制的。
如果一目的命令块包含一个以字“$prompt”开头的句子,这表示提示用户键入必要的CLI命令(见示例11)。如果一目的命令块包含一个以字“$password”开头的句子,则表示提示用户键入一用户名/密码(见示例12)。忽略任何以字“$ignore”开头的目的命令。此适用于后面将举例说明的具有可选参数的命令。在源脚本中查找的任意注解最好将其本身复制到译文中。不能进行翻译的任意命令最好作为注解复制到目的脚本中,在注释上附加一行表示出错或翻译未完成的原因。
上述句法规则可用于任意CLI命令的本质描述并提供给一使用相同句法的相应目的命令的映射。但是,命令之间的映射可能不常为一对一的关系。设备X的单一CLI命令可翻译成设备Y的一系列相应CLI命令。为了调节这一可能性,一目的命令块包含一可定义块分隔符之用的目的命令序列。在字典中描述了一CLI源命令之后,例如,符号“begin;”和“end;”可用于指示包含目的CLI命令序列的目的命令块的开始和结束。这些块分隔符最好成行排列。
以下是基于这些句法规则的一虚构通道组命令的一字典条目的示例。
channel-group %d1 timeslots ^%s1^[speed%d2<56,64>]
begin;
define channel-group %d1
assign timeslots^%s1 to channel-group%d1[with speed%d2]
end;
可将需要将包含一递归变量的一命令翻译成一系列CLI命令,每一CLI命令占用参数的单一例。在下述情况下再次使用虚构CLI命令来说明目的。
源命令:
Create-users tom tomspasswd,bob bobspasswd,marie mariespasswd
所需的翻译:
Create user tom
Create user bob
Create user marie
将密码分配给用户tom
将密码分配给用户bob
将密码分配给用户marie
这一规则通过省略来自目的命令的递归符号(^)在字典中作如下描述:
Create-users ^%s1 %s2^
Begin;
Create user %s1
Assign password %s2 to user %s1
End;
通过省略目的命令中的符号“^”,翻译器将对附于“^”符号内的每一出现的块重复一次目的命令。
本章节包含对字典条目的示例举例说明以及解释翻译器对字典条目的处理。示例中所表示的所有CLI命令仅用于目的说明,而非以任何方式有意限定本发明。
示例1:参数匹配
Set interface %d1 speed %d2
Begin;
Interface %d1 has speed %d2
End;
上述块示出了如何将一源命令翻译成相应的目的命令。变量值%d1和%d2从源命令复制到目的命令。如果翻译行为set interface 2 speed 5,输出结果将为interface 2 has speed 5。
示例2:参数范围
Set interface %d1<1..5,10..15,17,19,21>speed %d2
Begin;
Interface %d1 has speed %d2
End;
上述示例与示例1相同,唯一不同的是变量%d1仅能表示指示范围内的指示值。如图所示,值可包括范围或用逗号分隔的单一值。在此情况下,如果要翻译的行为set interface 2 speed 5,则输出结果为interface 2 has speed 5。如果要翻译的命令为set interface 6 speed 5,则由于接口数6不在有效值的范围内而将导致翻译出错。
示例3:数学表达式
set interface %d1 speed %d2
begin;
Interface &%d1+1000& has speed %d2
End;
上述示例具有与前述示例相同的结果,唯一不同的是在目的命令中变量值%d1偏移1000。可使用包括加、减、乘、除的任意有效的数学表达式。
示例4:递归变量
set interface ^%d1^speed %d2
begin;
Interface ^%d1^has speed %d2
End;
上述示例使用递归块句法(^)来定义命令中多次查找的一个变量。例如,一有效命令可以是set interface 1 2 3 4 5 6 7 speed 5000。在此情况下,目的命令将会是interface 1 2 3 4 5 6 7 has speed 5000。
示例5:用逗号分隔的递归变量
set interface ^%d1^speed %d2
begin;
Interface ^%d1,^has speed %d2
End;
请注意,在目的命令中所表示的递归变量在句末包含一额外逗号。此指示翻译器在向目的命令复制变量值时必须用逗号分隔。在此情况下,命令setinterface 1 2 3 4 5 6 7 speed 5000将翻译成inter face 1,2,3,4,5,6,7 has speed5000。
示例6:扩展递归变量
set interface ^%d1^speed %d2
begin;
Interface %d1 has speed %d2
End;
上述示例中,在源命令而非目的命令中附于变量%d1一递归块。这表示目的命令对变量的每一例子重复一次,从而必须重复多次。例如,命令set interface1 2 3 4 5 6 7 speed 5000,其导致下列输出:
interface 1 has speed 5000
interface 2 has speed 5000
interface 3 has speed 5000
interface 4 has speed 5000
interface 5 has speed 5000
interface 6 has speed 5000
interface 7 has speed 5000
示例7:可选变量
Se tinterface ^%d1^speed %d2[encapsulation %s1]
Begin;
Interface %d1 has speed %d2[with encapsulation %s1]
End;
上述命令中,参数封装%s1表示为可选。在此情况下,翻译器将其扩大为含两种形式的命令,所以上述输入与下述输入相同:
Set interface ^%d1^speed %d2
Begin;
Interface %d1 has speed %d2
End;
Set interface ^%d1^speed %d2 encapsulation %s1
Begin;
Interface %d1 has speed %d2 with encapsulation %s1
End;
在此情况下,基于第一法则将命令set interface 1 speed 5000翻译成interface 1 Has speed 5000。命令set interface 1 speed 5000 encapsulationppp将基于第二法则翻译成interface 1 has speed 5000 with encapsulation ppp。
示例8:内嵌可选变量
Set interface ^%d1^speed %d2[encapsulation %s1[state %s3]]
Begin;
Interface %d1 has speed %d2[with encapsulation %s1[state %s3]]
End;
上述源命令具有内嵌可选变量。在此情况下,命令再次扩大到如下所述的所有可能形式中:
Set interface ^%d1^speed %d2 Begin; Interface %d1 has speed %d2 End; Set interface %d1^speed %d2 encapsulation %s1 Begin; Interface %d1 has speed %d2 with encapsulation %s1 End; Set interface ^%d1^speed %d2 encapsulation %s1 state %s3 Begin; Interface %d1 has speed %d2 with encapsulation %s1 state %s3 End;
示例9:内嵌可选变量扩大
Set interface ^%d1^speed %d2[encapsulation %s1[state %s3]]
Begin;
Interface %d1 has speed %d2[with encapsulation %s1 state %s3]
End;
上述示例与前述示例相同,唯一不同的是此处的变量start %s3在源命令而不是在目的命令中是可选的。在此情况下,可能的组合为:
Set interface ^%d1^speed %d2
Begin;
Interface %d1 has speed %d2
End;
Set interface ^%d1^speed %d2 encapsulation %s1 state %s3
Begin;
Interface %d1 has speed %d2 with encapsulation %s1 state %s3
End;
由于在源命令中查找的变量必须始终与目的命令中的变量相匹配,因此翻译器忽略其他任意组合。
示例10:映射
interface %m1 set encapsula tion %s1 Begin; Begmap; %m1 FastEthernet0 FastEthernet0/0/0 FastEthernet1 FastEthernet0/0/1 Serial 1 Serial0/0/0 Other %d1 myOther &%d1+100& Endmap; In terface %m1 encapsulate %s1 End;
这一命令使用映射的概念。需对源命令中不同于目的命令的部分命令作映射。这是通过使用映射类型(%m1)来实现的,并随之指定命令块中的映射。源命令中查找的每一映射参数最好是一位于命令描述中的映射描述块。一映射描述块具有以下句法:
begmap;
mapname(e.g.%m1 or%m2 etc)
source string destination string
endmap;
翻译器随之将命令扩大为和映射数量相同的译文,在此情况下:
Interface FastEthernet0 set encapsulation %s1 <!-- SIPO <DP n="11"> --> <dp n="d11"/> Begin; Interface FastEthernet0/0/0 encapsulate %s1 End; Interface FastEthernetl set encapsuiation %s1 Begin; Interface Fas tEthernet0/0/1 encapsulate %s1 End; Interface serial 1 set encapsulation %s1 Begin; Interface serial0/0/0 encapsulate %s1 End; Interface other %d1 set encapsulation %s1 Begin; Interface myOther &%d1+100& encapsulate %s1 End;
一旦命令扩大,则应用常规翻译规则。
示例11:用户输入提示
Command xyz
Begin;
$prompt !Please enter the commands to implement Command xyz
End;
上述示例中,当翻译器在CLI源文件中遇到给定命令时,将会以关键字“$prompt”开头的任意字符串提示用户,并给予键入一个或多个CLI命令的选择。
示例12:密码
Create user %s1 with password %s2
Begin;
$password
$ignore %s1 %s2
end;
用户名/密码命令是命令中的一个示例,由于存储在CLI配置文件中的密码一般是加密的,所以它不能被自动翻译。利用关键字“$password”来通知翻译器向用户提供键入一用户名/密码的途径。注意此处所使用的关键字“$ignore”,用于确保翻译器作为源命令一部分的参数%s1和%s2在目的命令中的任何地方均不使用。
现请参阅图2。本发明翻译器14的一个实施例包括三个主要部分:一用户界面模块30,一当前数据字典模块32以及一翻译器逻辑模块34。用户界面模块30包含与翻译器用户界面有关的编码,比如提示用户输入的功能以及提供涉及翻译程序反馈的功能。当前数据字典模块32创建包含于数据字典中信息的内部表示法,用户基于获自脚本的源设备以及所翻译的目的设备选择数据字典。翻译器逻辑模块34包括:处理源配置脚本以及存取存储在当前数据字典中信息的编码,以生成译本或目的配置脚本。
所提供的用户界面模块30较佳的为一单一模块,以使所有用户界面相关功能性可在中央位置查找,以允许翻译器被容易地移植到不同的平台。用户界面模块30的一个实施例包括一单一用户界面类别(TranslatorUI)。这一类别对在翻译过程中所要求的任何一种输入提供提示用户的所需方法。另外,此类别提供了翻译器逻辑模块32可调用的必要功能,以显示关于翻译过程状态的信息。
现请参阅图3。图中示出了一当前数据字典模块32的类别对话框。根据当前数据字典模块32的一个实施例,使用如下在细节上详述的类别表现其功能性。
如上所述,视每一CLI命令由一组关键字、变量、常用表达式以及其他元素组成。用一个类别来表示包含一CLI命令的每一元素,以使每一命令转变为当前数据字典内部表示中的命令标记(也就是标记化了的命令)。所有元素或命令标记的基础类别为命令标记类别(cmdToken)40,它包含一些确定标记类别和内容的虚函数。
用一标记容器类别(CmdContainer)50作为其他任何包含命令标记列表或其任意衍生类别的一基础类别。
用一命令关键字类别(CmdKeyword)42表示在一CLI命令中查找的任意关键字。它从CmdToken继承而来并提供相同的基础功能性。
用一命令映射类别(CmdMapped)44表示上述示例10中所描述的一映射类型。它从CmdToken继承而来且还包含一在字典中所述的描述映射的表。
用一命令变量类别(CmdArgument)46表示在CLI命令中查找变量。它从CmdToken继承而来且还包含参数范围信息。
用一命令常用表达式类别(CmdRegExp)48表示在数据字典中查找的常用(数学)表达式。它从CmdToken继承而来且还提供计算一常用表达式值的功能。
用一命令递归类别(CmdRecursive)50表示一CLI命令描述的一部分。它从CmdToken继承而来。由于一递归块可包含大量标记,这一类别也可从标记容器继承而来。除了继承功能性外,它还包括一可在递归块或递归块分隔符(逗号或空格)中查找的标记列表。
用一命令可选类别(CmdOptional)52表示CLI命令描述的一部分,将此命令描述附于方括号内以指出其为一可选参数。它从CmdToken继承而来。由于CLI命令描述中的一可选块可包含大量标记,这一类别也可从标记容器继承而来。除了继承功能性外,这一类别还包含一在可选命令块中查找的标记列表。
用一字典条目类别列表(DictionaryEntry)56表示一在当前数据字典中查找的单一CLI命令描述。值得注意的是,这一类别用户描述源CLI命令以及目的CLI命令。它包含可传递CLI命令描述的一个方法。字典条目类别将所提供的命令转变为如上所述的一系列标记,并将信息分等级地存储在一列表中。
用一目的命令类别(DstCommand)58表示一系列CLI命令。一单一源CLI命令可映射大量目的CLI命令。这一目的命令“组”包含于一单一目的命令例中。此对象包含一允许将一新的CLI命令描述加入组的方法。它还以要求校验所有现存参数来提供检测一给定源命令能否向包含组的目的命令作映射的功能。它还提供一将生成结果给予一现存CLI源命令的翻译方法。
用一源命令类别(SrcCommand)60表示一从源CLI脚本读取的CLI命令。它可占用一个CLI命令字符串并将其转变为一系列内部描述的标记。它还提供了核对必要变量以及核对其是否向一给定源脚本命令行作映射的一些方法。
用一字典条目容器类别(DictEntryContainer)62表示一数据字典中所描述的完成条目。它链接一包含源命令描述的字典条目例,并具有一包含目的命令描述的相应组的目的命令例。
用一字典类别(Dictionary)64表示所有包含于数据字典脚本文件中的信息的内部表示。它提供了增加条目、通过源命令字符串按字母顺序分类字典、从一文件描述符载入一数据字典以及定位一向特定源命令字符串作映射的一条目(利用二进制搜索)。当载入一数据字典时,包含映射变量或可选参数的所有条目自动扩大为大量条目。
上述所有类别用于表示包含于当前数据字典中的信息。如图4所示,形成数据字典内部表示68的数据结构。为当前数据字典创建一字典对象70。每一在当前数据字典中所描述的命令扩大为一个或多个字典条目容器对象72。每一字典条目容器对象72包括一指向用于表示源命令的字典条目对象74的指标,以及包括一含有字典条目对象78的列表以表示相应目的命令组的目的命令对象76的指示词。在实施例中,字典对象70为一可在任意给定时刻载入存储器的单一且唯一的数据字典。在使用上述对象对数据字典中所描述的所有命令在存储器中表示之后,字典按源命令字符串的字母顺序排列。它允许在完全搜索与一给定命令相匹配的字典条目时使用二进制搜索计数法。
翻译器逻辑模块34(图2)包含所需功能性以实现翻译逻辑。基于用户输入,将该模块载入合适数据字典文件并按需调用以建立内部数据结构。当选择一CLI脚本作翻译时,它将被按需调用以载入每一命令,完全搜索字典以查找匹配条目,以及基于源CLI命令和目的字典条目而生成适当输出。翻译器逻辑模块34的一个实施例包括一单一类别(翻译器),它所提供的功能如下所述。
在一示例中,使用一对象导向程式语言来创建一翻译器软件,比如C++语言。用以表示当前数据字典翻译器模块以及其他数据结构形式的其他软件执行也在本发明的范围之内。虽然可预计翻译器软件的其他运行方式,但在一示例中,它脱机(离线)运行于一主机上。
现请参阅图5。把一配置脚本翻译成一目的脚本的方法将在下面作更详细的描述。翻译的第一步是选择必需使用的字典,见步骤110。基于现存CLI命令所创建的程序类型以及将翻译的程序类型来选择特定字典。一旦用户选择了合适字典,翻译器类别读取文本文件并建立当前数据字典(图4)内部表示68,步骤112。当从数据字典文件中读取一字典条目时,源CLI命令首先转变为一标记序列输入一字典条目对象74中。源命令字符串中所遇的任何排列均封装在为表示给定变量所创建的一命令变量对象中。一旦描述源CLI命令的字典条目对象被创建,它将被插入一字典条目容器对象72中。
随后,处理翻译器类别以载入在字典条目的“begin;”和“end;”块分隔符之间查找的目的CLI命令。每一目的CLI命令与上述同样标记化,且使用标记来构建相应的字典条目对象78。每一目的CLI命令由一单一字典条目对象78表示。相应于目的CLI命令的字典条目对象78通过将其插入字典命令对象76而集合在一起。随之将此字典命令对象76插入在第一步骤中创建的字典条目容器对象72中,以在一字典条目中建立源CLI命令和目的CLI命令之间的链接。将此每一字典条目容器对象72插入全球字典对象70,以使字典文本文件中的所有条目被处理之后,增加数据字典内部表示数据结构。
如上所述,一旦将完整字典载入存储器,则处理源配置脚本,见步骤114。翻译器类别一行接一行读取翻译的CLI脚本文件,并翻译每一CLI命令查找。第一步骤为将源CLI命令转变为一系列使用源命令类别的标记。这一步骤一旦完成,访问数据字典内部表示以查找相应目的命令,步骤116。从一系列源命令标记中提取第一标记,并搜索字典数据结构以查找一相同标记开头的条目。由于字典数据结构以字母顺序排列,故应用一个二进制搜索计数法。一命令的个别形式具有以相同关键字开头的可能性。由于这一原因,当二进制搜索计数法终止时,执行一连续搜索来查找以所要求标记开头的第一和最末字典条目。
可潜在使用字典条目组中的这一搜索结果来翻译源CLI命令。对于这些潜在字典条目中的每一个,翻译器类别试图将标记化的源CLI命令与字典条目中的标记相匹配,见步骤118。如果标记匹配,保留字典条目参考,反之则忽略。如果在这一过程中未保留字典条目,翻译器类别调用合适的TranslatorUI方法来提示用户以要求手动翻译或将一注释插入输出脚本以指出无法翻译的命令(依靠应用程序选项),见步骤120。如果搜索过程精确产生一字典条目,见步骤122,则使用包含于此条目的目的命令对象76中的命令来生成适当输出,见步骤124。如果一个以上字典条目与CLI命令相匹配,则调用TranslatorUI类别以表示有效选项及提示用户选择用于翻译的字典条目,见步骤126。随之使用包含于所选条目的目的命令对象76中的命令来生成输出,见步骤124。对源CLI脚本中的每一命令重复这一过程直到翻译了所有命令为止,见步骤130。
综上所述,本发明CLI翻译系统10使用户能够将一个供特定类型设备使用的CLI配置脚本翻译成(尽可能)提供相同功能性但使用不同类型装置的CLI句法。由于它将原先冗长且费时的任务变为自动化操作,所以使升级网络构架的过程变得更为方便。翻译系统10允许用户获取一已有的CLI配置脚本,指定创建该脚本的程序,选择载入该脚本的程序,并且翻译器生成一特定目的设备的新脚本。
应认识到在本发明的范围内本领域的普通技术人员可作种种修改和替换,因此本发明的范围将不受下列的权利要求限制。
Claims (28)
1.一种配置文件翻译系统,它将一源设备的至少一个源配置脚本翻译成一目的设备的至少一个目的配置脚本,所述系统包括:
至少一个数据字典,该字典包含多个字典条目,所述每一字典条目包含至少一源命令以及至少一与所述原命令相应的目的命令;以及
一翻译器,该翻译器在所述源配置脚本中读取源命令,在所述数据字典中查找相应目的命令,并将所述源配置脚本中的所述源命令翻译成所述相应的目的命令以创建目的配置脚本。
2.如权利要求1所述的配置文件翻译系统,其特征在于,所述源命令包括至少一个源命令关键字以及至少一个参数,与源命令相应的所述目的命令包括至少一个目的命令关键字以及至少一个参数。
3.如权利要求1所述的配置文件翻译系统,其特征在于,至少一个所述字典条目包括多个与一个源命令相应的目的命令,所述目的命令排列在所述至少一个所述字典条目中的一目的命令块中。
4.如权利要求3所述的配置文件翻译系统,其特征在于,所述目的命令块包括块分隔符。
5.如权利要求1所述的配置文件翻译系统,其特征在于,所述翻译器包含:
一用户界面模块,该模块提示用户在一翻译过程中输入以及在所述翻译过程中向所述用户显示信息;
一当前数据字典模块,该模块用于创建一基于一源设备和一目的设备从所述至少一字典中选择一在当前数据字典中的信息的内部表示;以及
一翻译器逻辑模块,该模块处理相应于所述源设备的一源配置脚本,以及访问所述当前数据字典的所述内部表示以生成一所述目的设备的相应目的配置脚本。
6.如权利要求5所述的配置文件翻译系统,其特征在于,所述当前数据字典模块包含对所述当前数据字典中的以及在所述源配置脚本中的命令元素进行翻译的命令类别。
7.如权利要求5所述的配置文件翻译系统,其特征在于,所述当前数据字典模块包含一对所述当前数据字典中表示命令的字典条目类别以及一在所述配置脚本中进行翻译的源命令类别。
8.如权利要求1所述的配置文件翻译系统,其特征在于,所述源配置脚本以及所述目的配置脚本为命令行接口(CLI)脚本。
9.一种配置文件翻译系统,它包含:
表示源命令和相应目的命令的装置;以及
根据所述源命令和所述相应的目的命令将一源配置脚本翻译成一目的配置脚本的装置。
10.一种将一源设备中的至少一个源配置脚本翻译成一目的设备中的至少一个目的配置脚本的方法,所述方法包含:
提供一用户界面以提示用户输入及对所述用户显示信息;
基于所述源设备和所述目的设备选择一数据字典,所述数据字典对所述源设备描述源命令以及对所述目的设备描述相应的目的命令;
创建一选择所述数据字典的数据字典内部表示;
对所述源设备运行一包含源命令的源配置脚本;
在所述源配置脚本中访问相应于所述源命令的目的命令的数据字典内部表示;以及
在所述源配置脚本中生成一包含相应于所述源命令的所述目的命令的目的配置脚本。
11.如权利要求10所述的方法,其特征在于,创建的所述数据字典内部表示包含:读取所述数据字典以及创建包含于所述源命令、目的命令、含所述源命令元素及所述数据字典中的所述目的命令的对象。
12.如权利要求11所述的方法,其特征在于,所述源配置脚本的处理包含:在所述源配置脚本中读取所述源命令以及在所述源配置脚本中创建含所述源命令的对象。
13.如权利要求12所述的方法,其特征在于,所述数据字典内部表示的访问包含:搜索与所述源配置脚本中所含源命令的所述对象相匹配的所述数据字典内部表示中含所述源命令的对象。
14.如权利要求13所述的方法,其特征在于,在所述数据字典内部表示中使用所述目的命令所生成的目的脚本与同所述源配置脚本中的所述源命令相匹配的所述数据字典内部表示中的所述源命令相关。
15.如权利要求13所述的方法,其特征在于,该方法还包括当查找命令不匹配时会提示用户进行手动翻译。
16.如权利要求13所述的方法,其特征在于,该方法还包括当查找命令不匹配时会向所述目的配置脚本插入一注释。
17.如权利要求13所述的方法,其特征在于,该方法还包括提示用户选择多个匹配命令中的一个。
18.一种配置文件翻译器,它包含:
一用户界面模块,该模块提示用户在一翻译过程中输入以及在所述翻译过程中向所述用户显示信息;
一当前数据字典模块,该模块基于所述的一源设备以及目的设备在所述用户选择的一当前数据字典中创建一信息内部表示;以及
一翻译器逻辑模块,该模块用于处理相应于所述源设备的一源配脚本以及用于访问所述当前数据字典以对所述目的设备生成一相应的目的配置脚本。
19.如权利要求18所述的配置文件翻译器,其特征在于,所述当前数据字典模块在所述当前数据字典和所述源配置脚本中包含表示命令元素的命令类别。
20.如权利要求18所述的配置文件翻译器,其特征在于,所述当前数据字典模块在所述当前数据字典中包含一表示命令的字典条目类别以及一表示对所述配置脚本的源命令进行翻译的源命令类别。
21.如权利要求20所述的配置文件翻译器,其特征在于,所述当前数据字典模块包含一表示一字典条目中所有命令的字典条目容器类别。
22.如权利要求21所述的配置文件翻译器,其特征在于,所述当前数据字典模块包含一字典类别以表示一字典中的所有所述字典条目。
23.一种配置文件翻译器,它包含:
一与用户界面连接的方法,该方法提示用户在翻译过程中进行输入以及在所述翻译过程中向所述用户显示信息;
一基于一源设备及一目的设备向一由所述用户选择的当前数据字典内部表示数据的方法;
一基于来自所述当前数据字典的所述数据将一源配置脚本翻译成一目的配置脚本的方法。
24.一种对一源设备及目的设备创建一配置脚本翻译数据字典的方法,该方法包含:
识别用于培植所述源设备的源命令;
识别用于配置所述目的设备的相应目的命令;以及
创建包含所述源命令及所述相应目的命令每一文本描述的数据字典条目,其中,所述数据字典条目遵循预定句法规则。
25.如权利要求24所述的方法,其特征在于,所述每一源命令包括至少一个源命令关键字以及至少一个参数,相应于所述每一源命令的目的命令包括至少一个目的命令关键字以及至少一个参数。
26.如权利要求25所述的方法,其特征在于,至少一个所述字典条目包含多个相应于一源设备的目的命令,所述目的命令排列在所述至少一个所述字典条目中的一目的命令块中。
27.如权利要求26所述的方法,其特征在于,所述目的命令块包含块分隔符。
28.一种用于在翻译配置文件中提供一数据字典的一内部表示的数据结构,所述数据结构包含:
字典条目对象,该对象的源命令和目的命令包含在一数据字典中;
源命令对象,该对象的源命令包含在一源配置脚本中;
目的命令对象,该对象包含指向含有所述目的命令的所述字典条目的指标,其中,所述每一目的命令对象相应于含有一源命令的一字典条目对象;
字典条目容器对象,该对象包括含所述源命令的所述字典条目对象以及所述相应的目的命令对象;以及
一字典对象,该对象包含一字典条目容器对象分类列表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33210001P | 2001-11-21 | 2001-11-21 | |
US60/332,100 | 2001-11-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1615480A true CN1615480A (zh) | 2005-05-11 |
Family
ID=23296724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA028273109A Pending CN1615480A (zh) | 2001-11-21 | 2002-11-15 | 网络设备间配置文件的翻译 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7401086B2 (zh) |
EP (1) | EP1454270A4 (zh) |
CN (1) | CN1615480A (zh) |
AU (1) | AU2002366158A1 (zh) |
CA (1) | CA2467727A1 (zh) |
WO (1) | WO2003044699A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425497A (zh) * | 2013-08-15 | 2013-12-04 | 北京华胜天成科技股份有限公司 | 一种网络工程脚本跨厂家转换的方法和装置 |
CN109522153A (zh) * | 2018-10-15 | 2019-03-26 | 广东宝莱特医用科技股份有限公司 | 一种用于监护仪的配置文件自动修复方法及系统 |
CN112100987A (zh) * | 2020-09-27 | 2020-12-18 | 中国建设银行股份有限公司 | 一种多源数据字典的转码方法及装置 |
CN112311607A (zh) * | 2020-11-18 | 2021-02-02 | 迈普通信技术股份有限公司 | Cli配置验证方法、装置、控制器及可读存储介质 |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978301B2 (en) | 2000-12-06 | 2005-12-20 | Intelliden | System and method for configuring a network device |
US7054946B2 (en) * | 2000-12-06 | 2006-05-30 | Intelliden | Dynamic configuration of network devices to enable data transfers |
US8219662B2 (en) * | 2000-12-06 | 2012-07-10 | International Business Machines Corporation | Redirecting data generated by network devices |
US7249170B2 (en) * | 2000-12-06 | 2007-07-24 | Intelliden | System and method for configuration, management and monitoring of network resources |
US7150037B2 (en) * | 2001-03-21 | 2006-12-12 | Intelliden, Inc. | Network configuration manager |
US7054901B2 (en) * | 2001-05-31 | 2006-05-30 | Juniper Networks, Inc. | Network management interface with selective rendering of output |
US7200548B2 (en) * | 2001-08-29 | 2007-04-03 | Intelliden | System and method for modeling a network device's configuration |
US8296400B2 (en) | 2001-08-29 | 2012-10-23 | International Business Machines Corporation | System and method for generating a configuration schema |
US7111206B1 (en) | 2001-09-19 | 2006-09-19 | Juniper Networks, Inc. | Diagnosis of network fault conditions |
US20030079053A1 (en) * | 2001-10-23 | 2003-04-24 | Kevin Burns | System and method for evaluating effectiveness of network configuration management tools |
US7065562B2 (en) * | 2001-11-26 | 2006-06-20 | Intelliden, Inc. | System and method for generating a representation of a configuration schema |
US20030115308A1 (en) * | 2001-12-19 | 2003-06-19 | Michael Best | Network management system architecture |
CA2365436A1 (en) * | 2001-12-19 | 2003-06-19 | Alcatel Canada Inc. | Command language interface processor |
DE60216885T2 (de) * | 2001-12-19 | 2007-07-05 | Alcatel Canada Inc., Ottawa | Prozessor für die Befehlszeilenschnittstelle |
US6959329B2 (en) * | 2002-05-15 | 2005-10-25 | Intelliden | System and method for transforming configuration commands |
US20040003067A1 (en) * | 2002-06-27 | 2004-01-01 | Daniel Ferrin | System and method for enabling a user interface with GUI meta data |
US7461158B2 (en) * | 2002-08-07 | 2008-12-02 | Intelliden, Inc. | System and method for controlling access rights to network resources |
US7366893B2 (en) * | 2002-08-07 | 2008-04-29 | Intelliden, Inc. | Method and apparatus for protecting a network from attack |
US7558847B2 (en) * | 2002-09-13 | 2009-07-07 | Intelliden, Inc. | System and method for mapping between and controlling different device abstractions |
US20040078457A1 (en) * | 2002-10-21 | 2004-04-22 | Tindal Glen D. | System and method for managing network-device configurations |
KR100453824B1 (ko) * | 2002-12-11 | 2004-10-20 | 한국전자통신연구원 | 이기종 네트워크 장비의 구성 관리를 위한 엑스엠엘 기반망 관리 시스템 및 방법 |
US20040117437A1 (en) * | 2002-12-16 | 2004-06-17 | Exanet, Co. | Method for efficient storing of sparse files in a distributed cache |
CN100346606C (zh) * | 2003-09-24 | 2007-10-31 | 华为技术有限公司 | 一种设备配置信息解析方法 |
US7272753B2 (en) * | 2004-06-30 | 2007-09-18 | International Business Machines Corporation | Methods and apparatus for translating application tests for execution with simulation software tools |
JP2008511898A (ja) * | 2004-09-02 | 2008-04-17 | パケットフロント スウェーデン アーベー | ネットワーク管理システムのコンフィギュレーション |
US20060190579A1 (en) * | 2005-02-23 | 2006-08-24 | Alcatel | Assisted command script template creation |
US7822615B2 (en) * | 2005-06-27 | 2010-10-26 | Ab Initio Technology Llc | Translating expressions in a computing environment |
AU2013203830B2 (en) * | 2005-06-27 | 2014-05-01 | Ab Initio Technology Llc | Translating expressions in a computing environment |
US7823069B1 (en) * | 2006-03-23 | 2010-10-26 | Cisco Technology, Inc. | Method and application tool for dynamically navigating a user customizable representation of a network device configuration |
TW200837568A (en) * | 2006-12-20 | 2008-09-16 | Sandisk Il Ltd | Apparatus, method and computer readable medium for disambiguating commands with respect to logical protocols |
US8073558B2 (en) | 2007-10-05 | 2011-12-06 | Honeywell International Inc | Critical resource notification system and interface device |
US8837491B2 (en) | 2008-05-27 | 2014-09-16 | Glue Networks | Regional virtual VPN |
US20100088689A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Branding binary modules using resource patching |
US20100088690A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Replacing the identity of an activex control |
WO2010068698A2 (en) | 2008-12-09 | 2010-06-17 | Glue Networks, Inc. | System and method for providing virtual private networks |
DE102009006411A1 (de) * | 2009-01-28 | 2010-05-12 | Siemens Aktiengesellschaft | Generieren von Konfigurationsdateien |
US9354629B2 (en) * | 2009-02-19 | 2016-05-31 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure a process control system using an electronic description language script |
CN101882065B (zh) * | 2009-05-07 | 2013-10-16 | 张金滔 | 一种在计算机软件中实现由用户直接发指令的方法 |
US8676953B2 (en) | 2009-07-17 | 2014-03-18 | Honeywell International Inc. | Use of aggregated groups for managing demand response resources |
US9137050B2 (en) | 2009-07-17 | 2015-09-15 | Honeywell International Inc. | Demand response system incorporating a graphical processing unit |
US8671167B2 (en) * | 2009-07-17 | 2014-03-11 | Honeywell International Inc. | System for providing demand response services |
US9124535B2 (en) | 2009-07-17 | 2015-09-01 | Honeywell International Inc. | System for using attributes to deploy demand response resources |
US8572230B2 (en) | 2009-07-17 | 2013-10-29 | Honeywell International Inc. | System for using attributes to deploy demand response resources |
US8782190B2 (en) * | 2009-07-17 | 2014-07-15 | Honeywell International, Inc. | Demand response management system |
US9818073B2 (en) | 2009-07-17 | 2017-11-14 | Honeywell International Inc. | Demand response management system |
US8667132B2 (en) | 2009-07-17 | 2014-03-04 | Honeywell International Inc. | Arrangement for communication about and management of a resource using a mobile device |
US8671191B2 (en) | 2009-07-17 | 2014-03-11 | Honeywell International Inc. | Installation system for demand response resources |
DE102009046806A1 (de) * | 2009-11-18 | 2011-06-01 | Codewrights Gmbh | Verfahren zum Bereitstellen von gerätespezifischen Informationen eines Feldgeräts der Automatisierungstechnik |
US8717374B2 (en) | 2010-09-13 | 2014-05-06 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to display process control information |
US8856750B2 (en) * | 2010-09-28 | 2014-10-07 | International Business Machines Corporation | Task-based evaluation of user interfaces |
US9170807B2 (en) | 2011-01-04 | 2015-10-27 | International Business Machines Corporation | Determining logical configuration commands to create a logical object |
US8630744B2 (en) | 2011-01-28 | 2014-01-14 | Honeywell International Inc. | Management and monitoring of automated demand response in a multi-site enterprise |
US8626354B2 (en) | 2011-01-28 | 2014-01-07 | Honeywell International Inc. | Approach for normalizing automated demand response events in energy management control systems |
US9153001B2 (en) | 2011-01-28 | 2015-10-06 | Honeywell International Inc. | Approach for managing distribution of automated demand response events in a multi-site enterprise |
US9330082B2 (en) * | 2012-02-14 | 2016-05-03 | Facebook, Inc. | User experience with customized user dictionary |
US20140081704A1 (en) | 2012-09-15 | 2014-03-20 | Honeywell International Inc. | Decision support system based on energy markets |
US9389850B2 (en) | 2012-11-29 | 2016-07-12 | Honeywell International Inc. | System and approach to manage versioning of field devices in a multi-site enterprise |
US9760528B1 (en) | 2013-03-14 | 2017-09-12 | Glue Networks, Inc. | Methods and systems for creating a network |
US9928082B1 (en) | 2013-03-19 | 2018-03-27 | Gluware, Inc. | Methods and systems for remote device configuration |
WO2014209253A1 (en) * | 2013-06-24 | 2014-12-31 | Hewlett-Packard Development Company, L.P. | Generating a logical representation from a physical flow |
US11216293B2 (en) * | 2013-07-09 | 2022-01-04 | Allied Telesis Holdings Kabushiki Kaisha | Command line interface |
US10346931B2 (en) | 2013-07-11 | 2019-07-09 | Honeywell International Inc. | Arrangement for communicating demand response resource incentives |
US9989937B2 (en) | 2013-07-11 | 2018-06-05 | Honeywell International Inc. | Predicting responses of resources to demand response signals and having comfortable demand responses |
US9691076B2 (en) | 2013-07-11 | 2017-06-27 | Honeywell International Inc. | Demand response system having a participation predictor |
US9665078B2 (en) | 2014-03-25 | 2017-05-30 | Honeywell International Inc. | System for propagating messages for purposes of demand response |
US9317266B1 (en) * | 2014-11-12 | 2016-04-19 | Bank Of America Corporation | Leveraging legacy applications for use with modern applications |
US9785412B1 (en) | 2015-02-27 | 2017-10-10 | Glue Networks, Inc. | Methods and systems for object-oriented modeling of networks |
US10671038B2 (en) | 2016-07-15 | 2020-06-02 | Fisher-Rosemount Systems, Inc. | Architecture-independent process control |
US10541556B2 (en) | 2017-04-27 | 2020-01-21 | Honeywell International Inc. | System and approach to integrate and manage diverse demand response specifications for multi-site enterprises |
US10545737B2 (en) * | 2017-06-13 | 2020-01-28 | Microsoft Technology Licensing, Llc | Model binding for command line parsers |
US10764123B2 (en) * | 2017-07-27 | 2020-09-01 | Hewlett Packard Enterprise Development Lp | Network switch configuration |
US11349714B1 (en) | 2021-01-07 | 2022-05-31 | Kyndryl, Inc. | Cognitive command line interface for configuring devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778742B2 (ja) * | 1992-08-12 | 1995-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピユータ・プログラム言語変換装置及びその方法 |
US5819042A (en) * | 1996-02-20 | 1998-10-06 | Compaq Computer Corporation | Method and apparatus for guided configuration of unconfigured network and internetwork devices |
ES2207756T3 (es) * | 1996-11-14 | 2004-06-01 | Alcatel Usa Sourcing, L.P. | Maquina generica de estado de software y metodo de construir objetos dinamicos para un programa de aplicacion. |
US6199068B1 (en) * | 1997-09-11 | 2001-03-06 | Abb Power T&D Company Inc. | Mapping interface for a distributed server to translate between dissimilar file formats |
US5995975A (en) * | 1997-11-25 | 1999-11-30 | International Business Machines Corporation | Dictionary based process for object containment |
US6256635B1 (en) * | 1998-05-08 | 2001-07-03 | Apple Computer, Inc. | Method and apparatus for configuring a computer using scripting |
US6308205B1 (en) * | 1998-10-22 | 2001-10-23 | Canon Kabushiki Kaisha | Browser-based network management allowing administrators to use web browser on user's workstation to view and update configuration of network devices |
US6760719B1 (en) * | 1999-09-24 | 2004-07-06 | Unisys Corp. | Method and apparatus for high speed parallel accessing and execution of methods across multiple heterogeneous data sources |
US6760761B1 (en) * | 2000-03-27 | 2004-07-06 | Genuity Inc. | Systems and methods for standardizing network devices |
EP1150206A1 (en) * | 2000-04-28 | 2001-10-31 | ABB Research Ltd. | A method for converting information related to the hardware/software configuration of a distributed control system |
US20040002880A1 (en) * | 2000-09-21 | 2004-01-01 | Jones William B. | Method and system for states of beings configuration management |
US6826581B2 (en) * | 2000-12-06 | 2004-11-30 | Intel Corporation | Upgrading a device over a network by downloading results of command execution from script file |
US20020152219A1 (en) * | 2001-04-16 | 2002-10-17 | Singh Monmohan L. | Data interexchange protocol |
JP3985473B2 (ja) * | 2001-07-19 | 2007-10-03 | セイコーエプソン株式会社 | ネットワークデバイス管理方法、ネットワークデバイス管理システムおよびネットワークデバイスを管理するための処理プログラムならびに管理デバイス |
US6907572B2 (en) * | 2001-08-10 | 2005-06-14 | Occam Networks | Command line interface abstraction engine |
-
2002
- 2002-11-15 CN CNA028273109A patent/CN1615480A/zh active Pending
- 2002-11-15 AU AU2002366158A patent/AU2002366158A1/en not_active Abandoned
- 2002-11-15 WO PCT/US2002/036886 patent/WO2003044699A1/en not_active Application Discontinuation
- 2002-11-15 US US10/295,562 patent/US7401086B2/en not_active Expired - Lifetime
- 2002-11-15 CA CA002467727A patent/CA2467727A1/en not_active Abandoned
- 2002-11-15 EP EP02803645A patent/EP1454270A4/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425497A (zh) * | 2013-08-15 | 2013-12-04 | 北京华胜天成科技股份有限公司 | 一种网络工程脚本跨厂家转换的方法和装置 |
CN103425497B (zh) * | 2013-08-15 | 2017-03-01 | 北京华胜天成科技股份有限公司 | 一种网络工程脚本跨厂家转换的方法和装置 |
CN109522153A (zh) * | 2018-10-15 | 2019-03-26 | 广东宝莱特医用科技股份有限公司 | 一种用于监护仪的配置文件自动修复方法及系统 |
CN112100987A (zh) * | 2020-09-27 | 2020-12-18 | 中国建设银行股份有限公司 | 一种多源数据字典的转码方法及装置 |
CN112311607A (zh) * | 2020-11-18 | 2021-02-02 | 迈普通信技术股份有限公司 | Cli配置验证方法、装置、控制器及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1454270A1 (en) | 2004-09-08 |
WO2003044699A9 (en) | 2004-10-14 |
US20030135508A1 (en) | 2003-07-17 |
CA2467727A1 (en) | 2003-05-30 |
EP1454270A4 (en) | 2007-07-04 |
US7401086B2 (en) | 2008-07-15 |
AU2002366158A1 (en) | 2003-06-10 |
WO2003044699A1 (en) | 2003-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1615480A (zh) | 网络设备间配置文件的翻译 | |
CN1148686C (zh) | 使用描述性数据结构访问和保护数据内容的系统和方法 | |
CN1174332C (zh) | 转换表达方式的方法和装置 | |
CN1260665C (zh) | 用于管理可换存储媒体的设备和方法 | |
CN1029265C (zh) | 图形属性双向转换描述文件 | |
CN101030204A (zh) | 在用户终端设备上生成用户界面的入口服务器和方法 | |
CN1841366A (zh) | 用于通过执行翻译来支持交流的交流支持设备和方法 | |
CN1277230C (zh) | 用于小型脚印尺寸装置的智能书签 | |
CN1315017A (zh) | 包含内部引用的两种版本数据表格之间的差别提取 | |
CN1783019A (zh) | 用于创建web服务并与其交互的接口基础结构 | |
CN101055588A (zh) | 获取限制词信息的方法、优化输出的方法和输入法系统 | |
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
CN1606743A (zh) | 元数据的索引结构、提供元数据索引的方法和使用元数据索引的元数据搜索方法及设备 | |
CN101052948A (zh) | 对象过程图应用程序开发系统 | |
CN1711522A (zh) | 图形用户接口建模系统 | |
CN1379882A (zh) | 将二维数据转换为标准形式的方法 | |
CN1841328A (zh) | 脚本语言的自动机方法 | |
CN1313561A (zh) | 信息结构化及应用产生的方法及其装置 | |
CN1211364A (zh) | 一种管理互配单元及生产该单元的方法 | |
CN1913522A (zh) | 基于xml文件的rss信息交互处理方法 | |
CN1519753A (zh) | 程序、字符输入编辑方法、装置及记录媒体 | |
CN1415096A (zh) | 语言翻译系统 | |
CN100351831C (zh) | 一种用于提供实时标记分析的聊天服务的方法和系统 | |
CN101047555A (zh) | 一种设备质量检查方法 | |
CN1498500A (zh) | 用于数字项的ipmp方案描述的处理方法 |
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 |