CN103703745A - 用于将用户代理与服务器集群互连的方法和设备 - Google Patents
用于将用户代理与服务器集群互连的方法和设备 Download PDFInfo
- Publication number
- CN103703745A CN103703745A CN201280035566.7A CN201280035566A CN103703745A CN 103703745 A CN103703745 A CN 103703745A CN 201280035566 A CN201280035566 A CN 201280035566A CN 103703745 A CN103703745 A CN 103703745A
- Authority
- CN
- China
- Prior art keywords
- server
- message
- agency
- cluster
- protocol
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- 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
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- 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
- H04L67/148—Migration or transfer of sessions
Abstract
一种用于将用户代理与服务器集群互连的设备(CEG),该设备包括:第一协议代理,被配置为根据SIP协议来与所述用户代理交换第一消息,其中所述设备具有用户代理服务器的作用;第二协议代理,被配置为根据SIP协议与从所述服务器集群中选择的服务器交换第二消息,其中所述设备具有用户代理客户端的作用;互连装置,用于在所述第一协议代理和所述第二协议代理之间中继所述第一消息和所述第二消息之中的消息;其中所述第二协议代理被进一步配置为,弹性地终止从所述服务器集群中接收到的控制消息。
Description
技术领域
本发明涉及适用于支持会话发起协议(SIP)会话的网络的领域。
背景技术
虚拟化技术使得计算系统能够根据需要通过配置其他虚拟机来处理负载的浪涌。因此,作为过度扩大计算系统以处理(可能的)峰值负荷的替代,云计算使得这些计算系统能够根据其当前需要来获取和释放资源。在下文中,该类型的可缩放系统将被称为“弹性(elastic)”系统。
用于建立和控制在诸如因特网的基于分组的网络上的端点之间的多媒体通信会话的会话发起协议(SIP)是有状态(stateful)协议。这意味着,协议交换中的参与方必须记住交换的状态,以对协议事件充分地进行响应。此外,大多数的SIP服务器是有状态的——例如,因为它们维护表示两个SIP用户代理(UA)之间的SIP关系的“对话”,其在一段时间内持续。此外,SIP可以在各种传输协议上运行,包括传输控制协议(TCP),其本身是状态敏感的协议。
发明内容
SIP UA通常紧密地耦合到特定的SIP服务器达一段时间,其使响应于负载改变而动态获取和/或释放SIP服务器变得复杂。当呼叫跨多个域时,也可以观察到这种紧密耦合。如果是这样的情况,则不同域的协作(有状态)的代理服务器通常紧密地彼此耦合达一段时间,这再次使得在受影响的SIP域中的一个或全部中的安全动态弹性行为的实现变得复杂。最后,安装的SIP客户端的基础被分段,并且不完全符合最新的标准。
因此,需要一种方法来使SIP服务器与其(非弹性)对应方解耦合,并且与SIP UA解耦合,以便于使得能够在不损害进行中的呼叫的情况下动态地扩展和聚集(有状态的)SIP服务器。
本发明的目的在于通过对动态地构建缩放(有状态)SIP集群所需要的流控制消息和协议改变隐藏SIP UA和(非弹性)SIP服务器来促进弹性SIP集群的简单适用。
根据本发明的第一方面,提供了一种用于将用户代理与服务器集群互连的第一设备,该设备包括:
-第一协议代理,被配置为根据SIP协议来与所述用户代理交换第一消息,其中所述设备具有用户代理服务器的作用;
-第二协议代理,被配置为根据SIP协议与从所述服务器集群中选择的服务器交换第二消息,其中所述设备具有用户代理客户端的作用;
-互连装置,用于在所述第一协议代理和所述第二协议代理之间中继所述第一消息和所述第二消息中的消息;
其中,所述第二协议代理被进一步配置为,弹性地终止从所述服务器集接收到的控制消息。
在下文中,第一设备被称为客户端弹性网关(CEG)。
在本发明的实施例中,CEG还包括被配置成根据负载平衡方案来从所述服务器集群中选择所述选择的服务器的逻辑。
在本发明的实施例中,CEG还包括被配置成在所述选择的服务器故障的情况下,从所述服务器集群中选择另一服务器的逻辑。
根据本发明的第一方面,提供了一种用于将服务器集群与SIP服务器互连的第二设备,所述设备包括:
-第一协议代理,被配置为根据SIP协议来与从所述服务器集群中选择的服务器交换第一消息,其中所述设备具有用户代理服务器的作用;
-第二协议代理,被配置为根据SIP协议来与SIP服务器交换第二消息,其中所述设备具有用户代理服务器的作用;
-用于在所述第一协议代理和所述第二协议代理之间中继所述第一消息和所述第二消息中的消息的装置;
其中,所述第一协议代理进一步被配置为弹性地终止从所述服务器集群接收到的控制消息。
在下文中,第二设备被称为服务器弹性网关(SEG)。
在本发明的实施例中,SEG还包括被配置为根据负载平衡方案来从所述服务器集群中选择所述选择的服务器的逻辑。
在本发明的实施例中,SEG还包括被配置成在所述选择的服务器故障的情况下从所述服务器集群中选择另一服务器的逻辑。
根据本发明的另一方面,提供了一种用于将用户代理与从服务器集群中选择的服务器互连的方法,所述方法包括,在客户端弹性网关设备处:
-通过下述操作来在所述用户代理和所述选择的服务器之间中继消息:
-根据SIP协议来与所述用户代理交换第一消息,其中所述客户端弹性网关设备具有用户代理服务器的作用;以及
-根据SIP协议来与所述选择的服务器交换第二消息,其中所述客户端弹性网关设备具有用户代理客户端的作用;
其中,进入的第一消息的净荷被转移到外出的第二消息,并且反之亦然;并且
-弹性地终止从所述服务器集群接收到的控制消息。
在实施例中,根据本发明的方法还包括根据负载平衡方案来从所述服务器集群中选择所述选择的服务器。
在实施例中,根据本发明的方法还包括在所述选择的服务器故障的情况下,通过从所述服务器集群中选择另一服务器来提供故障切换(fail-over)支持。
根据本发明的另一方面,提供了一种用于将第一服务器与从服务器集群中选择的服务器互连的方法,所述方法包括在服务器弹性网关设备处:
-通过下述操作来在所述第一服务器和所述选择的服务器之间中继消息:
-根据SIP协议来与所述第一服务器交换第一消息;以及
-根据SIP协议来与所述选择的服务器交换第二消息;
其中,进入的第一消息的净荷被转移到外出的第二消息,并且反之亦然;并且
-弹性地终止从所述服务器集群接收到的控制消息。
在实施例中,根据本发明的方法还包括根据负载平衡方案来从所述服务器集群中选择所述选择的服务器。
在实施例中,根据本发明的方法还包括在所述选择的服务器故障的情况下通过从所述服务器集群中选择另一服务器来提供故障切换支持。
根据本发明的另一方面,提供了一种被配置为使得可编程设备执行如上所述的方法中的任何一个方法的计算机程序。
附图说明
现在仅通过示例的方式并且参考附图来描述根据本发明的实施例的设备和/或方法的一些实施例,在附图中:
图1示出了其中可以部署本发明的包括单个SIP域的示例性网络;
图2示出了其中可以部署本发明的包括两个SIP域的示例性网络;
图3提供了根据本发明的实施例的第一设备的示意图;
图4呈现了根据本发明的实施例的方法的流程图;
图5提供了根据本发明的实施例的第二设备的示意图;
图6呈现了根据本发明的另一实施例的方法的流程图;
图7示出了经由根据本发明的实施例的设备在用户代理和SIP服务器之间的SIP协议交换;
图8示出了经由根据本发明的实施例的设备在一对SIP用户代理之间的SIP协议交换;以及
图9示出了经由根据本发明的另一实施例的设备在一对SIP服务器之间的SIP协议交换。
具体实施方式
本发明特别是基于以下认识:专用SIP客户端弹性网关(SIP CEG)可以用于使SIP UA与弹性SIP集群的(有状态)SIP服务器解耦合。
图1示出了包括通过单个域100互连的两个示例性用户代理101、201的示例性网络。SIP域100包括第一CEG 111和第二CEG 211,屏蔽服务器集群。不失一般性地,集群被示出为包含三个弹性SIP服务器121-123。
不失一般性地,考虑在第一SIP CEG 111和拓扑上相邻的UA 101之间的交互。SIP CEG 111在其与UA 101的所有通信中起用户代理服务器(UA)的作用,并且在其与弹性SIP集群的SIP服务器121-123的关系中起用户代理客户端(UAC)的作用。因此,SIP CEG 111通过用作单个SIP服务器来对客户端101隐藏弹性SIP服务器121-123。其可以包括负载平衡支持(可能类似于现有的SIP场(farm)的负载平衡器),并且还可以配备有故障切换支持(以解决SIP服务器的崩溃)。此外,SIP CEG 111弹性地终止从弹性SIP集群121-123源发的控制消息,因此对UA 101隐藏弹性SIP集群的动态——包括将消息重定向到另一SIP服务器的指令。
传统的负载平衡器仅处理进入的消息。由于SIP CEG 111尝试控制对弹性SIP集群121-123的所有访问,所以还向UA 101转发外出消息。因此,UA 101向SIP CEG 111而不是向先前处理过该消息的实际SIP服务器发送响应。这使得当获得了新的SIP服务器时,或者当冗余SIP服务器被释放时,CEG 111能够透明地重新定向消息。第二SIP CEG 211和拓扑上相邻的UA 201之间的交互是完全类似的。
有利的是,将CEG实例布置在SIP UA附近——在毫微微小区上、在家庭网关上或者在最极端的情况下甚至在SIP UA本身上作为独立服务。通过将(多个)CEG布置在客户端附近(而不是仅几个CEG在弹性SIP服务器附近),CEG必须满足不太严格的可缩放性和高可用性的要求。因为只有几个UA依赖于它们的功能,所以故障的影响是有限的。
相反,布置在弹性SIP服务器附近的CEG将容纳更多数目的UA,并且因此必须满足更加严格的可缩放性和高可用性的要求。
本发明还基于下述认识:专用SIP服务器弹性网关(SIP SEG)可以用于将SIP服务器与非弹性或者属于不同域的对等体解耦合。
图2示出了包括通过若干SIP域互连的两个示例性用户代理101、201的示例性网络。不失一般性地,示出了两个互连的SIP域100、200。图示的SIP域100、200中的每一个包括面向用户代理的CEG 111、211以及面向域边界的SEG 131、231。每个域100、200的CEG和SEG屏蔽服务器集群。不失一般性地,每个集群被示出为包含三个弹性SIP服务器121-123、221-223。
SEG 131、132的作用与CEG 111、211类似;其将进入的消息重新定向到适当的服务器,弹性地终止从弹性SIP服务器121-123、221-223源发的控制消息,并且将该消息转发到下一跳(隐藏实际处理该消息的弹性SIP服务器,并且确保响应被发送回SEG)。
虽然CEG和SEG的目标是类似的,但是其实现和布置模型略有不同。这是在CEG(其将弹性SIP服务器与SIP UA解耦合)和SEG(其将弹性SIP服务器与非弹性或属于不同域的对等体解耦合)之间进行区分的主要原因。
在图3中示意性地示出根据本发明的实施例的CEG 111的示例性实现。
为清楚起见,没有示出仅仅负责使得能够与上至传输层级的协议层处的其他实体进行通信的单元。本领域技术人员应当理解,根据本发明的CEG 111将被实现在包括用于该效果的必要硬件和软件的设备中或者实现为该设备。
如示,CEG包括:第一协议代理310,被配置为根据SIP协议与用户代理101交换消息;第二协议代理320,被配置为用于与属于弹性服务器集群的弹性SIP服务器121交换消息;以及互连装置330,用于在前述协议代理310、320之间中继消息。第二协议代理320还被配置为弹性地终止从集群接收到的控制消息,并且可以为此目的而包括弹性子代理325。本领域技术人员应当理解,第一协议代理310、第二协议代理320、弹性子代理325以及互连装置330可以通过表示前述实体的一条或多条软件而被实现为一个或多个专用硬件块或者实现为专用的和可配置的硬件的组合。
图4呈现了在根据本发明的实施例的示例性方法中、在CEG 111处执行的步骤的流程图。虽然该方法的步骤以特定顺序被图示和描述,但是这仅出于清楚的原因来进行,并且不意在以任何方式限制本发明。
在初始步骤410中,可以应用于在事务从UA 101侧发起时,优选地通过应用负载平衡算法,可以选择服务器集群中的弹性SIP服务器121。在第二步骤420和第三步骤430中,消息一方面在CEG 111和UA 101之间交换,并且另一方面在CEG 111和选择的服务器121之间交换。在该阶段,在适当时,经由CEG在UA 101和选择的服务器121之间中继消息。只要SIP会话需要,则该阶段持续。同时,在第四步骤440中,CEG 111终止(生成和接收)弹性消息,并且相应地更新与选择的服务器121进行通信的CEG 111的那些部分的配置。如果检测到450选择的服务器121的故障,则可以选择410新的弹性服务器,并且CEG 111的操作通过新选择的服务器来继续。必须注意,在CEG 111处对于故障切换的支持是可选的。作为对本地故障切换支持的替代,CEG 111的功能可以被限制为与外部弹性控制系统(ECS,未示出)的交互,其可以被配置为响应于故障事件而指令CEG 111以暂停由第一ESS管理的会话,并且在另一ESS处再继续该会话。ECS的细节在与本申请同日、以申请人的名义提交的专利申请“Method for transferringstate information pertaining to a plurality of SIP conversations”中被提供,该申请的内容通过引用合并于此。
在图5中示意性地示出了根据本发明的实施例的SEG 131的示例性实现。
为清楚起见,未示出仅仅负责使得能够与上至传输层级的协议层处的其他实体进行通信的单元。本领域技术人员应当理解,根据本发明的SEG 131被实现在包括用于该效果的必要硬件和软件的设备中或者实现为该设备。
如示,SEG包括:第一协议代理510,被配置为与属于弹性服务器集群的弹性SIP服务器121交换消息;第二协议代理520,被配置为与对等体231交换消息;以及交互装置530,用于在前述协议代理510、520之间中继消息。第二协议代理520还被配置为弹性地终止从集群接收到的控制消息,并且可以为此目的而包括弹性子代理525。本领域技术人员应当理解,第一协议代理510、第二协议代理520、弹性子代理525以及互连装置530可以通过表示前述实体的一条或多条软件而被实现为一个或多个专用硬件块或者实现为专用的和可配置的硬件的组合。
图6呈现了在根据本发明的实施例的示例性方法中、在CEG 131处执行的步骤的流程图。虽然以特定的顺序图示和说明了该方法的步骤,但是这仅是出于清楚的原因来进行的,并且不意在以任何方式限制本发明。
在初始步骤610中,可以应用于在事务从对等体231侧发起时,优选地通过应用负载平衡算法,可以选择服务器集群中的弹性SIP服务器121。在第二步骤620和第三步骤630中,消息一方面在SEG 131和对等体231之间交换,并且另一方面在SEG 131和选择的服务器121之间交换。在该阶段,在适当时,经由SEG 131在对等体231和选择的服务器121之间中继消息。只要SIP会话需要,则该阶段持续。同时,在第四步骤640中,SEG 131终止(生成和接收)弹性消息,并且相应地更新与选择的服务器121进行通信的SEG 131的那些部分的配置。如果检测到650选择的服务器121的故障,则可以选择610新的弹性服务器,并且SEG 131的操作通过新选择的服务器来继续。必须注意,在SEG 131处对于故障切换的支持是可选的。作为对本地故障切换支持的替代,CEG 131的功能可以被限制为与外部ECS的交互,其可以被配置为响应于故障事件而指令SEG 131以暂停由第一ESS管理的会话,并且在另一ESS处再继续该会话。
现在参考图7-图9中所示的示例性协议交换来进一步说明用户代理、CEG和SEG之间的交互。
图7示出了根据本发明的实施例的经由CEG 111在用户代理101和弹性SIP服务器121之间的SIP协议交换,具体地是用户代理101的注册。
为了借助于CEG使SIP UA与弹性SIP集群中的(有状态)SIP服务器解耦合,定向到SIP UA的所有通信都需要首先通过UA的CEG。在优选实施例中,CEG因此更新所有“注册”请求以用其自己的联系人地址替换UA的联系人地址——并且由此公布自己作为代表客户端的联系人。通过该方式,CEG将拦截定向到UA的联系人的所有消息。为了能够稍后分派这些进入的请求,CEG可以在本地存储UA的联系人地址,或者其可以将该地址编码在更新的联系人报头中。
UA 101向其本地CEG 111(其可被注册为出站代理,或者可以使用DNS来解析)发送每个注册请求。CEG 111进而用其自己的地址来替换UA 101的联系人地址。CEG 111可以在本地存储UA 101的原始地址,或者CEG 111可以将该地址编码在更新的联系人报头中(例如,通过使用“rinstance”参数)。
接下来,本地CEG 111选择适当的SIP服务器(寄存器)121来处理该请求(例如,基于所有SIP服务器121-123的当前负载)。这可能涉及使用DNS SRV、NAPTR、A和/或AAAA记录以及其他现有技术来在节点集群上分散负载。在向选择的SIP服务器121发送修改的注册请求之前,CEG 111对该请求添加VIA报头和记录-路由报头,以便确保响应和后续请求也将通过CEG 111。SIP服务器121在其位置服务中存储更新的联系人报头,并且经由CEG 111向UA 101发送回响应。
图8示出了根据本发明的实施例的经由CEG 111、211在SIP用户代理对101、201之间的SIP协议交换,具体地是呼叫建立。
在第一步骤中,UA 101向其本地CEG 111发送邀请消息。本地CEG111选择适当的SIP服务器(代理)121来处理该请求,并且对该请求添加VIA报头和记录-路由报头,以便确保属于相同SIP对话的后续请求和响应也将通过CEG 111。
然后,所选择的SIP服务器121处理该邀请消息,并且搜索被叫方201的地址。
因为被叫方201的联系人报头用其本地CEG 211的地址来替换,所以SIP服务器121向该CEG 211转发邀请请求。当接收到该请求时,CEG 211确定被叫方201的本地地址(通过根据联系人报头解码其地址或者通过进行本地查找),添加VIA和记录-路由报头,并且最后将请求转发到UA 201。
被叫方201的UA响应将被发送回其本地CEG 211,其本地CEG 211选择适当的SIP服务器(代理)121来处理该响应。然后,SIP服务器向主叫方的CEG 111(根据VIA报头)递送响应,其进而向主叫方的UA 101转发(再次根据VIA报头)响应。
注意,处理过先前(邀请)请求的SIP服务器121通常还处理响应。如果相关联的对话由于弹性决定而被转移给另一个SIP服务器,则CEG211将响应路由到已经接管该对话的SIP服务器(122或123,在图4中未示出)。这正是终止CEG 111-211中的弹性消息交换的优点:UA101-102可以好像它们在整个时间中通过同一个SIP服务器进行通信一样来进行其业务,而解耦合的集群任意地根据任何发生的业务工程和/或网络管理需要来重新组织呼叫。
提供SIP服务器弹性网关(SIP SEG)131以将SIP服务器121-123与非弹性或者属于不同域的对等体221-223解耦合。每个域容纳能够在需要的任何时候重新路由进入的请求(例如,因为一些对话已经在释放服务器A之前被从服务器A朝向服务器B转移)的一个或多个SEG实例131、231。图9示出了经由根据本发明的另一实施例的设备在SIP服务器对之间进行的SIP协议交换,具体地从域“example.com”中的SIP服务器朝向其在域“esempio.com”中的对应方转发邀请消息。
域“example.com”中的SIP服务器121首先(例如使用DNS)解析域“esempio.com”的SEG 231。接下来,解析属于其自己的域的SEG 131(该消息需要经由该SEG 131离开”example.com”,使得其可以在需要时重新路由进入的响应)。然后,SIP服务器121将邀请消息转发到该SEG 131(其属于“example.com”),包括用于(例如,通过添加路由报头)将该消息转发到“esempio.com”的SEG 231的指令。
接下来,在添加了指向其自己的网络地址的记录-路由报头和VIA之后,“example.com”的SEG 131将消息转发到“esempio.com”的SEG231。然后,“esempio.com”的SEG 231搜索适当的SIP服务器(未示出)来处理该请求,并且将该请求转发到该服务器。这类似于CEG选择服务器实例的方式。
该响应穿过反向路径。已经被建立的路径将由属于相同SIP对话的(来自两个UA)其他SIP请求来使用。
本领域技术人员将容易地认识到,各个上述方法的步骤可以通过编程的计算机来执行。本文中,一些实施例还意在涵盖程序存储设备,例如,数字数据存储介质,其是机器或计算机可读的并且对机器可执行或计算机可执行的指令程序进行编码,其中所述指令执行一些或全部上述方法的步骤。程序存储设备可以是,例如数字存储器、如磁盘和磁带的磁存储介质、硬盘驱动或光学可读数字数据存储介质。本实施例还意在覆盖为执行上述方法的所述步骤而被编程的计算机。
在附图中所示的各种单元的功能,包括被标记为“处理器”的任何功能块,可以通过使用专用硬件以及能够与适当的软件相关联地执行软件的硬件来提供。当由处理器提供时,这些功能可以由单个专用处理器、由单个共享处理器或由多个单独的处理器来提供,其中一些可以被共享。此外,明确使用的术语“处理器”或“控制器”不应被解释为专指能够执行软件的硬件,并且可以暗示地包括,但不限于,数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。还可以包括其他常规和/或定制的硬件。类似地,在附图中所示的任何开关仅是概念性的。其功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或者甚至手动地来执行,特定的技术可由实施者按照从上下文更具体地理解来选择。
Claims (13)
1.一种用于将用户代理与服务器集群互连的设备(CEG),所述设备包括:
-第一协议代理,所述第一协议代理被配置为根据SIP协议来与所述用户代理交换第一消息,其中所述设备具有用户代理服务器的作用;
-第二协议代理,所述第二协议代理被配置为根据所述SIP协议与从所述服务器集群中选择的服务器交换第二消息,其中所述设备具有用户代理客户端的作用;
-互连装置,所述互连装置用于在所述第一协议代理和所述第二协议代理之间中继所述第一消息和所述第二消息之中的消息;
其中,所述第二协议代理被进一步配置为,弹性地终止从所述服务器集群接收到的控制消息。
2.根据权利要求1所述的设备,进一步包括下述逻辑:所述逻辑被配置成根据负载平衡方案来从所述服务器集群中选择所述选择的服务器。
3.根据前述权利要求中的任何一项所述的设备,进一步包括下述逻辑:所述逻辑被配置成在所述选择的服务器故障的情况下,从所述服务器集群中选择另一服务器。
4.一种用于将服务器集群与SIP服务器互连的设备(SEG),所述设备包括:
-第一协议代理,所述第一协议代理被配置为根据SIP协议与从所述服务器集群中选择的服务器交换第一消息,其中所述设备具有用户代理服务器的作用;
-第二协议代理,所述第二协议代理被配置为根据所述SIP协议来与SIP服务器交换第二消息,其中所述设备具有用户代理服务器的作用;
-用于在所述第一协议代理和所述第二协议代理之间中继所述第一消息和所述第二消息之中的消息的装置;
其中所述第一协议代理进一步被配置为弹性地终止从所述服务器集群接收到的控制消息。
5.根据权利要求4所述的设备,进一步包括下述逻辑:所述逻辑被配置成根据负载平衡方案来从所述服务器集群中选择所述选择的服务器。
6.根据权利要求4-5中的任何一项所述的设备,进一步包括下述逻辑:所述逻辑被配置成在所述选择的服务器故障的情况下,从所述服务器集群中选择另一服务器。
7.一种用于将用户代理与从服务器集群中选择的服务器互连的方法,所述方法包括在客户端弹性网关设备处:
-通过下述操作来在所述用户代理和所述选择的服务器之间中继消息:
-根据SIP协议来与所述用户代理交换第一消息,其中所述客户端弹性网关设备具有用户代理服务器的作用;以及
-根据所述SIP协议来与所述选择的服务器交换第二消息,其中所述客户端弹性网关设备具有用户代理客户端的作用;
其中进入的第一消息的净荷被转移到外出的第二消息,并且反之亦然;以及
-弹性地终止从所述服务器集群接收到的控制消息。
8.根据权利要求7所述的方法,进一步包括:根据负载平衡方案来从所述服务器集群中选择所述选择的服务器。
9.根据权利要求7或8所述的方法,进一步包括:在所述选择的服务器故障的情况下,通过从所述服务器集群中选择另一服务器来提供故障切换支持。
10.一种用于将第一服务器与从服务器集群中选择的服务器互连的方法,所述方法包括在服务器弹性网关设备处:
-通过下述操作来在所述第一服务器和所述选择的服务器之间中继消息:
-根据SIP协议来与所述第一服务器交换第一消息;以及
-根据所述SIP协议来与所述选择的服务器交换第二消息;
其中进入的第一消息的净荷被转移到外出的第二消息,并且反之亦然;以及
-弹性地终止从所述服务器集群接收到的控制消息。
11.根据权利要求10所述的方法,进一步包括:根据负载平衡方案来从所述服务器集群中选择所述选择的服务器。
12.根据权利要求10或11所述的方法,进一步包括:在所述选择的服务器故障的情况下,通过从所述服务器集群中选择另一服务器来提供故障切换支持。
13.一种计算机程序,所述计算机程序被配置成使得可编程设备执行权利要求7-12中的任何一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11290327.3 | 2011-07-18 | ||
EP11290327.3A EP2549712B1 (en) | 2011-07-18 | 2011-07-18 | Method and apparatus for interconnecting a user agent to a cluster of servers |
PCT/EP2012/063398 WO2013010847A1 (en) | 2011-07-18 | 2012-07-09 | Method and apparatus for interconnecting a user agent to a cluster of servers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103703745A true CN103703745A (zh) | 2014-04-02 |
CN103703745B CN103703745B (zh) | 2018-05-18 |
Family
ID=46489233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280035566.7A Expired - Fee Related CN103703745B (zh) | 2011-07-18 | 2012-07-09 | 用于将用户代理与服务器集群互连的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9479542B2 (zh) |
EP (1) | EP2549712B1 (zh) |
CN (1) | CN103703745B (zh) |
WO (1) | WO2013010847A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106169963A (zh) * | 2016-09-20 | 2016-11-30 | 北京百度网讯科技有限公司 | 服务页面的访问方法及系统、代理服务器 |
CN111262781A (zh) * | 2020-03-19 | 2020-06-09 | 黄诗嵘 | 一种智能加速路由选择方法 |
CN111835857A (zh) * | 2020-07-17 | 2020-10-27 | 北京百度网讯科技有限公司 | 用于访问数据的方法和装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016048664A1 (en) * | 2014-09-22 | 2016-03-31 | Sightcall, Inc. | Remote sip stack and architecture and methods for video calls between mobile devices |
EP3346383A1 (en) | 2017-01-10 | 2018-07-11 | Unify Patente GmbH & Co. KG | Computer-implemented method of managing tenants on a multi-tenant sip server system and multi-tenant sip server system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2066098A1 (en) * | 2007-11-30 | 2009-06-03 | Nokia Siemens Networks Oy | Allocation of a serving entity in a communication network |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4241660B2 (ja) * | 2005-04-25 | 2009-03-18 | 株式会社日立製作所 | 負荷分散装置 |
US20080147551A1 (en) * | 2006-12-13 | 2008-06-19 | Bea Systems, Inc. | System and Method for a SIP Server with Online Charging |
US9143558B2 (en) * | 2007-05-09 | 2015-09-22 | Radware, Ltd. | Geographic resiliency and load balancing for SIP application services |
CN101127766B (zh) * | 2007-09-24 | 2010-06-09 | 中兴通讯股份有限公司 | 基于sip协议的消息处理方法、装置及ip通信系统 |
JP5125679B2 (ja) * | 2008-03-27 | 2013-01-23 | 日本電気株式会社 | 負荷分散装置及び方法とプログラム |
US8881167B2 (en) * | 2008-04-28 | 2014-11-04 | International Business Machines Corporation | Load balancing in network based telephony applications |
US9723048B2 (en) * | 2008-10-29 | 2017-08-01 | Oracle International Corporation | System and method for providing timer affinity through notifications within a session-based server deployment |
US8775628B2 (en) * | 2011-08-31 | 2014-07-08 | Metaswitch Networks Ltd. | Load balancing for SIP services |
-
2011
- 2011-07-18 EP EP11290327.3A patent/EP2549712B1/en not_active Not-in-force
-
2012
- 2012-07-09 CN CN201280035566.7A patent/CN103703745B/zh not_active Expired - Fee Related
- 2012-07-09 US US14/233,594 patent/US9479542B2/en not_active Expired - Fee Related
- 2012-07-09 WO PCT/EP2012/063398 patent/WO2013010847A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2066098A1 (en) * | 2007-11-30 | 2009-06-03 | Nokia Siemens Networks Oy | Allocation of a serving entity in a communication network |
Non-Patent Citations (2)
Title |
---|
3GPP: "3rd Generation Partnership Partnership Project;Technical Specification Group Services and System Aspects;Feasibility Study on IMS Evolution (Release 9)", 《3GPP TR 23.812 V1.1.5》 * |
戚琦: "IMS会话控制关键技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106169963A (zh) * | 2016-09-20 | 2016-11-30 | 北京百度网讯科技有限公司 | 服务页面的访问方法及系统、代理服务器 |
CN106169963B (zh) * | 2016-09-20 | 2019-07-23 | 北京百度网讯科技有限公司 | 服务页面的访问方法及系统、代理服务器 |
CN111262781A (zh) * | 2020-03-19 | 2020-06-09 | 黄诗嵘 | 一种智能加速路由选择方法 |
CN111835857A (zh) * | 2020-07-17 | 2020-10-27 | 北京百度网讯科技有限公司 | 用于访问数据的方法和装置 |
CN111835857B (zh) * | 2020-07-17 | 2022-09-16 | 北京百度网讯科技有限公司 | 用于访问数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2013010847A1 (en) | 2013-01-24 |
CN103703745B (zh) | 2018-05-18 |
US20140215031A1 (en) | 2014-07-31 |
EP2549712B1 (en) | 2018-04-25 |
US9479542B2 (en) | 2016-10-25 |
EP2549712A1 (en) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200322265A1 (en) | Method for routing in a central conferencing routing server | |
US8315165B2 (en) | Survivable and resilient real time communication architecture | |
US10079714B2 (en) | Conference call resource assignment for failover | |
CN102893556B (zh) | 用于源对等体基于容量的Diameter负载共享的方法、系统和设备 | |
CN102783094B (zh) | 用于基于会话发起协议的通信系统的弹性路由 | |
JP4976127B2 (ja) | サーバレスおよびスイッチレスのインターネットプロトコル電話のシステムおよび方法 | |
US7965699B1 (en) | Routing/switching on a heterogeneous network | |
US20130254415A1 (en) | Routing requests over a network | |
WO2018097920A1 (en) | Micro-services in a telecommunications network | |
CN105765939A (zh) | 通信系统架构 | |
CN103563314B (zh) | 用于被动通信服务的系统和方法 | |
US8369323B1 (en) | Managing voice-based data communications within a clustered network environment | |
CN104205756A (zh) | 并发进程执行 | |
CN105794169A (zh) | 通信系统架构 | |
CN103703745A (zh) | 用于将用户代理与服务器集群互连的方法和设备 | |
US10356138B2 (en) | Method and nodes for configuring a communication path for a media service | |
CN106713819A (zh) | 用于视频会议的数据传输方法、装置及系统 | |
US10659427B1 (en) | Call processing continuity within a cloud network | |
CN105993155A (zh) | 通信系统架构 | |
US9325599B2 (en) | Methods for providing a status to devices in a distributed system | |
US20150350153A1 (en) | System and method for account-based dns routing | |
US8493892B1 (en) | Resolving conflicts in distributed systems | |
CN110582757A (zh) | 数据消息网络路由的中间设备 | |
Nishimura et al. | Applying flexibility in scale-out-based web cloud to future telecommunication session control systems | |
KR101382177B1 (ko) | 동적 메시지 라우팅 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180518 Termination date: 20210709 |