负载分散装置和负载分散系统的制作方法

文档序号:7952376阅读:241来源:国知局
专利名称:负载分散装置和负载分散系统的制作方法
技术领域
本发明涉及一种进行会话控制和管理的装置确定接收到的消息的中继目标的技术,尤其涉及一种将负载分散到多个会话控制装置后进行通信处理的技术。
背景技术
以前,负载分散装置通过由具有相同功能的多台Web服务器来分担对Web服务器的通信量,以应对庞大的通信量为目的而得到了发展。现在,除Web服务器外,还以路由器、邮件服务器、VPN网关等多种设备和协议作为对象,正在拓展并发展。
其中,还包含实现以SIP服务器为对象的负载分散的装置,考虑SIP(Session Initiation Protocol)(参照非专利文献1)固有的标准,具备将同一对话的通信量分配给相同服务器的功能。作为将同一对话的通信量分配给相同服务器的功能(持续功能)的典型方式,采取如下方式,即参照包含于SIP头中的Call-Id值,将该值相同的消息分配给相同服务器。
另外,就与加密通信的对应而言,还存在支持使用了SSL(SecureSocket Layer)的HTTPS(Hypertext Transfer Protocol Security)的加密通信的装置等。
作为负载分散装置的实现方法,有如下方法,负载分散装置将分配对象服务器的地址通知给终端,督促终端再连接于负载分散装置指定的分配对象服务器上(例如参照专利文献1)。
专利文献1特开2002-334012非专利文献1RFC 3261在现有的负载分散装置中,在参照IP数据包的负载部分中包含的信息(例如SIP消息等层7的信息、应用层的信息)来确定分配对象的情况下,一旦负载分散装置结束加密通信,则必需进行解密处理。

发明内容
本发明的第1课题和目的在于,防止由于该解密处理,负载分散装置的处理负载增大,负载分散的效果变弱,引起传输延迟。
在现有利用了重寄(redirect)通知的负载分散装置中,由于仅考虑到将分配对象通知给终端的步骤,所以有时终端会永久继续使用暂时通知了的分配对象。
本发明的第二课题和目的在于,防止处理负载长期集中于特定的分配对象,使负载分散的效果变弱。
在现有的利用了重寄的负载分散装置中,由于连接或处理的请求以从具有应对重寄通知的功能的终端发送为前提,所以不能对应于来自不具有应对重寄通知的功能的服务器等(例如为一般的SIP代理服务器)的请求。
本发明的第三课题和目的在于,应对来自不具有响应重寄通知的功能的服务器的连接或处理请求。
在现有的负载分散装置中,当由负载分散装置分配的分配对象与终端在建立继续的连接过程中,在有从其它终端或服务器至该终端的连接请求的情况下,有时会向与建立了所述继续连接的分配对象不同的分配对象分配该连接请求。
本发明的第四课题和目的在于,防止为了应对一个终端而消耗多个分配对象的资源。
在现有的负载分散装置中,在终端或服务器不将连接请求发送给负载分散装置而直接发送给分配对象的一的情况下,有时负载分散装置不能检测该连接请求,结果,负载分散装置不会像指示的那样分散负载。
本发明的第五课题和目的在于,防止连接到负载分散装置未分配的分配对象上。
作为对上述第一课题的解决手段,本发明的负载分散装置判定接收到的IP数据包的上位层中之前的发送源是否是终端,在之前的发送源是终端的情况下,确定应对该终端的分配对象,并向该终端通知分配对象的地址(重寄)。另外,此时,终端向利用重寄通知的分配对象再发送上述IP数据包。
作为对上述第二课题的解决手段,在本发明中,在应对终端的分配对象中设置有效期限,在越过该有效期限的情况下,拒绝上述终端连接于分配对象。
作为对上述第三课题的解决手段,本发明的负载分散装置判定接收到的IP数据包的上位层中之前的发送源是否是服务器,在之前的发送源是服务器的情况下,向应对该IP数据的发送对象终端的分配对象发送该IP数据包。
作为对上述第四课题的解决手段,本发明的负载分散装置在分配对象与终端确立继续的连接中,在有从其它终端或服务器至该终端的其它连接请求的情况下,向确立上述继续连接的分配对象发送该其它连接请求。
作为对上述第五课题的解决手段,在本发明中,在终端或服务器向负载分散装置未分配的分配对象直接发送连接请求的情况下,拒绝该连接请求。
发明效果通过对上述第一课题的解决手段,负载分散装置不必加密通信的终端、即不必进行解密处理。由此,可减轻负载分散装置的处理,实现负载分散装置原来的负载分散,还可防止负载分散装置中的解密处理引起的传输延迟。
通过对上述第二课题的解决手段,终端不会永久地连续使用一个分配对象。由此,可防止处理长期集中于特定的分配对象,可实现负载分散装置原来的负载分散。
通过对上述第三课题的解决手段,来自没有应对重寄通知的功能的发送源的连接或处理请求也可分配到各个分配对象。由此,即便是来自不具有应对重寄通知的功能的发送源的连接或处理请求,也可实现负载分散。
通过对上述第四课题的解决手段,终端可有效利用确立继续连接的分配对象的资源,并且,可防止为了应对一个终端而消耗多个分配对象的资源。
通过对上述第五课题的解决手段,可防止终端或服务器提前连接到负载分散装置未分配的分配对象。由此,可实现负载分散装置原来的负载分散。


图1是表示SIP负载分散装置的一构成例的图。
图2是表示根据本发明实施方式的SIP负载分散系统一构成例的图。
图3是表示将终端诱导到响应的SIP服务器的步骤一例的序列图。
图4是表示终端向SIP负载分散装置发送的消息一例的图。
图5是表示通知响应的SIP服务器的地址的重寄响应的消息一例的图。
图6是表示终端向响应的SIP服务器发送的消息一例的图。
图7是表示负载分散管理表格一例的表格图。
图8是表示控制由SIP负载分散装置分配的SIP服务器的利用有效期限的方法一例的序列图。
图9是表示防止终端利用未被SIP负载分散装置许可的SIP服务器的方法一例的序列图。
图10是表示扩展位置(location)表格一例的表格图。
图11是表示SIP负载分散系统中的、跨区的消息发送接收处理一例的方式说明图。
图12是表示SIP负载分散装置的数据包接收时的处理步骤一例的流程图。
图13是表示同一区内的终端间通信一例的方式说明图。
图14是表示SIP服务器的一构成例的图。
图15是表示SIP服务器中的中继目标地址解决处理一例的流程图。
图16是表示使用应用程序服务器的情况下的SIP负载分散系统的一构成例图。
符号说明10 CPU12 网络接口14 存储装置16 存储器20 通信控制部21 SIP堆栈(stack)部22 发送源判定部件23 重寄功能24 无状态代理(stateless proxy)功能25 负载分散管理部件26 负载分散管理表格27 位置控制部件具体实施方式
实施例1图1是表示本实施方式的SIP负载分散装置的一构成例的图。在本实施例中,以SIP为例,但也可适用于其它应用程序层的协议(其它会话控制协议等)。SIP负载分散装置1具备CPU(10)、存储器(16)、存储装置(14)、网络接口(12),存储将在后详细说明的控制用程序。当SIP负载分散装置动作时,在设置于壳体内的存储器上展开控制程序,由CPU来进行控制程序。存储装置可以是安装于壳体内部的形式,也可以是作为外部存储装置设置在其它壳体中的形式,或是由网络连接的形式。
另外,图1所示的负载分散装置也可具备具有装置管理权限的用户等操作负载分散装置用的用户接口。作为用户接口,例如最好具备指令输入用的键盘、GUI输入用的鼠标、显示画面等。
用图1的20-27所示的构成框图来说明上述控制用程序的具体内容。SIP负载分散装置包括进行数据包发送接收的网络接口12、CPU10与HDD(Hard Disc Drive)14、和存储器16。在存储器16中,存储通信控制程序20、SIP堆栈程序21、发送源判定程序22、重寄(redirect)程序23、无状态代理程序24、负载分散管理程序25、负载分散管理表格26、位置控制程序27。
通信控制程序20进行经网络接口12接收到的数据包的解析、进行数据包发送时所需的头信息的整形操作和发送。SIP堆栈程序在接收数据包的内容为SIP消息的情况下,进行消息解析,在发送数据包的内容是SIP消息的情况下,进行SIP头信息的整形操作与通过通信控制程序20的发送处理。发送源判定程序22进行在接收SIP消息时、前一跳跃(hop)的发送源是否是自身负责的区域内的终端7的判定。负载分散管理程序25在前一跳跃的发送源是自身负责的区域内的终端的情况下,通过负载分散管理程序25从负载分散管理表格26中取得应对该发送源终端的SIP服务器2的地址,将取得的SIP服务器的地址通知给终端7。位置控制程序27在负载分散管理程序25重新对终端7分配应对的SIP服务器、并重新登录在负载分散管理表格26中时,将终端7与应对的SIP服务器2的对应关系通知给位置DB(Data Base)3后,提示登录。
无状态代理程序24在前一跳跃的发送源不是自身负责的区域内的终端的情况下,通过负载分散管理程序25从负载分散管理表格26取得目的地终端7在在线时被分配给哪个SIP服务器2,并将消息作为无状态代理,中继给取得的SIP服务器。
这里,所谓无状态代理是指不进行对话管理也不进行交易管理,而根据目的地解决的结果来单纯中继接收到的消息的代理。因此,在无状态代理的情况下,例如即便作为进行某个请求消息的中继,也不包含于与之对应的响应消息的通信路径中。相反,所谓交易状态代理是指管理请求与响应的对,必要时进行再发送控制等的代理。另外,将管理从IP电话的发送时的请求到切断时的响应的对话、并排除与状态转变模式不一致的通信量、或将通信标签适用于收费管理中的交易状态代理称为呼叫状态代理。
负载分散管理表格26存储并管理终端7与应对的SIP服务器2的对应关系。负载分散管理程序25参照、更新负载分散管理表格26的信息。这里,负载分散管理表格26也可存储在HDD14内。
在本实施例中,假设图1的20-27所示的各功能块全部由软件处理来实施,但也可使用对应于各个功能块的处理器或信号处理电路等,用硬件实现图1的构成。
图2是表示根据本实施方式的SIP负载分散系统一构成例的图。SIP负载分散系统由用户A1和用户A1拥有的终端7a、用户A1或用户A1之外的用户An拥有的终端7n等、多个终端7所属的区域A30、和用户B和用户B拥有的终端8所属的区域B35构成。区域B作为一例,示出与区域A不同的区域的存在,也可进一步追加不同的多个区域,构成网络系统。另外,图示在区域B内,终端8与容纳终端8、并控制终端8的会话的SIP服务器b4由网络6连接的构成,但区域B内的构成也与区域A内的构成一样,也可以是由多台终端与多台SIP服务器构成的形式。
本实施方式的SIP负载分散系统的一个特征在于具有如下功能,即如区域A内的构成所示,当由多个SIP服务器2a-2n分担应对与多台终端7a-7n的通信时,SIP负载分散装置1对于来自终端7的询问,通知应对的SIP服务器2的地址。此时,各SIP服务器2a-2n共同利用管理属于该区域的用户和终端的信息的位置DB3。另外,终端7a-7n通过网络5与SIP负载分散装置1、SIP服务器2a-2n、位置DB3连接。并且,设区域A与区域B也相互通过网络来连接。图2中,对位置DB3的访问也可看作来自终端7或其它区域的装置,但也可区分网络,使访问仅来自SIP负载分散装置1和SIP服务器2a-2n。此时,进一步确保安全性。
图3是表示就本实施方式的SIP负载分散系统而言、将来自终端7的消息通过SIP负载分散装置1分配给SIP服务器2之前的序列一例的图。
设本实施方式的终端7在进行加密通信时,事先进行由RFC3329规定的安全方式的协商。由此,在图3-图6中,在安全性方式的协商完成之前、进行非加密(未加密)通信的前提下,示出序列和消息的实例。但是,只要实现本发明的效果,也可适用其它加密通信方式。
另外,示出在图4示例的从终端发送到SIP负载分散装置的消息(F40)中、不包含安全性方式的协商信息(Security-Client头)的一般REGISTER登录的请求消息,但在F40的消息中包含安全性方式的协商信息也无妨。
另一方面,使用图5所示的302响应,即在从SIP负载分散装置1向终端7通知应对的SIP服务器的地址的响应消息(F41)中,不包含安全性方式的协商响应信息(Security-Server头)。
这是因为即便在例如F40中包含安全性方式的协商信息,也由于负载分散装置自身不进行该协商,所以F41的消息中通常不包含安全性方式的协商信息(Security-Server头)。
但是,F41的消息中也可包含安全性方式的协商信息。此时,虽违反RFC3329的规定,但也可将302响应用作F41。或者,根据RFC3329的规定,将可指定安全性方式的协商响应信息的423响应或429响应用作F41。
另外,在本实施方式中,示出将302响应(F41)用作重寄通知的消息的实例,但若统一与终端间的网络接口规格,则也可使用300序号的其它响应代码、或未预约的独自的响应代码。
向SIP负载分散装置1分配虚拟区域的区域名(例如domainA.co.jp),作为代表管辖区域的地址。所谓虚拟区域是指公开SIP负载分散装置1的地址,代替实际处理各消息的各SIP服务器的地址。终端7将使用开始时的REGISTER消息(F40)发送给该地址(即SIP负载分散装置)目的地(50)。SIP负载分散装置1在通过发送源判定程序22将接收到的消息的前一跳跃的发送源判定为终端7的情况下,利用负载分散管理程序25来确定应对终端7的SIP服务器2,通过302响应将确定后的SIP服务器的地址通知给终端7(F41)。作为此时的SIP服务器2的地址通知方法,如图5所示,利用Contact头(54)。
接收到302响应(F41)的终端向由302响应的Contact头通知的地址目的地发送消息(F42)。具体的消息内容如图6所示,向Request-Line指定由302响应的Contact头通知的地址(56)。此时,分配给用户或终端的SIP-URI(52、56)或联系地址(53、59)的内容与原始的一样。
图7是表示本实施方式的SIP负载分散装置1的负载分散管理表格26一构成例的图。
如图7所示,在负载分散管理表格26中,存储并管理以终端在线时的REGISTER登录(F40)为契机分配的SIP服务器与终端的对应关系。具体而言,以SIP服务器的分配为契机,向请求消息的From头追加指定的用户或终端的SIP-URI的项目(62),并在分配给该SIP-URI的SIP服务器的栏中设立位(60)。
另一方面,负载分散管理程序25在确定应对终端7的SIP服务器时,参照各SIP服务器的应对总数(64),重新分配例如应对数少的SIP服务器。因为可根据应对总数(64)来推测SIP服务器的负载,所以通过参照应对总数(64)来分配SIP服务器,可进行反映SIP服务器的负载的分配,可实现更细致的负载分散。
作为简便统计应对总数的方法,可在对分配的SIP服务器的栏的登录中使用数值计数的‘1’,将该数值计数的总和设为应对总数。另外,当确定分配对象的SIP服务器时,也可进行各每个SIP服务器的性能相加的加权。通过进行将每个SIP服务器的性能相加的加权,在各个SIP服务器的规格(例如CPU性能、存储器容量等)有差异的情况下,可进行反映该规格差异的分配,实现进一步细致的负载分散。
在F40的请求(例如作为安全性协商的信息)示出终端7期望的加密通信的方式时,也可对在与SIP服务器之间利用的加密通信的每种方式进行加权。由于加密的编码/解码处理所需的负载在加密通信的每个方式中不同,所以通过对加密通信的每种方式进行加权,可进行反映加密通信的每种方式的负载差的SIP服务器分配,实现进一步细致的负载分散。
在进行加权的情况下,只要将通过加权确定的数值计数登录到栏中即可。另外,只要确定对每个加密通信方式分配的SIP服务器即可。在因为有无加密或加密通信方式的差异来区分服务或合同形式的情况下,设备投资或管理可简化。
图8是表示控制由本实施方式的SIP负载分散装置分配的SIP服务器的利用有效期限的方法一例的序列图。
在本实施方式的SIP负载分散装置中,与将分配给终端7的SIP服务器的地址通知给终端7的同时,将该分配的SIP服务器的利用有效期限也通知给终端7。例如,在302响应的Contact头中包含expires参数(图5、54)来通知。作为此时通知的有效期限的值,通知作为系统允许的最长利用时间。该最长利用时间可与系统设置的场所、系统的使用方式等一致来设定。
通过如此设定有效期限,在无论会话实质上结束后但由于故障等原因未发送来自终端的会话结束通知的情况下,可释放资源。由此,可防止继续浪费使用SIP服务器的资源。
另一方面,图8的后半部分示出从负载分散管理表格26中删除项目时的序列。以终端离线时发送的REGISTER删除消息(F75)为契机,除SIP服务器2进行位置信息的删除的通常处理(F76)外,还向SIP负载分散装置2发送请求删除负载分散管理表格26的该用户(或终端)的项目的命令(F77)。在SIP负载分散装置2内部,接受该命令的负载分散管理程序25删除负载分散管理表格26的该项目。通过进行这种处理,可由负载分散表格26来管理于在线时对终端分配的SIP服务器在离线时被开放。在终端离线时未发送REGISTER删除消息(F76)的情况下,当REGISTER的有效期限截止时,SIP服务器2发出项目删除请求。通过该有效期限截止的处理,终端不会永久连续使用一个分配对象。由此,可防止处理长期集中于特定的分配对象,实现负载分散装置原来的负载分散。
上述方法是SIP负载分散装置不进行有效期限的计时器管理的方法,但作为其它方法,也可由SIP负载分散装置来进行有效期限的计时器管理。此时,必需使可以利用被分配终端的SIP服务器的期间与REGISTER的有效期限一致。此时,还必需考虑延长REGISTER有效期限。首先,将在利用F41的重寄通知中与通知终端7的SIP服务器的有效期限值相同的值作为该REGISTER的有效期限,利用对REGISTER登录的成功响应(200OK(F45)),通知给终端7。另外,除图7的构成外,向负载分散管理表格26追加用于管理对终端分配的SIP服务器的利用有效期限的栏(行)。
作为有效期限的设定方式,在唯一确定有效期限的时间(长度)的情况下,可以是记录开始时刻的绝对时间的形式,也可以是事先计算结束时刻后记录的形式。此时,通过在记录时计算结束时刻,在检查时与当前时刻相比较,可减轻处理负载。并且,在每个连接时有效期限可变的情况下,最好预先记录结束时刻。由此,即便有效期限可变,也可统一检查处理的步骤。并且,SIP服务器2侧,不仅在REGISTER删除(F75)时,在REGISTER更新(F70)时,也向SIP负载分散装置发送负载分散管理表格的更新请求(F72)。此时,构成与图8的F70-F73的序列一样的序列。
在该方法中,由于SIP负载分散装置也进行有效期限的计时器管理,所以当REGISTER的有效期限截止时,不必从SIP服务器2向SIP负载分散装置1发送项目删除请求。当由SIP负载分散装置(负载分散管理程序25与负载分散管理表格26)管理的有效期限载止时,负载分散管理程序25删除负载分散管理表格26的对应项目。
图9是表示本实施方式的SIP负载分散系统中、防止终端7利用未被SIP负载分散装置1许可的SIP服务器2的方法一例的序列图。
在本实施方式的SIP负载分散系统中,由于不是SIP负载分散装置1中继全部通信量的模块,而是向终端通知应对的SIP服务器2并引导的模块,所以若终端7随意利用SIP负载分散装置1未分配的SIP服务器2,则负载分散的管理不成立,不会很好地分散负载。在本实施方式的SIP负载分散系统中,采取各SIP服务器2的地址原则上不公开,公开SIP负载分散装置1的地址的运用形式,但若从SIP负载分散装置1一旦接收重寄通知(F41),则以Contact头来通知分配的SIP服务器的地址(54),所以该SIP服务器的地址成为终端知道的场所。这里,若暂时结束利用的终端在其它机会不经SIP负载分散装置1而直接再利用地址判明的SIP服务器,则产生上述问题。
因此,在本实施方式的SIP负载分散系统中,引出下面说明的直接通信防止方法。
当终端7按与图3所示一样的步骤向SIP负载分散装置1发送了请求时(F40),SIP负载分散装置1确定应对的SIP服务器2,将分配的SIP服务器2的地址通知终端7(F41),但此时,SIP负载分散装置1在各SIP服务器2a-2n共同利用的位置DB3中登录分配给终端7(或用户)的SIP服务器2的地址(F80)。
位置信息通常登录管理FQDN(Fully Qualified Domain Name)或IP地址等信息,作为赋予用户或终端的SIP-URI(92)与终端7的联系地址(94)。只要固定设定这些信息并运用即可,但在SIP系统中,也可以REGISTER登录为契机,登录赋予用户或终端的SIP-URI(所谓用户名(U-Name))、与分配给该SIP-URI的SIP服务器的联系地址等信息。在本实施方式的SIP负载分散系统中,如图10所示的形式来扩展位置DB3管理的位置表格90。向现有的用户地址单位管理的信息中重新追加分配对象的(应对的)SIP服务器2的地址。
该扩展位置表格90的信息在接收F80的步骤的指令时,成对登录向SIP负载分散装置1发送请求的终端(或用户)的用户名、与分配的SIP服务器2的地址信息。另一方面,联系信息等在分配对象的SIP服务器2接收、受理处理来自终端7的REGISTER登录(F82)的阶段被追加登录(F85)。
在本实施方式的SIP负载分散系统中,如图8就SIP服务器的利用有效期限的说明所述,例如,假设在将从在线时的REGISTER登录至离线时的REGISTER删除的期间设为分配的SIP服务器的利用有效期限的情况下,在分配在在线时应对的SIP服务器之后,若在利用有效期限内,则不经SIP负载分散装置1,直接与分配的SIP服务器通信。此时,各SIP服务器2直接接收来自终端1的消息,但在接收来自终端1的消息时,例如在接收最初的REGISTER登录消息时(F80),对于是否是可以自身应对的终端,参照在F85与F86的步骤的扩展位置表格90的信息,确认分配给发送REGISTER登录消息的终端的SIP服务器是否是自身。这里,在分配给发送REGISTER登录消息的终端的SIP服务器是自身的情况下,将联系地址等从REGISTER登录消息取得的信息追加登录在扩展位置表格90中(F87),向终端返回响应(F89)。另一方面,在F85与F86的步骤中参照扩展位置表格90的信息时,在没有分配给发送REGISTER登录消息的终端的SIP服务器、或分配的SIP服务器不是自身的情况下,不进行F87的联系地址的登录等,在F89的步骤,向终端返回错误响应(例如403Forbidden等)。通过进行这种步骤,本实施方式的SIP负载分散系统防止SIP负载分散装置1未分配的SIP服务器与终端之间的直接通信。
顺便说一下,扩展位置表格90的各项目与删除通常的位置信息的定时一样,当REGISTER的有效期限截止时,或终端发送REGISTER删除消息时,SIP服务器向位置DB3发送删除命令并清零。
另外,图9所示从终端至SIP服务器的REGISTER登录序列(从F82-F89)以不包含安全性协商的REGISTER登录的序列为例,但在包含图3所示的安全性协商的REGISTER登录顺序的情况下,在F44的步骤之后,进行F85-F87的SIP服务器与位置DB3之间的序列。
实施例2图11是表示本实施方式的SIP负载分散系统中、处理经由其它区域的SIP服务器4向自区域的终端7目的地发送的请求消息的方法一例的图。
从属于其它区域(区域B)35的终端向属于自区域(区域A)的终端7目的地发送的请求消息最初被发送给终端8所属的SIP服务器b4(F100)。向目的地终端7所属的区域的SIP服务器中继SIP服务器b4接收到的请求消息,但此时,在本实施方式的SIP负载分散系统中,由于将管辖区域A的SIP服务器的代表地址(例如domainA.co.jp)分配给SIP负载分散装置1并运用,所以将SIP服务器b4中继的请求消息发送给SIP负载分散装置1(F101)。
在接收从其它区域的SIP服务器b4发送的请求消息的SIP负载分散装置1中,由于发送源判定程序22将接收到的请求消息之前的发送源判定为不是自区域的终端,所以,这里,负载分散管理程序25参照负载分散管理表格26,调查分配目的地终端的通信(会话)管理的SIP服务器,向该SIP服务器无状态中继消息(F102)。这里所述的‘无状态’是指与对SIP规定的RFC3261定义的无状态代理的动作一样的动作。即,SIP负载分散装置1不管理之后通信中的会话的状态转变,包含响应消息,中继消息,以便之后的交易也可不经由SIP负载分散装置1。具体而言,为了使如Via头或Record-Route头等消息的通信路径相同,通常,SIP服务器不附加在消息中继时赋予的头,中继接收到的消息。由此,在一次适当的SIP服务器中继消息之后,由于SIP负载分散装置1无论关于该会话的通信如何均可完成,所以从该会话的管理处理负载中释放SIP负载分散装置1。
从SIP负载分散装置1中继请求消息的SIP服务器a2(b2)参照位置信息,调查对应于指定为目的地的用户地址的联系地址,向该联系地址目的地中继消息(F103)。在本实施方式的SIP服务器中,由于假设在服务器内部登录管理关于自身应对的终端的位置信息,所以序列中不包含关于位置信息参照的装置间的通信,但也可参照由位置DB3管理的扩展位置表格90。这里,若在服务器内部管理关于自身应对的终端的位置信息时,得到可削减SIP服务器与位置DB间的通信时间的效果。
另一方面,响应消息根据赋予请求消息的Via头的信息,按F104、F105、F106的顺序返回。这里,与请求消息的路径不同,响应消息不经由SIP负载分散装置1,这是因为在请求中继时,SIP负载分散装置1进行无状态的中继,所以不向Via头附加SIP负载分散装置1的地址。另外,之后的终端8与终端7之间的通信由于依照根据各SIP服务器在请求中继时附加的Record-Route头信息所生成的Route设置的路径,所以其路径变为与响应消息的通信路径一样的通信路径(即SIP负载分散装置1不通过)。
图12是表示本实施方式的SIP负载分散装置1的数据包接收时的处理步骤一例的流程图。
通过网络接口12接收数据包的通信控制程序20调查接收数据包是否是SIP消息(步骤110)。这里,当接收数据包是SIP消息时,由SIP堆栈程序21进行消息解析,发送源判定程序22调查消息之前的发送源是否是自区域内的终端(步骤111、步骤112)。在发送源是自区域内的终端的情况下,负载分散管理程序25参照负载分散管理表格26,确定应对与终端的通信的适当SIP服务器(步骤113)。在将确定了的SIP服务器信息设定给位置DB3的对应用户地址项之后(步骤114),用重寄通知程序23通知给终端(步骤115)。
在步骤111、步骤112的发送源处理中,在消息之前的发送源不是自区域内的终端、例如是图11所示的其它区域的SIP服务器的情况下,负载分散管理程序25参照负载分散管理表格26(步骤120),调查应对与目的地终端的通信的SIP服务器(步骤121)。这里,在存在对应的SIP服务器的情况下,使用无状态代理程序24,在该服务器中继消息(步骤122),在没有对应的SIP服务器的情况下,判定目的地终端为离线状态,向发送源返回错误响应(例如404Not Found)(步骤123)。
另一方面,在步骤110的接收数据包内容的判定中,在接收数据包不是SIP消息的情况下,通信控制程序20判定是否是图8的F77所示的要求负载分散管理表格26的项目删除的命令数据包(步骤125),在是项目删除命令的情况下,负载分散控制程序25删除负载分散管理表格26的对应项目(步骤126)。
对步骤111的发送源判定考虑几个方法。一个方法是参照包含于接收的请求消息的SIP头部中的From头的信息52的方法。在‘@’标志之后的区域部的内容与自区域一致的情况下,判定为从自区域内的终端发送的消息。通过进行该判定,可确定负载分散装置应采取的动作。例如在本实施例的情况下,在消息的发送源是自区域的终端时,负载分散装置向作为消息发送源的终端通知应对的SIP服务器的地址,另一方面,在消息的发送源是其它区域的终端、装置的情况下,本发明的负载分散装置向应对目的地终端的SIP服务器无状态中继消息。
同样,作为参照包含于接收的请求消息的SIP头部中的From头的信息52来判定的其它方法,也可将From头的信息52与同区域的加入者信息相比较。这里,所谓比较的加入者信息是指赋予用户或终端的SIP-URI、即用户地址。此时,检索加入者信息中是否存在与指定给接收到的请求消息的SIP头部中包含的From头的SIP-URI一致的用户地址。检索的结果,若一致,则判定为从自区域内的终端发送的消息。通过如此判定,在区域指定正确、但用户ID不正确(例如无作为地设定)的地址的情况下,可在对SIP服务器进行分配前检测出并拒绝。即,可防止利用具有非法地址的消息来向SIP服务器施加负载。
该加入者信息既可在SIP负载分散装置1内持有,也可在位置DB中持有并参照,或设置管理加入者信息的独立DB服务器来参照。
另外,在赋予自区域内的终端的IP地址的范围可特定的情况下,也可判定接收到的请求消息的IP头的源地址是否包含于该范围内。该范围也可由IP地址的序号范围来指定,例如从‘133.144.0.1’至‘133.144.0.255’。
这样,通过利用IP地址的范围来判定,也可对应于不能发送使用区域地址的请求的终端。另外,通过与对应于IP地址的加入者信息无关地进行分配,可不被加入者的登录/删除/服务变更等左右地分配,故减轻分配的处理。
作为另一方法,也可以是如下方法,通过具有相互连接的其它区域的SIP服务器等的地址列表,将其与接收到的请求消息的IP头的源地址相比较,判定是否是来自其它区域的通信。利用该判定方法,可限定与其它区域相互连接的SIP服务器。并且,通过由负载分散装置进行该连接限制,可不向SIP服务器施加负担地进行连接限制。
实施例3图13是表示在本实施方式的SIP负载分散系统中、同一区域内的终端间进行通信的方法一例的图。
终端a1(7a)与终端aN(7n)分别按与图3一样的步骤,在从SIP负载分散装置1通知的SIP服务器a1(2a)与SIP服务器aN(2n)之间,确立继续的连接。说明在这种状况下,从终端a1发送给终端aN的请求消息的流。
终端a1发送的请求消息首先被发送到在与终端a1之间确立继续的连接的SIP服务器a1(F130)。SIP服务器a1通过参照消息的目的地,判定目的地是属于同一区域的终端。这里,在存储器或本地硬盘上高速缓冲管理自身应对的终端的位置信息的情况下,调查高速缓冲存储器上的位置信息中是否存在目的地终端的信息。在高速缓冲存储器上存在目的地终端的信息的情况下,向记录其中的联系地址目的地中继消息。另一方面,在高速缓冲存储器上不存在目的地终端的信息的情况下,参照由位置DB3管理的扩展位置表格90的信息(F132、F134)。若目的地终端aN(7n)在线,则应对与该终端的通信,进行会话管理的SIP服务器的信息96与该终端的SIP-URI信息92成对登录。由此,参照对应于该终端的SIP-URI的SIP服务器的信息96,向这里得到的SIP服务器的地址进行消息的中继(F136)。最后,接收到消息的SIP服务器aN(2n)按与SIP服务器a1(2a)一样的步骤,进行目的地确认与位置信息的参照,向终端aN(7n)中继消息。通过如此利用现有连接,可抑制SIP服务器和终端的资源消耗。另外,通过利用现有连接,可省略确立新的加密通信路径用的密钥交换或认证步骤,此时,可进一步削减SIP服务器、终端的负载。
SIP服务器在未高速缓冲并管理自身应对的终端的位置信息的情况下,参照最初由位置DB3管理的扩展位置表格90的信息。
顺便提及,由于扩展位置表格90中还登录、管理终端的联系地址信息94,所以在按F132、F134的步骤参照扩展位置表格时,还判断目的地终端aN(7n)的联系地址。由此,SIP服务器a1(2a)也可不经SIP服务器aN(2n),直接向目的地终端aN(7n)中继消息。
但是,终端aN(7n)与SIP服务器aN(2n)之间的继续连接是经认证步骤确立的通信路径,另外,在是加密发送接收的数据包的安全通信的情况下,在该连接上发送接收的数据包作为保障安全的数据包是允许的,但也可以不允许在其它连接上发送的数据包(例如上述从SIP服务器a1-终端aN直接中继的数据包)。在这种情况下,保障安全的通信如图13所示,最好由经由SIP服务器aN的通信路径中继数据包。这样,通过不允许未保障安全的其它连接的数据包,可不使保障安全的数据包与这以外的数据包混同地传输。
分别用图14和图15来说明进行图13所示的中继处理的SIP服务器的装置构成图与动作流程。
图14是表示本实施方式的SIP服务器2的一构成例的图。具备CPU10、存储器16、存储装置14、网络接口12与图1所示的SIP负载分散装置一样。存储在存储装置中的SIP服务器的控制用程序在动作时,在存储器上展开,由CPU来进行。存储装置可以安装于壳体内部,也可以作为外部存储装置设置在其它壳体中,或是由网络连接。
另外,也可具备具有装置管理权限的用户操作SIP服务器用的用户接口。作为用户接口,例如指指令输入用的键盘、GUI输入用的鼠标、显示画面等。
通信控制程序20与SIP堆栈程序21也与图1所示的程序一样。另一方面,虽然简化示出,但140-149是包含SIP代理程序的SIP服务器的主要构成要素。SIP代理程序140包含中继目标的地址解决程序144。后面用图15的流程图来说明该中继目标地址解决程序的细节。会话管理表格142管理呼叫的状态转变。本地位置表格146管理该SIP服务器应对的终端的S IP-URI与联系地址等位置信息。会话管理表格142与本地位置表格146在图14中作为存储器16上的表格描绘,但也可是设置于存储装置14上的数据库表格。另外,也可代替在SIP服务器内保持本地位置表格,而在外部位置DB中保持位置信息,必要时访问该DB。但是,为了高速进行SIP消息的中继处理,自身应对的终端的位置信息以本地位置表格146的形式将信息保持在自服务器内,比经常参照外部的位置DB3更有利。
地址解决程序144首先参照接收到的消息的目的地信息,并调查是否是自身管辖区域内的终端目的地的消息(自区域目的地)(步骤150)。这里,在目的地是自区域的终端的情况下,地址解决程序144参照本地位置表格146,调查是否是当前自身应对的终端(步骤153)。在本地位置表格146中有信息的情况下(步骤154),向SIP堆栈程序21判断的联系地址目的地中继消息(步骤157)。另一方面,在本地位置表格146中不存在信息的情况下(步骤154),位置DB控制程序148参照外部的位置DB3的信息(步骤155)。在包含其它SIP服务器应对的情况等目的地终端在线状态的情况下,在位置DB3上登录联系地址。之后,位置DB3检索的结果,在联系地址解决了的情况下(步骤156),向该联系地址目的地中继消息(步骤157)。另一方面,在位置DB3中也未登录联系地址的情况下,或不存在终端的帐户(account)(SIP-URI)自身的情况下,SIP堆栈程序21向发送源返回错误响应(步骤158)。
当地址解决程序144进行目的地区域判定时,当判定为其它区域目的地的消息的情况下(步骤150),DNS客户机程序149询问DNS服务器(步骤151)。之后,SIP堆栈程序21在地址解决了的情况下,中继消息(步骤157),在未解决的情况下,返回错误响应(步骤158)。
这里,由于聚焦于地址解决处理的步骤,所以直接连接地址解决与消息中继或错误响应之间,来简化说明,但在实际的SIP服务器的动作中,认证处理或呼叫状态管理处理或固有的过滤处理等也可在消息中继或错误响应之前实施。
实施例4图16是表示使用应用程序服务器的情况下的SIP负载分散系统一构成例的图。作为呈现服务器或会话服务器等应用程序服务器的设置实例,考虑与SIP负载分散装置1设置在同一区域内的实例160和设置于其它区域中的实例162。在设置于其它区域中的情况下162,应用程序服务器发出的SIP消息暂时被发送到与应用程序服务器162相同区域内的SIP服务器4。在该消息的目的地为属于区域A内的终端目的地的情况下,由于经由SIP服务器4发送给SIP负载分散装置1,所以此时的消息发送接收处理与图11所示的实施例一样。另一方面,在设置于与SIP负载分散装置1相同区域内的应用程序服务器160的情况下,将其视为端点(End Point)终端,与终端2一样处理,或视为服务器2之外的SIP负载分散装置1下属的服务器,与经由其它区域的SIP服务器4接收消息时一样处理,从而SIP负载分散装置1的动作不同。
在与终端2一样处理的情况下,应用程序服务器160中要求与图3中说明的终端2一样的动作。这样,通过与终端一样处理应用程序服务器,应用程序服务器发出的请求也可作为负载分散的对象来处理。
另一方面,在与其它区域的SIP服务器4一样处理的情况下,将与SIP负载分散装置1和SIP负载分散装置下属的多台SIP服务器2彼此连接的服务器的地址作为地址列表来保持,SIP负载分散装置1的发送源判定程序22在该地址列表中,还加上应用程序服务器160的地址来进行管理控制。这样,通过与其它区域的SIP服务器一样处理应用程序服务器,可将不具有对应重寄响应功能的应用程序服务器发出的请求也作为负载分散的对象来处理。
另外,在此前说明的系统构成图中,SIP负载分散装置1与多台SIP服务器2分别作为独立的装置来描述,但也可使这些服务器装置以叶片(blade)服务器等构成相同壳体的装置的各服务器叶片来动作。并且,也可使应用程序服务器16的服务器模块也居于叶片服务器内,在相同的叶片服务器装置中动作。这样,通过同居于叶片服务器内,进行统一的监视控制。另外,与一台一台并列服务器的情况相比,可实现空间节省。
以上,通过使用本实施例的SIP负载分散装置,在接收到的请求消息之前的发送源是自区域的终端的情况下,根据负载分散管理表格的信息来确定应对的SIP服务器,并使用重寄响应来通知应对的SIP服务器的地址,所以从之后的终端的通信(包含加密通信中),可不经SIP负载分散装置,并且向适当的SIP服务器分散负载。尤其是在向终端通知应对的SIP服务器的地址之后,由于SIP负载分散装置不必介入来自终端的通信中,所以进行加密通信时,必需在SIP负载分散装置结束加密通信,消息数量减少,SIP负载分散装置不会变为瓶颈。
同样,在接收到的请求消息之前的发送源不是自区域的终端的情况下,参照负载分散管理表格,调查目的地终端连接的SIP服务器,作为无状态代理,向该SIP服务器中继消息,所以在以后的通信中,终端可不经SIP负载分散装置,向确立继续连接的SIP服务器分配消息。
产业上的可利用性本发明的通信方法由于在非加密通信中也同样可以实现SIP服务器的负载分散,所以也可适用于加密通信与非加密通信混合存在的SIP系统中。
权利要求
1.一种负载分散装置,与本区域内的多个终端、多个服务器、及其它区域的数据包发送源连接,其特征在于具有接收数据包的发送接收部,和判定接收到的数据包的发送源的控制部,在上述判定的结果为判定发送源是上述本区域内的终端的情况下,确定上述多个服务器中进行有关该终端的数据包处理的服务器,并经上述发送接收部将该被确定的服务器的地址通知给该终端,在上述判定的结果为判定发送源是上述其它区域的数据包发送源的情况下,经上述发送接收部,将上述数据包发送给进行与作为上述数据包发送地的本区域内的终端有关的数据包处理的服务器。
2.根据权利要求1所述的负载分散装置,其特征在于还具有存储装置,该存储装置存储本区域内的终端与进行有关该终端的数据包处理的服务器的对应关系的数据库。
3.根据权利要求2所述的负载分散装置,其特征在于在上述判定的结果为判定发送源是上述其它区域的数据包发送源的情况下,参照上述对应关系的数据库,检索进行与作为上述数据包发送地的本区域内终端有关的数据包处理的服务器,并经上述发送接收部将上述数据包发送给检索到的上述服务器。
4.根据权利要求2所述的负载分散装置,其特征在于在上述判定结果判定发送源是上述本区域内的终端的情况下,参照上述对应关系的数据库,将使用终端数量最少的服务器确定为进行有关上述发送源终端的数据包处理的服务器。
5.根据权利要求2所述的负载分散装置,其特征在于在确定进行有关上述数据包的发送源的终端的数据包处理的服务器后,当上述存储装置将该终端与该服务器的对应关系作为上述终端的项目追加于上述对应关系的数据库中时,对应于该终端使用的通信方式的加权信息也与上述项目相关联来存储。
6.根据权利要求1所述的负载分散装置,其特征在于上述服务器是会话控制服务器,上述数据包是会话控制消息。
7.根据权利要求6所述的负载分散装置,其特征在于上述会话控制服务器是SIP服务器,上述会话控制消息是SIP消息。
8.一种负载分散系统,与本区域内的多个终端、其它区域的数据包发送源连接,其特征在于具备多个服务器与负载分散装置,该负载分散装置具有接收数据包的发送接收部;判定接收到的数据包的发送源的控制部,在上述判定结果为判定发送源是上述本区域内的终端的情况下,确定上述多个服务器中进行有关该终端的数据包处理的服务器,并经上述发送接收部将该确定的服务器的地址通知给该终端,在上述判定的结果为判定发送源是上述其它区域的数据包发送源的情况下,经上述发送接收部将上述数据包发送给进行与作为上述数据包发送地的本区域内终端有关的数据包处理的服务器。
9.根据权利要求8所述的负载分散系统,其特征在于具备位置数据库,管理上述本区域内的多个终端的地址与进行有关该终端的数据包处理的服务器的对应关系。
10.根据权利要求9所述的负载分散系统,其特征在于上述负载分散装置还具有存储装置,该存储装置存储本区域内的终端与进行有关该终端的数据包处理的服务器的对应关系的数据库。
11.根据权利要求10所述的负载分散系统,其特征在于上述负载分散装置在上述判定的结果为判定发送源是上述其它区域的数据包发送源的情况下,参照上述对应关系的数据库,检索进行与作为上述数据包发送地的本区域内终端有关的数据包处理的服务器,并经上述发送接收部将上述数据包发送给检索到的上述服务器。
12.根据权利要求10所述的负载分散系统,其特征在于上述负载分散装置在上述判定的结果为判定发送源是上述本区域内的终端的情况下,参照上述对应关系的数据库,将使用终端数量最少的服务器确定为进行有关上述发送源终端的数据包处理的服务器。
13.根据权利要求10所述的负载分散系统,其特征在于上述负载分散装置在确定进行与上述数据包的发送源的终端有关的数据包处理的服务器后,上述存储装置将该终端与该服务器的对应关系作为上述终端的项目,追加于上述对应关系的数据库中,对应于该终端利用的通信方式的加权信息也与上述项目相关联来存储。
14.根据权利要求10所述的负载分散系统,其特征在于当进行该终端的数据包处理的服务器从上述终端接收注销通知时,该服务器通知上述位置数据库删除该终端的项目,并通知上述负载分散装置删除上述对应关系的数据库中该终端的项目。
15.根据权利要求10所述的负载分散系统,其特征在于上述负载分散装置在确定进行与上述数据包的发送源的终端有关的数据包处理的服务器后,上述存储装置将该终端与该服务器的对应关系作为上述终端的项目,追加于上述对应关系数据库中,并将该终端与该服务器的对应关系作为上述终端的项目追加于位置数据库中。
16.根据权利要求9所述的负载分散系统,其特征在于上述服务器在接收数据包时,参照上述位置数据库,判定该数据包的发送源是否是本服务器担当数据包处理的发送源,在上述判定的结果为判定不是本服务器担当数据包数据的发送源的情况下,进行上述数据包的中继处理。
17.根据权利要求9所述的负载分散系统,其特征在于上述服务器还具有本地位置数据库,存储由本服务器担当数据包处理的终端的地址,当接收了数据包时,判定该数据包的发送地是否是本区域内的终端,在该判定的结果为判定发送地是本区域内的终端的情况下,进而检索上述本地位置数据库,判定该数据包的发送地是否是本服务器担当数据包处理的终端,该判定的结果在判定为发送地是本服务器担当数据包处理的终端的情况下,将上述数据包发送给该发送地,在该判定的结果为判定发送地不是本服务器担当数据包处理的终端的情况下,参照上述位置数据库,检索进行有关该发送地终端的数据包处理的服务器的地址,并向该检索到的服务器传输上述数据包。
18.根据权利要求8所述的负载分散系统,其特征在于上述服务器是会话控制服务器,上述数据包是会话控制消息。
19.根据权利要求18所述的负载分散系统,其特征在于上述会话控制服务器是SIP服务器,上述会话控制消息是SIP消息。
全文摘要
本发明提供一种负载分散装置和负载分散系统准备多台SIP服务器,当进行SIP消息通信的负载分散时,减少负载分散装置必需处理的消息。在SIP负载分散装置内,具备负载分散管理部件(25),当接收到的请求消息之前的发送源是自区域的终端的情况下,确定应对的SIP服务器;和重寄功能(23),通知应对能改善请求消息的自区域终端的SIP服务器的地址。另外,具备负载分散管理表格(25),在请求消息之前的发送源是自区域的终端以外的情况下,检索应对作为目的地终端的自区域终端通信的SIP服务器;和无状态中继功能(24),无状态中继在解决的SIP服务器目的地接收的请求消息。
文档编号H04L12/56GK1855884SQ20061000511
公开日2006年11月1日 申请日期2006年1月12日 优先权日2005年4月25日
发明者汤本一磨, 川井惠理, 吉泽政洋 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1