Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

Запрос информации из сети
http://gplvote.andyhost.ru/forum/viewtopic.php?f=21&t=225
Страница 1 из 2

Автор:  Андрей [ 18 окт 2011, 19:35 ]
Заголовок сообщения:  Запрос информации из сети

Не совсем себе представляю каким образом будет производиться запрос информации из сети и посылка ответа.

Я так понимаю, что должно быть что-то вроде вот такого:
1. Клиент отправляет запрос во всю сеть. Пакет с запросом идет широковещательно по сети.
2. Как только находится клиент у которого есть данная информация, он оправляет пакет только тому клиенту который ее запросил (уже тут есть целевая отправка пакета, о чем уже вроде-бы, Dim писал).
3. Исходный клиент получает данный пакет с ответом и инициирует получение данных;

Инициирование нужно для того, что-бы если информация есть на нескольких клиентах - они не начали слать ее все вместе.

В данном случае не совсем понятно что делать с распространением пакета в п.1 когда информация уже найдена. Не совсем ясно как это распространение остановить.

Автор:  Dim [ 18 окт 2011, 20:45 ]
Заголовок сообщения:  Re: Запрос информации из сети

Если соединения в сети не будут хаотичными, то можно использовать не широковещательный запрос, а что-то типа радарного c обходом структуры. И ждать ответы.

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

Несколько ответов это скорее хорошо. Меньше соблазнов исказить данные.

Автор:  Андрей [ 18 окт 2011, 20:53 ]
Заголовок сообщения:  Re: Запрос информации из сети

Dim писал(а):
Если соединения в сети не будут хаотичными, то можно использовать не широковещательный запрос, а что-то типа радарного c обходом структуры. И ждать ответы.

Возможно, имеет смысл сделать для запросов что-то типа TTL с постепенным увеличением его пока нужная информация не будет найдена.

Dim писал(а):
Несколько ответов это скорее хорошо. Меньше соблазнов исказить данные.

Ну, учитывая что у нас идентификация пакетов будет по хэшу от данных, искажение будет представлять из себя достаточно нетривиальную задачу (если вообще возможную).

Автор:  Dim [ 18 окт 2011, 21:52 ]
Заголовок сообщения:  Re: Запрос информации из сети

Андрей писал(а):
Возможно, имеет смысл сделать для запросов что-то типа TTL с постепенным увеличением его пока нужная информация не будет найдена.
Как в multicast'е? Но это получается надо делать повторные запросы каждый раз?

А если сделать рассылку примерно так?
Отсылаем запросы соседям сразу всем. Соседи уже запрос пересылают по боковым направлениям c задержкой а по прямому без. И не сразу всем, а последовательно через некоторый интервал. Возврат ответа останавливает рассылки. И в направлениях разосланных запросов отсылается сброс запросов, но уже без задержек.

Андрей писал(а):
Ну, учитывая что у нас идентификация пакетов будет по хэшу от данных, искажение будет представлять из себя достаточно нетривиальную задачу (если вообще возможную).
По хешу мы можем запросить те данные о которых нам известно. А вот каким образом запросить анонимные пакеты в голосованиях? У них не будет известного нам хеша.

Автор:  Андрей [ 18 окт 2011, 23:06 ]
Заголовок сообщения:  Re: Запрос информации из сети

Dim писал(а):
Андрей писал(а):
Возможно, имеет смысл сделать для запросов что-то типа TTL с постепенным увеличением его пока нужная информация не будет найдена.
Как в multicast'е? Но это получается надо делать повторные запросы каждый раз?

Ну да. Зато сэкономим трафик сети.

Цитата:
А если сделать рассылку примерно так?
Отсылаем запросы соседям сразу всем. Соседи уже запрос пересылают по боковым направлениям c задержкой а по прямому без. И не сразу всем, а последовательно через некоторый интервал. Возврат ответа останавливает рассылки. И в направлениях разосланных запросов отсылается сброс запросов, но уже без задержек.

Откуда вы взяли такое понятие как "прямое направление". Стоит клиент, у него, допустим 10 подключений в данный помент. С одного из них приходит запрос. Где вы тут видите "прямое направление"? Который коннект из оставшихся 9-и будет "прямым" и почему?

Цитата:
Андрей писал(а):
Ну, учитывая что у нас идентификация пакетов будет по хэшу от данных, искажение будет представлять из себя достаточно нетривиальную задачу (если вообще возможную).
По хешу мы можем запросить те данные о которых нам известно. А вот каким образом запросить анонимные пакеты в голосованиях? У них не будет известного нам хеша.

Кстати, да. Такие тоже будут.

Автор:  Dim [ 18 окт 2011, 23:29 ]
Заголовок сообщения:  Re: Запрос информации из сети

Андрей писал(а):
Ну да. Зато сэкономим трафик сети.
Если это можно будет реализовать мультикастом, то трафик реально снизится. Но в мультикасте так регулируют распространение пакетов. Если планируется сообщение доставить в конечном итоге всем, то и ttl выставляется таким чтобы достигнуть всех узлов.
Андрей писал(а):
Откуда вы взяли такое понятие как "прямое направление". Стоит клиент, у него, допустим 10 подключений в данный помент. С одного из них приходит запрос. Где вы тут видите "прямое направление"? Который коннект из оставшихся 9-и будет "прямым" и почему?
Это если сделать самоорганизацию узлов в пространственно правильные структуры. C одной стороны возня c самоорганизацией и как следствие упрощение(ускорение) поиска нужных данных. C другой случайная структура которую можно представить графом, но и поиск в графе со всеми радостями алгоритмов обхода графа. Сколько там занимает времени обход графа c 10000 узлов?

Те же прелести будут и у маршрутизации пакетов.

Автор:  yurial [ 19 окт 2011, 00:19 ]
Заголовок сообщения:  Re: Запрос информации из сети

Давайте сейчас сосредоточимся на простом варианте с полной репликацией данных - иначе мы так ничего и не напишем.

Автор:  Андрей [ 19 окт 2011, 12:55 ]
Заголовок сообщения:  Re: Запрос информации из сети

Dim писал(а):
Те же прелести будут и у маршрутизации пакетов.

Вы забываете что граф, в общем случае, описывает лишь топологию. В нем нет никаких "прямых" или "боковых" направлений. В нем вообще нет направлений.

Автор:  Андрей [ 19 окт 2011, 12:55 ]
Заголовок сообщения:  Re: Запрос информации из сети

yurial писал(а):
Давайте сейчас сосредоточимся на простом варианте с полной репликацией данных - иначе мы так ничего и не напишем.

Согласен.

Автор:  Dim [ 19 окт 2011, 21:24 ]
Заголовок сообщения:  Re: Запрос информации из сети

Андрей писал(а):
Вы забываете что граф, в общем случае, описывает лишь топологию. В нем нет никаких "прямых" или "боковых" направлений. В нем вообще нет направлений.
Я этого не утверждаю. Направления есть у информации движущейся в структуре узлов организованной в пространстве.

Андрей писал(а):
yurial писал(а):
Давайте сейчас сосредоточимся на простом варианте с полной репликацией данных - иначе мы так ничего и не напишем.
Согласен.
Согласен. Только это годится максимум для преальфы. А то и только прототипа.

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/