Грид-мобильность: проблемный аспект

    В дополнение к топику про грид-мобильность.

    Возник вопрос: а каким образом в системе без централизации будет назначаться ID пользователя, который зарегистрировался только что?

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

    Другой вариант: назначать ID «не сразу». При прописывании в Сети берем ближайшие номера и смотрим, какие разряды уже точно забиты. Если, скажем, в окружении у пойнтов-соседей существует разряд (в двоичном представлении) номер 32, то ID начинается с разряда 33, в запросе отмечается «32-й равен нулю», и запрос передается на следующие пойнты. Там, где обнаруживается отсуствие заполненного разряда, в ID прописывается соответсвующий разряд.

    Сам чувствую, что идея сырая, но это похоже на алгоритм поимки льва в Африке: делим Африку пополам, отбрасываем ту, в которой льва нет, повторяем до поимки…
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 20

      +1
      IRC делало копию на каждом.
      При разрыве сети возникали дубли, при соединении убивались те, кто зарегистрился позже и оставляли тех, кто раньше

      Вообще в таком случае лучше доменная структура +
        0
        Доменная структура подразумевает иерархию доменов и узлы, которые хранят DNS, общаясь между собой.

        А в предполагаемой сети доменов не будет, поскольку централизация отсутствует как принцип.

        Хотя, конечно, можно дойти до уровня микродоменов... но все равно непонятно, как будут общаться на сей предмет DNS-службы, если связь доступна только в пределах видимости.
          0
          Вопрос тут только один - "кто главный"? :) Т.е почему я должен верить какому-то серверу что userID=123123 ? А вдруг его взломали и он шлет не то что должен?

          Доменная - это когда много доменов. А тут одинарная - только IDservera+IDна сервере. Коллизий между серверами будет меньше чем между всеми клиентами.

          Кроме того так понятнее где смотреть все данные пользователя.

          Или же принцип сетей взять - выбирается главный сервер и backup динамически. Но он один - и все на нем регистрятся.
            0
            Насчет "кто тут главный" - если бы все было так гладко, как Вы пишете, мы бы не знали о проблемах фишинга.

            А что касается "один сервер" или "несколько серверов"... Это все иерархические сети, с двумя уровнями (минимум).
            И весь жЫр в том, чтобы понять, как можно реализовать это на одном уровне - тогда избавимся от иерархии. В этом как раз ключ к мобильности.
              0
              Даже если не проблема фишинга - всеравно надо знать "кто главный" :)
              Привер - e-mail - главный каждый сервер сам для себя. На остальные не влияет, остальным не подчиняется. DNS - отвечает за свою часть - есть вышестоящий, который "назначает" нижестоящий и точно так же он может отозвать полномочия. IRC - есть группа админов сети, есть админы конкретных серваков. Группа решает подключать ли новый сервер, админ решает к какой сети подключаться, но как только подключился - главные админы сети, они полностью управляют всем. Jabber - тоже каждый себе главный.

              При этом всем. Если главный - каждый себе, то ID(username) уникален только в рамках каждого узла. Если есть кто-то главный над группой, то ID уникален в группе (IRC, DNS).

              Т.е нужна принципиальная идея - как вообще может существовать возможность назначать кому-то IDы. И выяснить кто в этой сети главный - автоматом получим ответ как формировать ID-ы :)

              Посмотри на проект http://freehaven.net/.
                0
                Честно сказать, не впечатлился.
                И снова повторю: я намерен уйти от иерархии, а Вы предлагаете к ней вернуться.
                В сети без иерархий нет "главного". Никого. Собственно, таких сетей вроде бы вообще еще не создали.

                Мелькнула одна мыслишка... При производстве аппарата связи в него встраивается крохотный блочок генерации случайных чисел, основанный на настоящем физическом процессе рандомизации. Например, количестве атомов некоторого изотопа с коротким (не более 30 дней) периодом полураспада, с таким расчетом, чтобы разрядность данного числа покрывала требуемое количество номеров.
                Тогда при активации получаем номер, исходя из случайного числа. Jedem das seine numer :)

                Вероятность их совпадения вполне можно рассчитать, и предпринять меры по ее минимизации.

                А "назначать ID" в условиях грид-мобильности - тупиковый путь. Поелику никакой "главсервер" не сможет отслеживать все перемещения всех. и тогда придется выходить на многоуровневую иерархию, и тот, кто контролирует самый верхниц узел - контролирует всю Сеть. Чего хотелось бы избежать (ну параноик я, не люблю Большого Брата! :) )
                  0
                  Хорошо, тогда такой вопрос - а зачем вообще нужен уникальный ID в таких условиях? Т.е с тебя список операций в которых он участвет и указание кто и где его использует (программа или пользователь). Посмотрим нужен ли он такой вообще :) И выполняет ли свою роль.

                  Есть еще такое - ID, которые существует только на время установления сесии. Если какой-то сервер1 чем-то обменивается с сервер2, то по этому каналу сообщения помечаются local-ID1, local-ID2. Но при следующем соединении числа уже дригие. Дальше уже каждый сервер сам заботится о том чтобы сообщения попали куда надо :)
                    0
                    И как он об этом заботится?
                    Вот я подписал мессадж "Сервак Вася" и отправил "серваку Пете", а на следующей сессии я уже "Сервак Саша", а он - "Сервак Мистер ЗалипупинГск".
                    Каким образом сообщение дойдет до него? Все-таки нужен стационарный идентификатор, который не меняется. Иначе и геолокация меняется, и имя меняется, и каким образом доставить сообщение адресату - становится вообще непонятно.
                      0
                      никак не дойдет :)
                      если есть Вася@севак1 и он шлет Пете@сервер2 и оба включены, то дойдет. Даже если через 3тий сервер - дойдет. Но если кто-то выключен, то досвидания. Потому что какой дурак будет хранить неизвестно кого сообщения для неизвестно кого отправленные? :)

                      А по поводу доставить - вопрос ведь в чем - откуда взялась информация о пользователе.
                      Пример - зашел в чат, познакомился (по нику), отправил ему личное сообщение - в качестве ID-а я использую "имя@комната чата@сервер". И мне не надо знать его какой-то там уникальный в мире ID.
                      Пример второй - если я нахожу его по поиску в какой-то базе - опять же надо знать "имя@база@сервер" - он сам разберется (потому что показывает в базе только тех, кто подключен - точнее тех, чьи сервера в онлайне).

                      Т.е если главный каждый сам себе - то каждый сервер отвечает только за своих пользователей - это значит он отвечает за проверку "есть ли такой" и за "доставку offline сообщений".
                        0
                        Да, забыл.
                        Теперь пользователю чтобы выжить в таком мире надо иметь кучу аккаунтов на разных серверах (для backup). А чтобы не мучаться етим надо механизм указания "это все я тоже". Что для этого надо?
                        1. умный клиент, который конектится к остаточному числу серваков (можно не ко всем). И показывает сообщения как будто пришедшие с одного - без разделения на сераки. (хотя можно ввести степень достоверности).
                        2. способ хранения контактов на клиенте (каждый за себя ведь оотвечает)
                        3. способ бекапить контактные данные на сервере
                        4. способ добавть к пачке своих регистаций новую на новом сервере и отправить всем своим контактам сообщение - "это вот тоже я" возможно с подтверждением "Ч1 отправляет random код ->Ч2 (акк1)" "клиент Ч2 сам отправляет его через акк2 ->Ч1" - тот удостоверяется что код совпал и добавляет этот акк2 к себе как "синоним Ч2".

                        Для отправки сообщений использется любой который в online. Подтверждение о доставке обязательно.
                          0
                          механизм указания "это все я тоже" - ну то есть, все-таки универсальный ID, просто в виде мета-идентификатора. С возвращеньицем! :)

                          если есть Вася@севак1 и он шлет Пете@сервер2 и оба включены, то дойдет. Даже если через 3тий сервер - дойдет. Но если кто-то выключен, то досвидания. Потому что какой дурак будет хранить неизвестно кого сообщения для неизвестно кого отправленные?

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

                          Ну, а если захочется отключиться от всех, посидеть на берегу, рекой полюбоваться? В одиночку? Тогда что? "Пусть весь мир подождет"? - выйду в Сеть, напишете мне заново?

                          Или если пользователь выпал из зоны покрытия.

                          Несколько коряво получается...

                          Потому и думю над универсальным ID, который можно реализовать в условиях грид-мобильной сети.
                            0
                            Как же ;)
                            Я люблю иерархии (или же не их, а облака связей тоже люблю. А тебе везде мерещится "универсальный ID" :))))

                            Ну нету его в моем примере!
                            Ты трактовал "это все я тоже", как "сказать всему миру это все я тоже". Т.е сам внес в контекст универсальный (всему миру) ID.

                            Я же говорил про то что - "способ указать только своим людям которые в контакте у тебя что это тоже ты".

                            :)

                            Еще раз - напиши зачем.
                            Потому что есть задача, которая решается этим UID, которую ты считаешь очень важно, но на самом деле это не на столько важная задача, чтобы ради нее жерртвовать многим.

                            Задача эта - "передать не используя Интернет информацию о контакте пользователя" :)) Все просто. Сказать другу, написать на визитке и т.п. Больше ни для чего это не надо!

                            Для убеждения в уникальности не надо! Потому что уникальность не нужна! Если человек у тебя в контакте и ты видешь такой же ник на другом сайте - ты просто посылаешь запрос ему "эй! - это ты на сайте Х или нет?" и он (аавтоматом! сервер за него или клиент) ответит - да это я! или нет не я! или "ну я, но не хочу светиться".

                            Сам понимаешь что первую задачу можно решить совершенно без использования UID ;) Кучей способов.

                            Зато! Решается проблема спама (нет UID- нет и спама), подлога (аналогично), фишинга (а что ловить?) и всего остального.

                            И все эти проблемы ты соглашаешься терпеть только потому что хочешь иметь возможность сказать кому-то вслух словами этот UID ;)

                            Теперь понимаешь почему я так против идеи UID?
                              0
                              [i]Получается, что я могу переписываться с тобой, только пока ты в Сети.[/i]

                              Или "пока твой сервер в сети", если он согласен хранить для тебя все или же ограниченное (ящик на 5MB) число сообщений.
                              :)

                              Учитывая что сервера которые всегда online существуют (те же ICQ сервера или jabber.ru сервер - практически всегда online). Тебе можно изредко к ним конектится. Т.е твоя виртуальная личность всегда в online потому что есть кто-то кто согласен в online-е держать информацию о том что ты существуешь :)
                              А если у тебя регистрации на Н серверах - то вероятность твоего "умирания" в Н раз меньше. И это все независимо от того подключен лично человек к сети или нет :)
                                0
                                Ну нету его в моем примере!

                                Да есть. Просто он "размазан", как каша по тарелке.

                                Ты трактовал "это все я тоже", как "сказать всему миру это все я тоже". Т.е сам внес в контекст универсальный (всему миру) ID.

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

                                Очень здорово. То есть я должен отыскать всех, от кого хотел бы видеть сообщения. А если я не знаю? Вот я пост оставил на Хабре - и пишет мне некий cdev. А завтра я с Хабра ушел - и куда ты за мной побежишь?

                                Еще раз - напиши зачем.

                                Универсальный и уникальный идентификатор - способ надежно шифровать и передавть информацию. Без этого транспортная сеть ненадежна: сообщение могут прочитать совершенно не те адресаты.

                                Потому что есть задача, которая решается этим UID, которую ты считаешь очень важно, но на самом деле это не на столько важная задача, чтобы ради нее жерртвовать многим.
                                Задача эта - "передать не используя Интернет информацию о контакте пользователя" :)) Все просто. Сказать другу, написать на визитке и т.п. Больше ни для чего это не надо!


                                Причем тут "не используя интернет"? Используя Инфосферу! В Инфосфере должен быть способ однозначно определить пользователя - потому что иначе я тебе написал, а тебя в онлайне нету. И мессадж либо вовсе не ушел, либо ушел не туда.

                                Для убеждения в уникальности не надо! Потому что уникальность не нужна! Если человек у тебя в контакте и ты видешь такой же ник на другом сайте - ты просто посылаешь запрос ему "эй! - это ты на сайте Х или нет?" и он (аавтоматом! сервер за него или клиент) ответит - да это я! или нет не я! или "ну я, но не хочу светиться".

                                А откуда это знает сервер или клиент?! Текстовый анализ провел?

                                Зато! Решается проблема спама (нет UID- нет и спама),

                                Да ну конечно. Спам просто будет гнаться по неограниченному списку адресов. Кому-то да свалится. Другой вопрос, что в Инфосфере спам будет несколько иным и преследовать другие цели...

                                подлога (аналогично),

                                Сидит перед клиентом твоего приятеля система и перехватывает твои запросы про то "Это ты или не ты?", и отвечает "Да я, конечно!".
                                Опять же, совсем уже не с целью грабежа - см. "Деньги, деньги, дребеденьги" в этом же блоге.

                                фишинга (а что ловить?) и всего остального.

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

                                Уникальный ID может снять эту проблему. Я так думаю. До сих пор не снял, поскольку особо этим никто не заморачивался.

                                -И все эти проблемы ты соглашаешься терпеть только потому что хочешь иметь возможность сказать кому-то вслух словами этот UID ;)

                                Уважаемый, это уже пропагандистский трюк! Причем тут "сказать вслух словами"? я говорю о надежности доставки сообщений. Иерархическая сеть с системой уровневых доменов это гарантирует на 97% (по последним данным какой-то из контор, теряется 3% писем).
                                А теперь представьте, что нет этой иерархии - и нет вообще никакой иерархии. Сколько писем дойдет по адресу?

                                Теперь понимаешь почему я так против идеи UID?

                                Нет, не понимаю. Может, все дело в приватности?

                                Учитывая что сервера которые всегда online существуют (те же ICQ сервера или jabber.ru сервер
                                Ну я ж русским по полю ввода писал: не будет там серверов!!!
                                "Каждый сам себе сервер" - это не значит, что весь функционал нынешних серверов будет передан каждому узлу в обдумываемой сети.

                                И потом, этак никаких ресурсов не хватит - держатьвсех своих знакомых "онлайн". А иначе система, Вами предлагаемая, развалится: придется по сто раз договариваться, кто кого когда держит...
                                  0
                                  Не - мы друг друга не поймем :)

                                  А пот твои определения подходит (как мне видится) давно существующая система. И называется она - PGP :)
                                  Не надо серверов, не надо спец протоколов. Просто генеришь себе приватный ключ и публичный (это твой уникальный ID). Берешь публичный ключ адресата и шифруешь сообщение - дальше посылаешься чем угодно - e-mail, jabber, хотя на www выкладываешь - его сможет прочитать [b]только[/b] адресат. Все :) Ну еще есть цепочка доверительных связей, чтобы можно было "познакомиться" с другом друзей - получить его public key, зашифрованный твоим и подписанный ключем друга.
                                  ;)
                                    0
                                    Ужо терпежу не хватает.
                                    Причем тут PGP? Это всего лишь система шифрования и аутентификации. Онаработает потому, что зашифрованное (подписанное) письмо отгружается с почтового клиента на сервер исходящей почты, тот определяет домен отправителя, ушло выше, наверху сервер DNS определяет домен получателя и по бэкбону полетело на сервер домена, а оттуда на сервер получателя, откуда ему в клиента...

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

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

                                    Куда передавать "по цепочке", если звенья цепочки непрерывно перемещаются в разных направдлениях? И с какой скоростью тогда будет идти передача?
                                      0
                                      PGP при том, что он определяет сервис. А транспорт и способ передачи - это уже вторично. Он может меняться как угодно.
                                      Кстати IP адреса тоже иерархию задают - от них тоже предлагаешь отказаться? ;)
                                        0
                                        Наконец-то проблеск пошел...
                                        IP-адресация завязана на DNS. По условиям задачи - да, придется отказаться.

                                        А транспорт в моей задаче - первичен. Его организовать надо.
                                        Потому что существующий делает привязку к неким стационарным точкам, которые связаны бэкбонами.

                                        А я хочу проработать абсолютно мобильный вариант.
                                    0
                                    Не - мы друг друга не поймем :)

                                    А под твои определения подходит (как мне видится) давно существующая система. И называется она - PGP :)
                                    Не надо серверов, не надо спец протоколов. Просто генеришь себе приватный ключ и публичный (это твой уникальный ID). Берешь публичный ключ адресата и шифруешь сообщение - дальше посылаешься чем угодно - e-mail, jabber, хотя на www выкладываешь - его сможет прочитать только адресат. Все :) Ну еще есть цепочка доверительных связей, чтобы можно было "познакомиться" с другом друзей - получить его public key, зашифрованный твоим и подписанный ключем друга.
                                    ;)
                0
                Сейчас возникла еще одна мысль об оптимизации идентификационного процесса, но она достойна отдельного хабратопика (после обдумывания).
                Связана с необратимыми изменениями связанных квантовых состояний (ой, блин...).

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

                Самое читаемое