Context-Aware Computing — это не технологии, не методика и не методология, а всего лишь абстрактная идея, которая потенциально может обрести множество разнообразных воплощений, от отвлеченных философских рассуждений до вполне конкретных аппаратно-программных реализаций. Суть этой незамысловатой идеи почти тривиальна — создание устройств или систем, учитывающих условия окружающей среды, в которой пребывает пользователь. В отличие от всех остальных производимых человеком артефактов, создаваемые посредством компьютерных технологий способны к «обучению», то есть они могут получать и накапливать данные об окружающей среде. Если можно создавать устройства и системы, учитывающие знания и опыт, то можно получить интеллектуальные системы, способные адаптироваться к не запрограммированным заранее ситуациям, воспринимать изменения в окружающей среде на более высоком, чем сегодня, уровне и взаимодействовать с человеком.
Клод Шеннон определил информацию как снятую неопределенность, то есть информация — это сведения, понижающие уровень неполноты объема знаний, которым обладал получатель до момента прочтения сообщения. Из данного определения следует, что информация — понятие динамическое, она обрабатывается в режиме времени, сопоставимом со временем передачи, после чего тем или иным образом фиксируется в некоторой базе знаний. Именно так происходит обработка информации в живой природе и в технических системах управления, работающих в реальном времени. К сожалению, во всех остальных отраслях ИТ все происходит с точностью до наоборот — входные данные сначала накапливаются и только потом анализируются, поэтому нет ничего удивительного в наблюдаемом сегодня росте объемов сырых данных, отчасти вызвавшем проблему Больших Данных. Сейчас из массы ненужных накопленных данных с большим трудом извлекается полезная информация, которая, пройдя непростой путь, наконец выполняет свою первородную функцию — позволяет уменьшить неполноту знаний. В итоге возникает еще одна своего рода «экологическая» проблема — засорение экзабайтами данных, которыми никто и никогда не воспользуется, но которые требуют ресурсов для хранения. Об этой стороне Больших Данных мало кто задумывается — везде и всюду радуются очередному увеличению объемов, а на самом деле происходит засорение среды информационно избыточными данными.
Теоретически изменить существующее положение призвано направление Context-Aware Computing, которое уже полтора десятилетия широко обсуждается в академических кругах, но малоизвестно за их пределами. Встречающийся перевод этого термина как «контекстно-зависимые вычисления» не выдерживает критики, поскольку сomputing — это не то же самое, что computation: здесь речь идет не о вычислениях с использованием компьютеров, а об использовании компьютеров для обработки данных, поэтому пока лучше использовать аббревиатуру CAC.
В CAC ключевым является слово контекст, который на самом примитивном уровне можно рассматривать как априорное знание, имеющееся у получателя информации, прежде чем он получит в свое распоряжение сообщение с полезными сведениями. Контекст — это то, чего не хватает современным компьютерным системам, действующим по фиксированным программам и неспособным к обучению. Главное достоинство контекстного подхода заключается в возможности сократить объем передаваемых данных. Контекст является основой человеческого общения — в жизни обычно бывает достаточно сказать несколько слов, чтобы донести смысл сообщения, однако этого качества пока полностью лишено общение с машиной. Например, фраза «Сказали завтра будет как вчера» потрясает своей лаконичностью применительно к погоде, когда говоривший явно рассчитывал на общий для собеседников контекст (информированность о погоде накануне, на понимание того, что об ухудшении погоды было сообщено по радио). Всего пять слов, а чтобы записать то же самое без учета контекста, потребовалось бы слов на порядок больше.
На протяжении всей истории компьютеров средства взаимодействия человека с ними (Human Computer Interaction, HCI) развивались на сугубо техническом уровне: экран, клавиатура, мышь, сенсорные экраны и т. д. Их несовершенство стимулировало специалистов из разных областей к анализу проблем HCI c философской и кибернетической точки зрения, однако, к сожалению, из подобного рода работ не следует ничего практического. Поэтому для конструктивного разговора о CAC нужно для начала освободить слово «контекст» от сопровождающих его философских наворотов, и тогда окажется, что контекст — это среда существования субъекта или объекта. Из опубликованных определений для нашего случая ближе всех оказывается самое простое: «Контекст — это информация, которая может быть использована для характеристики ситуации, в которой пребывает личность, место или объект, имеющие отношение к взаимодействию пользователя с приложением, включая и пользователя, и приложение». В таком случае CAC — это такой подход к ИТ, который строится с учетом свойств окружающей среды и призван компенсировать слабость существующих компьютерных технологий, не позволяющих самостоятельно накапливать знания о контексте и лишенных способности соотносить новые полученные сведения с имеющимися.
О двуединстве, теоретической и практической стороне CAC написано много, и еще в 2001 году известный специалист по HCI Пол Дориш, профессор Калифорнийского университета в Ирвайне, написал статью «В поисках основ для CAC» (“Seeking a Foundation for Context-Aware Computing”). Но ни у него, ни в другой доступной литературе по CAC нет четкого разделения по природе контекста в процессе информационного обмена, отсюда и возникло смешение «высокого» (context in social analysis) с «низким» (technical conceptions of context). Высокое — это психолого-философские рассуждения Терри Винограда1, Люси Шухман и других известных ученых, основывающих свои работы на принципах этнометодологии, разработанных Гарольдом Гарфинкелем. Этнометодология изучает в том числе и роль языка в социальном взаимодействии методами анализа разговора (conversation analysis). Прямых продуктивных результатов в этих исследованиях получено не было, но косвенные результаты великолепны. Низкое — это создание распределенных систем из устройств, взаимодействующих между собой с использованием известного им контекста и приложений, использующих контекст.
|
Изобретатель будущего и его Dynabook
Задолго до того, как энтузиастами-любителями были собраны прототипы будущих персональных компьютеров, в 1972 году сотрудник исследовательского центра Xerox PARC Алан Кей задался целью снабдить каждого ребенка своим личным компьютером. Леонид Черняк |
В списке прогнозов на 2012 год аналитики Gartner поставили CAC на седьмое место, объясняя это намечающимися рыночными тенденциями и считая, что более половины крупных предприятий начнут так или иначе использовать CAC уже к 2013 году, а в 2016 году до одной трети мобильных устройств будет работать с учетом контекстной зависимости, причем уже в 2015 году пользователи мобильных устройств будут тратить на услуги, поддерживаемые САС, до 15% от общей оплаты за трафик, что составит 96 млрд долл. Непосредственным стимулом для публикации прогнозов Gartner и нынешнего подъема интереса к САС стало оптимистическое выступление Джастина Ратнера, директора Intel Labs и технического директора Intel, сделанное им осенью 2010 года. Он описал предстоящие фундаментальные изменения, к которым может привести способность к осознанию контекста, и впервые использовал термин context-aware в выступлении перед аудиторией практических специалистов. «CAC позволят принципиально изменить способы взаимодействия с устройствами, которые смогут адаптироваться к вам, изучать ваши привычки, предпочтения, знать ваше местонахождение», — сказал Ратнер. Он справедливо отметил, что концепция CAC не нова и своими корнями уходит в исследования, которые были выполнены под руководством Марка Вейзера еще в начале 90-х в Xerox PARC, на родине оконного графического интерфейса. Назвав Вейзера в качестве основателя работ по CAC, Ратнер четко обозначил, какое из возможных направлений развития CAC было выбрано в Intel как предпочтительное.
|
ПК умер — да здравствует ПК!
В 1987 году группа специалистов из Xerox PARC под руководством Марка Вейзера разработала устройства с плоским экраном размером с книгу ParcPad, компактное ParcTab и активный бейдж Active Badge, которые можно назвать предтечами нынешних «подов». Леонид Черняк |
Вейзер — автор концепции Ubiquitous Computing (ubicomp). Исследованиями в области CAC по программе Ubiquitous Computing в период с 1992 по 1995 год занималась группа в составе Билла Шилита, Номана Адамса, Роя Уонта и других. Часть из них продолжила исследования в Intel Research, а затем и в Google Research, вот почему интерпретация CAC в Intel унаследовала много от ubicomp. Начиная с 1987 года в Xerox PARC под руководством Марка Вейзера были созданы различные устройства, которые можно назвать предтечами нынешних «пэдов», «подов» и «табов». Ubiquitous computing, или pervasive computing, — модель, при которой компьютеры проникают во все сферы человеческой деятельности. Ubicomp рассматривают как следующую после ПК модель HCI, которая отличается наличием множества субъектов и объектов, объединенных в одну общую систему работы с информацией. Переход на ubicomp определяют как эпоху вхождения машин в человеческую среду вместо попыток инкорпорирования человека в машинную среду, как делают сейчас. Машины сами должны узнавать о среде обитания человека, набирать необходимый контекст и понимать адресованные им обращения шире, чем непосредственно то, что в этих сообщениях сказано.
Самой первой попыткой создания прототипа Ubicomp можно считать систему определения человека по активным бейджам, которая была разработана в конце 80-х годов в американской исследовательской лаборатории Olivetti с использованием Active Badge, созданных в Xerox PARC. Тогда еще не было мобильных телефонов, и ношение бейджа с радиочастотным датчиком позволяло оператору корпоративной телефонной станции перенаправить звонок в ту комнату, где в данный момент находится сотрудник. Эта идея получила более полное развитие, когда в Xerox PARC был создан один из первых мобильных компьютеров ParcTab, снабженный инфракрасным интерфейсом, обеспечивавшим связь с датчиками, установленными в помещении. В основном это устройство использовалось в качестве графического терминала, а приложения выполнялись на серверах. В результате объединения всех устройств получалась распределенная мобильная вычислительная система (mobile distributed computing system) — более развитая форма, чем просто мобильная система, поскольку она включает в себя и компьютеры, и их пользователей, к которым относится часть создаваемого контекста. Контекстные приложения (context-aware software) учитывают местоположение пользователя, кто и что находится рядом с ним (люди, серверы, другие устройства). В зависимости от возможностей мобильного компьютера могут быть использованы и другие сенсоры — например, акселерометр, датчики освещения, измерение уровня шума, качество мобильной связи и др.
![]() |
| Первый мобильный компьютер ParcTab, снабженный инфракрасным интерфейсом |
Прямыми продолжателями дела Вейзера стали исследователи из лаборатории Intel Interaction and Experience Research, в которой вместе с компьютерными инженерами и учеными работают антропологи, социологи, лингвисты и представители других специальностей. Свой интерес к CAC в Intel объясняют сменой действующей парадигмы взаимодействия человека с компьютером, которое может изменить очень многое, в том числе и производство процессоров.
Современные мобильные устройства обладают не только более широкими коммуникационными способностями (беспроводные компьютерные сети разных типов, сотовая телефония), но и более развитыми сенсорами, своего рода органами чувств (глобальное позиционирование, фото- и видеокамеры, при желании количество и тип сенсоров можно увеличить). В универсальных устройствах (сотовые телефоны) и в специализированных можно накапливать контекст, необходимый для оптимизации HCI и сокращения объема передаваемых данных, формируя диалоговую полосу пропускания (conversational bandwidth). В Intel представления о контексте ограничивают теми знаниями, которые могут накапливать умные мобильные устройства о предпочтениях своего хозяина, для того чтобы снабжать его более полезными сведениями, выбирая из внешней среды только необходимые данные. Уже сейчас существует немало готовых решений (например, телефон, распознающий жесты хозяина), а в Индии, стране с самым высоким уровнем заболевания диабетом, мобильный телефон служит для активного контроля соотношения подвижности человека с потреблением пищи — для этого достаточно фотографировать съедаемые блюда. Осуществлять контроль эмоционального состояния тоже в принципе несложно, нужно лишь соотнести пульс с движением, для этого достаточно акселерометра, но в будущем можно будет оценивать и эмоции. То, что могут дать мобильные устройства в стиле CAC, потрясает и настораживает — при всей их пользе и эффективности они образуют систему слежки и контроля много мощнее Большого Брата.
|
По закону Белла
Зарождающийся сегодня класс мобильных компьютерных систем нового поколения составит серьезную конкуренцию ПК только тогда, когда будут соблюдены все условия, постулированные еще Гордоном Беллом. Леонид Черняк |
Компания Intel сосредоточила свое внимание на интеллектуальных гаджетах, но этим область CAC не ограничена — работа с контекстом позволит повысить эффективность большинства информационных систем, связывающих человека с окружающей средой. Их главная отличительная особенность — способность к адаптации в изменяющихся условиях без вмешательства пользователя. Пока можно говорить только о подходах к созданию такого рода систем, но их появление — вопрос времени. Один из возможных подходов описан в статье группы авторов из ЛЭТИ (А. И. Водяхо, Н. А. Жукова, М. Г. Пантелеев, Д. В. Пузанков «Использование онтологических контекстов в интеллектуальных проблемно-ориентированных информационно-управляющих системах»). В основе данного подхода лежит использование онтологических контекстов, а сам подход может быть использован в таких областях, как системы управления компьютерными сетями, системы поддержки принятия решений, системы e-learning и многоагентные системы. В качестве гипотетического примера приложения в работе приводится система поддержки принятия решений при ликвидации чрезвычайных ситуаций. Диспетчер принимает решение о ликвидации последствий, например, крупной транспортной аварии, сопровождаемой пожаром. Система выполняет функции советчика и может быть доступна как Web-сервис. Информация о происшествии поступает в форме SOAP-сообщения (Simple Object Access Protocol — простой протокол доступа к объектам), содержащего информацию о типе и месте происшествия. По типу события из репозитария извлекается абстрактный контекст (контексты), имеющий отношение к данному типу происшествий. Может потребоваться, например, вызов скорой помощи и эвакуатора. Каждому из этих событий соответствует собственный контекст. Контексты сливаются, и запускаются бизнес-процессы наполнения контекста данными.
Наибольшую популярность приобрели следующие методики создания систем класса CAC:
- Context Toolkit — архитектура для создания единого контекста на основании данных, поступающих от отдельных сенсоров, обработанных соответствующими виджетами и собранных на сервере в базе знаний;
- Context Aware Multimedia Middleware (CMM) — ПО связующего слоя, предназначенное для фильтрации мультимедийного контента, например в проектах интеллектуальных зданий;
- Context Broker Architecture (CoBrA) — мультиагентная система, используемая в ПО для интеллектуальных сред обитания, в том числе конференц-залов, интеллектуальных зданий и автомобилей;
- Service-Oriented Context Aware Middleware (SOCAM) — конструкция для разработки разнообразных приложений класса CAC, обеспечивающая получение, раскрытие и интерпретацию различных контекстных сервисов.
***
У систем класса CAC большое будущее — они будут функционально насыщеннее, поскольку в их создании принимают участие специалисты из разных областей знаний, а опора на контекст сделает их доступнее для большего числа пользователей.
Терри Виноград заслуживает чести считаться духовным отцом Google — именно он рекомендовал Ларри Пейджу взять в качестве темы диссертационной работы изучение математических свойств Всемирной сети, представляя структуру ссылок в виде огромного графа. Позже Пейдж признал эту рекомендацию лучшим советом, который он когда-либо получал. — Прим. автора.
_200.png)