四、TH-SECSCW中的多媒体通信
  在CSCW应用程序支撑环境TH-SECSCW中可以构造各种类型的CSCW应用程序,随着这些应用程序所支持协作的应用领域的不同,它们需要处理的信息媒体的形式也不相同,这些信息对传输的要求也不同,支撑环境要统一处理所有应用程序的通信请求。环境中对通信的处理包括三个方面:
  首先,由于各应用程序在支持群体协作时所起的作用间有着联系,它们之间必然存在着一定的关系,因此这些应用程序在各节点中的运行部件间的信息通信也应该保持一定的关系,环境中的通信处理必须维护这种关系。
  其次,根据所传输的信息类型不同,它对传输的要求也不一样,也就是对通信的服务质量(QoS)的要求不一样,环境中的通信处理应该根据不同的要求提供相应的通信服务。
  最后,各节点中所需传输的信息都必须以数据包的形式送到具体的网络上,为了提高数据包的传输效率,以满足以其为基础的面向程序的通信需求,应该根据具体网络的特征进行合理的数据包传送管理。
  1.多媒体通信处理策略
  在支撑环境TH-SECSCW中我们采用一种分层的方式对各种应用程序的信息通信进行统一的处理(如图8.44所示)。有关系的各应用程序部件间的一次完整的交互为一次会话,在会话期间所进行的所有信息通信都应该保持同步等关系。这些关系的维护是通过逻辑会话(Virtual Session)机制进行的。逻辑会话是控制信息在各应用程序部件间的流向及维护各信息间关系的逻辑机制。一次完整的会话一般由多种媒体信息的交换组成,而根据这些信息的不同形式,它们对通信的要求也不一样。我们将一种媒体信息的一次传输用逻辑通道(Virtual Channel)进行管理。
   8.44 多媒体通信处理策略
  
  逻辑通道为动态概念,它是为了传输单媒体信息而建立的控制机制。一个逻辑通道只控制一次相对独立而完整的单媒体传输,如传输一段完整的视频,传送一个文件等等。在逻辑会话提出单媒体传输请求时,支撑环境自动为该媒体的传输建立一个逻辑通道,此逻辑通道在传输结束时自动拆除。在逻辑会话提交媒体信息的同时还要提供一组服务质量参数以及逻辑会话参数,逻辑通道就根据这些参数控制信息的发送。一次完整的会话一般由多种媒体信息的交换组成,因此一个逻辑会话与多个逻辑通道相关,然而逻辑会话并不是逻辑通道的简单合并,它要维护各种信息通信的面向应用的关系。
  根据环境中的多个CSCW应用程序的需要,环境中一般会同时传输多路要求不同的媒体信息,因此环境中往往同时存在多个逻辑通道,为了合理地利用系统资源,尽量满足各应用程序的不同要求,需要对这些通道中的数据传输进行调度。逻辑通道传输调度是根据各通道对传输质量的要求进行的,在系统中这些要求表现为一组服务质量(QoS)参数。调度策略根据这些参数,分先后对各通道的数据进行打包传输。由于对某个节点而言,通信的关键是在信息的发送上,即如何采取有效的措施将信息按要求成功的发送出去。因此调度策略着重解决如何根据QoS参数对各逻辑通道中的数据进行发送。
  通过逻辑通道传输调度形成的数据包要经过网络传输调度管理才能发向实际的网络。网络传输管理层直接与具体的网络打交道,根据具体网络的特点控制网络上数据的传输,向上层提供适合多媒体信息通信的抽象的数据包传输。具体地在支撑环境TH-SECSCW中我们是根据符合IEE802.3规范的以太网特点进行数据包的传输管理的。
  2.以太网上的多媒体数据传输策略
  数据要在网络上各节点间进行传输必须要直接与具体的网络打交道,数据在网上的直接传输是各种多媒体通信处理策略的基础。以太网的媒体访问控制策略为带冲突检测的载波监听多路访问,这种机制不适合多媒体信息的传输,为了解决这一问题,我们采取了基于动态优先级的令牌传递策略来控制网上各节点中数据包向网上发送。
  (1) 多媒体数据传输要求
  在介绍令牌传递策略之前,我们先来看看多媒体数据的特点、它们对传输的需求以及以太网的特点与不足。总的来说,多媒体信息的特点及其对网络的要求为:
  ·数据量大:网络应提供足够的可用带宽
  数据量大是多媒体信息的显著特点。大量的数据传输需要网络提供足够的可用带宽。对带宽及带宽分配的要求主要影响网络体系统结构中的PHY层、DL层和N层。
  ·与时间相关,时延敏感,连续;网络应提供同步传输服务
  视频、音频是活动的,与时间相关,要求连续。这一方面要求网络的传输速率要足够高(延时小),抖动足够小,更重要的是要求网络能够提供同步传输服务,能按要求控制带宽的分配,保证在任何情况下都能定时进行数据传输。
  ·各媒体性质不同,传输要求不同;网络应提供优先级机制
  文本对传输的实时性要求不高,而音频则不然。这要求网络能够提供优先级控制机制,使得在资源不够而发生冲突时,可根据不同要求,分先后进行传送,或进行适当的丢弃。
  ·允许传输错误及数据丢失;网络可降低可靠性控制
  图像、视频等媒体不要求精确,允许部分传输错误和数据丢失。故网络可降低可靠性要求,适当少发应答帧,为传输节省带宽。
  ·各媒体须有机结合;网络应能提供时空同步控制
  多媒体信息的时空同步伴随着多媒体技术发展的始终,信息的实时传输要求网络能够提供同步控制机制,包括单媒体传输的流量控制,以及各媒体信息流的传输信道间的时间关系。
  (2) 以太网的特点与不足
  以太网结构为总线型,在公共介质上传输所有信息。它采用的媒体访问方式为IEEE802.3的CSMA/CD。在这种访问控制下任何站点不存在预知的或由调度安排的传输时间,每站点的发送都是随机发生的,并且属于争用性质,不存在任何控制来确定该轮到谁。这不适合连续媒体的传输。具体的局限性表现为:
  ·系统性能无法预料
  检测到碰撞、退避后再发的媒体访问方式使网络性能无法预料,如果碰撞少,网络的带宽利用率就高。如果网上多个站点都重负荷地传输数据,碰撞会频繁发生,这时虽然采用截短二进制指数退避规则,效果也不会太好。实际网络带宽的利用率很低,并随网络负荷的增大而下降,使网络性能无法预料。
  ·无法控制带宽的分配
  平等竞争的媒体访问无法进行带宽的分配,网上的站点都随机独立的进行着竞争,谁得到机会,谁就成功地发送一个数据包,但该包发送完毕,一切又重新开始,继续竞争。这就无法为某个站点或某个应用分配相应的带宽,以满足其传输的需要。
  ·数据传输时间无法确定
  平等竞争中实际传输的时刻无法预知,并且碰撞发生后退避的时间也是随机的,因此数据成功传输的时间无法控制,也无法确定。这不利于延时敏感的实时多媒体信息的传输。
  ·同一站点无法保证连续发送数据
  在网上传输的数据包的大小有一定的限制,因此大块数据的传输只能分成多个小包进行,而发送竞争的单位为数据包,这样在一个数据包成功发送之后,无法预料下一个数据包何时会成功发送,这对于大段的连续媒体信息来说就很难保证连续。
  ·所有传输的数据一律平等
  网络上传输的数据不分类型和先后次序,这不适合多媒体信息对传输的不同要求。
  (3) 基于动态优先级的令牌传送方案
  以太网络不利于传输多媒体信息并不完全在于可用带宽不足,而在于它所用的碰撞检测,平等竞争的CSMA/CD媒体访问机制,虽然目前常用以太网的带宽一般在10Mbps左右,然而100Mbps的以太网已经出现,而CSMA/CD的运用,使得网络的性能随着负载的加重而降低,并且其本身无法控制带宽的分配,无法提供同步传输服务,无法提供优先级控制机制等,而这些都是传输多媒体信息所必需的。为了在以太网上有效地传输多媒体信息,必须在高层协议中采取一定的策略以避开CSMA/CD的缺点。
   8.45 以太网结构
  
  以太网定义了网络七层协议中最低两层:PHY层和DL层规范,CSMA/CD是DL层中较低的媒体访问控制(MAC)子层协议。它们在网络体系结构中所处的位置较低,其传输性能与高层的传输请求密切相关,故可以在高层控制数据传输请求以提高性能,如图8.45所示。
  考虑到N层的主要功能是路径选择,它负责单个数据包的端到端的传输,而T层是面向应用的最低层,我们可以在T层采取一定的策略,控制数据的发送,使得在每一时刻,整个网络上只有一个站点发送数据,这样就可以避免冲突的发生,使得发送到网络上的数据都可以及时成功地发送出去。只要发送时间可以保证,带宽的分配和同步服务就能够进行。
  基于动态优先级调度的令牌传输策略是在网上所有站点的T层共同维护一个特殊的令牌数据包,只有得到令牌的站点才有权发送数据。令牌在网上各站点间传递,网上各站点按令牌的传递顺序形成一个逻辑环,如图8.46所示。站点中数据的发送根据动态改变的优先级进行调度。
  这里的逻辑环与IEEE802.4相似,对IEEE802.4而言,困难的是逻辑环的建立、站点的加入和退出处理等操作,在此策略中,有关逻辑环本身的维护可借助以太网的广播方式方便地进行,逻辑环维护数据包不受令牌的控制,它直接通过广播方式发送和接收。这样此策略结合了IEEE802.3和IEEE802.4的优点而避免了两者的不足,可有效地在以太网上传输多媒体信息。
   8.46 令牌传递逻辑环
  
  具体的,在支撑环境TH-SECSCW中令牌的维护是在各节点的NetIPX.DLL中进行的。NetIPX.DLL利用处于网络层的协议IPX进行具体数据包的传输,它本身完成一些传输层的功能,管理数据在以太网上的发送。
  l 数据包传输控制
  为了有效地控制站点数据包的传输,令牌中包含整个网络的信息,其格式如图8.47所示。
  ID:令牌标识;
  DSAP:目标服务访问点(源地址);
  SSAP:源服务访问点(源地址);
  LRS:逻辑环规模,上网的节点数;
  PNC:已经过节点计数器,以某节点为起点,记录令牌在一周的环绕中已经过的节点数;
  TTRT:目标令牌环绕时间,令牌环绕期望时间;
  TRT:在一周中令牌已环绕的时间;
  TT:发送令牌的时间。
  每节点中需维护以下变量:
  Next:逻辑环中该节点的后继节点的地址;
  Prior:逻辑环中该节点的前一节点地址;
  ST:发送时间,收到令牌后开始计时,记录节点发送数据已用时间;
  BA:分配的带宽,在令牌环绕一周中分配给该节点的发送时间。
  令牌传送策略如下:
  (1) 在没有令牌时,站点只接收数据,并对要发送的数据进行准备;
  (2) 得到令牌,置ST=0,并开始计时,平均分配带宽:
  (3) 按动态优先级策略发送数据包;
  (4) 如果ST≥BA,或者数据发送完毕,则停止发送;
  (5) 置PNC = (PNC+I)mod LRS,如果PNC = 0,则置 TRT = 0,否则置TRT = TRT + ST + TT;
  (6) 设置令牌各域,将其传给逻辑环中的后继节点。
   8.47 TOKEN数据包
  
  这里只考虑了最简单的平均带宽分配,复杂的分配也可以进行,不过各站点实际占用的带宽要满足。逻辑环的起点可为第一个上网的节点,令牌的初始值由起点设置,随着节点的加入和退出,及起始节点的改变,该值要相应地变化。
  通过在网上各站点的T层共同维护一个控制该站点发送数据的Token包,使得每一时刻网上只有一个站点发送数据,这不仅避免了碰撞的发生,充分利用了网络的传输能力,而且使信息包的传输时间可以预知,使得在以太网上传输多种不同要求的媒体信息以及维护各媒体间的同步成为可能。
  ·数据包优先级管理
  在此策略中各节点内数据包的传输基于动态优先级进行调度,等待传输的数据包根据媒体类型以及对传输时刻的要求分为不同的优先级,高优先级的数据先发送。此优先级随着时间的推移动态地提高,以使等待时间较长的低优先级数据包也有机会被发送。此策略位于传输层,它要将上层传来的数据打包,然后对这些数据包进行动态优先级调度,传给下层。
由于以太网MAC PDU中LLC-PDU域的最大长度为1500Bs,这样为了用一个MAC帧传送一个传输层数据包,以便于数据包的传输控制,要将上层来的数据分成长度为L=1500-4-L(NH)-L(TH)的数据包,其中4字节为LLC-PDU的头长,L(NH)为网络层数据包头长,L(TH)为传输数据包头长。
  数据包的优先级分为两部分:Pd = C+V,其中C为固定部分,由数据类型及对发送的要求决定,音频和视频数据包的C较高,V为变动部分,由等待时间决定,等待时间越长,V越高。在动态优先级的调度中数据包的缓冲区组织为三维链表,第一维为动态优先级的循环链表,其单元用BP表示,最高优先级指针HP所指缓冲区队列优先级最高,HP后继缓冲区队列优先级依次递减;第二维为动态优先级相同但固定优先级不同的的缓冲区队列表,其单元用BC表示,BC在表中的顺序按优先级从高到低排列。第三维为数据包缓冲队列,存放着有待发送的数据包,其单元用Buf表示,Buf在表中顺序反映了数据包提交的先后。每个缓冲区包含一个数据包。优先级的动态改变表现为HP的向后移动,其调度策略如下:
  (1) 如果缓冲区满,则拒绝接受上层来的数据;
  (2) 将上层带有固定优先级c的数据打成长度为L的数据包,并将其放入Pd = c,C = c的缓冲区的末尾;
  (3) 得到令牌后,在HP所指缓冲区中,按C的高低顺序发送数据包;
  (4) 根据可靠机制删除已发送的数据包,当HP所指缓冲区队列中无数据包时,HP向后移动。
  单个站点中数据的发送完全由其优先级决定,这样应用程序只要根据各种媒体信息对服务质量(QoS)的不同要求适当地设置其优先级,通过动态优先级调度策略,就可以有效地对其进行传输。
  ·可靠机制
  此策略的可靠机制表现在对数据包的重传控制上。一些非结构化的信息对可靠性要求不高,我们将数据包分为两类:可靠传输数据包(RP)和一般数据包(NP)。其可靠机制如下:
  (1) 持有令牌的站点发送数据包P,如果p ∈NP,则P发送结束后,将其从缓冲区队列中删除,如果p ∈RP,在p发送结束后还保留在缓冲区中。
  (2) 接收站点收到数据包p时,如果p ∈NP,则仅将p处理后交给上层,如果p ∈RP,则将其交给上层后,还要构造应答包,若有可能可将多个应答包合并,并将其固定优先级设为最高,放在缓冲区的最前面,这样在此站点获得令牌时将首先发送应答包。
  (3) 接收站点收到应答包后,就将原发送的数据包从缓冲区中删除。
  (4) 若发送站点在下次获得令牌时还没有收到应答包,则表明该包已丢失,这时由于调度缓冲中还保留着该数据包,并且经过动态优先级的调度,已具有很高的动态优先级,故只需按正常的调度重发。
  系统中对传送时间要求较高的媒体信息(如视频、音频等)往往对可靠性要求不高,这样可将其数据包作为一般数据包,发送站点将这类数据包发送后马上将其从缓冲区中删除,不必等待,可节省时间。而对于文件等对可靠性要求较高的精确数据,一般对传输时间要求不高,这样可以通过超时重传机制保证可靠性。