CN101677320B - 用可生存网络的控制器列表中的控制器的滑动窗口注册端点 - Google Patents
用可生存网络的控制器列表中的控制器的滑动窗口注册端点 Download PDFInfo
- Publication number
- CN101677320B CN101677320B CN200910161137.4A CN200910161137A CN101677320B CN 101677320 B CN101677320 B CN 101677320B CN 200910161137 A CN200910161137 A CN 200910161137A CN 101677320 B CN101677320 B CN 101677320B
- Authority
- CN
- China
- Prior art keywords
- server
- client computer
- subset
- sip
- controller
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000004044 response Effects 0.000 claims description 63
- 238000012544 monitoring process Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 description 52
- 230000011664 signaling Effects 0.000 description 37
- 239000003795 chemical substances by application Substances 0.000 description 18
- 238000011084 recovery Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000000344 soap Substances 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000003862 health status Effects 0.000 description 3
- 238000013329 compounding Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001568 sexual effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1046—Call controllers; Call servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1093—In-session procedures by adding participants; by removing participants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及用可生存网络的控制器列表中的控制器的滑动窗口来注册端点。提供了用于保持SIP可生存网络的方法、设备和系统。SIP端点保持其可用的控制器的有序列表并注册到包含列表中的前N个控制器的子集,并从该子集中的一个或更多个控制器获得服务,其中N是列表中的多个但不是全部控制器。如果子集的控制器中的一个变得不可用,则端点注册到列表中的第N+1个控制器,从而将其添加至子集。如果并且当一个控制器再次变得可用时,端点取消注册到第N+1个控制器,从而将其从子集中去除,并且如果需要的话重新注册到一个控制器。这样,子集形成了列表上的滑动窗口。
Description
相关申请的交叉引用
本后续申请要求下述申请的申请日的优先权:
于2008年3月26日提交的Baker等人的美国申请No.12/056246,“Simultaneous Action registration in a SIP Survivable NetworkConfiguration(SIP可生存网络配置中的同时行动注册)”;
于2008年3月26日提交的Baker等人的美国申请No.12/056248,“Survivable Gateway Behavior Using SIP Signaling in a SIP NetworkConfiguration(使用SIP网络配置中的SIP信令的可生存网关行为)”;
于2008年3月26日提交的Baker等人的美国申请No.12/056250,“Survivable Phone Behavior Using SIP Signaling in a SIP NetworkConfiguration(使用SIP网络配置中的SIP信令的可生存电话行为)”;
于2008年3月26日提交的Baker等人的美国申请No.12/056253,“Failover/Failback Trigger Using SIP Messages in a SIP SurvivableConfiguration(使用SIP可生存配置中的SIP消息的故障切换/故障恢复触发器)”;
上述所有申请都被转让给了与本申请相同的受让人。
技术领域
本发明总体上涉及通信网络,并且更具体地涉及可生存网络。
背景技术
在客户机/服务器系统架构中,客户机实体从服务器实体接收服务。例如,电话从电话交换机接收呼叫连接和功能服务。为了可靠性的目的,可复制服务器,从而如果服务器的一个拷贝出现故障,另一个拷贝可接管并继续向被影响的客户机提供服务。这通常被分别称为冗余和故障切换。
与服务器执行客户机的故障切换相反,现代通信系统通常需要由客户机实现到冗余服务器的故障切换。客户机必须可通信地连接至服务器并将其自己注册到服务器,从而从该服务器接收服务。这意味着为了从故障服务器故障切换至冗余服务器,客户机必须二者择其一地或同时地注册到这两个服务器。
在更替(alternate)注册中,客户机配备有其可使用的服务器的列表,并且客户机一次仅注册到那些服务器中的一个服务器并且从该服务器获得服务。如果并且当该服务器出现故障时,则客户机注册到另一个服务器并从该另一个服务器获得服务。如果并且当第二个服务器出现故障时,则客户机注册到第三个服务器并从该第三个服务器获得服务。依此类推。因为注册花费一些时间,更替注册会导致每一次客户机故障切换至另一个服务器时,在客户机获得服务时都有延迟。
在同时注册中,客户机具有其可使用的服务器的列表,并且其一次注册到所有那些服务器。客户机在任何一个时间都从这些服务器中的一个服务器获得其服务,并且如果该服务器出现故障,则客户机准备好立即开始从其他服务器中的一个接收服务。这要求客户机全部一次创建并保持与所有服务器的连接。这是对通信网络资源的浪费,因为任何一个时刻都仅使用那些连接中的一个。
会出现这些问题的一个环境是会话启动协议(SIP)可生存网络。会话启动协议(SIP)是一种用于建立多种实时通信会话的开放信令协议。可使用SIP建立的通信会话的类型的例子包括:语音、视频、游戏、应用和/或即时消息传递。这些通信会话可在任何类型的通信设备上被执行,所述通信设备例如是个人计算机、膝上型计算机、个人数字助理(PDA)、蜂窝电话、IM客户机、IP电话、传统电话、服务器应用、应用集合、桌面应用等。
SIP的一个特点是其针对与端用户、应用程序和服务提供商网络的所有通信都使用地址记录(AOR)作为单个统一公共地址的能力。这样,在SIP增强通信的世界中,用户的AOR成为了它们的将用户与和用户相关联的所有通信设备相链接的单个地址。使用该AOR,呼叫者不必知道电话号码或唯一的设备地址中的每一个就可达到用户的通信设备(也被称为用户代理(UA))中的任何一个。
许多SIP应用服务器是为了如下目的而存在的:使得能够在SIP环境下运行通信应用,并且用作UA的呼出(outbound)代理,从而允许建立复杂网络,同时通过设备连接进入网络所使用的代理来隐藏其复杂性。这样的通信应用的主要领域之一是SIP UA的呼叫控制。针对提供可生存SIP网络配置的问题的解决方案包括使用在不存在对SIP信令的响应时使用的SIP代理。该代理可以用于经由网络中的一个或多个可供替换的路由对信令进行路由。单独的代理的使用会变得昂贵,因为需要除呼叫控制器或网关以外的附加网络单元来提供可生存性。
其他网络服务器产品提供地球冗余(geo-redundant)配置,从而由于网络服务器的高可用性,网关不易遭遇网络服务器故障。与代理的使用相似,该特定解决方案相对昂贵,因为需要购买并通过网络分布高可用性服务器。已知的当前解决方案的其他缺点包括如果主SIP信令路径不可用则不允许网络单元(element)(例如网关)使用可供另外的路径的事实;这样的解决方案需要热备用配置,并且跨服务器复制数据;并且它们要求主呼叫控制器和次呼叫控制器使用完全相同版本的SIP,并且将完全相同的SIP特征组提供给SIP端点。
确定何时出现网络故障的逻辑已经被传统地置于路由器中,所述路由器具有检查网络的IP层以确定各种网络单元是否正在正确运行的能力。该故障/故障恢复检测逻辑已被置于路由器中,以减轻其余网络组件的处理负担。该特定配置的一个主要缺点在于路由器不能在SIP应用级别检测服务器或其他网络单元是否可操作。可能存在服务器在IP层级别上可操作但SIP控制器不可操作的多种情况。迄今为止,现有技术的路由器和其他网络单元已不能在这些情况下识别这样的故障条件,并且会将这样的服务器注册为可操作的。因此,已提出将故障确定逻辑置于启用会话启动协议(SIP)的通信端点中,并且使得SIP端点能够实现更替注册或同时注册到多个SIP控制器。
发明内容
根据本发明的一个方面,客户机(例如,SIP UA)同时注册到其可用的服务器(例如,SIP控制器)的一个子集,以从该子集的服务器中的至少一个获得服务。该子集包括可用服务器中的多个但不是全部。如果并且当子集中的服务器之一出现故障时,客户机另外地注册到仍然在子集外部的服务器之一,从而使该服务器进入子集。因此,该技术在更替注册和同时注册之间进行了折衷。示例地,子集的大小对于所有客户机可以是相同的。可供替换地,子集的大小可根据诸如它们的位置和其用户是谁的因素而在客户机之间变化。
根据本发明的另一个方面,可用服务器被排列为序列,优选地以它们应被客户机使用以获得服务的优先级顺序排列。初始地,子集包含序列的前N个服务器。如果该子集中的服务器之一出现故障,则客户机注册到该序列中的第N+1个服务器,该第N+1个服务器是在该序列中紧接在该子集之后的服务器,从而使该新的服务器进入子集。针对子集中的每个服务器故障重复上述操作。优选地,无论何时子集中的故障服务器之一恢复服务,客户机都取消注册到子集中的最后一个服务器,并且如果必要的话,重新注册到恢复的服务器。因此,子集形成了可用服务器的序列上的一个滑动窗口。
此处所使用的“监控”包括与用仪器观察、记录或检测相关的任何类型的功能,所述仪器对被监控的单元或单元组的操作或条件没有影响。
如此处所使用的,“至少一个”、“一个或更多”和“和/或”是在操作上既有联系又分离的开放式表达。例如,表达“A,B和C中的至少一个”、“A,B或C中的至少一个”、“A,B和C中的一个或更多”、“A,B或C中的一个或更多”和“A,B和/或C”中的每一个都是指单独A、单独B、单独C、A和B一起、A和C一起、B和C一起、或A、B和C一起。
术语“某个(a,an)”实体是指一个或多个该实体。因此,在此处术语“某个”、“一个或更多”和“至少一个”可互换地使用。也要注意,术语“包括”、“包含”和“具有”可互换地使用。
此处使用的术语“自动”及其变形是指当执行处理或操作时,没有实质(material)人工输入就完成的任何处理或操作。然而,处理或操作可以是自动的,即使该处理或操作的执行使用在执行该处理或操作之前接收到的人工输入,无论该人工输入是实质的还是非实质的。如果人工输入影响将如何执行处理或操作,则这样的输入被视为是实质的。同意执行处理或操作的人工输入不被视为是“实质”的。
此处所使用的术语“计算机可读介质”是指参与向处理器提供指令以供执行的任何有形存储装置和/或传输介质。计算机可读介质可以是通过IP网络(例如,SOAP)在网络传输中编码的串行化指令组。这样的介质可采用许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如NVRAM或磁盘或光盘。易失性介质包括动态存储器(例如,RAM),诸如主存储器。计算机可读介质的常见形式包括:例如软盘(floppy disk)、柔性盘(flexible disk)、硬盘、磁带或任何其他的磁性介质、磁光介质、CD-ROM、任何其他的光学介质、穿孔卡片、纸带、具有孔的图案的任何其他物理介质、RAM、PROM、EPROM、闪速EPROM、诸如存储卡的固态介质、任何其他的存储芯片或卡带、如下文中描述的载波、或计算机可读取的任何其他介质。附在电子邮件或其他独立信息档案或档案组的数字文件附件被视为与有形存储介质等同的分发介质。当计算机可读介质被配置为数据库时,应理解数据库可以是任何类型的数据库,诸如关系型的、分级的、面向对象的等。因此,本发明被看作包括有形存储介质或分布介质以及现有技术已知的等同物和后续介质,其中存储了本发明的软件实现。
此处使用的术语“确定”、“算(calculate)”和“计算(compute)”及其变形被互换地使用,并且包括任何类型的方法论、处理、数学运算或技术。更具体地讲,这样的术语可包括像BPEL的解释规则或其中逻辑没有被硬编码而是表示在可读取、解释、编译和执行的规则文件中的规则语言。
此处使用的术语“模块”或“工具”是指任何已知或稍后开发的硬件、软件、固件、人工智能、模糊逻辑或能够执行与该单元相关联的功能的硬件和软件的组合。并且,尽管本发明是通过示例性实施例被描述的,但是应理解,可单独地对本发明的各个方面要求权利保护。
前述内容是本发明的简化概要,以提供对本发明一些方面的理解。所述概要既不是本发明及其各个实施例的扩展的概述,也不是本发明及其各个实施例的穷尽的概述。其既不是为了确定本发明的关键或重要的要素,也不是为了界定本发明的范围,而是为了以简化的形式呈现本发明的选择的构思作为对下述更详细的说明的介绍。应理解为,本发明的其他实施例可以单独或组合使用以上陈述的或在以下详细描述的特征中的一个或更多特征。
附图说明
图1是描绘根据本发明的至少一些实施例的通信系统的框图;
图2是描绘示例性SIP控制器的发现和注册方法的流程图;
图3是描绘示例性状态确定方法的流程图;
图4是描绘示例性被动状态确定方法的流程图;
图5是描绘示例性网关操作方法的流程图;
图6是描绘端点的示例性状态确定方法的流程图;以及
图7是描绘示例性状态通知方法的流程图。
具体实施方式
下面结合示例性通信系统举例说明本发明。尽管适合被用于例如使用(一个或多个)服务器和/或(一个或多个)数据库的系统,但是本发明不限于被用于任何特定类型的通信系统或系统单元的配置。此外,此处使用的术语“数据库”不仅可包括关系数据库系统,还包括可在硬件和软件、RAM或硬盘上提供的任何计算机存储机制。本领域技术人员将认识到所公开的技术可在其中希望保持SIP可生存网络的任何通信应用中使用。
还将关于分析软件、模块和相关的分析硬件描述本发明的示例性系统和方法。然而,为了避免不必要地使本发明模糊,以下描述省略了熟知的结构、部件和装置,它们可以框图形式示出、是熟知的或者被概述。这些熟知的结构的例子包括但不限于IP基础结构、第二层交换机、IP层路由器、IP级防火墙、网络地址转换(NAT)设备、SIP会话边界控制器(SBC)等。
为了说明的目的,详述了许多细节以便提供对本发明的全面理解。然而,应理解,可在此处详述的具体细节以外以各种方式实施本发明。
先参照图1,图1示出了示例性通信系统100体系结构。通信系统100包括将诸如SIP用户代理(UA)108的端点连接至多个其他通信设备的第一网络104。UA 108可适于与连接至第一网络104的其他端点以及第一网络104外部的其他端点通信。例如,UA 108可适于与连接至第二网络152的外部端点156通信。
第一网络104和第二网络152可对应于任何类型的已知通信网络或通信设备的集合。第一网络104可包括局域网(LAN)、广域网(WAN)或任何其他类型的如由OSI模型定义的那样的第三层和第四层网络。
第二网络152可包括任何类型的信息传输介质并且可使用任何类型的协议在端点之间传输消息。因特网是通信网络104的一个例子,所述通信网络104构成了由通过许多电话系统和其他装置连接的、位于世界各地的许多计算机和其他通信设备组成的IP网络。第二网络152的其他例子包括但不限于:标准普通旧式电话系统(POTS)、综合业务数字网络(ISDN)、公共交换电话网络(PSTN)、LAN、WAN、蜂窝通信网络和本领域中已知的任何其他类型的分组交换或电路交换网络。通信网络104和152都可包括有线和/或无线通信技术。
客户机UA 108的SIP功能可由也连接至第一网络104的一个或更多服务器136提供。客户机UA 108也可由第一网络104外部的其他服务器或通信设备控制。例如,将第一网络104与第二网络152相连接的网关148也可适于为UA 108提供SIP控制能力。
除了提供SIP功能,服务器136还可包括语音呼叫软件(例如,VoIP软件)、视频呼叫软件、IM软件、语音消息传递软件(例如,诸如音频和视频消息传递、IM消息传递等的多媒体消息传递)、记录软件、IP语音服务器、传真服务器、web服务器、电子邮件服务器、(一个或多个)呼叫中心应用等。
根据本发明的实施例,服务器136可包括诸如轻量级目录访问协议(LDAP)、H.248、H.323、简单邮件传输协议(SMTP)、网际消息访问协议4(IMAP4)、综合业务数字网络(ISDN)、E1/T1、HTTP、SOAP、XCAP、STUN之类的各种其他协议的接口,以及模拟线路或干线(trunk)。
服务器136也可以包括PBX、自动呼叫分配器(例如,ACD)、企业交换机、或其他类型的通信系统交换机(例如,能够将呼叫从一个电话路由到另一个的任何设备,诸如通过根据所拨打的电话号码,将两个或更多电路连接在一起而运行的集中式交换机中的复合机(或一连串复合机),其中每一个电路都与用户电话相连接)或服务器、以及其他类型的诸如媒体服务器、计算机、附件等的基于处理器的通信控制设备。
网关148被设置为在诸如PSTN、下一代网络、2G、2.5G和3G无线电接入网络、或PBX的不同电信网络之间充当转换单元。网关148的功能之一是在各种网络的不同传输和编码技术之间转换。网关148也可支持诸如回音消除、DTMF和音频发送器的媒体流式传输功能。网关148还可将信号/消息从一个网络操作范例(例如,传输协议)转换成另一个。
为了向客户机UA 108提供SIP功能,服务器136和/或网关148可包括一个或更多控制器140a-N。UA 108可适于一次注册到控制器140a-N中的一个或多个。如此处使用的,术语“注册”是指SIP注册和网络连接方法和处理,其包括但不限于SIP REGISTER消息的发送和确认,并且可包括其他机制,诸如用于订阅的SUBSCRIBE消息、使用OPTIONS消息的询问,以及诸如使用STUN协议的NAT检测和防火墙、HTTP询问等的其他非SIP机制。
控制器140a-N可对应于驻留在服务器136上的应用或固件,并且控制器140a-N可用于处理被引导至所控制的UA 108或从其接收的SIP消息。由控制器140a-N处理的SIP消息可对应于由UA 108发起并指向另一个端点156的呼出SIP消息、或由另一个端点156发起并指向UA 108的呼入SIP消息。控制器140a-N可在通信系统100的应用层操作。
根据本发明的至少一个实施例,UA 108能够同时注册到两个或更多但不是全部控制器140。UA 108同时注册到的控制器140中的每一个可包括不同属性,并因此能够向UA 108提供不同的SIP功能。例如,UA 108可同时注册到使用扩展的扩展(extended extension)(即高级特征组)的第一控制器140a、和使用服从标准因特网工程任务组(IETF)的SIP扩展的第二控制器140b,所述服从标准互联网工程任务组的SIP扩展用于根据包括但不限于RFC 3261的SIP协议的一个或更多IETF RFC进行呼叫处理。
在同时注册配置中,UA 108能够进行活动-活动注册或活动-待机注册。在活动-活动注册中,UA 108可从任何其注册到的控制器140接受SIP消息,并向其注册到的任何控制器140发送SIP消息,而无需确定该消息是否正被发送至或来自主控制器140。然而,在活动-待机注册配置中,UA 108仅可使用活动的控制器140用于SIP信令的目的,除非活动的控制器140中的一个或更多变得不可操作。在这样的配置中,如果从待机的控制器140接收到消息,并且UA 108相信相应的主控制器140是可操作的,则UA 108可以将SIP消息发送回待机的控制器140以便经由主控制器140重新路由。
根据本发明的其他实施例,UA 108可执行到控制器140a-N的优先注册,从而UA 108注册到第一控制器140a,除非UA 108确定第一控制器140a不能服务,或不可用于提供SIP功能,在该情况下UA 108可注册到第二控制器140b。
根据本发明的其他实施例,可使用对等SIP网络配置,在该情况下UA 108可注册到另一端点或多个端点上的控制器140。
UA 108可包括存储器112和用于执行存储在存储器112中的例程并处理呼入/呼出SIP消息和媒体的处理器124。存储器112示例性地包括发现模块116和控制器的列表120。发现模块116被用于在包括能够控制UA 108的控制器140的系统100中发现设备。根据本发明的至少一些实施例,发现模块116可适于发出任何可用控制器140都可对其作出响应的发现请求。基于从控制器140接收到的(一个或多个)(或者没有)响应,发现模块116将列表120填充以多个控制器140。然后,发现模块116能够基于控制器140的各个属性132创建包括控制器140的优先级列表的有序列表128。然后,UA 108可基于有序列表128中的控制器140的顺序确定注册到哪个控制器140。
除了提供发现控制器140和在控制器140之间仲裁的能力,发现模块116还可以适于监控通信系统100的状态,以确定是否存在任何当前网络104故障、服务器136故障、网关148故障或可能影响UA 108与其控制器140之间的关系的任何其他类型的故障。如本文中将更详细地讨论的,发现模决116可适于主动地和被动地(reactively)监控系统100及其部件的状态。在主动地监控系统100的状态时,发现模块116可使用非对话SIP消息和预定逻辑一起确定系统100的状态。可以由另一个系统100部件(例如,网关148)另外地提示UA 108,以开始被动地监控系统100的状态。向UA 108提供监控系统100的状态的能力减轻了诸如路由器的其他部件的处理负担。这允许每一个UA 108都独立地监控系统100的状态,其提供了系统100的更多观点(view),并且允许每一个UA 108都保持它自己的对其控制器140的记录。换句话说,通过使用来自系统100中的UA 108和其他部件(例如,网关148和/或服务器136)的智能的组合,可获得系统100的状态的更准确的和最新的了解。允许UA 108检查网络连接层的可操作性(例如,通过经系统100发送IP分组)、SIP应用层的可操作性(例如,通过经系统100发送SIP消息)、以及这两者的集合,可进一步提高系统健康了解的准确度。
服务器136和网关148也可包括用于评估系统100的状态的发现模块144。更具体地讲,每一个发现模块144都可用于独立地监控各个对等部件(例如,与包括发现模块144的设备相邻的系统100部件)以及远端部件(例如,与包括发现模块144的设备不相邻的系统100部件)的状态。每一个发现模块144都可用于独立地评估系统100和其中的部件的状态。
发现模块144可包括能够由用户代理108或其他端点156以集群的方式(即,多个服务器136能够回答端点提出的“我使用哪个控制器”的问题)或作为个体访问的软件模块。可使用多个协议来实现发现模块144,并且发现模块144可进一步一次支持多个协议。更具体地讲,每一个发现模块144可适于支持SOAP/HTTP、SXAP(类似SOAP基于HTTP标准的另一个XML)、以及甚至SIP(例如,通过在SIP消息的主体中设置控制器140的列表)中的一个或多个。
发现模块144可适于通过规则处理来确定对于给定用户代理108它自己的控制器列表(它可根据请求最终将该控制器列表提供给用户代理108)。该规则处理可以被硬编码(例如,Java编码)或可包括规则引擎,所述规则引擎采用诸如XML的脚本,对其进行分析,并且当它想要确定哪个是对于请求控制器列表的用户代理108来说最适合的控制器140时执行该脚本。可包括在算法中的规则的类型包括但不限于:
(1)网络位置检查,其分析原始网络拓扑(例如,通过分析通过网络发送的IP分组)以确定对于用户代理108来说最适合的控制器140。这样的规则组可包括带宽管理功能,其中发现模块144检查进行请求的用户代理108的IP,然后查找列出了最佳可用带宽的带宽储存器,然后选择用户代理108的最佳匹配控制器140。在该情况下,最佳匹配可能对应于包括在用户代理108附近最近的控制器140并具有可用带宽的服务器136;
(2)安全检查算法,因为可能存在用户代理108为了安全目的而应连接至特定服务器136/控制器140的某些情况。例如,CEO的电话可能想要仅连接至一直被监控并且在几秒内被修补(patch)的最安全的服务器。另一方面,可允许技术支持电话连接至形成服务器群(server farm)的一组服务器136中的任何一个,其中安全性修补在24小时内被处理;
(3)用户分配算法,其中发现模块144可检查哪个或哪些服务器136可为特定用户提供服务的映射(mapping)。如果存在多个服务器,诸如在地球冗余配置中,则可在响应中返回多个控制器140;
(4)业务规则算法,其中发现模块144可在说明所有销售人员使用一个服务器136而所有技术支持人员使用另一个服务器的脚本中具有客户提供的关联(hook);
(5)设备模态算法,当进行请求的用户代理108在寻找控制器140时表达其模式(例如,语音、即时消息(IM)、视频等)时可以启动该设备模态算法。当使用该算法时,发现模块144可查找内部能力分配以选择为用户提供最多模式类型的最佳控制器140。例如,可进行语音和IM的用户代理108更喜欢能够支持这两种功能的服务器136而不是仅语音服务器;以及
(6)协议兼容性算法,当进行请求的用户代理108识别其支持特定协议组时启动该算法。这在SIP中特别有用,因为SIP是多个协议扩展。当进行请求的用户代理108需要控制器140时,其可表达其支持的协议特征(例如,现有(presence)订阅或一般订阅),并且服务器可找到该类型的用户代理108的最佳匹配。
现在参照图2,将根据本发明的至少一些实施例描述SIP控制器140发现和注册方法。该方法可以由诸如通信系统100中的UA 108的端点执行。通信系统中的每一个UA 108都可适于发现和注册到不同控制器140。当端点发送出发现消息时开始该方法(步骤204)。根据本发明的至少一个实施例,发现消息包括任何已知类型的发现消息,所述发现消息包括可被发送至系统100中的一个或更多其他部件以测试/询问部件的SIP功能的SIP消息(例如,OPTIONS消息、NOTIFY消息或SUBSCRIBE消息)。
当包括控制器140的系统100中的其他部件(例如,服务器136和/或网关148)接收到发现消息时,该部件用响应消息响应发现消息。可供替换地,如果没有部件当前可用于响应发现消息,则没有响应消息被发送回发起的端点。然后在发起端点处接收(一个或多个)控制器140的响应消息(步骤208)。由于端点接收了对定向发现消息的响应或者没有接收到响应,端点将使用其发现模块116来填充控制器的列表120。
响应消息还可包括每一个作出响应的控制器140的属性132。响应消息中包含的属性信息的例子包括但不限于相应的服务器136或网关148的处理能力、由控制器140提供的SIP扩展(即,SIP功能)、UA当前注册到的控制器140的数量、控制器140与端点的邻近性(即,端点和对应的设备之间的跳跃的数量)等。端点的发现模块116可使用属性信息来仲裁列表120中的控制器140的顺序,以形成有序列表128(步骤212)。发现模块116可使用任何类型的已知仲裁算法来确定控制器140的顺序。例如,发现模块116可试图最优化对所有控制器140列出的所有属性。可供替换地,发现模块116可将具有最适合于端点需要的所选属性的控制器140置于有序列表128中的最高位置。
在端点的发现模块116已产生控制器128的有序列表之后,发现模块116确定端点将注册到的控制器140的数量N(步骤214),即,其选择有序列表128中的“窗口”的大小。根据本发明的一个方面,数量N是管理地预定的。根据本发明的另一个方面,数量N是根据发现模块116使用的、考虑到诸如有序列表128中的控制器140的属性132之类的准则的一组规则来确定的。然后,发现模块116选择其将要注册到的N个控制器(步骤216)。数量N是大于1但小于列表128中的控制器140的总数的整数。可基于控制器140在控制器的有序列表128中的相应的次序来选择控制器140。根据本发明的至少一个实施例,发现模块116可从服务器136选择控制器140,并且从网关148选择控制器140,以便同时注册。在活动-待机配置中,端点可选择一个服务器136的控制器140作为主控制器,并选择其他服务器136和/或网关148的控制器140作为次控制器或备用控制器。
在选择了控制器140之后,使得端点能够注册到所选择的控制器140(步骤220)。根据本发明的至少一些实施例,端点可适于注册到具有不同能力和SIP特征的控制器140。例如,可允许端点同时注册到使用扩展的SIP扩展的第一控制器140和使用标准SIP扩展的第二控制器140。扩展的SIP扩展可由第一控制器140使用,以提供不可通过第二控制器140实现的附加特征。
可发送SIP REGISTER、SUBSCRIBE、或OPTIONS消息或其他SIP信令来检测主控制器140是否仍然在线并且可用于便利SIP消息传递。例如,SIP REGISTER消息可由端点发送至所选择的控制器140,以启动注册处理。除了给端点提供注册到其控制器140的能力以外,SIP REGISTER消息也可用作控制器140的心跳(heartbeat)。SIP REGISTER消息的发送频率可以是用户可基于系统要求来配置的。换句话说,端点可向其注册到的任何控制器140发送刷新注册。
在活动-待机和活动-活动配置这两者中,端点同时注册到所有其选择的控制器140。在其操作期间,端点可以(例如,通过后续SIPREGISTER消息的定期发送)试图保持同时活动注册到控制器140。在活动-活动配置中,可允许端点向其注册到的控制器140中的任何一个发送/从其接收SIP消息。在这样的配置中,端点将同时注册到两个或更多控制器140。该双重注册将允许来自该端点注册到的控制器140中的任何一个(例如,第一控制器140a、第二控制器140b、第三控制器140c等中的任一个)的呼入SIP请求(例如,SIP INVITE消息)。如果端点被配置为具有使用活动-活动控制器模型的策略,则端点可将来自之前发生故障的控制器140的呼入呼叫视为好像该呼入呼叫来自服务中的控制器140一样。当这种情况发生时,端点可重新尝试该算法以检测发生故障的服务器是否已可重新使用。端点将被配置为允许从任何控制器140接收这样的SIP消息。根据本发明的至少一些实施例,端点将把这些注册看作独立的注册,保持每一个注册都具有此处所讨论的注册逻辑。更具体地讲,将允许端点把同一AOR注册到每一个控制器,尽管端点的实现可以是灵活的以包括不同的AOR。这对于活动-待机配置也是如此。
另一方面,在活动-待机配置中,可仅允许端点对呼出呼叫进行路由并且从其主控制器140接收呼入呼叫。在可操作时,该主控制器140也可被称为活动呼叫控制器140。该端点注册到的其他控制器140可被称为不活动或待机控制器。
在活动-待机配置中,如果端点从次控制器或待机控制器140接收到呼入呼叫,同时端点在其主模式下(即,端点相信主控制器140是活动的),则端点将:
(1)用100尝试消息响应次控制器140;
(2)将REGISTRATION刷新发送至主控制器140以检测主控制器是否仍然在线并且可用于便利SIP消息传递;
(3)如果主控制器140仍然在线,则端点将305重新定向响应(即,使用代理)发送至次控制器140。305重新定向响应将拒绝经由次呼叫控制器的呼叫,并且请求次控制器140经由主控制器140对信令进行重新路由;以及
(4)如果主控制器不再在线,则端点将为接收到的呼叫提供标准呼叫处理。作为该处理的一部分,端点将从主控制器140故障切换至次控制器140,并且刷新其到次控制器140的注册。
在活动-待机配置中,如果端点正在故障切换模式下操作(即,假设其主控制器140的状态是不可使用的并且正使用次控制器140作为活动控制器)时从其主控制器140接收到呼入呼叫,则可拒绝该呼叫。
在故障条件或当端点相信系统100部件不可使用时的任何其他时间期间,端点将不尝试与主控制器140建立实时通信会话。此外,端点将故障切换至控制器的有序列表128上的第二个或下一个控制器140。经由可生存(即次、第三或备用)控制器140对呼叫信令进行路由将允许端点的用户在故障期间进行和接收新的呼叫。
作为将在下面更详细地描述的故障切换/故障恢复处理的一部分,端点将识别活动控制器140的地址,并进一步得到该控制器140支持的属性和相关联的特征。换句话说,例如,端点可适于得到其注册到的控制器140是被指定为“扩展的/私有的SIP”还是“基本的SIP”。端点的发现模块116可适于使用下述逻辑来发现控制器是使用扩展的SIP还是基本的SIP:
(1)在故障切换或故障恢复时,端点将刷新或更新其到每一个控制器140的注册;
(2)作为该处理的一部分,端点将尝试对次控制器140重新订阅所有的主控制器140特征包;
(3)当端点将SUBSCRIBE请求发送至次控制器140时,如果次控制器仅支持基本SIP操作,则次控制器将不识别特征订阅请求;然后
(4)简单的次控制器140将响应以客户机错误405方法不被允许。
端点可使用该信息来将次控制器140识别为遵从标准IETF SIP的控制器140。然后,在故障切换模式下操作时,端点将在其用户界面(UI)上仅显示基本SIP特征。如果活动的控制器140被指定为“扩展的”(例如,因为其恰当地对SUBSCRIBER请求作出了响应),则端点将为呼叫和特征处理使用具有扩展的扩展的SIP并显示兼容的UI。
活动-待机配置中可设置的其他功能包括但不限于:
(1)端点从不将呼出呼叫路由至不活动的控制器140;
(2)当端点从活动的控制器140故障切换至待机的控制器140时,之前活动的控制器140将被指定为不活动的并且之前不活动的控制器将被指定为活动的;
(3)在故障切换至指定的控制器140之前,端点将进行等待,直到已完成所有活动呼叫。换句话说,端点将不从新指定的活动控制器140接受新的呼入呼叫,直到已完成(一个或多个)活动的呼叫(即,直到端点为(一个或多个)活动的呼叫从网络104接收到BYE消息或呼叫方已挂断)。相似地,将不允许新的呼出呼叫,直到完成故障切换;以及
(4)如果端点在使用次控制器140时,从不可用(out ofservice)的主控制器140接收到任何信令信息,则将忽略来自被标记为不可用的主控制器140的信令消息。然而,对于该规则有一个例外。也就是说,如果端点从其主控制器140接收到告诉其进行重新注册的NOTIFY消息,则端点将开始刷新或试图刷新其注册。在该情况下,端点将使用上述标准SIP处理对NOTIFY作出响应。
在端点已注册到其相应的(一个或多个)控制器140之后,本方法结束(步骤224)。
现在参照图3,将根据本发明的至少一些实施例描述通信系统100状态确定方法。在可生存配置中,对于网关148来说可能重要的是,网关148被配置为检测何时经由主或次信令路径对呼叫信令进行路由。当网关148将SIP OPTIONS消息发送至通信系统100中的另一个部件时开始该方法(步骤304)。这样的部件可以对应于启用了SIP的部件。该部件还可对应于对等部件(即,与网关148相邻的部件)和/或远端部件(即在它们和网关148之间具有至少一个中间部件的部件)。应少量地进行对SIP远端部件的主动监控,通常仅当系统100管理员知道中间部件不能够监控它们的对等部件时才进行主动监控。网关148可发送具有Max-Forwards=0的设定的SIP OPTIONS消息,从而确保OPTIONS消息不经过多于一个跳跃(即,其以对等部件为目标)。
如本领域技术人员可理解的,尽管此处描述了使用SIPOPTIONS消息的监控技术,但是也可使用任何其他类型的非对话SIP事务来监控通信系统100的状态和其中的部件。更具体地讲,可发送通用SIP消息(例如,INFO METHOD,MESSAGE METHOD或甚至空SIP消息)来请求(invoke)任何类型的基于SIP的响应。由网关148发送的SIP消息也可包括将由消息接收方执行的指令。例如,SIP消息可以被产生为包括可扩展标记语言(XML)消息,该可扩展标记语言消息报告网关148和由网关148监控的诸如对等部件的任何其他部件的健康状况、以及由接收方基于所报告的网关148的健康状况所要采取的行动。
在网关148发送出SIP OPTIONS消息之后,其等待接收响应(步骤308和312)。网关148等待接收响应的时间量可基于系统100特性而变化。根据本发明的至少一个实施例,网关148等待的时间长度可通过实现诸如SIP计时器B或SIP计时器F(SIP计时器B和F是RFC 3261中定义的标准SIP定时器)的SIP计时器功能来确定,如果在发送了请求之后的预定数量的秒内没有接收到SIP消息,则所述SIP计时器B或SIP计时器F取消SIP信令事务(诸如SIP INVITE消息)。如果接收到任何SIP响应(即使是100尝试),则取消计时器B或计时器F或将其短路。然而,如果计时器B开始计时,则可要求网关148取消冲突的(offending)SIP事务,并试图使用替换的路线对该请求进行路由。如果网关148已知的所有路由地址都已用尽,则SIP网关148可用408请求超时(Request Timeout)对原始SIP信令事务作出响应。
一旦接收到响应(例如,作为实际响应或作为在预定量的时间内没有接收到响应的确定),该方法继续并且网关148使用发现模块144来确定响应是否对应于故障情况(步骤316)。如果满足下述条件中的任何一个,则该响应可指示网络104或系统100部件已出现故障:
(1)由于超时而导致的OPTIONS监控请求失败;
(2)由于事务超时和/或SIP计时器B超时(对于INVITE事务)而导致的预定数量个(例如5个)连续的SIP请求事务失败;或
(3)如果并且仅当逐跳跃地(即Max-Forwards=1)并且非端对端地(即Max-Forwards>1)地执行监控时,接收到针对OPTIONS监控请求的具有之后重试头部(Retry-After header)的任何400或500等级(class)响应,并且至少在之后重试头部中指定的时间段内,地址被标记为“过载”。
对于情况(3),包括该地址的IP地址的现有对话应继续使用该地址,除非发生故障,但端点不应将该地址用于新对话,直到其已经恢复。在现有对话正在使用主机名而非IP地址的情况下,将进行对于每一个事务对该主机名的解析(resolution),并且所返回的地址将为可用的最高优先级的地址。如果主机名仅解析为单个IP地址,并且该地址被标记为“过载”,则应发送请求。条件(3)的实际效果是网关148的发现模块144应意识到三个状态:可用;不可用;和过载。被标记为过载的地址继续接收对话内的后续请求,但不接收新的对话请求。
如果基于对OPTIONS消息的响应,网关148的发现模块144确定不存在故障条件并且系统100处于正常操作状态下,则发现模块144将通过确定响应中是否包括指令而继续(步骤320)。发现模块144可以对该响应进行分析,以寻找包括在响应中或附于响应(即,在消息的头部或尾部(footer)中)的可执行指令。如果在响应中包括指令,则执行指令(步骤324)。此后,或者在响应不包括指令的情况下,发现模块144继续更新其对系统100的状态的记录,以反映诸如服务器136的响应部件的操作(步骤328)。一旦已更新了网络的状态,则本方法继续并且发现模块144确定是否到了发送新消息的时间(步骤332)。更特别地,网关148可使用SIP OPTIONS消息到其他SIP服务器136的定期发送作为确定其他SIP服务器136是否活动的心跳机制。可以按预定间隔将OPTIONS消息发送至其他系统100部件。所述预定间隔的长度可通过实现SIP计时器B或其变体来确定。更具体地讲,可根据网关148是否检测到故障情况以不同间隔来执行OPTIONS监控。
示例性地,SIP OPTIONS消息的主动监控间隔在约60至约100000秒的范围内是可配置的,并且应在后续监控尝试之间使用被配置的值的75%和125%之间的均匀(uniform)随机时间。例如,如果主动监控间隔被设定为60秒,则OPTIONS消息的发送之间的实际间隔可均匀地分布在45和75秒之间。对主动监控处理中的抖动现象的有意引入使得所述请求可以保持不同步,从而随时间将负载均匀地散布在被监控的部件(即,服务器136)上。在一个实施例中,主动监控间隔可被配置为约900秒或15分钟。
示例性地,SIP OPTIONS消息的被动监控间隔在约10至约3600秒的范围内是可配置的,并且也可以在后续监控尝试之间具有被配置的值的75%和125%之间的均匀随机时间。对被动监控(与主动监控相反)的单独计时器的提供允许网关148更快速地检测正被监控的当前不可用的部件何时再次变得可用。在一个实施例中,被动监控间隔可被配置为约120秒。
尽管就SIP计时器B的使用在上面进行了描述,可在不偏离本发明的原理的情况下实现任何范围的值,该值具有或不具有该值的均匀随机时间修改。此外,可基于外部业务逻辑关联(hook)来修改监控间隔。例如,如果监控机制与带宽管理系统相结合,则监控系统可通过表示网络中的可用带宽的一些系数进一步调整监控间隔。
回到步骤316,如果发现模块144确定响应对应于故障条件,则发现模块144将更新其对系统100的状态的记录以反映该故障(步骤336)。作为检测到该部件故障的结果,网关148将进行故障切换并开始以故障切换状态操作,尤其是如果发生故障的部件位于主通信路径上的话。
在故障切换期间,网关148的发现模块144将通过继续将OPTIONS消息发送至被识别为不可用的部件而开始被动地监控系统100中的部件(步骤340)。该被动监控允许网关148的发现模块144检测何时该部件再次在线。当开始被动监控时,网关148将停止主动监控该部件并开始应用被动监控规则。更具体地讲,在被动监控期间,网关148的发现模块144可发起维护测试以确定被监控的部件是可用的还是不可用的(步骤344)。维护测试可使用与主动监控算法类似的监控算法。网关148的发现模块144将继续应用该维护测试,直到故障恢复(即,直到部件的状态从不可用变得可用)(步骤348)。在维护测试期间,网关148可将任何类型的SIP请求(例如,INVITE、SUBSCRIBE、NOTIFY等)发送至当前被标记为不可用的部件。如果下述条件中的一个或多个成立,则网关148的发现模块144将继续将部件标记为不可用:
(1)SIP计时器B在已发送了INVITE消息之后开始计时;
(2)网关148接收到408请求超时响应;
(3)SIP请求事务超时;或
(4)在尝试发送请求时出现网络104或传输层错误。
如果在维护测试期间以上列出的条件中的任一条件都不成立,则网关148的发现模块144将确定已出现故障恢复,并且本方法继续至步骤328。根据本发明的至少一些实施例,将继续应用被动监控和维护测试,直到被监控的部件用除了503服务不可用(ServiceUnavailable)以外的任何SIP响应来回复两个连续的OPTIONS请求尝试。一旦已满足这些条件,网关148可将该部件再次看作是可用的,可回到主动监控算法,可产生适合的简单网络管理协议(SNMP)事件,并且如果可应用,则开始使用现在活动的部件。
如本领域技术人员可理解的,网关148不是可保持路径再分配信息的唯一系统100部件。相反,任何SIP网络单元都可适于包括路径再分配信息等。例如,诸如UA 108的端点也可保持列出了在某些部件被识别为不可用的情况下可使用的通信路径的路径再分配表。
现在参照图4,将描述被动监控方法。当网关148从服务器136或类似的系统100部件接收到请求时本方法开始(步骤404)。网关148以正常方式处理接收到的请求(步骤408)。更具体地讲,网关148可处理请求,就如同发送部件是可用的一样,而无需先确定该部件是否实际可用。
此后,网关148基于其内部保持的状态表确定发送部件是否实际被标记为不可用(步骤412)。如果该部件没有被标记为不可用,则本方法结束(步骤424)。否则,网关148将通过将SIP OPTIONS消息发送至部件而开始其维护测试(步骤416)。然后,网关148可以更新其部件状态的记录(步骤420)。重复该维护测试和状态更新处理,直到该部件被确定为再次可用,本方法在该点处结束(步骤424)。
参照图5,将描述在故障切换和故障恢复状态期间网关148的操作。在该具体方法中,与网关148相关联的控制器140可对应于可生存端点的次控制器或备用控制器140。当网关148接收到可生存端点的呼入呼叫时,该方法开始(步骤504)。然后,网关148确定主信令路径是否可用(步骤508)。根据本发明的至少一些实施例,网关148可在该步骤期间参考其内部部件状态表。
如果主信令路径被确定为可操作的,则网关148将接收到的信号经由主路径路由到目标端点(步骤512),然后该方法结束(步骤536)。然而,如果网关148确定主信令路径由于任何原因(例如,网络104、服务器136或主信令路径上的其他部件不可用)而不可用,则本方法继续,并且网关148经由次信令路径将信号发送至目标端点(步骤516)。该特定步骤是基于次信令路径并非也不可用的假设而执行的。如果网关确定次信令路径也不可用,则选择绕过(一个或多个)故障部件的另一备用信令路径,并使用该路径将信号发送至端点。
在呼叫信号已经经由次信令路径被发送至目标端点之后,网关148等待确定是否从端点接收到了305重新定向响应(使用代理)消息(步骤520)。在活动-待机配置中,如果端点相信该主信令路径是可操作的,则经由第二路径接收呼叫信号的端点可发送305重新定向响应。这种信任是基于在端点处而不是网关148处执行的状态监控操作。因此,基于系统100的不同方面,端点可具有对系统100中的一个或更多部件标记的不同状态。因此,如果网关148基于其经由次路径对呼叫信号的重新定向而接收到305重新定向响应,则网关148将试图经由主信令路径重新定向呼叫信号(步骤524)。如果由于呼叫信号的成功发送,主信令路径被确定为可用的(步骤528),则本方法在步骤536结束。如果呼叫由于主信令路径的不可用性而被拒绝,则可经由次信令路径拒绝该呼叫或将其发送回(步骤532)。此外,网关148可将NOTIFY消息发送至目标端点,该消息指示其重新检查其对于主信令路径的状态的观点。此后,或者如果没有从端点接收到重新定向响应消息,则该方法结束(步骤536)。
现在参照图6,将根据本发明的至少一些实施例描述系统100状态确定的端点方法。开始,端点(例如,可生存UA 108)以正常状态操作(步骤604)。然后,端点使用其发现模块116的逻辑来确定是否已检测到网络故障(步骤608)。在可生存的配置中,能够检测何时进行故障切换或故障恢复对于端点是有用的。如果出现了下述事件中的一个或更多,则端点所使用的发现模块116逻辑将确定已出现了网络故障:
(1)端点未从其试图注册到的所有控制器140(例如,其主和次控制器140)接收到对作为心跳的SIP REGISTER消息的响应;
(2)端点未接收到对SIP INVITE消息的响应,其中已经在尝试建立呼出呼叫的正常处理中发送了SIP INVITE消息;
(3)端点未接收到对于为新SIP对话的正常创建或对话中的改变而发送的对任何SIP信令消息的响应;或者
(4)端点未从其配置服务器接收到对(可由诸如TCP/IP、HTTP、XML或SOAP的不同类型的协议执行的)关键请求的成功响应、或诸如用于检索与故障相关的数据的数据服务之类的任何其他带外非通信服务。
如果端点本身没有检测到故障,则该方法继续,并且端点确定是否已经被通知了故障(步骤612)。可在端点处以从网关148、服务器136或系统100中的一些其他能够监控系统100的状态的部件发送的SIP NOTIFY消息的形式接收通知。SIP NOTIFY消息可指示端点应当进行故障切换、重新启动或刷新/更新(renew)其到所有其控制器140的注册(从而避开(circumvent)端点的逻辑)。如果没有接收到通知,则本方法返回到步骤604。
然而,如果端点(例如,通过接收SIP NOTIFY消息)被通知了系统100中的故障,则端点确定故障通知是否正确(步骤616)。更具体地讲,端点可检查其内部保持的控制器列表120和128以确定是否控制器140中的任何一个被标记为不活动的或不可用的。大多数情况下,端点将直接遵从NOTIFY消息的指导。然而,在某些情况下,端点可能确定其对系统100的观点是正确的观点并且可用重新定向响应消息对NOTIFY消息作出响应(步骤620)。该重新定向响应可使得NOTIFY消息的发起部件检查其对系统100的观点。然后,该方法返回至步骤604。
如果端点判定故障通知是正确的或判定要遵从NOTIFY消息的指导,则端点确定NOTIFY消息是否包含指令(步骤624)。这些指令可以是相对通用的指令,诸如试图重新注册到所有控制器140。可供替换地,这些指令可包括要求端点尝试并重新注册到特定控制器140的指令组。端点可试图以长或短的间隔刷新或注册到控制器140。刷新/注册间隔的长度可基于指令组中的指令或其他因素而改变。这些指令也可包含由发送NOTIFY消息的部件感知到的整个系统100的健康信息。如果消息的确包含指令,则端点将执行这些指令(步骤628)。
如果端点本身检测到故障(步骤608),或在指令已经被端点执行(步骤628)之后,或在消息不包含指令的情况下(步骤624),则端点注册到有序列表128中的下一个控制器140(如果有的话),以将它注册到的可操作控制器140的数量保持为N(步骤630)。以与针对图2的步骤220在上面描述的方式相同的方式实现注册。然后,该方法继续,并且端点执行故障切换,使得其开始以备用状态操作(步骤632)。在故障切换模式下的操作期间,端点将使用其备用控制器140并且/或者使用次信令路径。除了以故障切换模式操作以外,端点可监控系统100故障恢复(步骤636)。如果发现模块116检测到其主控制器140可用于恢复其作为活动控制器的角色,则端点将确定已进行了故障恢复。可通过被定期地发送至该端点所注册到的所有控制器140的心跳/SIP REGISTER消息来管理该内部端点逻辑,而不管该控制器140是否在任何给定时间都是活动的。
如果端点自己没有检测到故障恢复(步骤636),则本方法继续,并且端点确定其是否已被另一个部件通知了故障恢复(例如,通过从网关148、服务器136等接收NOTIFY消息)(步骤640)。如果端点没有被通知故障恢复,则本方法返回到步骤632。然而,如果端点的确接收到指示故障恢复的NOTIFY消息,则本方法通过确定NOTIFY消息是否包含用于由端点执行的指令而继续(步骤644)。如果NOTIFY消息中包括指令,则由端点执行这些指令(步骤648)。在执行这些指令(步骤648)之后,如果不存在指令(步骤644),或如果端点自己检测到故障恢复(步骤636),则端点取消注册到其在步骤634中最后注册到的控制器140,以将其注册到的可操作控制器140的数量保持为N(步骤650)。取消注册的行动会触发SIP解除注册和网络断开算法,所述SIP解除注册和网络断开算法包括取消订阅SIP事件包和可能的其他非SIP(例如,带外)数据交互。然后,该方法返回到步骤604。
发现模块116可包括可配置参数,所述可配置参数决定着从主控制器到次控制器140的故障切换或故障恢复是否要由自动端点检测触发,或者仅被手动地触发(即,通过接收SIP NOTIFY消息)。可基于端点是否检测到故障条件,以不同间隔执行发现模块116所使用的心跳监控机制。
现在参照图7,将描述状态通知方法。该方法开始于系统100部件(例如,服务器136、网关148或包括发现模块144在内的任何其他设备)确定其是否应关于系统100通知诸如UA 108的端点(步骤704)。典型地,该部件将NOTIFY消息发送至端点,通知端点系统100状态的一些方面已经改变。例如,NOTIFY消息可通知端点系统中的某个部件已被注册为不可用。可供替换地,NOTIFY消息可通知端点发送部件的健康状况。
该方法在步骤704保持,直到确定应将通知消息发送至端点。在作出这样的确定之后,该方法继续,并且该部件产生消息(例如,NOTIFY消息)(步骤708)。然而,如可以理解的那样,该部件可使用任何其他类型的SIP或非SIP消息来通知端点。该通知可允许部件触发端点以在系统100故障或恢复条件下进行故障切换或故障恢复。因为端点可保持控制器的有序列表128并且端点具有保持活动注册到所有这些控制器的能力,所以当其检测到系统100故障条件时,系统100部件可触发端点采取行动。可例如通过发送标准通知消息(例如,遵从标准SIP IETF的NOTIFY消息)或包含特定指令组的扩展消息来触发这些行动。相应地,该方法继续并且该部件确定通知消息是否应在其中包括指令(步骤712)。
如果没有特定指令被确定为是必需的,则该部件可告诉端点重新注册到控制器的有序列表128中的N个控制器140,并且将普通通知消息发送至端点(步骤720)。因此,接收到这样的通知的任何端点都将尝试重新注册到其列表上的N个控制器140。基于该尝试的重新注册的成功,端点将能够得到哪些控制器140可用于处理SIP事务(例如,支持呼入和呼出SIP呼叫)。然后,端点可使用控制器的有序列表128上的最高优先级的控制器140作为其主控制器,根据该自确定信息来行动。该特定机制可使用遵从标准SIP IETF的NOTIFY消息。该消息可遵守具有NOTIFY参数“event”=“probation”的NOTIFY消息的SIP标准。下面提供了这样的NOTIFY消息的一个例子:
<registration aor=”sip:joeexample.com”id=”a7”state=”active”>
<contact id=”76”state=”active”event=”probation”
expires=”0”
q=”0.8”retry-after=”0”>
然而,如果部件确定特定指令应被包括在通知消息中,则该部件可以在将消息发送至端点(步骤720)之前将一个或更多指令组添加至该消息(步骤716)。通过将指令并入通知消息,部件可告诉端点开始使用端点的控制器140列表120上的特定控制器140。在这样的场景中,端点根据该部件来告诉其应使用哪个控制器140,而不是依赖于其自己的智能。该特定机制可使用具有扩展的扩展的标准SIPNOTIFY消息。NOTIFY消息将通常遵守NOTIFY消息的SIP标准;此外,如果端点应进行故障切换或故障恢复,则其可使用事件名称是诸如<eventName>changeServer</eventName>的示例性简档事件包格式。该消息也可包括包含特定控制器140的服务器136的时间戳和地址,其中端点应故障切换或故障恢复至该控制器140。在下面用XML指令组来提供这样的扩展SIP NOTIFY消息的例子:
NOTIFY sip:111110.0.75.2 SIP/2.0
Call-ID:cid-110.0.75.2
CSeq:2 NOTIFY
From:<sip:1111atler.com>;tag=random2
To:<sip:1111atler.com>;tag=random1
Via:SIP/2.0/UDP 10.0.0.100;branch-id=z9hG4bk-random-the primary call
controller
SIP/2.0/TLS 10.0.0.200;branch-id=z9hG4bK-random-cm1
Content-Length:22
Content-Type:application/profile+xml
Contact:<sip:111110.0.0.200;transport=tls/
Max-Forwards:69
User-Agent:Communication Manager v1.0
Event:ccs-profile
Subscription-State:active;expires=3600
Record-Route:<sip:10.0.0.100:5060;Ir;transport=UDP>
<?xml version=”1.0”>
<event>
<eventName>changeServer</eventName>
<eventTime>{time stamp}</eventTime>
<eventData>{ip address}</eventData>
</event>
本领域技术人员可理解,所述指令可采用除XML指令组以外的许多不同形式。例如,该指令可包括对应于并且导致已经存储在端点的存储器112中的算法或应用的执行的预定触发器。此外,尽管上面的示例NOTIFY消息在消息的主体中包括其指令组,但是该指令组也可被置于通知消息的头部或尾部中。这可以基于所使用的通知消息的类型而改变。该指令可用于实现多个不同行动,诸如为发送部件传递健康信息和为系统100的其余部分传递其状态信息、触发端点执行特定任务。
尽管与事件的特定顺序相关地讨论了上述流程图,但是应理解,可对该顺序进行改变而不会实质地影响本发明的操作。此外,不需要按照示例性实施例中描述的事件的准确的顺序进行。此处举例说明的示例性技术不限于具体举例说明的实施例,而可用于其他示例性实施例,并且每一个所描述的特征都可单独地和分开地要求专利权。
除了或代替所描述的通信设备、编程微处理器或微控制器和外围集成电路元件、ASIC或其他集成电路、数字信号处理器、诸如分立元件电路的硬连线电子或逻辑电路、诸如PLD、PLA、FPGA、PAL的可编程逻辑设备、诸如服务器的通信设备、个人计算机、任何可比较的装置等,可在专用计算机上实现本发明的系统、方法和协议。一般来说,任何能够实现状态机,从而能够实现此处举例说明的方法的设备都可用于实现根据本发明的各种通信方法、协议和技术。
此外,可使用过程的或面向对象的软件开发环境,以软件容易地实现所公开的方法,所述软件开发环境提供可在各种计算机或工作站平台上使用的便携式源代码。可供替换地,可使用标准逻辑电路或VLSI设计部分地或全部地以硬件实现所公开的系统。使用软件还是硬件来实现根据本发明的系统取决于系统的速度和/或效率要求、具体功能和被使用的具体软件或硬件系统或微处理器或微计算机系统。根据此处提供的功能描述并利用通信领域的通用基本知识,可应用领域的普通技术人员可使用任何已知的或稍后开发的系统或结构、设备和/或软件以硬件和/或软件来容易地实现此处举例说明的分析系统、方法和协议。
此外,所公开的方法可以用软件容易地实现,该软件可以存储在存储介质上,在编程通用计算机上与控制器和存储器、专用计算机、微处理器等相协作地执行。在这些例子中,本发明的系统和方法可被实现为诸如applet、或CGI脚本的嵌入在个人计算机上的程序、实现为驻留在服务器或计算机工作站上的资源、实现为嵌入在专用通信系统或系统部件中的例程等。系统也可通过将系统和/或方法物理地并入软件和/或硬件系统(诸如通信设备或系统的硬件和软件系统)中来实现。
因此,显然已经提供了根据本发明的、用于保持SIP可生存网络和网络部件的系统、设备和方法。尽管已结合多个实施例描述了本发明,但是显然许多替换、修改和变化对于可应用领域中的普通技术人员来说都是显而易见的。因此,其旨在包括本发明的精神和范围内的所有这样的替换、修改、等同和变化。
Claims (9)
1.一种用于注册的方法,包括:
客户机创建多个服务器的列表;
客户机确定将注册到的服务器的子集,其中所述子集包括多于一个但少于所述多个服务器的全部服务器的服务器;
客户机注册到所述多个服务器的所述子集;
所述客户机从服务器的所述子集中的至少一个服务器获得服务;
响应于所述子集中的第一服务器变得对于客户机不可用,客户机注册到所述多个服务器中的当前不包括在所述子集中的第二服务器,从而将所述第二服务器添加至服务器的所述子集中,其中所述客户机为活动-待机配置;
所述客户机从所述第二服务器接收呼入呼叫;
响应于所述客户机从所述第二服务器接收呼入呼叫并且在客户机处于其主模式下的情况下:
所述客户机用SIP TRYING消息响应所述第二服务器;以及
将SIP REGISTRATION刷新发送至所述第一服务器;以及
响应于所述第一服务器在线,将SIP REDIRECT消息发送至所述第二服务器。
2.如权利要求1所述的方法,还包括:
响应于不可用的第一服务器再次变得对于客户机可用,客户机取消注册到所述第二服务器,从而从服务器的所述子集中去除所述第二服务器。
3.如权利要求2所述的方法,还包括:
响应于不可用的第一服务器再次变得对于客户机可用,客户机重新注册到所述第一服务器,从而将所述第一服务器添加回服务器的所述子集。
4.如权利要求1所述的方法,其中所述多个服务器中的服务器以序列排序;
注册到多个服务器的所述子集包括:
客户机注册到所述序列中的客户机可用的前N个服务器,
其中N是整数;以及
注册到第二服务器包括:
客户机注册到所述序列中的客户机可用的第N+1个服务器。
5.一种用于注册的设备,包括:
用于客户机创建多个服务器的列表的装置;
用于客户机确定将注册到的服务器的子集的装置,其中所述子集包括多于一个但少于所述多个服务器的全部服务器的服务器;
用于客户机注册到所述多个服务器的所述子集的装置;
用于所述客户机从服务器的所述子集中的至少一个服务器获得服务的装置;
响应于所述子集中的第一服务器变得对于客户机不可用,用于客户机注册到所述多个服务器中的当前不包括在所述子集中的第二服务器,从而将所述第二服务器添加至服务器的所述子集中的装置,其中所述客户机为活动-待机配置;
用于所述客户机从所述第二服务器接收呼入呼叫的装置;
响应于所述客户机从所述第二服务器接收呼入呼叫并且在客户机处于其主模式下的情况下:
用于所述客户机用SIP TRYING消息响应所述第二服务器的装置;以及
用于将SIP REGISTRATION刷新发送至所述第一服务器的装置;以及
响应于所述第一服务器在线,用于将SIP REDIRECT消息发送至所述第二服务器的装置。
6.一种用于注册的设备,包括:
多个服务器,每个服务器包括至少一个控制器,其中至少一个服务器包括处理器和存储器;
发现模块,其被配置为用于:
接收响应于SIP OPTIONS监控请求发送的具有Retry-After头部的SIP400或500等级响应,并且其中仅逐跳跃地并且非端对端地执行所述监控;
将所述多个服务器之一的地址标记为过载;以及
客户机,适于注册到所述多个服务器的子集,其中所述子集包括多于一个但少于所述多个服务器的全部服务器的服务器,以从服务器的所述子集中的至少一个服务器获得服务,所述客户机适于:
确定所述子集的至少一个服务器不可用;
响应于所述子集中的第二服务器变得对客户机不可用,而注册到所述多个服务器中的当前不包括在所述子集中的第一服务器,从而将所述第一服务器添加至服务器的所述子集中。
7.如权利要求6所述的设备,其中:
客户机还适于响应于不可用的第二服务器再次变得对于客户机可用而取消注册到所述第一服务器,从而从服务器的所述子集中去除所述第一服务器。
8.如权利要求7所述的设备,其中:
客户机还适于响应于不可用的第二服务器再次变得对于客户机可用而重新注册到所述第二服务器,以将所述第二服务器添加回服务器的所述子集。
9.如权利要求6所述的设备,其中:
所述多个服务器中的服务器以序列排序;
所述服务器的所述子集包含所述序列中的对于客户机来说可用的前N个服务器,其中N是整数;以及
所述第一服务器是所述序列中的对于客户机来说可用的第N+1个服务器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/211,284 | 2008-09-16 | ||
US12/211,284 US8527656B2 (en) | 2008-03-26 | 2008-09-16 | Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101677320A CN101677320A (zh) | 2010-03-24 |
CN101677320B true CN101677320B (zh) | 2014-10-01 |
Family
ID=40941066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910161137.4A Active CN101677320B (zh) | 2008-09-16 | 2009-08-04 | 用可生存网络的控制器列表中的控制器的滑动窗口注册端点 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8527656B2 (zh) |
JP (1) | JP5523012B2 (zh) |
CN (1) | CN101677320B (zh) |
BR (1) | BRPI0903431B1 (zh) |
DE (1) | DE102009041127A1 (zh) |
GB (1) | GB2463342B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8792482B2 (en) * | 2008-12-09 | 2014-07-29 | At&T Intellectual Property I, L.P. | Method and apparatus for correlation of data sources in a Voice over Internet Protocol network |
EP2209283A1 (en) * | 2009-01-20 | 2010-07-21 | Vodafone Group PLC | Node failure detection system and method for SIP sessions in communication networks. |
US8661077B2 (en) * | 2010-01-06 | 2014-02-25 | Tekelec, Inc. | Methods, systems and computer readable media for providing a failover measure using watcher information (WINFO) architecture |
US8341254B2 (en) * | 2010-02-09 | 2012-12-25 | International Business Machines Corporation | Middleware-driven server discovery |
US20110302247A1 (en) * | 2010-06-02 | 2011-12-08 | Microsoft Corporation | Contextual information dependent modality selection |
US9806965B2 (en) * | 2010-09-29 | 2017-10-31 | Avaya Inc. | Automatic user redundancy determination |
US8451828B2 (en) | 2010-11-23 | 2013-05-28 | Mitel Network Corporation | Registering an internet protocol phone in a dual-link architecture |
US8345840B2 (en) | 2010-11-23 | 2013-01-01 | Mitel Networks Corporation | Fast detection and reliable recovery on link and server failures in a dual link telephony server architecture |
CA2745823C (en) * | 2010-11-23 | 2014-06-17 | Mitel Networks Corporation | Fast detection and reliable recovery on link and server failures in a dual link telephony server architecture |
WO2012118610A1 (en) * | 2011-02-28 | 2012-09-07 | Siemens Enterprise Communications Gmbh & Co. Kg | Apparatus and mechanism for dynamic assignment of survivability services to mobile devices |
US9215137B2 (en) * | 2011-03-30 | 2015-12-15 | Nec Corporation | Relay device, relay method, and relay processing program |
JP5895642B2 (ja) * | 2012-03-22 | 2016-03-30 | 日本電気株式会社 | SIP(SessionInitiationProtocol)システム、SIPサーバ、加入者端末及びプログラム |
BR112013010159A2 (pt) | 2012-05-15 | 2017-03-01 | Siemens Entpr Communications Gmbh & Co Kg | método e aparelho para fornecimento de notificação em tempo real de baixa latência e alto desempenho |
RU2540409C2 (ru) * | 2012-07-10 | 2015-02-10 | Сименс Энтерпрайз Коммьюникейшнз Гмбх Унд Ко.Кг | Способ, устройство и система для предоставления услуги шлюза живучести |
GB2505196B (en) * | 2012-08-21 | 2018-01-24 | Metaswitch Networks Ltd | Acknowledgement message monitoring |
US8930553B2 (en) | 2012-10-09 | 2015-01-06 | International Business Machines Corporation | Managing mid-dialog session initiation protocol (SIP) messages |
JP2014099705A (ja) * | 2012-11-13 | 2014-05-29 | Canon Inc | 通信装置及びその制御方法、並びにプログラム |
US9088588B2 (en) * | 2012-11-28 | 2015-07-21 | At&T Intellectual Property I, Lp | Method and apparatus for registering communication devices in a communication system |
US10154143B2 (en) | 2013-03-15 | 2018-12-11 | Genesys Telecommunications Laboratories, Inc. | System and method for dynamically selecting a dial plan |
US9591137B2 (en) | 2013-03-15 | 2017-03-07 | Genesys Telecommunications Laboratories, Inc. | System and method for providing contact center services in a hybrid operations environment |
US9559939B2 (en) * | 2013-03-15 | 2017-01-31 | Genesys Telecommunications Laboratories, Inc. | System and method for handling resource failure in a hybrid contact center operations environment |
US10277741B2 (en) | 2013-03-15 | 2019-04-30 | Genesys Telecommunications Laboratories, Inc. | System and method for transmitting signaling and media from a hybrid contact center operations environment |
US9948782B2 (en) | 2013-03-15 | 2018-04-17 | Genesys Telecommunications Laboratories, Inc. | Hybrid cloud architecture with optimized local delivery |
US9419879B2 (en) | 2013-06-20 | 2016-08-16 | International Business Machines Corporation | Selectively refreshing address registration information |
US20150100826A1 (en) * | 2013-10-03 | 2015-04-09 | Microsoft Corporation | Fault domains on modern hardware |
GB201320770D0 (en) | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
GB201320777D0 (en) * | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
GB201320778D0 (en) | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
GB201320776D0 (en) | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
GB201320774D0 (en) | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
WO2015161903A1 (en) * | 2014-04-25 | 2015-10-29 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and method for managing client devices |
WO2016044220A1 (en) | 2014-09-16 | 2016-03-24 | Inemsoft, Inc. | Systems and methods of managing communication endpoints |
CN108259355B (zh) * | 2014-12-30 | 2022-03-11 | 华为技术有限公司 | 一种报文转发方法和装置 |
US10225095B2 (en) * | 2015-04-27 | 2019-03-05 | Dell Products L.P. | Systems and methods for one-to-many wireless access to management controllers |
US9935857B1 (en) * | 2015-12-17 | 2018-04-03 | 8X8, Inc. | Analysis of system conditions from endpoint status information |
US10264077B2 (en) * | 2016-04-04 | 2019-04-16 | Netsapiens | System and methods for employing non-related communication architecture for signaling in another communication architecture |
US10291659B2 (en) * | 2016-10-18 | 2019-05-14 | T-Mobile Usa, Inc. | Timer management for session initiation protocol |
US10826883B2 (en) | 2017-04-11 | 2020-11-03 | Dell Products L.P. | Systems and methods for host system management of an information handling system via a mobile information handling system |
WO2018209189A1 (en) * | 2017-05-12 | 2018-11-15 | Convida Wireless, Llc | Enable reliable and distributed m2m/iot services |
US11038929B1 (en) * | 2017-05-24 | 2021-06-15 | First Orion Corp. | Efficient SIP message modification |
US10564218B2 (en) | 2017-11-03 | 2020-02-18 | Dell Products L.P. | Systems and methods for debugging access |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63285053A (ja) | 1987-05-18 | 1988-11-22 | Nec Corp | 網管理装置の障害処理方式 |
US6490610B1 (en) * | 1997-05-30 | 2002-12-03 | Oracle Corporation | Automatic failover for clients accessing a resource through a server |
US6145089A (en) * | 1997-11-10 | 2000-11-07 | Legato Systems, Inc. | Server fail-over system |
US6992974B1 (en) * | 2000-10-10 | 2006-01-31 | 3Com Corporation | System and method for providing fault tolerance in a network telephony system |
US6961567B1 (en) * | 2000-12-07 | 2005-11-01 | Palm, Inc. | Generic activation and registration framework for wireless devices |
US7333505B2 (en) * | 2000-12-18 | 2008-02-19 | Nortel Networks Limited | Transaction management for interworking between disparate networks |
US20040240642A1 (en) * | 2001-06-18 | 2004-12-02 | Crandell Jeffrey L. | Apparatus, systems and methods for managing incoming and outgoing communication |
CA2408766A1 (en) * | 2001-10-17 | 2003-04-17 | Telecommunications Research Laboratory | Content delivery network bypass system |
JP2003198603A (ja) | 2001-12-27 | 2003-07-11 | Oki Electric Ind Co Ltd | 通信装置および通信システム |
JP3883452B2 (ja) * | 2002-03-04 | 2007-02-21 | 富士通株式会社 | 通信システム |
US6944788B2 (en) * | 2002-03-12 | 2005-09-13 | Sun Microsystems, Inc. | System and method for enabling failover for an application server cluster |
US7298708B2 (en) * | 2002-08-28 | 2007-11-20 | Mitel Knowledge Corporation | IP device registration |
GB0230301D0 (en) * | 2002-12-30 | 2003-02-05 | Nokia Corp | Streaming media |
EP1509018A1 (de) | 2003-08-18 | 2005-02-23 | Siemens Aktiengesellschaft | Verfahren, Software-Produkt und Vorrichtungen zur Signalisierung der Modifikation von Bearerverbindungen mittels SIP Protokoll |
US20050060411A1 (en) * | 2003-09-16 | 2005-03-17 | Stephane Coulombe | System and method for adaptation of peer-to-peer multimedia sessions |
JP4719415B2 (ja) * | 2003-12-26 | 2011-07-06 | 株式会社日立製作所 | 情報処理システム及びコード生成方法 |
CN100593927C (zh) | 2004-04-15 | 2010-03-10 | 日本电气株式会社 | 集群系统、集群成员和程序 |
KR100840365B1 (ko) * | 2004-07-30 | 2008-06-20 | 삼성전자주식회사 | 다중 피.오.씨 세션의 세션 결합 방법 및 그 시스템 |
EP1776825B1 (en) | 2004-08-13 | 2012-12-19 | Citrix Systems, Inc. | A method for maintaining transaction integrity across multiple remote access servers |
US8055778B2 (en) | 2004-09-30 | 2011-11-08 | Siemens Enterprise Communications, Inc. | SIP user agent with simultaneous multiple registrations |
KR100623482B1 (ko) * | 2004-12-14 | 2006-09-14 | 한국전자통신연구원 | 세션 이동 방법 |
US8194640B2 (en) | 2004-12-31 | 2012-06-05 | Genband Us Llc | Voice over IP (VoIP) network infrastructure components and method |
US8223926B2 (en) * | 2005-02-11 | 2012-07-17 | Cisco Technology, Inc. | Resilient registration with a call manager |
JP2006237950A (ja) * | 2005-02-24 | 2006-09-07 | Saxa Inc | Ip電話端末およびプログラム |
US20060235981A1 (en) * | 2005-04-19 | 2006-10-19 | Nokia Corporation | Providing a second service to a group of users using a first service |
JP2007004361A (ja) | 2005-06-22 | 2007-01-11 | Mitsubishi Electric Corp | 負荷分散装置 |
US7760708B2 (en) * | 2005-07-08 | 2010-07-20 | Tekelec | Methods, systems, and computer program products for triggering SIP nodes to include SS7 routing information in response messages including information requested by SS7 nodes |
US20070041327A1 (en) * | 2005-08-16 | 2007-02-22 | Cisco Technology, Inc. | Multicast heartbeat signaling |
US8125888B2 (en) * | 2005-08-23 | 2012-02-28 | Multi-Tech Systems, Inc. | Session initiation protocol survivable server |
WO2007047639A2 (en) * | 2005-10-14 | 2007-04-26 | Whaleback Systems Corporation | Discovering network services |
US8565070B2 (en) | 2005-11-23 | 2013-10-22 | Cisco Technology, Inc. | System and method for active geographic redundancy |
US20070266162A1 (en) | 2005-12-07 | 2007-11-15 | Microsoft Corporation | Session initiation protocol redirection for process recycling |
US8233384B2 (en) * | 2005-12-21 | 2012-07-31 | Rockstar Bidco, LP | Geographic redundancy in communication networks |
CN100508539C (zh) | 2006-01-09 | 2009-07-01 | 华为技术有限公司 | 会话边界控制器双归属的实现方法及系统 |
JP2007200103A (ja) | 2006-01-27 | 2007-08-09 | Nec Corp | クライアントサーバシステムおよびリソース制御方法 |
US7702093B2 (en) * | 2006-02-08 | 2010-04-20 | Nvoq Incorporated | Systems and methods to redirect audio between callers and voice applications |
US20080031226A1 (en) | 2006-08-01 | 2008-02-07 | Boro Networks Inc. | Scalable, high-availability network |
US9137287B2 (en) * | 2006-08-28 | 2015-09-15 | Avaya Inc. | High availability for voice enabled applications |
US8064342B2 (en) | 2006-10-27 | 2011-11-22 | Verizon Patent And Licensing Inc. | Load balancing session initiation protocol (SIP) servers |
US8406123B2 (en) | 2006-12-11 | 2013-03-26 | International Business Machines Corporation | Sip presence server failover |
US7844851B2 (en) | 2006-12-13 | 2010-11-30 | Oracle International Corporation | System and method for protecting against failure through geo-redundancy in a SIP server |
US8576833B2 (en) * | 2006-12-15 | 2013-11-05 | At&T Intellectual Property I, L.P. | Fault tolerant voice over Internet protocol (VoIP) systems and methods to operate the same |
US9083722B2 (en) | 2007-10-05 | 2015-07-14 | Qualcomm Incorporated | Session initiation protocol registration with ping |
US20090150562A1 (en) * | 2007-12-07 | 2009-06-11 | Research In Motion Limited | Apparatus and method for directing a communication session to a communication device of a group of devices having a common registration identity |
US8606901B2 (en) * | 2008-01-30 | 2013-12-10 | At&T Intellectual Property I, L. P. | Facilitating deployment of new application services in a next generation network |
US7995466B2 (en) * | 2008-03-26 | 2011-08-09 | Avaya Inc. | Failover/failback trigger using SIP messages in a SIP survivable configuration |
US8018848B2 (en) * | 2008-03-26 | 2011-09-13 | Avaya Inc. | Survivable phone behavior using SIP signaling in a SIP network configuration |
US8107361B2 (en) * | 2008-03-26 | 2012-01-31 | Avaya Inc. | Simultaneous active registration in a SIP survivable network configuration |
US7836185B2 (en) | 2008-06-27 | 2010-11-16 | International Business Machines Corporation | Common resource management in a server cluster |
-
2008
- 2008-09-16 US US12/211,284 patent/US8527656B2/en active Active
-
2009
- 2009-06-18 GB GB0910567.7A patent/GB2463342B/en active Active
- 2009-08-04 CN CN200910161137.4A patent/CN101677320B/zh active Active
- 2009-08-15 JP JP2009188159A patent/JP5523012B2/ja not_active Expired - Fee Related
- 2009-09-14 DE DE102009041127A patent/DE102009041127A1/de active Pending
- 2009-09-16 BR BRPI0903431-5A patent/BRPI0903431B1/pt active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
Also Published As
Publication number | Publication date |
---|---|
GB0910567D0 (en) | 2009-07-29 |
GB2463342B (en) | 2012-08-08 |
BRPI0903431B1 (pt) | 2019-11-12 |
GB2463342A (en) | 2010-03-17 |
JP5523012B2 (ja) | 2014-06-18 |
BRPI0903431A2 (pt) | 2010-06-01 |
US8527656B2 (en) | 2013-09-03 |
US20100070563A1 (en) | 2010-03-18 |
CN101677320A (zh) | 2010-03-24 |
JP2010074824A (ja) | 2010-04-02 |
DE102009041127A1 (de) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101677320B (zh) | 用可生存网络的控制器列表中的控制器的滑动窗口注册端点 | |
CN101557393B (zh) | Sip可存活网络配置中的同时活动注册 | |
CN101547128B (zh) | 使用sip消息的故障转移/故障恢复触发方法和系统 | |
CN101557305B (zh) | 用于维护sip可存活用户代理的通信方法、端点和系统 | |
US8576833B2 (en) | Fault tolerant voice over Internet protocol (VoIP) systems and methods to operate the same | |
CN101599924B (zh) | 通信系统 | |
CN101868940A (zh) | 用于在会话发起协议(sip)实体间发布应用或更高层通信网络信令实体的操作状态信息的系统、方法和计算机程序产品 | |
CN103891255B (zh) | 用于sip代理故障切换的方法 | |
US20100074249A1 (en) | Service continuity management in a network | |
CN102647397A (zh) | 一种sip会话保护的方法和系统 |
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 |