Сети загнутся без нового направления, подсказанного биологией
Возможно, уже в конце нынешнего десятилетия наши холодильники будут посылать нам по электронной почте списки продуктов [1]. Наши врачи смогут ставить диагнозы и давать рецепты, используя полученные данные от крошечных мониторов, приложенных к нашим тушкам. И наши будильники будут открывать занавески, и наши кофеварки будут знать, когда начинать варить кофе утром.
Согласно прогнозам Cisco, к 2020 году число подключенных к сети материальных объектов возрастет до 50 миллиардов. Автомобильные шины, дороги, холодильники, телевизоры, магазинные полки, кухонные приборы, камеры наблюдения, компоненты самолетных двигателей, смартфоны, земная почва и все, что только можно себе представить, будет оснащено крохотными дешевыми датчиками, генерирующими терабайты данных. Обработка этих данных позволит получать очень важные результаты, которые, в свою очередь, будут передаваться другим подключенным объектам. В этой системе будут сочетаться новые технологии Интернета вещей: анализ больших объемов данных, современные системы для совместной работы, облачные услуги, а также видео и мобильность [2].
Но вот суровая реальность: без радикальной перестройки такая крупная, переменная сеть, вероятно, создаст больше проблем, чем она предлагает решить. Причина? Сегодняшний Интернет просто не оборудован, чтобы управлять трафиком, который принесут миллиарды узлов и разнообразных приложений.
Фактически сеть уже изо всех сил пытается справиться с данными, генерируемыми онлайн-сервисами, включая видеопотоки, голосовую конференц-связь и социальные игры. Главные мировые провайдеры услуг Интернета сейчас сообщают о глобальной задержке больше чем в 120 миллисекунд, которая приблизительно такая же, как у протокола VoIP Интернет-телефонии. Только вообразите, как медленно будет ползти трафик, если консольные игры и кабельное телевидение которые теперь дают сотни экзабит данных офлайн, внезапно уйдут в облако.
Проблема не просто в размере. Сетевые операторы будут всегда в состоянии добавить ёмкость, передавая данные более эффективно
и прокладывая больше кабелей и базовых станций. Но этот подход является все более и более дорогостоящим, и в конечном счёте
недоступным, потому что реальная неприятность кроется в основе технологии Интернета: его архитектуре роутинга.
Путь к интеллектуальному направлению
Будущий Интернет будет нуждаться в более умных алгоритмах, чтобы обращаться с разнообразными потоками данных и предотвратить отказы. И хотя еще нет никаких проверенных решений, можно создавать ранние проекты архитектуры.
Устройство может быть любым узлом сети, таким как телефон, телевизор, автомобиль, кухонный прибор, датчик или некоторое изобретенное устройство. Ближайшие устройства формируют нечеткие сети, которые разгружают поток от основной сети и дают обслуживание Интернета в отдаленные места.
Специальные движки определяют лучшие пути получения пакетов данных к их цели и стоят в очереди за их передачей. Эти движки уже встроены в сегодняшние «немые» маршрутизаторы, но в будущем они могли бы существовать как приложения программного обеспечения, а не отдельные части аппаратных средств.
Автономный контроллер направляет роутинговые движки, контролирует внутренние данные датчиков и сигналы от других узлов, анализирует эту информацию, планирует ответы и выполняет их. Соседние устройства координируют свои действия в реальном времени через управляющие сигналы.
Когнитивный движок помогает маршрутизатору приспособиться к непредвиденным изменениям в петле связи. Он наблюдает за окружающей средой, ориентирует систему, распределяя задачи по приоритетам, планирует варианты, выбирает план действий и учится на нём. Распространяя знание, устройства распространяют интеллект через Интернет.
Информация течёт через сеть, используя старую схему пакетной коммутации, известную четыре десятилетия. В ней данные нарезаны в
маленькие конверты, или пакеты, Различные пакеты могут следовать различными маршрутами и прибывать в разное время, чтобы быть в конечном счете повторно собранными в месте приёма. Маршрутизаторы, которые решают, каким путём пойдёт каждый пакет, являются «немыми». Игнорируя происхождение пакета и не имея информации об узких местах, это может привести к отправке всех пакетов по одному и тому же пути вне зависимости от того, содержат ли они отрывки видео, голосовой беседы, или электронную почту.
Эта штуковина работала великолепно в ранние дни Интернета. Тогда содержимое включало электронную почту и вебстраницы с относительно малым объёмом, поэтому передача пакетов шла быстро. Для маршрутизаторов имело смысл обрабатывать все пакеты одинаково, потому что трафик был одинаковым.
За прошлое десятилетие картина изменилась драматично. Сетевой трафик сегодня состоит из больших наборов данных, организованных более различном и сложным образом. Например, умные измерительные устройства генерируют данные короткими квантами, периодическими всплесками, в то время как Интернет-телевидение по протоколу IPTV создает большие, устойчивые потоки. Новые транспортные сигнатуры будут и дальше появляться, поскольку на рынок выходят новые приложения, включая связанные приборы и другие устройства, которые даже трудно представить себе. Основная коммутация пакетов слишком тяжеловесна, чтобы управлять таким динамическим движением.
Таким образом, в это время мы дали Интернету некоторый интеллект, не просто усовершенствовав его, а полностью развивая новый способ передачи данных. И для пущего вдохновения инженеры поворачиваются к природе.
Миллионы лет эволюции дали биологические сети, которые изобретательно разрешают самых жуткие проблемы сети, такие как защита против инфекционных агентов и приспособление к отказам и изменению. В частности, человеческий мозг и тело - это превосходные модели для построения лучших сетей передачи данных. Вызовы, конечно, состоят в выяснении, как подражать им (см. вставку в конце статьи, «Уроки сетям от реального мира»).
Чтобы понять, почему Интернет с пакетной коммутацией должен быть заменен более интеллектуальной системой, сначала посмотрите, как структурирована сегодняшняя сеть. Например, вы хотите смотреть клип в YouTube. Для потока видеоданных с сервера Google на ваш смартфон пакеты должны пройти через иерархию подсетей. Они начинаются в наиболее удаленных местах сети: сеть доступа, где соединяются терминалы, такие как телефоны, датчики, серверы и компьютеры. Тогда пакеты двигаются через региональные сети в основную сеть. Здесь плотные волоконно-оптические кабели переправляют движение на высоких скоростях на большие расстояния. Наконец, пакеты делают свой путь назад к сети доступа, где проживает ваш смартфон.
Маршрутизаторы посылают каждый поступающий пакет через эту иерархию по наилучшему имеющемуся маршруту. Это работает так: в каждом маршрутизаторе набор чипов вызывает движок направления, который перечисляет пути до возможных мест назначения. Движок направления все время обновляется, используя информацию от соседних узлов, которые контролируют сеть на наличие пробок. Когда пакет входит во входной порт маршрутизатора, другой набор чипов - направляющий движок читает адрес получателя пакета и проверяет таблицу маршрутизации, чтобы определить наилучший узел, чтобы затем послать туда пакет. Затем он переключает пакет на очередь или буфер, который ждет передачи. Маршрутизатор повторяет этот процесс для каждого поступающего пакета.
У этого способа есть несколько недостатков. Во-первых, требуется много вычислительной мощности. Движки и буферизующий пакет потребляют приблизительно 80 процентов мощности и памяти центрального процессора маршрутизатора. И это работает медленно. Представьте, что почтальон повторно вычисляет маршрут доставки для каждого письма и пакета. Маршрутизаторы аналогично игнорируют факт, что много поступающих пакетов могут иметь один и тот же заголовок для одного терминала.
Маршрутизаторы также выделяют тип потока данных, которому принадлежит каждый пакет. Это особенно проблемно в пиковые моменты, когда пакеты могут быстро накопиться в буфере маршрутизатора. Если накапливается больше пакетов, чем может хранить буфер, маршрутизатор рандомно отказывается от избыточных пакетов. Несмотря на наличие строгих крайних сроков доставки, в этом сценарии видео поток испытывает те же самые задержки пакетов и потери, как электронная почта. Точно так же передача больших файлов может забить голос и трафик так, что никакой поток не достигнет своего места назначения своевременно.
А что случится, когда критический узел роутинга сломается, как например это случилось тогда, когда в 2012 году загорелся центр сети
Водафона в Роттердаме (Нидерланды)? [3] В идеале другие маршрутизаторы должны выяснить, как изменить трафик из-за отключения электричества. Но зачастую местные обходные пути просто перемещают перегруженность в другое место. Некоторые маршрутизаторы становятся перегруженными с пакетами, вызывая много отправок по неправильному адресу и каскад отказов, которые могут отрубить большие куски сети. После пожара в Водафоне 700 мобильных базовых станций были выведены из строя больше недели.
Маршрутизаторы могли управлять потоками данных эффективнее, если бы они сделали более умный выбор, чем тот который сейчас. Чтобы отказаться от некоторых пакетов, а некоторые ускорить, нужно собрать намного больше информации о сети, чем просто о доступность направлений. Например, если бы маршрутизатор знал, что получал высококачественные пакеты IPTV, предназначенные для спутникового телефона, то он мог бы сбросить эти пакеты, чтобы поднять приоритеты других, которые, более вероятно, достигнут их мест назначения.
В конечном счете маршрутизаторы должны будут скоординировать свои решения и действия через все уровни Интернета от базы до конечных терминалов и приложений, куда пакеты поступают. И поскольку в будущем в линии будут включаться новые пользовательские устройства со своими услугами и угрозами, система должна будет быть достаточно умной, чтобы приспособиться.
Первый шаг в проектировании более интеллектуального Интернета – это обеспечение каждого подключенного компьютера способностью к маршрутизации данных. Учитывая вычислительные возможности сегодняшних потребительских устройств, нет никаких причин ограничить умные устройства в общении только по основной сети. Вместо этого они могут использовать любую доступную беспроводную технологию, такую как Wi-Fi или Bluetooth, чтобы спонтанно сформировать свою сеть. Это позволило бы любому устройству – телевизору, термостату, трактору, тостеру, зубной щетке передавать пакеты от имени любого другого устройства.
Разгрузив Интернет от локального трафика, нечеткие сети освободили бы полосу пропускания для дистанционного сервиса, такого как IPTV, который в противном случае потребует дорогостоящих модернизаций инфраструктуры. Эти сети также добавили бы пути роутинга, которые обходят узкие места, поэтому трафик пойдёт в области, где доступ в Интернет сейчас плох, что расширяет возможности, например, предоставляя дополнительную страховую защиту во время стихийных бедствий.
Но для обработки данных различных типов, маршрутизаторы, включая сами устройства, нуждаются в лучших методах для прокладки и отбора путей данных. Один способ спроектировать эти протоколы состоит в том, чтобы одолжить уловки у сложной сети, которая уже существует в природе: человеческая нервная система.
Эта система управляет дыханием, пищеварением, кровообращением, теплом тела, убийством болезнетворных микроорганизмов и многими другими физическими функциями. Всё это делается автономно, без нашего участия или даже наше понимания. Наиболее кардинально автономная нервная система может обнаружить неполадки и внести изменения, прежде чем разрушения превращаются в опасные для жизни проблемы.
Если всё это вам кажется немного непонятным, давайте рассмотрим процесс пищеварения. Скажем, вы только что съели большой, сочный гамбургер. Чтобы начать переваривать его, желудок должен выделить надлежащее количество желудочного сока. Простой расчёт: больше мяса, больше сока. На деле части мозга, которые управляют этим процессом, полагаются на сигналы многих других систем, включая вкус, запах, память, кровоток, гормональные уровни, деятельность мышц и иммунные реакции. Тот гамбургер содержит вредные бактерии, которые должны быть убиты или очищены? Тело должно сохранить кровь и топливо для более важных задач, таких как сбежать от врага? Координируя много различных органов и функций сразу, автономная система поддерживает тело в
норме.
В отличие от этого, Интернет начинает возгудать только из-за большого трафика, падения узла и только после того, как это начинает доставлять неприятности. Маршрутизаторы, серверы и компьютерные устройства пытаются решить проблему сами по себе, вместо того, чтобы сотрудничать. Зачастую это просто усугубляет проблему, как это имело место во время пожара в Водафоне.
Более кооперативный Интернет пользуется роутинговыми и отсылочными протоколами, и такое поведение больше напоминает автономную нервную систему. Сетевые инженеры все еще выясняют, как лучше всего проектировать такую систему, и их решения без сомнения станут более сложными, поскольку они работают в тесной связи с биологами и нейробиологами.
IBM предложила одну идею, петлю Monitor Analyze Plan Execute (MAPE), или проще, цикл знаний. Алгоритмы в этой архитектуре должны выполнить четыре главных задачи:
Во-первых, они контролируют среду маршрутизатора, такую как уровень заряда батареи, объем памяти, тип трафика, который он видит, число узлов, с которым он связан и полосу пропускания.
Затем алгоритмы знаний анализируют все эти данные. Они используют статистические методы, чтобы определить, типичны ли входы и, если они не обычны, может ли маршрутизатор обращаться с ними. Например, если маршрутизатор, который как правило получает низкокачественные видеопотоки, внезапно получает высококачественные, алгоритмы вычисляют, может ли маршрутизатор обработать поток, прежде чем видеопакеты заполнят его буфер.
Затем они планируют отклик на любую потенциальную проблему. Например, если поступающий видеопоток слишком большой, они могут сосчитать, что лучший план состоит в том, чтобы попросить, чтобы видеосервер понизил битрейт потока. Или они могут решить, что лучше разделить поток и работать с другими узлами, чтобы передать данные по нескольким различным путям.
Наконец они выполняют план. Среди многих возможных действий команды выполнения могут изменить таблицы маршрутизации, изменить методы организации очереди, уменьшить мощность передачи или выбрать различные каналы передачи.
Архитектура роутинга типа петля MAPE будет ключевой для контроля над Интернетом. Она будет не только препятствовать тому, чтобы отдельные маршрутизаторы обломались, но и контролировать данные от соседних узлов. Передавая команды, она также создаст обратные связи в пределах местной сети. В свою очередь, эти местные петли обмениваются информацией с другими местными сетями, таким образом размножая полезный интеллект в сети.
Важно отметить, что никакого волшебного набора алгоритмов, которые будут работать на каждый узел и каждую местную сеть, нет. Нечеткие сети смартфонов, например, лучше всего могут использовать протоколы, основанные на нечеткой логике, такой как муравьиная колония, чтобы указать муравьям источник пищи. Между тем крупные сети мониторинга, такие как системы типа "умная пыль", сделанные из миллиардов датчиков размером с зерно, могут распространить данные так же, как люди распространяют сплетни - метод, который минимизирует мощность передачи.
Автономные протоколы помогли бы Интернету лучше управлять сегодняшними потоками данных. Но поскольку новые онлайн-услуги и приложения появляются в пределах времени жизни любого маршрутизатора, они должны быть в состоянии самостоятельно развиваться.
Чтобы это произошло, инженеры должны повернуться к наиболее эволюционно продвинутой системе, которую мы знаем, - человеческому познанию. В отличие от автономных систем, которые полагаются на предопределенные правила, когнитивные системы принимают решения, основанные на опыте. Например, когда вы хватаете летящий к вам шар, вы думаете, куда бы поместить вашу руку, вспоминая предыдущие успехи. Если вы ловите шар, опыт укрепляет ваши рассуждения. Если вы уроните шар, то вы пересмотрите свою стратегию.
Конечно, ученые мало знают о когнитивном познании, чтобы точно подражать ему. Но оказывается, что достижения в области машинного обучения, включая алгоритмы распознавания образов, статистические выводы и эмпирические методы изучения – это полезные инструменты для сетевых инженеров. С этими инструментами возможно создать Интернет, который может учиться манипулировать незнакомыми потоками данных или бороться с новыми вредоносными нападениями подобным способом, которым единственный компьютер мог бы научиться опознавать спаммерскую почту или играть в «Свою игру».
Все же инженеры должны найти лучшую структуру для проектирования когнитивных сетей. И хороший вариант для начала – это модель, первоначально предложенная в конце 1990-х для проектирования умного радио. Эта архитектура известна как когнитивный цикл или петля Observe Orient Plan Decide Act Learn (OOPDAL). Как и петля MAPE в автономной системе, всё начинается с наблюдения за условиями окружения, включая внутренние данные о датчиках и сигналы от соседних узлов. Когнитивные алгоритмы тогда ориентируют систему, оценивая и располагая по приоритетам собранную информацию. Здесь вещи становятся более сложными. Для низкоприоритетных операций алгоритмы рассматривают альтернативы. Затем они выбирают план и действуют по нему, вызывая
новое внутреннее поведение или сигнализируя о соседних узлах. Когда необходимо более важное действие, алгоритмы могут обойти один или оба из шагов планирования и принятия решения. Наконец, наблюдая результаты этих действий, алгоритмы учатся.
В Интернет-маршрутизаторе петли OOPDAL работают параллельно с автономной петлей MAPE. Поскольку когнитивные алгоритмы обучаются, они генерируют предикторы, которые все время изменяют когнитивные алгоритмы, улучшая таким образом способность маршрутизатора управлять разнообразными потоками данных. Это взаимодействие сродни способу, которым Ваш умственный мозг может переобучать ваши мышцы рук, чтобы поймать подачу после нескольких лет игры в ручной мяч.
Сетевые инженеры все еще далеки от создания абсолютно когнитивных сетей, даже в лаборатории. Одна из самых сложных задач – это
проектирование алгоритмов, которые могут учиться не только, как минимизировать использование ресурсов, таких как вычислительная
мощность, память и радиоспектр, но также и как максимизировать качество опыта пользователя. Это не тривиальная задача. В конце
концов, опыт может быть очень субъективным. Зернистость на видеоконференции может удовлетворить подростка со смартфоном, но
будет недопустимой для руководящего работника, болтающего с потенциальными клиентами. Аналогично, вы могли бы быть более терпимы к временным пропаданиям видео, если бы вы смотрели бесплатное телевидение, но не в том случае, если бы оплатили премиум-план.
Тем не менее, мои коллеги и я в Эйндховенском Технологическом университете в Нидерландах сделали некоторые успехи. Используя
сетевой эмулятор, мы можем моделировать различные условия в сети и проверять, как они затрагивают восприятие человеком качества различных типов видеопотоков. В наших экспериментах мы оценивали сотни измеримых параметров, чтобы опытным путём предсказать качество, включая время ожидания, джиттер, видеоконтент, разрешение изображения и частоту кадров. Используя новые чувствительные протоколы, устройства могли бы также измерить такие вещи, как тип экрана, расстояние между экраном и пользователем и условия освещения в комнате.
В кооперации с Телефоника, Испания, мы создали алгоритмы машинного обучения, которые используют многие из этих параметров, чтобы предсказать качество, следующее из опыта пользователя, когда программы IPTV транслируются в смартфоны различных типов. Оказалось, эти модели были удивительно точны (имея приблизительно 90-процентное согласие с мнением пользователей), показывая, что возможно обучать сети приспосабливаться к переменным условиям самостоятельно. В другом исследовании мы продемонстрировали, что сеть может быстро учиться методом проб и ошибок, давая лучший битрейт для трансляции определенного видеопотока с максимально возможным опытным качеством. Одно большое преимущество этого метода состоит в том, что он может
быть применен к любому типу сети и любому типу видео вне зависимости от того, видела ли сеть это видео прежде или нет.
У инженеров все еще есть много работы, прежде чем они смогут встроить сложный интеллект в сам Интернет. И хотя изменение не произойдет внезапно, оно уже начинается. На задворках сети такие сервисы, как Google и Facebook теперь используют сложные алгоритмы изучения, чтобы определить наши предпочтения, сделать рекомендации и настроить рекламные объявления. Изготовители беспроводного оборудования строят устройства, которые могут выбирать частоты и приспосабливать уровень мощности для передачи, "слушая"? радиоволны. Тем временем, другие инженеры завершают создание протоколов для создания мобильных одноранговых сетей так, чтобы, например, полиция и спасательные транспортные средства общались непосредственно друг с другом.
Постепенно подобные инновации распространятся к другим частям сети. Возможно, уже к 2030 году значительные части Интернета смогут быть автономными, в то время как другие покажут вспышку реального инсайта. Будущая сеть покажет большое разнообразие интеллекта, во многом напоминающим собственные биологические экосистемы нашей планеты.
Уроки сетям от реального мира
Cog03a
Сохраняйте пути короткими, даже в больших сетях.
Примеры: социальные отношения, генное регулирование, нейронные сети в мозге.
Преимущества: когда данные могут добраться до любого места за малое число шагов, время ожидания остается низким.
Cog03b
Только у небольшого процента узлов должно быть много связей.
Примеры: сексуальные партнеры у человека, цитирование научных статей
Преимущества: минимизация числа хабов помогает остановить распространение вирусов и защищает от нападений.
Cog03c
Слабые связи могут быть хорошей вещью.
Примеры: некоторые молекулярные структуры
Преимущества: плохие или переходные связи могут помочь улучшить плохое соединение, рассеять разрушения и дать доступ сети в места, где сильные связи не могут быть построены.
Cog03d
Обменивайте некоторую скорость на устойчивость.
Примеры: системы управления трафиком (включая стоп-сигналы, уступки дороги и ограничения скорости)
Преимущества: управление потоками данных помогает предотвратить транспортные затруднения от краха сети или коллапса
Cog03e
Информация быстрее распространяется через сплетни, чем по радио.
Примеры: социальные отношения, генное регулирование, нейронные сети
в мозге
Преимущества: когда данные могут достигнуть любого потребителя за малое число шагов, время ожидания остается низким.
Cog03f
Управляйте и учите в разное время.
Примеры: автономные функции (такие как дыхание и переваривание пищи)
Преимущества: управление в реальном времени позволяет узлам координировать действия, в то время как постепенное изучение помогает сети развиться.
Эта статья первоначально появилась в печати как «Наступает когнитивная сеть». Уроки сетям от реального мира
Об Авторе
Антонио Лётта – профессор сетевой инженерии в Эйндховенском технологическом университете в Нидерландах и соавтор книги «Сети для всеобъемлющего сервиса: шесть способов модернизировать Интернет» (Шпрингер, 2011). Он черпает вдохновение от естественных интеллектуальных систем, включая стаи животных и человеческий мозг, для того чтобы проектировать будущие сети. Его работа привила ему любовь ко всем сетям, как он говорит, «но только если это не гостиничный Wi-Fi».
Партийная литература
[1] Antonio Liotta, "Why the Internet Needs Cognitive Protocols. Networks will break down without new biologically inspired routing". IEEE Spectrum, 26 July 2013.
[2] http://share.cisco.com/internet-of-things.html
[3] http://www.bloomberg.com/news/2012-04-04/vodafone-reports-fire-in-rotterdam-network-equipment-site.html