Введение
Контекстно-зависимые вычисления (Context-Aware Computing) – вычислительная парадигма, в рамках которой программные системы собирают информацию о текущем контексте пользователя (местоположение, время суток, используемое устройство, физическая активность, социальное окружение) и автоматически адаптируют своё поведение, интерфейс и предоставляемые сервисы без явных команд со стороны пользователя.
Концепция описывается формулой «правильная информация – правильному пользователю – в правильное время – в правильном месте». Ключевое отличие от традиционных систем – проактивность: система не ждёт запроса, а предвосхищает потребности на основе контекстных данных.
История и контекст
Термин «context-aware» был введён Билом Щилитом (Bill Schilit) и Марком Тигером (Mark Theimer) в 1994 году в работе по системам с учётом местоположения в Xerox PARC. Аниндя Дей (Anind Dey) формализовал понятие контекста в 2001 году, предложив широко цитируемое определение: «Контекст – это любая информация, характеризующая ситуацию объекта, при этом объект – это человек, место или ресурс».
Массовое применение контекстно-зависимые вычисления получили с распространением смартфонов (2007–2010), оснащённых GPS, акселерометрами, гироскопами и камерами. Сервисы Google Now (2012), Siri и Cortana стали первыми массовыми реализациями context-aware ассистентов. Интернет вещей и носимые устройства расширили источники контекстных данных до биометрических показателей и параметров окружающей среды.
Как это работает
Архитектура контекстно-зависимой системы включает несколько компонентов:
- Сенсоры и источники данных: GPS, Wi-Fi/Bluetooth для геолокации, акселерометр, барометр, камера, календарь, история действий.
- Уровень агрегации контекста: Middleware или Context Broker собирает данные от разных источников и предоставляет единый контекстный API.
- Модели контекста: Онтологии и правила, описывающие, что означают те или иные комбинации контекстных сигналов (напр., «пользователь едет в машине» = GPS+высокая скорость+акселерометр).
- Адаптация приложения: Логика принятия решений, выбирающая подходящее поведение системы: изменить интерфейс, предложить сервис, отправить уведомление, переключить профиль.
- Обратная связь: Механизмы обучения на основе реакций пользователя для повышения точности контекстных предсказаний.
Где применяется
Контекстно-зависимые вычисления находят применение в самых разных областях:
- Мобильные ассистенты: Google Assistant, Siri адаптируют ответы к местоположению, времени и истории пользователя.
- Умный дом и IoT: Термостаты, освещение и системы безопасности, реагирующие на присутствие жильцов и их активность.
- Розничная торговля: Геолокационные уведомления, персонализированные предложения в магазинах с indoor-навигацией.
- Здравоохранение: Мониторинг состояния пациентов с автоматическими оповещениями при отклонении показателей.
- Корпоративные системы: Адаптивные рабочие интерфейсы, учитывающие роль пользователя, его местоположение (офис/удалёнка) и текущую задачу.
Связь с другими понятиями
Контекстно-зависимые вычисления тесно связаны с Интернетом вещей (IoT) – основным поставщиком контекстных данных из физического мира. Контекстно-зависимая безопасность (context-aware security) является прикладной областью: системы доступа проверяют не только учётные данные, но и контекст запроса (устройство, местоположение, время).
Контент-таргетинг строится поверх контекстных данных: системы показывают релевантный контент, учитывая физический и цифровой контекст пользователя. Персонализация и рекомендательные системы используют контекст как важнейший входной параметр. Технологии Machine Learning обеспечивают интерпретацию сложных мультисенсорных данных для определения текущего контекста.