分布式计发展非常迅速,新技术不断出玎ͼ现在出现的P2P技术,让用户可以直接连接到其他用户的计机Q进行文件共享与交换Q另外P2P在深度搜索、分布计、协同工作等斚w也大有用途?/P>
现有P2Ppȝ的缺陷和JXTA的目?/SPAN>
现有的P2Ppȝ有一些缺P大多数P2Ppȝ用来实现一个单一cd的网l服务(Napster用来音乐文g交换、Gnutella用来普通文件交换)Q由于不同的|络服务的特性和~少一个共同的底层基础Q每一个供应商都用不兼容的技术它的用户同别的P2P通信盔RRJXTA通过提供一个简单的普遍的P2Pq_来解册个问题:
术语
同位体(peerQ:一个同位体是可以理解协议的M实体。所以,一个同位体可以是一个处理器、机器或用户?/P>
同位体组Qpeer groupQ:一个同位体l是提供一个通用服务的同位体的集合?/P>
道QpipesQ:它是发送和接受消息的通道Q它是异步的?/P>
q告QadvertisementQ:一个广告是一个XMLl构的文,用来命名Q描q和公布现有的资源,如同位体Q同位体l,道Q或服务。各U广告的格式请参考JXTA规范?/P>
JXTA的层?/SPAN>
JXTAq_被分Z?/P>
JXTA协议
抽象的看QJXTA技术实际上是一些协议,目前定义了以下协?/P>
同位体发现协?/B>
q个协议用来查找其它同位体的q告Q通过它,可以查找所有的同位体、同位体l或核心q告。这个协议是~省的发现协议,可以被替换。集合点同位体是q样一U同位体Q它保存着一个知道的同位体和同位体组的表。如果这个表是完全及时的Q那么往q个同位体发一个消息,可以发现所有的同位体,当然Q这是最单的一U方式。查找有两种方式Q其一是上述的向集合点同位体发送消息,另外Q可以向一个范围内q播发送消息,q种消息叫做发现查询消息。发现响应消息返回一个或多个同位体和同位体组的广告。以上这两种消息的格式请参?JXTA规范?
同位体解冻IresolverQ协?/B>
q个协议使一个同位体可以通过发送和接收查询来查扑位体、同位体l、管道和一些与服务相关的信息,如服务的状态,通道端点的状态等。一个同位体l的每一个服务都可以注册一个handler来处理这些查询。每一个查询都包括唯一的handler的名字,指出p来处理它。同栯x询消息与解决响应消息的格式参考JXTA规范?
同位体信息协?/B>
当一个同位体被定位后Q我们关心它的能力和状态,q个协议是用来得到q些信息。如惌知道一个同位体是否Ȁz,向它发送ping消息。相x息的格式参考JXTA规范?
同位体成员资格协?/B>
q个协议允许同位体:得到l的成员资格的要求和应用的证书;h成员资格和得到成员资格的证书Q更新现存的成员资格和应用的证书Q除掉成员资格和应用的证书。这个协议定义的消息参考JXTA规范?
道l定协议
q个协议被组的成员把道的广告绑定到道的端炏V?
端点路由协议
q个协议被同位体路由器用来发送消息给另一个\由器来找Z个消息到辄的的路由?
JXTA原型实现
2001q?月,发布了第一个原型实现JXTA version 1.0Q由于java的跨q_Ҏ,所以这个实现是ZJDK1.1.4的?/P>
发现机制:JXTA规范中ƈ没有具体规定QJXTA version 1.0支持以下发现机制
传播范围:JXTA没有强制规定消息怎么传播Q一个消息可能只在局域网上传播,也可能在INTERNENT上传播。现在的JXTA实现把同位体l作为隐C的传播范围Q因为在理论上,M范围都可以以对应的同位体l的形式表示?
安全Q?
JXTA Version 1.0提供了以下安全原语一个简单的支持哈希函数Q如MD5Q、对U加密算法(如RC4Q和非对U加密算法(如RSAQ的库;一个鉴别框Ӟ一个简单的Z口o的登录策略;一个简单的存取控制机制Q这Z同位体组Q一个组的成员自动的授权讉K其它的成员共享的数据Q基于SSL/TLS的安全传输策略?Project JXTA是开放源代码的,p多参与者共同发展,它每天都有新的发展,我们应该参与q去Q在刚刚兴v的P2P计算中做q贡献。关于JXTA更详l的知识Q请到它的网?http://www.jxta.org