在多媒体教室飞速发展的今天,随着互联网、宽带等技术的兴起,利用Internet建立远程共享教育系统已成为分布式多媒体系统发展的一个重要方向。
14.5.1 共享电子白板的体系结构、通信机制和带宽需求
通常情况下,在共享电子白板系统中存在两种途径来管理共享数据:集中模式(Centralized Architecture)和复制模式(Replicated Architecture)。
使用集中模式管理共享数据,只有共享数据的单一副本。一个众所周知的方法是服务器控制对共享数据的访问。当应用程序被共享时,应用程序对象保留在服务器站点,只有用户界面对象在客户端站点被复制。用户对应用程序的输入被发送给服务器处理,服务器将处理结果返回给客户端。集中模式的优点是共享数据的同步控制比较简单,易于维护,因为只有一个用于更新共享对象的应用程序副本。其不足之处首先是系统的响应较慢,因为所有的交互与数据都要先汇总到服务器处理,然后再将处理结果发布给所有与会者;其次是系统的可扩展性差,因为所有的计算负载都要集中在服务器端,同时服务器也要负责和所有与会者的连接与通信,因此在与会者规模较大、通信量较高时,很容易导致服务器的瓶颈问题;第三,系统的鲁棒性差,因为所有的计算和通信都集中在服务器端,一旦服务器或者网络发生故障,都很可能造成系统的崩溃。
使用复制模式,协作过程由用户自己管理共享数据。每一个与会者都有自己的共享数据的复本,并且能够调整访问确保复本的一致性。在各个结点中,输入事件是分布的,所有与会者从应用程序的本地副本得到他们的输出。大多数的组编辑应用都采用了复制模式,在每一个站点复制文本缓冲区,在各个站点之间编辑过程采用某种同步机制以保持复制缓冲区的一致性。复制模式的缺点是控制负载和维护同步的开销比较大,因为需要保持每个用户的共享数据的副本的同步状态,其优点首先是系统的响应较快,用户可同时使用,使资源得到充分地共享;其次是系统的鲁棒性好;第三是系统的可扩展性好,同集中模式相比,复制模式采用的分布式管理导致了较低的网络流量,避免了集中模式中服务器的瓶颈问题。需要指出,虽然复制模式采用分布式的管理降低了网络流量,但是要牺牲一部分网络流量来维护共享数据的同步状态。
集中模式适合采用单播传输机制。在复制模式中,理想的传输方式应是组播传输机制。前者采用点对点通信(uncast communication)来传输数据,而后者使用了IP组播(IP Multicast)作为网络传输机制。基于点对点通信的电子白板系统采用TCP协议来实现数据传输的可靠性,实现了数据可靠、按续传输,组播传输机制的使用能够有效地节省网络带宽,由于组播采用UDP协议传输数据,同时还使用了可靠组播协议来实现数据传输的可靠性。前者应用于局域网,对带宽需求不是很大的同时参加者的规模较小。而后者是针对广域网设计的,有较高的带宽需求和众多的参加者。
14.5.2 共享电子白板中的关键网络技术
14.5.2.1 IP组播
1.IP组播技术背景
组播、选播或多播(multicast)通信方式并不是一个很新的概念。在分布式系统中,它是作为描述分布式进程间的一种通信模式而提出来的。正如人与人之间的交流方式一样,进程间的通信可按照参与通信的进程关系,分成一对一、一对多和多对多三种模式。其中,一对一的方式也称为单播(unicast),后两种模式则称为组播。
组播方式在20世纪80年代的分布式系统和并行计算机系统有着非常广泛的应用。其中比较著名的有Cornell大学的Isis分布系统以及Ameibo系统,在它们的底层通信库当中都支持组播方式。群体方式进行通信时选用组播方式是十分自然的,这样可以减轻应用程序的负担。通过使用精心设计的组播算法,应用程序的通信性能可以得到很大提高。
IP组播在20世纪80年代末才逐渐提出并成为网络通信研究的热点问题。究其缘由,是因为Internet通信技术及其上的各类应用,如WWW、E-mail等等的蓬勃发展,尤其是那些大规模的协同式分布群体通信模式应用服务的出现,要求Internet底层网络通信设施提供IP组播功能,以加强对群体通信模式的网络服务支持。
2.IP组播技术概述
与传统的分布式系统使用的组播技术相比,Internet上的IP组播无疑要复杂得多。作为要适应许多不同异质网络,实现各种网际互联的IP网络层而言,增加组播功能要考虑许多完全不同于应用在局域网范围内的分布式系统。因而IP组播所提供的功能也和分布式系统有很大的区别。
1991年,Stanford大学的斯蒂芬(Steve Deering)在其论文中定义了IP网络上的组播模型。该模型描述了网络节点如何发送和接收组播报文,概括起来有如下几个要点:
(1)组播的发送和接收采用IP语义风格。
(2)IP组播组是开放的。
(3)IP组播组是动态的。
这个模型同过去的分布式系统中常用的组播协议相比,减少了可靠性、组成员维护等方面的功能。这样,IP组播层实际主要完成IP组播路由和IP报文的传输问题。
IP组播的概念是斯蒂芬在其博士论文中提出IP Multicast Address(组播地址)的构想后出现的,它是对标准IP网络层协议的扩展。斯蒂芬在1989年对IP组播作了如下描述:“将IP数据包传输至‘主机分组’,即通过一个单一IP目标地址标识的0个或多个主机集合。组播数据报以通常点对点传输所采用的‘尽力而为’的方式传送给目标主机分组中的所有成员。一个主机分组的成员通常是动态的,即主机可以在任何时间加入或者离开一个主机分组。对于主机分组的地点或成员数目没有任何限制。一台主机可以同时成为若干主机分组的成员。”此外,对应用层来说,一个单一分组地址有可能在若干应用程序中以不同的端口号、不同socket包含多个数据流。同一主机中多个应用程序可能共享一个单一的分组地址。
1992年7月,Internet Engineering Task Force(IETF)在Internet上建立的支持IP组播的虚拟骨干网络结构称为“MBone”。MBone作为一种高效率的多媒体传播结构,由于其在Internet上网络会议应用方面的适用性,在美国甚至世界各地被广泛地使用。
目前,在美国的Internet2(vBNS&Abilene)上已经全面开通了IP组播路由,基于IP组播的关键技术和新一代应用研究非常活跃。
3.IP组播上的应用
IP组播可以有效地支持大量的应用,尤其适合那些需要某种协同关系的松散耦合的网络分布式应用系统。按照基本的通信模式,可以把IP组播支持的应用分成如下三类:
(1)一对多,即一个发送者向多个接收者发送数据,属于这类应用的有广播视频和音频数据(网络电视),如股票价格的广播等等。
(2)多对一,多个接收向一个数据源返回数据广播各类信息,例如,数据收集类应用、投票类应用等等。这类应用往往先要求每个节点组播其查询请求(一对多),而后等待其他节点向它返回数据。
(3)多对多,形成通信组,其中每个组成员既可以发送数据,也可以接收数据。这类应用主要的特点是参加通信成员的通信模式是双向的,既能向通信组发出数据,也能从通信组接收数据。属于这类应用的范围很广,如多媒体会议、远程教学、分布交互式仿真等。
14.5.2.2 可靠组播协议
IP组播使用UDP协议传输数据,其本身没有提供数据传输的可靠性,这就要求设计实现可靠组播协议来保证许多基于组播应用中数据传输的可靠性。研究高效和可靠的可靠组播机制,完成类似单播服务中TCP的可靠传输功能,成为最近几年来IP组播协议研究中的重要方向。
应当指出的是,对可靠组播协议的研究要比过去对TCP可靠传输机制的研究要困难得多,根本的原因是基于可靠组播协议的应用程序对可靠性的要求差异很大,如果以一个完全满足所有可靠组播应用要求的服务模型,设计可靠组播协议,最终只会导致协议性能根本无法满足应用的要求,特别是不能适用于大规模组播通信的情况。所以在可靠组播研究中,涌现了大量可靠组播协议,每一种协议往往都是针对一个或一类型的可靠组播应用而设计的。
由于可靠组通信协议是与具体应用相关的,按照应用的特点可以分为三类:通用应用协议、数据分发应用协议和多点交互应用协议。
(1)通用应用协议:它们提出较早,并不是为具体的某个特定应用设计的。如RBP、MTP、XTP等等。
(2)数据分发应用协议:Muse、MDP、MFTP等等,是为诸如多点软件更新发布、malinig-list等一对多点数据分发应用设计的。
(3)多点交互应用协议:SRNI、LBRM、TRM等等,是为计算机远程协同工作应用设计的。
下面着重讨论一种适合于电子白板应用的可扩展可靠组播协议SRM(Scalableand Reliable Multicast)。SRM的思想最早由S.Floyd等人于1995年提出,其实现的协议为最初的SRM1.0版本,经过几年的发展已近于成熟,并在1998年提出SRM2.0版本。同SRM1.0版本相比,SRM2.0增加了基于应用层成帧思想的可扩展的命名通告协议(SNAP协议),实现了应用层数据和底层SRM协议报文的灵活的良好映射关系。SRM协议较好地解决了在组播传输中的可靠性和可扩展性问题。该协议是目前较为成熟的可靠组播协议,有许多广泛使用的组播应用都是基于SRM的思想实现的,例如UCL的WBD和UCB的MB。
SRM协议的主要特点是应用层成帧ALF技术、基于接收方的错误恢复技术和层次化的数据命名机制SNAP。
ALF的基本思想是:为了提高协议的性能,将一部分本应由协议完成的功能开放给应用程序进行处理,使得应用程序能够知道或者操纵传输中的报文。具体做法是将数据打包(成帧)的任务在应用层完成,数据在应用层就被分割成应用数据单元(ADU),并保证ADU小于最大传输单元MTU,这样ADU到达网络层时不会被再次分割。并且应用层应该能够接收没有按照发送顺续到达的ADU,而不强求ADU的按续到达,以达到节省时间之目的。ALF的另一个优点是极大地减少了为恢复丢失数据而发送的修复报文的数目。
基于接收方的错误恢复技术是指在SRM中丢失的检测是由接收者负责的。组成员根据定期接收的会晤消息和接收到的所有报文序列号来检测是否有丢失情况的发生。当接收到的报文最大序列号小于会晤消息中的最新序列号,或者报文序列号之间存在间隙,表明已经发生了数据报文的丢失情况。丢失发生时,检测到丢失的每个成员都准备向所有其他成员组播重发请求。而拥有所需报文的每个成员接收到重发请求报文后,都准备向其他所有成员组播所需要的报文。如果让检测到丢失的每个成员都发出重传请求,会出现大量的重复请求,容易引发内爆问题。SRM引入计时器机制来解决这个问题,它让检测到丢失报文的成员先根据该成员到数据源的路径时延设置计时器随机等待一定时间,如果在这个时间里,收到了其他成员发出的相同重发请求,则把自己的计时器后置一段时间。如果收到所需要的报文,就撤销该计时器。如果计时器超时,则组播重发请求。通过计时器机制,SPM使得靠近数据源的丢失数据的成员尽可能最先发出重发请求,并使此请求赶在其他丢失该报文的成员发出重发请求前到达他们,抑制其发出的请求报文。发送恢复数据报文的抑制方法也是采用了类似的计时器机制,抑制网络中重复的请求报文的出现。
层次化的数据命名机制SNAP将数据的命名空间以树的形式表示,树的每个结点称为容器,容器包括内部结点和叶子结点,叶子结点是应用程序数据单元(ADU)。周期发送的会晤消息报文包含了命名空间中结点的信息,接收者可以根据这些信息来检测自己的命名空间,如果检测到丢失,会发送请求报文,请求恢复丢失的命名空间结点(重复的请求和应答使用SRM2.0中类似的计时器机制来抑制)。在该命名机制中,每一个ADU(树的叶子结点)都有一个名字,包括了从根结点到其父结点的所有容器名称,以及在其父亲容器中该ADU的序列号。由于SRM协议和应用程序都知道数据单元和它们名字之间的相互关系,因为能够使用名字为数据定位。例如,应用程序接收到一个数据,可以直接通过它的名字辨别出它处在树的哪层哪个容器中,从而得出该容器可靠性的优先级,而不需要以数据的名称作为参数在调用SRM中的函数时得出其可靠性的设置情况。
14.5.2.3 共享电子白板中的感知技术
感知,在协同系统中是指信息的通告,在电子白板系统中指一个用户的操作能被其他用户了解的能力。由于电子白板要支持多通道输入,不同地域的用户共享虚拟的工作空间,而用户间不能使用对话、手势交流等物理空间的感知手段,但如果用户间缺乏足够的相互感知能力,一个用户的工作就可能被另一个用户忽视甚至破坏,所以要向共享虚拟空间的用户提供一些感知服务。一般共享白板系统中提供的感知服务有:
远程指针:指共享空间其他成员以鼠标为中心的局部信息在本地屏幕上的显示,它用来感知其他成员正在进行的操作和位置。远程指针是一种WYSIWID(What You See Is What I Do)接口,通过该接口,共享工作空间中的用户可了解其他用户的位置、移动。在电子白板系统中,服务器端当前的位置、操作和移动意图等信息通过远程指针反映到客户端的本地视图中,这样在一定程度上克服客户端在白板工作空间因操作的盲目性而引发的视图不一致问题。远程指针反映个人在局部工作视图中的位置和操作情况,是一种单工感知服务。
Radar缩略图:单独提供一个小的视图来显示整个共享工作空间的缩略图,当前工作空间中的所有共享对象和用户信息都缩小显示。缩略图也是一种WYSIWID接口,该接口用来传输工作空间内所有用户的状态信息。用户可了解相互间的同步状态信息和操作意图。可用不同颜色的矩形框来标识不同用户,并将共享工作空间内的所有对象缩小表示,这样共享工作空间内所有用户的位置、状态和操作就可在该缩略图中表现出来。与远程指针相比,缩略图服务增强用户对全局情况的了解,是一种双工感知服务。
14.5.3 数据结构和信息协议格式
对于共享电子白板的图形对象,采用二元句柄组来进行标识不能保证其在全局中的唯一性,因为该标识方法对于不同成员创建的对象是无法区分的。因此,采用三元句柄组来标识,也即除了上述PID和OID之外,加入创建成员的标识UID,UID为成员在共享白板空间中的唯一标识号,由此则可以完成我们对图形对象的管理。
在共享电子白板系统中,图形对象的管理由所有成员共同维护,而服务器端既接收用户操作数据请求,又向其他用户进行广播操作命令和数据,各种命令的数据段长度变化较大,为方便起见,必须约定一定的信息协议格式,将各种命令进行一定的编码,形成统一的二进制流。这样的好处在于应用层的命令格式独立于传输层,使得系统的实现具有较好的模块性,传输层仅关心各种命令的接收和发送的数据流长度,而不关心传输什么内容,各种命令的解析由表示层来完成。在电子白板应用层中的各种命令,表示层进行一定的编码,每个命令都有一个命令标识号,后面紧接着为该命令协议的数据内容,该协议数据流的内容由具体的协议命令来定。在传输层,每个命令进一步打包后,形成如图14-6所示的形式,其中保留字节为扩展系统的功能预留,如对各种数据的加密等。
图14-6 信息协议格式
就命令的类型而言,主要可分为3类:电子白板客户端向服务器发出的请求码、白板服务器向客户端发出的应答码、白板服务器向客户端发出的指示码。白板客户端向服务器发出主要的请求码见表14-1。
表14-1 客户端向服务器发出主要的请求码
服务器向客户端发出的响应码如表14-2所示,而客户端的白板空间图形绘制及编辑操作的请求命令码如表14-3所示。
表14-2 服务器向客户端发出的响应码
表14-3 客户端的白板空间的图形绘制及编辑操作的请求命令码
服务器向白板客户端发出的指示码如表14-4所示。
表14-4 服务器向白板客户端的指示码
总的来说,共享电子白板是电子白板系统发展的必然趋势,也是当前电子白板软件系统研究的关键,要成功实现电子白板的网络共享功能,还有很多技术需要研究,比如白板一致性研究,这个一致性包括共享白板的显示与用户绘图动作的一致性,以及所有用户白板显示的一致性;网络通信阻塞研究以及网络功能和协议的扩展等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。