异构P2P系统的向后兼容合作
立即解锁
发布时间: 2025-08-18 00:26:52 阅读量: 2 订阅数: 17 

# 异构P2P系统的向后兼容合作
## 1. 引言
如今,众多分布式系统,如P2P文件共享、P2P即时通讯、云计算等,都构建在各种覆盖网络之上。这些覆盖网络在拓扑结构、路由算法、查询类型和消息编码算法等方面存在差异,这种差异也会体现在基于这些覆盖网络构建的应用协议中,导致P2P系统之间整体不兼容,阻碍了它们的合作。
促进这些系统的合作具有明显优势,例如增加内容资源、轻松实现内容冗余和节省存储空间。为了解决这一问题,我们引入了一种新的模型,旨在实现P2P系统的合作。该模型由两部分组成,分别在路由层和应用层对相关系统进行桥接。
## 2. 相关工作
### 2.1 P2P系统的合作
此前有许多关于P2P系统合作和覆盖层间路由的研究。一些研究针对文件共享网络(非结构化覆盖网络),利用几对节点建立的逻辑链接进行基于泛洪的查询;另一些研究则处理分布式哈希表(结构化覆盖网络)之间的覆盖层间路由,通过共定位节点作为网关转发消息,并进行查询的转码。然而,以往的解决方案将消息转码作为路由协议的内置功能,实用性较差。我们的解决方案将覆盖层间路由功能和应用桥接功能分离,更加灵活实用。
### 2.2 OGP中的单播、广播和多播
在传统的分布式哈希表中,单播、多播和广播分别表示向一个节点、一组节点和所有节点发送消息。在OGP中,我们引入了新的单播、多播和广播方案。OGP将属于一个标准覆盖网络的所有节点归为一组,单播、多播和广播分别表示向一个组、多个组和所有组发送消息,且每组中只有一个随机节点接收消息。
### 2.3 分层覆盖网络与OGP
分层覆盖网络旨在为扁平的分布式哈希表引入分层结构,节点被分类成组,每个组是一个分布式哈希表,路由基于唯一的哈希函数。而OGP连同标准覆盖网络可视为异构覆盖网络的层次结构,标准覆盖网络可以是结构化或非结构化的,使用不同的路由方案。OGP覆盖网络将属于同一标准覆盖网络的节点归为一组,但这组不是分布式哈希表,因此OGP方法不符合分层覆盖网络的描述。
## 3. 系统模型
### 3.1 节点分类和路由方案
在我们的模型中,有三种类型的节点:
- **Full OGP节点(FOGP节点)**:同时属于一个P2P系统和OGP覆盖网络。除了运行其原生协议外,还运行OGP协议和合作协议。它们通过OGP覆盖网络将消息从一个P2P系统路由到其他系统,并作为轻量级OGP节点访问不属于它们的P2P系统的网关。
- **Lightweight OGP节点(LOGP节点)**:利用OGP覆盖网络提供的覆盖层间路由功能。它们只属于一个P2P系统,不参与OGP覆盖网络,但保留一个FOGP节点列表。除了运行原生协议外,还运行轻量级OGP协议和合作协议。引入LOGP节点是为了以较低的处理能力和带宽成本访问不属于它们的P2P系统,并通过减少FOGP节点数量和OGP覆盖网络的规模来提高合作系统的可扩展性。
- **盲节点**:只属于一个P2P系统,不知道新协议的存在,仅使用其原生协议。
OGP协议的核心是路由算法,包括OGP单播、OGP多播和OGP广播。FOGP节点可以使用这些方案进行路由。
### 3.2 FOGP节点的结构
FOGP节点包含以下几个组件:
- **原生节点**:参与FOGP节点所属的P2P系统,在该P2P系统上发起请求,并将结果返回给合作应用程序。
- **OGP节点**:参与OGP覆盖网络,为合作应用程序提供单播、多播和广播的覆盖层间路由功能。
- **合作应用程序**:可以通过原生节点在P2P系统上发起请求,通过OGP节点在OGP覆盖网络上发起请求,并执行其他任务,如在P2P系统格式和其定义的中间格式之间进行消息和数据的转码。
### 3.3 合作示例
下面通过两个场景来说明三个P2P系统的合作:
- **场景一**:FOGP节点A在寻找位于覆盖网络O2中的LOGP节点C和覆盖网络O3中的盲节点E的信息。A通过其OGP节点使用OGP广播路由将请求发送给属于O2和O3的FOGP节点B和D。B和D收到请求后,将请求重新构造为符合O2和O3原生协议可能不同的格式,然后通过其原生节点将请求转发给C和E。C和E将响应发送回B和D,B和D将响应重新构造为符合合作协议的格式,并通过其OGP节点将响应连同它们的联系信息发送回A。
- **场景二**:属于覆盖网络O1的LOGP节点F在寻找位于覆盖网络O3中的盲节点H的信息。它通过OGP节点使用OGP单播路由将消息转发给覆盖网络O3中的FOGP节点G。G收到消息后,将消息转换为符合O3原生协议的格式,并通过其原生节点将消息转发给H。返回路径则先遵循O3的原生协议,再通过G返回给F。
### 3.4 潜在应用
该模型可用于许多分布式应用的合作,例如:
- **文件共享应用**:互联网上存在许多孤立的文件共享网络,它们基于各种不兼容的覆盖协议,使用不兼容的文件下载和上传机制。通过让每个相关文件共享网络中的一些节点运行OGP协议,可以建立一个OGP覆盖网络来互连这些网络。在这个基础设施之上,通过合作应用程序进行网络间的文件搜索和交换。
- **即时通讯(IM)应用**:存在许多具有不兼容即时通讯协议的即时通讯网络。目前,要使这些网络合作,可以在IM客户端应用程序或IM服务器应用程序中组合各种不同的协议。我们的模型提供了另一种有前景的解决方案。
- **基于云的应用**:云系统(如亚马逊EC2)或NoSql数据库(如亚马逊SimpleDB、Cassandra或谷歌BigTable)通常依赖计算机集群。OGP框架可用于在现有云系统上形成路由基础设施,而基于OGP框架的合作应用程序可以实现这些系统之间的数据交换,并解决不兼容性问题。
0
0
复制全文
相关推荐










