Исследование режимов сна сенсорной сети с учетом стоимости обслуживания узлов

Материал из ЭНЭ
Перейти к: навигация, поиск

Проникающая способность, экономичность и высокая степень автономности делает сенсорные сети привлекательным решением для непрерывного экологического и промышленного мониторинга. Без использования автономных источников питания беспроводных сенсоров работать в неуправляемом режиме невозможно, что влечет необходимость обслуживания. В связи с этим требуется правильное использование ограниченного энергетического ресурса сенсора. Современные технологии позволяют использовать функцию сна для экономии батареи сенсорного узла. В статье предложено использовать функцию предварительного пробуждения устройств. Описываемый в статье алгоритм использования этой функции позволяет увеличить время работы всей сети без обслуживания на несколько порядков, не теряя информативности данных. К наименее доступным узлам применяется наиболее жесткая экономия энергоресурса. Предлагаемая схема позволяет значительно сократить эксплуатационные издержки.

Введение

В связи с развитием электроники и беспроводной связи в двадцать первом веке появилась возможность развития беспроводных распределенных сенсорных сетей (РСС). РСС имеют ряд особенностей, таких как: жестко ограниченный энергоресурс, низкая вычислительная мощность, необходимость более плотного расположения, однако более низкая цена одного узла. Эти отличия от других сетей (например, сотовых) ставят новые цели и задачи применения РСС. Беспроводные сенсорные сети получили широкое применение во многих сферах деятельности человека, и поэтому им сейчас уделяется огромное внимание как со стороны научного сообщества, так и промышленности. На данный момент опубликовано или находится в стадии составления множество научных работ по исследованию проблем установки и работы РСС. С последними обзорными публикациями можно познакомиться в [1],[2],[3].

Типичная сенсорная сеть состоит из множества дешевых, автономных, многофункциональных узлов (мотов), которые распределены в зоне мониторинга. Каждый узел состоит из набора блоков, таких как: сенсор, используемый для получения данных от окружающей среды, блок приема-передачи данных, микроконтроллер для обработки и управления сигналами и источник энергии. Узел обычно питается от автономной батареи с ограниченным энергоресурсом, что приводит к значительным ограничениям в энергопотреблении. Обслуживание сенсорных узлов, замена батарей питания требуют значительных затрат, особенно когда узлы расположены в труднодоступных местах. Это свойство сенсорных сетей является очень важным при разработке алгоритмов работы и проектировании установки РСС. Более подробно типичные узлы будут описаны ниже.

Как правило, сенсорные узлы оборудуются однотипными устройствами с определенным набором функций. После установки в процессе эксплуатации сенсорные узлы должны сами организоваться в коммуникационную сеть, где каждый узел использует только те функции, которые необходимы для решения поставленной задачи. Дешевые устройства часто могут выходить из строя по причинам, связанным с внешними или внутренними факторами, что также является определяющим параметром при установке РСС. Вследствие ненадежности узлов требуется возможность автоматического перестраивания топологии сети или изменения плотности установки узлов.

Работа каждого сенсорного узла направлена на измерение различных параметров среды, например температуры, давления, освещенности и других. Такое разнообразие параметров влечет за собой различные сферы применения, начиная с мониторинга окружающей среды и заканчивая военным применением. Сенсорные сети выполняют различные задачи, которые можно грубо разделить на несколько категорий. Первая категория задач связана с детекцией событий, которые происходят очень редко, но требуют немедленного оповещения и/или обнаружения местонахождения. Во вторую категорию (мониторинг) входят задачи непрерывного измерения какой-либо величины в течение длительного промежутка времени. Здесь время задержки может быть равно характерному времени изменения измеряемого параметра. В данной работе рассматриваются различные режимы сна узлов распределенных сенсорных сетей для промышленного мониторинга и предлагается метод экономии энергии.

Установка полностью автономных узлов сопряжена с увеличением стоимости, что часто является неприемлемым. Поэтому главной задачей разработки сенсорных сетей является снижение энергопотребления каждого узла, что дает уменьшение затрат на обслуживание. В этом заключается основная специфика сетевых протоколов для РСС. Существует множество способов экономии электроэнергии узлов. В статье [2] приведена их классификация, представленная на рис. 1.

Рис. 1. Классификация способов экономии энергии

Все способы сохранения можно разделить на три большие группы – это сохранение энергии при помощи циклов работы, способы, основанные на количестве передаваемой информации и на мобильности. К циклам работы относят контроль топологии и управление энергопотреблением. Контроль топологии направлен на использование или уменьшение избыточных связей в сети в целях экономии ресурса. Управлять потреблением можно путем применения различных энергосберегающих MAC-протоколов и режимов работы устройств. Второй класс способов сохранения энергоресурса основан на количестве передаваемой информации, а также на получении этой информации экономичными способами. Энергия, потраченная на обработку информации, несравнимо меньше требующейся для ее передачи, поэтому используется внутрисетевая обработка данных, сжатие или предсказание данных. Новый способ использования мобильных стоков или мобильных ретрансляторов также используется для экономии электроэнергии узлов сенсорных сетей. Кроме того, к мероприятиям по экономии энергии узлов относится отказ от использования неэкономичных сложных приборов и излишнего оборудования сенсорного узла. Излишние функции узла также часто можно отключить программно в зависимости от статуса узла [4].

Основное внимание в статье сосредоточено на разработке экономных режимов сна систем мониторинга, проверке разработанных алгоритмов в плане их применения на предприятии. В первой части описываются известные алгоритмы смены режимов сна, а в другой более подробно разобраны существующие алгоритмы сна, приводится метод продления времени работы при помощи использования предварительного пробуждения, оценено реальное время работы сенсорной сети без обслуживания. Эта оценка экспериментально проверена на реальной сенсорной сети и позволяет судить о затратах, связанных с обслуживанием распределенной сенсорной сети.

Существующие методы

Достаточно полный обзор существующих методов экономии энергии, основанных на создании алгоритмов сна, представлен в работе [2] и ссылках в ней. Самые простые синхронные алгоритмы были предложены для МАС-протоколов, такие как, например, D-MAC [5]. Синхронные схемы требуют сверки часов в каждом узле, что иногда является затруднительным, однако разработаны эффективные методы [6], и в работе будем считать, что время одинаково на каждом узле. Простым развитием полностью синхронной схемы является четно-нечетная схема [7], где режим сна на каждом нечетном уровне сдвинут относительно четного на T/2 (T - длительность цикла). В сдвинутых алгоритмах сна каждый следующий уровень просыпается не синхронно с предыдущим, а после определенного времени, для того чтобы предыдущий узел успевал получить сообщение и был готов для передачи. В таких схемах часто прием и передача производятся последовательно в течение одного цикла, что позволяет не тратить лишний раз энергию на пробуждение узла.

В работе [8] была предложена схема сенсорных ветвей, в которой алгоритм сна разбит не по уровням, а по рукавам древовидной топологии сети. В работе использовано линейное программирование для нахождения оптимального набора ветвей при заданной топологии.

В работе [9] показан метод множественных родителей, в котором сообщения передаются не по одному маршруту, как в обычном случае, а двумя или более родительскими узлами. Это позволяет передавать сообщения от конечного устройства к базовой станции в g раз быстрее (g – количество родителей).

Тут используется такое свойство сенсорных сетей, как перекрытие несколькими узлами одной и той же площади. В случае, если ноды могут иметь только одного родителя, создание такой схемы затруднено или невозможно, также такая схема предъявляет повышенные требования к питанию оконечных узлов, что приведет к увеличению затрат.

Алгоритмы сна

Без использования функций сна одной батареи сенсорного узла хватит только на 4-5 дней работы [10]. Затраты на обслуживание часто различны для разных уровней и зависят от непосредственной доступности каждого узла и времени работы без обслуживания. Это исследование направлено на минимизацию потребления конечных узлов, потому что, как правило, такие узлы находятся в труднодоступных для обслуживания местах. Для увеличения энергоресурса используется:

  1. уменьшение времени бодрствования при помощи алгоритмов сна;
  2. дублирование узлов для снятия показаний в противофазе.

В процессе работы узел сканирует окружающее пространство в поисках сообщений или приемников для отправки своего сообщения, а при наличии отклика – получает или отправляет сообщение. Основная энергия узла, затраченная на сканирование сети, может быть сохранена за счет чередования активного режима и сна. В режиме сна узел находится в энергосберегающем состоянии, а сканирует окружающее пространство он только во время активного промежутка. Использование функций сна в основном направлено на сокращение затрат энергии во время бездействия (сканирования без приема), однако это также увеличивает защищенность сети от прослушивания, потому что заснувшие узлы сети не обмениваются информацией. Недостатком использования сна является то, что уснувший узел прекращает связь со своими дочерними узлами, тем самым ограничивая доступ информации как от узлов сенсорной сети к стоку информации, так и в обратном направлении. Этот недостаток можно разрешить либо использованием возможности альтернативного пути для дочерних узлов, либо правильной организацией топологии сети — такой, чтобы связь не прерывалась.

Существующие технологии режимов сна позволяют экономить энергию узла двумя способами.
Первый способ - создавать схемы сна, когда узел следует заданному шаблону смены периодов активности. Такой способ является простым и дешевым для реализации. Второй способ - пробуждение по требованию - позволяет переходить узлам в активный режим при наличии сообщений в любой момент времени. Такие схемы возможны при наличии двух независимых сетей, одна из которых используется для передачи сообщений, а вторая - сигнальная (чаще всего маломощная) - только для пробуждения узлов первой сети. Работа по запросу для сенсорной сети является самым эффективным способом экономии энергии. Однако для того чтобы каждый узел просыпался только при наличии сообщения для него, требуется использование дополнительной сети для пробуждения. Даже при использовании маломощных сигнальных сетей для пробуждения работа по запросу влечет за собой дополнительную стоимость оборудования и установки, однако позволяет значительно экономить заряд батарей узлов. Помимо своей дороговизны, пробуждение по требованию страдает от низкой надежности и малой дальности маломощных передатчиков. Поэтому требуется скомбинировать жестко заданный алгоритм сна с зависимостью от наличия сообщений.

XBee-модули позволяют использовать предварительное пробуждение для экономии энергии, при котором устройство, проснувшись, сканирует сеть на наличие сообщений для получения. Комбинирование этого режима работы с жестко заданным алгоритмом пробуждения позволяет без использования дополнительной сигнальной сети установить зависимость затрат энергии от наличия данных для передачи.

Для того чтобы сеть должным образом функционировала, она должна обладать фиксированной задержкой D передачи сообщений. Задержка определяется в зависимости от функций сети. Она бывает минимальной для систем оповещения, а в системах мониторинга задается таким образом, чтобы не искажать измеряемые параметры D = Ttyp, где Ttyp – характерное время изменения измеряемого параметра.

В сети существует два потока информации – прямой (сообщения, направленные к узлу) и обратный (сообщения, отправленные узлом). Поэтому будем рассматривать прямую FDk и обратную задержку BDk для узла k, соответствующие задержкам по прямому и обратному потокам информации. Проще говоря, FDk - это задержка информации, посылаемой узлом, а BDk - это задержка сообщений, которые посылаются узлу k. Сообщения противоположных уровней будут иметь наибольшую задержку доставки, поэтому имеет смысл рассматривать задержку только уровней D1 и Dk, измеряемую на противоположных уровнях.

Разработка эффективных шаблонных схем сна, которые позволяют минимизировать задержки и при этом максимально использовать энергию узла, широко представлена в литературе [1],[2],[3]. Применение сна ко всем нодам или только к какому-то определенному уровню сети значительно повлияет на связность сети и выльется в задержках передачи информации и даже утрате передаваемых пакетов. Поэтому графики сна согласуются на всех уровнях сенсорной сети. Допустим, сеть состоит из N узлов, которые распределены на k уровней. Уровень Lk=1 соответствует узлам, находящимся ближе всего (не требующем ретрансляции) к базовой станции, а максимальный уровень Lmax=K – оконечным узлам.

Рис. 2. Синхронная схема с малыми периодами активности
Рис. 3. Синхронная схема с большими периодами активности

Для экономии энергии применяются синхронные схемы сна с минимальным временем активного сканирования [5],[9], когда каждый уровень, просыпаясь, сканирует окружающее пространство и при отсутствии отклика засыпает обратно. Если узлы просыпаются через одинаковый промежуток времени T, то время задержки для такой схемы будет D = K*T. Для снижения задержки существуют схемы, когда все узлы, просыпаясь, сканируют пространство до тех пор, пора не получат отклик. Если время τmin – минимальное необходимое уровню для передачи информации, то время активности узла на каждом уровне, а также задержка в сети с K уровнями будут равны K*τmin. Это время чаще всего много меньше T, и задержка будет D = K*τmin << K*T. Такие схемы направлены на снижение задержек передачи информации, но не являются энергоэффективными, потому что время K*τmin активного сканирования в таком случае может быть значительным, особенно при большом числе уровней. В энергосберегающей схеме время активности каждого узла равно одному запросу, которое в K раз меньше. С точки зрения обслуживания более дешевыми являются энергосберегающие схемы, поэтому шаблоны, направленные только на снижение задержки, рассматриваться в рамках данной работы не будут.

По сравнению с синхронными схемами, описанными выше, лучшими с точки зрения задержки информации являются схемы, где шаблон активности у каждого четного уровня сдвинут относительно нечетного на Т/2 (рис. 2). У такой схемы время задержки будет равно D = K*T/2 (в два раза меньшим). Из-за симметричности представленных схем FB=BD. Однако существуют схемы, направленные на уменьшение только FB или BD. Простейшая из них также часто встречается в литературе [5] и называется "алгоритм лестницы". В соответствии с источником [5], время просыпания каждого последующего уровня сдвинуто на τ относительно предыдущего (рис. 3). Узел не может пересылать сообщение до тех пор, пока полностью его не получит, поэтому всегда τ > τmin, однако это время всегда много меньше длительности цикла сна T и составляет порядка несколько десятков миллисекунд, тогда как T ~ 1-120 секунд. Сдвигая в определенном направлении циклы сна, можно добиться времени задержки FD = K*τ. К сожалению, BD в такой схеме будет значительно хуже и будет равна K*T. Легко можно построить такую же схему для обратного направления, где будет:

BD = K*τ >> FD = K*T
Рис. 4. А - четно/нечетная схема, Б - схема прямой лестницы, В - схема двух лестниц

Видно, что благодаря таким схемам задержка в одном направлении значительно снижена, однако в другом направлении задержка фактически такая же, как у симметричной схемы. Для того чтобы уменьшить время задержки в обоих направлениях, можно скомбинировать две предыдущие схемы, получив схему двух лестниц (рис. 4В). Здесь задержка обратного сигнала сравнима с задержкой информации по прямому потоку:

BD = K*τ >> FD = 2*K*τ

Также легко можно оптимизировать такую схему для прямого потока, поменяв лестницы местами. Однако часто обратный поток информации преобладает в РСС, и оптимизация проводится для него.

Таким образом, метод двух лестниц является самым эффективным по энергопотреблению и показывает минимальные задержки по прямому и обратному потоку. Другие схемы никак не адаптированы на наличие или отсутствие сообщений на прием и передачу. Предварительное пробуждение позволяет реагировать на наличие сигналов без дополнительной сигнальной сети. Все эти методы позволяют увеличить время работы сенсорной сети без обслуживания с нескольких дней до нескольких месяцев.

Эффективность алгоритмов и общее время жизни узлов

Для оценки эффективности каждого из предложенных алгоритмов требуется знать время жизни и энергопотребление сети. В целом величина энергопотребления зависит от множества факторов, поэтому, для того чтобы оценить время жизни сети, используют модели энергопотребления, способные реалистично описать реальное потребление сети [11]. Если во время каждого цикла активности ток пробуждения узла Iwake, сканирования сети IRFIdle, приема-передачи информации IRFActive, сбора информации сенсорами ISensor, обработки информации (опрос датчиков, сжатие данных и т.п.), то для энергопотребления каждого узла можно записать:

Энергопотребление каждого узла.png,

где n - число пробуждений во время одного цикла активности, Tw - время, затраченное на пробуждение, Ti - время сканирования сети, Ta - активности, Ts - сбора информации. Энергия на обработку информации и энергия на синхронизацию часов здесь не учитывается, потому что является малой величиной [9] ~0,19Дж, тогда как даже самая малая величина – энергия, которая тратится на пробуждение, n*IwakeTw, – на порядок больше (~3 Дж).

Обычно время жизни сети определяется временем жизни устройства, которое первым выйдет из строя. Данное исследование направлено на уменьшение издержек при обслуживании сети. Наибольшие затраты на обслуживание имеют оконечные узлы, расположенные в труднодоступных местах, поэтому в этой работе мы будем рассчитывать время жизни именно таких узлов. Также при планировании алгоритмов нужно стараться чтобы для конечных узлов. Тогда, если батарея имеет заряд Qbat, для времени жизни узла (и всей сети в целом) получим:

Время жизни узла.png,

где Tcycle - длительность цикла.

В данной работе для анализа эффективности алгоритмов считается, что узлы собирают/передают одинаковое количество информации QRFActive, QSensor. В качестве примера устройства рассмотрим беспроводной датчик температуры, состоящий из модуля XBee S2 и общедоступного цифрового датчика температуры DS18B20 [11].

Используются две стандартные AA батареи по 1200 мА/ч, а обслуживание проводится, когда израсходовано 2/3 батареи, т.е. Qbat = 2*1200*2/3 = 1600 мА/ч. Датчик отправляет измеренное значение температуры один раз в минуту, Tidle = 60 с, Tactive = &&&& миллисекунд [9]. В случае, если используется сон, то Tsleep + Twake = 60 с, а Twake=. Ток в активном режиме IRFActive = 40 мА [11], в режиме ожидания IRFIdle = 15 мА [11], ток пробуждения Iwake = 15 μА.

В таблице 1 приведены результаты проведенных экспериментов.

Таблица 1. Результаты экспериментов

Режим работы Прямая задержка FD Обратная задержка BD Время жизни сети без обслуживания Затраты на обслуживание (кол-во замен источников питания)
Без сна 40 мс 40 мс 4,4 дня 83 раза в год
Сон синхронный 4 мин 4 мин 4,2 месяцев 12/4,2 = 2 раза в год
Две лестницы 40 мс 80 мс 4,2 месяцев 12/4,2 = 2 раза в год
Дублирование+Две лестницы 40 мс 80 мс 8,4 месяцев 12/8,4 = 1 раз в год
Multiparent g=2 [9] 20 мс 40 мс 4,2 месяцев 12/4,2 = 2 раза в год

Выводы по результатам проведенных исследований

Из таблицы видно, что наиболее эффективным механизмом является использование алгоритма «две лестницы совместно с дублированием оконечных узлов». Такой алгоритм сочетает минимальную задержку с наиболее длительным временем работы. Увеличение времени работы с использованием дублирования по сравнению с простыми режимами работы происходит за счет увеличения количества оконечных устройств. Также уменьшение прямой задержки можно осуществить за счет использования большего числа родителей.

Библиография

[1]: Paolo Baronti, Prashant Pillai, Vince W.C. Chook, Stefano Chessa, Alberto G. "Wireless sensor networks: A survey on the state of the art and the 802.15.4", (2007), pp.1655–1695.

[2]: Giuseppe Anastasi, Marco Conti, Mario Di Francesco, Andrea Passarella. "Energy conservation in wireless sensor networks: A survey", (2009), pp.537–568.

[3]: http://wiki.laser.ru/index.php/WSN, 2010.

[4]: http://www.zigbee.org/Specifications.aspx, 2010.

[5]: G. Lu, B. Krishnamachari, C.S. Raghavendra. "An adaptive energy efficient and low-latency Mac for data gathering in wire", (2004), pp.224, 26–30.

[6]: F. Sivrikaya, B. Yener. "Time synchronization in sensor networks: a surve", (2004), pp.45–50.

[7]: G. Lu, N. Sadagopan, B. Krishnamachari, A. Goel. "Delay efficient sleep scheduling in wireless sensor networks", (2005).

[8]: Rick W. Ha, Pin-Han Ho, X. Shen, Junshan Zhang. "Leep scheduling for wireless sensor networks via network flow model", (2006), pp.2469–2481.

[9]: A. Keshavarzian, H. Lee, L. Venkatraman. "Wakeup scheduling in wireless sensor networks", (2006), pp.322–333.

[10]: И. В. Воронин. "Проблемы адаптации РСС для управления", (2011), pp.30-32.

[11]: О. Пушкарев. "Использование конечных спящих узлов", (2011).