CN101605147A - 一种多媒体会议系统及方法 - Google Patents
一种多媒体会议系统及方法 Download PDFInfo
- Publication number
- CN101605147A CN101605147A CNA2009100762714A CN200910076271A CN101605147A CN 101605147 A CN101605147 A CN 101605147A CN A2009100762714 A CNA2009100762714 A CN A2009100762714A CN 200910076271 A CN200910076271 A CN 200910076271A CN 101605147 A CN101605147 A CN 101605147A
- Authority
- CN
- China
- Prior art keywords
- service
- message
- conference
- sip
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004891 communication Methods 0.000 claims description 127
- 238000007726 management method Methods 0.000 claims description 80
- 230000004044 response Effects 0.000 claims description 77
- 230000006870 function Effects 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 32
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012384 transportation and delivery Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种多媒体会议系统,该系统基于面向服务的体系结构,该系统包括:生成单元、执行单元和接口单元;其中,生成单元,用于基于业务流程执行语言(BPEL)对生成的服务组合后,生成多媒体会议的业务逻辑,将业务逻辑发送并部署到执行单元;执行单元,用于提供业务逻辑的运行环境;对至少一个业务逻辑进行并发的执行操作。本发明还公开了一种多媒体会议方法,该方法包括:基于BPEL对生成的服务组合后,生成多媒体会议的业务逻辑;对至少一个业务逻辑进行并发的执行操作。采用本发明的系统及方法,可整合互联网和电信领域的业务能力,综合考虑到硬件和软件方面的需要,既普及到企业用户又能普及到普通用户。
Description
技术领域
本发明涉及多媒体会议技术,尤其涉及一种基于面向服务的体系结构(SOA,Service-Oriented Architecture)面向公网的多媒体会议系统及方法。
背景技术
在当前的电信网上,多媒体会议系统其实早已得到应用,从1990年会议电视标准H.320的推出,到如今H.323多媒体通信标准的流行,已经经过了十多年的时间,但面向普通大众的多媒体会议应用却始终没有出现。目前基于硬件的多媒体会议系统,由于最常用的实现方案是使用专用的会议控制设备即MCU来实现多媒体会议,基于硬件的多媒体会议系统虽然性能优越,但其昂贵的价格也让以效益为中心的企业望而却步。首先,终端和多点控制单元(MCU,Micro Controller Unit)的价格是不菲的,H.323系统对网络的要求也让企业叫苦,不是接专线就是拉光纤,付出的租金恐怕比设备的价格还要惊人。同时,基于硬件的多媒体会议系统存在数据功能缺乏的缺点,导致硬件终端离开专用网络环境无法正常运行等问题。总之,基于硬件的多媒体会议系统采用专线方式,造价高昂,只能是部分大型企事业单位的奢侈品,存在着用户群体单一、成本高的缺点。另外,传统的基于电路交换的多媒体会议系统,没有从多媒体通信系统结构、连接和控制协议出发来进行系统设计,所以对会议进程和媒体信息的交互与控制的能力都是非常有限的。因此,目前的多媒体会议系统,无论从成本上还是技术上,始终难以向普通大众推广。网络建设的目的是公众化、商用化、融合化、多功能化,而不是专网专用。从市场发展规律、多媒体会议技术现状以及网络技术等多方面情况分析,推行多媒体会议服务的公众化运营,使其尽快商用化,使得包括个人移动终端在内的各种终端可以随时随地的接入会议系统,实现包括音、视频在内的多媒体远距离群组交互,正成为多媒体会议系统的主流趋势。
近年来,随着软件新技术的发展,随着服务成为开放网络环境下资源封装与抽象的核心概念,通过动态地组合服务实现资源的灵活聚合成为技术发展的自然思路。特别是随着Web服务和SOA技术的出现和推广,Web服务已成为公认的实现服务的主流技术选择,SOA技术是:为终端用户应用或者分布在网络上的其它服务,通过可发布和可发现的接口提供服务的软件系统设计的逻辑方法。作为SOA技术的核心概念,服务被认为是一种自包含的、平台无关的、支持快速应用开发的计算元素,并具有技术中立、松散耦合、位置透明等特征。Web服务技术的广泛接受使得Web服务正逐步成为Internet网络环境中资源封装的标准形式,随着部署在Internet上的Web服务不断丰富,这些可被公共访问和集成的服务构成了一个潜在的巨大的标准组件库。同时,电信网络的开放性研究也一直是业内的热点,特别是在电信市场竞争日益激烈的今天,电信运营商们面临着巨大的挑战,他们迫切需要开发出标新立异的增值业务来吸引更多的用户,满足用户对电信业务日益增长的需要。电信界Web服务的提出备受各界的关注,通过API把电信底层的网络资源开放出来,以Web服务的方式向第三方和业务提供商开放,从而可以利用IP网络中的成熟技术来帮助解决电信网络中如运营商之间跨网络访问等问题,而Internet应用程序开发商也方便的利用电信网络的资源,提供灵活多样的服务。
然而,针对多媒体会议而言,如何整合互联网和电信领域的业务能力,并综合考虑到硬件和软件方面的需要,来实现符合不同用户的个性化需要,同时除了普及到企业用户,还能很好的对普通大众用户进行普及的多媒体会议系统,这是个迫切需要解决的问题,但是针对这个问题,目前并未有有效的解决方案。
发明内容
有鉴于此,本发明的主要目的在于提供一种多媒体会议系统及方法,能实现多媒体会议,基于SOA技术整合互联网和电信领域的业务能力,综合考虑到硬件和软件方面的需要,来实现符合不同用户的个性化需要,同时既普及到企业用户又能普及到普通用户。
为达到上述目的,本发明的技术方案是这样实现的:
一种多媒体会议系统,该系统基于面向服务的体系结构SOA,该系统包括:生成单元、执行单元和接口单元;其中,
生成单元,用于基于业务流程执行语言BPEL对生成的服务组合后,生成多媒体会议的业务逻辑,将所述业务逻辑发送并部署到所述执行单元;
执行单元,用于提供所述业务逻辑的运行环境;对至少一个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制;每当执行到业务逻辑中服务所在的位置,调用当前服务所对应的多媒体会议业务功能的具体接口,并与所述接口单元通信;
接口单元,用于与所述执行单元通信,并以组合各服务的方式集成了至少一个多媒体会议业务功能的具体接口。
一种多媒体会议方法,该方法包括以下步骤:
A、基于BPEL对生成的服务组合后,生成多媒体会议的业务逻辑;
B、对至少一个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制;
每当执行业务逻辑中具体服务时,先解析当前服务所对应的多媒体会议业务功能的具体接口,再调用多媒体会议业务功能接口相对应的模块进行通信,最后完成对多媒体会议具体服务的访问。
本发明基于SOA技术,采用包括生成单元、执行单元和接口单元所构成的三层体系结构,来实现多媒体会议。生成单元,用于基于业务流程执行语言(BPEL,Business Process Execution Language)对生成的服务组合后,生成多媒体会议的业务逻辑,将业务逻辑发送并部署到执行单元。执行单元,用于提供业务逻辑的运行环境;对多个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制;每当执行到业务逻辑中服务所在的位置,调用当前服务所对应的多媒体会议业务功能的具体接口,并与接口单元通信。
采用本发明,基于SOA技术面向公网的多媒体会议过程是通过用户对会议服务需求的个性化描述,将多个已经存在的多媒体会议原子服务按照功能、语义以及它们之间的逻辑关系组装提供聚合功能的新型多媒体会议服务的过程。这里,多媒体会议原子服务属于Web服务的一种,比如email邮件服务。总之,采用SOA技术,可整合互联网和电信领域的业务能力,综合考虑到硬件和软件方面的需要,拓展出的一种新型的电信增值服务。基于SOA面向公网的多媒体会议系统将既有互联网应用灵活接入、个性化定制方便的特点,也具备电信网应用管理完善、安全保障的优势。因此,基于SOA技术面向大众的多媒体会议系统议将成为真正面向普通大众用户提供的多媒体会议应用。
附图说明
图1为本发明系统的组成结构示意图;
图2为业务逻辑运行环境的示意图;
图3为消息交换结构的组成示意图;
图4为消息交换的实现流程示意图;
图5为完成多媒体会议不同业务功能所需的相关Web服务组成部分的示意图;
图6为第三方呼叫控制的状态机;
图7为本发明方法的实现流程示意图。
具体实施方式
本发明的基本思想是:本发明基于SOA技术,采用包括生成单元、执行单元和接口单元所构成的三层体系结构,来实现多媒体会议。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
首先对本发明的原理做一概括阐述。从运营商或服务提供商的角度,本发明将基于公网面向公众的多媒体会议系统参考模型的实施过程主要分为:需求分析和设计、多任务并发执行和服务接口这三个阶段,其目标是基于公网服务空间中已有服务创建提供增值功能的组合服务。基于公网面向公众群组的多媒体会议系统包括:生成单元、执行单元和接口单元。以下对多媒体会议系统中涉及的各单元进行具体阐述。
如图1所示,一种多媒体会议系统,该系统基于SOA,且该系统由生成单元、执行单元和接口单元构成三层体系结构,来实现多媒体会议。其中,生成单元,用于基于业务流程执行语言(BPEL,Business Process Execution Language)对生成的服务组合后,生成多媒体会议的业务逻辑,将业务逻辑发送并部署到执行单元。执行单元,用于提供业务逻辑的运行环境;对至少一个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制;每当执行到业务逻辑中服务所在的位置,调用当前服务所对应的多媒体会议业务功能的具体接口,并与接口单元通信。接口单元,用于与执行单元通信,并以组合各服务的方式集成了至少一个多媒体会议业务功能的具体接口。
这里,执行单元提供的业务逻辑的运行环境为普遍适用的运行环境。且该普遍适用的运行环境向上与管理单元相连,向下与底层承载网络的网络能力层相连,网络能力层也可以理解为资源层。如图2所示,该普遍适用的运行环境中,具体包括:安全控制模块、会话管理控制模块、负载均衡控制模块、接纳控制模块、生命周期管理控制模块、系统监测控制模块、时钟服务模块、告警服务模块、日志及调试服务模块、注册数据库服务模块、接口管理服务模块、动态流程执行引擎、服务总线控制模块和低延迟事件引擎,资源适配模块。且安全控制模块、会话管理控制模块、负载均衡控制模块、接纳控制模块、生命周期管理控制模块、系统监测控制模块组成运行环境中的控制部分;时钟服务模块、告警服务模块、日志及调试服务模块、注册数据库服务模块、接口管理服务模块组成运行环境中的服务部分;动态流程执行引擎、服务总线控制模块和低延迟事件引擎组成运行环境中的通信控制部分;资源适配模块位于运行环境中的适配部分,以实现与资源层的适配。
这里,服务具体为Web服务。Web服务包括:多媒体会议原子服务,多媒体会议原子服务即为完成多媒体会议具体业务功能的服务,完成多媒体会议具体业务功能的服务对应于多媒体会议业务功能的具体接口。业务逻辑以BPEL文件的形式存在,则生成单元进一步用于将BPEL文件发送并部署到执行单元。各多媒体会议原子服务存在于BPEL文件的BPEL业务流程的各节点位置,则执行单元进一步用于每当执行到BPEL业务流程的节点位置,调用当前多媒体会议原子服务所对应的多媒体会议业务功能的具体接口,与接口单元通信;并基于BPEL业务流程,控制各多媒体会议原子服务按照包括顺序、并发和选择在内的方式来执行。
这里,执行单元提供的业务逻辑的运行环境为:基于组件的通信方式进行消息交换的消息交换结构;消息交换结构中包括:基于简单对象访问协议(SOAP,Simple Object Access Protocol)的SOAP绑定组件、规格化消息路由器、BPEL服务引擎和低延迟事件服务引擎。
其中,SOAP绑定组件,用于接收Web服务格式的会议服务请求消息,创建消息交换实例,并根据需求将接收到的消息交换格式直接放入消息交换实例中;设置消息交换的服务端点属性,并在请求侧创建第一服务递交通道(DC),会议服务请求消息经第一DC传递到规格化消息路由器。规格化消息路由器,用于接收会议服务请求消息,解析消息头,寻找到目的服务引擎,并创建服务引擎侧的第二DC,在请求侧的第一DC和服务引擎侧的第二DC之间创建消息流的处理实例;规格化消息路由器在BPEL服务引擎和低延迟事件服务引擎间建立另一个消息流的处理实例,并建立事件引擎侧的第三DC;规格化消息路由器将调用会议能力组件的请求消息通过第三DC发送到低延迟事件服务引擎。
BPEL服务引擎,用于接收到会议服务请求消息,调用会议业务逻辑的BPEL业务流程所在的模块处理并生成调用会议能力组件的请求消息后,将调用会议能力组件的请求消息通过服务引擎侧的第二DC发送到所述规格化消息路由器;其中,BPEL服务引擎中包括会议业务逻辑的BPEL业务流程所在的模块,用于对会议服务请求消息处理并生成所述调用会议能力组件的请求消息。低延迟事件服务引擎,用于将调用会议能力组件的请求消息定向到会议能力组件;其中,低延迟事件服务引擎中包括会议能力组件,用于对调用会议能力组件的请求消息进行响应。
这里,接口单元中集成的多媒体会议业务功能的具体接口进一步包括:删除会议的具体接口、邀请会议成员的具体接口、删除会议成员的具体接口、创建会议的具体接口、设置媒体的具体接口和会议主席的监控及取消监控的具体接口。
其中,接口单元,进一步用于根据当前调用的多媒体会议业务功能的具体接口,在包括媒体控制模块、媒体服务标记语言(MSML,Media Server MarkupLanguage)构造及解析模块、会话发起协议(SIP,Session Initiation Protocol)通信能力模块、会议管理模块和会话管理模块在内的模块中,调用与当前调用的多媒体会议业务功能的具体接口相对应的相关模块,与执行单元进行通信,完成与当前调用的多媒体会议业务功能的具体接口相对应的多媒体会议具体业务功能的服务。
针对上述模块而言,媒体控制模块,用于根据需完成的当前多媒体会议具体业务功能的服务,控制及发送媒体相关的SIP消息,根据收到的SIP消息调用相关的模块。MSML构造及解析模块,用于构造MSML文本,通过与SIP通信能力模块的交互,构造INFO消息并发送给媒体服务器,这里,INFO消息为SIP消息,INFO消息中承载有MSML文本。SIP通信能力模块,用于负责SIP消息的发送和接收,包括呼叫及非呼叫SIP请求与响应的发送函数和接收函数。会议管理模块,用于在会议创建后,对会议相关信息进行存储,并使用哈希表维护包括会议本身的信息及会议所在呼叫的相关标识。会话管理模块,用于提供会话的存储与查找,以及呼叫控制;会话的存储与查找中,所有会话使用一个链表来维护,所述呼叫控制包括第三方呼叫状态和呼叫前转中呼叫状态。
这里,该系统还包括:管理单元,用于实现对多媒体会议业务进行统一管理,主要包括多媒体会议的计费、认证、鉴权、配置和对用户进行管理等运行和维护功能。它是构建可运营的多媒体会议系统的重要组成部分。具体的功能可以分为以下几部分:
配置管理功能,包括:配置数据管理、故障重新配置、计费数据配置、系统和操作数据自动备份。
故障管理,包括对整个会议系统的运行状态的监视和故障监测、故障告警、故障定位、故障日志和故障分析等功能。
安全管理,即接入认证、鉴权能力。支持分级的管理用户接入方式。不同权限的管理用户所能执行的操作不同,支持多点操作和定时启动命令。管理子系统可完成对用户即会议成员的管理,主要包括:增加会议成员、删除会议成员、修改会议成员权限等。
日志管理,主要包括:安全日志、日志管理。安全日志作为安全管理的一部分,所有操作员的关键操作都会被记录在安全日志中。
计费和业务管理功能,能够支持多种计费方式。支持按流量计费和按内容计费;对传统话音服务及视频服务,支持按时间计费。实现对用户登录及使用业务时进行认证、授权、计费等功能。
以下分别对本发明系统中所涉及的生成单元、执行单元和接口单元进行具体阐述。
针对生成单元而言,该生成单元是基于BPEL的多媒体会议业务逻辑的生成单元。BPEL最初是由IBM、微软和BEA公司在2002年提出一个基于Web服务的组合描述语言。目前,BPEL是一种表示服务流程的工业标准化语言,构建在开放的、基于标准的技术之上,通过组合消息传递、标准化的集成接口、XML及各种Web服务标准来提供流程间的互操作性及流程可控性。同时,对于异步的运行流程提供隐式和显示的补偿事务模型,具备良好的跨平台能力、移植性和厂商无关性。基于BPEL组合各种服务生成的业务逻辑本身是一个复合Web服务,也可以理解为该生成的业务逻辑即BPEL文件,BPEL文件中包括了BPEL业务流程。那么各个Web服务挂接在BPEL业务流程上,也可以理解为各个Web服务处于BPEL业务流程中的节点位置,BPEL业务流程根据客户端输入消息,启动BPEL业务流程执行,BPEL业务流程负责参与组合的各个Web服务之间消息的转发、转接和处理,控制各个Web服务顺序、并发、选择等方式的执行。在多媒体会议系统中,基于已有网络服务描述语言(WSDL,Web Service Description Language)描述的多媒体会议原子服务,多媒体会议原子服务即Web服务的一种,通过BPEL来对多媒体会议的业务流程进行定制。也就是说,由BPEL来控制整个多媒体会议的流程和逻辑,后续通过在执行单元执行BPEL文件,以完成多媒体会议一具体业务功能的服务。
举例来说,执行用于创建会议的BPEL文件,即执行创建会议的业务逻辑,由BPEL来控制,调用各多媒体会议原子服务,来完成创建会议的场景下多媒体会议的流程,该流程包括以下步骤:
步骤101、当创建会议的请求消息到来时,创建会议的业务流程被激活。
这里,创建会议的请求消息中会携带所要创建会议的相关信息,如:会议标识(conferenceID)、会议主席标识(chairmanID)、是否有会议主席(hasChairman)、会议的成员列表等。
步骤102、业务流程被激活后,会议按照该请求消息中携带所要创建会议的相关信息去调用多媒体会议原子服务。
这里的多媒体会议原子服务具体为创建会议服务(createConference),此时,整个多媒体会议系统会开始完成会议创建所要求的准备工作,如:媒体服务器分配会议资源,SIP注册等。
步骤103、完成了会议的创建后,正常情况下会议的状态会从之前的准备状态(Prepared)变成初始化状态(Initial),所以接下来就是继续调用多媒体会议原子服务。
这里的多媒体会议原子服务具体为获取会议信息服务(getConferenceInfo),对会议的状态进行查询。
步骤104、如果查询得到的会议状态是Initial,说明会议已经成功被创建,可以进入接下来的邀请会议成员加入的操作,并执行步骤105;如果得到的不是Initial,说明会议创建失败,可能是系统出错,所以需要报一次错。
步骤105、赋值,执行分配(Assign)操作将获取的状态获取上来。
步骤106、判断会议的状态。如果会议状态是Initial,进入接下来的邀请会议成员加入的操作,并执行步骤107。如果得到的不是Initial,说明会议创建失败,将会议创建流程的结果赋值为:失败(Failure),转入执行步骤115。
步骤107、邀请会议成员列表中的会议成员加入到创建好的会议中。
这里,定义了一个循环操作,由于对会议成员的邀请不一定会一次成功,所以在邀请不成功的情况下,要尝试多邀请成员几次。
步骤108、查询会议成员的状态,继续调用多媒体会议原子服务。
这里的多媒体会议原子服务具体为获取会议成员信息服务(getParticipantInfo),会议成员的状态为未连接(Disconnected)时,表明其没有加入到该会议中,需要进行邀请;会议成员状态为已连接(Connected)时,表明会议成员已经加入到会议中了。
步骤109、赋值,获取会议成员状态信息。
步骤110、邀请会议成员,继续调用多媒体会议原子服务。
这里的多媒体会议原子服务具体为邀请会议成员服务(inviteParticipant),邀请会议成员加入到会议中来。
步骤111、判断会议状态。在会议有与会者加入后,会议状态会从Initial变成活动状态(Active),表示已经有与会者加入到会议中。在邀请了会议成员加入后,如果会议状态是Active,表示有会议成员加入了,并执行步骤112;否则,表示没有会议成员加入到会议中,此时应该报错。
步骤112、查询主席的状态,继续调用多媒体会议原子服务。
这里的多媒体会议原子服务具体为getParticipantInfo,来查询会议主席的状态。由于我们把会议分成两种,一种是有主席模式;另一种是无主席模式。所以需要获取主席的状态来判定会议创建是否真的成功了。
步骤113、判断会议模式,如果会议模式是无主席模式,又已经有会议成员加入到会议中,可以判定会议创建成功,结果赋值为:成功(Success),转入执行步骤115;如果会议模式是有主席模式,则需要进一步验证会议主席是否已经加入到会议中,并执行步骤114。
步骤114、判断主席状态,在有主席模式下,如果主席已经加入,会议创建成功,则结果赋值为:成功(Success),之后执行步骤115;如果主席没有加入,会议创建失败,则结果赋值为:Failure,之后执行步骤115。
步骤115、结束当前创建会议的业务流程,将会议创建流程的结果赋值返回。
针对执行单元而言,该执行单元通常是多业务逻辑的并发执行单元,也可理解为多BPEL文件的并发执行单元。业务逻辑中Web服务的运行环境运行的是Web服务,包括基本服务与组合服务的基础承载环境,为基于Web服务的应用系统提供服务部署、运行与管理等基本支撑功能。作为符合Web服务规范的底层基础设施,Web服务运行环境为上层的具体应用系统提供基于SOAP的消息传输能力、基于WSDL的服务描述发布以及相应的服务运行支持,例如Web服务的生命周期管理、Web服务的安全控制及策略管理等,执行单元提供的业务逻辑中Web服务的运行环境如图2所示。
执行单元为大规模的并发业务逻辑提供驻留和运行环境,同时对业务逻辑的运行提供监视、统计以及管理方面的支持。业务逻辑的执行实际上是基于BPEL通过组合及协作各Web服务来对业务流程进行控制和执行的,在执行单元所提供的业务逻辑的运行环境中,BPEL根据组合服务模型与组合方案创建组合服务实例,按照组合服务模型调度各个组件服务执行相应的操作,协调组合服务系统中各个节点之间的控制传递和数据路由。这里,各Web服务位于业务流程中节点所在的位置。在该运行环境中包括Web服务的触发调用、异常处理、用户信息访问管理、业务的生存周期管理、计费管理等。在该运行环境中,多媒体会议系统执行的业务流程定义了在调用和执行各Web服务操作过程中所有消息交换的顺序、方向和基数,消息交换遵循相互之间的通信协议。也就是说,各Web服务之间以消息的形式采用基于组件的通信方式进行通信。
以下对执行单元所提供的业务逻辑的运行环境中的多媒体会议系统执行的业务流程进行说明。如图3所示,图3为在该运行环境中基于组件的通信方式进行消息交换的消息交换结构的组成示意图。图3中包括:规格化消息路由器、BPEL服务引擎、注册器、低延迟事件服务引擎、SOAP绑定组件、Web客户端、Web服务器、请求侧的第一DC、服务引擎侧的第二DC、事件引擎侧的第三DC;其中,BPEL服务引擎中包括会议业务逻辑的BPEL业务流程所在的模块,规格化消息路由器包括各种针对流处理的模块,低延迟事件服务引擎中包括会议能力组件。
图4为在该运行环境中上述基于组件的通信方式进行消息交换的实现流程示意图,该消息交换的实现流程采用图3所示的消息交换结构。如图4所示,该消息交换的实现流程包括以下步骤:
步骤201、初始化过程。
这里,初始化过程即为:将部署在该运行环境中的各个组件和各Web服务引擎启动与实例化,并注册到注册器中。主要服务引擎包括BPEL引擎和低延迟事件引擎,主要的绑定组件为SOAP绑定组件和HTTP协议绑定组件,消息处理组件为规格化消息路由器,它包含代理和流处理两个组件。
步骤202、需要会议服务的用户使用Web客户端发起会议请求,该会议请求消息被发送到Web服务器。
步骤203、Web服务器接收到该会议请求消息后,经过处理和转换,变换成Web服务格式的会议服务请求消息,发送到SOAP绑定组件。
步骤204、SOAP绑定组件接收到该会议服务请求消息,创建一个消息交换实例,并根据需求将接收到的消息转换格式直接放入消息交换实例中,设置该消息交换的服务端点等属性,并在请求侧创建第一DC,该会议服务请求消息经该第一DC传递到规格化消息路由器。
步骤205、规格化消息路由器接收到会议服务请求消息时,解析消息头,寻找到目的服务引擎,并创建服务引擎侧的第二DC,最后在请求侧的第一DC和服务引擎侧的第二DC之间创建消息流的处理实例。
步骤206、BPEL服务引擎接收到该会议服务请求消息时,调用会议业务逻辑的BPEL业务流程所在的模块,会议业务逻辑的BPEL业务流程所在的模块处理并生成调用会议能力组件的请求消息,返回给BPEL服务引擎。
步骤207、BPEL服务引擎将该调用会议能力组件的请求消息通过服务引擎侧的第二DC发送到规格化消息路由器。
步骤208、规格化消息路由器在BPEL服务引擎和低延迟事件服务引擎间建立另一个消息流的处理实例,并建立事件引擎侧的第三DC。
步骤209、规格化消息路由器将该调用会议能力组件的请求消息通过第三DC发送到低延迟事件服务引擎,低延迟事件服务引擎将该调用会议能力组件的请求消息定向到会议能力组件进行处理及响应。
步骤210、调用会议能力组件的请求消息经过会议能力组件处理后,沿请求路径即经由第三DC返回规格化消息路由器。
这里,该步骤中的消息沿步骤208所建立的消息流的流处理通道,返回到服务引擎侧的第二DC,并被递交给会议业务逻辑的BPEL业务流程所在的模块。
步骤211、会议业务逻辑的BPEL业务流程所在的模块,将会议能力组件对调用会议能力组件的请求消息的处理及响应结果重新组合成用户所需的Web服务格式,再次通过第二DC返回到规格化消息路由器。
这里,该步骤中的消息沿步骤205所建立的消息流的流处理通道,返回到SOAP绑定组件侧即请求侧的第一DC,并被发送给SOAP绑定组件;SOAP绑定组件将接收到的该消息转换形式后,作为之前步骤203中会议服务请求消息的响应结果返回。
步骤212、Web服务器将Web服务格式的会议服务请求消息的响应结果转换成会议请求消息的响应结果后,返回给Web客户端,并将对会议请求消息的响应结果递交给用户。
针对接口单元而言,基于公网的多媒体会议系统面对的是一个跨越语音与数据,固定与移动,电信和Internet的一个综合的、开放的复杂网络环境,业务逻辑主要使用两种网络能力,即为:通信网络的能力和信息网络的能力。其中,通信网络的能力包括语音通信网、移动数据网络等能力;信息网络的能力主要是Internet上丰富的网络资源。通过短信服务(SMS,Short Message Service),彩信服务(MMS,MultiMedia Message Service),定位服务(LBS,Location BasedService),SIP等协议栈或Parlay网关来使用通信网络的能力和服务,如短信、彩信、定位、智能网和软交换等。这里,接口单元其下承载有底层网络,由于接口单元以组合各服务的方式集成了至少一个多媒体会议业务功能的具体接口,比如媒体控制模块和会议管理模块等,因此,接口单元的存在,使其下承载底层网络的网络能力形式对于接口单元上层的业务逻辑的运行环境是透明的,均以Web服务方式为上层的业务逻辑提供通信接口,也就是说,在执行单元与底层网络之间存在接口单元,二者通过接口单元通信,使底层网络的网络能力形式对于执行单元是透明的,且接口单元以Web服务的方式为执行单元提供通信接口,从而接口单元作为底层网络和执行单元中业务逻辑之间的接口,具有广域范围的互操作性,适合用于集成各种不同组织的第三方应用,可以采用组合Web服务的方式开发一体化服务的业务逻辑。基于公网的多方多媒体会议业务是针对具有跨区域分布特点的企业开发的多媒体业务,该业务能够实现异地会议、多媒体数据共享、实时通信等功能,以达到提高企业的工作效率和节省企业会议开销的目的。
以下对接口单元以组合各服务的方式集成的多个多媒体会议业务功能的具体接口进行具体阐述。多媒体会议业务功能的具体接口相对应于完成多媒体会议具体业务功能的服务,即在执行单元中执行业务逻辑时,处于业务逻辑节点位置、所调用到的具体的多媒体会议原子服务。
如图5所示,图5为多媒体会议业务逻辑中所涉及的、完成多媒体会议不同业务功能所需的相关Web服务组成部分的示意图。图5中,不仅包括接口单元及接口单元中所包含的多媒体会议业务功能的具体接口,而且还包括隶属于多媒体会议业务功能具体接口下层的各模块,因为接口单元根据当前调用的多媒体会议业务功能的具体接口,调用与当前调用的多媒体会议业务功能的具体接口相对应的相关模块,与执行单元进行通信,才能完成与当前调用的多媒体会议业务功能的具体接口相对应的多媒体会议具体业务功能的服务。这里,多媒体会议业务功能的具体接口包括:删除会议的具体接口、邀请会议成员的具体接口、删除会议成员的具体接口、创建会议的具体接口、设置媒体的具体接口和会议主席的监控及取消监控的具体接口。隶属于多媒体会议业务功能具体接口下层的各模块包括:媒体控制模块、MSML构造及解析模块、SIP通信能力模块、会议管理模块和会话管理模块。
其中,媒体控制模块,用于主要根据业务逻辑中所调用的需完成的当前多媒体会议具体业务功能的服务,控制及发送媒体相关的SIP消息,根据收到的SIP消息调用相关解析模块。比如当发送设置媒体的SIP消息时,首先调用MSML构造及解析模块,用于构造所需的MSML文本,再调用SIP通信能力模块,组装为INFO消息发出。
MSML构造及解析模块,用于构造MSML文本,通过与SIP通信能力模块的交互,构造INFO消息并发送给媒体服务器。媒体服务器也会在部分返回的响应消息比如200OK的消息体中包含MSML文本,MSML构造及解析模块将对这些MSML文本进行解析,获取需要的内容如会议ID。
SIP通信能力模块,是架设在SIP协议栈之上的核心模块,用于负责SIP消息的发送和接收。它包括一系列呼叫及非呼叫SIP请求与响应的发送及接收函数。发送函数可以直接为业务逻辑所调用,接收函数接收来自协议栈上报的SIP消息,并在函数内部调用会话管理等模块进行相应处理。
会议管理模块,用于在会议创建后,需要对会议相关信息进行存储,它使用一个哈希表进行维护包括会议本身的信息及会议所在呼叫的相关标识。
会话管理模块,用于提供会话的存储与查找,以及呼叫控制两部分功能,它是实现会议呼叫相关业务逻辑的核心部分。会话的存储与查找中,所有会话使用一个链表来维护。如果会话是标识用户与媒体服务器的会话,则会话实际上是一个包含三方的呼叫,包括用户代理及用户所使用的SIP终端(UA)与应用服务器(AS,Application Server)及AS与媒体服务器之间两个对话。为了进行呼叫控制,这两个对话需要能彼此查找。链表的每个结点是一个结构体,它既维护了单个会话的信息,包括用户的个人信息,如用户ID;呼叫相关的信息,包括呼叫的类型,呼叫标识等;所属会议的入口;相关媒体信息等,又维护了对另一个对话的关联。如协议栈内部存在多个呼叫标识,则在呼叫查找的时候需要多张哈希表。它们的查找结果都能映射到上述链表上。
会话管理模块中执行的呼叫控制包含第三方呼叫的控制和呼叫前转中呼叫的控制,分别由第三方呼叫控制的状态机和呼叫前转中呼叫控制的状态机来实现控制。如图6所示为第三方呼叫控制的状态机。第三方呼叫控制的状态机用于邀请用户;呼叫前转中呼叫控制的状态机用于将外部呼入的用户连上媒体服务器,直连媒体服务器,用户连接上媒体服务器后发送一些控制消息,如INFO消息。并且第三方呼叫的控制是根据业务类型,协议栈事务用户层上报的消息,或应用层发出的呼叫请求,来进行呼叫前转中呼叫或第三方呼叫。多媒体会议中,为了完成对会议成员的邀请,需要进行主动外呼,体现为应用服务器对用户终端和媒体服务器发起第三方呼叫。呼叫前转中呼叫与第三方呼叫这两种呼叫状态的迁移是由呼叫状态机来控制的,如图6中最基本的即正常情况下的状态转移,在进行状态迁移之前,也会触发相应的函数,一般是根据呼叫控制的逻辑发SIP消息。对于异常消息则使用单独的函数进行处理,并退出状态机。另外,直连媒体服务器只需要使用协议栈中的对话(Dialog)状态机维护事务用户(TU,Transaction User)层发送的消息,无需进行额外的呼叫控制。
如图7所示,一种多媒体会议方法,该方法包括以下步骤:
步骤301、基于BPEL对生成的服务组合后,生成多媒体会议的业务逻辑。
步骤302、对多个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制。
这里,每当执行业务逻辑中具体服务时,先解析当前服务所对应的多媒体会议业务功能的具体接口,再调用多媒体会议业务功能接口相对应的模块进行通信,最后完成对多媒体会议具体服务的访问。
这里,步骤302中还包括:在业务逻辑的运行环境中基于组件的通信方式进行消息交换的过程;消息交换的过程包括:
步骤30211、Web服务器从Web客户端接收到会议请求消息后,经过处理和转换,变换成Web服务格式的会议服务请求消息,发送到SOAP绑定组件。
步骤30212、SOAP绑定组件接收到所述会议服务请求消息,创建消息交换实例,并根据需求将接收到的消息交换格式直接放入消息交换实例中;设置消息交换的服务端点属性,并在请求侧创建第一DC;所述会议服务请求消息经所述第一DC传递到所述规格化消息路由器。
步骤30213、所述规格化消息路由器接收到会议服务请求消息时,解析消息头,寻找到目的服务引擎,并创建服务引擎侧的第二DC,在请求侧的所述第一DC和服务引擎侧的所述第二DC之间创建消息流的处理实例。
步骤30214、BPEL服务引擎接收到会议服务请求消息时,调用会议业务逻辑的BPEL业务流程所在的模块,会议业务逻辑的BPEL业务流程所在的模块处理并生成调用会议能力组件的请求消息,返回给BPEL服务引擎。
步骤30215、BPEL服务引擎将所述调用会议能力组件的请求消息通过服务引擎侧的所述第二DC发送到所述规格化消息路由器。
步骤30216、规格化消息路由器在BPEL服务引擎和低延迟事件服务引擎间建立另一个消息流的处理实例,并建立事件引擎侧的第三DC。
步骤30217、规格化消息路由器将调用会议能力组件的请求消息通过所述第三DC发送到低延迟事件服务引擎,低延迟事件服务引擎将调用会议能力组件的请求消息定向到会议能力组件进行处理及响应。
步骤30218、Web服务器获取对会议服务请求消息的响应结果,将Web服务格式的会议服务请求消息的响应结果转换成会议请求消息的响应结果,并返回给Web客户端。
方法实例一:创建会议是指在媒体服务器中创建为这个会议服务的音、视频混合器,并返回一个会议标识。会议包含无主席会议和有主席会议两种。有主席会议包含两个会议,各自在媒体服务器对应不同的会议标识。其中一个为普通会议,它的音、视频混合器分别混合所有人的音、视频。另一个为主席监控的会议,它只包含一个视频混合器,用于输送要查看的会议成员的视频,而无主席会议只包含普通会议。那么当业务逻辑为创建会议的业务逻辑时,步骤302具体为:
步骤3021a、创建一个呼叫,这个呼叫是要在应用服务器与媒体服务器之间建立一个直接的连接。
步骤3021b、SIP通信能力模块发送SIP的邀请(INVITE)消息到媒体服务器。INVITE消息为一个SIP消息。
步骤3021c、SIP通信能力模块接收来自媒体服务器的响应消息,响应消息即为200OK。
步骤3021d、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,得到下一个需要发送的SIP消息。
步骤3021e、会话管理模块返回给SIP通信能力模块后续应发送到媒体服务器的应答确认(ACK)消息。
步骤3021f、SIP通信能力模块向媒体服务器发送ACK消息。
步骤3021g、调用MSML构造及解析模块构造创建会议的MSML文本。
步骤3021h、调用SIP通信能力模块,使其发送INFO消息,INFO消息为一个SIP消息,且INFO消息中携带有MSML文本,内容为createConference。
步骤3021i、SIP通信能力模块向媒体服务器发送创建会议的INFO消息。
步骤3021j、媒体服务器返回给SIP通信能力模块对INFO消息的响应消息,响应消息即为200OK,且响应消息中携带有媒体服务器产生的会议标识。
步骤3021k、调用MSML构造及解析模块,解析出媒体服务器返回的会议标识。
步骤3021l、调用会议管理模块,并存储会议的会议标识等相关信息。
方法实例二:上层业务要求在会议正式开始之前按邀请人名单将会议成员邀请到会议中,每邀请一个人就要调用一次该子服务。该子服务包含两部分:呼入某会议成员,为该成员添加媒体流。那么当业务逻辑为邀请会议成员的业务逻辑时,步骤302具体为:
步骤3022a、邀请会议成员,创建一个到会议成员的SIP终端的呼叫。
步骤3022b、SIP通信能力模块发送SIP的INVITE消息到SIP终端。INVITE消息为一个SIP消息。
步骤3022c、SIP通信能力模块接收来自SIP终端的响应消息,响应消息即为200OK。
步骤3022d、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,得到下一个需要发送的SIP消息。
步骤3022e、会话管理模块返回给SIP通信能力模块后续应发送到媒体服务器的INVITE消息。
步骤3022f、SIP通信能力模块发送SIP的INVITE消息到媒体服务器,INVITE消息中携带有SIP终端的会话描述协议(SDP,Session DescriptionProtocol)。SDP用于描述终端媒体信息。
步骤3022g、SIP通信能力模块接收来自媒体服务器的响应消息,响应消息即为200OK,且响应消息中携带有媒体服务器根据SIP终端的SDP得到的最终SDP。
步骤3022h、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,根据接收到来自媒体服务器的响应消息,响应消息即为200OK,得到下一个需要发送的SIP消息。
步骤3022i、会话管理返回给SIP通信能力模块后续应分别发送给媒体服务器和SIP终端的ACK消息。
步骤3022j、SIP通信能力模块发送带最终SDP的ACK消息到SIP终端。
步骤3022k、SIP通信能力模块发送不携带任何SDP的ACK消息到媒体服务器。
步骤3022l、调用MSML构造及解析模块构造添加媒体流的MSML文本。
步骤3022m、调用SIP通信能力模块,使其发送INFO消息,INFO消息中携带有MSML文本,内容为JOIN。
步骤3022n、SIP通信能力模块向媒体服务器发送添加媒体流的INFO消息。
步骤3022o、媒体服务器返回给SIP通信能力模块对INFO消息的响应消息,响应消息即为200OK。
步骤3022p、调用会话管理模块,存储会话的相关信息。
方法实例三:会议创建成功且会议成员邀请完毕后,会议接收来自用户终端的呼叫,并将其前转至媒体服务器。动作执行者不来自服务接口而是用户的SIP终端。协议栈底层的5060端口一直会监听SIP消息,如果收到INVITE消息,则是收到了一个外界的连接请求。对于合法请求,应建立SIP终端与媒体服务器之间的连接,连接建立后将SIP终端的媒体流加入到媒体服务器中。那么,当业务逻辑为会议成员呼入的业务逻辑,步骤302具体为:
步骤3023a、SIP通信能力模块接收来自UA的INVITE消息。INVITE消息为一个SIP消息。
步骤3023b、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,得到下一个需要发送的SIP消息。
步骤3023c、会话管理模块返回给SIP通信能力模块后续应发送到媒体服务器的INVITE消息。
步骤3023d、SIP通信能力模块发送SIP的INVITE消息到媒体服务器,INVITE消息中携带有SIP终端的SDP。
步骤3023e、SIP通信能力模块接收来自媒体服务器的响应消息,响应消息即为200OK,且响应消息中携带有媒体服务器根据SIP终端的SDP得到的最终SDP。
步骤3023f、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,根据收到来自媒体服务器的响应消息,响应消息即为200OK,得到下一个需要发送的SIP消息。
步骤3023g、会话管理模块返回给SIP通信能力模块后续应发送到SIP终端的响应消息,响应消息即为200OK。
步骤3023h、SIP通信能力模块向SIP终端发送响应消息,响应消息即为200OK,且响应消息中携带有媒体服务器根据SIP终端的SDP得到的最终SDP。
步骤3023i、SIP通信能力模块接收来自SIP终端的ACK消息。
步骤3023j、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,根据收到来自SIP终端的ACK消息,得到下一个需要发送的SIP消息。
步骤3023k、会话管理返回给SIP通信能力模块后续应发送到媒体服务器的ACK消息。
步骤3023l、SIP通信能力模块向媒体服务器发送ACK消息。
步骤3023m、调用MSML构造及解析模块构造添加媒体流的MSML文本。
步骤3023n、调用SIP通信能力模块,使其发送INFO消息,INFO消息中携带有MSML文本,内容为JOIN。
步骤3023o、会话管理模块调用SIP通信能力模块要求其发送INFO消息到媒体服务器。
步骤3023p、SIP通信能力模块向媒体服务器发送添加媒体流的INFO消息。
步骤3023q、媒体服务器返回给SIP通信能力模块对INFO消息的响应消息,响应消息即为200OK。
方法实例四:对用户进行媒体流的设置,可以对当前的媒体进行增加、删除、修改操作。要设置媒体,必须发送INFO消息去选择加入或不加入媒体流。该INFO消息可以使用任何一个SIP连接来发送,但为了维护方便,一般使用该SIP终端与媒体服务器的SIP连接。调用会话管理模块进行查找,得到该会话的对话以及在媒体服务器中的对话标识。再构造MSML文本,发送INFO消息即可。那么,当业务逻辑为设置媒体的业务逻辑,步骤302具体为:
步骤3024a、在会话管理模块中查找要更改媒体的用户所在的SIP对话。
步骤3024b、会话管理模块返回查找到的对话标识。
步骤3024c、调用MSML构造及解析模块,构造删除媒体流的MSML文本。
步骤3024d、调用SIP通信能力模块去发送构造好的INFO消息到媒体服务器。
步骤3024e、SIP通信能力模块发送删除媒体流的INFO消息到媒体服务器。
步骤3024f、SIP通信能力模块接收来自媒体服务器对INFO消息的响应消息,响应消息即为200OK。
步骤3024g、调用MSML构造及解析模块构造添加媒体流的MSML文本。
步骤3024h、调用SIP通信能力模块去发送构造好的INFO消息到媒体服务器。
步骤3024i、SIP通信能力模块发送删除媒体流的INFO消息到媒体服务器。
步骤3024j、SIP通信能力模块接收来自媒体服务器对INFO消息的响应,响应消息即为200OK。
这里需要指出的是,主席监控/取消监控这个多媒体业务功能的本质和设置媒体是一样的,是改变被监控人的下行视频流和主席的上行视频流的操作。
方法实例五:删除会议成员,首先删除当前用户的媒体流,再通过发再见(BYE)消息断开SIP连接。那么当业务逻辑为删除会议成员时,步骤302具体为:
步骤3025a、在会话管理模块中查找要更改媒体的用户所在的SIP对话。
步骤3025b、会话管理模块返回查找到的对话标识。
步骤3025c、调用MSML构造及解析模块构造删除媒体流的MSML文本。
步骤3025d、调用SIP通信能力模块去发送构造好的INFO消息到媒体服务器。
步骤3025e、SIP通信能力模块发送删除媒体流的INFO消息到媒体服务器。
步骤3025f、SIP通信能力模块接收来自媒体服务器对INFO消息的响应消息,响应消息即为200OK。
步骤3025g、调用SIP通信能力模块分别向SIP终端和媒体服务器发送BYE消息。
步骤3025h、SIP通信能力模块向SIP终端发送BYE消息。
步骤3025i、SIP通信能力模块向媒体服务器发送BYE消息。
步骤3025j、SIP通信能力模块收到SIP终端对BYE消息的响应消息,响应消息即为200OK。
步骤3025k、SIP通信能力模块收到媒体服务器对BYE消息的响应消息,响应消息即为200OK。
方法实例六:删除会议指:断开会议中相关成员的连接,并清除内存中为该会议分配的相关资源。删除会议和创建会议的流程基本相同。只是删除会议需要先查找该会议所在的控制连接,之后发送删除会议的INFO消息,最后通过发BYE消息断开该会议的控制连接,清除存储的相关数据。那么当业务逻辑为删除会议时,步骤302具体为:
步骤3026a、在会议管理模块中查找会议控制连接所在的SIP对话。
步骤3026b、会议管理模块返回查找到的对话标识。
步骤3026c、调用MSML构造及解析模块,构造删除会议的MSML文本。
步骤3026d、调用SIP通信能力模块去发送构造好的INFO消息到媒体服务器。
步骤3026e、SIP通信能力模块发送删除会议的INFO消息到媒体服务器。
步骤3026f、SIP通信能力模块接收来自媒体服务器对INFO消息的响应消息,响应消息即为200OK。
步骤3026g、调用SIP通信能力模块向媒体服务器发送BYE消息。
步骤3026h、SIP通信能力模块向媒体服务器发送BYE消息。
步骤3026i、SIP通信能力模块接收媒体服务器对BYE消息的响应消息,响应消息即为200OK。
步骤3026j、删除该会议的相关信息。
综上所述,采用本发明具有以下四方面的优点。
第一方面、基于公网实现多点互连,不需提供专网通信。对比现有多媒体会议系统大多基于软、硬件平台,通常基于专有硬件板卡的API开发包进行开发的,会议系统通常通过专线接入电信网络。现有多媒体会议会议系统存在成本高、绑定于专有硬件厂商的缺点。而本发明的多媒体会议系统通信能力基于公网资源,无需使用专线,可以在最通用的TCP/IP网络平台上实现高可靠性、高质量的远程视频会议,克服地域限制,及时了解与会人员的反映,缩短决策时间,同时减小商务旅行的必要性。
第二方面、动态配置服务模板,可柔性重组为其他应用。具体来说,基于可重用服务流程的服务模板技术,通过动态配置服务模板,可柔性重组为其他应用,并且使视频通信突破会议的形式,发展成为与远程办公一体化的应用,如远程教学、办公会议或者商务洽谈以及其它用途。采用本发明,无需投入高昂成本,就能够实现多媒体体通信功能,有效提高工作效率。其中,服务模板即业务逻辑,也可以理解为BPEL文件。
第三方面、支持多用户、大规模多任务视频流并发执行。对比现有多媒体会议系统,如基于MCU的,它的媒体处理与会议逻辑分别是多点处理机(MP,Multipoint Processor)和多点控制器(MC,Multipoint Controller),但整体被绑定在一起。而本发明是基于SOA的多媒体会议系统,其媒体处理与会议逻辑是分离的,对上而言各种能力是不同粒度的多媒体会议原子服务的组合,带来了很好的灵活性,大大节省了硬件开销所带来的高使用成本。
第四方面、支持多种类型的终端接入方式。具体来说,支持会议参与者使用多种终端,供会议参加者在约定时间、不同地点、实现多方同时通话。终端可以是带有摄像头的PC,也可以是ISDN的视频电话,还可以是普通的语音电话。如果终端是移动终端,移动终端可以是一般的移动手机,也可以是面向3G的移动终端或PDA等。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1、一种多媒体会议系统,其特征在于,该系统基于面向服务的体系结构SOA,该系统包括:生成单元、执行单元和接口单元;其中,
生成单元,用于基于业务流程执行语言BPEL对生成的服务组合后,生成多媒体会议的业务逻辑,将所述业务逻辑发送并部署到所述执行单元;
执行单元,用于提供所述业务逻辑的运行环境;对至少一个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制;每当执行到业务逻辑中服务所在的位置,调用当前服务所对应的多媒体会议业务功能的具体接口,并与所述接口单元通信;
接口单元,用于与所述执行单元通信,并以组合各服务的方式集成了至少一个多媒体会议业务功能的具体接口。
2、根据权利要求1所述的系统,其特征在于,所述服务具体为Web服务,所述Web服务为:基于互联网或/和电信网的Web服务;所述Web服务包括:多媒体会议原子服务;
所述业务逻辑以BPEL文件的形式存在,所述生成单元,进一步用于将BPEL文件发送并部署到所述执行单元;
各多媒体会议原子服务存在于所述BPEL文件的BPEL业务流程的各节点位置,所述执行单元,进一步用于每当执行到所述BPEL业务流程的节点位置,调用当前多媒体会议原子服务所对应的多媒体会议业务功能的具体接口,与所述接口单元通信;并基于BPEL业务流程,控制各多媒体会议原子服务按照包括顺序、并发和选择在内的方式来执行。
3、根据权利要求1所述的系统,其特征在于,执行单元提供的所述运行环境为:基于组件的通信方式进行消息交换的消息交换结构;所述消息交换结构中包括:基于简单对象访问协议SOAP的SOAP绑定组件、规格化消息路由器、BPEL服务引擎和低延迟事件服务引擎;其中,
SOAP绑定组件,用于接收Web服务格式的会议服务请求消息,创建消息交换实例,并根据需求将接收到的消息交换格式直接放入消息交换实例中;设置消息交换的服务端点属性,并创建第一服务递交通道DC,所述会议服务请求消息经所述第一DC传递到所述规格化消息路由器;
规格化消息路由器,用于接收所述会议服务请求消息,解析消息头,寻找到目的服务引擎,并创建第二DC,在所述第一DC和所述第二DC之间创建消息流的处理实例;在所述BPEL服务引擎和所述低延迟事件服务引擎间建立另一个消息流的处理实例,并建立第三DC;将调用会议能力组件的请求消息通过所述第三DC发送到低延迟事件服务引擎;
BPEL服务引擎,用于接收到所述会议服务请求消息,调用会议业务逻辑的BPEL业务流程所在的模块处理并生成调用会议能力组件的请求消息后,将所述调用会议能力组件的请求消息通过所述第二DC发送到所述规格化消息路由器;其中,所述BPEL服务引擎中包括所述会议业务逻辑的BPEL业务流程所在的模块,用于对所述会议服务请求消息处理并生成所述调用会议能力组件的请求消息;
低延迟事件服务引擎,用于将所述调用会议能力组件的请求消息定向到会议能力组件;其中,所述低延迟事件服务引擎中包括会议能力组件,用于对调用会议能力组件的请求消息进行处理及响应。
4、根据权利要求1、2或3所述的系统,其特征在于,所述接口单元中集成的多媒体会议业务功能的具体接口进一步包括:删除会议的具体接口、邀请会议成员的具体接口、删除会议成员的具体接口、创建会议的具体接口、设置媒体的具体接口和会议主席的监控及取消监控的具体接口;
所述接口单元,进一步用于根据当前调用的多媒体会议业务功能的具体接口,在包括媒体控制模块、媒体服务标记语言MSML构造及解析模块、会话发起协议SIP通信能力模块、会议管理模块和会话管理模块在内的模块中,调用与所述当前调用的多媒体会议业务功能的具体接口相对应的相关模块,与所述执行单元进行通信,完成与所述当前调用的多媒体会议业务功能的具体接口相对应的多媒体会议具体业务功能的服务。
5、根据权利要求4所述的系统,其特征在于,所述媒体控制模块,用于根据需完成的当前多媒体会议具体业务功能的服务,控制及发送媒体相关的SIP消息,根据收到的SIP消息调用相关的模块;
所述MSML构造及解析模块,用于构造MSML文本,通过与所述SIP通信能力模块的交互,构造INFO消息并发送给媒体服务器;所述INFO消息为SIP消息,用于承载MSML文本;
所述SIP通信能力模块,用于负责SIP消息的发送和接收,包括呼叫及非呼叫SIP请求与响应的发送函数和接收函数;
所述会议管理模块,用于在会议创建后,对会议相关信息进行存储,并使用哈希表维护包括会议本身的信息及会议所在呼叫的相关标识;
所述会话管理模块,用于提供会话的存储与查找,以及呼叫控制;所述会话的存储与查找中,所有会话使用一个链表来维护,所述呼叫控制包括第三方呼叫状态和呼叫前转中呼叫状态。
6、一种多媒体会议方法,其特征在于,该方法包括以下步骤:
A、基于BPEL对生成的服务组合后,生成多媒体会议的业务逻辑;
B、对至少一个业务逻辑进行并发的执行操作,并基于BPEL对业务逻辑中组合的各服务进行控制;
每当执行业务逻辑中具体服务时,先解析当前服务所对应的多媒体会议业务功能的具体接口,再调用多媒体会议业务功能接口相对应的模块进行通信,最后完成对多媒体会议具体服务的访问。
7、根据权利要求6所述的方法,其特征在于,步骤B中还包括:在所述业务逻辑的运行环境中基于组件的通信方式进行消息交换的过程;所述消息交换的过程包括:
Web服务器从Web客户端接收到会议请求消息后,经过处理和转换,变换成Web服务格式的会议服务请求消息,发送到SOAP绑定组件;
SOAP绑定组件接收到所述会议服务请求消息,创建消息交换实例,并根据需求将接收到的消息交换格式直接放入消息交换实例中;设置消息交换的服务端点属性,并创建第一DC;所述会议服务请求消息经所述第一DC传递到所述规格化消息路由器;
所述规格化消息路由器接收到会议服务请求消息时,解析消息头,寻找到目的服务引擎,并创建第二DC,在所述第一DC和所述第二DC之间创建消息流的处理实例;
BPEL服务引擎接收到会议服务请求消息时,调用会议业务逻辑的BPEL业务流程所在的模块,会议业务逻辑的BPEL业务流程所在的模块处理并生成调用会议能力组件的请求消息,返回给BPEL服务引擎;
BPEL服务引擎将所述调用会议能力组件的请求消息通过所述第二DC发送到所述规格化消息路由器;
规格化消息路由器在BPEL服务引擎和低延迟事件服务引擎间建立另一个消息流的处理实例,并建立事件引擎侧的第三DC;
规格化消息路由器将调用会议能力组件的请求消息通过所述第三DC发送到低延迟事件服务引擎,低延迟事件服务引擎将调用会议能力组件的请求消息定向到会议能力组件进行处理及响应;
Web服务器获取对会议服务请求消息的响应结果,将Web服务格式的会议服务请求消息的响应结果转换成会议请求消息的响应结果,并返回给Web客户端。
8、根据权利要求6所述的方法,其特征在于,所述业务逻辑为创建会议的业务逻辑,所述步骤B具体为:
B11、创建呼叫,并在应用服务器与媒体服务器之间建立一个直接的呼叫连接;SIP通信能力模块发送邀请INVITE消息到媒体服务器,所述INVITE消息为SIP消息;SIP通信能力模块接收来所述自媒体服务器的响应;
B12、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,得到下一个需要发送的SIP消息;所述会话管理模块返回给SIP通信能力模块后续应发送到媒体服务器的应答确认ACK消息;
B13、SIP通信能力模块向媒体服务器发送ACK消息;调用MSML构造及解析模块构造创建会议的MSML文本;调用SIP通信能力模块并发送INFO消息,所述INFO消息中携带有所述MSML文本;
B14、SIP通信能力模块向媒体服务器发送创建会议的INFO消息;媒体服务器返回对INFO消息的响应消息,所述响应消息中携带有媒体服务器产生的会议标识;
B15、调用MSML构造及解析模块,解析出媒体服务器返回的所述会议标识;调用会议管理模块并存储会议的包括会议标识在内的相关信息。
9、根据权利要求6所述的方法,其特征在于,所述业务逻辑为邀请会议成员的业务逻辑,所述步骤B具体为:
B21、邀请会议成员,并创建到会议成员的SIP终端的呼叫;SIP通信能力模块发送INVITE消息到所述SIP终端,所述INVITE消息为SIP消息;SIP通信能力模块接收来自SIP终端的响应;
B22、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,得到下一个需要发送的SIP消息;所述会话管理模块返回给SIP通信能力模块后续应发送到媒体服务器的INVITE消息;
B23、SIP通信能力模块发送INVITE消息到媒体服务器,INVITE消息中携带有SIP终端的会话描述协议SDP;SIP通信能力模块接收来自媒体服务器的响应消息,所述响应消息中携带有媒体服务器根据SIP终端的SDP得到的最终SDP;SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,根据接收到的来自媒体服务器的响应,得到下一个需要发送的SIP消息;
B24、SIP通信能力模块分别发送ACK消息到媒体服务器和SIP终端,且SIP通信能力模块发送到SIP终端的ACK消息中,携带有所述媒体服务器根据SIP终端的SDP得到的最终SDP;SIP通信能力模块发送到媒体服务器的ACK消息中,不携带SDP;
B25、调用MSML构造及解析模块,构造添加媒体流的MSML文本;调用SIP通信能力模块并发送INFO消息,INFO消息中携带有所述MSML文本;
B26、SIP通信能力模块向媒体服务器发送添加媒体流的INFO消息;媒体服务器返回对INFO消息的响应;调用会话管理模块,存储会话的相关信息。
10、根据权利要求6所述的方法,其特征在于,所述业务逻辑为会议成员呼入的业务逻辑,所述步骤B具体为:
B31、SIP通信能力模块接收来自SIP终端的INVITE消息;SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,得到下一个需要发送的SIP消息;会话管理模块返回给SIP通信能力模块后续应发送到媒体服务器的INVITE消息;SIP通信能力模块发送INVITE消息到媒体服务器,INVITE消息中携带有SIP终端的SDP;SIP通信能力模块接收来自媒体服务器的响应消息,所述响应消息中携带有所述媒体服务器根据SIP终端的SDP得到的最终SDP;
B32、SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,根据接收到来自媒体服务器的响应,得到下一个需要发送的SIP消息;
B33、会话管理模块返回给SIP通信能力模块后续应发送到SIP终端的响应消息;SIP通信能力模块向SIP终端发送响应消息,响应消息中携带有所述媒体服务器根据SIP终端的SDP得到的最终SDP;
B34、SIP通信能力模块接收来自SIP终端的ACK消息;SIP通信能力模块调用会话管理模块来调用呼叫状态的控制机,根据接收到来自SIP终端的ACK消息,得到下一个需要发送的SIP消息;会话管理返回给SIP通信能力模块后续应发送到媒体服务器的ACK消息;SIP通信能力模块向媒体服务器发送ACK消息;
B35、调用MSML构造及解析模块构造添加媒体流的MSML文本;调用SIP通信能力模块并发送INFO消息,INFO消息中携带有所述MSML文本;
B36、会话管理模块调用SIP通信能力模块,并要求SIP通信能力模块发送INFO消息到媒体服务器;SIP通信能力模块向媒体服务器发送添加媒体流的INFO消息;媒体服务器返回对INFO消息的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100762714A CN101605147B (zh) | 2009-01-08 | 2009-01-08 | 一种多媒体会议系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100762714A CN101605147B (zh) | 2009-01-08 | 2009-01-08 | 一种多媒体会议系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101605147A true CN101605147A (zh) | 2009-12-16 |
CN101605147B CN101605147B (zh) | 2012-07-11 |
Family
ID=41470701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100762714A Expired - Fee Related CN101605147B (zh) | 2009-01-08 | 2009-01-08 | 一种多媒体会议系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101605147B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137136A (zh) * | 2010-08-13 | 2011-07-27 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN102158516A (zh) * | 2010-08-19 | 2011-08-17 | 华为技术有限公司 | 服务组合实现方法及系统、服务组合编译方法及编译器 |
CN102419857A (zh) * | 2012-01-12 | 2012-04-18 | 北京邮电大学 | 一种远程医疗综合服务系统及方法 |
CN102562162A (zh) * | 2011-12-14 | 2012-07-11 | 北京邮电大学 | 一种基于事件处理的煤矿报警系统及方法 |
CN101777004B (zh) * | 2010-01-26 | 2013-01-02 | 北京邮电大学 | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 |
CN103124342A (zh) * | 2013-01-28 | 2013-05-29 | 中兴通讯股份有限公司 | 对视频会议终端的状态进行监控的方法及多点控制单元 |
CN103944902A (zh) * | 2010-08-13 | 2014-07-23 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN109587435A (zh) * | 2018-11-27 | 2019-04-05 | 平安科技(深圳)有限公司 | 本地会议合并方法及系统、服务器 |
CN109828819A (zh) * | 2019-02-16 | 2019-05-31 | 深圳市技达信息技术有限公司 | 绑定远程显示客户端和远程显示服务端的方法 |
CN114826704A (zh) * | 2022-04-12 | 2022-07-29 | 上海万昆信息科技发展有限公司 | 一种远程办公系统、方法、智能终端及存储介质 |
CN117319596A (zh) * | 2023-11-27 | 2023-12-29 | 深圳市艾谛视控科技有限公司 | 一种基于人脸识别的视频会议用信息安全系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100479564C (zh) * | 2006-07-18 | 2009-04-15 | 华为技术有限公司 | 一种业务平台和门户分离的实现方法和系统 |
-
2009
- 2009-01-08 CN CN2009100762714A patent/CN101605147B/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777004B (zh) * | 2010-01-26 | 2013-01-02 | 北京邮电大学 | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 |
CN103944902B (zh) * | 2010-08-13 | 2017-11-24 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN103944902A (zh) * | 2010-08-13 | 2014-07-23 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN102137136B (zh) * | 2010-08-13 | 2014-04-30 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN102137136A (zh) * | 2010-08-13 | 2011-07-27 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN102158516A (zh) * | 2010-08-19 | 2011-08-17 | 华为技术有限公司 | 服务组合实现方法及系统、服务组合编译方法及编译器 |
CN102158516B (zh) * | 2010-08-19 | 2013-08-07 | 华为技术有限公司 | 服务组合编译方法及编译器 |
CN102562162B (zh) * | 2011-12-14 | 2014-05-07 | 北京邮电大学 | 一种基于事件处理的煤矿报警系统及方法 |
CN102562162A (zh) * | 2011-12-14 | 2012-07-11 | 北京邮电大学 | 一种基于事件处理的煤矿报警系统及方法 |
CN102419857B (zh) * | 2012-01-12 | 2016-04-06 | 北京邮电大学 | 一种远程医疗综合服务系统及方法 |
CN102419857A (zh) * | 2012-01-12 | 2012-04-18 | 北京邮电大学 | 一种远程医疗综合服务系统及方法 |
CN103124342A (zh) * | 2013-01-28 | 2013-05-29 | 中兴通讯股份有限公司 | 对视频会议终端的状态进行监控的方法及多点控制单元 |
CN103124342B (zh) * | 2013-01-28 | 2017-06-27 | 南京中兴软件有限责任公司 | 对视频会议终端的状态进行监控的方法及多点控制单元 |
CN109587435A (zh) * | 2018-11-27 | 2019-04-05 | 平安科技(深圳)有限公司 | 本地会议合并方法及系统、服务器 |
CN109587435B (zh) * | 2018-11-27 | 2021-12-24 | 平安科技(深圳)有限公司 | 本地会议合并方法及系统、服务器 |
CN109828819A (zh) * | 2019-02-16 | 2019-05-31 | 深圳市技达信息技术有限公司 | 绑定远程显示客户端和远程显示服务端的方法 |
CN114826704A (zh) * | 2022-04-12 | 2022-07-29 | 上海万昆信息科技发展有限公司 | 一种远程办公系统、方法、智能终端及存储介质 |
CN117319596A (zh) * | 2023-11-27 | 2023-12-29 | 深圳市艾谛视控科技有限公司 | 一种基于人脸识别的视频会议用信息安全系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101605147B (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101605147B (zh) | 一种多媒体会议系统及方法 | |
US10154118B2 (en) | System and method for telephony and communication services with message-based API | |
CN101741850B (zh) | 面向混合网络服务的多任务并发执行系统及方法 | |
US9654515B2 (en) | Service oriented architecture-based SCIM platform | |
CA2606911C (en) | Web based unified communication system and method, and web communication manager | |
US8331351B2 (en) | Communicating with session initiation protocol (SIP) application sessions using a message-oriented middleware system | |
US8296409B2 (en) | Method for enabling on-demand communication services | |
US20060104431A1 (en) | Method for providing feature interaction management and service blending | |
CN103098433A (zh) | 用于xmpp协议的servlet api和方法 | |
CN101902455B (zh) | 一种开放式的多媒体会议服务系统及实现方法 | |
Bo et al. | Development of Web-Telecom based hybrid services orchestration and execution middleware over convergence networks | |
Baravaglio et al. | Web service applicability in telecommunication service platforms | |
WO2009094932A1 (en) | Method for enhancing service, proxy server and communications system | |
Gómez et al. | Advanced IMS multipoint conference management using web services | |
Bessler et al. | An orchestrated execution environment for hybrid services | |
CN100589397C (zh) | 一种基于ip多媒体核心网的大客户系统 | |
Bo et al. | Session and media signalling for communication components‐based open multimedia conferencing Web service over IP networks | |
Zhu et al. | Enhancing ESB based execution platform to support flexible communication Web services over heterogeneous networks | |
Zhang | Dependable ESB Routing in Hybrid Service Execution Environment. | |
Femminella et al. | Enhancing java call control with media server control functions | |
Bo et al. | Design of services-orientated multimedia conference process management | |
Bo et al. | A preliminary practice for BPEL based multimedia conference web services orchestration | |
Bo et al. | SIP Based Real-Time Web Services Communication Model | |
Bo et al. | The design of an orchestrated execution environment based on JBI | |
Canal et al. | Integration of commercial Internet applications in a TINA environment |
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 | ||
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: 20120711 Termination date: 20160108 |