分类: 系统运维
2011-06-24 18:24:20
原文地址:
多点多媒体通信服务的研究与实现----万挺 裘正定
摘 要 随着数字技术在通信领域的发展,多媒体技术应用越来越广泛。本文介绍了多点多媒体通倍平台的服务功能及其标准协议,并重点介绍了其设计与实现的方案。
关键词 多媒体 会议电视 MCS PDU
1 引言
随着数字技术在通信领域的广泛应用,多媒体通信的时代已经到来。多媒体通信是信息高速公路建设中的一项关键的技术,它是多媒体、通信、计算机和网络等相互渗透和发展的产物。多媒体技术是以计算机技术为核心的集声、像、图、文处理技术于一体的综合型处理技术。目前,能处理多种媒体信息的计算机系统发展很快,但多媒体技术的真正潜力在于与计算机网络的结合,只有当多种媒体的信息借助于计算机网络超越时空的限制出现在人们面前,才能真正满足信息化社会人们对各种信息的大量需求。多媒体会议系统正是多媒体通信技术的一项重要的应用。多媒体会议系统是一种实时的、点到多点的多媒体通信应用。它包括电子白板、文字对话、多点文件传输、多点音频和视频信号传送等。电子白板类似于所有会议出席者都可以看到一片工作区域,任何一位出席者在这片区域所作的改变其他出席者都可以看到。其他应用如文字对话、多点文件传送、多点音频视频信号传送都与此类似,将一点的多媒体信息发送到其他点。由此可知,在多媒体会议电视系统中,最基本的是多点通信服务(MCS),所有的上层应用都是通过MCS层向其他点发送多媒体数据。因此,在会议电视系统中多点通信服务层的设计与实现是整个系统的核心部分。
T.120系列协议是由国际电信联合会电信标准化小组(ITU-T)制定的,它包括了一系列支持实时的、多点数据通信及应用的协议和服务。其中T.122/T.125协议定义了多点通信层(MCS)的功能、结构。T.123协议定义了底层的网络传输协议,在不同的网络上向MCS提供了共同的接口,使得MCS能够独立网络。本文第二部分介绍了多点多媒体通信服务的功能框架,并结合实际工作介绍了多点通信服务的设计实现方案。
2 多点通信服务协议
2.1 多点通信服务层总体框架
T.122/T.125协议为音频图形和音频视频会议定义了一个多点通信服务层(MCS)。它提供了通用的、多点的数据服务。它是为高度交互的多媒体应用提供的基本服务。T.122 定义了MCS服务功能,T.125定义了MCS的实现方法。
MCS的用户首先在本地MCS与远端的MCS之间建一个MCS的连接。这个连接被绑定在一
个域,使用户能够附于其上。其他终端能够与已经在域内的终端建立MCS连接,绑定在同一个域内。所有的终端顺序地加入域中,成为域内的一个节点。所有的节点组成一个分级的级联结构。这样在MCS点对点的连接上建立了一个MCS多点互联的域。为了达到多点通信的目的,所有的点必须绑定在同一个域中,在域内,每个点都可以向域内其他成员发送数据、获取令牌以访问共享的资源如图1所示。MCS域建成后,MCS用户加入适当的信道以接收数据。MCS支持静态信道和动态信道,其中动态信道包括广播、私有、单成员3种。MCS管理底层的点对点的连接,并将它们映射到一起以便为上层提供一个多点通信的服务。
一个通过本地的MCS连接服务与远端的MCS服务提供者建立连接。一个MCS连接是一组由两个MCS服务提供者管理的传输层连接。MCS连接负责在MCS服务提供者之间传递数据。
在所有与会者都已经和相同的域绑定后,用户就可以通过MCS进行多点通信了。MCS提供了灵活的数据传输方式:简单数据传输、顺序唯一的数据传输和带应答的数据传输。
简单数据传输服务提供“一点对多点”的通信,“点对点”是一个特例。由于任何发送端都可以向任何信道发送服务数据单元,这样“多点对一点”和“多点对多点”的操作也是支持的。在简单数据传输中,由于不同的发送端发送数据都选择的是最短路由,因此不同的接收端有可能以不同的顺序接收到数据。简单发送数据的发送端并不要求接收端发一个应答消息,如图2所示。
在某种情况下,要求所有接收端以相同的顺序接收到数据,MCS为此提供了唯一顺序数据传输(Uniform Sequenced Data Transfer)的服务。唯一顺序数据传输与简单数据传输的不同在于发送端首先将数据发送到顶端,再由顶端向所有终端发送,从而保证了数据的顺序。总之,MCS提供了如下功能:
(1)灵活的数据传输模式
·带流量控制的广播模式;
·请求/应答模式。
(2)多点广播
·单点对所有点;
·单点对小组;
·单点对单点。
(3)多点数据路由选择
·以最短路由到达接收端;
·唯一的数据顺序,使用户以相同顺序接收到数据。
(4)用令牌解决资源竞争
(5)独立于网络
MCS假设底层是具有流量控制的无错误的传输层连接(见T.123建议)。
2.2 MCS的设计与实现
以下是MCS的设计方案。MCS层可以分为4个模块:Control、Domain、Attachment、Endpoint,它们的相互关系如图3所示。
Control模块在MCS层中是唯一的,并且始终都存在,其他的模块都是由Control模块来创建。Control模块向上层提供了一个MCS服务访问入口,处理其他层向MCS层发出的MCS控制服务请求,如:MCS_CONNECT_PROVIDER request(MCS连接请求)、MCS_CONNECT_PROVIDER indication(MCS连接指示)、MCS_CONNECT_PROVIDER response(MCS连接应答)、MCS_CONNECT_PROVIDER confirm(MCS连接确认)等等。Control负责MCS层的控制、管理以及其他模块的创建与删除。
Attachment模块在有用户请求映射到MCS域上时由Control模块来创建。在MCS中可以有0个或多个Attachment。每个MCS用户与一个Attachment相关联。在MCS用户与Attachment关联上后,用户向MCS发出的服务请求就由相应的Attachment来处理,如:MCS_CHANNEL_JOIN request(MCS信道加入请求)、 MCS_CHANNEL_JOIN confirm(MCS信道加入确认)、MCS_SEND_DATA request(MCS发送数据请求)、MCS_SEND_DATA indication(MCS发送数据指示)等等。
Endpoint模块是在MCS建立连接时由Control模块创建。在一个MCS层中可以有多个EndPoint模块,每个Endpoint模块映射一个传输服务访问入口,负责管理一个由T.123定义的传输层的连接。Endpoint将所有数据编码成特定的协议数据单元(PDU)再发往传输层,同时Endpoint接收传输层发上来的数据并解码再交Domain或Control处理。
Endpoint模块与Attachment模块在设计中采用状态机的处理方式,每个模块有多个状态。每个模块在接收到服务请求后,根据当前的状态的不同作出相应的反应。如:Endpoint模块在向T.123层发出连接请求后设置自身状态为“正在连接”(connecting),然后对其他的服务请求都暂不处理,放在服务请求队列里。直到T.123层连接建立成功后,Endpoint收到连接建立确认后将自身状态设置为“连接完成”(connect_ready)。至此,Endpoint模块才能处理其他的服务请求。
Domain模块在MCS中是一个核心模块。它也是在MCS连接建立后,根据Control提供的初始化参数建立的。这些参数可以由本地给定,也可以在建立连接的过程中由双方协商确定。Domain和所有其他模块都有信号交互,是MCS中的核心管理模块。Domain向所有模块提供人口,通过给每个模块分配不同的标识以区分不同的模块。所有的模块如:Control、Endpoint、Attachment都在Domain里映射为一组信息,由一组数据结构记录。这些信息中有一部分是全局唯一并且动态更新,因此Domain在某种意义上说是一个分布式数据库。Domain接收其他模块发来协议数据单元(PDU),根据PDU的类型、PDU里的信息和Domain里保留的信息做出不同动作,将动作命令发到其他的模块,同时更新自身的数据记录。
Domain模块内部分为几个主要模块InputPDU、ProcessPDU、OutputBuffer。所有其他模块发来的信号都以MC-SPDU的格式打好包,由Domain的InputPDU统一处理,如:判断PDU的发送端、给PDU分配一个空闲的缓冲区等。接下来,根据PDU的类型及所带信息的不同,由ProcessPDU做出不同的处理。最后,由OutputBuffer将结果发到其他模块执行。
Domain的处理流程图如图4所示。
3 结束语
随着计算机网络技术、多媒体技术的飞速发展,人们越来越希望在计算机网络上传输、共享声、像、图、文等多种媒体的信息。多点多媒体通信技术满足人们在各种网络结构上传播、获取多媒体信息的需要,逐渐地进入企业、学校,产生巨大的经济效益和社会效益。