【JXTA概念介绍(翻译)】
1. JXTA定义
JXTA是深入的,特别的为了实现pear to pear网络计算而设计的一组(6种)协议。使用JXTA协议,pears能够自己组织和配置自己的pear groups而脱离现在的互联网,并且不需要实现集中管理的架构(集中管理架构流行于现在很多p2p软件)。
2. JXTA 概念
Pear同位体
一个可以进行虚拟通信的点,可以是一台电脑,一个电话,pda等。一台设备也可以有多个pear(虽然这是个不好的设计,但是对于debuging来说很有用)。
每一个同位体能够和一些服务联系在一起,比如路由,网关,rendezvous等等。这些服务提供了一些比如搜索和通讯的服务。
不是说所有的同位体都要实现这些服务,但是,有一部分实现这些服务确保整个网格的运行还是有必要的。
比较通常的来讲,一个设备上一般只有一个pear,比如进行分布搜索,内容共享,带宽共享等,这样是有好处的。然而,并不排除一个设备上多个pear,因为pear是一个个分开的实体,多个pear并没什么问题,只是会多消耗一些资源。有几种情况我们可以使用一个multi-pear的设备:
1. 提供proxy服务
2. 与已经存在的服务器建立接口
但是,这个已经不必要了,可以由其他方法实现,比如基于p2p的分布式系统。所以,我们尽量不要建立multi-sever的设备,违背true p2p的思想。
Pear Group:同位体组
一个Pear Group是提供一个通用服务的同位体的集合。
由于安全以及隐私等方面的原因可以组成一个pear group。这个pear group是实现了安全和加密等,类似于一个VPN。
Endpoint:端点
端点是JXTA的基本的寻址形式,一个端点是某个同位体实现了某种协议的地址。一个同位体可以实现多种协议,所以也就可能拥有多个端点。
最简单的端点的例子就是ip地址和port。
Pipe:管道
管道在JXTA中是最基本的概念,是对等点之间的数据传输的主要方式。对等管道协议(PBP)明确规范了对等管道的绑定,解析,响应。
有两种形式:
1. 点对点形式。
2. 广播形式。
Endpoint and Pipes:端点和管道
一个同位体可能含有多个端点-因为实现了多种协议。比如,我们可以用tcp进行连接,也可以用http进行连接-当有firewall的时候。
如果觉得一个pear实现多种协议很麻烦,也可以只用一种协议:http。
Advertisement:广告
一个广告是一个XML结构的文档,用来命名,描述和公布现有的资源,如同位体,同位体组,管道,或服务。各种广告的格式请参考JXTA规范。
大概说明:
广告的格式是utf8编码的,为了更有效的利用资源,所以并没有利用unicode编码。因为unicode是16位而utf8是8位。
Message:消息
有两种形式的消息:
1. Xml格式的
2. 二进制格式的。之所以有这个格式的,是因为这个速度比较快,虽然message是二进制的,但是传输消息的协议仍然是xml格式的。
Identifiers:标志
Rendezvous Pear:
从其他同位体进行查询操作的同位体,Rendezvous Pear也可以委派查询操作给其他的pear-当然也必须是一个Rendezvous Pear。Rendezvous Pear其实可以说是在一个对等网络环境中代替原来的非完全对等环境中的集中服务器的东西。
Rendezvous Pear还能够传递检索。也能够传递发现(discovery)给其他的Rendezvous Pear。
Router Pear:路由同位体
实现端点协议的同位体。和路由器功能类似
Gateway Pear:网关同位体
通讯的中间体,作为传递消息的中间体,和Rendezvous Pear不同。现在支持的网关协议有tcp和http(都是通过管道来组织)。
3. 同位体和组(peer and group)
为什么使用组?
安全,隐私,更加高效的数据共享。
4. 广告(Advertisements)
同位组广告:
定义这个同位组的识别标志和服务:
Name
DESC
GID(Peer group id)
MSID
SVC(Service)-list of the service denoted by MCID and Parmeters
Peer Advertisements
同位体广告:
Name
DESC
PID(Peergroup id)
Debug Flag(Dbg)-optional tag for debugging
Service(SVC)
模块-Modules
模块是定义了一个同位体或者一个同位体组所提供的服务。
模块类广告-Module Class Advertisement
定义了一种行为。
格式:
MCID(Module class id)-Module唯一的识别标志
Name-模块名称,用来进行search和识别,不保证唯一
DESC(Descripition)-描述:供搜索和识别用。
模块规范描述广告-Module Specification Advertisement
比较详细的描述模块的规范定义。
Module Spec ID(MSID)-定义一个模块-和MCID有和区别?
Compatibility(COMP)兼容性-定义代码的兼容性,跨语言和跨平台。
Name
Desc
Sprcification URI document.定义URI
Vers-the version
Parm-定义参数-供Implementation使用
Proxy-ModuleSpecID of a proxy if one exists
Authenticator-ModuleSpecID of an authenticator module if required
模块执行广告
Name
DESC
MSID
COMP
PURI(Package URI)-Download the special code
Code-a reference code,for a java module,this is a classname
Prov(Provider)
管道广告-Pipe Advertisements
Name
ID
TYPE-Related to a protocol, unicasttype,unicastsecuretype,propagatetype
端点路由信息-Endpoint Router Messages
查询和回应消息,以发现Router。分查询和回应两类Messages
消息-Messages
分为XML message和Binary Message
管道绑定协议-Pipe Binding Protocol
要建立管道,一个peer必须宪发布一个管道广告,表示自己在request。接收方会回应并同时发布广告。
Request Adv:
Msgtype-Query or Respond
PopeId-Pipe id being resolved
Type-the type of pope resolution requested
Cached-cache里是否有答案
Peer-指定链接的peer
Response Adv:
Msgtype
Pipeid
Type
Found
Resolver-解释器
用来发现来自对等组内其它对等机的广告;有助于电脑公司系统下载发现对等机、对等组、管道和服务
解释器的ResolverQuery message的schema:
credential-信任证书 of the peer sending the query
HandlerName
QueryID
Query
Rendezvous Protocol:
描述了消息是怎么在组里面广播的。
使用端点协议来定位同位体和路由以及传输
使用Rendezvous Protocol来传输消息。
Rendezvous ADV:
Name
Rdvgroupid-peergroup uuid
Rdvpeerid-peer id of the Rendezvous peer
转载于:https://www.cnblogs.com/mfxp/p/3290842.html
【JXTA概念介绍(翻译)】相关推荐
- c语言 activemq,activemq概念介绍
ActiveMQ概念介绍 是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,消息中间件. 消息中间件: A传递消息到B(功能或者系统),有比较强的耦合 ...
- 《统计自然语言处理》读书笔记 一.基础知识及概念介绍
最近准备学习自然语言处理相关的知识,主要参考<统计自然语言处理·宗成庆>和<Natural Language Processing with Python>,推荐大家阅读.第一 ...
- DNS术语,组件和概念介绍
DNS术语,组件和概念介绍 2014年2月18日发布 255.4k个意见 DNS 概念LINUX基础常见问题 介绍 DNS或域名系统往往是学习如何配置网站和服务器的一个非常困难的部分.了解DNS如何工 ...
- Spring AOP之HelloWorld与概念介绍(xml版)
Spring AOP之HelloWorld与概念介绍 什么是AOP Spring AOP代码实现 Spring AOP 基本概念介绍 目标类 连接点 切入点 切面 切面类 通知 通知类别 织入 什么是 ...
- activemq概念介绍
ActiveMQ概念介绍 是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,消息中间件. 消息中间件: A传递消息到B(功能或者系统),有比较强的耦合 ...
- CPU FPU DSP MPU的概念介绍
CPU FPU DSP MPU的概念介绍 目前世界上有两种文明,一种是人类社会组成的的碳基文明,一种是各种芯片组成的硅基文明--因为几乎所有的芯片都是以单晶硅为原料制作的,芯片系统的总数比人类的数量还 ...
- cocos2d-x一些核心概念介绍
cocos2d-x一些核心概念介绍 Cocos2d-x中有很多概念,这些概念很多来源于动画.动漫和电影等行业,例如:导演.场景和层等概念,当然也有些有传统的游戏的概念.Cocos2d-x中核心概念:导 ...
- FPGA之道(75)静态时序分析(一)基本概念介绍
文章目录 前言 基本概念介绍 常用时间参数介绍 tsu 建立时间要求 建立时间余量 th 保持时间要求 保持时间余量 tco Maximum frequency (or Minimum period) ...
- Lesson 13.2 模型拟合度概念介绍与欠拟合模型的结构调整策略
一.模型拟合度概念介绍与实验 1.测试集的"不可知"悖论 通过此前课程内容介绍,我们已经知道了机器学习模型主要通过模型在测试集上的运行效果来判断模型好坏,测试集相当于是&quo ...
- linux块设备驱动(一)——块设备概念介绍
linux块设备驱动(一)--块设备概念介绍 本文来源于: 1. http://blog.csdn.net/jianchi88/article/details/7212370 2. http://bl ...
最新文章
- 霍金 | 哥德尔和物理学的终结
- 【java】java工具类StringUtils,org.apache.commons.lang3.StringUtils
- 【Uva 1625】Color Length
- php编写开机启动脚本,设置 msyql php-fpm 开机自动启动脚本
- 如何定制化SAP Spartacus的页面路由Route
- 开启事物_《原神》全新角色甘雨登场 「浮生孰来」活动祈愿开启_新闻资讯_最新手游时评_原创手游资讯...
- python慢为什么用的人还很多_为什么是所有人比python标准慢得多吗?
- 部署到gcp_GCP 网络系统Andromeda --- 概述篇
- linux查看tuxedo版本的命令,tuxedo 监控命令说明
- NLP+词法系列(二)︱中文分词技术简述、深度学习分词实践(CIPS2016、超多案例)
- OpenCV 图像编解码操作【imencode/imdecode】使用
- 身份证验证Java代码
- asp.net970-宠物医院管理系统#毕业设计
- linux搭建dlna媒体服务器,群晖安装DLNA简单配置打造媒体服务器
- C语言输出一个菱形图案,最优方案,不需要分上下两部分输出
- java后台导出pdf,基础用法和样例
- 要让读者在不看任何数学公式的情况下理解傅里叶分析。
- SQL 2012 拒绝了对对象 '表名‘' (数据库 'xxxxx',架构 'dbo')的 SELECT 权限。
- anki怎么设置学习计划_Anki:用这套记忆卡片,学习一切你背不下来的知识 #iOS #Android #PC...
- 三大电信公司同领TDS牌照可能性最大
热门文章
- 【转】微波射频工程师必读经典参考书
- opencore(OC引导)关于修改sle系统权限的问题
- PPT 字体的玩法(师从于珞珈老师)
- 安卓频谱仪audiotool中文_频谱分析仪 TEK2712
- 8、网友问答之串口数据接收与数据强制转换---------labview宝典
- 在python中、下列代码的输出是什么-智慧树知到《Python程序设计基础》章节测试答案...
- 计算机组成原理微指令cpth,计算机组成原理(西安理工大学)实验二 CPTH模型机综合实验——微控制器实验.doc...
- 【数学建模】论文模板和latex模板
- 2021工程伦理慕课答案
- Fortran——安装软件