Cloudlet — это облачный центр обработки данных небольшого масштаба с улучшенной мобильностью , расположенный на границе Интернета. Основная цель cloudlet — поддержка ресурсоемких и интерактивных мобильных приложений путем предоставления мощных вычислительных ресурсов мобильным устройствам с меньшей задержкой. Это новый архитектурный элемент, который расширяет современную инфраструктуру облачных вычислений . Он представляет собой средний уровень трехуровневой иерархии: мобильное устройство — cloudlet — облако . Cloudlet можно рассматривать как центр обработки данных в коробке , цель которого — приблизить облако . Термин cloudlet был впервые введен М. Сатьянараянаном , Виктором Балем , Рамоном Касересом и Найджелом Дэвисом [1] , а прототип реализации разработан Университетом Карнеги-Меллона в качестве исследовательского проекта [2] . Концепция cloudlet также известна как follow me cloud [3] и мобильное микрооблако [4] .
Многие мобильные сервисы разделяют приложение на клиентскую программу front-end и серверную программу back-end, следуя традиционной модели клиент-сервер . Мобильное приложение front-end переносит свою функциональность на серверы back-end по разным причинам, таким как ускорение обработки. С появлением облачных вычислений сервер back-end обычно размещается в облачном центре обработки данных . Хотя использование облачного центра обработки данных обеспечивает различные преимущества, такие как масштабируемость и эластичность, его консолидация и централизация приводят к большому разделению между мобильным устройством и связанным с ним центром обработки данных. Тогда сквозная связь включает множество сетевых переходов и приводит к высоким задержкам и низкой пропускной способности.
Из-за задержки некоторые новые мобильные приложения требуют, чтобы инфраструктура облачной разгрузки находилась близко к мобильному устройству для достижения низкого времени отклика. [5] В идеальном случае это всего лишь один беспроводной переход. Например, инфраструктура разгрузки может быть расположена на базовой станции сотовой связи или может быть подключена по локальной сети к набору базовых станций Wi-Fi. Отдельные элементы этой инфраструктуры разгрузки называются клаудлетами.
Cloudlets нацелены на поддержку мобильных приложений, которые являются как ресурсоемкими, так и интерактивными. Приложения дополненной реальности , использующие системы слежения за головой, требуют сквозных задержек менее 16 мс. [6] Облачные игры с удаленным рендерингом также требуют низких задержек и высокой пропускной способности. [7] Носимые когнитивные системы помощи объединяют такие устройства, как Google Glass, с облачной обработкой, чтобы направлять пользователей при выполнении сложных задач. Этот футуристический жанр приложений характеризуется как «удивительно преобразующий» в отчете семинара NSF 2013 года по будущим направлениям в беспроводных сетях. [8] Эти приложения используют облачные ресурсы на критическом пути взаимодействия с пользователем в реальном времени. Следовательно, они не могут допускать сквозных задержек операций более нескольких десятков миллисекунд. Apple Siri и Google Now , которые выполняют вычислительно-интенсивное распознавание речи в облаке, являются дополнительными примерами в этой развивающейся области.
Требования к облаку и клаудлету во многом совпадают. На обоих уровнях необходимо: (a) сильная изоляция между ненадежными вычислениями на уровне пользователя; (b) механизмы аутентификации, контроля доступа и учета; (c) динамическое распределение ресурсов для вычислений на уровне пользователя; и (d) возможность поддерживать очень широкий спектр вычислений на уровне пользователя с минимальными ограничениями на структуру их процесса, языки программирования или операционные системы. В облачном центре обработки данных эти требования сегодня выполняются с помощью абстракции виртуальной машины (ВМ). По тем же причинам, по которым они используются в облачных вычислениях сегодня, ВМ используются в качестве абстракции для клаудлетов. Между тем, есть несколько, но важных различий между облаком и клаудлетом.
В отличие от облачных центров обработки данных, оптимизированных для запуска существующих образов виртуальных машин на своем уровне хранения, облачные облака должны быть гораздо более гибкими в своем предоставлении. Их связь с мобильными устройствами очень динамична, со значительным оттоком из-за мобильности пользователей. Пользователь издалека может неожиданно появиться в облачном облаке (например, если он только что сошел с международного рейса) и попытаться использовать его для приложения, такого как персонализированный переводчик языка. Для этого пользователя задержка предоставления, прежде чем он сможет использовать приложение, влияет на удобство использования. [9]
Если пользователь мобильного устройства отходит от облачного устройства, которое он в данный момент использует, интерактивный ответ ухудшается по мере увеличения логического расстояния сети. Чтобы устранить этот эффект мобильности пользователя, разгруженные сервисы на первом облачном устройстве необходимо перенести на второе облачное устройство, поддерживая качество сквозной сети. [10] Это напоминает живую миграцию в облачных вычислениях, но значительно отличается в том смысле, что передача виртуальной машины происходит в глобальной сети (WAN).
Поскольку модель облачных вычислений требует перенастройки или дополнительного развертывания оборудования/программного обеспечения, важно обеспечить систематический способ стимулирования развертывания. Однако она может столкнуться с классической проблемой самонастройки. Облачным вычислениям нужны практические приложения для стимулирования развертывания облачных вычислений. Однако разработчики не могут в большой степени полагаться на инфраструктуру облачных вычислений, пока она не будет широко развернута. Чтобы выйти из этого тупика и самонастроить развертывание облачных вычислений, исследователи из Университета Карнеги-Меллона предложили OpenStack++, который расширяет OpenStack для использования его открытой экосистемы. [2] OpenStack++ предоставляет набор API, специфичных для облачных вычислений, в качестве расширений OpenStack. [11]
К 2015 году приложения на основе облачных технологий стали коммерчески доступны. [12]
В 2017 году Национальный институт стандартов и технологий опубликовал проекты стандартов для туманных вычислений , в которых клаудлеты были определены как узлы в туманной архитектуре. [13]