介绍
现在的分布式系统大有越来越往分布式多媒体系统的应用上走的趋势了。多媒体的应用本质上是对于持续数据流的一种消耗。包括音频以及视频,音频是由一个个audio Sample组成,而视频则是video frame组成。有时因为网络条件的原因,他是可以允许部分的延时的,延时造成的丢包率在一定比率上也是可以接受的。在多媒体应用中,很在意的quality of service服务质量的要求,因此他这里需要Qos Manager的角色。
1、分布式多媒体的应用往往是要求是实时的,这就要求系统对于QoS的控制要做的比较好。
2、在多媒体的应用中往往会有下面的事情发生,(1)、多媒体应用系统往往是高度的分布式的,机子位于不同的地域内的。(2)、多媒体应用对于资源的要求是动态变化的。(3)、用户要平衡多媒体应用的开销和其他活动之间的开销平衡。
3、为了解决2中出现的一些问题,就出现了Qos management system服务质量管理系统,他的作用就是能够保证应用能够在一定的时间满足特定的要求。
4、高交换性的应用还会有更多的要求:(1)、低延时通信。(2)、多媒体的同步,人家点击暂停,你这儿也应该显示暂停的画面。(3)、额外的同步,比如说共享文件的更新同步。
多媒体数据的特征
多媒体数据的特征用2个词语概况就是持续性的和基于时间性的。持续性你可以理解为当前现在播放的数据待会会被后面的数据所取代,而基于时间的特性指的是每个数据都有他自己指定的时间去播放,每个数据的顺序有前有后。
服务质量管理
当多媒体运用运行在远端的用户的PC上时,他们要与传统的应用一起竞争用户电脑上的资源。当网络超过负载时,冲突就会发生了。Qos manager的作用主要体现在2个方面:
Qos negotiation 和admission control。
Qos negotiation
服务质量关系的协调的只要思想是根据请求的信息与当前保存在数据库中的系统资源信息比较,判断能够满足请求要求,然后做出回应,请求信息的一些参数为:带宽,延时,丢包率。协调的过程是,向每个拥有Qos manager的server node上进行逐个请求,直到符合得到正面的回复为止。
Admission control
Adminssion control的意思是准许进入的控制。他的作用是防止资源的重新被访问。因为这些资源是已经被预约的资源了,也就是说是已经被分配出去的资源了。
资源管理
资源的管理也是为了在某一层级的水平上提高Qos。
Resources scheduling
说到资源的管理当然不得不说资源的调度算法了。下面会提及几个多媒体的调度算法。
Fair Scheduling
类似于队列式的先进先出的调度规则,当数据流为同个资源竞争的时候,可以判断哪个数据包的抵达时间的先后顺序来判断。
Real-time scheduling
实时调度算法一般用在更加动态变化的场景之下,比如CPU资源的变化不定的情况。
Earliest deadline first Scheduling
EDF算法根据任务的截止日期的先后顺序进行调度,哪个截止日期最早,最紧迫,就让那个任务先运行。
Rate monotonic Scheduling
上面的按照deadline的算法还是略显草率的,个人感觉,而RM算法比的是哪个任务的执行速度更快,让哪个先运行,这可以让整体的运作效率得到提高。
流适配
当以上的措施都施加完毕之后,或许我们还是不能保证Qos的保证,这个时候可以想办法在数据流上做一些适应操作了。当网络状况不佳的时候,数据流上还传输那么多的信息当然是不行 的啊,所以这是你可以选择裁掉部分的信息,在不影响整体的情况下,具体怎么做改变呢,继续看。
1、在视频数据传输的时候,在单位的时间内减少一定的帧数。
2、在视频帧数据的图片中减少一定的像素。
3、对于传输的图片修改其压缩算法,用一定质量的损耗换取传输速度的提升。
4、在每个图像像素点少减少颜色的深度。
以上的这些操作最好是在从源资源到目的资源的路径中处理,而不是都统一在源资源发送处,初始资源是统一的,因为目标环境的不同而做出改变。
学习例子:Tiger,BitTorrent ,End System Multicast
小标题列出3个多媒体应用系统的例子。
参考文献:<<Distributed Sysytems Concepts And Design>>原版第五版,author:George Coulouris,Jean Dollimore, Tim Kindberg,Gordon Blair