
Читаю доку на The Free Network Project P2P.
Нашел удивительно изящное решение.
Как, в децентрализованной неуправляемой сети (без доверия и надежности узлов) обеспечить более-менее надежное хранение и поиск файлов?
А вот как:
1. Когда ищем файл, выбираем сначала одного из соседей (по определенному алгоритму. в принципе - не важно какому). Этот сосед ищет файл у себя и других соседей, и возвращает ok или error. Если ок - то все ясно, все хорошо, нашли. Если еррор - ищем у другого соседа. Достаточно просто.
2. А вот как размещать файлы? А вот тут и есть изящное решение - а давайте сначала поищем этот файл. Там, куда мы забредем в поисках файла (там, куда все забредают в поисках такого файла) - там мы его и положим. Не важно, как мы ищем. Главное класть туда, где будем искать.
Вот вам и ТРИЗ.
Пояснение из реальной жизни: если утром, с похмелья, вы не можете найти свои носки, (искать тяжело - все время тянет к холодильнику за рассолом), то вечером, надо класть их в холодильник, под банку с рассолом.