Предложив в 2009 году унифицированную компьютерную систему Unified Computing System, корпорация Cisco Systems стала членом клуба производителей серверов, чем немало удивила компьютерное сообщество. В 2012 году компания удивила своим намерением занять лидирующую позицию в деле создания Интернета вещей. Этот термин предложил в 1999 году Кевин Эштон, один из первых энтузиастов, увлекшихся RFID, а сейчас возглавляющий исследовательский центр Auto-ID Center в Массачусетском технологическом институте. Об Интернете вещей уже много говорилось, однако широкое распространение беспроводных сетей, активный переход на IPv6 и плюс к этому рост популярности облаков и появление группы технологий межмашинного взаимодействия (Machine to Machine, M2M) постепенно перемещают Интернет вещей в практическую плоскость.
Массовое распространение систем класса M2M еще впереди, но уже сейчас ясно, что внедрение M2M может повлечь за собой не менее значительные изменения в жизни человечества, чем создание в XIX веке машин, управляемых людьми. Самостоятельно действующие машины получат способность без вмешательства человека ориентироваться в окружающей среде, принимать решения и, как следствие, потенциально смогут вызвать следующую волну технической революции. Уже сейчас аналитики предполагают, что к 2015 году поддержка M2M обеспечит 5% доходов операторов связи, это составит примерно 65 млрд долл. Машины могут взять на себя большую часть промышленного производства, сосредоточенного сейчас в странах Юго-Восточной Азии. Скорее всего, тогда оправдается прогноз Питера Друкера, основоположника современной науки об управлении в бизнесе, который говорил о преимущественной роли работников, порождающих знание. Если это случится, то восторжествует тезис scientia potentia est (знание — сила), впервые упомянутый еще в Книге Притчей Соломоновых.
На данный момент под M2M понимают сумму технологий, обеспечивающих устройствам возможность взаимодействия с другими устройствами, причем их совместная деятельность выходит за пределы простого взаимодействия конечного количества устройств — это могут быть группы по типу атакующих роев микросамолетов или автомобилей в городском трафике. Работы в области M2M сегодня координируют несколько организаций: Eclipse Foundation, группа Focus Group on Machine-to-Machine, входящая в Международный союз электросвязи, и инженерный комитет TR-50 M2M по интеллектуальным устройствам. Издается специальный журнал M2M Premier.
Создание систем коммуникации — необходимое условие для распространения той или иной компьютерной технологии, но далеко не достаточное, поэтому очевидно, что нынешняя трактовка M2M неполна и нужно нечто управляющее, работающее поверх этих сетей. Надо сказать, что Интернет обрел свои нынешние масштабы и занял свое место в цивилизации в первую очередь благодаря тому, что стал платформой для приложений, а не просто сетью для передачи данных, пусть и обладающей феноменальными качествами. Пользователи Интернета видят доступные им сервисы и считают их Интернетом, а о деятельности провайдеров мало кто вообще догадывается. Для принятия пользователями новых средств коммуникации нужна соответствующая платформа, поэтому для M2M в Cisco и предложили то, что они назвали «туманным компьютингом» (Fog Computing) по аналогии с облаками. Под туманом подразумевается приближение облака к земле, в данном случае туман — это разновидность облачных сервисов, расположенных не где-то в недоступных высотах, а в окружающей нас среде. Иначе говоря, Fog Computing не альтернатива, а дополнение к Cloud Computing, и могут возникнуть ситуации их совместного действия (например, выполнение аналитического приложения), и в таком случае Cloud окажет услугу Fog.
Fog Computing можно определить как в максимальной степени виртуализированную платформу, поддерживающую три основных типа сервисов, образующих M2M: вычисления, хранение и сеть. Задача Fog Computing заключается в обеспечении взаимодействия миллиардов устройств между собой и с облачными ЦОД. Туман можно представить в виде трехуровневой модели. Верхний уровень занимают тысячи облачных ЦОД, предоставляющих ресурсы, необходимые для выполнения серьезных, например аналитических, приложений. Уровнем ниже располагаются десятки тысяч распределенных управляющих ЦОД, в которых содержится «интеллект» Fog Computing, а на нижнем уровне находятся миллионы отдельных устройств.
Парадигма Fog Computing отличается от Cloud Computing по целому ряду параметров.
- Распределение вычислительной мощности и реальное время. Значительные вычислительные ресурсы могут быть размещены на периферии Сети, причем не должно быть зависимости от координат того места, где находится устройство, и при этом работа в режиме реального времени предполагает низкий уровень задержек при обмене данными, к тому же в Fog Computing может произойти конвергенция двух существовавших долгое время автономно друг от друга систем — управления бизнесом и технологическими системами.
- Географическое распределение компонентов. Модель распределения сервисов в Fog Computing менее централизована, чем для облаков, а отдельные устройства могут быть связаны между собой потоками данных и предоставлять друг другу «тяжелые» сервисы.
- Большой объем внешних данных. Устройства, экипированные многочисленными сенсорами, могут в реальном времени генерировать гигантские объемы данных.
- Сложная топология. Миллионы географически распределенных узлов могут создавать разнообразные и не детерминированные заранее связи.
- Мобильность и гетерогенность. Мобильность устройств потребует использования альтернативных протоколов, например, Locator/ID Separation Protocol (LISP), созданного инженерами Cisco с целью разделения на две части функциональности, связанной с IP-адресами. Идентификаторы хостов и локаторы маршрутизации разделяются, и предусматривается установка туннельных маршрутизаторов, добавление LISP-заголовков в пакеты по мере их движения по сети. Альтернативный вариант — протокол Six/One, созданный в компании Ericsson. Как бы ни были разнообразны пользовательские устройства, функционально они похожи, но устройства из физического мира могут иметь существенно больше отличий.
- Примат беспроводного доступа. При использовании облаков беспроводной доступ в основном связывает клиентские устройства с облачными ЦОД, а в случае Fog Computing мобильные устройства, не привязанные к определенному месту, должны иметь возможность вступать во взаимодействие друг с другом.
- Согласованность и федерация. Для поддержки сложных устройств могут потребоваться сервисы, предоставляемые несколькими разными провайдерами.
- Поддержка аналитики и взаимодействие с облаками. Существенная часть обработки данных может выполняться самим устройством, но могут быть ситуации, когда их ресурсов не хватит и тогда потребуется согласовать действия нескольких устройств.
Нынешнее понимание всего комплекса проблем, связанных с Fog Computing, еще не позволяет в деталях оценить и представить распределение ролей между соучастниками этой экосистемы, и, скорее всего, сервисы будут предоставляться по подписке, но возможны варианты. Главное в том, что удастся объединить в единую экосистему совершенно разные стороны: от отдельных потребителей, поставщиков сервисов, производителей тех или иных устройств до транснациональных транспортных и других компаний и различных представителей государственных органов.
Одними из самых первых канонических примеров Интернета вещей были холодильник, автоматически заказывающий продукты, и кухня, готовящая ужин к приходу хозяина, но есть задачи более актуальные — прежде всего автоматизация процессов организации движения в мегаполисах и на автомагистралях, требующая взаимодействия транспортных средств и систем коммуникации. С технической точки зрения проблем здесь нет, есть бортовые радиолокаторы, есть технологии Wi-Fi, 3G, LTE и др., есть также многочисленные дорожные датчики и «умные» светофоры, несложно создать бортовые точки доступа и дорожные точки доступа. Но всего этого мало для создания Интеллектуальной транспортной системы (Intelligent transportation system) — нужна общая платформа, на роль которой претендуют концепции Fog Computing и Cloud Computing.
Другой пример — интеллектуальные системы энергоснабжения на базе smart grid, которые можно рассматривать как универсальные системы, состоящие из узлов, связанных между собой «туманными» и «облачными» средствами. Обязанности между ними можно разделить следующим образом: узлы Fog берут на себя локализацию (они отличаются независимостью от контекста и низкой задержкой), а на Cloud выпадает общая централизация и решение сложных задач. Такие гриды будут способны решать разнообразные задачи, требующие сбора и предварительной обработки больших объемов данных на местах с необходимостью их централизованного анализа.
Технологии беспроводных сетей и сенсоров (Wireless Sensor and Actuator Network, WSAN) дают неведомые прежде возможности для сбора данных о естественной среде, об искусственных средах и сооружениях, а также для оказания воздействия на них и управления. Область действия WSAN не имеет видимых ограничений, эти технологии могут найти применение где угодно — от вполне очевидных приложений, например, в сельском хозяйстве, в экологическом мониторинге, в системах, связанных с управлением солнечной энергетикой, гидроресурсами, до контроля за перемещением людей в местах массового скопления в городах, в транспортных узлах. Обычно системы WSAN состоят из большого числа датчиков и контроллеров исполнительных механизмов, связанных двусторонними потоками данных. Как и в описанных уже случаях, создание инструментальных составляющих, служащих для связи с объектами, не является серьезной технической проблемой — намного сложнее собрать их в единую управляемую систему. Для этой цели можно использовать сочетание двух подходов.
Парадигма Fog Computing позволяет материализовать M2M в самых разных воплощениях, открывая возможность для сборки сложных инфраструктур, состоящих из трех основных компонентов (средств вычисления, хранения данных и сети), оркестровать эти ресурсы и наладить управление ими для их предоставления в виде сервисов.