1、(10)申请公布号 CN 103534977 A (43)申请公布日 2014.01.22 C N 1 0 3 5 3 4 9 7 7 A (21)申请号 201180070824.0 (22)申请日 2011.07.25 H04L 12/18(2006.01) H04L 29/06(2006.01) H04N 7/15(2006.01) G06F 15/16(2006.01) (71)申请人惠普发展公司,有限责任合伙企业 地址美国德克萨斯州 (72)发明人马克西雷特 弗雷德里克胡韦 桑吉瓦阿芒维 (74)专利代理机构北京德琦知识产权代理有限 公司 11018 代理人康泉 王珍仙 (54) 发
2、明名称 由于故障在会议服务器之间转移会议会话 (57) 摘要 记录关于正由第一会议服务器处理的会议会 话的命令,其中,在应用服务器和所述第一会议服 务器之间交换所述命令。检测所述第一会议服务 器的故障。响应于检测所述故障,使用记录的命令 向第二会议服务器转移所述会议会话。 (85)PCT国际申请进入国家阶段日 2013.11.14 (86)PCT国际申请的申请数据 PCT/US2011/045143 2011.07.25 (87)PCT国际申请的公布数据 WO2013/015777 EN 2013.01.31 (51)Int.Cl. 权利要求书2页 说明书5页 附图5页 (19)中华人民共和国
3、国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图5页 (10)申请公布号 CN 103534977 A CN 103534977 A 1/2页 2 1.一种方法,包括: 由在具有处理器的系统中执行的可用性服务,记录关于正由第一会议服务器处理的会 议会话的命令,其中,在应用服务器和所述第一会议服务器之间交换所述命令; 由所述可用性服务检测所述第一会议服务器的故障;以及 响应于检测所述故障,所述可用性服务使用记录的命令向第二会议服务器转移所述会 议会话。 2.如权利要求1所述的方法,其中,不用在所述转移之前复制所述第一会议服务器和 第二会议服务器的媒体数据包或信令流量,完成从
4、所述第一会议服务器向所述第二会议服 务器的所述会议会话的所述转移。 3.如权利要求1所述的方法,其中,所述第一会议服务器和第二会议服务器为非冗余 会议服务器。 4.如权利要求1所述的方法,其中,检测所述第一会议服务器的所述故障是基于在所 述可用性服务和所述第一会议服务器之间使用心跳技术。 5.如权利要求1所述的方法,其中,记录所述命令包括:记录用于创建所述会议会话的 命令以及记录用户加入所述会议会话的命令。 6.如权利要求1所述的方法,其中,记录在所述应用服务器和所述第一会议服务器之 间交换的命令包括:记录由所述应用服务器发送的命令,所述应用服务器被配置为处理会 话发起协议(SIP)消息。 7
5、.如权利要求1所述的方法,其中,记录关于所述会议会话的命令包括:记录关于音频 /视频会议会话的命令。 8.如权利要求1所述的方法,其中,使用所述记录的命令向所述第二会议服务器转移 所述会议会话包括:引发在所述第二会议服务器重放所述记录的命令。 9.如权利要求1所述的方法,其中,所述可用性服务为与所述应用服务器和包括所述 第一会议服务器的会议服务器的集群分离的功能。 10.如权利要求1所述的方法,其中,所述可用性服务为所述应用服务器的驱动器。 11.一种物品,包括至少一个机器可读指令,在所述机器可读指令执行时,引起系统执 行根据权利要求1-10中任一项的方法。 12.一种系统,包括: 网络接口;
6、以及 至少一个处理器,用于: 记录关于由第一会议服务器处理的会议会话的命令,其中,所述第一会议服务器能够 建立至少一个与所述会议会话将涉及的终端的媒体路径,且其中,在应用服务器和所述第 一会议服务器之间交换所述命令; 检测所述第一会议服务器的故障;以及 响应于检测所述故障,获取记录的命令并引起在第二会议服务器的所述记录的命令的 重放,以引起向所述第二会议服务器的所述会议会话的转移。 13.如权利要求12所述的系统,其中,所述至少一个处理器进一步用于: 从多个会议服务器中确定所述第二会议服务器,以用作所述会议会话的转移的所述会 议服务器。 权 利 要 求 书CN 103534977 A 2/2页
7、 3 14.如权利要求12所述的系统,其中,所述记录的命令包括创建所述会议会话的命令 以及将用户加入到所述会议会话中的命令。 15.如权利要求12所述的系统,进一步包括引起所述至少一个处理器执行所述记录、 检测、获取以及重放的模块,其中,所述模块包括以下之一: 与所述应用服务器和会议服务器的集群分离的功能,以及 所述应用服务器的驱动器。 权 利 要 求 书CN 103534977 A 1/5页 4 由于故障在会议服务器之间转移会议会话 背景技术 0001 会议系统被提供用于允许用户参与音频/视频会议会话。对于一些音频/视频会 议系统,可通过例如互联网或其它网络这样的互联网协议(IP)网络建立音
8、频/视频会议会 话。媒体资源包括在用于处理和/或控制音频/视频会议会话期间交换的媒体的音频/视 频会议系统中。 附图说明 0002 参照附图描述一些实施例: 0003 图1是一种示例布置的框图,在该示例装置中可包含一些实现方式; 0004 图2是媒体资源故障后图1的示例布置的框图; 0005 图3是另一种示例布置的框图,在该示例布置中可包含可替代的实现方式; 0006 图4是根据一些实现方式执行的处理的流程图;以及 0007 图5是一种能够包含一些实现方式的示例系统的框图。 具体实施方式 0008 音频/视频会议系统可包括多个会议服务器,用于建立和/或控制音频/视频会 议会话(两个或多个用户之
9、间的会话,其中,交换音频和/或视频数据)。会议服务器包括 媒体资源,用于提供各种媒体相关的服务,例如,与用户关联的端点之间媒体路径(用于传 达音频/视频数据)的建立、媒体操控的性能(例如,声音和视频流的混合、音调和播音的播 放)、和/或其它媒体相关的服务。在本文中所用的“音频/视频数据”指音频数据或视频 数据、或音频数据和视频数据。 0009 会议服务器的示例包括媒体资源功能(MRF)(其典型地包括MRF控制器和MRF处 理器)、交互式语音应答(IVR)系统、互联网协议(IP)媒体服务器、多点控制单元(MCU)或其 它会议服务器。 0010 MRF可提供媒体相关的功能,例如媒体操控、以及音调和
10、播音的播放。MRF的MRF控 制器(MRFC)是建立会议会话的控制信令的交换所涉及的信令层面节点。MRF处理器(MRFP) 是媒体节点,用于处理媒体流由MRFC控制MRFP。 0011 IVR系统通过声音和/或DTMF(双音多频)输入与用户交互。响应于来自用户的 呼入,IVR系统可回复事先录制的或动态生成的音频提示,以指导用户关于如何进行进一步 的会议会话。响应于音频提示,用户可输入声音和/或DTMF输入。 0012 IP媒体服务器为用于处理IP网络上的媒体流量的服务器。多点控制单元提供三 个或多个端点参与多点会议的能力。 0013 尽管上面列出了各种示例会议服务,还可存在其它类型的会议服务器
11、。 0014 在一些音频/视频会议系统中,可不提供容错。这样的音频/视频会议系统采用 非冗余会议服务器,使得任意会议服务器的故障会导致对用户的会议服务的丧失。 0015 为了提供容错,可提供冗余会议服务器。音频/视频会议系统中典型的容错方案 说 明 书CN 103534977 A 2/5页 5 是复制(在每个冗余会议服务器的)个人语音数据包及信令流量。在冗余会议服务器的这 样的个人语音数据包和信令流量的复制可涉及冗余会议服务器中的专用资源,用于提供容 错。结果,这种方式的冗余会议服务器的使用会引起增加的设备成本,以及减小的可扩展性 (减小的易于扩展音频/视频会议系统的容量的能力)。此外,这样的
12、容错方案可涉及冗余 会议服务器的定制,这会妨碍商用现成品(COTS)计算机服务器的使用。 0016 根据一些实现方式,在使用非冗余会议服务器的音频/视频会议系统中提供了高 可用性(出现错误或故障时持续服务)。通过采用非冗余会议服务器,音频/视频会议系统 的成本降低,而仍然提供任意会议服务器故障的事件中的恢复力。“非冗余会议服务器”指 不复制媒体(音频/视频媒体)或另一个会议服务器的控制信令的会议服务器。 0017 图1示出了一种示例会议服务器集群120,该会议服务器集群120具有多个非冗余 会议服务器122和124。尽管在图1的示例中仅显示了两个会议服务器,注意到,在可替代 的示例中,会议服务
13、器集群120可包括超过两个的会议服务器。在一些实现方式中,会议服 务器122和124为非冗余会议服务器。 0018 为了提供使用非冗余会议服务器时的高可用性,提供高可用性(HV)服务模块 116。HA服务模块116与会议服务器122和124是音频/视频会议系统100的一部分。 0019 在图1的示例中,HA服务模块116为与应用服务器114和会议服务器集群120分 离的功能。作为示例,HA服务模块116可部署在与实现应用服务器114的计算节点或实现 会议服务器122、124的计算节点分离的计算节点上。可替代地,HA服务模块116可为与应 用服务器114或会议服务器122、124同样的计算节点的
14、一部分。 0020 在可替代的实现方式中,如下面结合图3进一步讨论的,取代将HA服务模块116 部署为单独的功能,HA服务模块可实现为与应用服务器114关联的驱动器。 0021 可由会议服务器122和124的开发者开发HA服务模块116。以这种方式,当在会 议服务器集群120中部署非冗余会议服务器时,音频/视频会议系统的开发者不用依靠第 三方(例如图1中示出的应用服务器114的开发者)开发容错装置。通过提供HA服务模块 116,提供对应用服务器114和会议服务器122、124透明的高可用性机制。此外,通过用HV 服务模块116实现高可用性,应用逻辑的开发者不用担心修改应用逻辑以支持容错。 00
15、22 图1中描绘的应用服务器114为主持并执行预定服务的计算节点(或节点装置)。 应用服务器114可包括参与建立和控制媒体会话的服务,例如会议服务器集群120的音频/ 视频会议会话中的媒体会话。在一些实现方式中,应用服务器114能够处理与媒体会话有 关的SIP(会话发起协议)以及HTTP(超文本传输协议)信令。 0023 SIP是由互联网工程任务组(IETF)定义且用于控制包括IP网络上的声音和/或 视频会话的多媒体通信会话的信令协议。2002年6月的题为“SIP:会话发起协议”的请求 评议(RFC)3261中描述了SIP的当前版本。 0024 HTTP是定义请求者和响应者(例如,客户端和服务
16、器)之间的网络上的通信的请求 和响应的网络协议。作为示例,HTTP请求可为在服务器获取网页的请求,而HTTP响应可为 提供网页的响应。 0025 尽管已经参照对像SIP和HTTP这样的具体控制信令协议,注意,在可替代的实现 方式中,其它信令协议可用于音频/视频会议会话的建立。在接下来的讨论中,将参照采用 SIP和/或HTTP的构架注意,尽管如此,在可替代的实现方式中,类似的技术或机制可用 说 明 书CN 103534977 A 3/5页 6 于其它类型的控制信令协议。 0026 在根据图1的实现方式中,应用服务器114与S-CSCF(服务呼叫会话控制功能) 110交互。S-CSCF110而后与
17、I-CSCF(询问CSCF)108交互。CSCF为用于处理SIP信令数 据包的SIP服务器或代理。S-CSCF可处理这样的任务:SIP注册、信令消息检验、确定应将 每个SIP消息向哪个应用服务器转发,等等。 0027 I-CSCF负责向S-CSCF转发SIP消息。I-CSCF还负责查询HSS(归属用户服务器), 例如图1中示出的HSS112,以获取将用于正在建立的特定的会话的各自的S-CSCF的地址。 HSS112是包含订阅相关信息(例如用户配置文件)的用户数据库,用于允许用户的认证和授 权,以及提供关于用户位置的信息以及IP信息。 0028 I-CSCF108、S-CSCF110、HSS11
18、2以及应用服务器114可认为是媒体服务网络(例 如,用于传送IP多媒体服务的IP多媒体子系统(IMS)的一部分。多媒体服务网络可包括 图1中未示出的其它节点。注意,媒体服务网络还可包括HTTP信令的交换所涉及的其它节 点(未示出)。 0029 在其它示例中,还可使用建立基于IP的会话的信令所涉及的不同的节点装置。 0030 为了接入由媒体服务网络提供的服务,与用户关联的终端(端点)102可通过接入 网104和核心网节点106连接。终端102的示例包括计算机(例如,台式计算机、笔记本电 脑、个人数字助理,等等) 0031 接入网104可为无线接入网,例如由蜂窝系统或其它类型的无线系统(例如, W
19、iFi)提供的。可替代地,接入网104还可为有线接入网络。核心网节点106执行数据包路 由和传输、移动性管理、以及其它功能。 0032 为了建立音频/视频会议会话,终端102通过接入网104和核心网节点106向 媒体服务网络发送控制信令,例如SIP信令,该媒体服务网络包括I-CSCF108、S-CSCF110、 HSS112以及应用服务器114。将SIP信令路由到应用服务器114,该应用服务器114转而 将控制消息路由到用于建立音频/视频会议会话的各方面的会议服务器集群120。控制消 息可包括会议创建消息(用于创建音频/视频会议会话)、会议进入请求(用户请求加入已进 行的会议会话)、会议控制消
20、息(用于向所选的会议服务器提供控制命令)和/或其它控制消 息。 0033 控制消息可为根据由媒体服务器协议定义的各种格式的,该媒体服务器协议例如 为MSCML(媒体服务器控制标记语言)(为用于与SIP协作的协议,以在IP网络上传送多媒体 会议服务);MSML(媒体服务器标记语言)(为用于控制和调用IP媒体服务器上的不同类型的 服务的协议);H.248(为用于控制媒体网关的协议);由IETF的媒体服务器控制(mediactrl) 组开发的协议;或任意其它协议。作为示例,可在SIP、IP、TCP(传输控制协议)以及SCTP (流控制传输协议)携带这样的控制消息。 0034 根据一些实现方式,HA服
21、务模块116配置用于记录应用服务器114和会议服务器 集群120之间交换的控制消息。所记录的控制消息存储在命令日志118中。命令日志118 可存储在非持久性存储介质上。 0035 在一些实现方式中,HA服务模块116可实现为设置在应用服务器114和会议服务 器集群120之间的信令路径中的SIP网络服务器。由HA服务模块116将来自应用服务器 114的控制消息路由到会议服务器122、124中的适当的一个。 说 明 书CN 103534977 A 4/5页 7 0036 一旦用会议服务器(或多个会议服务器)建立音频/视频会议会话,媒体路径130 在会议服务器和所建立的音频/视频会议会话所涉及的对应
22、的终端102之间建立。媒体路 径130用于与终端交换音频/视频媒体。 0037 在一些示例中,根据实时传输协议(RTP)建立媒体路径,该RTP定义IP网络上传送 的音频和/或视频数据的标准数据包格式。RTP与RTP控制协议(RTCP)协作使用。当RTP 承载媒体流时,RTCP用于监控传输统计和服务质量,以及辅助多流同步。 0038 在其它示例中,可使用定义音频/视频媒体的格式的其它协议。 0039 图2显示了一种发生会议服务器122故障的示例。HA服务模块116能够检测这 样的会议服务器122的故障。故障检测机制可采用在HA服务模块116和每个会议服务器 122、124之间心跳的使用。间歇地(
23、例如,定期),每个会议服务器向HA服务模块116发送心 跳消息。如果HA服务模块116检测在一些预定的时间间隔内还未接收来自特定的会议服 务器的心跳消息,那么,HA服务模块116将确定该特定的会议服务器为故障的会议服务器。 在一些示例中,响应于未收到来自特定的会议服务器的心跳消息,HA服务模块116可尝试 联系该特定的会议服务器不能到达这样的特定的会议服务器将导致HA服务模块116指 示该特别的会议服务器已故障。 0040 根据会议服务器122故障的检测,HA服务模块116确定可作为故障的会议服务器 122的备份的另一个会议服务器(例如图2中的124)。在存在超过两个会议服务器的实现 方式中,
24、HA服务模块116可使用一些预定的标准,以从多个会议服务器中选择以用作备份 会议服务器。一种示例标准可为负载均衡标准,其中,所用的会议服务器是最小负载的会议 服务器。可在其它实现方式中使用其它标准,例如,基于会议服务器到音频/视频会议会话 所涉及的终端的接近度的标准、关于使用多个会议服务器的相对成本的标准,等等。 0041 一旦已确定备份会议服务器,HA服务模块116获取来自命令日志118的会议控制 消息,其中,所获取的会议控制消息与由故障的会议服务器122服务的音频/视频会议会话 相关。在会议服务器122支持多个音频/视频会议会话的场景中,HA服务模块116会尝试 将多个音频/视频会议会话中
25、的每个重定位(转移)到各自的备份会议服务器。 0042 所获取的会议控制消息(来自命令日志118)重放到所确定的备份会议服务器,该 备份会议服务器在图2的示例中为会议服务器124。会议控制消息202在备份会议服务器 124重放,这有效地向备份会议服务器124转移音频/视频会议会话。从第一会议服务器向 备份会议服务器“转移”音频/视频会议会话指转移音频/视频会议会话的媒体路径,使得 音频/视频数据在终端和备份会议服务器之间传递,还指转移音频/视频会议会话的状态 信息(例如,会话所涉及的用户、已加入或在建立会话之后退出的用户,等等)。 0043 在不同的实现方式中,如图3所示,在应用服务器114的
26、驱动器模块302中提供 (图1和图2的)HA服务模块116的功能。HA驱动器模块302设计为与在应用服务器114 上运行的应用逻辑交互。HA驱动器模块302具有接口,例如可由应用服务器114的应用逻 辑使用以与HA驱动器模块302交互的应用程序编程接口(API)。在一些示例中,HA驱动器 模块302为JSR(Java规范请求)309驱动器。JSR309定义了媒体服务器控制的标准接口, 包括音频/视频流和会议的操控。 0044 HA驱动器模块302能够使用心跳机制检测任意会议服务器122、124的故障。此 外,HA驱动器模块302执行类似于HA服务模块116的那些任务,包括在命令日志118中记
27、说 明 书CN 103534977 A 5/5页 8 录会议控制消息、响应于特定的会议服务器的故障确定备份会议服务器、以及重放会议控 制消息以将音频/视频会议会话重定位到备份会议服务器。 0045 图3的其余组件类似于图1中描述的那些,且因此不再描述。 0046 图4是根据一些实现方式的处理的流程图,可由图1的HA服务模块116或图3的 HA驱动器302执行。处理记录(在402)关于正由第一媒体资源(例如第一会议服务器)处 理的音频/视频会议会话的命令。在应用服务器114(图1或图3)和第一媒体资源之间交 换所记录的命令。 0047 接下来,处理检测(在404)第一媒体资源的故障(例如,图2中
28、示出的会议服务器 122的故障)。响应于检测故障,处理使用(在406)所记录的与正由故障的媒体资源处理的 音频/视频会议会话对应的命令,以向备份媒体资源转移会议会话。 0048 使用根据一些实现方式的技术或机制,可在使用更便宜的非冗余会议服务器的同 时提供高可用性。此外,由于可采用不设计用于容错的现成的会议服务器,增强了音频/视 频会议系统的可扩展性。此外,不用为了支持高可用性而修改建立/控制会议会话的应用 服务器的应用逻辑。 0049 图5示出了一种示例系统500,系统500可为用于运行例如图1的HA服务模块116 或图3的HA驱动器302的可用性服务的节点。系统500包括可在一个或多个处理
29、器504 上执行的机器可读指令502(例如,HA服务模块116或HA驱动器302)。处理器可包括微处 理器、微控制器、处理器模块或子系统、可编程集成电路、可编程门阵列、或其它控制或计算 设备。 0050 处理器504连接至网络接口506和存储媒介508。网络接口506允许系统500在 数据网络上通信,而存储媒介508可存储数据及机器可读指令。 0051 存储媒介508可实现为一个或多个计算机可读或机器可读存储媒介。存储媒介 包括不同形式的存储器,包括半导体存储设备,例如动态或静态随机存取存储器(DRAM或 SRAM)、可擦除及可编程只读存储器(EPROM)、电可擦除及可编程只读存储器(EEPR
30、OM)以及 闪存;例如硬盘、软盘、可移动硬盘的磁盘;包括磁带的其它磁媒介;例如光盘(CD)或数字 视频光盘(DVD)的光媒介;或其它类型的存储设备。注意,可在一个计算机可读或机器可读 存储介质上提供上面讨论的指令,或可替代地,在分布在可能具有多个节点的较大系统中 的多个计算机可读或机器可读存储媒介上提供。这样的计算机可读或机器可读存储介质或 媒介认为是物品(article)(或制品)的一部分。物品或制品可指任意制造的单个组件或多 个组件。存储介质或媒介可位于运行机器可读指令的机器中,或位于远程站点,可通过网络 从该远程站点下载机器可读指令以执行。 0052 在前述描述中,描述了许多细节以提供本文公开的主题的理解。然而,可不用这些 细节中的一些或全部来实施各实现方式。其它实现方式可包括上面讨论的细节的修改和变 化。目的在于所附的权利要求覆盖这样的修改和变化。 说 明 书CN 103534977 A 1/5页 9 图1 说 明 书 附 图CN 103534977 A 2/5页 10 图2 说 明 书 附 图CN 103534977 A 10 3/5页 11 图3 说 明 书 附 图CN 103534977 A 11 4/5页 12 图4 说 明 书 附 图CN 103534977 A 12 5/5页 13 图5 说 明 书 附 图CN 103534977 A 13