За последние несколько лет интеллектуальные сенсорные устройства достигли такой степени развития, что в настоящее время становится возможным развертывание крупных распределенных сетей таких устройств.
Сети датчиков отличаются от других беспроводных, питаемых от батарей сред тем, что состоят из десятков или сотен автономных узлов, которые работают без участия человека (например, конфигурация сетевых маршрутов, зарядка батарей или настройка параметров) в течение недель или месяцев одновременно.
Кроме того, сети датчиков часто встроены в некоторую (возможно, удаленную) физическую среду, из которой они должны осуществлять мониторинг и сбор данных. Долговременный, маломощный характер сенсорных сетей в сочетании с их близостью к физическим явлениям приводит к значительному изменению представления о программных системах по сравнению с более традиционными мобильными или распределенными средами.
Однако предыдущие системы, как правило, рассматривают обработку запросов в сетях датчиков просто как ограниченную по мощности версию традиционной обработки запросов: учитывая некоторый набор данных, система стремится обрабатывать эти данные как можно более эффективно с точки зрения энергопотребления.
Типичные стратегии включают минимизацию затрат на связь за счет применения операций агрегации и фильтрации внутри сети датчиков - стратегий, которые аналогичны методам вытеснения из распределенной обработки запросов, в которых особое внимание уделяется перемещению запросов в данные.
Напротив, лучшим вариантом является обработка запросов на приобретение (ACQP), где все внимание сосредоточивается не только на традиционных методах, но и на новых возможностях обработки запросов, возникающих в сетях датчиков: на том, что интеллектуальные датчики контролируют, где, когда и как часто данные физически собираются (т.е. отбираются пробы) и доставляются операторам по обработке запросов.
Сосредоточившись на местоположении и затратах на сбор данных, можно значительно снизить энергопотребление по сравнению с традиционными пассивными системами, предполагающими априори наличие данных.
Вопросы приобретения возникают на всех уровнях обработки запросов:
- при оптимизации запросов в связи со значительными расходами на выборку датчиков;
- при распространении запросов в связи с физическим совместным размещением выборки и обработки. Что наиболее важно, при выполнении запросов, когда следует выбирать, когда и какие образцы для обработки делать.
Был разработан и внедрен процессор обработки запросов для сенсорных сетей, который включает в себя методы сбора данных под названием TinyDB.
TinyDB - это распределенный процессор запросов, который работает на каждом из узлов сети датчиков. TinyDB работает на платформе Berkeley mote, поверх операционной системы TinyOS .
Эта платформа была выбрана, потому что аппаратное обеспечение легкодоступно из коммерческих источников и операционная система относительно развита.
TinyDB обладает многими особенностями традиционного процессора запросов (например, возможностью выбора, объединения, проектирования и агрегирования данных), также включает ряд других функций, призванных минимизировать энергопотребление за счет методов приобретения. Эти методы, взятые в совокупности, могут привести к значительному улучшению энергопотребления и повышению точности результатов запросов по сравнению с неактуальными системами, которые не контролируют, когда и где собираются данные.
В последнее время сообщество исследователей сенсорной сети осуществило ряд развертываний датчиков для целей мониторинга окружающей среды: на острове Великая Утка, у побережья штата Мэн, в заповеднике Джеймс, в Южной Калифорнии, на винограднике в Британской Колумбии и в прибрежных лесах Калифорнии.
В этих сценариях датчики собирают свет, температуру, влажность и другие свойства окружающей среды. На острове Великая Утка летом 2003 г. около 200 датчиков были размещены в норах бури Штормовых лепестков, разновидности морских птиц, находящихся под угрозой исчезновения, и вокруг них. Ученые использовали их для мониторинга загруженности норы и условий, связанных с приходом или уходом птиц. В настоящее время осуществляется также развертывание сети мониторинга землетрясений и сети мониторинга и управления строительной инфраструктурой.
Каждый из этих сценариев включает большое количество устройств, которые должны работать как можно дольше при минимальном вмешательстве человека или вообще без него. Размещение новых устройств, замена или перезарядка батарей устройств в гнездах птиц, местах проведения сейсмических испытаний, а также в каналах с теплом и охлаждением отнимает много времени и требует больших затрат.
Помимо очевидных преимуществ, которые дает простой, декларативный язык по сравнению с ручным кодированием, встроенный C, исследователи особенно заинтересованы в способности TinyDB получить и доставить желаемые данные, сохраняя при этом как можно больше энергии и удовлетворяя поставленные цели на весь срок службы.
TinyDB развернули в проекте мониторинга красной древесины, описанном выше, и в настоящее время уже внедрили его на заводах Intel для сбора сигналов вибрации, которые могут быть использованы для раннего обнаружения отказов оборудования. Раннее развертывание было довольно успешным, обеспечивая месяцы жизни от крошечных батареек емкостью около 1/2 емкости одного элемента типа АА.
Свойства сенсорных устройств
Узел датчика представляет собой беспроводной компьютер с питанием от батареи. Как правило, эти узлы физически малы (несколько кубических сантиметров) и чрезвычайно малы по мощности (несколько десятков милливатт против десятков ватт для обычного ноутбука)
Сила зарядки имеет первостепенное значение.
При наивном использовании отдельные узлы истощат свои запасы энергии всего за несколько дней. Напротив, если узлы датчиков очень разборчивы в энергопотреблении, возможны месяцы или годы жизни. Например, слюдяные мотоциклы при работе в режиме 2% (между активным и спящим режимами) могут служить в течение 6 месяцев на паре батарей типа АА. Этот рабочий цикл ограничивает время работы до 1,2 секунды в минуту. Было запущено несколько поколений датчиков. Старые, слюдяные датчики имеют 4 МГц, 8-битный микропроцессор Atmel. Их радиостанции RFM TR1000 работают со скоростью 40 Кбит/с по одному общему каналу CSMA/CA (мультисенсорный доступ, предотвращение столкновений).
Новые узлы Mica2 используют процессор с частотой 7 МГц и радиостанцию от ChipCon, которая работает со скоростью 38,4 Кбит/сек. Радио сообщения различного размера. Обычно около 20 50-байтовых сообщений (размер по умолчанию в TinyDB) могут доставляться в секунду. Как и все беспроводные радиостанции (но в отличие от общей сети EtherNet, которая использует CD-версию CSMA для обнаружения столкновений), радиостанции RFM и ChipCon являются полудуплексными, а это значит они не могут обнаружить столкновения, потому что не могут увидеть собственный трафик.
Вместо этого, они стараются избежать столкновений, слушая канал перед передачей и обратно в течение произвольного периода времени, когда он используется. Третья часть, называемая Mica2Dot, имеет аппаратное обеспечение, аналогичное части Mica2, но использует более медленный процессор с частотой 4 МГц.
Слюдяные мотели визуально очень похожи на мотели Mica2 и имеют точно такой же форм-фактор. Двигатели имеют внешние 32 кГц часы, которые операционная система TinyOS может синхронизировать с соседними двигателями примерно до +/- 1 мс. Синхронизация времени важна в различных контекстах, например: для обеспечения корреляции показаний, планирования связи или координации пробуждения и сна устройств.
Потребление электроэнергии в сенсорных сетях.
Потребление энергии в узлах датчиков может быть приблизительно разложено на фазы. В режиме (Snoozing), когда узел большую часть своего времени проводит в режиме ожидания, процессор и радио не работают, ожидая истечения таймера или внешнего события, чтобы разбудить устройство. При пробуждении устройство переходит в режим (Обработка), который потребляет на порядок больше энергии, чем режим (змея), и где результаты запроса генерируются локально.
Затем снимки переключаются в режим (Обработка и прием), где результаты собираются с соседей по радио. Наконец, в режиме (Передача) результаты запроса передаются по локальной сети - шумовой сигнал в течение этого периода отражает включение приемника и включение передатчика, а затем возвращается в состояние приемник-на-передатчик-выключение.
Тезисы осциллографных измерений не различают, как используется мощность на активной фазе обработки. Обнаружили, что в типичном сценарии сбора данных с относительно энергоемким сенсорным оборудованием около 41% энергии уходит на связь или работу процессора во время связи, а еще 58% - на сенсоры или CPU во время связи. Оставшиеся 1% уходят на бездействующее потребление энергии.