JXTA - JXTA

JXTA
Разработчики) Открытый исходный код (разработан сообществом)
Стабильный выпуск
2.7 / март 2011 г.
Операционная система Кроссплатформенность
Платформа Платформа Java, стандартная версия , платформа Java, Micro Edition , C / C ++ / Microsoft .NET
Тип Пиринговый
Лицензия На основе лицензии Apache
Веб-сайт jxse .kenai .com (не поддерживается)

JXTA ( Juxtapose ) был открытым исходным кодом равный-равному спецификации протокола , начатую Sun Microsystems в 2001 году Jxta протоколы были определены как набор XML - сообщений , которые позволяют любое устройство , подключенное к сети , чтобы обмениваться сообщениями и совместной работы независимо друг от базовая топология сети .

Поскольку JXTA был основан на наборе открытых XML-протоколов, он мог быть реализован на любом современном компьютерном языке. Реализации были разработаны для Java SE , C / C ++ , C # и Java ME . Версия C # использует собственные привязки C ++ / C и сама по себе не является полной повторной реализацией.

Одноранговые узлы JXTA создают виртуальную оверлейную сеть, которая позволяет одноранговому узлу взаимодействовать с другими одноранговыми узлами, даже когда некоторые из одноранговых узлов и ресурсов находятся за межсетевыми экранами и NAT или используют другие сетевые транспортные средства. Кроме того, каждый ресурс идентифицируется уникальным идентификатором, 160-битным URN SHA-1 в привязке Java, так что одноранговый узел может изменить свой адрес локализации, сохраняя при этом постоянный идентификационный номер.

Статус

«В ноябре 2010 года Oracle официально объявила о выходе из проектов JXTA». По состоянию на август 2011 года проект JXTA еще не продолжался или иным образом не объявлялось о сохранении операций, не было принято ни решения о сборке его Правления, ни ответа Oracle относительно ожидающего запроса на перенос исходного кода в лицензионную версию Apache. 2.

Протоколы в JXTA

  • Протокол Peer Resolver
  • Протокол равноправной информации
  • Протокол рандеву
  • Протокол однорангового членства
  • Протокол привязки труб
  • Endpoint Routing Protocol

Категории сверстников

JXTA определяет две основные категории одноранговых узлов: граничные узлы и супер-одноранговые узлы . Супер-одноранговые узлы можно разделить на одноранговые узлы рандеву и ретрансляции . Каждый одноранговый узел имеет четко определенную роль в одноранговой модели JXTA.

  • В крае сверстники обычно определяются как равноправные узлы , которые имеют переходное, низкую пропускную способность подключения к сети. Обычно они находятся на границе Интернета, спрятаны за корпоративными брандмауэрами или имеют доступ к сети через неспециализированные соединения.
  • Рандеву равным является специальной равным , который отвечает за координацию коллег в сети Jxta и обеспечивает необходимый объем для распространения сообщений. Если одноранговые узлы расположены в разных подсетях, тогда в сети должен быть хотя бы один одноранговый узел Rendezvous.
  • Relay сверстники позволяют сверстникам , которые находятся за брандмауэрами или системы NAT , чтобы принять участие в сети JXTA. Это выполняется с помощью протокола, который может проходить через брандмауэр, например, HTTP .

Любой одноранговый узел в сети JXTA может быть рандеву или ретранслятором, если у него есть необходимые учетные данные или требования к сети / хранилищу / памяти / ЦП.

Рекламные объявления

Объявление - это XML-документ, который описывает любой ресурс в сети P2P (одноранговые узлы, группы, каналы, службы и т. Д.). Коммуникацию в JXTA можно рассматривать как обмен одной или несколькими рекламными объявлениями через сеть.

Трубы

Трубы - это виртуальный канал связи, используемый JXTA для обмена сообщениями и данными. Трубы асинхронные, ненадежные и однонаправленные. В основном есть три типа труб:

  • Unicast
  • Uni-cast Secure
  • Распространять

Группы сверстников

Группа одноранговых узлов обеспечивает область распространения сообщений и логическую кластеризацию одноранговых узлов. В JXTA каждый одноранговый узел является членом группы по умолчанию NetPeerGroup, но данный одноранговый узел может быть членом многих подгрупп одновременно. Один партнер может играть разные роли в разных группах; он может действовать как пограничный узел в одной группе, но как место встречи в другой.

В каждой группе должен быть хотя бы один узел рандеву, и отправка сообщений между двумя группами невозможна.

Сеть рандеву

Одноранговые узлы Rendezvous имеют оптимизированный механизм маршрутизации, который позволяет эффективно распространять сообщения, отправленные подключенными к ним граничными узлами. Это достигается за счет использования слабо согласованной сети.

Каждый одноранговый узел рандеву поддерживает Rendezvous Peer View (RPV), список известных узлов рандеву, упорядоченный по идентификатору узла. Не существует какого-либо механизма для обеспечения согласованности всех RPV в сети JXTA, поэтому данный RPV может иметь временное или постоянное несовместимое представление о других узлах рандеву. Как только наблюдается низкий уровень оттока , то есть стабильная сеть, в которой одноранговые узлы не присоединяются и не покидают слишком часто, список RPV каждого однорангового узла будет сходиться, поскольку каждый рандеву одноранговый узел обменивается случайным подмножеством своего RPV с другими рандеву одноранговыми узлами. время от времени.

Когда пограничный одноранговый узел публикует объявление, индекс этого объявления передается на рандеву через систему, называемую распределенным индексом общих ресурсов (SRDI). После этого рандеву применяет функцию распределенной хеш-таблицы (DHT), чтобы он мог переслать индекс другому партнеру в списке RPV. В целях репликации он отправит этот индекс соседям выбранного однорангового узла в списке RPV.

Процесс поиска требует использования той же функции DHT для обнаружения узла рандеву, который отвечает за хранение этого индекса. Как только узел рандеву будет достигнут, он перешлет запрос пограничному узлу, опубликовавшему рекламу, и этот одноранговый узел свяжется с узлом, который выдает запрос.

Если функция DHT не может найти однорангового узла, отвечающего за рекламу, запрос будет перенаправляться вверх и вниз по списку RPV до тех пор, пока не будет найдено совпадение, запрос не будет прерван или не достигнет пределов списка RPV. Этот процесс называется случайным блужданием.

Смотрите также

Рекомендации

Внешние ссылки