젝스타

JXTA
젝스타
개발자오픈 소스(커뮤니티 개발)
안정적 해제
2.7 / 2011년 3월
운영 체제크로스 플랫폼
플랫폼Java Platform, Standard Edition, Java Platform, Micro Edition, C/C++/Microsoft .네트
유형피어투피어
면허증Apache 라이센스 기반
웹사이트jxse.kenai.com (유지되지 않음)

JXTA(Juxtapose)는 Sun Microsystems가 2001년에 시작한 오픈 소스 피어 투 피어 프로토콜 규격이다.[1]JXTA 프로토콜은 네트워크에 연결된 모든 장치가 기본 네트워크 토폴로지와 독립적으로 메시지를 교환하고 협업할 수 있도록 하는 XML 메시지 집합으로 정의되었다.

JXTA는 일련의 개방형 XML 프로토콜에 기반했기 때문에, 그것은 어떤 현대 컴퓨터 언어로도 구현될 수 있었다.자바 SE, C/C++, C#, Java ME를 위해 구현이 개발되었다. C# Version은 C++/C 네이티브 바인딩을 사용했으며, 그 자체로 완전한 재구현은 아니었다.

JXTA 피어는 일부 피어와 리소스가 방화벽과 NAT 뒤에 있거나 다른 네트워크 전송을 사용하는 경우에도 피어가 다른 피어와 상호 작용할 수 있도록 하는 가상 오버레이 네트워크를 생성한다.또한 각 자원은 고유 ID인 160비트 SHA-1 URN으로 자바 바인딩으로 식별되어 피어가 식별 번호를 일정하게 유지하면서 현지화 주소를 변경할 수 있다.

상태

2010년 11월 오라클은 JXTA 프로젝트에서 탈퇴를 공식 발표했다.[2]2011년 8월 현재, JXTA 프로젝트는 아직 계속되지 않았거나 운영 유지에 대한 발표가 없었으며, 이사회 의결과 소스 코드를 Apache 라이센스 버전 2로 이전하라는 보류 중인 요청에 대한 Oracle의 답변도 없었다.[2]

JXTA의 프로토콜

  • 피어 리졸버 프로토콜
  • 피어 정보 프로토콜
  • 랑데부 프로토콜
  • 피어 멤버십 프로토콜
  • 파이프 바인딩 프로토콜
  • 엔드포인트 라우팅 프로토콜

피어 범주

JXTA는 에지 피어와 슈퍼 피어의 두 가지 주요 피어를 정의한다.슈퍼 피어는 랑데부 동료와 릴레이 동료로 더 나눌 수 있다.각 피어는 JXTA 피어 투 피어 모델에서 잘 정의된 역할을 가지고 있다.

  • 에지 피어는 일반적으로 일시적인 저대역 네트워크 연결을 가진 피어로 정의된다.이들은 보통 인터넷의 경계에 거주하며, 기업 방화벽 뒤에 숨어 있거나, 비전용 연결을 통해 네트워크에 접속한다.
  • 랑데부 피어는 JXTA 네트워크에서 피어의 조정을 담당하는 특수 목적 피어로, 메시지 전파에 필요한 범위를 제공한다.피어가 다른 서브넷에 있는 경우, 네트워크에는 적어도 하나의 랑데부 피어가 있어야 한다.
  • 릴레이 피어는 방화벽 또는 NAT 시스템 뒤에 있는 피어가 JXTA 네트워크에 참여할 수 있도록 허용한다.이는 예를 들어 HTTP와 같이 방화벽을 통과할 수 있는 프로토콜을 사용하여 수행된다.

JXTA 네트워크의 모든 피어는 필요한 자격 증명이나 네트워크/스토리지/메모리/CPU 요건을 갖추는 즉시 랑데부 또는 릴레이가 될 수 있다.

광고

광고는 P2P 네트워크의 모든 자원(피어, 그룹, 파이프, 서비스 등)을 설명하는 XML 문서다.JXTA에서의 통신은 네트워크를 통한 하나 이상의 광고의 교환이라고 생각할 수 있다.

파이프

파이프는 JXTA가 메시지와 데이터를 교환하기 위해 사용하는 가상 통신 채널이다.파이프는 비동기적이고 신뢰할 수 없으며 단방향이다.파이프에는 기본적으로 세 가지 유형이 있다.

피어 그룹

피어 그룹은 메시지 전파 범위와 피어의 논리적 클러스터링을 제공한다.JXTA에서 모든 피어는 기본 그룹 NetPeerGroup의 멤버가 되지만 지정된 피어는 동시에 많은 하위 그룹의 멤버가 될 수 있다.피어는 서로 다른 그룹에서 다른 역할을 할 수 있다. 한 그룹에서는 엣지 피어 역할을 할 수 있지만 다른 그룹에서는 랑데부 역할을 할 수 있다.

각 그룹에는 적어도 하나의 랑데부 피어가 있어야 하며 두 그룹 사이에 메시지를 보낼 수 없다.

랑데부 네트워크

랑데부 피어는 연결된 에지 피어가 밀어주는 메시지의 효율적인 전파를 가능하게 하는 최적화된 라우팅 메커니즘을 가지고 있다.이것은 느슨하게 일관된 네트워크의 사용을 통해 달성된다.

각 랑데부 피어는 피어 ID가 명령한 알려진 랑데부 피어 목록인 랑데부 피어 뷰(RPV)를 유지한다.JXTA 네트워크 전체에 걸쳐 모든 RPV의 정합성을 강제하는 메커니즘이 없으므로, 주어진 RPV는 다른 랑데부 피어들에 대해 일시적이거나 영구적으로 일관되지 않는 관점을 가질 수 있다.낮은 회전율, 즉 피어가 너무 자주 가입하거나 떠나지 않는 안정적인 네트워크가 있는 즉시, 각 피어의 RPV 목록은 각 랑데부 피어가 자신의 RPV의 임의 서브셋을 다른 랑데부 피어와 교환하면서 수렴될 것이다.

엣지 피어가 광고를 게재할 때, 이 광고의 색인은 공유 자원 분산 지수(SRDI)라는 시스템을 통해 랑데부지로 밀려난다.그 후, 랑데부에서는 RPV 목록의 다른 피어로 인덱스를 포워드 할 수 있도록 DHT(분산 해시 테이블) 기능을 적용한다.복제를 위해, 그것은 RPV 목록에서 선택된 랑데부 피어의 이웃에 이 색인을 보낼 것이다.

조회 프로세스에서는 동일한 DHT 기능을 사용하여 해당 인덱스의 저장을 담당하는 랑데부 피어를 검색해야 한다.일단 랑데부 피어에 도달하면, 그것은 광고를 게재한 가장자리 피어로 쿼리를 전달할 것이고, 이 피어는 쿼리를 발행하는 피어와 접촉할 것이다.

DHT 기능이 광고를 담당하는 피어를 찾을 수 없는 경우, 일치가 발견되거나 쿼리가 중단되거나 RPV 목록의 한계에 도달할 때까지 쿼리는 RPV 목록의 위아래로 전달된다.이 과정을 무작위 걷기라고 한다.

참고 항목

참조

  1. ^ Gong, L. "JXTA in a Nutshell". O'Reilly, 2002. {{cite web}}:누락 또는 비어 있음 url=(도움말)
  2. ^ a b Verstrynge, Jérôme. "Latest News". JXTA Kenai Project. Kenai. Archived from the original on 2011-09-28. Retrieved 2 Sep 2011.

외부 링크