Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!
2004 г.

Медные пули в программной индустрии

Сергей Кузнецов

Обзор февральского, 2004 года номера журнала Computer (IEEE Computer Society, vol. 37, no. 2, February 2004)

Авторская редакция.
Cокращенный вариант обзора опубликован в журнале "Открытые системы", #03/2004

Тема номера - "Ad Hoc Networks", и снова, как и в мае прошлого года (см. обзор "Изменяющийся облик сетей"), я испытываю трудность с русским вариантом этого термина. В прошлый раз я называл такие сети "временными", в том смысле, что они создаются без какой-либо предварительной подготовки сетевой инфрастуктуры. Поскольку за прошедшие месяцы более удачный русский вариант не появился, оставлю этот термин и в данном обзоре.

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

Приглашенные редакторы номера - Джай Ву и Иван Стойменович (Jie Wu, Florida Atlantic University, Ivan Stojmenovic, University of Ottawa). Заметка называется так же, как и тема номера. Отмечается, что временные сети являются ключевым фактором в развитии беспроводных коммуникаций. Самоорганизующиеся временные сети PDA и лаптопов используются в средах оказания помощи в чрезвычайных ситуациях, проведения конференций, организации взаимодействия военнослужащих и т.д. Временные сети наследуют традиционные проблемы беспроводных и мобильных коммуникаций, такие как оптимизация пропускной способности, управление питанием, повышение качества передачи. Многоинтервальная (multihop) природа временных сетей и возможное отсутствие фиксированной инфраструктуры порождают новые исследовательские проблемы, такие как конфигурирование сети, обнаружение устройств, поддержка топологии, а также временная адресация и самомаршрутизация.

Первая статья подборки называется "Совместный доступ к данным во временных сетях на основе кэширования" ("Cooperative Cache-Based Data Access in Ad Hoc Networks"). Авторы статьи - Гуохонг Као, Лиангжонг Йин и Чита Дас (Guohong Cao, Liangzhong Yin, Chita R. Das, Pennsylvania State University). Во временных сетях мобильные узлы осуществляют коммуникации с использованием многоинтервальных беспроводных линий связи. По причине отсутствия поддержки инфраструктуры каждый узел выступает в роли маршрутизатора, перенаправляя пакеты данных другим узлам. В большинстве предыдущих работ, посвященных временным сетям, основное внимание уделялось протоколам динамической маршрутизации, которые могут эффективно находить маршруты между двумя общающимися узлами. Однако, хотя маршрутизация является важной проблемой, конечная цель временных сетей состоит в предоставлении мобильным узлам доступа к данным. Если мобильные пользователи, находящиеся вблизи от инфостанции с ограниченной зоной действия (относительно инфостанций - infostation - см. обзор "Internet без проводов", "Открытые системы", № 7-8, 2000), образуют временную сеть, то мобильный пользователь, выходящий за пределы действия этой инфостанции, может сохранить возможность доступа к содержащимся в ней данным. Если в одном из узлов, имеющих доступ к источнику данных, имеется кэш с требуемыми данными, то этот узел может перенаправить данные мобильному пользователю, что позволяет сократить расходы пропускной способности и питания. В предлагаемых авторами методах кэширования (CachePath, CacheData и HybridCache) используются протоколы динамической маршрутизации, позволяющие преодолеть ресурсные ограничения и повысить производительность путем локального кэширования данных или уменьшить расходы памяти путем кэширования пути к данным.

Статью "Энергосберегающий мониторинг местности для сенсорных сетей" ("Energy-Efficient Area Monitoring for Sensor Networks") написали Джин Карле и Дэвид Симлот-Рил (Jean Carle, David Simplot-Ryl, University of Lille, France). Современные достижения в областях микроэлектронно-механических систем, цифровой электроники и беспроводных коммуникаций дают возможность разрабатывать дешевые, потребляющие мало энергии, многофункциональные сенсорные устройства. Такие устройства в автономном режиме могут собирать, обрабатывать и передавать информацию об окружающей среде. Когда большое число сенсорных устройств работает совместно, используя беспроводные коммуникации и асимметричный поток данных "многие-к-одному", они образуют сенсорную сеть. Сенсорные узлы обычно посылают свои данные выделенному узлу-приемнику, или станции мониторинга. Если бы все узлы общались во станцией мониторинга напрямую, то коммуникационная нагрузка привела бы к быстрому исчерпанию сетевых энергетических ресурсов. Поэтому сенсоры работают в самоорганизуемом, децентрализованном режиме, который приводит к тому, что связность поддерживается до тех пор, пока это возможно, а сообщения передаются многоинтервальным образом. Батареи сенсорного устройства не являются заменяемыми, так что энергия представляет собой наиболее важный системный ресурс. Лучшим способом сохранения энергии является перевод как можно большего числа сенсоров в "спящее" состояние. Однако в то же время сеть должна сохранять функциональность через связанную подсеть, которая позволяет станции мониторинга осуществлять коммуникации с любым активным сенсором. Исследовательская группа Лильского университета разрабатывает стратегии выбора и обновления энергосберегающей связанной сети активных сенсоров, которая позволяет увеличить время жизни сети. В статье описываются оптимизирующие решения трех раздельных проблем: поддержка области действия, охватывающей всю местность, которая подлежит мониторингу; широковещание от станции мониторинга ко всем доступным узлам; агрегация данных, т.е. передача информации от узлов в центр мониторинга.

Авторами статьи "Пересечение уровней при разработке мобильной временной сети" ("Cross-Layering in Mobile Ad Hoc Network Design") являются Марко Конти, Гая Маселли, Джованни Тури и Сильвия Джиордано (Marco Conti, Gaia Maselli, Giovanni Turi, IIT-CNR, Italy, Silvia Giordano, Switzerland). Основная проблема, стоящая перед исследователями мобильных временных сетей (manet), состоит в том, что требуется достичь полной функциональности при хорошей производительности, поддерживая, в то же время, связь с оставшейся частью Internet. Технология Internet обязана своим всемирным признанием, прежде всего, уровневой архитектурой; это обстоятельство навязывает аналогичное решение и для manet. Однако строгая уровневая разработка является недостаточно гибкой для динамических сред manet, и потому мешает оптимизации производительности. Описывается подход, разработанный при выполнении проекта MobileMan. В этом подходе внутри уровневой архитектуры допускается совместная работа протоколов разных уровней, которые совместно используют информацию о состоянии сети. Во всех прочих отношениях разделение функций между уровнями сохраняется.

Следующая статья называется "Групповые коммуникации в мобильных временных сетях" ("Group Communications in Mobile Ad Hoc Networks") и написана Прасантом Мохапатра, Чао Гуи и Джиан Ли (Prasant Mohapatra, Chao Gui, Jian Li, University of California, Davis). В отличие от типичных приложений Internet, в приложениях manet обычно встречаются коммуникационные паттерны категорий "один-ко-многим" и "многие-ко-многим". Поэтому для manet-приложений очень важна эффективная поддержка групповых коммуникаций. Групповые коммуникации в среде manet не могут обеспечиваться таким же образом, как в проводной среде, поскольку у беспроводной среды передачи имеются изменяемые и непредсказуемые характеристики, а мощность и распространение сигнала меняется в зависимости от времени и окружающей обстановки. Мобильность узлов создает постоянно изменяющуюся коммуникационную топологию, в которой динамически возникают и исчезают маршруты передачи пакетов. Поскольку у manet имеются ограниченные пропускная способность и емкость батарей, алгоритмы и протоколы должны ориентироваться на экономное расходование пропускной способности и энергии. Компьютерные компоненты беспроводных устройств (процессоров, памяти, устройств ввода-вывода) обладают малой емкостью и ограниченной процессорной мощностью. Поэтому для реализации коммуникационных протоколов должно хватать небольших ресурсов процессоров и памяти. Авторы приводят обзор протоколов групповых коммуникаций в manet. Протоколы разбиваются на семейства протоколов мультивещания, широковещания, геовещания (geocasting). Обсуждаются общие проблемы протоколов групповых коммуникаций: надежность, энергосбережение, качество обслуживания, безопасность.

Никола Миланович, Мирослав Малек, Энтони Дэвидсон и Вельчко Милютинович (Nikola Milanovic, Miroslav Malek, Humbold University, Berlin, Anthony Davidson, New York University, Veljko Milutinovic, University of Belgrad) представили статью "Маршрутизация и безопасность в мобильных временных сетях" ("Routing and Security in Mobile Ad Hoc Networks"). В статье, главным образом, обсуждаются известные алгоритмы маршрутизации в manet. Алгоритмы делятся на два класса: алгоритмы маршрутизации по запросу (on-demand routing algorithms) и алгоритмы маршрутизации по состоянию канала (link-state routing algorithms). В алгоритмах первого класса не используется широковещание, маршруты доступа к требуемому узлу определяются при возникновении потребности. Обсуждаются два алгоритма. В простом алгоритме динамической маршрутизации источника (Dynamic Source Routing - DSR) маршрут до требуемого узла находится путем рассылки из каждого узла специального пакета запроса маршрута во все близкие к нему узлы. Когда пакет запроса маршрута достигает узла назначения, инициируется посылка в обратном направлении служебного пакета подтверждения маршрута. В более сложном алгоритме AODVR (Ad Hoc On-Demand Distance Vector Routing) узел, желающий послать сообщение в узел назначения, для которого неизвестен маршрут, производит широковещательную рассылку пакета запроса маршрута. Узел назначения и узлы, которым известен маршрут до узла назначения, посылают в исходный узел пакет подтверждения маршрута. Отмечается ряд преимуществ алгоритма AODVR перед алгоритмом DRS. В алгоритмах второго класса используется периодический обмен служебными сообщениями, чтобы все маршруты были всегда известны. Особенностью таких алгоритмов в manet является экономное расходование пропускной способностью за счет уменьшения размера и числа управляющих сообщений. В оптимизированном алгоритме маршрутизации по состоянию канала (Optimized Link-State Routing - OLSR) размер управляющих пакетов уменьшается за счет объявления только многоточечных селекторов ретрансляции, подмножества соседних линий передачи. Для сокращения трафика в OLSR используются только выбранные узлы, называемые многоточечными ретрансляторами (multipoint relay - MPR). В алгоритме TBRPF (Topology Broadcast Based On Reverse-Path Forwarding) широковещание по поводу изменения состояния канала производится через деревья источников, которые обеспечивают доступ ко всем достижимым узлам. Деревья источников рассчитываются на основе частичной топологической информации с использованием модифицированного алгоритма Дийкстры. TBRPF обладает некоторыми преимуществами над OLSR. В завершение статьи кратко описывается комбинированный алгоритм маршрутизации в manet и столь же кратко обсуждаются вопросы безопасности.

Название последней статьи тематической подборки - "Приоритетное мультивещание с перекрытием в мобильных временных сетях" ("Prioritized Overlay Multicast in Mobile Ad Hoc Environments"). Авторы статьи - Ли Ксиао, Абхишек Патил, Йунхао Лью, Лайонел Ни и Абдул-Хуссейн Эсфаханьян (Li Xiao, Abhishek Patil, Yunhao Liu, Abdol-Hossein Esfahanian, Michigan State University, Lionel M. Ni, Hong Kong University of Science and Yechnology. Существует ряд протоколов маршрутизации мультивещания в manet, основанных на IP. В этих протоколах для поддержания и обновления информации о маршрутах мультивещания требуется участие как узлов, входящих в группу мультивещания, так и узлов, не входящих в группу. Эти протоколы очень сложны и вызывают существенные накладные расходы при наличии групп, имеющих разные приоритеты. В последнее время исследователи начали уделять наибольшее внимание на протоколах мультивещания с перекрытием прикладного уровня. При этом подходе члены группы выполняют функции мультивещания, образуя виртуальную сеть поверх физической инфраструктуры. Мультивещание с перекрытием не настолько эффективно, как мультивещание на основе IP, но такой подход является гораздо более гибким и легко реализуется. Описываются ранее разработанные протоколы мультивещания с перекрытием в manet, и обсудается разработанный и реализованный авторами протокол приоритетного мультивещания с перкрытием (Prioritized Overlay Multicast - POM).

Единственная нетематическая статья номера написана известным специалистом в области объектно-ориентированного моделирования и проектирования баз данных - Майклу Блахе (Michael Blaha, Modelsoft Consulting Corp.). Автор назвал свою статью "Медная пуля для повышения качества программного обеспечения" ("A Copper Bullet for Software Quality Improvement"). Как писал Фред Брукс в своей знаменитой статье про "серебряную пулю", нет какого-либо единственного действия, которое могло бы препринять компьютерное сообщество, чтобы в результате радикально повысилось качество программного обеспечения. Блаха утверждает, что зато имеются "медные пули" - более мелкие шаги, со временем повышающие качество. Одной из таких медных пуль является понятие инженерии программного обеспечения, практики тщательного обдумывания программы до погружения в детали кодирования. При правильном применении инженерия программного обеспечения должна повышать его качество. В теории это имеет смысл, но, хорошо это или плохо, программное обеспечение становится все более объемным и сложным, что делает преимущества инженерии программного обеспечения менее заметными. При наличии беспрецедентно большого числа неудачных проектов, для компенсации сложности исследователи должны продолжать разыскивать медные пули. В статье предлагается используемый в компании автора на протяжении 11 лет подход к оценке качества информационных программных систем на основе реверс-инжениринга структуры баз данных. Создана система оценок структуры базы данных и методика вывода средней оценки соответствующего продукта. Как утверждает Блаха, качество базы данных хорошо аппроксимирует общее качество информационной системы, а возможность оценки структуры базы данных более реалистична, чем возможность оценки программного кода, поскольку производители программного обеспечения не любят предоставлять код своих систем сторонним компаниям. В заключение статьи автор анализирует этические проблемы реверс-инжениринга и отмечает, что чем выше качество программных продуктов у компании-производителя информационных систем, тем лояльнее относится эта компания к стороннему реверс-инженирингу своих баз данных с целью оценки качества.

Новости мира IT:

Архив новостей

Последние комментарии:

Релиз ядра Linux 4.14  (6)
Пятница 17.11, 16:12
Apple запустила Pay Cash (2)
Четверг 09.11, 21:15
Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...