中国移动互联网云计算与P2P技术研究报告.doc
中国通信标准化协会课题编号: 互联网云计算与P2P技术研究报告(征求意见稿)(题目建议用云计算)完成单位:中国移动工业和信息化部电信研究院中国电信2009年 9 月 研究报告要点本报告讨论了云计算中的主要技术,云计算对互联网的影响,云计算存在的主要问题,比较了云计算技术与P2P技术、网格技术的异同点,分析了DSN(distributed service network)与云计算的关系,最后提出DSN与云计算结合应用的思路和方案。1. 概念与背景1.1 云计算基本概念云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。它是一种动态的、易扩展的、且通常是通过互联网实现的虚拟化的计算方式。用户不必具有云内部的专业知识,不需要了解云内部的细节,也不直接控制基础设施。(定义应说清楚)云计算的基本原理是:计算资源分布在网络侧大量的计算机上,而非本地计算机或单台集中式远程服务器中,用户通过接入互联网、利用云提供的编程接口、云计算终端软件或者浏览器访问云提供的不同服务,把“云”做为数据存储以及应用服务的中心。1.2 云计算的行业背景与分析1.2.1 云计算的商业应用与商业计划1.2.1.1 Amazon的“云”图1-1 Amazon的云计算Amazon从2002年7月开始推出Amazon Web Services,为互联网应用提供开放式的通用平台。截至2007年7月,注册开发者已经达到330000。目前,该平台包含了Elastic Compute Cloud(EC2)、Elastic Block Store(EBS)、SimpleDB、Simple Storage Service(S3)、CloudFront、Simple Queue Service(SQS)等功能平台,计费、安全、网管等运营支撑平台,以及其它一些商业应用平台。其中,S3是Amazon推出的最早的云计算服务,提供无限量的文档、照片、音视频和其他数据的存储。该服务被许多软件公司采用为客户提供下载和网络存储服务。截止到2009年3月,其存储量达到了520亿个对象。迄今为止,S3的详细设计没有公开,其目标是实现高可扩展性、高业务可用性、低时延以及廉价的存储。S3单个对象不得超过5GB,配以最大2KB的metadata。每个AWS账户可拥有数个bucket,其中包含分别具有唯一用户指定key的数个对象。支持REST类型的HTTP接口或者SOAP接口进行对象的生成、列表和检索,并支持通过HTTP GET接口或者BT协议下载对象。用户可以租用基于Xen的EC2云计算平台,利用虚拟化技术建立服务器实例,运行其自身的应用。用户可以随意关停虚拟服务器,并仅对激活的服务器进行付费。用户可以在不同区域建立服务器实例并互为备份,以最小化宕机的风险。在2008年8月,Amazon 又推出了EBS(Elastic Block Store,弹性块存储)以完善EC2的云存储功能。1.2.1.2 Sun的“云”图1-2 Sun的云计算Sun公司也基于云计算理论提出,未来的数据中心不会再被局限在拥挤而闷热的机房里,而是一个个可移动的集装箱,企业可以把它移动到包括“郊外”在内的各种地方,降低机房的开支。2008年5月,Sun在2008JavaOne开发者大会上宣布推出“Hydrazine”计划(参见图1-2),基于“Hydrazine”计划,Sun希望利用其核心技术打造一个包含网络环境、数据中心和其他基础设施组件在内的完整解决方案,如Sun JavaFX的丰富互联网应用程序技术、Sun的Glassfish应用服务器、Sun企业服务总线、Sun目录服务器、MySQL、“廉价存储”和Sun的硬件,从而使得开发人员利用Sun平台创建托管应用与服务,并且不用到任何其它地方就可以利用这些应用程序和服务赚钱。此外,作为“Hydrazine计划”的一部分,Sun还推出了“Insight计划”。这个分析功能可以让开发人员知道谁在使用他们的产品,并利用这个功能注入广告赚钱。1.2.1.3 Google的“云”图1-3 Google的云计算Google则以开源的姿态推广它的云计算平台,这使得用户可以得到这个平台的代码并修改它。2006年,Google使用MapReduce技术,通过40台服务器集群构建了第一个云。Google的数据中心在节能、速度、成本方面很有优势,因而Google能够以极低的成本增添运算能力。如图1-3所示,其云计算架构主要包括集群管理和控制系统(Cluster)、分布式并行计算(MapReduce)、分布式数据管理(BigTable)、分布式文件存储(GFS)、分布式数据并发访问控制(Chubby)和工作队列(GWQ)等。此外,在2007年10月,Google还和IBM达成协议,同美国卡耐基-梅隆大学、麻省理工大学、斯坦福大学、加州大学伯克莱分校、马里兰州大学和华盛顿大学等六所大学展开合作,为其计算机专业学生和研究人员提供硬件、软件和服务支持。Google-IBM云将会提供由数百台计算机组成的数个集群,这些计算机包括Google的定制机器、IBM的BladeCenter和System X服务器。1.2.1.4 IBM的“云”图1-4 IBM的云计算除了与Google合作,为美国高校提供相应云服务,推动云计算的研究,IBM在2007年也推出其云计算计划,即蓝云计划(Blue Cloud),参见图1-4。它基于由IBM软件、系统技术和服务支持的开放标准和开源软件,包括一系列的云计算产品。而且,IBM还计划将大多数服务器产品都升级为支持蓝云的产品,将蓝云渗透到IBM的软件、硬件以及服务之中。在云计算领域,IBM有着许多得天独厚的优势,如在其产品线中,应用服务器、存储和管理软件样样具备。此外,IBM还可以绕开数据从本地转移到互联网过程中的安全问题这一障碍,通过向客户出售云计算方案与终端,为企业建立属于自己的云计算数据中心来发展这一计划。IBM已拥有了最为完整的包括硬件、软件与服务的云计算解决方案,来帮助企业客户利用云实现成本与效率的优势。IBM最新软件产品可管理并确保云计算环境安全;IBM全球服务部(Global Services)不仅为企业提供可安全测试应用的全新IBM云环境,还将通过云为企业提供数据保护方面的软件服务;IBM与 Juniper Networks 联手合作混合云能力,演示“溢流云(overflow cloud)”。1.2.1.5 微软的“云”图1-5 微软的云计算在PDC2008的主题演讲中,微软首席软件架构师Ray Ozzie宣布了微软的云计算战略以及云计算平台Windows Azure。如图1-5所示,Windows Azure提供了一个基于Windows的虚拟计算环境和存储,可以把Windows Azure理解为云端的操作系统。它的底层是数据中心中数量庞大的Windows 64位服务器。Windows Azure通过底层的结构控制器(Fabric Controller)有效地将这些服务器组织起来,给前端的应用提供计算和存储能力,并保证其可靠性。在Windows Azure之上,Azure services Platform提供了很多针对不同用途的服务,如图1-6所示。Live服务:微软将Windows Live的很多功能和资源,通过Live服务器封装以后提供给软件厂商和开发人员使用。通过Live Services,可以存储和管理Windows Live用户的信息和联系人,将 Live Mesh中的文件和应用同步到用户的不同设备上去。 .NET服务:最初被命名为BizTalk服务,它提供了一个基础架构,来构建基于Internet的分布式应用,初步实现了Internet服务总线的一些功能。不仅可以提供给云计算平台使用,同时企业自由的服务器程序也可以使用。.NET Services由访问控制、服务总线和工作流三个模块组成。 SQL服务:是一个云计算平台之上的数据库服务。现在,提供了类似于SQL Server的数据存储、查询能力。不久的将来,会提供报表、数据分析、数据同步等功能。SQL服务构建在企业级的SQL Server数据库和Windows服务器之上。 图1-6 Azure Services Platform1.2.2 云计算应用评述总体而言,微软、Oracle、IBM、Sun、英特尔等IT巨头都面临着云计算的挑战,而Google则依靠其搜索引擎后来居上,在此领域一枝独秀。Google能有与微软等软件巨头竞风流的实力,有如下几个重要的客观理由:1)数据是实现云计算的根本。有了“数据”的云,才有计算的云。搜索引擎就是从海量数据中寻找信息的技术。随着信息量的增多,用户的增加,搜索引擎技术只有将更多的硬件和软件组成集群,才能支撑如此规模的计算。这就是云计算的雏形。全球数以亿计的用户和Google的搜索平台形成了这样的关系:用户只需要通过IE这种简单的客户端就能享受Google提供的搜索服务。这正是“云计算”的软件服务模型,也形成了Google现在的商业服务模式。相对而言,微软、Oracle、Sun等专注于功能软件的研发,这些功能软件必须依靠单台PC或者服务器,给用户带来了一种复杂和冗余的体验。2)应用是云计算得以普及和发展的催化剂。Google的搜索引擎现在成了每个人都需要的工具,并成为全球最大的搜索引擎平台,拥有全球的用户。谷歌通过运营搜索引擎,能分析出网民最关心什么,最感兴趣的是什么以及这些人的生活范围,这样也更容易推出受关注和喜欢的应用。反观微软、Oracle、Sun等长期专注于某一功能软件的研发,他们的产品不是在寻找信息、搜索信息,而是用于产生信息、输出电子文档,就人的需要程度而言远远比不上Google的搜索平台。 3)微软、Sun等云计算技术与Google的差别微软在98年之前就提出了Windows DNA,即基于Windows平台的网络分布式应用体系结构,还在COM(组件对象模型)上提出了DCOM,COM,也就是分布式的组件对象模型。后来微软又提出了.NET,.NET的思想是扩展服务器和客户端模型为松耦合服务的、丰富的、分布式计算范例;今天的Live也是基于这样的一种考虑。由上可见,微软的分布式是一种基于组件之间的分布式,重点在于应用程序之间的协同和调用。与此类似,Sun、IBM等所谓的“云计算”也与此类似。 微软、Sun、IBM的云计算之所以局限于应用程序的层次上,主要是因为它们长期依靠这样的商业模式:客户通过购买软件介质安装在PC上实现用户端服务,软件功能越强大价值就越高。这让用户体验过程变得复杂、繁琐,也不是软件即服务的简洁模式。因此不论从概念上,还是技术上,他们的云计算与Google的云计算存在层次上的差别。 2. 云计算业务类型*本部分内容待补充。3. 云计算主要技术*本部分内容待补充3.1 分布式计算技术3.2分布式存储技术3.3 虚拟化技术3.4 web service 技术 *本部分内容待确定4. 云计算对互联网的影响4.1对技术发展的影响1)互联网的端到端理念面临巨大挑战。目前,用户不断通过升级硬件和软件来享受更多的互联网服务。当云计算时代到来以后,用户端将变得越来越简单,几乎所有的计算和存储资源都集中到了云端。云端与用户端在资源的配置上存在着严重的不对等现象。2)提出了面向商用的计算模式。Microsoft、IBM、Oracle等传统软件厂商一般通过出售软件介质来盈利。这些软件都安装在用户的PC上,软件功能越强大价值就越高。在云计算时代,用户无须关心软件的维护和升级,这些工作都由云计算服务提供商来完成。用户通过浏览器接入云端就可以享受各项服务。云计算服务提供商仅对服务进行收费。3)提出了基于分布式存储和非结构化数据存储的新存储模式。目前,数据一般存储在个人和企业私有的存储介质里。由于受计算机病毒等因素的影响,其安全性不高。如果用户将数据转移到云端,这些数据就可以得到专业的维护,数据的安全性大大提高。4)提出了新的容错管理模式和可靠性理念。认为采用多个低端服务器即可实现高容错和高可靠的系统。在硬件不可靠的情况下,通过软件技术,将多个低端服务器组合成集群,就可以实现与大型服务器相同的功能 ,但商业成本却大大降低。这也是Google云计算的一个显著特点。5)提出了结合虚拟技术的新业务实现方式。虚拟基础架构在计算、存储器和网络硬件以及在其上运行的软件之间提供了一个抽象层,简化了 IT 计算体系结构,可以控制成本,并提高响应速度。 4.2 对业务发展的影响1)带来互联网虚拟化运营的大发展,促进互联网业务的进一步繁荣。可进一步减低业务创新的门槛,进一步增强网络能力,并使得用户的使用方式更加灵活多样。2)为信息服务业提供了良好的发展契机,促进了电信运营商的进一步转型。一方面,电信网络将与水、电一样成为社会基础设施的一部分,为云计算服务提供高速网络。另一方面在业务上电信运行商也将与互联网服务提供商展开竞争。电信运行商将与Google、Amazon这样的互联网巨头同台竞技,电信运行商的优势在于拥有对底层通信网络的控制权,另外,丰富的运营经验以及良好的客户关系也将帮助电信运行商在云计算时代占有一席之地。3)促进了产业链的细化与整合,推动了新型ISP(如资源出租、虚拟ISP)的出现。依靠出售PC硬件或单机软件的传统IT厂商将受到云计算的强烈冲击,因为用户无须再像以前那样无休止地升级PC的硬件或软件。更多的服务提供商会基于成本考虑将各类业务转移到云计算平台上来。建有大型云计算数据中心的厂商将有偿提供计算及存储资源出租。由于准入门槛大幅降低,各类新兴的互联网业务将雨后春笋般涌现出来。4)产生了XaaS(如Securiy/Platfrom/Infrastructure/Hardware等)新概念,对服务理念产生了巨大影响。4.3 对行业监管的影响随着云计算技术的出现,IT产业链上跟云计算相关的环节如云计算服务提供商和虚拟运营商的管理与监督就成为互联网监管的新课题。首先,云计算的出现彻底打破了地域的概念,资源的跨地域存储与本地化监管之间的矛盾将会被激化。这就需要在互联网的监管上面要求全局观念,在网络资源存储、资源共享和网络安全监管等诸多方面做好不同地域之间的沟通和协调工作。其次,随着云计算市场的成长和成熟,也将伴随着新一轮的行业垄断。在云计算的研究和推广过程中,Google、Microsoft、IBM、Amazon等几大IT巨头已经处于领先的位置,其投入的大量人力财力保证了他们在云计算技术方面到巨大优势。这种优势在云计算真正开始运营时,必将会促使这些IT巨头们垄断云计算市场。如何对云计算市场的垄断行为进行抑制和疏导是云计算后互联网监管的一个新课题。第三,由于业务提供模式和维护方式等方面的不同,云计算后互联网上的业务运营模型必然要发生改变。如何重新分配互联网原有商业模式中的各种利益关系,协调云计算产业价值链上下游各个企业的关系,尽快出台云计算后互联网业务的运营管理办法,从而促进云计算后互联网产业链的有效运转,都将是云计算后互联网监管亟待应对和解决的关键问题。5. 云计算存在的主要问题5.1 安全问题云计算的安全性包括两个方面:一是用户的数据不被泄露,二是用户在需要时能及时、准确地获取这些数据。虽然云计算产业链上的厂商和一些第三方的调查咨询机构都一再宣称公众对于云计算安全性的疑虑有点夸大,试图以此来打消用户的顾虑,但从近年来发生的种种事故可以明显看出云计算的安全问题并没有得到根本解决。互联网巨头Google近年来多次发生数据泄露事故:2005年1月,研究者发现了Gmail里的几个安全漏洞,令用户名和密码很容易被盗窃,外来者可以窥探用户的电邮。2005年12月,研究者发现Google桌面以及IE浏览器的一个漏洞,令Google用户的个人数据很容易暴露给恶意网站。2007年1月,安全专家发现在Google桌面存有一个安全漏洞,有恶意的人不仅可以远程持续地侵入Google桌面用户的敏感信息,甚至可以控制用户的整个电脑系统。而除了信息泄露造成的损失之外,关键时刻无法访问云计算服务器也是用户所不愿看到的情况。微软的云计算平台Windows Azure就曾出现过运作中断的现象。Windows Azure是微软目前处在测试阶段的云计算平台,其计划是使企业可以直接在网络上使用商业软件,并储存数据。即使这两个问题都能得到解决,人们接着当心的是云计算服务提供商是否会破产。因为云计算服务提供商一旦破产,存储在云端的数据的安全性就无法得到保证。5.2 网络瓶颈如果采用云计算的模式,那么目前的带宽是远远不够的。比如一部高清电影,在我们的电脑上运行的时候,数据是直接从硬盘上提取,其传输时延几乎为零。但是一旦使用云计算服务,电影存储在一个距离遥远的数据中心,即使网络带宽达到1MB/S(目前,大多数用户的带宽低于这个水平),产生的延时及抖动也会令用户无法接受。不只是个人用户,企业用户在使用云计算服务时同样会遭遇带宽瓶颈。一家地区性银行在成功试用Salesforce1999年发明SaaS公司的服务后,决定大面积推广使用,但是由于它没有规划好带宽需求,所以付出了惨重代价:员工的网络连接速度突然间变得奇慢无比。由于网络数据传输量激增,网络链路被阻塞,再好的云计算服务也会变得可望而不可及。网络带宽不是唯一的潜在问题,数据的长途传输也会引起人们对延迟的担忧。由于互联网络的复杂性、网络流量的动态变化和网络路由的动态选择,网络时延不可能被消除。试想,在向客户展示新产品时,销售人员由于网络原因打不开存储在云端的PPT胶片,那将是一个多么令人难堪的场面。因而,目前的网络状况将是开展云计算业务的一大障碍。5.3 可靠性问题云计算的应用中应考虑并提供容灾管理。事实上,Gmail在近来出现的服务失效问题已经使这一问题凸现。5.4 标准化问题如何推动云计算相关技术的标准化进程,以顺利解决多个云之间的互联互通。目前包括Google、Yahoo、Amazon都有各自的云计算技术,企业可透过不同业者提供的技术架构,来开发各种网络服务应用。如此一来,在某个系统中开发的应用程序便无法拿到另一个系统使用。因此,建立一个可让数据彼此互通的标准已成了当务之急。5.5 网络运营问题较少考虑底层网络状况,对运营商网络可能造成很大冲击。目前P2P已经有专门的工作考虑此方面内容,如IETF ALTO,P4P,Oracle等,国内研究机构也对此问题有专门研究。但在云计算中,目前尚无此方面考虑。建议并入5.2.6. 云计算与P2P的比较*本章有待细化下面依据功能的相似性,以Google的云计算产品为例,从多个方面对云计算与P2P做简单比较。6.1 GFS Vs. File sharing P2PGFS的本质特征是构建了一个等级性(Hierarchical)名索引系统,形成从文件名到存储位置的映射关系,对文件的读取和存储的第一步是通过等级性(Hierarchical)名索引系统找到文件的位置/需要存储的位置,然后完成文件的读取和存储等操作。而文件共享型P2P网络(如Napster)存在着类似的名索引系统。文件的位置信息都存放在一个中心目录服务器上,客户端首先向服务器查询文件的位置,然后直接从目的节点上取回文件,如图6-1所示。但是GFS和P2P的名结构不同,前者是等级性的,后者则是flat结构。另外,GFS可以对文件实行冗余备份,而P2P网络中的中心目录服务器尚不具备这种功能。图6-1 Napster的结构6.2 MapReduce Vs. SETIHOMEMapReduce的执行过程如图6-2所示,其中心思想是实现计算任务的分解、合并,计算任务可以通过提供的编程接口,实现任务的分布化计算和计算结果的整合。P2P的早期应用SETIHOME则是探索地外文明的巨大计算任务,它将计算任务分解成小的元任务,分散到有空闲资源的各个P2P节点上计算并将计算结果进行交付整合。二者的主要区别在于:MapReduce建立了统一的计算任务的分解合并平台,而SETIHOME则只是一个特定的应用。图6-2 Mapreduce Execution Overview6.3 BigTable Vs. P-Ring *本节需补充P-Ring采用Hierarchical Ring的数据索引架构,如图6-3所示,这一思路与Bigtable的分级数据索引方式相同。图6-3 P-Ring架构:Hierarchical RingBigTable的路径结构如图6-4所示,类似于B+ 树,共分为三层。第一层是Chubby中的一个文件,它存储根子表的地址,根子表存储元数据表里所有子表的地址。第二层是元数据表,每个元数据子表里存储一组用户子表的地址,元数据表里面,每个用户子表的地址都对应一个行关键字,这个关键字是由用户子表所在的表的标识符,和用户子表的最后一行编码而成的。第三层为用户子表,用户子表地址的建立和更新都是通过递归三层路径树完成的。图6-4 Bigtable Location Hierarchical7. 云计算与网格的比较7.1 相同点二者的核心思想都是要将所有的资源构筑成一个庞大的资源池,提供给用户。云计算可看做是网格技术的进一步发展,尤其是商用方面的发展。7.2 不同点从任务角度,网格的构建大多为完成某一个特定的任务需要,而云计算一般来说都是为了通用应用而设计的,没有专门的以某种应用命名的技术。从部署角度,云计算采用机群来存储和管理数据资源,运行的任务以数据为中心。即调度计算任务到数据存储节点运行。而网格计算,则以计算为中心。计算资源和存储资源分布在因特网的各个角落,不强调任务所需的计算和存储资源同处一地。由于网络带宽的限制,网格计算中的数据传输时间占总运行时间的很大一部分。从执行角度,网格计算以执行作业的形式使用,在一个阶段内完成作业并产生数据。而云计算支持持久服务,用户可以利用云计算作为其部分IT基础设施,实现业务的托管和外包。从应用角度,网格计算更多地面向科研应用,商业模型不清晰。而云计算从诞生开始就是针对企业商业应用,商业模型比较清晰。从标准角度,网格缺乏公认的标准,并且编程复杂性较高,这些因素阻碍了网格计算的发展。而云计算的技术发展尚待观察。8. 云计算与P2P的结合8.1 技术思路目前,Google、Yahoo、Amazon及IBM等公司都公布了各自的云计算计划。Google连续几年在计算机领域的高级别会议上发表论文,介绍其主要的云计算技术,如GFS、BigTable及MapReduce等。基于Google云计算技术的开源分布式并行编程框架Hadoop也获得长足的发展。Yahoo、Amazon及IBM等公司相继将Hadoop作为各自云计算计划的基础软件。因而,深入分析Google的云计算技术对于全面把握云计算的发展方向具有重要的意义。Google的云计算技术实际上是针对Google特定的网络应用程序而定制的。针对待处理数据的规模超大的特点,Google提出了一整套关于分布式集群运算及存储的基础架构,利用软件的能力来处理集群中经常发生的节点失效问题。下面逐个分析Google的云计算技术。Google的MapReduce编程模型具有很多优点,它能自动分解输入的数据、自动给各个计算机分配计算任务、可以处理机器之间的通信、允许机器故障等。MapReduce比较适合某些特定的计算任务,比如给海量网页建立索引。这类任务具有这样的特点:输入的数据量非常大,往往在T 字节以上;集群中各计算机的计算任务相同,只是待处理的数据不同。其实,这正是MapReduce的设计出发点,即在实时性要求极高的情况下处理海量数据。MapReduce采用分解输入数据的方式来实现计算的并行化,因而 MapReduce只适用于部分计算任务。因为还有很多计算任务需采用数据流分解或功能分解等其它方式来实现并行化。另外,输入数据量较小的计算任务是否适合于在MapReduce上运行还不得而知。由于受其设计思想的限制,MapReduce未必适用于建立通用计算平台。在P2P分布式计算领域,也只出现了针对某一特定任务的计算,比如SETIHOME,还没有建立起通用的计算平台。GFS是Google针对大规模分布式文件处理而开发的系统。一个GFS集群包括一个master和多个chunkserver。文件被分成固定大小的chunk存放在chunkserver上。Master是GFS的核心,它负责维护文件系统的所有元数据,处理每个客户端的读写请求,周期性地向chunkserver询问Chunk的位置信息,chunk复制,chunk租约管理,垃圾管理等。一旦Master死机,整个GFS系统将瘫痪。当然Master有备份措施,GFS系统可以很快恢复。但系统的恢复时间有时是不能忍受的。由于采用3级索引机制,GFS系统的可靠性及可扩展性都受到极大限制。目前,Google最大的GFS集群包含1千多台计算机,其存储容量为几百TB。随着集群中计算机数目的增大,master的负荷越来越重,系统的性能就会下降。另外,客户端的增多也会加重master的负担。与GFS一样,BigTable也采用集中式的、分层的路径存放方式,其可扩展性及可靠性不好。依据google提供的数据,在针对14个bigtable集群的测试中,BigTable中数据的不可访问时间比例约为0.0047%。可能这正是Gmail出现服务中断的原因。与Google的云存储技术相比,基于P2P的分布式存储技术的可扩展性及可靠性较好。在P2P存储系统中,每台计算机既是客户机,也是服务器,他们之间可以直接交换信息,共同分担文件的存储和服务,而不需要中央服务器。这种对等的体系结构使得P2P存储系统的可扩展性非常好。P2P存储系统具有自组织性,可以较好地适应节点的动态加入和退出。P2P存储系统普遍采用了文件容错技术,如文件复制、分片冗余或编码容错等,使得即使一部分保存文件副本的节点出现故障或者退出系统,仍可以保证文件拥有很高的可得性。另外,由于P2P存储系统的节点在地理上广泛分布,数据的容灾性较好。P2P存储系统也存在诸多不足,如文件查找效率低,资源管理复杂。目前,P2P文件的查找主要使用泛洪和分布散列表(DHT,Deistributed Hashing Table)两种方式。使用泛洪查找会带来相当大的通信开销,而DHT查找不支持模糊对象匹配。这些因素导致P2P的文件查找效率低下。在大规模的P2P系统中,peer的动态性非常明显。造成peer动态性的原因除Internet底层基础设施所提供的不可靠的服务外,另一个更主要的因素在于节点的主观行为,如用户随意开、关计算机或终止服务等。P2P网络的这种动态性导致资源的管理非常复杂。随着社会的发展,电信网络将与水、电一样成为基础设施的一部分。如何将P2P和云计算这两个当前互联网上的热门技术引入未来电信网络的建设还是一个需要深入研究的问题。8.2 技术方案通过分析Google的云计算方案,我们不难发现:云计算的很多关键技术与P2P技术有着千丝万缕的联系。Google的分布式文件系统GFS与非结构化的P2P系统比如Napster非常类似。GFS中的master就类似于Napster中的“中心索引服务器”,掌控每个文件与其存储位置的对应关系。与P2P中的文件注册系统类似,GFS也将大文件分割为若干的小块来存储,只不过GFS中的文件块(为MB级别)要比P2P中文件的分片(为KB级别)大一些而已。GFS中的chunksever类似于Napster的各个对等点,其功能是存储文件的chunk,并向master汇报自己拥有的资源的情况。因此,我们不妨将结构化P2P系统中的资源分配及路由查询等的思想引进到云端里去,以减少云端的网络维护开销,提高云端的资源查找效率。结构化拓扑网络是一种逻辑网络,节点之间保留特定的网络连接。具体的来说,每个网络节点保持一个路由表,指向其他的节点。依据这个路由表和特定的路由算法,P2P系统可以迅速的定位和找到所需要的资源。Chord, CAN, Pastry和BATON都是这种结构化拓扑网络。如果我们把云计算中的节点使用这种结构化的网络组织起来,那么我们就不再需要中央服务器来跟踪和维护每一个节点,这可以提高网络的可靠性及可扩展性。原来,P2P系统是针对Social Network的系统,其中的Peer可以任意地加入或者离开网络。鉴于它的动态性,P2P拓扑结构需要处理各种各样的网络错误。然而在云计算中,节点是由服务提供商监控的,一旦加入系统,就要持续地提供计算资源,直到系统硬件出现故障。在这种网络环境中,P2P系统的拓扑结构将长时间地保持稳定,从而可以大大减少网络维护的开销。在这里,拓扑网络的引入仅仅是为了组织节点和提供索引服务。我们可以定制各种索引给云计算系统。比如,基于Hash算法的支持点查询的索引,基于树结构的支持范围查询的索引,以及其他更加复杂的索引结构。将P2P技术应用到云端,可以对资源实现更加快捷、灵活的组织及调度。当然,与P2P系统相比,云计算也有其独特之处,如云计算对延时非常敏感。因而,如何将二者更好地结合起来以向广大电信用户提供更加便捷的服务还是一个值得深入研究的课题。8.3 使用场景8.3.1 在线游戏场景近年来,网络游戏越来越受到年轻人的喜爱,各种不同主题和风格的网络游戏层出不穷,网络游戏公司也使出浑身解数来吸引玩家。但很多玩家都会发现一个很重要的问题,那就是由于带宽和单台服务器的性能限制,要满足成千上万个玩家上线,网络游戏公司就需要在全国不同地区建设很多个游戏服务器,而这些游戏服务器上的玩家相互之间是完全隔离的,不同服务器上的玩家根本不可能在游戏中见面,更不用说一起完成游戏任务。云计算时代,我们可以通过云计算和云存储系统来构建一个庞大的、超智能的游戏服务器群,这个服务器群系统对于游戏玩家来讲,就如同是一台服务器,所有玩家在一起进行竞争。云计算和云存储的应用,可以代替现有的多服务器架构,使所有玩家都能集中在一个游戏服务器组的管理之下。所有玩家聚集在一起, 这将会使游戏变得更加精彩,竞争变得更加激烈。同时,云计算和云存储系统的使用可在最大限度上提升游戏服务器的性能,实现更多的功能。8.3.2 手机业务场景手机拥有便携性、通信能力等众多天生优势,但计算能力差、存储容量小。受限于体积和便携性的要求,短时间内解决这两大问题不太可能。在云计算时代,“云计算”能解决手机处理能力不足的问题, “云存储”则可以解决手机存储能力不足的问题。手机通过浏览器就可以接入云端享受各种服务。可以在线编辑文档,体验在线游戏以及观看各类视频等。充分利用云端的存储及计算能力,即使手机本身性能不高,但只要手机与云端的传输速率满足数据交换的要求,便能够得到理想的结果。在3G推出以后,考虑到手机本身的输入输出量有限,如果合理设计输入输出界面的话就完全可以满足手机云计算的要求。9. 结合云计算的DSN9.1 DSN简介DSN(全称Distributed Service Network)即分布式业务网络,是中国移动积极应对电信网和Internet在业务和运营上所面临的各种挑战,提出的新一代可运营、可管理的核心网体系和功能架构。随着业务全面地向端到端IP转移,基于IP的网络将逐渐替代以电路交换为基础的电信核心网和业务平台。此外,互联网新技术层出不穷,为优化网络性能、提高网络能力带来更多的选择。在上述背景下,中国移动尝试从互联网角度出发,以移动互联网为发展目标,研究未来网络的演进。其中DSN就是中国移动在推动核心网领域演进的重大研究课题。DSN力图通过P2P及其它分布式计算技术,引入一组均质化的节点来实现用户数据管理和会话控制,并结合电信网络可运营、可管理的框架,实现业务核心网的功能。其中P2P等技术的应用可以有效提高核心网的自组织能力、容灾能力、负载均衡能力等。DSN在关键技术研究中,积极尝试引入互联网领域新技术的优良特性。从技术角度而言,DSN与目前许多热点技术有不少共通之处。特别在业务提供等多方面,DSN与云计算技术具有不少相似性和互补点。因此,本文重点针对云计算这一热点技术,将DSN和云计算从多个角度进行比较,以分析各自特点,推进相关的研究工作。9.2 云计算与DSN的比较9.2.1 业务角度9.2.1.1 云计算提供的服务形式根据目前主流云计算服务商提供的服务,云计算依据应用类型可分为: Ø软件即服务(SaaS):此类云计算主要是采用multi-tenant架构,通过网络浏览器将单个的应用软件推广到数千用户。这类服务在人力资源管理软件方面运用比较普遍。Ø云计算的网络服务:网络服务与SaaS密切相关,网络服务供应商提供API来帮助开发商通过网络拓展功能,而不只是提供成熟的应用软件。Ø平台即服务(PaaS):它是SaaS的一种特殊形式,此类云计算将开发环境作为服务来提供。用户可以创建自己的应用软件,并在供应商的基础架构上运行,然后通过网络从供应商的服务器上传递给其它用户。 Ø管理服务:管理服务是云计算最古老的形式之一。它是面向IT厂商而并非最终用户的一种应用软件,可提供用于电子邮件的病毒扫描服务或者应用软件监控服务等服务。 通过对目前云计算业务的分析,我们认为未来的云计算服务提供商将重点提供三个层次的服务:云端的软件服务、云端的开发平台和云端的信息基础设施。9.2.1.2 DSN提供的服务作为位于应用和承载网之间的核心网络,DSN重点面向移动互联网业务,并具备电信级可控可管能力。在DSN应用系统中,目前考虑重点支撑的业务场景包括:Ø多媒体电话MMTel(MultiMedia Telephony):在DSN的网络能力支撑下,运营商可以建立低成本、大规模可运营及分布式的MMTel业务系统。该类系统可具备以下特点:快速部署、可扩展、容灾、负载均衡、智能路由和NAT穿越等。Ø内容存储与分发(Content Storage & Delivery):DSN可以支持海量数据的存储及内容分发。在DSN中,网络资源分布在系统中各个对等节点上。用户在获取资源或者数据的同时,也可提供资源或数据。这种分布、自组织的特性使内容的大规模海量存储变得更加容易。对内容供应商来说,这种特性使得业务实现充分利用边缘网络资源,减轻服务器的负担;对用户而言,这种新技术则能提供更加丰富的资源以及更快速的资源共享渠道。Ø流媒体(Streaming):基于DSN网络能力,可以提供一个以低成本支撑大量用户的P2P Streaming系统。在这类系统中,随着节点的不断加入,系统能力也将逐渐提高,从而有效解决系统扩展性问题。从用户角度来看,则可观察到资源获取速度得到加快,媒体播放也更加流畅。Ø其它业务:因为DSN提供的网络能力可以软件组件的形式加以实现,所以DSN能够灵活地支持各种移动互联网业务场景,如IM、Web2.0以