Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаленный вызов. детали, реализация, архитектура, у темы новое название! 
:(
    Опции темы
mes
Дата 30.3.2011, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  21:44 Найти цитируемый пост)
 может создать отдельную тему, только по теоритической части вопроса? 

наверное.. только вначале надо здесь потренироваться, чтоб не напугать остальных, а  пригласить их на подготовленную почву.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  23:09 Найти цитируемый пост)
только вначале надо здесь потренироваться

ок.
мой последний пост прокомментируйте.
PM WWW   Вверх
mes
Дата 30.3.2011, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  21:44 Найти цитируемый пост)
т.е. получается так, что узлы соответствуют единому интерфейсу. при описании узла, мы, наращиваем его интерфейс, и сопровождаем его информацией о том, для чего ему этот интерфейс. таким образом, узлы смогут группироваться.

зачем группироваться.. и вообще не понял о чем речь.. 


Цитата(boostcoder @  30.3.2011,  22:00 Найти цитируемый пост)
да. нет смысла плодить серверы. это и исключает расхождение в деталях сервисов, их наборе, и т.д..

хм.. исключает.. зато создает кучу других проблем: монолитность, плохая масштабируемость и т.д,
а не расхождение в деталях должно обеспечиваться соблюдением протокола.. 

Цитата(boostcoder @  30.3.2011,  22:00 Найти цитируемый пост)
Вы случаем сервер и сервис нигде не спутали?

нет схема вполне могла быть такой :
Код

         , - c          
ss - s - S - c 
ss -´     `- c

ss - subservice, например есть сервис игры, а к нему подключаются сервисы конкретной игры...

Добавлено через 3 минуты и 2 секунды
Цитата(boostcoder @  30.3.2011,  22:00 Найти цитируемый пост)
а кто будет разруливать узлы в нужные русла? 

в P2P сетях каждый клиент является и сервером одновременно..

Добавлено через 4 минуты и 22 секунды
Цитата(boostcoder @  30.3.2011,  22:00 Найти цитируемый пост)
обсуждаем идеальную модель.

 smile  
но ее бы найти бы вначале  smile 



Это сообщение отредактировал(а) mes - 30.3.2011, 23:19


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  23:17 Найти цитируемый пост)
зачем группироваться.. и вообще не понял о чем речь.. 

я пытаюсь изложить свое видение, в котором, нет конкретного на данный момент требования к узлам. т.е. все узлы идентичны. что будет следующим этапом их "эволюции" ? - наращивание интерфейса под конкретное требование, так?
PM WWW   Вверх
mes
Дата 30.3.2011, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  22:23 Найти цитируемый пост)
что будет следующим этапом их "эволюции" ? - наращивание интерфейса под конкретное требование, так? 

 smile 


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  23:17 Найти цитируемый пост)
в P2P сетях каждый клиент является и сервером одновременно..

да. но чтоб найти друг-друга, все равно шлете запросы на трекер.
PM WWW   Вверх
mes
Дата 30.3.2011, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



эволюция должна происходить не путем наращивания функкциональности сервиса, а путем расширения сервисов..

Добавлено через 51 секунду
Цитата(boostcoder @  30.3.2011,  22:25 Найти цитируемый пост)
да. но чтоб найти друг-друга, все равно шлете запросы на трекер. 

да но он не является сервером как таковым.

Добавлено через 5 минут
адреса взаимодействующих к примеру могут быть _вшиты_
но это уже шаг в сторону, давайте вернемся к нашей задачке smile



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



говоря об _интерфейсе_узлов_ имею ввиду следующее: есть объект, к примеру, типа base. этот объект, при создании, получает информацию о том, кто сервер(организатор/распределитель_обязанностей/координатор(не знаю как правильно назвать его)). объект, по имеющейся информации о сервере, способен подключиться к серверу. но, так как этот объект типа base, у него _стандартный_базовый_интерфейс_. а этот интерфейс, не требует от этого типа объекта участия в чем либо.

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

как-то так...

Добавлено @ 23:38
Цитата(mes @  30.3.2011,  23:26 Найти цитируемый пост)
эволюция должна происходить не путем наращивания функкциональности сервиса, а путем расширения сервисов..

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

Добавлено @ 23:40
Цитата(mes @  30.3.2011,  23:26 Найти цитируемый пост)
да но он не является сервером как таковым.

я и не говорю чтоб он был сервером как таковым.

Цитата(mes @  30.3.2011,  23:26 Найти цитируемый пост)
адреса взаимодействующих к примеру могут быть _вшиты_

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


Это сообщение отредактировал(а) boostcoder - 30.3.2011, 23:47
PM WWW   Вверх
mes
Дата 30.3.2011, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  22:33 Найти цитируемый пост)
другой пример: наследуемся от dy::node.

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

Добавлено через 2 минуты и 37 секунд
Цитата(boostcoder @  30.3.2011,  22:33 Найти цитируемый пост)
терминология в моем изложении:

еще один термин забыли : задача
Цитата(boostcoder @  30.3.2011,  22:33 Найти цитируемый пост)
присоединится к задаче для которой он создан.

а что без созданной задачи сервисы не существуют ?!



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  23:44 Найти цитируемый пост)
Вот сами нарушаете Ваше же предложение

поправил.
просто не знаю как еще выразить это.

Цитата(mes @  30.3.2011,  23:44 Найти цитируемый пост)
еще один термин забыли : задача

в моем видении, задача - это то, над чем работают узлы.
т.е. допустим, сервер предоставляет два сервиса: 1) compute_1, 2) compute_2. подключился узел. сервер у него запросил интересующий его сервис. сервер вернул ему информацию о том, кто в сети, условия для входа в сеть, и т.д..

Цитата(mes @  30.3.2011,  23:44 Найти цитируемый пост)
а что без созданной задачи сервисы не существуют ?!

сервис - это то, что предоставляет наш dataflow smile 

Это сообщение отредактировал(а) boostcoder - 30.3.2011, 23:54
PM WWW   Вверх
mes
Дата 30.3.2011, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  22:33 Найти цитируемый пост)

это нехорошо. ограничивает. навязывает область применения и принцип общения. у нас могут быть не только адреса. а, к примеру, ID`ы ;)

я говорю разве, что хорошо ? я говорю лишь о том что бывает и такое smile


Цитата(boostcoder @  30.3.2011,  22:33 Найти цитируемый пост)
на данный момент, у меня все сильно абстрагировано.
терминология в моем изложении:

для начала хорошо бы терминологию опробировать на конкретной модели..  желательно бы на нескольких..

Добавлено через 56 секунд
Цитата(boostcoder @  30.3.2011,  22:51 Найти цитируемый пост)
 задача - это то, над чем работают узлы.

приведите в пример реальную ситуацию.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  23:53 Найти цитируемый пост)
приведите в пример реальную ситуацию.. 

распознавание графического образа:
допустим, что узлы - отдельные ПК в мире. каждый ПК, к примеру, создает по одному ноду.
итак.. есть сервер(координатор). в данный момент, к примеру, сервер предоставляет И сервис _распознавание_графического_образа_(РГО).
узел, подключившись к серверу, сообщает ему свой сервис. из этого, сервер знает, что этот узел нужно отправить в dataflow РГО, и сообщает ему необходимую информацию. все. с этого момета, узел, благодаря своему ориентированному под эту задачу интерфейсу, может общаться с другими узлами, в терминах, подобных себе узлов smile 

Up.
какие требования к узлу я вижу:
1. способ обращения к координатору.
2. сервис.
3. способ обращения к узлам.
....

Это сообщение отредактировал(а) boostcoder - 31.3.2011, 00:15
PM WWW   Вверх
baldina
Дата 31.3.2011, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(boostcoder @  30.3.2011,  19:41 Найти цитируемый пост)
удаленный, двунаправленный вызов функций/методов. по умолчанию асинхронный. опционально, синхронный. простой в использовании. для с++.

Цитата(boostcoder @  30.3.2011,  22:44 Найти цитируемый пост)
может создать отдельную тему, только по теоритической части вопроса?

Цитата(boostcoder @  30.3.2011,  23:33 Найти цитируемый пост)
мы же ищем идеальную модель ;)

вообще-то вопрос в достаточной степени проработан. предлагаю взглянуть на CORBA. врядли пионерским наскоком получится революционное решение. CORBA предлагается в качестве примера потому, что она стандартизована.
вобщем-то все такие готовые штуки независимы от ЯП. достоинства и недостатки такого подхода очевидны.
если в постановке задачи С++, то мы сразу можем думать не об IDL, а о статической типизации только средствами компилятора (техническая сторона в некоторой степени вами уже проработана)
далее, клиенты/серверы/сервисы.
у mes было понятие мигранта как средства коммуникации в канале. предлагаю пока этим ограничиться, т.к. тут тоже важен интерфейс, а реализация канала может быть любой, хоть поверх boost::asio, хоть поверх HTTP
давайте сосредоточимся на двух вещах
1. клент: какой общий интерфейс ему нужен. скажем, имеется конкретный сервис в виде класса (определенного в заголовке, как это обычно в С++). его нужно каким-то вызовом связать с сервером, получив объект того самого типа, а дальше работать как с обычным объектом. тут нас пока интересует инфраструктура, т.е. какие возможности предоставляются клиенту - поиск серверов, установка соединения и т.д.
думаю идеологически это должно быть сильно похоже на COM и CORBA с той разницей, что тип определяется не строкой, а собственно типом.
2. сервер: помимо предоставления собственно интерфейса ему так же нужны вспомогательные средства для публикации себя

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



 smile 
я рад, что разговор уходит в более конструктивное русло smile


PM MAIL   Вверх
mes
Дата 31.3.2011, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



пример, имхо, не очень удачный.. опробовать на нем нам вряд ли удастся..
давайте для начала на чем нибудь более простом.. например на mail_service.. 



--------------------
PM MAIL WWW   Вверх
baldina
Дата 31.3.2011, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(boostcoder @  30.3.2011,  19:41 Найти цитируемый пост)
по умолчанию асинхронный

вообщето ввиду отсутствия в С++ встроенных средств параллельного исполнения логичнее и естественнее (для программиста) по умолчанию иметь синхронный обмен, а асинхронный - по требованию. к тому же синхронный проще синтаксически и в реализации
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1070 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.