|
|

楼主 |
发表于 2003-4-3 19:22:59
|
显示全部楼层
[转帖]P2P计算深入底层与边缘
而在对等式文件共享系统中,用户通过系统网络邻居来注册文件,通过网络来搜索文件拷贝,不需要一个集中式的目录服务器,典型例子是Freenet。
以CPU时钟共享为目标的P2P系统也不少,如SETI@Home、Distributed.net等。大致的实现方式是:系统某个成员要运行一个计算任务,就将它在系统中公告出来,其他成员在认为自身CPU足够空闲的情况下,与该成员联系,下载计算代码在自身上运行,计算结果返回给该成员。在这一过程中,执行任务的成员可根据自身负载变化而主动中止或迁移计算任务。
2.协作P2P计算系统中的协作分为两个层次:底层为应用程序之间的协作,高层为用户行为的协作。对于特定应用,共享CPU时钟就可实现应用程序之间的协作;但高层用户行为之间的协作一般需借助即时通信来实现。比如时下风行的ICQ和用IBM Lotus软件开发的Groove Networks等。以协作为目标的P2P计算系统对传统的群件是一个挑战,就应用范围来说,前者足以覆盖后者的功能。除即时通信外,协作型对等计算系统也适用于工业系统中,用于控制生产流水线之间的协调与决策过程,如Oculus Tech.、24Link、Engenia、iKimbo等。
3.构建充当基层架构的互联系统这一目标下的计算系统以共享和协作为基础,不少公司已推出了一些试验性的产品。例如,用于连接不同技术平台或者把分布的设备连接成一个整体的Cytyq’s和Proksim;通过可复用组件编程的OpenDesign;能在不可信的网络上安全地传输数据的WareOnEarth’s;为下一代因特网计算模型提供基层架构的XDegrees等。
商机与挑战三类P2P计算系统孕育着巨大的商业机会,这也是为什么绝大多数P2P系统产生于商业公司而不是大学等研究机构的主要原因。据IDC估计,2002年将有23.6%的大型公司会安装即时通信系统。Gartner认为,2002年年底前,半数以上的因特网用户会经常登录至少两个基于因特网的P2P应用。Forrester宣称:2002年年底前,300万个家庭会使用P2P程序来和亲友共享数码照片;2004年前33%的在线用户会使用P2P服务来存取数据;2005年前P2P服务会被集成到Adobe、Palm、AOL等公司提供宽带接入服务和个人信息共享的程序中去。另据估计,到2004年,在B2B领域,由于通过P2P系统构造可信的支付机制简化了网上交易过程,会产生5.7万亿美元的收入。
在迄今的P2P计算系统实现过程中,除一般的技术课题之外,还需要解决以下问题:
●制定标准通信协议这类协议都位于应用层,Gnutella的协议在带宽利用、实体标识、安全等方面还存在严重的限制。
●匿名机制对等计算系统中一般都有匿名的需求。例如在文件共享应用中,共享文件的创建者不希望他人知道是谁共享了该文件,也不希望暴露这个文件的实际存放位置;下载该文件的用户也不希望他人知道是谁在下载文件;或者,某个用户可能将一个文件存放在他处,此时他不希望提供存储空间的节点知道该文件来自何处。然而,真正的匿名是不可能实现的,因为对等计算系统都定义了不同的名字空间,系统里的所有实体(节点、用户、文件、进程、消息等)都有一个全局或局部惟一的标识符,因此,所谓的匿名机制就是在名字空间之上对使用者屏蔽掉系统或用户要求的身份信息。
●系统必须是安全的安全是所有计算机系统的基本需求,尤其是基于因特网的系统,包括资源(软硬件)安全、数据安全和通信安全。针对不同的安全机制,需要实现不同的加密、授权、认证等机制。同时,P2P计算系统有一些不同于传统“客户/服务器”模型的安全需求。
●防火墙与NAT 出于安全的考虑,防火墙和NAT(Network Address Translation)的存在严重地降低了因特网的透明性,如果不进行处理,许多P2P系统传输的数据包就不能通过这些设备。
●智能代理现代计算机系统对智能性的专注与需求越来越强烈,在对等计算系统中,代理(Agent)的主要工作是提供任务执行、流控、病毒与恶意攻击的防范以及自我恢复等功能。
结构 Intel提出了一个通用的对等计算系统栈结构(图2):
|
|