Темой апрельского номера журнала Computer (Computer, IEEE Computer Society, Vol. 40, No. 4, April 2007) стала весьма широкая область — управление данными стала. Четыре статьи тематической подборки посвящены разным направлениям в области управления данными.
Первая тематическая статья озаглавлена «Брокер интеграции данных для систем здравоохранения» (A Data Integration Broker for Healthcare Systems). Ее авторы: Дэвид Бадген, Майкл Ригби, Перл Бреретон и Марк Тернер. Не секрет, что государственные организации, компании и частные лица вверяют компьютерным системам беспрецедентные объемы индивидуальной информации. С другой стороны, сети все более расширяют возможности взаимодействия. Этот одновременный рост потребностей и возможностей создает благоприятную обстановку для сбора и интеграции информации из различных автономных источников. Однако при создании любого механизма сбора и хранения персональной информации должны приниматься во внимание не только технические проблемы, но и права граждан и организаций, предоставляющих информацию. Интеграция данных должна выходить за пределы возможностей статических корпоративных систем, моделируемых на основе текущего уровня исследований и разработок, и опираться на динамическое решение, основанное на сервисах.
В здравоохранении динамическая природа сервис-ориентированной модели весьма привлекательна: эта отрасль в большой степени зависит от данных и находится в постоянном изменении. Появляются все более совершенные диагностические и терапевтические методы, требуются все более точные данные о прошлом и настоящем состоянии здоровья пациентов. Данные чрезвычайно разнообразны, включая индивидуальные истории болезни, данные об оказании медицинской помощи и информацию об альтернативных практических методах. Однако, по мере того как развитие технологии все более опережает уровень знаний пользователей, профессионалы, получившие в основном клиническую подготовку, начинают отказываться от использования распределенных систем накопления и представления данных, поскольку недостаточно хорошо умеют с ними работать. Потребность работать с незнакомыми распределенными компонентами и осуществлять навигацию по громадным электронным файлам порождает новые риски того, что специалисты, нуждающиеся в информации, не смогут получить доступ к истории болезни пациента или неправильно ее поймут.
Авторы статьи инициировали исследовательский проект, чтобы изучить, можно ли преодолеть недостатки корпоративных систем с применением SOA. Так, оказалось перспективным использовать для доставки данных сервис информационного брокера. Использование такого подхода обеспечивает возможность интеграции данных из автономных источников, поддерживая в то же время любые ограничения доступа к информации или ее использования, накладываемые организациями или правовыми и этическими принципами.
Авторы пришли к парадигме «данные как сервис». На этой парадигме построен прототип интеграционного брокера неоднородных информационных ресурсов (Integration Broker for Heterogeneous Information Sources). IBHIS применялся для сбора информации в соответствии с шестью сценариями использования, разработанными совместно с оперативным персоналом государственной службы здравоохранения Великобритании. Эта информация черпалась из трех университетских источников, основанных на использовании различных технологий баз данных.
Статья, представленная Питером Эйкеном, Дэвидом Алленом, Бертом Паркером и Анжелой Маттиа, называется «Оценка зрелости практики управления данными: самооценка сообщества» (Measuring Data Management Practice Maturity: A Community’s Self-Assessment).
По мере возрастания объемов потоков данных внутри организаций и между ними все более явной становится проблема, проистекающая из плохой организации практических процессов управления данными. Например, по оценке PricewaterhouseCoopers, в 2004 году только в трети организаций имелся высокий уровень доверия к собственным данным и только 18% организаций доверяли данным, полученным от других организаций.
Согласно Джону Захману (John Zachman, www.research.ibm.com/journal/sj/263/ibmsj2603E.pdf), организации обычно расходуют от 20 до 40% своего ИТ-бюджета на эволюционирование данных путем миграции (изменение местоположения данных), преобразования (изменения формы или структуры данных) или очистки (изменение или повторный ввод данных для последующего использования). Приблизительно у двух третей менеджеров, отвечающих за управление данными, имеется формальная подготовка в области управления данными; немного более чем в двух третях организаций используются методы управления метаданными или планируется их использование; примерно в половине организаций для управления метаданными используются CASE-средства и технологии репозитариев.
Комбинируя эти факты со своими собственными наблюдениями, авторы приходят к выводу о том, что большинство организаций могут выиграть от применения процессов управления данными в масштабе организации. Неспособность управления данными как активом всей организации приводит к потерям соответствующей доли рынка, прибыли, стратегического преимущества и т.д. При том, что опыт организаций мирового уровня показывает возможность достижения преимуществ за счет эффективного управления данными, должно представлять большой интерес инвестирование в данные как в единственный ресурс организации, который не может исчерпаться.
В работе авторов преследовалось несколько целей, сгруппированных ими в две категории. Цели описания сообщества объединяет желание лучше понять сообщество управления данными и его практический опыт: ассортимент методов, используемых в сообществе; распространение методов и процессов управления данными, в особенности различные стадии зрелости управления данными в организациях; текущее состояние практики управления данными. Цели самосовершенствования направлены на то, чтобы помочь сообществу в целом улучшить свои процессы управления данными за счет улучшенного понимания характеристик используемых методов управления данными; определения уровня технической репутации сообщества управления данными по сравнению, например, с сообществом разработчиков программного обеспечения; получения информации, полезной для разработки стратегии совершенствования используемых методов. Отмечается, что эти цели почти идентичны целям модели CMMI.
Авторами статьи «Сохраняющие конфиденциальность системы интеллектуального анализа данных» (Privacy-Preserving Data Mining Systems) являются Нан Жанг и Вей Жао.
Методы интеллектуального анализа позволяют успешно извлекать знания из данных для поддержки разнообразных прикладных областей, но нерешенной проблемой остается анализ некоторых данных без нарушения конфиденциальности владельцев этих данных, например, в здравоохранении. Потребность поддержки конфиденциальности привела к принятию закона о преемственности страхования и отчетности в области здравоохранения (Health Insurance Portability and Accountability Act, HIPAA) в США и директивы о конфиденциальности в EC (European Union Privacy Directive), предписывающих защиту конфиденциальности в системах управления данными и анализа данных.
Последняя статья подборки называется «Согласованность данных для совместного кэширования в мобильных средах» (Data Consistency for Cooperative Caching in Mobile Environments). Ее авторы — Джианнонг Као, Янг Жанг, Гуохонг Као и Ли Ксай.
Развитие беспроводных и мобильных коммуникаций стимулируется возрастающей потребностью пользователей в повсеместном доступе к информации и Internet-сервисам. Однако из-за ограниченной емкости батарей пользователи для экономии энергии часто вынуждаются отключать мобильные устройства от сети. Кроме того, пропускная способность беспроводных линий ниже, чем у проводных линий, и беспроводные каналы являются менее устойчивыми, что часто вызывает перегрузку сети и потерю пакетов. Эти проблемы делают беспроводные коммуникации ненадежными и вызывают потребность в эффективных механизмах доступа к информации.
Совместное кэширование способствует повышению эффективности системы, поскольку позволяет нескольким мобильным пользователям сети совместно использовать и согласовывать кэшированные данные. За счет совместного кэширования часто запрашиваемой информации мобильным устройствам не всегда приходится посылать запросы к источнику данных. Кроме сокращения времени ожидания результатов запросов, этот подход позволяет уменьшить коммуникационные накладные расходы мобильных хостов и энергопотребление. Однако при наличии ненадежных коммуникаций и мобильности пользователей трудно поддерживать согласованность кэшей.
Мобильные беспроводные среды можно нестрого классифицировать на сети, основанные на инфраструктуре, и временные (ad hoc) сети. В первом случае сообщения, посылаемые или принимаемые мобильным хостом, ретранслируются фиксированным сетевым устройством, таким как мобильная станция поддержки (mobile support station, MSS). MSS похожа на сервер в традиционной клиент-серверной распределенной системе в том отношении, что на ней сосредоточиваются все данные источников. Другие мобильные хосты могут извлекать данные из MSS и самостоятельно кэшировать их копии. В отличие от этого, во временных сетях в MSS не сохраняются данные, и эти станции используются всего лишь как точки доступа к Internet. Во временных сетях все элементы данных, которые можно запрашивать, распределены между мобильными хостами. Поэтому стратегии согласования кэшей, применяемые в односкачковых (single-hop) беспроводных мобильных сетях, оказываются непригодными в многоскачковых (multi-hop) временных мобильных сетях.
В последние годы исследователи предложили множество стратегий для поддержки согласованности кэшей (www.cse.psu.edu/~wlee/Publications/wlee%20MASS04.pdf), однако у каждой стратегии имеются собственные целевые установки и сценарии применения. Отсутствие единообразных и структурированных методов затрудняет сравнение эффективности этих стратегий. Авторы разработали трехмерную модель, в которой фиксируются основные свойства схем согласования кэшей, и обеспечивается основа для оценки как существующих, так и новых стратегий.
Три статьи номера опубликованы вне тематической подборки. Дирк Рилль представил статью «Экономическое обоснование программного обеспечения с открытым кодом: глазами акционеров» (The Economic Motivation of Open Source Software: Stakeholder Perspectives).
Открытые коды сообщества (community open source) — это программное обеспечение, разрабатываемое сообществом. Им не владеет какая-либо одна корпорация; решения принимают индивидуальные разработчики, как при разработке Web-сервера Apache. Коммерческие открытые коды (Commercial Open Source) — программное обеспечение, которым владеет и которое разрабатывает некоторая коммерческая компания; она поддерживает свои авторские права и определяет, что принимается в базу кода программного обеспечения, и что следует реализовать далее, как в случае компании MySQL и ее одноименной СУБД.
Предыдущие работы в области экономики открытых кодов сообщества фокусировались главным образом на экономике рабочей силы (labor economics), то есть на часто поразительно огромном объеме труда, вкладываемого добровольцами в развитие программного обеспечения такого рода. Эрик Реймонд замечает, что разработчики участвуют в проектах категории Open Source для собственного удовольствия, которое им приносит повышение репутации среди коллег. Тем временем Джошуа Лернер и Жан Тироль утверждают (www.people.hbs.edu/jlerner/simple.pdf), что разработчики участвуют в проектах свободного программного обеспечения для подтверждения уровня своих технических способностей и повышения перспектив получения работы у будущих нанимателей. А Карим Лахмани и Роберт Вольф говорят (freesoftware.mit.edu/papers/lakhaniwolf.pdf), что истинным мотивом для участия разработчиков в проектах Open Source является то, что они получают удовольствие от своей работы.
Эти исследования частично разъясняют побудительные причины добровольной работы, но не отвечают на вопрос, почему сегодня компании нанимают людей, выполняющих работу в проектах Open Source в рабочее время. В статье данный вопрос исследуется с позиций системного интегратора, независимого производителя программного обеспечения и работника.
Статью «Использование и расширение архитектур систем команд XX века» (Embracing and Extending 20th-Century Instruction Set Architectures) написали Джо Гебис и Дэвид Паттерсон.
Недавнее расширение 80x86 с 32-разрядной на 64-разрядную адресацию означает, что эта заслуженная архитектура, появившаяся в 1978 году, останется в ходу еще несколько десятилетий. По мнению авторов, исследователям следует заняться совершенствованием старых архитектур для их лучшего соответствия требованиям XXI века. В одном из исследований (crd.lbl.gov/~oliker/papers/SC04.pdf) было проведено сравнение эффективности четырех научных приложений при использовании четырех 64-разрядных систем (Power 4, Itanium 2, NEC и Cray). Векторные системы NEC и Cray обеспечили наивысшую общую и пиковую производительность при самой низкой тактовой частоте. Можно подумать, что пропаганда таких изменений является пустой затеей, поскольку ни одна компания не станет подвергать риску свое дорогостоящее программное обеспечение. Однако, хотя обратная совместимость является священной, следует отметить, что за время существования архитектур 80x86 и PowerPC в их систему команд в среднем добавлялось более чем по одной команде в месяц.
Завершает апрельский номер статья «Развитие поддержки отладки для сложных систем на кристалле» (Boosting Debugging Support for Complex Systems on Chip), авторами которой являются Альбрехт Майер, Гарри Зиберт и Клаус Макдональд-Майер.
В так называемых системах на кристалле (system-on-chip, SoC) развитая интеграционная технология используется для создания новых интересных продуктов. В настоящее время SoC повсеместно применяется в широком диапазоне продуктовых секторов и не только при производстве портативных устройств с низким потреблением электроэнергии. Например, в автомобильной промышленности SoC позволяют уменьшить выбросы двигателя и повысить уровень безопасности за счет поддержки управляющих систем, действующих в режиме жесткого реального времени.
Однако в усложненных разработках, признанных удовлетворить развивающиеся запросы потребителей, возникают проблемы, с которыми не могут справиться разработчики, и которые иногда приводят к снижению надежности систем. По данным исследований, 77% случаев отказа электронных компонентов автомобилей связано с ошибками в программном обеспечении. Для сложных систем, таких как система управления двигателем и коробкой передач автомобиля, для поддержки качественного программного обеспечения и надежных продуктов разработчики должны понимать и анализировать поведение во всех возможных сценариях. Разработчики теперь считают эффективные средства разработки решающим фактором выбора платформы SoC.
Другим стимулом к созданию усовершенствованных инструментальных средств является возрастающая стоимость разработки, поскольку решение задач верификации и разработки, встающих после производства кристалла, занимает половину всего времени создания системы. По данным Национального института стандартов и технологий США (www.nist.gov/public_affairs/releases/n02-10.htm), более тщательное тестирование и более эффективная отладка могут снизить на треть расходы в 60 млрд. долл., вызываемые ошибками в программном обеспечении SoC.
Доступ к «внутренностям» SoC можно получить путем использования высокоуровневых программных моделей, позволяющих производить совместную разработку системы, включая и аппаратуру, и программное обеспечение. В этом случае в памяти инструментального компьютера хранится все состояние моделируемой системы, что обеспечивает ее неограниченную видимость. Однако модели не всегда ведут себя так, как реальные системы. Альтернативой программному моделированию является быстрое прототипирование с использованием методов эмулирования аппаратуры. Когда разработчикам становится доступен кристалл, они могут использовать для эмуляции аппаратуры внутрисхемный эмулятор (in-circuit emulator, ICE). ICE ведут себя подобно производственным SoC, но обеспечивают дополнительные ресурсы, которые позволяют разработчикам контролировать внутреннее поведение системы.
В качестве альтернативы громоздким специализированным ICE инфраструктура разработки может быть интегрирована в производственные SoC, делая возможной их самоэмуляцию. В настоящее время в большинстве процессорных ядер имеются схемы, позволяющие управлять ими с применением внешних отладочных средств. Разработчики могут остановить процессорное ядро при достижении заданного адреса программы и произвести «посмертную» отладку. В некоторых процессорных ядрах имеется возможность отладочных остановов при доступе к данным по заданным адресам.
Технология отладки на основе ICE широко используется, поскольку поведение ICE достаточно точно соответствует поведению целевой SoC. Однако «посмертная» отладка позволяет разработчикам проанализировать состояние системы только после ее останова. Многие поставщики SoC борются с этим ограничением путем обеспечения доступа к памяти во время работы системы, но более важно предоставить возможность трассировки в реальном времени.
Кроме того, при работе механических систем требуется постоянное управление, что делает «посмертную» отладку просто невозможной. Мотор автомобиля может быть неисправимо поврежден, если при неожиданной остановке процессора будет отключена управляющая электроника. Для многих механических систем также требуется калибровка, например настройка параметров контура регулирования во время работы системы, для чего требуется обеспечить некоторый доступ к внутренней памяти системы. Работая совместно с ведущими автомобильными фирмами, компания Infineon Technologies разработала технологию package-sized ICE, позволяющую интегрировать калибровочную память и поддержку многоядерной отладки в производственные SoC.
Напоминаю, что с марта по август можно подписаться на издания IEEE Computer Society и вступить в члены сообщества на вторую половину 2007 года (www.computer.org/portal/pages/ieeecs/join/index.xml). Всегда готов ответить на ваши вопросы, Сергей Кузнецов, kuzloc@ispras.ru.