Архитектура
Предположим, вы можете загрузить приложение iPhone, которое делает что-то полезное, но одно из требований состоит в том, чтобы стать частью процедуры коллективных вычислений, как узел.
Каждое приложение iPhone подключено к серверу и регулярно получает запросы (<100 байт) (по одному в минуту) только тогда, когда пользователь активно использует приложение, конечно , (без фоновых задач) </p>
Каждое приложение iPhone обрабатывает запросы (очень низкое влияние на производительность и время работы от батареи) и редко отправляет ответы (<1 КБ) (только если процесс дал результат) что-то существенное). </p>
Тип данных
Функциональность
- Когда приложение iPhone запрашивает разрешение запроса вместо того, чтобы назначить сервер ответственным за его обработку, сервер отправляет запрос всем iPhone, которые в данный момент подключены к сети. Каждый iPhone, имеющий решение, отправляет его на сервер, а сервер отправляет его обратно на iPhone, который задал вопрос. Сервер становится мессенджером и может выделять свои ресурсы для решения разного рода проблем, относящихся к процедуре, которые по сути не могут быть решены для каждого iPhone индивидуума. Например, функция автозаполнения для запросов и ответов, так как сервер будет знать все запросы, которые когда-либо запрашивались, но одно приложение iPhone не могло, потому что оно было бы в автономном режиме большую часть времени.
Барьеры
- Сеть: Как подключить все 50 000 iPhone к серверу с помощью веб-сокетов? Как отправить запрос на сервер, с сервера на все 50000 iPhone по отдельности и обратно на iPhone, задавший вопрос?
Я знаю, что существует много проблем предстоит решить, но масштаб основной функциональности пока самый большой.
Пример
An iPhone с удостоверение личности "73869485" спрашивает, "любопытство на Марсе все еще работает?" -> Сервер
Сервер "Любопытство на Марсе все еще работает?" -> 49 999 в настоящее время в сети iPhone
Обработка происходит в каждом iPhone индивидуально.
6 iPhone отправлять интересные ответы "массив из 6 ответов "-> Сервер
Сервер" массив из 6 ответов "-> iPhone с идентификатором" 73869485 "