CN1321384C - 名称登记系统和方法 - Google Patents
名称登记系统和方法 Download PDFInfo
- Publication number
- CN1321384C CN1321384C CNB021301115A CN02130111A CN1321384C CN 1321384 C CN1321384 C CN 1321384C CN B021301115 A CNB021301115 A CN B021301115A CN 02130111 A CN02130111 A CN 02130111A CN 1321384 C CN1321384 C CN 1321384C
- Authority
- CN
- China
- Prior art keywords
- nar
- naming
- title
- issue
- title registration
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 claims description 37
- 230000003068 static effect Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 26
- 230000000712 assembly Effects 0.000 claims description 7
- 238000000429 assembly Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 11
- 230000006870 function Effects 0.000 abstract description 8
- 238000009826 distribution Methods 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- UZHSEJADLWPNLE-GRGSLBFTSA-N naloxone Chemical compound O=C([C@@H]1O2)CC[C@@]3(O)[C@H]4CC5=CC=C(O)C2=C5[C@@]13CCN4CC=C UZHSEJADLWPNLE-GRGSLBFTSA-N 0.000 description 2
- 229940065778 narcan Drugs 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 229910001369 Brass Inorganic materials 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000010951 brass Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/46—Indexing scheme relating to G06F9/46
- G06F2209/462—Lookup
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及使用名称查找代表服务的对象的任意分布式计算应用软件领域。公开一种包含允许在分布式命名策略的指导下操纵、控制和分配名称/对象的单独软件组件的名称登记(NaR)系统和方法。本发明教导了处理在单独的软件进程内运行的名称登记的单独软件组件的产生。该独立软件进程具有由应用软件用于以最基本的形式向名称登记(NaR)系统发送与名称/对象相关的信息的远程接口。随后,NaR执行以访问系统的用户所需的恰当形式和类型发布提供的名称/对象所必需的所有其它功能。
Description
技术领域
本发明涉及广泛使用名称查找代表服务的对象的任意分布式计算应用软件的常规领域,但是可具体应用于网络和分布式元件管理系统(EMS)。这些相关软件技术可用于使当对网络协议方面的变化和/或新的/修改的网络元件(NE)的加入起反应时的EMS维护开销降至最小。虽然本发明可广泛应用于分布式名称和对象分布系统,不过特别适用于分布式电信网络管理系统领域。
背景技术
分布式计算应用软件的本质在于存在大量的组件,每个组件提供一种或多种在时间和/或空间上分布的专用服务。为了使应用软件整体进行工作,不同的组件必须能够访问彼此的服务。为此,组件必须了解如何通过某些方法查找可用的服务。在分布式面向对象的软件中,查找服务(由不同的对象接口代表)的方法是从某一中心位置开始根据名称查寻这些服务。这种名称查寻和当人们希望查找某一服务,例如水管工时进行的操作相类似。人们查阅电话簿(中心位置),按照一组规则(这种情况下,依据服务类别的公司名称的依字母顺序的列表)查寻名称,并且找出可获得服务的地点(电话号码)。
通过查找名称找到对象接口会变得非常复杂。名称所表示的意思,名称是如何构造的,它具有哪些部分和名称位于何处都是一组规则的一部分。该组规则可称为命名策略。分布式应用软件的所有组件必须遵守该命名策略,以保证任意组件正确工作。组件公布名称必须遵守命名策略,从而仍然使用该命名策略的其它组件稍后可依据名称找到对象。
为了确保所有组件遵守该策略,一种常见的方法是在每个应用组件的代码或者结构中嵌入命名策略。不幸的是,这种在多个复杂的应用软件中,在每个组件中嵌入命名策略的对策意味着命名策略方面的任何变化都需要修改每个组件。在多个组件之间及各种版本的复杂的分布式软件之间协调这种修改通常费用较大,并且易于出错。修改软件是一种形式的软件维护。这种情况下,由于需要修改每个组件,因此进行修改以支持命名策略变化的费用极大。
技术问题是降低改变分布式软件产品中命名策略的维护费用。
现有技术的解决方案可被分成三类:免除维护、设计最小化和自动维护。
通过使所有可能的命名策略静态并且固定,实现免除维护。不允许任何后续变化,从而不存在相关维护费用。
通过使初始的命名策略尽可能地简单,实现设计最小化。简单的命名策略的一个例子是常见的“白页”电话簿。按照字母顺序结构,在顶层列出每个名称。不允许任意层次结构。这被称为“平直”结构,并且它具有某些非常严格的限制,例如在整个电话簿中各个名称必须是唯一的。由于只能按照非常有限的方式修改简单命名策略,因此维护费用有限。在电话簿例子中,可增加新名称,删除旧名称,并且可改变名称的编号。在不破坏简单命名策略的情况下不能进行其它任何操作。
任意命名策略的自动变化是减少维护费用的另一途径。通过产生能够相对于命名策略变化,修改组件的代码和/或结构的自动工具,可减少维护工作量。但是这不能改变要支持任意命名策略变化,就必须修改所有组件的基本事实。
现有的解决方案要么缺乏灵活性,要么成本效率低。
免除维护和设计最小化方法都限制命名策略可以是什么或者能做什么。随着软件的使用和扩展,不能适应命名策略的新要求。免除维护意味着不允许任意变化。最小化意味着只能进行很少的变化。任意较大变化都会违反最小化设计。
自动维护方法通常成本效率低。必须在多个组件间的多次命名策略的变化上分期偿还产生并维护自动工具的费用。另外, 自动工具的产生和维护费用可能超过手动简单改变每个组件的费用。另外,通常利用关于命名策略可能变化的具体限制,产生自动化工具。重大的命名策略变化要求对自动化工具做出重大改变,在保留自动化的同时增大了费用。
最后,现有的解决方案都不能很容易地支持最常见的变化;新的软件客户期望现有分布式计算软件组件的新的、额外的命名策略。这种变化使现有的命名策略保持不变,但是增加了一组或多组新规则。免除维护和最小化方法根本不能应付这种变化。即使可行,为了支持这种功能,自动化方法也会显著增大费用。
发明内容
因此,本发明的目的是克服现有技术的缺陷,实现下述内容:
(1)降低和维护命名策略相关的软件维护开销。
(2)减少分布式计算应用软件中命名策略和组件之间的耦合。
(3)允许在不需要重启软件系统和/或中断应用系统的情况下更新命名策略。
(4)把命名发布和管理功能分成单独的软件组件,所述单独的软件组件封装可被其它组件访问的逻辑上紧密结合在一起的一组特征。
(5)把命名策略封装到单个软件组件中。对这些命名策略的后续改变只会影响该单一组件。
(6)允许独立于其它框架(framework)组件开发并测试与事件相关的功能性。该特征使得能够并行形成类属部件管理(GEM)框架和后续测试。
(7)在不必改变支持命名策略的组件的情况下向软件系统中增加新的命名策略。
这些目的不应被理解为对本发明的限制,一般而言,这些目的部分或者完全由下述各节中说明的公开发明实现。本领域的技术人员毫无疑问能够选择所公开的本发明的各个方面,实现上述目的的任意组合。
根据本发明的一个方面,提供一种名称登记(NaR)系统,包括:
(a)一个或多个发布供给装置;(b)一个或多个访问用户;(c)一个或多个通信信道装置;和(d)一个名称登记软件子系统装置;其中发布供给装置和访问用户通过通信信道装置通信;名称登记软件子系统装置按照命名策略在命名服务中发布来自发布供给装置的客户程序对象;访问用户按照命名策略在命名服务中查找对象索引;名称登记软件子系统知道所有命名策略;发布供给装置通过调用名称登记软件子系统,依据名称发布对象;访问用户可具有不同的相关命名策略。
系统概述(0100)
如图1(0100)中所示,本发明的系统包括可通过分布式网络(0103)相连的一个或多个分布式系统(0110、0120)。这些分布式系统通常包括具有对应计算机系统(0111、0121)的一个发布系统(0110)和一个访问系统(0120),所述对应计算机系统(0111、0121)根据包含在计算机软件中的指令进行操作,所述计算机软件包含在各种介质(0112、0113、0122、0123)上。
所公开的发明中的计算机软件采取分布式名称登记(NameRegistrar)(NaR)(0101)应用软件的形式,所述名称登记应用软件协调并实现命名策略(0102),从而允许发布系统(0110)发布的命名和对象通过某些通信装置(0103)移动到访问系统(0120)。本发明允许把名称登记(0101)的功能集中到单一软件组件中,从而和现有技术相比,能够获得更高的软件可靠性和可维护性。
如图1(0100)中所示,本发明的分布式特征并不和电信网络特别相关(虽然本发明在电信网络中具有广泛应用),并且可有利地应用于各种各样的分布式计算机应用软件。因为存在用于各种用途,包括(但不局限于)电信网络管理的分布式计算机应用软件,例证应用的范围是相当广泛的。如果需要,可范围缩小到仅仅是用于提供电信网络的网络管理的分布式计算机应用软件。但是,如图1(0100)中所示,最宽的应用可仅仅表示(和介质(0112、0113、0122、0123)一起)招待(host)分布式计算机软件(0101)的计算机(0111、0121),以及构成软件和它们之间的通信(0103)的组件。
例证的电信系统应用程序(0200)
作为图2(0200)中图解说明的例证实现语境,本发明可具有在存在可包含来自不同卖主的设备,也可不包含来自不同卖主的设备的一个或多个电信网络(0210、0220)的情形下的应用程序。在这些网络(0215、0216、0225、0226)内使用的网络设备部件(NE)可采取多种形式,包括(但是不限于)电话用接线器(switch gear)、多路复用器等。这些网络部件(0215、0216、0225、0226)通常由一个或多个计算机系统(0211、0221)控制,所述一个或多个计算机系统(0211、0221)由可保存在各种存储介质上的计算机软件(0212、0222)控制。该计算机软件通常采取控制并监控网络部件(0215、0216、0225、0226)的一个或多个网络部件管理器(0213、0214、0223、0224)的形式,所述网络部件(0215、0216、0225、0226)包括电信网络(0210、0220)的组成组件。在这些情况下,本发明可特别处理事件传送结构(ETA)及其相关的命名/对象分配/发布的实现,因为它和一个或多个电信网络(0210、0220)的环境内的各种网络部件(0215、0216、0225、0226)的整体控制和监控相关。
根据本发明的另一方面,提供一种名称登记方法,包括:(1)读取配置文件,并根据配置文件内容初始化名称登记;(2)建立客户程序对象的静态命名树;(3)接收客户程序对象的客户程序登记请求;(4)建立客户程序对象的动态命名树;和(5)可选地检查外部停止请求,如果不请求或者不执行停止,则转到步骤(3);其中命名树由名称登记(NaR)应用软件使用,从而允许发布供给装置发布客户程序对象,以及允许访问用户访问客户程序对象;发布供给装置和访问用户通过通信信道装置通信;名称登记软件子系统装置按照命名策略在命名服务中发布来自发布供给装置的客户程序对象;访问用户按照命名策略在命名服务中查找对象索引;名称登记软件子系统知道所有命名策略;发布供给装置通过调用名称登记软件子系统,获得依据名称发布的对象;访问用户可具有不同的相关命名策略。
方法概述(0300)
如图3(0300)中所示,本发明可应用于存在一个或多个需要在稍后被其它应用程序组件(0330)访问的命名服务(0320)中发布对象名称的分布式应用程序组件(0310)的情形。大多数分布式软件解决方案通过根据名称查找服务,找出各个服务(呈对象的形式)。必须按照所有参与者公知的方式发布各个对象的这些名称。有关名称位于何处、名称的含义及如何构造名称的发布规则都是命名策略(0340)的一部分。为了使分布式系统工作,所有组件(0310、0330)必须遵守命名策略。通常这是通过把命名策略嵌入构成分布式应用程序的各个组件中实现的。
本发明具体涉及提供如在名称登记(NaR)(图4中的(0420))中实现的命名策略和名称发布管理的集中式服务。NaR组件提供读取描述一个或多个命名策略的配置文件,建立命名服务(0320)中的静态命名结构,在命名服务中依据名称发布对象,并且提供外部接口,分布式组件使用所述外部接口按照相关命名策略依据名称发布它们的对象。
例证方法组件(0400)
本发明与现有技术的不同之处在于不是把命名策略嵌入分布式应用程序的每个组件中,而是运行独立应用程序的独立软件进程提供名称登记服务。
名称登记服务包含在称为名称登记(NaR)(0420)的应用程序中。NaR提供相对于任意数目的组件(0410),根据一种或多种命名策略(0450)依据名称正确地发布对象的能力。每个组件(0410)通过外部接口在运行期访问NaR。组件把一系列的对象索引和它们的基本名称提供给NaR。在命名服务(0430)中,NaR使用该信息及规定的命名策略确定何处及如何发布对象索引,从而其它组件(0440)可访问它们。
通过从组件中除去命名策略的知识,并将其放入中央服务中,显著降低命名策略变化的高维护费用。只需要修改中央服务,而不必改变所有的组件。
NaR既灵活,成本效率又高。仅仅通过修改NaR本身,即可改变命名策略,或者甚至增加另外的命名策略。实现这种灵活性的费用较少,因为只修改单个组件,即NaR本身。
例证的优点
本发明避免了现有解决方案的问题以及它们的相关费用。可计量的费用随着目标分布式计算应用软件的具体命名策略特征而变化。在要求极小的某些情况下,这些费用很小,本发明的成本效率并不高。当对于各种各样的客户程序需要多种复杂的命名策略时,本发明的成本效率将很高。
此外,作为单独的软件过程,可在不影响其它组件的情况下现场更新本发明。实际上,在不影响其它分布式组件的情况下,通过终止并以新的形式重新起动本发明,可支持或大或小的命名策略变化。
本发明的唯一缺陷在于要求开发单独的软件组件。支持多种不断变化的命名策略的具有通用性的新软件组件的开发费用不可忽略,但是所述开发费用相当小。NaR是只需要进行一件事件的高度内聚的组件。不需要对于其它分布式组件来说常见的其它复杂特征。从而,可以整个分布式计算机应用软件组件的很小一部分费用开发NaR。
附图说明
为了更充分地理解本发明的优点,应结合附图参考下述详细说明,其中:
图1图解说明本发明的通用系统;
图2图解说明如何把本发明应用于电信网络环境的例证层次结构;
图3图解说明本发明的通用方法和数据流程;
图4图解说明利用本发明的例证方法和数据流程的组件;
图5图解说明本发明的例证过程流程图;
图6图解说明例证的发明实施例如何读取其配置文件并且初始化其内容能力;
图7图解说明例证的发明实施例如何根据所需的命名策略建立命名树的静态部分;
图8图解说明例证的发明实施例如何被外部组件调用,从而发布它们的对象;
图9图解说明例证的发明实施例如何根据所需的命名策略和客户程序提供的数据,建立命名树的动态或者运行部分;
图10图解说明本发明的例证实施例可支持的命名策略(表示为例证的命名树);
图11图解说明本发明的例证实施例支持的命名树的静态部分;
图12图解说明对于单个客户程序登记请求,本发明的例证实施例支持的命名树的动态部分。
具体实施方式
虽然本发明可能有多种不同形式的实施例,附图中所示及这里将详细说明的本发明的优选实施例表示本公开文献应被看作对本发明原理的举例说明,而不是把本发明的范围局限于举例说明的实施例。
下面将参考优选实施例说明本申请的许多创新教导,其中这些创新教导被应用于名称登记系统和方法的特定问题。但是,应明白本实施例只是创新教导的众多有利应用的一个例子。一般说来,本申请说明书中作出的陈述并不必然限定所要求的各项发明中的任意一项发明。此外,某些陈述可应用于某些发明特征,但是不能应用于其它发明特征。
定义
在本文献的讨论中,采用下述定义:
系统方框/程序步骤
可利用例证的系统方框图和程序流程图适当地说明本发明。虽然这些内容足以向本领域的普通技术人员说明本发明的教导,但是它们不应被严格地理解为限定本发明的范围。本领域的技术人员将意识到在不损失通用性的情况下可组合和重新排列系统方框图,可以增加或减去程序步骤,并且可对程序步骤重新排列,获得相同的效果而不丧失通用性。从而应明白在所附的例证系统方框图和程序流程图中说明的本发明只是出于讲授目的,根据预期的应用目的,本领域的技术人员可改写本发明。
个人计算机
在这里的说明中,将利用个人计算机(PC)技术来举例说明本发明的教导。术语“个人计算机”应理解为可用于实现本发明的教导的任意计算装置,本发明的范围并不仅仅局限于个人计算机应用。
因特网/内联网
在这里的说明中,术语因特网和内联网用于表示任意网络通信系统或环境。通常术语内联网将表示相对于指定系统或用户的本地通信,因特网描述更远距离的本地通信。本领域的技术人员将认识到在现代通信网络的环境中,这些术语是任意的,决不是对本发明范围的限制。
本发明明确预计在某些实现中,GUI开发框架(和/或其运行期组件)将通过因特网与用于驱动GUI的数据通信。从而,驱动用户接口的应用程序将驻留在一个计算机系统上,并且用于呈现和控制的数据可包含在另一计算机系统上的某处,并且或借助任意数目的连网协议访问这些数据。
应用程序编程接口(API)
虽然本发明部分利用诸如软件开发工具包之类标准应用程序编程接口(API)实现,但是并不要求利用这些工具实现本发明。另外注意本发明的结构可合并到标准工具包中,所述标准工具包可以集成到API框架中,也可不集成到API框架中,供标准软件开发框架之用。
操作系统
另外,虽然本发明被实现成优先使用各种Microsoft_操作系统(包括各种WindowsTM变型),不应被解释把本发明的范围局限于这些特殊的软件组件。特别地,可在其中一些可包含图形用户界面的各种系统中实现这里教导的系统和方法。这些系统的一些例子包括HP-UXTM、LINUXTM、SOLARIS和UNIXTM(及其变型)等等。
数据结构
在一些优选实施例中,可以用各种数据结构体现本发明。但是,这里说明的这种数据结构的形式只是示范性的。本领域的技术人员会很快认识到各种各样其它数据结构可同样用在本申请中。于是,这些包含的任何数据结构都不应被理解为对本发明范围的限制。
通信介质
本发明可体现为通过各种通信介质实现命名策略和/或名称登记信息的传送。但是用于传输这里描述的传送的信号格式只是示范性的。本领域的技术人员会很快认识到各种其它通信介质可同样用在本申请中。于是,这里包含的任何通信介质不应被理解为对本发明范围的限制。
CORBA
在某些优选实施例中可利用面向CORBA对象的框架实现本发明。但是,这里描述的实现方式只是示范性的。本领域的技术人员会很快认识到各种其它分布式面向对象的框架可同样用在本申请中。于是,这里包含的任何框架不应被理解为对本发明范围的限制。
通过查阅CORBA标准服务文件(ftp://ftp.omg.org/pub/docs/formal/98-12-01.pdf的“The Common Obiect Request Broker:Architecture and Specification”及1998 Object Management Group(OMG)CORBAserviees:Common Object Services Specification,Revised Edition,OMG TC Document98-12-09,Object ManagementGroup(ftp://ftp.omg.org/pub/docs/fbrmal/98-12-09.pdf))可获得在本发明的各个例证实施例的环境中使用的命名服务的详细技术说明。这些命名服务只是可和本发明的教导一起使用的多种命名服务的例子。
例证应用程序概述
与发明关系的概述
在分布式计算应用软件中,例证的应用程序用于电信网络的网络管理功能。在该应用程序中,存在需要在命名服务中使对象被公开的几个组件,但是主要的组件是元件管理层(EML)服务器。存在需要根据名称查找对象的两种主要访问元件,每种元件存在多个实例。一种组件使用由ECOM规范定义的命名策略。另一种组件使用由1353GEM规范定义的命名策略。本例中的所有组件把CORBA标准命名服务用作保存和访问名称的中央位置。
独立应用程序
体现为名称登记(NaR)的本发明被实现为独立的应用程序。该应用程序通常在由构成分布式网络管理应用软件的其它组件所使用的同一传送平台(PC等)上运行。例证的NaR使用CORBA接口提供对其服务的访问。它使用CORBA命名服务的实现来依据名称保存对象参考。NaR作为网络管理软件基础结构的一部分被启动,并且不确定地运行。它可由外部命令终止。
操作行为(0500)
当起动时,NaR读取描述必需的命名策略的配置文件(0510)。随后,NaR获得命名服务的参考,保存所有命名接口的地方。NaR根据在配置文件中规定的所需策略,产生命名服务中所需的静态条目(0520)。
当其它客户组件起动并产生代表它们的服务的接口对象时,它们联系NaR(0530)。NaR的这些客户组件或者在初始的登记呼叫中或者通过应答NaR询问,向NaR提供必需的信息。
NaR使用该信息(及其配置的命名策略)把客户对象放入命名服务中(0540)。NaR使用命名策略信息来确定把客户对象放入何处及其实际名称。
例证应用程序行为
本节利用包括流程图的各种图表说明例证的应用程序是如何实现其功能的。
命名策略例子(1000)
图10(1000)图解说明一个命名树,所述命名树是两个命名策略所需的命名树的一个例子。命名树是对象索引为命名树的“树叶”的命名节点的层次模型。本领域的技术人员将认识到这是一种典型的树状计算机数据结构。本领域的技术人员还会认识到在CORBA命名服务中如何利用其标准接口构造该树。
在该命名树中,各个主节点(1001)代表命名服务中的命名语境。命名语境代表命名树的主要分支。借助特定的名称,每个对象索引节点(1002)被绑定到命名语境上。到单个对象索引节点的路径是其包含的命名语境由节点之间的名称绑定(1003)代表的一组名称。在图10中,对象索引节点(1024)的名称路径是“ECOM/EML/EML_1/ElementManager”。知晓该命名策略的访问组件通过利用该名称路径可找到对象索引(object references)。
在图10中,存在两种命名策略,一个适用于ECOM规范,另一种适用于1353GEM规范。注意这两种策略可毫无冲突地共存于相同的命名服务中。
ECOM命名策略(1020)
ECOM的命名规则(1020)是:
a.存在两种静态命名语境,一种静态命名语境具有由根语境包含的“ECOM”的命名绑定(naming binding),另一种静态命名语境具有由ECOM包含的“EML”的名称绑定。
b.对于进行登记的每个EML服务器来说,产生名称和EML服务器本身的名称相同的新命名语境。
c.利用EML服务器的名称把EML服务器将其作为自身服务之一的ElementManager对象索引绑定到命名语境上。使用的命名绑定是“Element Manager”。
GEM命名策略(1030)
1353GEM的命名规则(1030)是:
a.存在具有由根语境包含的名称绑定“1353GEM”的单一静态命名语境。
b.对于进行登记的每个EML服务器来说,产生代表EML服务器管理的网络部件的类型的命名语境。该语境的名称绑定是其后跟随被管理网络部件类型的名称(对于(1031)来说,为“1640”)的文本“EML_”。
c.对于进行登记的每个EML服务器来说,ElementManager对象索引被绑定到恰当的NE类型语境上。该对象索引的名称绑定其后跟随该EML服务器的数字标识符的文本“ElementManager_”。
功能概述(0500)
图5(0500)图解说明整个应用程序的逻辑流程。该例证应用程序由计算机专用装置启动;本领域的技术人员熟悉实现此目的的多种方式。该例证应用程序随后读取其配置文件,并且初始化其内部模块(0510)。NaR确立在命名策略中规定的命名树的任何静态部分(0520)。此时,NaR准备从其客户程序接收登记请求(0530)。当客户程序登记时,NaR确定以客户程序提供的信息和所需的命名策略为基础的命名树的动态部分(0540)。随后NaR可处理另外的客户程序登记。借助可选的外部停止操作,NaR退出。在后续各个附图中更详细地说明图5中的各个节点。
读取配置文件和初始化(0600)
图6(0600)描述读取配置文件并且初始化例证的应用程序以供使用的逻辑流程。例证的应用程序读取并解析描述必须支持的命名策略的外部扩充标高语言(XML)或者其它支持文件(0610)。本领域的技术人员将认识到使用结构化数据的XML描述的效用以及如何将其用于描述命名策略规则。建立XML文件中数据的域对象模型(DOM)表示(0620)。DOM描述对于每种命名策略所必需的静态和动态命名语境节点的要求。为了便于开发,利用应用程序专用对象包装该DOM对象(0630)。本领域的技术人员将认识到这种修改的效用及其实现手段。随后,例证的应用程序查找外部命名服务中的根命名语境(0640)。使用该根语境,例证应用程序将发布它自己的内部接口对象,从而客户程序能够找到NaR,从而向NaR进行登记(0650)。
建立静态命名树(0700)
例证的应用程序使用来自(0610)的配置数据来确定为了支持所需的命名策略,必须产生哪些静态命名语境节点。为了产生这些静态语境,例证应用程序找出表示为(1010)的根命名语境(0710)。NaR首先检查是否已存在一个命名树(0720)。如果NaR已起动,随后被终止并重新起动,则可能已存在命名树。如果存在命名树,则NaR验证该命名树是否包含必需的静态命名语境(0730)。如果证实该命名树(0740),则NaR终止建立静态命名树的活动。如果没有证实该命名树,则NaR按照常规的方式建立静态语境。
NaR首先利用标准命名服务接口,产生各个单独的静态命名语境(0750)。随后NaR利用在命名策略中规定的名称,按照所需的名称路径顺序绑定这些语境。图11(1100)图解说明了来自图10的命名树例子的静态命名语境。在该命名树中,NaR找出根语境(1110),随后产生(例如)ECOM、1353GEM和EML语境(1120、1130、1140)。NaR把(1120)和(1140)绑定到根语境上,随后把EML语境(1130)绑定到ECOM(1140)上。按照这种方式,构成命名树的初始静态部分,并且这些初始静态部分适用于稍后要插入的动态部分。
接收客户程序登记(0800)
图8(0800)描述NaR如何处理客户程序登记。客户程序通过调用NaR的外部接口上的操作向NaR登记(0810)。响应该调用,NaR查寻将用于进行登记的客户程序的命名策略(0820)。NaR利用从步骤(0630)获得的信息进行这种查寻。根据该命名策略,NaR可询问客户程序。这样NaR可找出为了在命名树中产生动态命名语境,它所需的所有数据(0830)。另一方面,客户程序可在初始调用中提供该信息。为了进行下一步骤,NaR需要具有目标对象的对象索引值和只能从客户程序获得的命名数据。
建立动态命名树(0900)
图9(0900)描述NaR如何相对于所有所需的命名策略,在命名树中产生动态命名语境。通过利用来自步骤(0830)的信息,NaR确定需要哪些动态单元:专用命名语境、它们的命名和位置(0910)。NaR产生各个动态单元的命名语境(0920)。随后NaR利用命名策略规则和登记的客户程序数据,产生这些语境的恰当名称,并且把命名服务中的语境和这些名称绑定在一起(0930)。最后,NaR构造客户程序提供的对象索引的所需名称,并且借助这些名称把对象索引绑定到来自步骤(0930)的命名语境上(0940)。
图12(1200)图解说明该过程如何利用来自图10(1000)的例证命名树进行工作。根据静态命名树方法(图7(0700))产生了该树的静态部分,并且表示在图11(1100)中。本例中,管理1640-字节(type)网络部件,并且其数字ID为“7”的EML服务器向NaR登记。
如同在步骤(0910)中指出的一样,NaR查找关于该客户程序必须支持的两种命名策略。NaR根据(0920)在该树中产生命名语境(1240、1270)。NaR随后必须根据客户程序提供的数据和命名策略计算这些语境的名称。
客户程序在其登记呼叫中告知NaR它管理1640-字节NE,并且其数字ID为“7”。利用该数据,NaR构造(1240)的名称“EML_7”和(1270)的名称“EML_1640”。利用这些名称,NaR把这些语境绑定到命名树的静态部分上(0930)。
为了把对象索引绑定到命名树(0940)上,NaR需要这些索引并且必须计算这些索引的名称绑定。正在登记的客户程序也提供ElementManager对象的对象索引。NaR根据它已具有的数据和命名策略规则构造名称“ElementManager”和“ElementManager_7”。最后,NaR利用这些名称在(1250)和(1280)把对象索引绑定到命名树上。
本发明的优选系统环境
通用分布式软件环境(0100)
如前所述,本发明可广泛应用于分布式计算机系统网络中,在所述分布式计算机系统网络中,一个或多个发布系统(0110)与一个或多个访问系统(0120)通信,从而在集中式名称登记(0101)服务的控制下,传送名称/对象和/或操纵和控制命名策略(0102)。在本领域的技术人员认识到各种计算机网络(0103)适用于该环境的同时,也存在发布系统(0110)和访问系统(0120)驻留在相同的计算机系统上的情况。
例证的电信环境
虽然本发明最好应用于通过利用基于图形用户界面(GUI)的操作控制台本地或者远程管理和维护电信网络的情况,不过本发明也可应用于按照统一的方式管理计算机网络中的任意类型的硬件和/或软件组件,同时使软件设计复杂性和维护费用降至最小的情况。
本发明的功能单元广泛适用于涉及源于各种硬件和软件生产商的多种远程设备的情况。由于本发明打破了网络部件管理和用于执行管理功能的工具之间的编译-时间连接,从而允许广泛应用于通过增加硬件和软件,网络必定动态增长,但是在这种升级过程中网络必须保持可工作状态的情形。
结论
公开了一种包含允许在分布式命名策略的指导下操纵、控制和分配名称/对象的单独软件组件的名称登记(NaR)系统和方法。本发明教导了处理在单独的软件进程内运行的名称登记的单独软件组件的产生。该独立软件进程具有由应用软件用于以最基本的形式向名称登记(NaR)发送与名称/对象相关的信息的远程接口。随后,NaR执行以访问系统的用户所需的恰当形式和类型发布提供的名称/对象所必需的所有其它功能。
虽然在附图中举例说明及在前面的说明中具体描述了本发明的一个优选实施例,但是要明白本发明并不局限于公开的实施例,相反在不脱离由下述权利要求限定的本发明的精神的情况下,可做出各种调整、修改和替换。
Claims (21)
1.一种名称登记(NaR)系统,包括:
(a)一个或多个发布供给装置;
(b)一个或多个访问用户;
(c)一个或多个通信信道装置;和
(d)一个名称登记软件子系统装置;
其中
所述发布供给装置和所述访问用户通过所述通信信道装置通信;
所述名称登记软件子系统装置按照命名策略在命名服务中发布来自所述发布供给装置的客户程序对象;
所述访问用户按照所述命名策略在所述命名服务中查找对象索引;
所述名称登记软件子系统知道所有所述命名策略;
所述发布供给装置通过调用所述名称登记软件子系统,依据名称发布对象;
所述访问用户可具有不同的相关命名策略。
2.按照权利要求1所述的名称登记(NaR)系统,还包括:
(a)读取配置文件和初始化装置;
(b)建立静态命名树装置;
(c)接收客户程序登记请求装置;
(d)建立动态命名树装置;和
(e)可选的停止装置;
其特征在于,所述客户程序对象由所述装置(a)-(e)顺序发布和访问。
3.按照权利要求1所述的名称登记(NaR)系统,其特征在于,所述发布供给装置和访问用户驻留在计算机网络内的独立节点上。
4.按照权利要求1所述的名称登记(NaR)系统,其特征在于,在应用编程接口(API)内实现所述系统的一个或多个组件。
5.按照权利要求1所述的名称登记(NaR)系统,其特征在于,通过因特网进行所述通信。
6.按照权利要求1所述的名称登记(NaR)系统,其特征在于,在个人计算机(PC)上实现所述系统的一个或多个组件。
7.按照权利要求6所述的名称登记(NaR)系统,其特征在于,所述个人计算机使用Hp-UXTM操作运行环境。
8.按照权利要求6所述的名称登记(NaR)系统,其特征在于,所述个人计算机使用LINUXTM操作运行环境。
9.按照权利要求6所述的名称登记(NaR)系统,其特征在于,所述个人计算机使用SOLARISTM操作运行环境。
10.按照权利要求6所述的名称登记(NaR)系统,其特征在于,所述个人计算机使用UNIXTM操作运行环境。
11.按照权利要求6所述的名称登记(NaR)系统,其特征在于,所述个人计算机使用Microsof_WindowsTM操作运行环境。
12.一种名称登记方法,包括:
(1)读取配置文件,并根据所述配置文件内容初始化名称登记;
(2)建立客户程序对象的静态命名树;
(3)接收所述客户程序对象的客户程序登记请求;
(4)建立所述客户程序对象的动态命名树;和
(5)可选地检查外部停止请求,如果不请求或者不执行停止,则转到步骤(3);
其中
所述命名树由名称登记(NaR)应用软件使用,从而允许发布供给装置发布所述客户程序对象,以及允许访问用户访问所述客户程序对象;
所述发布供给装置和所述访问用户通过通信信道装置通信;
所述名称登记软件子系统装置按照命名策略在命名服务中发布来自所述发布供给装置的客户程序对象;
所述访问用户按照所述命名策略在所述命名服务中查找对象索引;
所述名称登记软件子系统知道所有所述命名策略;
所述发布供给装置通过调用所述名称登记软件子系统,获得依据名称发布的对象;
所述访问用户可具有不同的相关命名策略。
13.按照权利要求12所述的名称登记(NaR)方法,其特征在于,所述发布供给装置和访问用户驻留在计算机网络内的独立节点上。
14.按照权利要求12所述的名称登记(NaR)方法,其特征在于,在应用编程接口(API)内实现所述方法的一个或多个步骤。
15.按照权利要求12所述的名称登记(NaR)方法,其特征在于,通过因特网进行所述通信。
16.按照权利要求12所述的名称登记(NaR)方法,其特征在于,在个人计算机(PC)上实现所述方法的一个或多个步骤。
17.按照权利要求16所述的名称登记(NaR)方法,其特征在于,所述个人计算机使用HP-UXTM操作运行环境。
18.按照权利要求16所述的名称登记(NaR)方法,其特征在于,所述个人计算机使用LINUXTM操作运行环境。
19.按照权利要求16所述的名称登记(NaR)方法,其特征在于,所述个人计算机使用SOLARISTM操作运行环境。
20.按照权利要求16所述的名称登记(NaR)方法,其特征在于,所述个人计算机使用UNIXTM操作运行环境。
21.按照权利要求16所述的名称登记(NaR)方法,其特征在于,所述个人计算机使用Microsof_WindowsTM操作运行环境。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/952,856 US8108499B2 (en) | 2001-09-12 | 2001-09-12 | Name registrar system and method |
US09/952,856 | 2001-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1419204A CN1419204A (zh) | 2003-05-21 |
CN1321384C true CN1321384C (zh) | 2007-06-13 |
Family
ID=25493294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021301115A Expired - Fee Related CN1321384C (zh) | 2001-09-12 | 2002-08-21 | 名称登记系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8108499B2 (zh) |
EP (1) | EP1293899A3 (zh) |
CN (1) | CN1321384C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212736A1 (en) * | 2002-05-10 | 2003-11-13 | Sreekrishna Kotnur | System and method for activating and pausing a component |
US20050091405A1 (en) * | 2003-09-30 | 2005-04-28 | Jerry J. Liu | Method and system for using multiple data type representations to deliver data objects to components in a distributed system |
US7428582B2 (en) * | 2005-12-29 | 2008-09-23 | American Express Travel Related Services Company, Inc | Semantic interface for publishing a web service to and discovering a web service from a web service registry |
US8943483B2 (en) | 2010-11-11 | 2015-01-27 | International Business Machines Corporation | Application programming interface naming using collaborative services |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047332A (en) * | 1997-06-30 | 2000-04-04 | Sun Microsystems, Inc. | Global file system-based system and method for rendering devices on a cluster globally visible |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2171568A1 (en) | 1995-03-24 | 1996-09-25 | Peter B. Kessler | Method and system for type identification for multiple object interfaces in a distributed object environment |
US5842219A (en) | 1996-03-14 | 1998-11-24 | International Business Machines Corporation | Method and system for providing a multiple property searching capability within an object-oriented distributed computing network |
GB9725742D0 (en) | 1997-12-04 | 1998-02-04 | Hewlett Packard Co | Object gateway |
US6154738A (en) * | 1998-03-27 | 2000-11-28 | Call; Charles Gainor | Methods and apparatus for disseminating product information via the internet using universal product codes |
US6453356B1 (en) * | 1998-04-15 | 2002-09-17 | Adc Telecommunications, Inc. | Data exchange system and method |
US20020059241A1 (en) * | 1998-06-29 | 2002-05-16 | John M. Van Ryzin | Internet site link method and apparatus |
US6457170B1 (en) * | 1999-08-13 | 2002-09-24 | Intrinsity, Inc. | Software system build method and apparatus that supports multiple users in a software development environment |
US7103647B2 (en) * | 1999-08-23 | 2006-09-05 | Terraspring, Inc. | Symbolic definition of a computer system |
KR20010106654A (ko) * | 2000-05-22 | 2001-12-07 | 윤종용 | 운영체제와 사용자 환경을 포함하는 기록 가능한 광디스크및 이에 적합한 장치 |
WO2001097486A2 (en) * | 2000-06-09 | 2001-12-20 | Brown Charles P | Method and system for protecting domain names |
US6895431B1 (en) * | 2000-09-29 | 2005-05-17 | Interland, Inc. | Providing user access to dynamic updating of remote configuration information |
US7440953B2 (en) * | 2001-01-25 | 2008-10-21 | Content Directions, Inc. | Apparatus, method and system for directory quality assurance |
US7185364B2 (en) * | 2001-03-21 | 2007-02-27 | Oracle International Corporation | Access system interface |
KR100470493B1 (ko) * | 2001-06-01 | 2005-02-07 | 니트젠테크놀러지스 주식회사 | 특수 도메인네임 분해 서비스 방법 |
US7996207B2 (en) * | 2001-06-26 | 2011-08-09 | International Business Machines Corporation | Bidirectional domain names |
US7359987B2 (en) * | 2001-07-05 | 2008-04-15 | Enom, Inc. | Method and system for providing static addresses for Internet connected devices even if the underlying address is dynamic |
US7185079B1 (en) * | 2001-08-08 | 2007-02-27 | Cisco Technology, Inc. | Automated management of network addresses in a broadband managed access environment |
-
2001
- 2001-09-12 US US09/952,856 patent/US8108499B2/en not_active Expired - Fee Related
-
2002
- 2002-07-23 EP EP02016453A patent/EP1293899A3/en not_active Ceased
- 2002-08-21 CN CNB021301115A patent/CN1321384C/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047332A (en) * | 1997-06-30 | 2000-04-04 | Sun Microsystems, Inc. | Global file system-based system and method for rendering devices on a cluster globally visible |
Also Published As
Publication number | Publication date |
---|---|
EP1293899A3 (en) | 2006-01-11 |
US20030051067A1 (en) | 2003-03-13 |
US8108499B2 (en) | 2012-01-31 |
EP1293899A2 (en) | 2003-03-19 |
CN1419204A (zh) | 2003-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1755683B (zh) | 上下文动作的发布 | |
US7353180B1 (en) | Supply chain/workflow services in a contract manufacturing framework | |
US8984535B2 (en) | System and method for facilitating the exchange of information among applications | |
EP0744689B1 (en) | Extensible communication type manager for a computer system | |
US7032011B2 (en) | Server based extraction, transfer, storage and processing of remote settings, files and data | |
US7426543B2 (en) | Accessing data stored in multiple locations | |
CN101374146B (zh) | 对物理计算机系统的虚拟表示的按需访问 | |
US6694368B1 (en) | Communication apparatus and method between distributed objects | |
CA1341310C (en) | Interactive computer network and method of operation | |
US9323519B2 (en) | Packaging an application | |
JP3090435U (ja) | 企業間プロセスを作成し、実行し、保守するためのシステム | |
US7346893B2 (en) | Exchange infrastructure system and method | |
US20020065795A1 (en) | Database communication system and method for communicating with a database | |
KR970704280A (ko) | 통신망의 망소자 | |
WO2002069173A1 (en) | System and method to transfer an application to a destination server module in a predetermined storage format | |
US5842219A (en) | Method and system for providing a multiple property searching capability within an object-oriented distributed computing network | |
JP2004507818A (ja) | オンラインサービスを作成するためのシステムおよび方法 | |
US20050038869A1 (en) | Business portal API | |
US20040215825A1 (en) | Accessing data in a computer network | |
CN101110700B (zh) | 资源管理平台中的资源管理器 | |
CN1321384C (zh) | 名称登记系统和方法 | |
EP1506478B1 (en) | Exchange infrastructure system and method | |
US7032225B2 (en) | Object-oriented framework for document routing service in a content management system | |
US20080163264A1 (en) | Directory Service that Provides Information from a Plurality of Disparate Data Sources | |
US20060047781A1 (en) | Method and system for providing remote portal service modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070613 Termination date: 20190821 |