1.A Synthetic Traffic Model for Quake3 (Tanja Lang, Philip Branch, Grenville Armitage)
2007-6-9
该文讲述了用ns2对第一视角射击游戏quake3的网络流量建模。它用的数据来源于一个很强悍的软件PKthisto,这个软件运行在做quake3服务器的主机上,能对每个网络流的报文长度、报文间隔、每秒报文数、速率进行记录,并生成柱状图。然后作者针对已有的数据用一些数学模型进行近似,并依照这些模型,基于ns2实现了一些流量产生器,用仿真后得到的曲线图,证明自己模型的有效性。
有很多对游戏的网络流量建模的文章,针对cs和quake的就有好几篇,其中还有被高级会议sigcomm收录的。
我如果想在p2p流媒体领域作类似的研究,就要有一些数据才行,不知道师弟那里有没有作p2p直播时纪录的数据。
2.一种P2P点播系统中的数据调度策略(王福臣 金海 程斌 廖小飞)
2007-6-9
该文发表在2006年9月的华中科大学报上。有名的p2p直播软件PPLive就是华中科大的廖小飞领头做的,而廖的导师就是金海。金海来我们学校做过报告,我见过。他获得了很多荣誉,有很多头衔,但人很年轻,应该不到40岁,看起来只有30多岁。他能讲一口流利的英语,经常出国。他也是个很时尚的人,穿着名牌,挂着项链,戴着戒指,口里也经常蹦出些很时髦的词。
还是说文章吧。文中的p2p点播系统叫做gridCast,也是有Tracker server的。虽然,unstructured和structured p2p才是真正的p2p,但它们都有不适合做视频服务的地方,unstructured服务器使用泛洪式的数据查询,并不能保证一定能返回需要的数据,而且泛洪式查询浪费了很多网络流量,对于把网络带宽看得很珍贵的视频服务来说这自然是不合适的。structured p2p虽然能实现数据的精确定位,但要自己搭建一个structured p2p需要很多时间,而且structured p2p使用应用层的路由,获取数据的延迟实际上比unstructured p2p还要大,因此,structured p2p也不适合于视频服务。所以,我们看到的p2p点播原型系统都是有中央索引服务器的,虽然说,索引服务器限制了系统的可扩展性,但实际上服务成千上万个节点还是不成问题的。
文中讲数据调度其实还是多源协同的问题,这两年研究多源的文章比较多,多源也确实有它的意义。很明显的,一个peer的上行带宽常常不能满足视频的码率要求,用多个peer同时提供数据,既可以解决这个问题,又可以提高服务的可靠性。多源协同的研究文献中,有基于层编码的,有基于多描述编码的,但做实际系统的还是用普通编码并基于文件块进行调度。这是因为层编码和多描述编码在把节目放到媒体服务器上之前,先要花很多时间进行特殊编码,对于海量的视频数据来说,工作量是令人望而却步的。
文中提出了一个自适应的调度策略,其实很简单:最初,接收端先把一个周期需要的报文平均分配给每个peer,在以后的周期里,按照每个peer表现增加或减少对每个peer的报文需求。对于不能按时返回的报文,就向媒体服务器索取。对于这个策略的算法是:对于一个未分配数据,得到拥有它的peer集合,从中选取剩余服务能力最大者,分配之。很直观的想法,以前我也想过,但因为简单先自我否定了,看来写出来才是王道。
文章最后在有几十台主机的局域网中进行了测试,得到的结果比较简单,不足以说明算法的有效性,也没和别的算法进行比较。另外在局域网中测得的性能并不能代表在互联网中的性能。
3.P2P分层流媒体中数据分配算法 (刘亚杰, 张鹤颖, 窦文华, 陈俊峰) 2007-6-9
该文发表在2006年2月的软件学报上。作者算是比较熟的人,现在已经毕业留校了。在他毕业之前,导师每次让我们讨论都会叫上他。还有那个张鹤颖,是我们院多年来唯一中过sigcomm的牛人。他们都是窦老师的高徒,窦老师为人正直,治学严谨,我一直心存敬慕。
这篇文章也是就多对一传输模式下的数据指派问题进行了研究。和pals的那篇文章一样,他也是针对层编码,不同的是pals中是针对报文进行调度,而这篇文章是针对数据层的调度。用作者的话说,一个是细粒度调度,一个是粗粒度调度。
文中分两种情形研究了数据分配的问题,一种是服务器不参与,另一种是服务器参与。对于前者,目标是尽可能使最多的数据层得到分配;对于后者,目标是在满足请求的前提下,使服务器资源占用最少。
对于服务器不参与的情形,作者提出了两种算法,第一个算法中,作者首先构造了一棵树,然后对这棵树进行搜索剪枝,最终得到分配最多数据层的一条路径。然后作者证明这个算法能得到最优解,但是复杂度太高,于是提出了第二个算法,启发式的近似算法:首先把所有层按层号从低到高排列,对于每层,先选出一个能服务它的集合,在从这个集合中选中上行带宽最小的,如果有多个,再从中选出缓存层数最少的。如果还有多个呢?作者就没说了,还有,为什么他是先选带宽最小的,再选层数最少的?而不是反过来呢。
对于服务器参与的情形,算法是这样的:把所有层按照码率从大到小排列,对于每层,先试着分配给那些peer,如果没有满足条件的,就分配给服务器。唉,这些算法,经俺一说,咋都这么简单呢?计算机果然是笨人就能胜任的东西。
综观全文,作者用了很多形式化描述,把两种情形都归越到了np难问题。这些做法很对软件学报的胃口。发现中国人总是喜欢往np上面靠,读英文文章时,一看np完全或者np难,翻到前面一看作者,十有八九都有中国人在里面。总的来说,这篇文章给人的感觉还是不错的。
4.一种P2P环境下的VoD流媒体服务体系 (刘亚杰, 窦文华)
2007-6-9
该文发表在2006年4月的软件学报上。作者提出了一个基于组播树的p2p vod系统,以前应用层组播树多用于直播,现在作者给每个节点增加了固定长度的fifo来缓存能播放单位时间的数据块,从而可以支持点播。infocom2007上的一篇关于p2p vod的文章提出了swarming(应该译为蜂群吧)的层叠网结构,这个应该和mesh差不多吧。通俗地讲,即不是树状的,而是网状的。近来研究mesh结构的p2p vod比较多了,看来组播树的结构要过时了。
回头来看作者的文章,既然要维护树的结构,节点的加入离开都比较麻烦。作者描述了节点加入、离开、失效的算法和控制协议,描述的很清楚,虽然知道没有现实的系统,也让人感觉按照这个来做系统是可行的。
最后,作者用实验说明了这个PeerVod系统在服务器负载、网络资源利用率等方面的优势。和《P2P分层流媒体中数据分配算法》文中一样,作者用gt-itm生成了同样的网络拓扑,由此,我推断作者很有可能也是用ns2进行仿真。同那篇文章一样,文中有形式化描述,定义和公式,软件学报就喜欢这样的文章。不过,也要作者的理论水平高才行啊。