Проект "Свободные голосования"

Электронная системы голосований через интернет
Текущее время: 27 ноя 2024, 13:21

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: 17 янв 2012, 11:43 
Не в сети

Зарегистрирован: 11 янв 2012, 11:51
Сообщения: 83
yurial писал(а):
IgorK писал(а):
Юрий, не сомневаюсь в Вашей квалификации в разработке проектов и написании кода приложений, использующих сетевые ресурсы.

Мне прям больше ответить нечего.
Вы хотите понять, что мы делаем или оспорить принятые решения?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 янв 2012, 11:51 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
IgorK писал(а):
Я хочу понять, что вы делаете.

Вы спрашиваете - мы отвечаем. Документов нет. То что ваши вопросы глупые - думаете только вы.
IgorK писал(а):
Если же и когда у меня возникнут сомнения в правильности принятых вами решений, то я попытаюсь привести весомые аргументы в обосновании своей позиции, и, соответственно, в критике вашей.

Пожалуйста, в отдельной теме.

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 янв 2012, 12:05 
Не в сети

Зарегистрирован: 11 янв 2012, 11:51
Сообщения: 83
Я подожду ответы на вопросы и опровержение/подтверждение положений, сформулированных мной в предшествующих постах. Мне торопиться некуда :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 янв 2012, 23:12 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Соединения держаться постоянно пока запущен демон. Фронтенд при этом может быть и не запущен или запущен лёгкой наблюдалкой. Демон стартует с машиной и финиширует вместе с ней.
Расход ресурсов есть, но пользователю за это даётся "конфета". ;)
Прототип делается с расчётом на идеальную сеть. Его задача определить работоспособность идеи и возможно отыскать альтернативные решения. Если отрабатывать сейчас все варианты подключения пользователей, то мы на пол года увязнем только в установке соединения.
Варианты установки соединения можно реализовать позднее. Они не оказывают влияния на архитектуру системы.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 16:38 
Не в сети

Зарегистрирован: 11 янв 2012, 11:51
Сообщения: 83
Dim писал(а):
Соединения держаться постоянно пока запущен демон.

Это, мягко скажем, нестандартный метод. Большинство программ работы с сетью разрывают соединение, если все данные, которые надо передать в обе стороны, уже переданы.
Соединение может инициироваться узлом при возникновении на события. Например, пользователь запустил программу и проголосовал или хочет посмотреть результаты. Данные на соединенных узлах синхронизируются. Если есть необходимость, передаются "транзитные" данные. Все, работа закончена, соединение разорвано, ресурсы освобождены.
Не понимаю, почему такой принцип работы вы не можете заложить в софт узла.

Dim писал(а):
Расход ресурсов есть, но пользователю за это даётся "конфета". ;)

Очевидно, "конфеткой" будет постоянные зависания компа при работе вашего софта из-за различных событий в присоединенной сети других узлов:-).

Dim писал(а):
Прототип делается с расчётом на идеальную сеть. Его задача определить работоспособность идеи и возможно отыскать альтернативные решения. Если отрабатывать сейчас все варианты подключения пользователей, то мы на пол года увязнем только в установке соединения.Варианты установки соединения можно реализовать позднее. Они не оказывают влияния на архитектуру системы.

Не согласен с Вами. Во-первых, идеальных сетей не бывает в природе. Сейчас все ужасно (и обоснованно) боятся вирусов и прочей проказы, гуляющей по инету. Особенно в корпоративных сетях. И руководствуются принципом "защиты много не бывает".
Во-вторых, в проектируемой вами системе п2п есть, как минимум, 2 глобальные задачи, имеющие потенциально "узкие места":
1. Хранение и обработка данных и публичных ключей. Проблема в потенциально большом объеме. Решается, насколько я понял, иерархией (по-вашему, "распределенная БД"). Вопрос можно детально разработать теоретически и проверить на "прототипе" фактически не идею, а работоспособность софта. (При этом мне пока непонятен принцип хранения большого кол-ва публичных ключей, но сейчас не об этом) ;
2. Распостранение информации по сети узлов. Суть проблемы - как это распостанение организовать. Вы сейчас, насколько я понял, идете по варианту, когда каждый узел может без проблем инициировать соединение с другим узлом. Я утверждаю, что это невозможно, т.к. на узлах или на шлюзах, за которыми они работают, может быть установлена защита любого уровня. По-моему, соединение таких узлов можно организовать только посредством третьего - "сервера", принимающего оба соединения и организующего передачу данных от одного узла к другому через себя. Не знаю, какие компы в системе будут выполнять функцию таких "серверов". Возможно, надо расчитывать, что некоторые узлы системы не будут прикрыты защитой. Возможно, надо так или иначе разворачивать сеть специальных транзитных узлов.
Как вы понимаете, алгоритм работы софта, ответственного за распостранение информации, может отличается (а если еще и узел разрывает соединение после передачи данных, то сильнее).

При отработке проблемы распостранения данных на прототипе можно опустить вопросы криптографии и голосований. Достаточно вбрасывать в систему некие болванки-заменители. Я готов поучаствовать в создании такого прототипа, в т.ч. и тремя-четырьмя компами.
На первое время, кстати, вы можете попробовать "пробить" защиту - добраться до моих компов так, как планируется добираться до узлов системы п2п. Необходимые параметры компов, если надо, я сообщу мылом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 18:03 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
IgorK писал(а):
Dim писал(а):
Соединения держаться постоянно пока запущен демон.

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

У вас неверная информация. Самы простой пример - keepalive сессии от броузера к серверу.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 18:04 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
IgorK писал(а):
Это, мягко скажем, нестандартный метод.
Вполне обычный вариант. Держать открытыми десяток соединений менее накладно чем пытаться по необходимости устанавливать соединение с сетью при неизвестности доступности узлов с которыми соединяешься. В биткоине это решено запуском irc канала в котором доступные из интернета клиенты указывают что могут принимать соединения. Собственно это слабое место системы. (Хотя может и не совсем слабое. Я не исследовал систему irc.) Но в нашем варианте это одно из направлений атаки.

Кроме того сеть постоянно включенных узлов используется для анонимизации пакетов при тайных голосованиях. И данные в сети проще искать при постоянно подключенных узлах, чем ждать когда хранящий информацию соизволит выйти на связь.
IgorK писал(а):
Очевидно, "конфеткой" будет постоянные зависания компа при работе вашего софта из-за различных событий в присоединенной сети других узлов:-).
Влиять на касающиеся тебя лично решения уже само по себе "конфетка". И какое влияние на комп будут любые события в присоединённых узлах? Расшифруйте. В моём видении могут исчезнуть от одного до всех коннектов к нодам сети. Ну так устанавливать новые согласно координации приходящей по имеющимся коннектам. Или заново инициировать процедуру подключения. Собственно, так работает скайп. Что-то я не слышал миллионов жалоб на то что он вешает комп.
IgorK писал(а):
Не согласен с Вами. Во-первых, идеальных сетей не бывает в природе.
Прототип системы не строится для реальной работы. Если вдруг какойто узел не может присоединиться к сети, то мы на это повесим тикет и при разработке рабочей версии отработаем. Сейчас речь о проверке принципа. Малозначимые детали можно опустить. Чем меньше детализации будет в прототипе, тем быстрее его можно запустить. Это XP.
IgorK писал(а):
1. Хранение и обработка данных и публичных ключей. Проблема в потенциально большом объеме. Решается, насколько я понял, иерархией (по-вашему, "распределенная БД"). Вопрос можно детально разработать теоретически и проверить на "прототипе" фактически не идею, а работоспособность софта. (При этом мне пока непонятен принцип хранения большого кол-ва публичных ключей, но сейчас не об этом) ;
Для прототипа это неущественная деталь. В тестовой эксплуатации будет хорошо если несколько десятков узлов. А для них вопрос решается полной репликой. На дальнейший вариант можно данные раздробить, а доступность данных обеспечить кодеком Рида-Соломона. Но это неспешная задача и не для прототипа.
IgorK писал(а):
2. Распостранение информации по сети узлов. Суть проблемы - как это распостанение организовать.
Вот для изучения этого вопроса и нужен прототип.
IgorK писал(а):
Вы сейчас, насколько я понял, идете по варианту, когда каждый узел может без проблем инициировать соединение с другим узлом.
Мы идем по варианту когда узел имеет несколько постоянных соединений с распределённой сетью. Исходящие соединения можно установить всегда, когда вообще можно установить соединение. Вопрос о том что не каждый узел принимает входящие соединения сейчас не актуален. В сети достаточно узлов с доступностью входящих соединений.
IgorK писал(а):
Как вы понимаете, алгоритм работы софта, ответственного за распостранение информации, может отличается (а если еще и узел разрывает соединение после передачи данных, то сильнее).
Вот мы и не понимаем зачем усложнять себе задачу, если в любом случае ставится задача постоянной доступности.
IgorK писал(а):
На первое время, кстати, вы можете попробовать "пробить" защиту - добраться до моих компов так, как планируется добираться до узлов системы п2п. Необходимые параметры компов, если надо, я сообщу мылом.
Если кто-то не желает участвовать, то вся сеть в целом не имеет морального права "пробивать" защиту. Если вы не можете из-за своей защиты соединиться с доступным узлом сети, то задача установления соединения просто не может быть решена.

Хотел сослаться на классиков, но не смог вспомнить из кого цитата и за её дословную точность.
Цитата:
Никогда не следует проектировать построение системы исходя из недостатков ресурсов. Такой подход породил проблемы дат, когда сэкономили пару байт. И проблему с адресацией сети в протоколе IPv4. Всегда работайте с расчётом, что ресурсы будут. Отрабатывайте недостаток ресурсов только тогда когда с ним столкнётесь.
Как-то так.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 18:04 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
IgorK писал(а):
Dim писал(а):
Соединения держаться постоянно пока запущен демон.

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

О keep-alive слышали?
ICQ у вас видимо тоже создают соединение только когда вы хотите отправить сообщение :D
IgorK писал(а):
Соединение может инициироваться узлом при возникновении на события. Например, пользователь запустил программу и проголосовал или хочет посмотреть результаты. Данные на соединенных узлах синхронизируются. Если есть необходимость, передаются "транзитные" данные. Все, работа закончена, соединение разорвано, ресурсы освобождены.
Не понимаю, почему такой принцип работы вы не можете заложить в софт узла.

Ну вы можете взять и сделать )
IgorK писал(а):
Dim писал(а):
Расход ресурсов есть, но пользователю за это даётся "конфета". ;)

Очевидно, "конфеткой" будет постоянные зависания компа при работе вашего софта из-за различных событий в присоединенной сети других узлов:-).

Ваши программы всегда зависают, когда происходят события в соседней сети?
IgorK писал(а):
Dim писал(а):
Прототип делается с расчётом на идеальную сеть. Его задача определить работоспособность идеи и возможно отыскать альтернативные решения. Если отрабатывать сейчас все варианты подключения пользователей, то мы на пол года увязнем только в установке соединения.Варианты установки соединения можно реализовать позднее. Они не оказывают влияния на архитектуру системы.

Не согласен с Вами. Во-первых, идеальных сетей не бывает в природе. Сейчас все ужасно (и обоснованно) боятся вирусов и прочей проказы, гуляющей по инету. Особенно в корпоративных сетях. И руководствуются принципом "защиты много не бывает".
Во-вторых, в проектируемой вами системе п2п есть, как минимум, 2 глобальные задачи, имеющие потенциально "узкие места":
1. Хранение и обработка данных и публичных ключей. Проблема в потенциально большом объеме. Решается, насколько я понял, иерархией (по-вашему, "распределенная БД"). Вопрос можно детально разработать теоретически и проверить на "прототипе" фактически не идею, а работоспособность софта. (При этом мне пока непонятен принцип хранения большого кол-ва публичных ключей, но сейчас не об этом) ;
2. Распостранение информации по сети узлов. Суть проблемы - как это распостанение организовать. Вы сейчас, насколько я понял, идете по варианту, когда каждый узел может без проблем инициировать соединение с другим узлом. Я утверждаю, что это невозможно, т.к. на узлах или на шлюзах, за которыми они работают, может быть установлена защита любого уровня. По-моему, соединение таких узлов можно организовать только посредством третьего - "сервера", принимающего оба соединения и организующего передачу данных от одного узла к другому через себя. Не знаю, какие компы в системе будут выполнять функцию таких "серверов". Возможно, надо расчитывать, что некоторые узлы системы не будут прикрыты защитой. Возможно, надо так или иначе разворачивать сеть специальных транзитных узлов.
Как вы понимаете, алгоритм работы софта, ответственного за распостранение информации, может отличается (а если еще и узел разрывает соединение после передачи данных, то сильнее).

Можете заняться этим и спроектировать "идеальную" систему. Мы к тому моменту, наверное, уже реализуем свою.

IgorK писал(а):
На первое время, кстати, вы можете попробовать "пробить" защиту - добраться до моих компов так, как планируется добираться до узлов системы п2п. Необходимые параметры компов, если надо, я сообщу мылом.

А зачем нам добираться до ваших компов?

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 18:48 
Не в сети

Зарегистрирован: 11 янв 2012, 11:51
Сообщения: 83
yurial писал(а):
О keep-alive слышали?
ICQ у вас видимо тоже создают соединение только когда вы хотите отправить сообщение :D

Другого выхода нет - займусь на досуге подробным изучением. Возможно, появятся более веские доводы с техническими деталями.
yurial писал(а):
Ваши программы всегда зависают, когда происходят события в соседней сети?

Ну, то что происходит в "соседней сети", мало кого волнует. А вот когда подвисают открытые соединения и/или система пытается законнектится куда-то и не может, то да, тормоза бывают. Тем более, что сетевые ресурсы используются многими приложениями "одновременно".
yurial писал(а):
Ну вы можете взять и сделать ) Можете заняться этим и спроектировать "идеальную" систему. Мы к тому моменту, наверное, уже реализуем свою.

Бог, как грится, в помощь. Я не буду делать - критиковать чужие поделки проще :-)
yurial писал(а):
А зачем нам добираться до ваших компов?

На этом, как я понял, построен принцип взаимодействия узлов в вашей п2п системе - в инициации коннекта к компам за NAT или другой "защитой". Замечу в скобках, что так или иначе все компы защищены. А незащищенные уже заражены всякими нехорошими вирусами и, как вариант, входят в состав т.н. ботнетов.
Впрочем, вам проще добраться до узлов в ВАШЕЙ "идеальной" сети для проверки работы "прототипа" :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 19:47 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
IgorK писал(а):
А вот когда подвисают открытые соединения и/или система пытается законнектится куда-то и не может, то да, тормоза бывают.
Это как раз следствие открытия соединений по необходимости. Зависают не открытые соединения, а так называемые полуоткрытые. Они обрабатываются внутри ядра системы и реально могут подвесить комп.
IgorK писал(а):
Другого выхода нет - займусь на досуге подробным изучением.
В помощь Вам будет Джонс и Оланд "Программирование в сетях Microsoft Windows" и маст рид Стивенс "UNIX разработка сетевых приложений" 3-е издание.
IgorK писал(а):
в инициации коннекта к компам за NAT или другой "защитой"
Эти должны сами устанавливать соединения. Если защита не позволяет устанавливать соединения к узлам снаружи, то на фиг нужна такая защита?

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB