Sip网络中的拓扑发现方法和系统的制作方法

文档序号:7610763阅读:298来源:国知局
专利名称:Sip网络中的拓扑发现方法和系统的制作方法
技术领域
本发明一般地涉及一种用于管理通信网络的方法和系统。具体地,本发明涉及一种在SIP网络中的拓扑发现的方法和系统。
背景技术
VoIP(IP语音(Voice over Internet Protocol))是一组用于采用分组网络中的因特网协议来提供语音服务的技术。与传统的基于电路交换的语音传送技术相比,VoIP具有一系列优点,包括使用和维护的低成本、升级和扩展的灵活性以及易于集成和会聚。因此,VoIP成为通信领域中的一个新生技术,对电话网络和服务带来一场革命。会话初始化协议(SIP)是VoIP中的应用层信令协议,用于创建、修改和终止通信会话。SIP具有简单、灵活以及可扩充性等特点,使得它在通信领域越来越流行。
SIP网络是由大量相互协作为用户提供一定功能的SIP使能的实体相连在一起构成的。近年来,在企业和通信运营领域已经部署了许多SIP网络来提供VoIP服务。随着SIP VoIP网络规模的扩大,对于网络管理员提出了管理方面的挑战。为了有效地管理SIP网络,管理员需要知道SIP网络的一个重要方面——拓扑。SIP网络拓扑指的是所连接的SIP实体之间的连接关系和路由信息的应用层布局。拓扑信息对网络管理和网络规划有着重要的意义。利用拓扑信息,网络管理员可以更加高效地管理网络,提高网络性能。例如,SIP设备发生故障时的告警信息可以直观地在拓扑图上显示出来,网络管理员可以很快找到故障设备的所在位置,并预见到该故障引起的网络性能下降将导致的问题,然后结合拓扑信息进行调整和设置,避免这样的情况出现。
如何获得网络的拓扑信息是网络管理中的重要问题。拓扑发现是一种获得和报告网络拓扑信息的技术。最直接的拓扑发现方法是要求网络管理员手工输入设备的位置信息和它们之间的连接链路,然后将网络拓扑图直接画出来。这种方法虽然简单,但当设备数量很多时将变得非常乏味和低效,并且难以控制质量,因此需要利用自动拓扑发现技术来完成这项任务。以往的一些与自动拓扑发现相关的技术成果包括美国专利US6,205,122公开了一种通过将来自与网络相连的计算机的信息相关联来自动检测物理网络拓扑的系统和方法,这种信息是通过多个终端的操作收集的,这些终端在整个网络中分布并由与网络相连的计算机来操作。终端交换信息以便至少部分地确定网络的物理拓扑。
美国专利US6,697,338公开了一种确定一个多子集通信网络中的单元的物理连接的方法,为网络单元的每个接口产生地址集合,其中一给定地址集合的成员对应于从为其产生所给定地址集合的对应的接口可以到达的网络单元。确定一给定网络单元的接口与其他网络单元的一个或多个接口之间的一组备选连接。如果确定了不止一个备选连接,则从该集合中去除与所给定网络单元在同一子集中的网络单元的连接。
美国专利6,681,248公开了一种用于透明高带宽网络中的端口连接发现的方法。在这个方法中,网络管理员生成网络中的端口的列表,并使用这个列表来跟踪连接关系。对于每个端口,管理员首先检查是否有一个当前连接,如果有,则记录该连接。对于未连接的端口,管理员使其发出一个识别发送端口的跟踪消息,当从一个端口接收到一个跟踪检测消息时,网络管理员用刚刚报告的连接更新端口列表,并禁止被检测到的跟踪消息。
但是,这些方法针对的是物理层和网络层的拓扑连接关系,而不能解决SIP网络中的拓扑发现问题。SIP协议是一个应用层信令协议,与上述方法中所涉及的网络层和物理层协议相比,SIP网络拓扑在协议消息的格式、实体鉴别方法上都不同,并且,SIP网络中的实体间存在逻辑连接关系,这与物理层和网络层的连接关系是不同的,SIP消息在SIP网络实体间的传递路径与物理层和网络层不在一个层次上,原有的物理层和网络层路由不能表示。因此,原有的一些拓扑发现方法不能应用到SIP网络中,希望提供一种新的能够用于SIP网络的拓扑发现方法和系统。

发明内容
因此,本发明的目的是提供一种用于SIP网络中的拓扑发现的方法的系统。
依据本发明的一个方面,在本发明中提供了一种用于SIP网络中的拓扑发现的方法,其中所述SIP网络中包括多个SIP实体,所述方法包括如下步骤确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和至少一个用户终端;为每个SIP域生成一个拓扑终端,并通过每个SIP域的所述管理代理注册所述拓扑终端;由所述拓扑终端产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及,根据所述路由选择信息确定所述SIP网络的拓扑。
依据本发明的另一个方面,在本发明中提供了一种用于发现SIP网络的拓扑的系统,其中所述SIP网络中包括多个SIP实体,所述系统包括SIP域确定装置,用于确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和一个或多个用户终端;拓扑终端控制装置,用于为每个SIP域分配一个拓扑终端并将其注册到每个特定的SIP-域;对应于每个SIP域并通过每个SIP域的所述管理代理注册的拓扑终端,用于产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及拓扑确定装置,用于根据所述路由选择信息确定所述SIP网络的拓扑。
在本发明中还提供了一种计算机可读介质,其中包含计算机可执行的程序代码,所述程序代码用于实现本发明SIP网络拓扑发现方法本发明具有如下优点-自动识别SIP网络中的SIP实体;-自动发现SIP实体之间的互连关系;-自动发现SIP-域彼此之间是如何连接的。


为了更全面地理解本发明,下面将参照附图详细描述本发明,在附图中图1是显示一个SIP网络的例子的示意图;图2a是显示本发明的SIP网络拓扑发现体系结构的示意图;图2b是显示本发明的SIP网络拓扑发现系统的更详细的方框图;图3是显示本发明的SIP网络拓扑发现方法的流程图;图4是显示本发明的SIP实体识别阶段的流程图;图5是显示本发明的SIP-域划分阶段的流程图;图6是显示本发明的拓扑终端产生阶段的流程图;图7是显示本发明的拓扑探索消息产生阶段的流程图;图8是显示本发明的拓扑探索消息累积阶段的流程图;图9是显示本发明的拓扑确定阶段的流程图;以及图10是显示本发明的SIP网络拓扑的例子的示意图。
具体实施例方式
在详细描述本发明的优选实施例之前,将首先对本说明书中所采用的术语作出如下说明-SIP网络和SIP-域SIP网络是一组互连的通过通信链路彼此通信的SIP使能(SIP-enabled)的实体。在SIP网络中有两种类型的SIP实体,代理(proxy)和用户终端(useragent)(UA)。代理是一个用于代表其他客户机发出请求的目的的、既用作服务器又用作客户机的中间实体。代理的功能是进行路由选择和注册。路由选择是将一个请求从源实体传送到目标实体。注册是接受用户终端注册请求,并将请求中规定的位置信息放在一个位置数据库中以供用户联系。用户终端是一个端点实体,通过交换SIP请求和响应来启动和终止通信对话。一些用户终端例子是IP电话、计算机中的软电话和电话网关等。一个SIP网络可以被分成由相应的SIP代理管理的多个区域。我们将这种类型的区域称为“SIP-域”。每个SIP-域包括一个管理代理和一组用户终端。在一个SIP-域中的每个用户终端都通过该SIP-域中的代理进行注册。
图1显示了SIP网络的一个例子。在这个SIP网络中有两个SIP-域,SIP-域101和SIP-域111。SIP-域101包括一个代理102和一个通过代理102注册的用户终端103。SIP-域111包括一个代理112和一个通过代理112注册的用户终端113。通信链路120-122连接这些SIP实体。
-SIP网络拓扑SIP网络拓扑是所连接的SIP实体之间的互连和路由选择信息的应用层布局。它包括两个部分一个是所有SIP实体之间的互连。另一个是SIP-域如何彼此连接。例如,图1中的SIP网络拓扑包括代理102和用户终端103之间的链路121,代理112和用户终端113之间的链路122,代理102和代理112之间的链路120,以及,SIP-域101和111由代理102和代理112通过链路120连接。
-拓扑终端拓扑终端是一个与一个特定SIP-域相联系的用户终端。它由管理系统生成,并通过该特定SIP-域中的管理代理注册。拓扑终端的主要工作是产生和收集拓扑探索消息。这些消息用于为管理系统收集路由选择信息,以便推导出网络拓扑。
-拓扑探索消息拓扑探索消息是OPTIONS方法的一个标准SIP请求。OPTIONS方法允许一个用户终端在不打扰另一方的情况下查询另一个用户终端或代理的能力,例如其支持的媒体编码格式等。
表1是由一个拓扑终端发出的拓扑探索消息的一个例子。

表1拓扑探索消息1在该拓扑探索消息中包含着发出该消息的起始终端的信息(FROM标题字段)以及该消息将要到达的目的终端的信息(TO标题字段)。
表2是由一个拓扑终端接收到的拓扑探索消息的一个例子。

表2拓扑探索消息2当一个拓扑终端接收到拓扑探索消息时,它可以检索出路由选择信息,包括来自FROM标题字段的起始终端(OA)、来自TO标题字段的目的终端(DA)、以及来自VIA标题字段的路径信息(P)。拓扑探测消息中的路径信息是由消息经过的每一个SIP节点自动加入的,然后由收到的拓扑终端提取出来。
表3显示了从表2的例子中检索出的路由选择信息。

表3路由选择信息下面,首先结合附图2a和2b详细描述本发明的SIP网络拓扑发现系统的体系结构。
图2a是显示本发明的SIP网络拓扑发现系统的体系结构的示意图。在整个SIP网络中,显示了四个SIP-域211、221、231和241,在每个SIP-域中包含着一个代理和多个用户终端,每个用户终端通过所在的SIP-域中的代理来进行注册。管理系统201由三个部分组成,拓扑探索器202、拓扑终端204-207以及数据库203。拓扑终端204-207分别对应于各个SIP-域211、221、231和241,并通过该SIP-域中的代理进行注册。
在图2b中显示了本发明的SIP网络拓扑发现系统的更详细的方框图。为了简化起见,在图2b中仅仅示意性地显示了一个拓扑终端204。应该理解,在本发明的管理系统中的拓扑终端的数量是与SIP网络中的SIP-域的个数相对应的,其他的拓扑终端具有与拓扑终端204相同的结构及功能。
在图2b中,拓扑探索器202进一步包括SIP-域确定装置2020、拓扑终端控制装置2026和拓扑确定装置2028。SIP域确定装置2020用于确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和一个或多个用户终端。拓扑终端控制装置2026用于为每个SIP域分配一个拓扑终端并将其注册到每个特定的SIP-域。拓扑确定装置2028用于根据每个拓扑终端收集的路由选择信息确定所述SIP网络的拓扑。
SIP域确定装置2020进一步包括SIP实体识别装置2022和SIP域划分装置2024。SIP实体识别装置2022对SIP网络中的每个SIP实体进行识别,判断该SIP实体是否是一个代理或是一个用户终端。SIP域划分装置2024将识别出的代理和用户终端划分到各个SIP域中,从而形成SIP网络中的多个SIP域。
拓扑终端204进一步包括拓扑探索消息产生装置2040和拓扑探索消息采集装置2042。拓扑探索消息产生装置2040产生给所有其他终端的拓扑探索消息,以探索所有路径。拓扑探索消息采集装置2042采集来自所有其他终端的拓扑探索消息,根据所采集的拓扑探索消息检索出路由选择信息,提供给拓扑探索器202中的拓扑确定装置2028。
数据库203用于存储拓扑发现的相关记录。
本领域技术人员可以理解的是,虽然上面将拓扑探索器描述为包含SIP实体识别装置、SIP域确定装置、拓扑终端配置装置、拓扑确定装置等装置,将拓扑终端描述为包括拓扑探索消息产生装置和拓扑探索消息采集装置,但上述装置并不仅限于用硬件的方式来实现,事实上,本发明中所提到的各个装置都既可以用软件来实现,也可以用硬件来实现。
-总体流程图3显示了本发明的用于SIP网络中的拓扑发现的方法的总体流程,该方法包括五个阶段SIP实体识别302,SIP-域划分304,拓扑终端产生306,拓扑探索308,以及拓扑确定314。拓扑探索阶段308包括两个部分,拓扑探索消息产生310和拓扑探索消息累积312。在SIP实体识别阶段302,对SIP网络中的所有SIP使能的实体进行识别和记录。在SIP-域划分阶段304,将SIP网络分成一组SIP-域,并将所有的SIP实体指定给相应的SIP-域。在拓扑终端产生阶段306,为每个SIP-域生成一个拓扑终端,并通过该SIP-域的管理代理注册该拓扑终端。在拓扑探索阶段308,每个拓扑终端产生拓扑探索消息并采集来自所有其他拓扑终端的拓扑探索消息,以收集路由选择信息。在拓扑确定阶段314,根据由拓扑终端收集的路由选择信息汇编SIP网络拓扑。
下面我们将参考图4-9的流程图以图2a所示的例示性SIP网络200为例详细描述这五个阶段。
-SIP实体识别在这个阶段,SIP网络中的所有SIP使能的实体都被识别和记录。拓扑探索器(例如,图2a中的202)执行识别和记录的操作。
图4是显示本发明的SIP实体识别阶段的流程图。
参看图4,在步骤401初始化了三个列表。第一个列表(LIST_1)包括要处理的网络节点的标识。这些标识可以是已经由其他网络管理系统发现的节点的标识或一些手工输入的节点标识。第二个列表(LIST_2)包括已经发现的SIP代理的标识。第三个列表(LIST_3)包括已经发现的用户终端的标识。最初LIST_2和LIST_3是空的。
在步骤402,从LIST_1中选择一个节点标识作为要处理的当前实体。例如,从LIST_1选择SIP实体212或213。
在步骤406,识别当前实体是否是一个SIP代理。为了实现这一点,拓扑探索器可以向当前实体发送一个标准的SIP注册(REGISTER)请求,以执行一个注册尝试。如果注册尝试成功地完成,则当前实体被识别为SIP代理。否则,它不是SIP代理。如果当前实体是SIP代理,拓扑探索器进行到步骤408以便将当前实体添加到LIST_2中,并从LIST_1中移去当前实体。在本实施例中,SIP实体212被识别为是一个SIP代理并添加到LIST_2中。
如果在步骤406判断出当前实体不是一个SIP代理,则进行到步骤410。在步骤410,识别当前实体是否是一个用户终端。为了实现这一点,拓扑探索器可以向当前实体发送一个标准的SIP选项(OPTION)请求,以执行一个SIP探测。如果SIP探测成功完成,则当前实体被识别为是一个用户终端。否则,它不是用户终端。如果当前实体是用户终端,则进行到步骤412以便将当前实体添加到LIST_3中,并从LIST_1中移去当前实体。如果当前实体不是用户终端,则进行到步骤414以便将当前实体从LIST_1中移去。在本实施例中,SIP实体213被识别为是一个用户终端并添加到LIST_3中。
在步骤416,确定LIST_1是否是空的。如果LIST_1不是空的,为LIST_1中的每个标识重复步骤402-416,以识别所有SIP实体。否则,在步骤418将代理列表LIST_2和用户终端列表LIST_3存储在数据库中。然后,完成SIP实体识别阶段。
-SIP-域划分在这个阶段,SIP网络被分成一组SIP-域,所有的SIP实体被指定到相应的SIP-域。拓扑探索器(例如,图2a中的202)执行这些操作。图5是显示本发明的SIP-域划分阶段的流程图。
参考图5,在步骤501,从数据库检索出在上一个阶段发现的SIP代理列表LIST_1和用户终端列表LIST_2。
在步骤502,初始化一组空的SIP-域(SET_1),以存储所处理的SIP-域。
在步骤504,将一个空的SIP-域初始化为当前的SIP-域。在例示的SIP网络中,假定SIP-域211被初始化为当前的SIP-域。
在步骤506,从LIST_1获得一个SIP代理作为当前代理。在本实施例中,代理212是当前代理。
在步骤508,将当前代理作为管理代理添加到当前的SIP-域中,并从LIST_1移去当前代理。在当前例子中,代理212被添加到SIP-域211,并从LIST_1移去。
在步骤510,检索出LIST_2中所有的通过当前代理注册的用户终端,以组成LIST_3。当前代理的注册信息可以由标准SNMP协议从代理的管理信息库(MIB)或由程序基于命令行接口(CLI)检索出来。在本实施例中,检索出用户终端213和214是通过当前代理212注册的用户终端,从而组成LIST_3。
在步骤512,将LIST_3中的用户终端添加到当前的SIP-域,并从LIST_2移去LIST_3中的所有用户终端。然后,在步骤514将当前的SIP-域添加到SET_1中。在本实施例中,将包括212、213和214的SIP-域211添加到SET_1中。
在步骤516,确定LIST_1是否是空的。如果LIST_1不是空的,重复步骤504-516,直到LIST_1是空的,以便确定所有的SIP-域。在LIST_1是空的之后,在步骤518将SIP-域集合SET_1存储到数据库中。然后,完成SIP-域划分阶段。
事实上,上述的SIP实体识别以及SIP-域划分阶段并不是唯一的确定SIP-域的方式,我们也可以通过其他方式来确定SIP-域,例如通过获得已有的关于SIP-域的划分的信息来直接得到在每个SIP域中的SIP实体。
-拓扑终端产生在这个阶段,为每个SIP-域生成一个拓扑终端,并通过该SIP-域中的管理代理进行注册。拓扑探索器(例如,图2a中的例子202)执行这些操作。图6是显示本发明的拓扑终端产生阶段的流程图。
参考图6,在步骤601从数据库检索出在上一阶段确定的SIP-域的集合(SET_1)。
在步骤602,初始化一个空的拓扑终端列表LIST_1,以存储在下面的步骤中生成的拓扑终端。
在步骤604,从SET_1选择一个SIP-域作为当前的SIP-域。在本实施例中,SIP-域211是当前的SIP-域。
在步骤606,从当前的SIP-域中获得SIP代理作为当前的代理。在本实施例中,代理212是当前的代理。
在步骤608,生成一个拓扑终端作为当前的拓扑终端。在本实施例中,生成拓扑终端204。
然后,在步骤610,通过当前代理来注册当前的拓扑终端,其中,当前的拓扑终端通过向当前代理发送一个标准SIP注册(REGISTER)请求来进行注册。在本实施例中,拓扑终端204通过代理212注册。
在步骤612,将当前的拓扑终端添加到LIST_1。在本实施例中,拓扑终端204被添加到LIST_1中。
在步骤614,从SET_1中移去当前的SIP-域。在本实施例中,从SET_1中移去SIP-域211。
在步骤616,确定SET_1是否是空的。如果SET_1不是空的,重复步骤604-616,直到SET_1是空的,以便为所有的SIP-域生成和注册拓扑终端。否则,在步骤618将拓扑终端列表LIST_1存储到数据库中。然后,完成拓扑终端注册阶段。
-拓扑探索在这个阶段,每个拓扑终端产生到所有其他拓扑终端的拓扑探索消息,并从所有其他拓扑终端采集拓扑探索消息以收集路由选择信息。拓扑探索阶段包括两个部分,拓扑探索消息产生和拓扑探索消息累积。这两个部分由每个拓扑终端执行来完成这个阶段。
-拓扑探索消息产生在这个部分,拓扑终端产生到所有其他拓扑终端的拓扑探索消息,以便探索SIP网络中的路径。图7是显示在这个部分中的步骤的流程图。
参考图7,在步骤701,一个拓扑终端从数据库获得拓扑终端列表作为LIST_1,以便产生到所有其他拓扑终端的拓扑探索消息。例如,执行拓扑探索消息产生的拓扑终端204获得拓扑终端列表204-207作为LIST_1。
在步骤702,从LIST_1选择一个拓扑终端作为当前的拓扑终端。
在步骤704,确定当前的拓扑终端是否等于执行拓扑探索消息产生的拓扑终端本身。如果是,执行拓扑探索消息产生的拓扑终端进行到步骤708以避免自循环。
否则,在步骤706,执行拓扑探索消息产生的拓扑终端构造一个拓扑探索消息,并将其发送给当前的拓扑终端。在这个例子中,如果当前的拓扑终端是204,则拓扑终端204进行到步骤708。如果当前的拓扑终端是205,则拓扑终端204构造一个拓扑探索消息并将其发送给拓扑终端205。
在步骤708,从LIST_1中移去当前的拓扑终端。
在步骤710,确定LIST_1是否是空的。如果LIST_1不是空的,重复步骤702-710,直到LIST_1是空的,以产生拓扑探索消息并向所有其他终端发送。否则,完成这个拓扑终端的拓扑探索消息产生部分。
对每个拓扑终端重复上述步骤,直到所有的拓扑终端都产生了拓扑探索消息并向所有其他终端发送了拓扑探索消息。
-拓扑探索消息累积在这个部分,拓扑终端从所有其他拓扑终端采集拓扑探索消息,以便收集SIP网络的路由选择信息。图8是显示在这个部分中的步骤的流程图。
参考图8,在步骤801,一个拓扑终端从数据库获得拓扑终端列表作为LIST_1,并将其本身从LIST_1中移去。例如,拓扑终端204获得拓扑终端列表204-207作为LIST_1,并将204从LIST_1中移去。
然后,在步骤802,拓扑终端等待来自其他拓扑终端的拓扑探索消息到来。
在步骤804,确定拓扑探索消息是否到达。如果没有拓扑探索消息到达,拓扑终端返回步骤802等待。否则,拓扑终端将进行到步骤804来处理接收到的拓扑探索消息。例如,拓扑终端204从拓扑终端207接收到一个拓扑探索消息。
在步骤806,拓扑终端从接收的拓扑探索消息中检索出FROM_URI作为起始终端(OA),检索出TO_URI作为目的终端(DA)。在本实施例中,拓扑终端204获得拓扑终端207的SIP URI作为OA,获得拓扑终端204的SIP URI作为DA。
在步骤808,确定OA是否在LIST_1中。如果OA不在LIST_1中,这意味着检索出的拓扑探索消息是一个重复的拓扑探索消息,拓扑代理返回步骤802去等待另一个消息。否则,拓扑终端进行到步骤810以便从接收到的拓扑探索消息检索出路径信息(P)。在本实施例中,OA 207在LIST_1中。从拓扑探索消息检索出的路径信息P是“242;222;212”。
在步骤812,由OA、DA和P组成的路由选择信息被存储到数据库中。在本实施例中,路由选择信息R是(207,204,“242;222;212”),被存储到数据库中。
在步骤814,从LIST_1移去OA。在本实施例中,从LIST_1移去拓扑终端207。在步骤816,确定LIST_1是否是空的。如果LIST_1不是空的,重复步骤802-816,直到LIST_1是空的,以便从所有其他拓扑终端采集拓扑探索消息。否则,完成这个拓扑终端的拓扑探索消息累积部分(步骤718)。
对每个拓扑终端重复上述步骤,直到所有的拓扑终端都从其他拓扑终端中采集了拓扑探索消息。
-拓扑确定在这个阶段,根据由拓扑终端收集的路由选择信息来汇编SIP网络拓扑。拓扑探索器(例如,图2a中的202)执行该确定。图9是显示在这个阶段中的步骤的流程图。
参考图9,在步骤901,从数据库中检索出由拓扑终端收集的所有路由选择信息。在步骤902,拓扑探索器根据上述路由选择信息演绎出SIP网络的拓扑。如何根据所述路由选择信息演绎出网络的拓扑是本技术领域的已有技术,因此在这里不进行详细说明。在步骤904,将拓扑信息存储到数据库中。在步骤906,输出SIP网络的拓扑,并完成拓扑确定(步骤808)。在本实施例中,将发现的拓扑显示在图10中。从图10可以看出,经过拓扑确定阶段之后所产生的拓扑能够表现出SIP网络中的各个SIP-域中的SIP实体、SIP实体之间的互连关系以及SIP-域彼此之间是如何连接的。
这里已经公开了用于SIP网络中的拓扑发现的方法和系统。为实现本发明而写的软件将存储在某种形式的计算机可读介质中,例如存储器、CD-ROM或通过网络传输,并由处理器执行。作为选择,可以用硬件实现本发明的部分或全部。
虽然这里用优选实施例描述了本发明,显然这些实施例仅仅是为了说明本发明,并不能限制本发明的保护范围。本领域的技术人员将很容易理解对所示的实施方案可以有多种变化,而且这些变化应该在本发明的精神和范围之内。因此,本领域的技术人员可以在不背离所附权利要求书的情况下进行很多更改。
权利要求
1.一种用于SIP网络中的拓扑发现的方法,其中所述SIP网络中包括多个SIP实体,所述方法包括如下步骤确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和至少一个用户终端;为每个SIP域生成一个拓扑终端,并通过每个SIP域的所述管理代理注册所述拓扑终端;由所述拓扑终端产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及根据所述路由选择信息确定所述SIP网络的拓扑。
2.如权利要求1所述的方法,其特征在于所述确定所述SIP网络中的多个SIP域的步骤包括如下步骤识别所述SIP网络中的每个SIP实体,以得到包括所述SIP网络中的所有管理代理的代理列表以及包括所述SIP网络中的所有用户终端的用户终端列表;确定分别属于同一个SIP域的SIP实体,从而形成所述SIP网络中的多个SIP域。
3.如权利要求2所述的方法,其特征在于所述识别所述SIP网络中的每个SIP实体的步骤包括如下步骤向所述SIP实体发送一个标准的SIP注册请求来进行注册尝试,如果注册尝试成功,则将所述SIP实体识别为一个管理代理。
4.如权利要求3所述的方法,其特征在于所述识别所述SIP网络中的每个SIP实体的步骤包括如下步骤如果所述SIP注册尝试不成功,向所述SIP实体发送一个标准的SIP选项请求来执行SIP探测,如果成功完成SIP探测,则将所述SIP实体识别为一个用户终端。
5.如权利要求2至4中的任何一个所述的方法,其特征在于所述确定分别属于同一个SIP域的SIP实体、从而形成所述SIP网络中的多个SIP域的步骤包括如下步骤a)从所述代理列表中选择一个代理作为当前的代理;b)检索出通过所述当前的代理注册的所有用户终端;c)将所述当前的代理以及所述通过所述当前的代理注册的所有用户终端添加到一个SIP-域中;以及d)重复步骤a)到c),直到所述代理列表中的所有代理以及相应的用户终端都已经被处理,从而形成所述SIP网络中的多个SIP域。
6.如权利要求1所述的方法,其特征在于所述为每个SIP域生成一个拓扑终端并通过每个SIP域的管理代理注册所述拓扑终端的步骤包括如下步骤a)选择所述SIP网络中的一个SIP-域作为当前的SIP-域;b)为所述当前的SIP-域生成一个拓扑终端;c)通过所述SIP-域的管理代理注册所述拓扑终端;d)重复步骤a)到c),直到所述SIP网络中的每个SIP-域都具有一个相应的通过管理代理注册的拓扑终端。
7.如权利要求1所述的方法,其特征在于所述由所述拓扑终端产生并采集拓扑探索消息的步骤包括如下步骤由每个拓扑终端产生到所有其他拓扑终端的拓扑探索消息并发送所述拓扑探索消息;以及由每个拓扑终端采集来自所有其他拓扑终端的拓扑探索消息。
8.如权利要求7所述的方法,其特征在于所述由每个拓扑终端采集来自所有其他拓扑终端的拓扑探索消息的步骤包括如下步骤每个拓扑终端从所述接收到的拓扑探索消息检索出起始终端、目的终端和路径信息,组成路由选择信息。
9.一种用于发现SIP网络的拓扑的系统,其中所述SIP网络中包括多个SIP实体,所述系统包括SIP域确定装置,用于确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和一个或多个用户终端;拓扑终端控制装置,用于为每个SIP域分配一个拓扑终端并将其注册到每个特定的SIP-域;对应于每个SIP域并通过每个SIP域的所述管理代理注册的拓扑终端,用于产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及拓扑确定装置,用于根据所述路由选择信息确定所述SIP网络的拓扑。
10.如权利要求9所述的系统,其特征在于所述SIP域确定装置包括SIP实体识别装置,用于识别所述SIP网络中的每个SIP实体,以得到包括所述SIP网络中的所有管理代理的代理列表以及包括所述SIP网络中的所有用户终端的用户终端列表;以及SIP域划分装置,用于确定分别属于同一个SIP域的SIP实体,从而形成所述SIP网络中的多个SIP域。
11.如权利要求10所述的系统,其特征在于所述SIP实体识别装置向所述SI P实体发送一个标准的SIP注册请求来进行注册尝试,如果注册尝试成功,则将所述SIP实体识别为一个管理代理。
12.如权利要求11所述的系统,其特征在于所述SIP实体识别装置进一步配置为,如果所述SIP注册尝试不成功,所述SIP实体识别装置向所述SIP实体发送一个标准的SIP选项请求来执行SIP探测,如果成功完成SIP探测,则将所述SIP实体识别为一个用户终端。
13.如权利要求10至12中的任何一个所述的系统,其特征在于所述SIP域划分装置检索出通过所述代理列表中的一个管理代理注册的所有用户终端,将所述管理代理以及所述通过所述管理代理注册的所有用户终端添加到一个SIP-域中。
14.如权利要求9所述的系统,其特征在于所述拓扑终端进一步包括拓扑探索消息产生装置,用于产生到所有其他拓扑终端的拓扑探索消息并发送所述拓扑探索消息;以及,拓扑探索消息采集装置,用于采集来自所有其他拓扑终端的拓扑探索消息。
15.如权利要求9所述的系统,其特征在于每个拓扑终端从所述接收到的拓扑探索消息检索出起始终端、目的终端和路径信息,组成路由选择信息。
16.如权利要求9所述的系统,其特征在于还包括一个数据库,用于存储拓扑相关信息。
17.一种计算机可读介质,其中包含计算机可执行的程序代码,所述程序代码用于实现如权利要求1-8所述的SIP网络中的拓扑发现的方法。
全文摘要
本申请公开了一种用于SIP网络中的拓扑发现的方法和系统。依据该方法,SIP网络被分成由对应的SIP代理管理的区域,一个管理系统为每个SIP域生成一个拓扑终端,并通过每个SIP域的所述管理代理注册该拓扑终端,由每个拓扑终端产生给其他终端的拓扑探索消息并累积来自其他终端的拓扑探索消息,根据所采集的所述拓扑探索消息收集SIP网络的路由选择信息,以演绎出所述SIP网络的拓扑。
文档编号H04L12/28GK1801770SQ20051000021
公开日2006年7月12日 申请日期2005年1月5日 优先权日2005年1月5日
发明者刘军, 陆薇, 杨博, 英春, 王庆波 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1