除了学术界对P2P流媒体直播的研究外,中国还涌现了很多成功的P2P流媒体直播商业产品,如PPLive、PPStream、沸点和TVAnts等,其中以PPLive最为有名。PPLive目前拥有数百个频道,在2006年“超级女声”决赛期间,频道观看人数达到十万人,可以说是把P2P发挥到了极限。此外,国外也有不少对P2P流媒体直播的研究,如SplitStream[10]等。
(4)流媒体点播
由于观看直播节目时用户不能选择观看指定片段,所以在人们热烈研究P2P流媒体直播时,已有人开始将目光转向P2P流媒体点播服务。目前成功推出P2P流媒体点播的机构还不多,典型的有GridCast[11]系统、PPStream点播系统。GridCast也是一款由华中科技大学集群与网格计算湖北省重点实验室于2005年12月份成功研发并投入使用的对等视频点播系统,具有支持多人共享点播片段、跟踪(Tracker)服务器用户引导、环状结构内容组织等特点。由于一个点播频道的人数往往不会太多,所以在用户进行视频录放(VCR)操作时(即前后拖动播放点、暂停/继续播放等操作),能否快速将用户定位到观看该点节目的其他用户处就成了P2P点播技术的关键。为了实现快速定位,GridCast中采取了一种同心圆环的媒体内容组织结构。在每一个节目频道里,媒体内容按指数递增的区间进行划分,例如一个一个半小时的电影节目,可划分成[0, 5]、(5, 15]、(15, 35]、(35, 75]和(75, END=90]几段,其单位为分钟。每个节点记录几个正在观看各个段之间内容的节点。这样,在和AnySee类似的网状结构中,可以定期交换这种分段记录,从而,在某个用户拖动观看点时,可以快速定位到相应段的记录节点处,并从这些节点当时所观看的区间内得到大量备用记录以请求该区间媒体数据。此外,GridCast还根据用户习惯对数据调度策略进行优化。
(5)IP层语音通信
IP层语音通信(VoIP)是一种全新的网络电话通信业务,它和传统的PSTN电话业务相比有着扩展性好、部署方便、价格低廉等明显的优点。在全球范围内的VoIP应用中,由于通信各方可能处于不同的网络状况下,所以采取少数几个服务器来进行话音包中转不仅存在压力过大的问题,还可能无法为指定通信双方提供满意的通话质量保证。所以采取P2P技术动态自适应地根据通信双方网络进行链路控制与消息转发是可行的解决方案。
目前风靡全球的Skype[12]即是一款典型的P2P VoIP软件。Skype由于能够提供清晰的语音质量和免费的服务,使用起来又方便快捷,所以吸引了全球数千万的用户,每天在线用户达500万人,并且注册用户数每天增加15万。基本上,Skype采取类似KaZaA的拓扑结构,在网络中选取一些超级节点。在通信双方直连效果不好时,一些合适的超级节点则担当起其中转节点的角色,为通信双方创建中转连接,并转发相应的语音通信包。
(6)网络游戏平台
大型网络在线游戏和网络对战游戏是不少“网虫”的至爱。但由于服务器能力有限,大型网络在线游戏往往需要限制场景人数或者不断增加服务器,而网络对战游戏也必须局限在局域网内进行或者依赖独立的服务器端程序及机器实现Internet上的电子竞技。目前,已有研究人员将P2P技术引入网络游戏和网络游戏支撑平台中。
目前较为成功的P2P游戏平台是华中科技大学集群与网格计算湖北省重点实验室推出的PKTown[13]系统。PKTown系统是一个支持多种网络对战游戏的P2P平台。P2P网络对战游戏平台的难点在于将严格延时约束的节点聚集在一起,这由对战游戏本身要求所决定:延时是影响对战游戏用户体验的关键因素。在众多在线用户中,如何将新加入用户调度到周围都是延时邻近的环境中去呢?PKTown也是采取GridCast中出现过的指数增长的同心圆环方式,很好地解决了这个问题。
PKTown不需要改变游戏本身的代码,而是将用户和Internet邻居组建成一个虚拟局域网,将游戏发出的通信包截获后负载上虚拟局域网的地址,转发出去,游戏进程接收到之后认为是来自同一局域网的游戏包,则可以正常进行游戏。目前PKTown支持魔兽争霸、星际争霸和反恐精英几款游戏,已经在高校范围内进行公测,并成功举办华中科技大学第三届Race War游戏大赛,用户反应良好。 3 结束语
自P2P技术从1999年出现之后,现在已经发展繁荣起来。前文中提到的很多技术都已经趋近成熟,如拓扑构建和内容分发等相关技术。由于P2P架构灵活,适用面广阔,所以将P2P应用到新领域的现象层出不穷,P2P的软件产品也如雨后春笋一般爆炸性增长。
通过本文的描述可以看出,P2P蹬基本原理是容易实现的,人们的研究方向也由基础架构的构建和维护及优化算法等桎梏中摆脱出来,开始深入到P2P技术的根本性问题中去。最新的研究成果表明,不少研究人员已经开始将重心转入到覆盖层网络的节点延时聚集研究、覆盖网之间(Inter-Overlay)优化研究、P2P支撑平台研究以及P2P安全方面的研究等方面。相信随着对P2P技术研究的不断深入,人们能够对P2P计算有一个更深入的认识并解决目前P2P领域中大部分科学问题。可以预见,P2P所带来的技术创新和应用创新还将继续。 4 参考文献
[1] STOICA I, MORRIS R, KARGER D, et al. Chord: a scalable peer-to-peer lookup service for Internet applications [C]// Proceedings of the International Conference of the Special Interest Group on Data Communication (SIGCOMM'01), Aug 27-31,2001, San Diego, CA, USA. New York, NY, USA: ACM Press, 2001:149-160.
[2] HEFEEDA M, HABIB A, BOTEV B, et al. PROMISE: Peer-to-peer media streaming using CollectCast [C]// Proceedings of the 11th ACM International Conference on Multimedia, Nov 2-8, Berkeley, CA, USA. New York, NY, USA:ACM Press, 2003:45-54.
[3] BANERJEE S, BHATTACHARJEE B, KOMMAREDDY C. Scalable application layer multicast [C]// Proceedings of the International Conference of the Special Interest Group on Data Communication (SIGCOMM'02), Aug 19-23,2002, Pittsburgh, PA, USA. New York, NY,USA: ACM Press,2002, 205-217.
[4] TRAN D A, HUA K A, DO T T. ZIGZAG: An efficient peer-to-peer scheme for media streaming [C]// Proceedings of the 21st Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '03): Vol 2, Mar 30-Apr 3,2003, San Francisco, CA, USA. New York, NY, USA:IEEE, 2003:1283-1292.
[5] ZHANG Xinyan, LIU Jiangchuan, LI Bo, et al. CoolStreaming/DONet: a data-driven overlay network for peer-to-peer live media streaming [C]//Proceedings of 24th Annual Joint Conference of the IEEE Computer and Communications Societies: Vol 3, Mar 13-17, Miami, FL, USA. Piscataway, NJ,USA:IEEE,2005: 2102-2111.
[6] LEIBOWITZ N, RIPEANU M, WIERZBICKI A. Deconstructing the Kazaa network [C]// Proceedings of 3rd IEEE Workshop on Internet Applications (WIAPP’03), Jun 23-24, 2003, Santa Clara, CA,USA. Piscataway, NJ, USA:IEEE,2003:112-120.
[7] POUWELSE J A, GARBACKI P, EPEMA D H J, et al. The bit torrent P2P file-sharing system: measurements and analysis [C]//Proceedings of the 4th International Workshop on Peer-to-Peer Systems, Feb 24-25, 2005, Ithaca, NY, USA. Berlin, Germany: Springer-Verlag, 2005: 205-216.
[8] RIPEANU M. Peer-to-Peer architecture case study: Gnutella network [C]//Proceedings of Peer-to-Peer Computing, Aug 27-29,2001, Skyways, Sweden. Los Alamitos, CA, USA: IEEE Computer Society, 2001:99-101.
[9] LIAO Xiaofei, JIN Hai, LIU Yunhao, et al. AnySee: peer-to-peer living streaming [C]//Proceedings of 25th IEEE International Conference on Computer Communications (Infocom’06), Apr 23-29, 2006, Barcelona, Spain. Piscataway, NJ, USA: IEEE, 2006: 1-10.
[10] CASTRO M, DRUSCHEL P, Kermarrec a m, et al. SplitStream: High-bandwidth multicast in cooperative environments [C]// Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, Oct 19 - 22, 2003, Bolton Landing, NY, USA .New York, NY, USA:ACM Press,2003:298-313.
[11] CJENG B, LIU X, ZHANG Z, et al. A measurement study of a peer-to-peer video-on-demand system [C]//Proceedings of 6th International Workshop on Peer-to-Peer Systems (IPTPS'07), Feb 26-27,2007,Bellevue,WA, USA. 2007.
[12] BASET S A, Schulzrinne h G. An analysis of the Skype peer-to-peer Internet telephony Protocol [C]//Proceedings of 25th IEEE International Conference on Computer Communications, Apr 23-29, 2006,Barcelona, Spain. Piscataway, NJ,USA: IEEE ,2006:1-11.
[13] JIN H, YAO H, LIAO X, et al. PKTown: A peer-to-peer middleware to support multiplayer online games [C]//Proceedings of International Conference on Multimedia and Ubiquitous Engineering, Apr 26-28, 2007,Seoul, Korea. 2007: 54-59.