快速检测通信路径故障的系统和方法

文档序号:7722677阅读:228来源:国知局

专利名称::快速检测通信路径故障的系统和方法
技术领域
:本发明涉及快速检测通信路径故障的系统和方法。
背景技术
:在VoIP系统中,通常利用诸如传输控制协议(TCP)或用户数据报协议(UDP)之类的传送协议来建立因特网协议公共分支交换(iPBX)服务器和因特网协议(IP)电话客户端之间的通信路径。对任一情况,应用层心跳方案(heartbeatscheme)是监控端到端的路径连通性的普及方法。可以基于在宣告特定路径故障之前检测到的连续心跳丢失数(m)、发送定时器值(tx)以及接收定时器值(tr)来确定典型的心跳方案的定时。这些值可以被概括为(tx,tr,m)。在操作期间,通常在t,定时器终止之后发送心跳。可以在tr定时器终止之后对心跳丢失事件进行报告。任何消息发送活动都可以复位和重启相应的Tx定时器。任何消息接收活动都可以复位和重启相应的RX定时器。可以假设延迟时间tdelay=t「tx为心跳系统等待时间,心跳系统等待时间表明了心跳沿着网络路径被逐端递送和处理所需要的估计出的最大时间。可以认为默认值类似于往返时间的TCP默认值(3秒),因此,可以假设tdelay=3秒。鉴于此,一般意味着td^y为基于典型心跳方案检测心跳丢失或路径故障所需要的最小或下限时间。在单向心跳模型中,仅一侧发送心跳;另一侧倾听心跳。如果倾听侧的RX定时器在tr秒中终止,则倾听侧断言心跳丢失(heartbeatmiss);当丢失m个连续心跳时,倾听侧宣告其路径断裂。单向模型中检测路径故障所需的时间为[(m-1)Xtr+tdelay]<T<=mXt.在单向心跳模型中,两侧独立地交换心跳。两侧都倾听心跳并且监控路径状态。在图l所示的典型的iPBX客户端-服务器系统中,不失一般性,双向心跳模型通过(tx,tr,m)=(27,30,2)的特定心跳值来例示。在图1所示的模型下,iPBX服务器102和IP电话104通过TCP链路106每27秒交换心跳。如果TCP链路已经空闲了30秒则报告心跳丢失。在TCP链路上丢失两个连续的心跳表明链路损坏(down)或者主iPBX不可到达。电话随后可以通过关闭到主iPBX的当前TCP连接并建立到辅iPBX108的新的TCP连接来启动故障切换(failover)处理。故障检测时间Td^。t对于IP电话网络中的系统可用性是至关重要的因数。对于任何链路,Td^。在如下范围中当m=2时,33秒<=Tdeec<=60秒;当m=1时,3秒<=Tdetec<=30秒。针对图1讨论的应用层心跳方案不同于TCP协议栈方案。一种标准类型的TCP协议栈方案是Ke印alive(保持活动)方案。在这种方案中,每个Ke印alive消息期待来自路径的远端的Ke印alive应答(ACK)。如果在多次重发之后未接收到ACK,则断言路径故障。TCPKe印alive是TCP协议的可选特征。其默认为禁用。存在关于Ke印alive的三个参数tcp—ke印idle、tcp—ke印intvl禾口tcp—ke印retry。tcp—ke印idle参数指定了使得TCP为请求发KEEPALIVE送的应用生成KEEPALIVE发送的不活动(inactivity)的间隔。tcp—ke印idle默认为2小时。tcp—ke印intvl参数指定了如果发送未被确认则被尝试的重试之间的间隔。tcp—ke印intvl默认为75A秒。tcp_ke印retry是在宣告远程端不可用之前要执行的重发的次数。tcp—ke印retry默认为8。TCPKe印alive方案不是针对TCP链路中的快速检测而设计的。其是具有系统范围的行为的内核层控制的TCP栈,系统范围的行为不适于每链路或每应用接口目的。另一种类型的标准是流控制传输协议(SCTP)。SCTP是广泛用在HTTP应用中的传送层协议。SCTP传送多个消息流,而TCP传送字节流。TCP和SCTP都具有用于可靠数据传递的类似重发机制。与TCPKe印alive类似,SCTP使用简化的探测(probing)方案来检测路径连通性;其在没有其它数据被发送时定期发送"心跳"。如果心跳-ACK在多次重发努力之后未被接收到,则出现了路径故障。推荐的心跳间隔为30秒。明显地,实际的故障检测时间由于重发尝试而远比30秒长。—般地,上面讨论的3060秒或更多的路径故障检测时间对于实时服务切换(或故障切换)到辅iPBX来说太长。减少心跳间隔通常不是有效的方法,这是因为这会带来过度的网络流量开销。
发明内容根据本发明的一个方面,提供了一种用于减少电话通信网络中的路径故障标识时间的方法,包括将连接到第2层交换机的多个因特网协议IP电话指定为第3多路径MP3组,其中,在所述MP3组中的IP电话中的每个IP电话具有相同的MP3标识MP3-ID;将连接到与子网相连的多个第2层交换机的多个IP电话指定为第2多路径MP2组,其中,在所述MP2组中的多个IP电话中的每个IP电话具有相同的MP2标识MP2-ID;将连接到与连接到网关路由器的多个子网相连的多个第2层交换机的多个IP电话指定为第1多路径MP1组,其中,在所述MP1组中的多个IP电话中的每个IP电话具有相同的MP1标识MP1-ID;提供连接到所述MP1、MP2和MP3组中的多个IP电话的因特网协议公共分支交换iPBX服务器,其中,所述iPBX被配置为以所选择的周期性速率从每个已连接的IP电话接收心跳分组;基于未能以所述所选择的周期性速率在所述iPBX处从特定IP电话接收至少一个心跳分组来标识所述通信网络中的至少一个潜在路径故障,其中,所述至少一个潜在路径故障是基于所述特定IP电话的MP1-ID、MP2-ID和MP3-ID来确定的;以及显示与所述潜在路径故障有关的信息以使得用户能够检查所述潜在路径故障。根据本发明的另一方面,提供了一种用于监控电话通信网络中的心跳分组的系统,包括因特网协议公共分支交换iPBX服务器,其被连接到多个组的因特网协议IP电话,其中,每个组包括至少多个、即N个IP电话,并且所述iPBX被配置为至少每N个间隔一次地从每个组中的所述N个IP电话中的每个IP电话接收一心跳分组,其中,N是正整数;以及在iPBX服务器中操作的定时器管理器,该定时器管理器包括具有N+P个区段的经分区的定时器模块,该经分区的定时器模块具有以所选频率在所述定时器模块各处进行索引的定时器指针,其中,P是正整数;位于所述N+P个区段的每个区段中的电话对象列表;用于每5个组中的所述N个IP电话中的每个IP电话的单独的电话对象,该单独的电话对象被附接到所述经分区的定时器模块中的电话对象列表之一,其中,当在所述iPBX处从相关联的IP电话接收到一心跳分组时,电话对象从其所在的区段中的电话对象列表被移除,并且所述电话对象被重新追加到所述定时器指针被索引的区段中的电话对象列表上;潜在路径故障模块,被配置为监控定时器指针被索引的每个电话对象列表,其中,位于该电话对象列表上的未被重新追加的每个电话对象被认为是潜在的路径故障。根据本发明的又一方面,提供了一种用于减少通信网络中的路径故障标识时间的方法,包括向连接到一共同的L2交换机的第一组多个计算设备指派相同的MP3标识值;向连接到所述共同的L2交换机和一共同子网的第二组多个计算设备指派相同的MP2标识值;向连接到所述共同子网和所述共同的L2交换机以及一共同的网关路由器的第三组多个计算设备指派相同的MP1标识值;将每个计算设备的所述MP1、MP2和MP3标识值存储在连接到所述通信网络的路由器中,其中,所述路由器被配置为以所选择的周期性速率从每个已连接的计算设备接收心跳分组;以及基于未能以所述所选择的周期性速率在所述路由器处从特定计算设备接收至少一个心跳分组来标识所述通信网络中的至少一个潜在路径故障,其中,所述至少一个潜在路径故障是基于所述特定计算设备的MP1-ID、MP2-ID和MP3-ID确定的。结合附图从下面的详细描述将清楚本发明的特征和优点,附图以示例的方式一起图示出了本发明的特征;并且在附图中图1是现有技术中已知的典型iPBX客户端-服务器系统的图解;图2是根据本发明一实施例的示例性iPBX通信系统的框图;图3是根据本发明一实施例的经分区的定时器模块的图解;图4是描述根据本发明一实施例的心跳平滑操作的流程图;图5是描述根据本发明一实施例用于核实通信网络中的多路径故障的处理的流程图;图6是图示出根据本发明一实施例的用于监控电话通信网络中的心跳分组的系统的框图;图7是描述根据本发明一实施例的用于减少电话通信网络中的路径故障的核实时间的方法的流程图;图8是描述根据本发明一实施例的用于减少通信网络中的路径故障的核实时间的方法的流程图;现在将参考所图示出的示例性实施例,并且将在此使用具体语言来对其进行描述。然而,将明白,不希望因此对本发明的范围进行任何限制。具体实施例方式在公开并描述本发明之前,要明白本发明不限于在此公开的特定结构、处理步骤或材料,而是扩展到它们的等同物如相关领域的普通技术人员会认识到的。还应当明白,这里所采用的术语仅仅是为了描述特定实施例的目的,而不打算成为限制性的。应当明白,本说明书中描述的许多功能单元被标记为模块,以便更具体地强调它们的实施方式的独立性。例如,模块可以被实现为硬件电路,包括通用VLSI电路或门阵列、诸如逻辑芯片、晶体管或其它离散组件之类的非专门设计(off-the-shelf)的半导体。模块也可以用诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等之类的可编程硬件器件来实现。模块还可以用供各种类型的处理器执行的软件来实现。可执行代码的经标识的模块例如可以包括计算机指令的一个或多个物理或逻辑块,计算机指令的一个或多个物理或逻辑块例如可以被组织为对象、进程或功能。然而,经标识模块的可执行文件(executable)不需要物理上在一起,而是可以包括存储在不同位置的完全不同的指令,当这些指令逻辑上联合起来时,包括该模块并且实现该模块所宣称的目的。实际上,可执行代码的模块可以是单个指令或多个指令,甚至可以被分布在不同程序中的若干个不同的代码段中,并且可以跨越若干个存储器设备。类似地,操作数据在此可以被标识并例示在模块内,并且可以以任何合适的形式被体现并被组织在任何合适类型的数据结构中。操作数据可以被收集作为单个数据集合,或者可以被分布在不同位置,包括在不同的存储设备上,并且可以至少部分地仅作为系统或网络上的电信号而存在。模块可以是无源或有源的,包括可操作来执行所希望功能的代理。在本说明书中对"一个实施例"或"实施例"的引用指结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在本说明书的各种地方出现的短语"在一个实施例中"或"在实施例中"不必定都指同一实施例。此外,所描述的特征、结构或特性可以以任何合适的方式被组合在一个或多个实施例中。在下面的描述中,提供了诸如材料、扣件、大小、长度、宽度、形状等的示例之类的许多具体细节,以提供对本发明实施例的透彻理解。然而,相关领域的技术人员将认识到,可以不用一个或多个具体细节或者利用其它方法、组件、材料等来实施本发明。在其它实例中,不示出或详细描述公知的结构、材料或操作以避免模糊本发明的各个方面。定义如这里所使用的,术语"基本上"指动作、特性、性质、状态、结构、项或结果的完全的或接近完全的范围或程度。例如,一对象"基本上"被装入可以指该对象完全被装入或几乎完全被装入。在一些情况中,偏离绝对完全的确切的可允许程度可以取决于具体上下文。然而,一般所说的接近完成是具有相同的整体结果,就如同实现了绝对且总的完成一样。当"基本上"用在否定涵义中时也同样可用来指动作、特性、性质、状态、结构、项或结果的完全的或接近完全的缺乏。如这里所使用的,术语"大约"用于通过规定给定值可能"稍微高于"或"稍微低于"端点来提供对数字范围端点的灵活性。如这里所使用的,为了方便可以将多个项、结构元件、组成元件和/或材料表示在一共同的列表中。然而,这些列表应当被理解为好像列表的每个成员都单独地被标识为分离的且唯一的成员。因此,当没有相反的指示时,这种列表中的各个成员不应仅基于它们被表示在共同的组中而被理解为同一列表中的任何其它成员的实际等同物。本发明在一个实施例中,公开了一种系统和方法,其提供应用层和网络协议无关的方法,该方法用于基于通用心跳机制在大的客户端-服务器系统中进行路径故障检测。该系统可以在几秒内快速检测主要的网络拓扑改变、大量的路径故障或者到例如因特网协议公共分支交换(iPBX)服务器之类的活动服务器的连通性的所有损失。这与通常所需要的时间相比提供了服务从主iPBX到辅iPBX的相对快速的转移,并且大大提高了iPBX系统的可用性和可靠性。参考图2,示出的示例性通信网络包括通信交换机214,例如由Mitel网络公司制造的MITELMXEiPBX。iPBX通过网络连接到多个因特网协议(IP)电话204。在典型配置中,多个IP电话可以通过第2层(L2)交换机206连接到子网208。第2层是开放系统互连(OSI)模型中的数据链路层。子网可以是路由器或另一L2交换机。或者,子网208和L2交换机206可以是单个L2交换机。L2交换机可以是以太网交换机,或者另一类型的第2层交换机,如可以理解的那样。多个子网208可以连接到网关路由器210。在冗余系统中,可以使用多于一个网关路由器。网关路由器还可以连接到因特网212。iPBX服务器214可以通过L2交换机216和子网218连接到网关路由器210。冗余iPBX220也可以包括在该通信网络中。当需要时,冗余iPBX可以用于iPBX网络中的计算设备和IP电话的切换或故障切换。通信网络可以连接到公共交换电话网络(PSTN)。典型的通信网络可以包括连接到iPBX的1400或更多个IP电话。多个iPBX交换机可以通过TCP干线形成一个簇来支持更多个IP电话;或者形成主/辅iPBX冗余对来提供弹性服务。图2的配置表示典型的融合通信网络,并且在配置、组件等方面的众多变更也是可以的。标准LAN配置包含多个互连路由器;每个路由器连接多个多端口L2交换机;并且每个L2交换机连接多个IP设备或IP电话。结果,IP端设备(例如iPBX或IP电话)的网络接入拓扑信息(NATI)可以通过利用该地址层次来唯一地描述。例如,可以基于路由器的网关IP地址、L2交换机段的子网ID以及L2端口标识为通信网络上的每个IP电话的网络接入拓扑信息指派一标识。艮P,NATI=(网关ID,子网ID,L2端口ID)。在上面,网关ID可以是网关路由器的IP地址;子网ID可以是子网路由器或L2交换机的IP地址;并且L2端口ID可以包括两种属性L2端口媒体访问控制(MAC)地址和L2端口号。在MITELVoIP系统的一个实施例中,iPBX交换机214连接到L2交换机216,L2交换机216然后连接到网关路由器210,如图2所示。IP电话204可以连接到桌面集线器,桌面集线器是与其它计算机和桌面设备共享的介质。集线器随后连接到L2交换机端口206。L2交换机可以具有48个端口(甚至更多端口)。形成了子网208的多个L2交换机还连接到网关路由器的210端口,如前面所讨论的。在一个实施例中,NATI可以由各个IP电话来检测。NATI信息可以在标准电话登记处理期间由各个IP电话传输到iPBX服务器。作为设备简档信息的一部分,如果需要,L2端口信息还可以用来提供紧急事件位置检测。在电话登记之后,该电话可以从iPBX接收所选设备配置信息。具体而言,该设备配置信息可以包括心跳规定,例如心跳定时信息。可以设置心跳定时信息的^和^值。例如,这些值可以设置为(tx=27,^二30,m二2),其8中,tx是心跳之间的发送时间,tr是心跳的接收时间,并且m是直到宣告路径断裂为止的心跳丢失数目。IP电话随后可以开始与iPBX交换心跳。iPBX和IP电话都可以监控心跳。在任何时间,如果在此示例中检测到两个连续的心跳丢失,则路径被宣告断裂。这种基本模型可以被认为是标准的两级处理(l)故障检测,其中,心跳丢失被检测;以及(2)故障核实,其中,连续的心跳丢失被检测。传统上,在每个路径上的故障检测花费3<=Tl<=30秒。故障核实时间花费额外的T2二30秒。即,所需要的总时间在33和60秒之间。在一个实施例中,本发明的系统和方法可以用来从iPBX交换服务器一侧将总的故障核实时间降低到至多几秒。例如,总的故障核实时间可以少于七秒。路径故障模型和分析—般地,通信网络中的网络路径故障可以被归为两类(l)单路径(SP)故障;和(2)多路径(MP)故障。基于通过IP的语音(VoIP)通信网络的拓扑,仅影响一个电话的单路径故障是罕见的情况,其常常对应于桌面电话和L2交换机之间的网段的故障。例如,单路径故障可以在用户拔掉到IP电话的连接或者重启电话时被检测到。这种类型的故障通常对通信网络中的其它用户的iPBX服务没有严重影响。因此,无需将网络上的通信服务从主iPBX重新引导到辅iPBX。基本心跳机制对于检测单路径故障是足够有效的。多路径(MP)故障更常见并且更严重,其中,多条路径同时断裂。MP故障还可以被归为三类MP1:iPBX和其网关路由器之间的段上的网络故障,切断了所有IP电话路径,使得连接到iPBX的数千个电话不可到达该iPBX。MP2:网关路由器和子网之间的一个子网上的网络故障,可能影响该子网内的数百个IP电话。该子网可以是路由器或一个或者多个L2交换机。MP3:L2交换机上的网络故障,可能影响局部连接到该L2交换机的数十个IP电话。显然,快速检测通信网络中的一个或多个故障路径的故障和位置的能力对于维护具有高度可靠性的通信网络是至关重要的。本发明提供了可以用来快速检测和核实所有SP和MP故障的各种实施例。用于快速检测路径故障的多路径相关方法位于单路径上的IP电话的心跳丢失可以被认为是对一组相关路径的故障指示。当从单个IP电话接收到故障指示时,可以快速地核实沿着相应路径集的潜在路径故障。无需等待来自位于每个潜在路径故障上的IP电话的各个可能的心跳丢失就可以启动针对相应路径的故障核实处理。为了快速核实潜在的路径故障,可以建立路径相关组(PCG)。通信系统中的路径相关组可以基于通信网络中的每个电话的网络接入拓扑信息。例如,在一个实施例中,路径相关组可以被细分为三种多路径组。这些组包括被指派了同样的MP1-ID的同一网关下的电话;被指派了同样的MP2-ID的同一子网下的电话;被指派了同样的MP3-ID的L2交换机下的电话;当IP电话被连接到通信网络时,每个电话可以向iPBX登记。登记处理可以包括在该iPBX处记录每个已连接的IP电话的MP1-ID、MP2-ID和MP3_ID。对于每个已登记的电话,iPBX的设备控制子系统可以创建电话对象。电话对象可以包含与IP电话的唯一电话ID、IP地址、MAC地址、TCP/IP套接字、NATI以及包括PCG值在内的另外所需要的系统信息有关的信息。可选地,电话对象可以包含到所述信息的链接。为了保证通信网络中的快速故障核实,使用了用于网络中的故障指示的可预测机制。每个IP电话都可以被配置为在被指定为[tfclay,(t^y+T。。一)]的可配置时间间隔内输出心跳。在一个示例性实施例中,td^y二3秒是给定心跳方案的下限。实际延迟量可以根据系统设计以及通信网络中的流量拥塞来选择。T。。nfig值可以根据对通信网络中的硬件的需要来选择。为了简化起见,可以假设在此示例中T。。^二l秒。艮卩,可以在3<=11<=4秒内检测任何多路径故障。这是对前述3至30秒范围的大幅改进。心跳平滑方法可以用来辅助提供用于故障指示的可预测机制。心跳平滑方法可以集成在心跳平滑模块(HSM)中。HSM可以用来确保每个MP组中的电话以有序的顺序发送心跳,以使得心跳在所选时间窗中均匀地流动。这可以在无需IP电话彼此通信的情况下实现。在一个示例中,所选时间窗可以具有tx=27秒的值。更具体地,HSM使所有电话处于使得MP组中的至少一个电话每T。。nfig时段向iPBX发送一心跳的次序中。利用T。。nfig=1秒的时间,如果发生网络故障,则在不多于(td^y+T。。nfi》二4秒内,至少一个RX定时器将终止,这表明来自该路径上的电话的心跳丢失。在描述HSM之前,对定时器管理器的工作条件和物理配置条件的描述提供了有用的见解。由于特定MP组中的每个IP电话每tx=27秒向iPBX发送一心跳,因此,可以认为在此示例中至少27个电话在每个MP组中,以使得在MP组内每秒发送一次心跳。一般地,电话的这个数目对于由相对大量的汇聚的IP电话组构成的MP1网关组或MP2子网组来说不是问题。对于MP3组,这暗示着最好有27个或更多个电话连接到L2交换机。在实践中,这通常不是问题。具有48或更多个端口的L2交换机常常用来形成MP3组。在任一情况中,即使特定MP3组具有少于27个电话(比如说20个电话),其也仅仅一小部分地成比例地影响该组中本地电话的故障检测时间。定时器管理器可以用来控制连接到iPBX的IP电话内的TX定时器和iPBX内的RX定时器的定时。定时器管理器可以包括经分区的定时器模块300,其用来组织对在iPBX处接收到的心跳的监控。图3提供了经分区的定时器模块的一个示例性图解。位于iPBX处的定时器管理器可以通过连接到iPBX的计算设备或者IP电话的每一个来监控在iPBX处接收到的心跳的定时。在此示例中,图示出的经分区的定时器模块被示为被划分为多个区段302。定时器指针304被配置为在位于所选频率处的经分区的定时器模块中的区段各处进行索引(index)。在此示例中的定时器指针类似于模拟时钟上的时钟针。时钟发出嘀嗒声的粒度或者指针的最小定时单元是灵活的。在此示例中,其被选为10毫秒(ms)。实际的粒度依赖于主控该定时器管理器的服务器的速度。粒度可以在数十纳秒到数十毫秒的范围内。更小的粒度允许经分区的定时器模块更频繁地被更新。虽然上面的示例公开了在MP3组中的27个电话以使得每秒都接收到一心跳,但是这个数目仅仅是用于举例说明的目的。在实践中,在iPBX处每秒可接收到数千心跳。由网络上的每个IP电话或计算设备发送的心跳的频率通常被限制以减少网络流量。然而,通过连接到iPBX的数千或数以万计的IP电话,可以利用定时器管理器和经分区的定时器模块300来接收并管理每秒数千个心跳。如前面所讨论的,当IP电话连接到iPBX并向该iPBX登记后,电话对象在该iPBX中被创建。电话对象包括与单个电话或其它类型的计算设备相关联的信息记录或者到信息记录的链接。信息记录包含包括电话或计算设备的NATI记录在内的信息。定时器管理器的每个区段302可以与特定电话对象列表306相关联。或者,每个时钟嘀哒位置可以与具体的电话对象列表306相关联。每个电话对象列表可以包含用于已向iPBX服务器登记的每个IP电话或其它类型的计算设备的一个或多个电话对象。在此示例中,定时器环被分区为M=30个区段(M=t/T。。nfig)。假设上面所讨论的粒度,则每个区段包含100个时钟嘀哒时间单位。虽然为了举例说明的目的在图3中将经分区的定时器模块300示为一个环,但是可以理解,定时器模块可以以任意数目的方法利用软件、固件和/或硬件的来实现。例如,定时器模块可以利用被配置为由iPBX访问并且与连接到iPBX的计算设备相关联的数据库来实现。电话对象可以被存储在数据库内的所选位置中。因此,经分区的定时器模块不限于图3所示的环。下面将更全面地讨论定时器管理器的实现。在网络上连接到iPBX的每个计算设备,或者更具体地,每个IP电话都被配置为以周期性速率(periodicrate)向iPBX发送心跳。周期性速率由如前所述的每个IP电话或计算设备内部的Tx定时器来确定。Tx定时器可以被设置来使得每个IP电话每t,秒发送一心跳。在一个示例中,t,=27秒。另外,Tx定时器可以在每当在IP电话处从iPBX接收到信号或消息时被复位,并且可以响应于所接收到的信号或消息自动生成心跳并将心跳从IP电话发送到iPBX。因此,每个IP电话可以被配置为大约每27秒一次地或者响应于从iPBX接收的消息、以两种情况中先发生的为准来向iPBX发送心跳。当iPBX接收来自位于某条路径上的IP电话的心跳或者任何消息时,相应的电话对象可从电话对象列表306被移除。电话对象列表位于经分区的定时器模块中的某个位置。被移除的电话对象随后可以重新被追加到定时器指针被索引的(即,时钟针所指向的)经分区的定时器模块的区段中的电话对象列表上。这可以称为消息接收操作(MRO)。在一个示例性实施例中,定时器指针304可以大约每30秒一次地在经分区的定时器模块300的30个区段各处进行索引(即,以大约每个间隔一秒的速率)。然而,每个IP电话被配置为至少每27秒一次地发送心跳。因此,在初始启动时段之后,可以假设在正常工作的网络中,在定时器指针前面的三个区段中的电话对象列表为空。这些区段可以称为空(void)区段308。在正常工作的通信网络中,由于每个IP电话在定时器指针304指向经分区的定时器模块中的在前的27个区段之一的时段期间发送心跳,因此空区段中的电话对象列表为空。当在iPBX处接收到每个IP电话的心跳时,与IP电话相关联的电话对象重新被追加到定时器指针被索引(即,被指向)的电话对象列表上。潜在的路径故障模块被配置为监控定时器指针304被索引的每个电话对象列表306。当定时器指针前进到下一区段时,假设电话对象列表为空。如果还未被重新追加的一个或多个电话对象仍然被记录在电话对象列表中,则意味着iPBX在30秒中尚未接收到与电话对象相关联的IP电话或计算设备的心跳。可以基于电话对象记录306中的信息来标识IP电话的身份和位置以及心跳传播所沿的路径。在定时器指针前进时,在一个或多个电话对象被记录在电话对象列表中时,考虑潜在的路径故障。例如,参考图2和3,当与特定电话203相关联的电话对象在定时器指针304被索引到经分区的定时器模块300的区段302时位于该区段中的电话对象列表306中时,与该电话对象相关联的NATI信息可以用来快速地确定IP电话203和iPBX服务器214之间的路径。在此示例中,可以利用L2交换机205的MAC地址和/或端口号、子网路由器207的IP地址以及网关路由器211的IP地址来追踪IP电话203和iPBX服务器214之间的路径。虽然当IP电话在30秒内未发送心跳时考虑潜在的路径故障,然而,故障的原因可以是任意数目的事件。为了确定是否存在路径故障,可以使用心跳探测模块。心跳探测模块被配置为在定时器指针被索引到电话对象列表所位于的定时器模块区段时,将探测心跳从iPBX发送到包含在该电话对象列表上的每个特定IP电话。探测心跳被配置为从每个特定IP电话引出(elicit)响应心跳。响应心跳可以在iPBX处被接收,以使得如果在预定时段内未接收到响应心跳则能够确定路径故障。为了将在iPBX中接收的心跳数控制在合理的数目,心跳平滑模块(HSM)可以定期检查RX定时器管理器的经分区的定时器模块以平衡电话对象的分布,以使得环中的每个区段具有来自MP3、MP2和MP1分组的每个组的至少一个电话对象。在一个实施例中,HSM可以被配置为每T。。nfig/2=0.5秒对电话对象列表中的电话对象的分布重新平衡一次。为了平衡MP3电话对象的分布,HSM可以检查有多少个来自特定MP3组的电话对象在由定时器指针304所指向的当前时间区段中。平滑操作可以用来从具有比当前时间区段所包括的对象多的同一MP3组中的对象的、经分区的定时器模块300的其它区段302中的其它电话对象列表306移动电话对象。30秒之后,定时器指针经过了整个环并且在环的起点处开始。MP3组中的电话对象将近似均匀地被分布在经分区的定时器模块周围的电话对象列表之间。随着时间的继续,每个MP3组的电话对象的分布均匀性将被进一步动态优化。如果特定MP3组包含27个IP电话,并且平滑操作均匀地将电话对象分布在经分区的定时器模块周围,则可以假设在iPBX处大约每秒一次地从特定MP3组中的IP电话接收到心跳。因此,平滑操作可以用来分布在iPBX路由器处接收到的心跳数。另外,平滑操作使得来自每个MP3组的心跳大约每秒被接收一次。这使得心跳从每个MP3组中的IP电话传播到iPBX的所经过的路径大约每秒被监控一次。类似地,随着定时器指针绕着环前进,通过监控电话对象列表中的电话对象的分布,可以使经分区的定时器模块中的电话对象的分布被提供给MP2组和MP1组中的电话对象。平滑操作假设服务器iPBX和客户端电话具有简单的同步技术。有两种简单的方法可以实现同步。对于第一种方法,iPBX—向电话发送探测心跳时,电话就立即答复一心跳。在这种情况中,电话端TX定时器值应当稍微大于iPBX端TX定时器值的27秒,即27<tx<30,以避免两端同时发送心跳。等效地,对于第二种方法,iPBX发送"Hello"消息,电话答复"Hello"消息,其中,"Hello"是具有空数据(nulldata)的任何应用层消息。不失一般性地,第一种方法可以用作基本心跳方案的变体。为了例示出平滑操作,在图3中,可以假设区段21具有比特定MP3组中的均值多5个的电话对象。区段6,即定时器指针306被索引的区段,具有比均值少4的特定MP3组中的电话对象数。平滑操作随后将从区段21取四个MP3电话对象并且将四个心跳分别发送到它们的远程IP电话。四个IP电话将立即答复心跳。如上所述,到来的四个心跳将四个电话对象从区段21移到区段6,由此在经分区的定时器模块中均匀地分布了特定MP3中的电话对象。应当注意,最长的心跳往返时间(RTT)是可测量的,并且通常不会比典型iPBX网络中的数毫秒多。图4的流程图示出了心跳平滑方法的一个实施例。该方法针对网关层类型、子网层类型和L2交换机层类型的网络故障实现了T。。nfig=1秒的可配置时间内的路径故障检测。如在块402中所示的,心跳平滑模块(HSM)可以在例如配置时间的一半或0.5秒之类的所选时段中休眠。对于分区定时器模块中的每个区段,HSM可以检查诸如MP3组、MP2组和MP1组之类的路径相关组的每个组中的对象数,如块404所示。HSM可以判定定时器指针被索引的区段是否具有比分区定时器模块中的多个区段的平均数少的PCG数,如块406所示。如果平均PCG数大于或等于均值,则不采取动作。如果PCG数小于平均PCG数,则执行平滑操作,如块408所示。平滑操作包括向如下IP电话发送探测心跳,所述IP电话具有位于具有多于平均PCG数的电话对象列表上的电话对象。IP电话可以利用被发送到iPBX的心跳对探测心跳作出响应。然后,电话对象可以从具有多于平均PCG数的电话对象列表上被移除。电话对象随后可以重新被追加到具有少于平均PCG数的电话对象列表上,由此将电话对象均匀地分布在分区定时器模块中。用于快速核实MP故障的启发式(heuristic)探测方法如前所述,当检测到路径上的第一心跳丢失后,心跳探测模块可以立即测试该路径以确认单路径故障。可以通过利用心跳探测模块将心跳从iPBX发送到该路径上以查看是否可以在给定探测时间内从远端电话接收到心跳响应来确定单路径故障。典型的探测时间可以为大约500毫秒。在图3中,当定时器指针306被索引在区段6时,如果该位置上的电话对象列表不为空,则表明在iPBX处尚未针对在电话对象列表中具有附接的电话对象的所有IP电话检测到心跳。在典型的心跳检测和路径核实方案中,在第二个心跳丢失之前不确定路径故障核实。在此示例中,这将花费额外的30秒。心跳探测操作(HPO)心跳探测模块可以结合经分区的定时器模块300来使用以提供改进的故障核实处理。对于列表上的每个电话对象,探测操作可以将探测心跳发送到相应的路径上。禾U用与电话对象相关联的NATI信息,可以基于用来在iPBX和与电话对象相关联的IP电话之间进行通信的网关路由器、子网和L2交换机的知识来确定路径。在发送了探测心跳之后,电话对象可以被移到区段6.5处的电话对象列表。通常,心跳的往返时间花费不多于数毫秒的时间。因此,如果路径未断裂,则500毫秒的时段对于接收心跳答复来讲通常足够长。另一方面,如果当定时器指针被索引到区段6.5之后未接收到心跳答复,则电话对象将经历第二个心跳丢失,这触发了路径故障确认。以这种方式,路径故障核实在大约0.5秒内而不是典型心跳方案中的30秒内完成。实际的往返时间可以随着网络而变化。往返时间可以取决于网络大小、复杂度、使用等而在从小于0.5ms到大于750ms的范围内。在上面的定时器终止的情况中,对于每个电话对象列表,可以从存储在电话对象中的NATI信息中找到相应的IP电话的路径相关组(即,MP3、MP2和MP1)。或者,与各个电话相关联的NATI信息可以保存在当电话登记时间时建立的iPBX的已登记设备数据存储装置607中。各个电话对象可以与数据存储装置中存储的信息相关联,由此使得能够确定各个IP电话的NATI。心跳探测模块然后可以无需等待其RX定时器在下一30秒内的某个时间的潜在终止而将探测心跳从iPBX发送到同一PCG组中的其它电话。这允许更快地确定问题的范围。故障预测操作(FPO)除了上述的以外,故障预测模块(FPM)可以智能地展望(lookahead)定时器环以预测是否存在任何显著的潜在心跳丢失事件。这称为故障预测操作。由于在上面的示例中心跳每tx=27秒被交换,因此,在当前定时器指针306前面的3秒空区段308(例如,在图3中的6和9之间)是系统等待时间td^y二V^,其中,^二30秒。系统等待时间充足地被分配来处理到达的心跳。在无故障的情形中,必须有一些空区段(VS),这些空区段不包含等待紧接着任何当前时钟时间向前的心跳的未决电话对象,如前面所讨论的。可以利用公式VS二(t「t》-2RTT来计算空区段的数目,其中,RTT是iPBX网络中的信号的最大往返时间。在前面的示例中,往返被认为小于500ms。取决于网络流量状况,该区段的长度是可变的。实际往返时间可以短到数毫秒或者超过洲际通信网络的一千毫秒。tr的值基于系统的实际往返时间通常被选为比^值大的数秒。对于500ms的往返时间,在此示例中,可以为心跳探测模块假设VS=2秒的下限。在路径故障指示下,FPM可以首先进行检查以确定有多少未决电话对象仍然被附接在位于VS区域308中的电话对象列表中。由于这些电话对象表示在指定的tx时间段内对其来讲未接收到心跳的IP电话或其它计算机设备,因此,这些电话对象表示潜在的路径故障。如果VS区域的确有一些电话对象,则FPM可以被用来确认在当前定时器指针索引区段处检测到的潜在路径故障是单个故障的情况还是更严重的多路径故障。此外,FPM可以监控RX经分区的定时器模块300,以收集两个重要方面的数据1)被附接到位于将最终报告心跳丢失的当前VS区域(即,在VS区域中的区段)中的电话对象列表的电话对象数目。2)先前针对RX经分区的定时器模块上的所有电话对象而接收的心跳或消息的数目。这可以通过追踪有多少个重新被追加(被登记)的电话对象已被添加到这个时间间隔中的当前时间未决列表中来实现。统计结果可以用来帮助确定还有多少故障可以被检测到,并且帮助投票决定当前路径故障是否是大范围的网络故障。这个信息可以由系统用来判定是否要切换到备用网络路径和设备从而提供基本上不间断的服务。故障诊断操作(FDO)iPBX服务器系统可以产生一些系统错误和警告。例如,发生在读写数据中的套接字错误是路径连通性问题的重要证据。FDO模块可以用来根据系统维护记录检查服务器健康状态,从而判定服务器健康是否是路径故障指示的来源。现在参考图5,图5示出了描述此前述的操作的示例性实施方式的流程图。当定时器指针在定时器模块的区段各处进行索引时,HPM通过监控经分区的定时器模块中的电话对象列表来执行集成的路径故障核实算法。一旦检测到第一心跳丢失,则心跳探测操作被应用到给定路径。在PT=0.5秒的探测时间内,如果响应于探测心跳接收到心跳,则认为该路径无故障。否则,PCG探测操作被应用到多个路径。基于一个或多个电话对象的NATI信息,探测心跳可以从iPBX服务器被发送到属于如下组的其它IP电话同一MP3组;不同MP3组,而是同一子网(S卩,同一MP2组);不同MP3组和不同子网,而是同一网关路由器(即,同一MP1组);不同MP3组和不同路由器网关。在PT=0.5秒的另一探测时间中,探测结果可以被检测并被用来帮助标识故障发生的位置。即,HPM可以根据哪些L2交换机、子网和网关路由器路径已断裂来标识哪些路径受到影响。如果所有的探测操作都显示了否定结果,则这是故障位于iPBX汇聚段上的征兆。在任一情况中,故障预测操作被执行来进一步核实故障,其将在不多于另外3秒内完成。简言之,整个核实处理可以在大约4秒内完成。在图5所示的示例性实施方式中,所有的诊断操作可以在应用层进行。由于从NATI信息已知iPBX路由器网关IP地址和IP电话的路由器网关IP地址,因此快速执行几个传输层(例如,TCP/IP)乒(ping)操作来检查从iPBX到网络中的一些路由器的连通性是一种可行的选择。通过收集如上所示的诊断操作的结果,故障指示可以被裁定为这是间歇性事件还是永久路径故障。总体上,具有超过1000个连接到iPBX的IP电话的复杂系统的路径故障检测和核实可能总计花费大约8秒。总时间取决于所选择的tx和tr定时值、MP3组中的IP电话或计算设备数目,以及影响心跳传输的定时的网络流量。实际时间可能从针对具有少于100个IP电话的相对小的iPBX网络的小于0.5秒到针对经历繁重流量拥塞的大的洲际网络的10-15秒不等。这相对于可能花费长达60秒的现有方案提供了重大改进。系统体系结构和操作在方法的一个示例性实施方式中,具有在一平台上运行实时操作系统的嵌入式系统的MITELIP电话通过网络被耦合到iPBX,该平台具有专用处理器、存储器和盘。为了使离线IP电话与iPBX沟通,有三个阶段(l)DHCP初始启动;(2)传输连接设置,以及(3)设备登记。在DHCP初始启动的第一阶段中,IP电话从预先配置在LAN中的DHCP服务器获取其IP地址和iPBX列表信息。该电话还接收其IP联网配置和LAN配置,LAN配置包括子网掩码、网关IP地址(第3层路由器地址)以及用于获取主要的电话负载和电话配置的TFTP服务器地址。另外,为了使IP电话检测到它们所连接的位置,LAN被编程来发布IEEE802.1生成树协议(STP)。每个IP电话被配置为捕获通过LAN发送的分组,以便确定其IEEE第2层对等连接(即,以太网交换机端口MAC地址和端口号)。即,在这个阶段中获得网络接入拓扑信息(薩)。在第二阶段,TCP套接字连接在IP电话和iPBX之间被建立。如果要建立受保护的链路,则还要执行额外的安全性交涉(negotiation)。这是电话和iPBX之间的信令路径。在设备登记阶段,IP电话发起向iPBX的MITEL登记处理。IP电话发送由其唯一MAC地址与包括NATI的其它设备信息组成的登记请求消息。如果双向协议交易成功,则iPBX使IP电话进入服务中(in-service)状态。然后,IP电话准备好提供服务。15以太网交换机或路由器(或者从iPBX开始的汇聚的上游路径段)中的故障可能影响连接到多个电话的多个分支。单路径或多路径故障可以利用位于iPBX中的潜在路径故障模块来快速检测。潜在路径故障模块可以使用经分区的定时器模块来确定连接到iPBX的IP电话何时未接收到心跳。另外,可以基于存储在iPBX中的NATI信息来确定iPBX和IP电话之间的心跳信号的路径。可以通过将探测心跳从iPBX发送到未能进行通信的IP电话来主动地检查潜在路径故障。可以将另外的探测心跳发送到同一MP3、MP2和MP1组中的其它IP电话来快速确定潜在路径故障的范围。根据另一方面,位于iPBX中的故障预测模块可以用来检查在经分区的定时器模块的定时器指针前面的P个区段中的IP电话是否成功地发送了它们的心跳。可以向位于P个区段中的电话对象列表中的任何电话对象发送用于路径故障核实的探测心跳。这可以通过在被动等待IP电话来报告的同时不需要经过额外的时间来提供大量的时间节省。利用从探测心跳获得的信息以及与未能报告的每个IP电话相关联的NATI信息,可以快速确定不能在iPBX网络上进行通信的IP电话的数目,通常在大约4-8秒内。备用网络路径和服务器可以用来在可能的地方快速地恢复服务。系统和处理实施例在一个实施例中,公开了用于监控电话通信网络中的心跳分组的系统600,如图6的框图所示。该系统包括连接到因特网协议电话604的多个相关组(PCG组)的iPBX服务器602。IP电话可以被分组为MP3、MP2和MP1组,如前所述。每组至少可以包括多(N)个IP电话。iPBX被配置为至少每N个间隔一次地从每组中N个IP电话的每一个来接收心跳分组,其中,N是正整数。在先前的示例中,N的值被设为27。可以理解,可以基于系统的需要来选择MP3组中的IP电话的数目。系统还包括在iPBX服务器中操作的定时器管理器606。定时器管理器包括具有N+P个区段的经分区的定时器模块300(图3),其中,P是正整数。在先前的示例中,P的值被选为3。可以基于系统的需要来选择实际的值,如先前所讨论的。定时器指针304按所选频率在经分区的定时器模块300各处进行索引。电话对象列表306可以位于经分区的定时器模块的N+P个区段的每一个中。N个IP电话的每个的单独的电话对象被附接到经分区的定时器模块中的电话对象列表之一。当在iPBX处从相关联的IP电话接收到心跳分组时,电话对象从其所在的区段中的电话对象列表被移除。来自相关联的IP电话的电话对象随后被重新追加到定时器指针被索引的区段中的电话对象列表上。潜在路径故障模块被配置为监控定时器指针被索引的每个电话对象列表。位于电话对象列表上的未被重新追加的每个电话对象被认为是潜在的路径故障。系统还包括心跳探测模块608,其被配置为当定时器指针304被索引到电话对象所在的定时器模块区段302时,将探测心跳从iPBX602发送到与包含在电话对象列表306(图3)中的电话对象相关联的每个特定IP电话。探测心跳被配置为从特定IP电话的每个引出响应心跳,以使得可以在iPBX中接收到该响应心跳,从而使得如果在预定时段内未接收到响应心跳则能够核实潜在路径故障。系统还可以包含故障预测模块610,其被配置为智能地展望经分区的定时器模块300中的定时器指针304,以确定与在定时器指针前面的P个区段中的电话对象列表中包含的电话对象相关联的IP电话的潜在路径故障。展望的能力使得能够对在MP3、MP2和MP1组中的哪些电话对象在N个间隔内未能将心跳发送到iPBX作出判断。该知识使得故障预测模块能够被用来基于IP电话MP1、MP2和MP3地址(S卩,NATI信息)确定与在P个区段中具有电话对象的IP电话相关联的路径。系统还可以包括心跳平滑模块612。该模块被配置为确定经分区的定时器模块300的每个段302的电话对象列表306中的电话对象数目。可以减少具有的对象数比平均电话对象数大的段中的电话对象数。可以通过将来自iPBX的探测心跳发送到在具有的对象数比平均电话对象数大的段中具有电话对象的至少一个IP电话来完成减少。当定时器指针被导向具有的对象数比平均电话对象数小的经分区的定时器模块的段时,探测心跳可以被发送。当该至少一个IP电话对探测心跳作出响应并且将一心跳发送回iPBX时,该至少一个IP电话的相应电话对象从具有比平均电话对象数大的电话对象数的段中被移除并且被新追加到具有比平均电话对象数小的电话对象数的段中。因此,心跳平滑模块可以用来使得来自IP电话的相对稳定数目的心跳在iPBX处被接收。在每个MP3组、MP2组和MPl组中的与IP电话相关联的电话对象可以基本上均匀地被分布在经分区的定时器模块中的区段周围。电话在经分区的定时器模块中的相对均匀的分布向通信网络的每个区段的iPBX提供了稳定的信息流。这使得网络的一个区域中的通信中断能够在合理短的时间段中被标识出来。系统还可以包括故障诊断模块614。故障诊断模块被配置为监控iPBX通信网络中的至少一个服务器的健康状态,以使得基于服务器的被报告的健康能够发现潜在路径故障的预期来源,如前面所讨论的。在实践中,定时器管理器606和模块608、610、612以及614通常根据心跳服务609在iPBX中被组织并被操作。心跳服务是通过iPBX中的设备控制605操作来操作的一种服务。与设备控制605通信的数据存储607数据库或存储器可以用来存储与每个IP电话或计算设备相关联的NATI信息。诸如定时器管理器606、心跳探测模块608、故障预测模块610、心跳平滑模块612和故障诊断模块614之类的上述各种组件和模块已分开地被示出并描述来提供示例性举例说明。但是,实际的软件代码可以以多种方式来实现,其中,系统的分离组件可以按需利用各种硬件、软件和固件组件来实现。模块可以被包括在被配置为在iPBX、远程服务器或者两者上进行操作的单个软件程序中。本发明的另一实施例提供了用于减少电话通信网络中的路径故障核实时间的方法700,如图7的流程图所示。该方法包括将连接到第2层交换机的多个因特网协议(IP)电话指定710为第3多路径(MP3)组的操作。MP3组中的所有IP电话具有相同的MP3标识(MP3-ID)。连接到还与一子网相连的多个第2层交换机的多个IP电话可以被指定720为第2多路径(MP2)组。MP2组中的所有IP电话具有相同的MP2标识(MP2-ID)。连接到与如下多个子网相连的多个第2层交换机的多个IP电话可以被指定730为第1多路径(MP1)组,所述多个子网连接到一网关路由器。MP1组中的所有IP电话具有相同的MP1标识(MP1-ID)。方法700还包括提供740连接到在MP1、MP2和MP3组中的多个IP电话的因特网协议公共分支交换(iPBX)服务器的操作。iPBX被配置为以所选择的周期性速率从每个已连接的IP电话接收心跳分组。通信网络中的至少一个潜在路径故障基于未能按所选择的周期性速率在iPBX处从特定IP电话接收至少一个心跳分组被标识750。该至少一个潜在路径故障基于特定IP电话的MP1-ID、MP2-ID和MP3-ID被确定。与潜在路径故障有关的信息被显示760以使得用户检查该潜在路径故障。MP3-ID可以基于第2层交换机的媒体访问控制(MAC)地址和第2层交换机端口ID中的至少一个。MP2-ID可以基于子网的因特网协议地址。MPl-ID可以基于网关路由器的因特网协议地址。用于连接到iPBX的每个IP电话的MP1-ID、MP2-ID和MP3-ID可以存储在iPBX中。至少一个潜在的多路径故障可以基于未能以所选择的周期性速率在iPBX处从多个IP电话接收至少一个心跳分组在通信网络中被标识出来。该至少一个潜在路径故障基于多个IP电话的MP1-ID、MP2-ID和MP3-ID被确定。在方法700的一个实施例中,多(N)个连接到第2层交换机的IP电话可以被指定为MP3组。MP3组中N个IP电话的每一个被配置为以大约每T个周期一次的速率向iPBX服务器发送心跳分组,其中,N是正整数,T是正实数。N个IP电话可以被同步以使得N个IP电话之一大约每T/N个周期发送其心跳分组,从而使得iPBX服务器能够大约每T/N个周期从MP3组接收一心跳分组。在前面的示例中,N和T的值被设为27来使得N个IP电话的每一个每27秒发送一心跳分组。同步使得心跳分组每秒在iPBX处被接收到。显然,可以基于通信系统的需要选择其它值,以使得IP电话在iPBX处以希望的速率进行报告。在方法700的另一实施例中,当确定了未能在iPBX处从特定IP电话接收至少一个心跳分组时,探测心跳可以从iPBX被发送到该特定IP电话。探测心跳被配置为从特定IP电话引出可在iPBX处接收到的响应心跳,以使得如果在预定时段内未在iPBX处接收到响应心跳则路径故障被核实。另外的探测心跳可以被发送到作为特定IP电话的同一MP3组中的至少一个另外的IP电话,以判定连接到该MP3组的通信路径是否出现故障。此外,另外的探测心跳可以从iPBX被发送到作为特定IP电话的同一MP2组和同一MP1组中的至少一个另外的IP电话,以判定连接到MP1和MP2组的至少一个的通信路径是否出现故障。虽然给出了与具有连接到iPBX服务器的多个IP电话的通信网络中的路径故障的核实有关的多个具体示例,但是,所公开的系统和方法还可以用于在具有多个连接在一起的计算设备的更一般的通信网络中的路径故障的快速核实。本发明的另一实施例提供了用于快速核实通信网络中的路径故障的方法800,如图8的流程图所示。该方法包括向连接到共同的L2交换机的第一组多个计算设备指派810相同的MP3标识值的操作。相同的MP2标识值可以被指派820给连接到共同的L2交换机和共同子网的第二组多个计算设备。相同的MP1标识值可以被指派830给连接到共同子网和共同L2交换机以及共同网关路由器的第三组多个计算设备。方法800还包括将每个计算设备的MP1、MP2和MP3标识值存储在连接到通信网络的路由器中840,其中,该路由器被配置为以所选择的周期性速率从每个已连接的计算设备接收心跳分组。通信网络中的至少一个潜在路径故障基于未能以所选择的周期性速率在路由器处从特定计算设备接收至少一个心跳分组而被标识,其中,基于特定计算设备的MP1-ID、MP2-ID和MP3-ID来确定该至少一个潜在路径故障。虽然前面的示例举例说明了本发明在一个或多个特定应用中的原理,然而,本领域的普通技术人员将清楚,在不脱离本发明的原理和概念的情况下,无需运用创造性能力就可以在实施方式的形式、使用和细节方面作出多种修改。因此,不希望本发明受除了下面阐述的权利要求之外的限制。权利要求一种用于减少电话通信网络中的路径故障标识时间的方法,包括将连接到第2层交换机的多个因特网协议IP电话指定为第3多路径MP3组,其中,在所述MP3组中的IP电话中的每个IP电话具有相同的MP3标识MP3-ID;将连接到与子网相连的多个第2层交换机的多个IP电话指定为第2多路径MP2组,其中,在所述MP2组中的多个IP电话中的每个IP电话具有相同的MP2标识MP2-ID;将连接到与连接到网关路由器的多个子网相连的多个第2层交换机的多个IP电话指定为第1多路径MP1组,其中,在所述MP1组中的多个IP电话中的每个IP电话具有相同的MP1标识MP1-ID;提供连接到所述MP1、MP2和MP3组中的多个IP电话的因特网协议公共分支交换iPBX服务器,其中,所述iPBX被配置为以所选择的周期性速率从每个已连接的IP电话接收心跳分组;基于未能以所述所选择的周期性速率在所述iPBX处从特定IP电话接收至少一个心跳分组来标识所述通信网络中的至少一个潜在路径故障,其中,所述至少一个潜在路径故障是基于所述特定IP电话的MP1-ID、MP2-ID和MP3-ID来确定的;以及显示与所述潜在路径故障有关的信息以使得用户能够检查所述潜在路径故障。2.如权利要求1所述的方法,还包括基于未能以所述所选择的周期性速率在所述iPBX处从多个IP电话接收至少一个心跳分组来标识所述通信网络中的至少一个潜在的多路径故障,其中,所述至少一个潜在的多路径故障是基于所述多个IP电话的MPl-ID、MP2-ID和MP3-ID确定的。3.如权利要求1所述的方法,还包括将每个IP电话的所述MP1-ID、所述MP2-ID和所述MP3-ID存储在与所述IP电话连接的所述iPBX中。4.如权利要求1所述的方法,还包括将连接到第2层交换机的多个、即N个IP电话指定为所述MP3组,其中,所述MP3组中的N个IP电话中的每个IP电话被配置为以大约每T个周期一次的速率向所述iPBX服务器发送心跳分组,其中,N是正整数并且T是正实数,并且所述N个IP电话被同步以使得所述N个IP电话中的每个IP电话大约每T/N个周期发送其心跳分组,从而使得所述iPBX服务器能够大约每T/N个周期从所述MP3组接收一心跳分组。5.如权利要求1所述的方法,还包括当确定了未能在所述iPBX处从特定IP电话接收到至少一个心跳分组时,将探测心跳从所述iPBX发送到所述特定IP电话,其中,所述探测心跳被配置为从所述特定IP电话引出可在所述iPBX处接收到的响应心跳,以使得如果在预定时段内未在所述iPBX处接收到响应心跳则路径故障能够被核实。6.—种用于监控电话通信网络中的心跳分组的系统,包括因特网协议公共分支交换iPBX服务器,其被连接到多个组的因特网协议IP电话,其中,每个组包括至少多个、即N个IP电话,并且所述iPBX被配置为至少每N个间隔一次地从每个组中的所述N个IP电话中的每个IP电话接收一心跳分组,其中,N是正整数;以及在iPBX服务器中操作的定时器管理器,该定时器管理器包括具有N+P个区段的经分区的定时器模块,该经分区的定时器模块具有以所选频率在所述定时器模块各处进行索引的定时器指针,其中,P是正整数;位于所述N+P个区段的每个区段中的电话对象列表;用于每个组中的所述N个IP电话中的每个IP电话的单独的电话对象,该单独的电话对象被附接到所述经分区的定时器模块中的电话对象列表之一,其中,当在所述iPBX处从相关联的IP电话接收到一心跳分组时,电话对象从其所在的区段中的电话对象列表被移除,并且所述电话对象被重新追加到所述定时器指针被索引的区段中的电话对象列表上;潜在路径故障模块,被配置为监控定时器指针被索引的每个电话对象列表,其中,位于该电话对象列表上的未被重新追加的每个电话对象被认为是潜在的路径故障。7.如权利要求6所述的系统,还包括心跳探测模块,其被配置为当所述定时器指针被索引到电话对象所在的定时器模块区段时,将一探测心跳从所述iPBX发送到与包含在所述电话对象列表中的电话对象相关联的每个特定IP电话,其中所述探测心跳被配置为从所述每个特定IP电话引出一响应心跳,使得所述响应心跳能够在所述iPBX处被接收,从而使得如果在预定时段内未接收到响应心跳则潜在路径故障能够被核实。8.如权利要求7所述的系统,还包括故障预测模块,其被配置为智能地展望所述定时器指针,以确定与在所述定时器指针前面的P个区段中的电话对象列表上包含的电话对象相关联的IP电话的潜在路径故障。9.如权利要求6所述的系统,其中,所述故障预测模块被配置为通过访问所述定时器指针前面的所述P个区段中的电话对象以确定所述MP3、MP2和MP1组中的哪些电话对象未能在N个间隔内将一心跳发送到所述iPBX,从而允许所述故障预测模块基于IP电话MPl、MP2和MP3地址确定与在所述P个区段中具有电话对象的IP电话相关联的路径,来确定至少一个路径故障。10.—种用于减少通信网络中的路径故障标识时间的方法,包括向连接到一共同的L2交换机的第一组多个计算设备指派相同的MP3标识值;向连接到所述共同的L2交换机和一共同子网的第二组多个计算设备指派相同的MP2标识值;向连接到所述共同子网和所述共同的L2交换机以及一共同的网关路由器的第三组多个计算设备指派相同的MPl标识值;将每个计算设备的所述MP1、MP2和MP3标识值存储在连接到所述通信网络的路由器中,其中,所述路由器被配置为以所选择的周期性速率从每个已连接的计算设备接收心跳分组;以及基于未能以所述所选择的周期性速率在所述路由器处从特定计算设备接收至少一个心跳分组来标识所述通信网络中的至少一个潜在路径故障,其中,所述至少一个潜在路径故障是基于所述特定计算设备的MP1-ID、MP2-ID和MP3-ID确定的。全文摘要本发明提供了快速检测通信路径故障的系统和方法。公开了用于减少通信网络中的路径故障的检测时间的系统和方法。基于计算设备的连通性将计算设备组织为至少三个组。基于计算设备的组指派向计算设备指派三个标识值。将每个计算设备的标识值存储在连接到通信网络的路由器中。定期从计算设备向路由器发送心跳分组。如果路由器未能从特定计算设备接收到心跳分组,则基于三个标识值确定从该路由器到该计算设备的通信路径。文档编号H04L12/24GK101753379SQ200910259119公开日2010年6月23日申请日期2009年12月11日优先权日2008年12月12日发明者建立·孙申请人:米特尔网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1