ОБМЕН СООБЩЕНИЯМИ ПО ПРИНЦИПУ WHEN-FREE
MESSAGE EXCHANGE BASED ON WHEN-FREE PRINCIPLE

Область техники, к которой относится изобретение
Настоящее изобретение относится в целом к системам и способам, облегчающим осуществление связи между устройствами, системами, процессами и/или отдельными людьми. В частности, настоящее изобретение относится к интеллектуальному сенсорному контролю конечных устройств, которые используются с различными системами связи и в соответствии со стратегиями ограниченной отсрочки, для минимизации деструктивного воздействия уведомлений.
Предшествующий уровень техники
Несмотря на впечатляющие возможности людей чувствовать, запоминать и объяснять окружающий мир, познавательные способности на хорошо описанных путях сильно ограничены. В частности, физиологи обнаружили, что люди вынуждены бороться со скудными возможностями своего внимания и ограниченной рабочей памятью. Указанные ограничения становятся заметными, когда перед человеком встает проблема запоминания за короткое время большого количества новых идей или тем, выделения важных целей на фоне определенного сочетания проблем или поочередного решения множества задач.
Эти результаты показывают, что люди вынуждены изучать окружающий мир, как правило, в условиях ограниченных возможностей своего внимания. По существу, большинство людей часто создают в явном или неявном виде некие «путеводные ключи» к объектам их избирательного внимания и степени концентрации внимания. Полученные сведения об ограниченных ресурсах, связанных со вниманием, имеют важные последствия, касающиеся требований к проектированию вычислительных систем и интерфейсов. Что касается ресурсов внимания, то электронные сообщения обычно передают в однонаправленном режиме, когда приемник или получатель сообщения уведомляется о доставке сообщения независимо от возможности получателя обработать указанные сообщения. Таким образом, при мгновенном обмене сообщениями, например, приемникам мгновенного сообщения предоставляется всплывающее окно, показывающее, что отправитель хочет передать сообщение. Однако при прерывании такого типа не учитывается готовность получателя принять указанные сообщения или вступить в данный момент в беседу.
Сущность изобретения
Далее следует упрощенное описание сущности изобретения, имеющее своей целью дать базовое представление о некоторых аспектах изобретения. Описание сущности изобретения не является исчерпывающим изложением изобретения. Оно не претендует на идентификацию ключевых/критических элементов изобретения или ограничение объема изобретения. Его единственной целью является представление ряда концепций изобретения в упрощенной форме в качестве прелюдии к более подробному описанию, представленному ниже.
Настоящее изобретение относится к системам и способам, которые подавляют навязывание связи между отправителями и приемниками сообщений, что способствует более вежливому и своевременному обмену информацией без пауз. Согласно одному аспекту мгновенный обмен сообщениями и другие формы связи можно улучшить посредством использования стратегий и параметров с временными ограничениями. Например, одной из проблем, связанных с использованием мгновенного обмена сообщениями, является возможный обрыв связи при осуществлении обмена сообщениями с получателями, которые возможно не готовы принять мгновенное сообщение. Обмен сообщениями по принципу When-Free («когда свободен») позволяет пользователям посылать сообщения When-Free, действующие как почти мгновенные сообщения, которые ожидают, пока пользователь или получатель находятся в одном состоянии из списка состояний, определенных как состояния занятости. Отправитель может, используя быстродействующий «жест» (запрограммированный пользователем графический знак) или через постоянно действующий профиль, закодировать данные о том, как долго сообщение должно оставаться действующим, прежде чем оно будет стерто или отменено, так что отправитель может послать сообщение When-Free, например: «Привет! Не хочешь ли пообедать?» (Время действия (TTL)- 10 минут). Таким образом, это сообщение пройдет только в том случае, если получатель окажется свободным в указанном диапазоне TTL.
Можно, но не обязательно, послать подтверждение о приеме сообщения, когда сообщение воспроизведено, или в случаях, когда сообщение не прошло к получателю к тому моменту времени, когда его действие закончилось, отправителю может быть послано уведомление о том, что истек срок действия сообщения и что оно было стерто. Получатели, если это потребуется, могут дать указание о том, что сообщения с близким сроком окончания их действия можно к ним пропустить во избежание их просрочки, а также предоставить возможность задержать состояние доступности для передачи в качестве сообщения обратной связи к отправителю сообщения. Процесс When-Free для мгновенного обмена сообщениями и других форм связи способствует снижению ограничения на отправку мгновенных сообщений другим получателям, особенно людям, которых отправители могут толком не знать, что обеспечивает вежливую форму обмена сообщениями. Подходы на основе When-Free можно также применить к другим средам связи, таким как, например, электронная почта или голосовая почта.
Настоящее изобретение относится к системе и способу, обеспечивающим передачу важных сообщений или обмен данными. Описаны стратегии, которые при принятии решений о наилучшем времени доставки сообщений с учетом предельного срока доставки рассматривают текущую ситуацию у пользователя, в том числе принимая во внимание предполагаемую стоимость прерывания или непосредственно измеряемые показатели, косвенно характеризующие указанную стоимость. Предельные сроки доставки зависят от срочности информации, которая логически выводится или определяется в зависимости от отправителя, типа и содержания сообщения. Если подходящее время доставки в рамках предельного срока не определено, то информация доставляется в предельный срок. Если определено, что подходящее время в рамках предельного срока не достигается, то информация передается немедленно. Подходящие моменты времени для доставки можно определить, используя один или несколько датчиков, расположенных на или около оконечных устройств, к которым в том числе относятся акселерометры, микрофоны, тактильные системы и системы определения положения головы и направления взгляда. При принятии решений об отсрочке предупреждений можно использовать другую информацию, в том числе статус назначенной встречи, указанный в календаре пользователя, время суток и предполагаемые схемы доступности. Для определения вероятности того, что информация в устройстве будет принята, также используют оконечные датчики, календарную информацию и схемы доступности. Указанная информация может возвращаться сразу или в сводном виде центральному менеджеру (средству управления) уведомлений или использоваться локально при принятии решений о выделении и повторении предупреждений.
Один конкретный аспект настоящего изобретения относится к системам и способам, которые обеспечивают осуществление эффективной и своевременной связи между сторонами путем подавления навязывания, связанного с уведомлениями. Один конкретный аспект изобретения относится к использованию малогабаритных устройств (например, телефонов, персональных цифровых помощников (PDA), интеллектуальных перьев, часов, очков) в связи с уведомлением о сообщении и/или наилучшим режимом выполнения связи. Согласно изобретению малогабаритные устройства могут быть выполнены таким образом, чтобы они обладали, по меньшей мере частично, информацией о различных показателях, относящихся к состоянию внимания и/или местоположению пользователей. Информация, определенная и/или предположительно выведенная малогабаритным устройством (устройствами), вместе с данными о состоянии внимания и/или местоположения может совместно использоваться малогабаритными устройствами, а также вместе с устройствами или системами иного уровня (например, центральная система управления уведомлениями). Эта информация может распространяться индивидуально, последовательно или параллельно на другие устройства, а также может агрегироваться. Эту информацию можно использовать для облегчения предоставления службы уведомлений и/или определения или предположительного вывода о наилучшем режиме, при котором обеспечивается эффективная связь с пользователями и между пользователями.
Согласно одному примерному аспекту обеспечивается использование стратегий ограниченной отсрочки, когда локальное устройство поддерживает передачу сообщения, которое оно приняло, прежде чем будет достигнут предельный срок, специально определенный для данного сообщения; устройство согласно изобретению пытается определить или логически вывести наиболее подходящий момент времени для прерывания в рамках выделенного интервала. При указанном определении или логическом выводе можно использовать способы на статистической или вероятностной основе и/или способы на основе полезности (например, выгода от прерывания при заданной стоимости прерывания). Устройства согласно данному изобретению могут использовать различные варианты измерительных систем (например, датчики на основе технологии микроэлектромеханических систем (MEMS), датчики температуры, акселерометры, гироскопы, датчики на основе светового излучения, датчики на основе измерения времени, система GPS, уровень сигнала 802.11, инфракрасные детекторы ближней локации, тактильные датчики, …) в связи с изучением или логическим выводом о состоянии внимания и/или местоположении пользователей. Что касается совместного использования и/или посылки данных измерений состояний, должно быть ясно, что можно передавать все данные измерений состояний, их поднаборы или сводные данные измерений.
Еще один аспект изобретения предлагает учитывать состояния устройства (устройств), а также окружающей среды. Например, надежность передачи устройства может рассматриваться (например, на скользящей шкале, представляющей вероятность P(надежность передачи│контекст), то есть вероятность прохождения сообщения в устройстве для данного контекста (в виде такой функции, как например, f(контекст) или f(измеренные состояния)).
Для достижения вышеуказанных и связанных с ними целей здесь описаны некоторые иллюстративные аспекты изобретения вместе с последующим описанием и прилагаемыми чертежами. Эти аспекты показывают различные пути возможной практической реализации изобретения, причем предполагается, что все они охватываются настоящим изобретением. Другие преимущества и новые признаки изобретения можно уяснить из последующего подробного описания изобретения, рассматриваемого вместе с чертежами.
Краткое описание чертежей
Фиг.1 - блок-схема, иллюстрирующая архитектуру обмена сообщениями When-Free согласно аспекту настоящего изобретения;
фиг.2 - блок-схема, иллюстрирующая обмены данными о состояниях согласно аспекту настоящего изобретения;
фиг.3 - блок-схема, иллюстрирующая связь оконечного устройства согласно аспекту настоящего изобретения;
фиг.4 - схема примерной стратегии ограниченной отсрочки согласно аспекту настоящего изобретения;
фиг.5 - схема, иллюстрирующая параметры ограниченной отсрочки согласно аспекту настоящего изобретения;
фиг.6 - схема, иллюстрирующая прикладные модели для оконечных устройств согласно аспекту настоящего изобретения;
фиг.7 и 8 - блок-схемы, иллюстрирующие процесс обработки ограниченной отсрочки согласно аспекту настоящего изобретения;
фиг.9 - диаграмма влияния, иллюстрирующая модель фокуса внимания и загруженности согласно аспекту настоящего изобретения;
фиг.10 - схема влияния, иллюстрирующая временную байесовскую модель внимания согласно аспекту настоящего изобретения;
фиг.11 - блок-схема системы назначения приоритетов согласно аспекту настоящего изобретения;
фиг.12 - блок-схема, иллюстрирующая систематическое взаимодействие между средством уведомлений и анализатором контекста согласно аспекту настоящего изобретения;
фиг.13 - блок-схема, иллюстрирующая подходящую операционную среду согласно аспекту настоящего изобретения;
фиг.14 - блок-схема среды для выборочных вычислений, с которой может взаимодействовать настоящее изобретение.
Подробное описание изобретения
Настоящее изобретение относится к системе и способу, обеспечивающим осуществление связи между сторонами на основе учета контекста пользователя, где контекст включает в себя такую фоновую информацию, как статус назначенных встреч пользователя, закодированный в цифровом календаре пользователя, и информацию, которая измеряется локально посредством датчиков, находящихся на устройстве или рядом с устройством. На основе доступности приемника сообщения (например, на основе стратегии ограниченной отсрочки) настоящее изобретение обеспечивает архитектуру обмена сообщениями по принципу When-Free, которая позволяет отправителю сообщения закодировать предпочтительный временной диапазон, в течение которого сообщение должно быть принято. Если сообщение в этом временном диапазоне не принято по причине недоступности приемника, то это сообщение может быть автоматически отменено, до того как беспокоить приемник прерыванием сообщения. Статусом можно обмениваться в обоих направлениях для облегчения дальнейшей связи.
Заметим, что вышеописанная архитектура When-Free может поддерживать несколько сценариев или приложений связи, относящихся, по существу, к обмену сообщениями любого типа, включая электронные текстовые сообщения, а также традиционную аналоговую связь. Например, по сценарию, которым руководит отправитель, при использовании обмена сообщениями When-Free за вежливую форму обмена несут ответственность отправители; то есть, отправителям предоставляется возможность посылки мгновенного сообщения (IM), которое проходит к получателям или привлекает их внимание только в том случае, если получатели присутствуют на месте или свободны согласно их собственному определению занятости и стратегиям свободного состояния. Таким образом, для IM выделяется время существования до истечения срока его действия, например, по умолчанию (например, 5 минут) или в момент посылки устанавливается специальный флаг. Ниже описано несколько возможных примеров.
Сообщение When Free: «Рик! Не желаешь ли пообедать?» - > срок действия 15 минут. В этом примере сообщение полностью исчезает (не попадая к пользователю, или без индикации о том, что оно было послано), если пользователь не увидел сообщение (например, по причине отсутствия) или оставался в состоянии занятости. Таким образом, обмен сообщениями When Free может снизить ограничения для людей, которые не чувствуют неудобств при посылке IM другим людям.
В другом варианте применения можно использовать стратегии, задаваемые приемником, и обеспечить ссылки между просроченными сообщениями IM и электронной почтой. В этом случае стратегия задается приемником для обработки входящего мгновенного сообщения, причем эта стратегия предоставляет простые способы обработки IM, когда получатель оказывается занятым или отсутствует. Этот вариант охватывает ситуации, когда получатель недоступен для сообщения IM, инициируемого отправителем, или не доступен, например, к концу установленного времени обмена IM (имеет место большая пауза и т.п.) из-за того, что пользователь продолжает оставаться занятым, продолжает сеанс обмена мгновенными сообщениями с другим пользователем, отошел и т.д.
В этих ситуациях пользователь может, например, задать следующее:
1. Мои контексты «недоступности»
Например, я не готов, если:
Я не реагирую на IM в течение x минут,
или
Я не работал за своим настольным компьютером в течение времени, превышающего x минут,
или
Я занят, находясь в одном из следующих состояний:
Я в данный момент обмениваюсь сообщениями IM с кем-то еще (посылаю или принимаю IM в ходе беседы с кем-то еще в течение x минут)
Состояние настольного компьютера (Задание приложения на переднем плане, например создание сообщения электронной почты в Outlook, Active в режиме отображения Powerpoint, активизация в Excel и т.д.)
Разрешенные исключения:
Позволяют пользователям задавать исключения
Например, позволяют указанным пользователям обходить состояния занятости: специальный список={Стив Смит, Майк Джонс, моя жена, список важных коллег; человек, с которым я сегодня обменивался IM; человек, которому я сегодня посылал электронную почту, и т.д.).
2. Моя «стратегия недоступности для обмена IM»
Если я не доступен (например, смотри выше, «Если я не реагирую на IM в течение x минут», «Если я не работал за своим настольным компьютером в течение x минут» и т.д.) или я нахожусь в одном из состояний занятости (определенных в простом списке состояний), то тогда (примерные стратегии):
[ ] Преобразовать IM в сообщение электронной почты и поместить его в мой ящик входящей почты
[ ] Создать IM для отправителя с автоматически создаваемым ответом, говорящим о том, что я не готов прочитать или ответить на его IM
[ ] Ввести следующую информацию (в IM или в автоответ по электронной почте:
Как составная часть стратегии недоступности пользователя, получатели могут задать сообщение с автоответом для всех или для выбранных людей/групп (например, из рекомендательного списка пользователя при его недоступности для IM):
Например, сообщение электронной почты с автоответом или ответ в виде IM говорит отправителю о том, что получатель может быть доступен по электронной почте по адресу: ,
или, альтернативный вариант:
[ ] Преобразовать IM в поток сообщений электронной почты, встроив это сообщение IM в электронную почту от меня к отправителю с копией (сс:) для меня
[ ] Ввести следующую информацию (в IM или автоответ по электронной почте):
То есть, получатель может дать указание, распространяющееся на всех или некоторых людей (согласно рекомендательному списку для связи), чтобы для отправителя автоматически создавалось сообщение по электронной почте с копией (СС:) отправителю, с инициированием IM, вкладываемым для того, чтобы дать возможность продолжить связь позднее по электронной почте, или прямо посредством IM, исходя из сообщения электронной почты, в соответствии с предпочтениями либо получателя, либо отправителя. Такой подход всегда переводит ситуации, когда имеет место состояние занятости для IM, в обмен по электронной почте, который может быть доведен до конца позднее по электронной почте или через IM. (Во время чтения электронной почты текущая доступность пользователя для IM может отображаться на месте в соответствии со статусом присутствия доставщика сообщения). Это позволяет создать особую ячейку для IM и электронной почты, позволяя переключаться с одного режима на другой или повторно устанавливать сеанс обмена IM позднее. Также унифицированная стратегия для состояния недоступности и для действий или (например, для действий позднее) предусматривает создание специального списка коллег под названием «рекомендательный список для связи») и задание избирательной недоступности (например, для других) и стратегий действий.
В другой прикладной ситуации можно использовать аналогичные стратегии When-Free (стратегии, задаваемые отправителем, или стратегии, задаваемые приемником) в сценариях полудуплексной связи (push-to-talk (нажми кнопку и говори)). Принцип push-to-talk становится популярным, но он порождает проблемы, подобные IM для обеих сторон - участников связи (руководимой приемником, руководимой отправителем). Для конкретного примера рассмотрим случай, когда устройство связи типа push-to-talk используется первым строительным контрагентом для переговоров с другим контрагентом на другом рабочем участке, в результате чего обе стороны, находящиеся на связи, оказываются занятыми. Если первый контрагент занят, например говорит с кем-то еще, то способ When-Free может поддерживаться несколькими путями. При одном подходе воспроизведение сообщения push-to-talk подавляется и сохраняется в локальном буфере, причем оно воспроизводится, если это возможно, когда контрагент на приемной стороне освобождается в течение заранее установленного временного интервала. Если сообщение не может быть послано в течение выделенного интервала времени, оно может быть стерто заранее автоматически записанным сообщением, передаваемым обратно отправителю, которое информирует отправителя о том, что последнее сообщение не прошло, и/или дает возможность получателю (в соответствии с заранее определенной стратегией) или отправителю преобразовать сообщение в форму, которую можно будет просмотреть позднее, например, фрагмент мультимедийных данных в электронной почте, голосовая почта в ящике входящей почты, с речевым сообщением «Сегодня Вы пропустили это сообщение в конце беседы с Сэмом»; и т.д.
При другом подходе, когда сообщение не стирается, если оно запоздало, получатель может установить стратегию, согласно которой обратно посылается автоматическая запись, сообщающая отправителю, что получатель как раз сейчас занят и сообщение еще не доставлено, и вызывающая сторона информируется о том, что будет сообщено время воспроизведения этого сообщения.
При еще одном подходе после того, как время истекло, и возможно отправлен автоматический ответ о недоступности телефона или учетной записи получателя, сообщения могут поддерживаться локально устройством или сервером получателя. Получатель позднее может просмотреть сообщения, подавленные из-за его недоступности или исходя из текущей стоимости прерывания, и решить ответить либо вручную, вызвав предыдущего собеседника, либо использовав автоматическое средство для восстановления контекста. Такие автоматические средства могут обеспечить инструменты для легкого восстановления контекста, например, позволяющие получателю одним нажатием на кнопку активировать восстановление беседы «[Зафиксированное аудиосообщение]: Возвращение к беседе с Робертом в соответствии с [записано от Сэма]: «Роберт, я думаю, что нам как раз бы подошла эта красная керамика!», с момента, когда Роберт и Сэм смогут продолжить беседу.
Предполагается, что используемые в этом приложении термины «компонента», «служба», «модель» и «система» относятся к объекту, имеющему отношение к компьютеру, любым аппаратным средствам, комбинации аппаратных и программных средств, программным средствам или программным средствам, находящимся в процессе исполнения. Например, компонентой может быть, но не только, процесс, выполняющийся в процессоре, а также процессор, объект, исполняемая программа, поток исполнения, программа и/или компьютер. В качестве примера компонентой может являться как приложение, выполняющееся на сервере, так и сам этот сервер. Одна или несколько компонент могут находиться в процессе и/или потоке исполнения, причем компонента может находиться в одном компьютере и/или распределена между двумя или более компьютерами.
Используемый здесь термин «логический вывод» относится в общем случае к процессу обсуждения или логического вывода в отношении состояний системы, окружающей среды и/или пользователя на основе ряда наблюдений, фиксируемых посредством событий и/или данных. Логический вывод можно использовать для идентификации конкретного контекста или действия или, например, можно построить распределение вероятностей состояний. Логический вывод может носить вероятностный характер; то есть, представлять собой вычисление распределения вероятностей интересующих состояний на основе учета данных и событий. Логический вывод также может относиться к способам детерминированных или логических рассуждений, включая способы, используемые для построения событий более высокого уровня исходя из набора событий и/или данных. Такой логический вывод приводит к построению новых событий или действий исходя из набора наблюдаемых событий и/или запомненных данных о событиях, на основе того, являются или нет эти события коррелированными в узкой временной области, и исходя из того, поступили ли эти события и данные от одного или нескольких источников событий и данных.
Обратимся сначала к фиг.1, где показана система 100, иллюстрирующая архитектуру «When Free» согласно аспекту настоящего изобретения. Система 100 включает в себя компоненту 110 посылки сообщений, которая посылает сообщения получателю на оконечном устройстве 120. Компонента 110 посылки сообщений может включать в себя, по существу, любое устройство или компоненту связи, такую как система мгновенного обмена сообщениями, стандартный или сотовый телефон, электронная почта, голосовая почта и т.д. Сообщения, посылаемые согласно настоящему изобретению, включают в себя одно или несколько свойств для управления тем, каким образом и когда послано или передано сообщение приемному устройству или компоненте 120, и послано ли или передано ли сообщение. Согласно одному аспекту сообщения могут посылаться со свойством «время существования» (TTL), как показано под ссылочным номером 130. Свойство TTL указывает длительность активного состояния сообщения, запланированную отправителем (например, в очереди временных сообщений у клиента или на сервере), перед тем как сообщение будет аннулировано из-за прерывания пользователя. Например, пользователь может послать сообщение с устройства 110 посылки, утверждающее: «Ты готов встретиться через 10 минут?». Вместе с этим сообщением пользователь может сконфигурировать параметр TTL, установив его значение равным 10 минутам, который передается вместе с сообщением. Указанную конфигурацию можно обеспечить через пользовательский интерфейс 140, который также можно использовать для создания сообщения. В альтернативном варианте сообщения могут автоматически анализироваться для речевых или текстовых очередей на предмет того, как долго сообщение должно оставаться активным, прежде чем оно будет отброшено.
Обратимся к предыдущему примеру, где в случае, когда пользователь не готов принять вышеуказанное сообщение о встрече через 10 минут, это сообщение о встрече может быть автоматически аннулировано без прерывания работы пользователя или запланированного получателя сообщения. Доступность запланированного получателя для приема сообщений можно определить, используя множество различных процессов, к примеру, через информацию, получаемую из календаря получателя. Согласно одному аспекту компонента 150 ограниченной отсрочки ассоциирована с оконечным устройством 120 и определяет периоды доступности для получателя сообщений. Таким образом, если взять вышеуказанный пример, компонента 150 ограниченной отсрочки может определить, что пользователь готов принять сообщение через 5 минут. В конце 5-минутного интервала пользователь примет вышеуказанное сообщение о встрече, поскольку это сообщение остается доступным для приема, пока не будет превышен назначенный период TTL для этого сообщения (например, 10 минут), или будет определено, что получатель не будет готов в течение интервала времени, превышающего период TTL. Как более подробно описано ниже, между отправителями и приемниками сообщений может осуществляться обмен различной информацией о состояниях, указывающей потенциальную вероятность успешного прохождения или непрохождения посылаемого сообщения, а также другие указания для ненавязчивого обмена сообщениями.
Обратимся к фиг.2, где показана система 200 с демонстрацией примеров обменов состояниями согласно аспекту настоящего изобретения. Как было отмечено выше в связи с фиг.1, обмен сообщениями When-Free позволяет пользователям посылать сообщения When-Free, которые действуют как почти мгновенные сообщения, ожидающие, пока пользователь или получатель не окажется в одном из состояний из списка состояний, определенных как состояния занятости. Отправитель может, используя быстрый «жест» или постоянно действующий профиль, закодировать длительность действия сообщения, прежде чем оно будет стерто или отменено, так чтобы отправитель мог послать сообщение. Это показано под ссылочным номером 210, где устройство посылки передает сообщение 220, имеющее закодированный параметр или параметры. Например, сообщение 220 может появиться в виде сообщения When Free: «Привет, не хочешь ли пообедать?» (время существования (TTL) 10 минут). Таким образом, сообщение 220 пройдет только в том случае, если получатель освободится в течение временного интервала TTL. В необязательном порядке может быть послано подтверждение принятого сообщения под ссылочным номером 230, когда сообщение воспроизводится с приемного устройства 240, или в случаях, когда сообщение 220 не прошло получателю за время его существования, отправителю 210 может быть послано уведомление 250 о том, что сообщение просрочено и было стерто.
Получатели через приемное устройство 240 могут указать, что сообщения, время существования которых близко к завершению, могут пройти к ним, прежде чем истечет их срок, если это необходимо, а также разрешить затянуть состояние 260 доступности, передаваемое в виде сигнала обратной связи отправителю сообщения (например, «Я смогу принять сообщение через 15 минут»). Если получатель сконфигурировал приемное устройство 240 для прохождения на него сообщений, например если сообщение имеет достаточно высокий приоритет или поступает от кого-либо лица, входящего в поднабор отобранных отправителей, может быть послано альтернативное предложение под ссылочным номером 270. Например, «Я готов встретиться через 20 минут». В дополнение к параметризированным сообщениям 220 устройство 210 посылки может послать особые признаки, указывающие, кто может попытаться установить контакт с получателем, под ссылочным номером 280 (например, изображение отправителя или текст, указывающий, что мгновенное сообщение находится в очереди). Также может быть предусмотрен журнал 290 регистрации действий, по которому получатель сообщений может периодически контролировать файл регистрации, указывающий количество посланных сообщений, содержание сообщений и идентификационные данные отправителей сообщений, которые возможно пытались выйти на связь, но им это не удалось. Этот журнал может также включать в себя данные обо всех действиях в отношении сообщений, в том числе о попытках успешной связи, а также о безуспешных попытках.
Обратимся к фиг.3, где в системе 300 показана связь оконечного устройства согласно аспекту настоящего изобретения. Одно или несколько оконечных устройств 310 ассоциированы с одним или несколькими датчиками 314 (например, перемещения, ближней локации) и данными 320 ограниченной отсрочки для облегчения связи с пользователем. Данные 320 ограниченной отсрочки обычно определяются и создаются менеджером 330 уведомлений, который направляет уведомление от различных источников 334 уведомлений на оконечные устройства 310. Ценно то, что согласно настоящему изобретению оконечные устройства 310 также могут определять данные 320 ограниченной отсрочки.
Данные 320 ограниченной отсрочки для оконечных устройств 310 определяются с учетом допустимого периода, называемого периодом отсрочки, который в общем случае зависит от отправителя уведомления и/или типа доставляемого сообщения. Когда оконечное устройство 310 принимает сообщения, оно использует датчики 314 локально, чтобы определить подходящее время в рамках указанного периода ограниченной отсрочки для предупреждения пользователя. Как правило, более срочные сообщения имеют более короткий период отсрочки. Например, менеджер 330 уведомлений возможно как раз принял сообщение от источника 334 уведомлений и пытается доставить это сообщение в соответствии с периодом ограниченной отсрочки, заданным в данных 320 ограниченной отсрочки. Обычно менеджер 330 уведомлений принимает общие решения о направлении уведомлений и полагает, что оконечное устройство 310 действительно предоставит сообщение пользователю в рамках определенного периода отсрочки. Однако оконечное устройство 310 может обнаружить, что пользователь в настоящее время вовлечен в активные действия (например, акселерометр указывает на быстрое перемещение). По существу, даже если приближается окончание срока доставки сообщения, определенного данными 320 ограниченной отсрочки, то оконечное устройство 310 еще может задержать доставку этого сообщения на основе того, что обнаружена активность или состояние внимания пользователя.
Заметим, что ограниченная отсрочка в общем случае относится к концепции, состоящей в том, что сообщениям локально или централизованно присваивается допуск ограниченной отсрочки, который предопределяет предельный срок, когда пользователь может ознакомиться с сообщением, содержащим информацию о его ценности для пользователя, где допуск или отсрочка зависит от срочности этой информации. Также можно учесть надежность передачи потенциально на основе локально полученной датчиком информации, которая относится к вероятности того, что сообщение пройдет к пользователю при данных результатах измерений в оконечной точке и/или оценках при данной информации об окружении, как более подробно описывается ниже.
Параметры ограниченной отсрочки могут быть определены путем использования локальных датчиков, календарной информации, типа предупреждения и/или времени дня, например, для определения того, что пользователь слишком занят, чтобы принять предупреждение в данный момент или в течение последующих х минут. Если подходит предельный срок, а предупреждение еще не доставлено, то оно доставляется в предельный срок. Если предельный срок определенно будет достигнут (например, как определено из календарной информации) и нет смысла ждать «лучших времен», то тогда немедленно отправляется предупреждение, так как ожидание ничего не даст.
Для определения различных состояний, к примеру определения времени, когда пользователь занят и когда пользователь доступен для приема сообщений, можно использовать датчики. Датчики могут также показывать, какова надежность передачи. Такая информация от датчиков может подаваться непосредственно в центральный менеджер уведомлений, например общую платформу уведомлений, которая решает, куда отправлять сообщения, или при другом применении само оконечное устройство может вычислить надежность передачи от датчиков и передать итоговые данные о надежности передачи обратно в центральный менеджер уведомлений, который учтет эту информацию при своем анализе. Например, датчик температуры на сотовом телефоне может сообщить сотовому телефону о том, что тот в данный момент действительно находится в кармане пользователя, в результате чего будет обеспечена высокая надежность передачи вибраций или звонка сотового телефона, которые дойдут до пользователя.
В известной диалоговой системе или соответствующем аспекте настоящего изобретения можно использовать концепцию ограниченной отсрочки, чтобы позволить системе, выполняющей интерактивный диалог, либо инициировать беседу, либо продолжить беседу, которая была прервана переключением внимания пользователя на что-то другое: какую-то задачу или на другую беседу. Например, в случае автоматизированной системы, которая работает с пользователем по задаче, в результате чего диалог был прерван каким-то лицом, вошедшим в дверь и говорящим с пользователем, система может подождать некоторое время, прежде чем извиниться и вмешаться с целью продолжения работы, в зависимости от важности своевременного продолжения диалога.
Заметим, что ограниченная отсрочка может быть связана со многими аспектами опыта пользователя. Например, стратегии ограниченной отсрочки могут быть связаны с календарной информацией, где в качестве строго определенных границ доступности пользователя берутся назначенные встречи (например, «назначенная встреча пользователя заканчивается через 10 минут; значит, можно и подождать» в сравнении с «назначенная встреча пользователя заканчивается через 20 минут; конец назначенной встречи или задачи наступит после допустимой отсрочки». Соответственно, лучше всего просто вмешаться и немедленно предупредить пользователя). Кроме календарной информации вычислительные системы могут обратиться к информации о длительности других задач. Например, задачи заранее заданной длины могут быть доступны в контекстах, где пользователь просматривает мультимедийную информацию (например, кинофильм или спектакль, который смотрит пользователь, закончится через 7,5 минут; рекламная пауза будет в 14 минут и т.д.).
Аналогичным образом пользователь может задать различные варианты своей доступности на основе времени суток или дня недели (например, пользователь может задать предпочтения, закодированные в менеджере уведомлений: «Не посылайте мне предупреждений до 8 утра и после 11 вечера, если у Вас не истек предельный срок в соответствии с допустимой отсрочкой, связанной с предупреждением»). Таким образом, системе может быть предписано ждать и задерживать предупреждение, если это возможно, до наступления предпочтительного периода времени (например, с 8 утра до 11 вечера), но если ждать нельзя, то предупреждение дойдет и в другое время. Также стратегии ограниченной отсрочки могут зависеть от типа предупреждения (например, устройство может немедленно начать создавать слабые вибрации, но если не будет подтверждения до истечения допустимой отсрочки, то устройство предупредит пользователя громким тональным сигналом).
При другом подходе, вместо прохождения предупреждения, когда допустимая отсрочка истекла, оконечному устройству может быть дана команда послать сообщение обратно центральному менеджеру уведомлений или отправителю предупреждения, информирующее менеджера уведомлений о том, что попытка устройства передать сообщение оказалась безуспешной.
Заметим, что менеджер 330 уведомлений и оконечные устройства 310 могут при направлении или прерывании уведомлений пользователям использовать теоретические подходы при принятии решений, которые более подробно описаны ниже. Глобальные стратегии ограниченной отсрочки могут быть рассмотрены как аппроксимация более подробных теоретических методов анализа при принятии решений. В подробных теоретических методах анализа при принятии решений предупреждения обрабатываются на основе «от случая к случаю» с учетом детализированных затрат и выгод от предупреждений для каждого конкретного сообщения и контекста. Стратегии ограниченной отсрочки позволяют задать границы общей задержки, а значит, общие потери ценности информации со временем для сообщений с различными степенями срочности. При рассмотрении взаимодействий с множеством сообщений, например, когда сообщение проходит к пользователю, другим сторонам также может быть предоставлена возможность получить это сообщение, даже если они не пробились к этому пользователю сами. В одном примере ценность для множества сообщений может быть определена по тому, что даст более короткая отсрочка, например суммарная ценность или другая функция ценности независимых сообщений.
Также система, которая удерживала ряд сообщений, имеющих относительно большие допуски на отсрочки (так как они имеют низкую временную критичность), которые еще не были превышены, может совместно использовать менее критичные сообщения в то время, когда более критичное по времени сообщение с более коротким допуском на отсрочку проходит к пользователю. Такие прохождения могут быть связаны с максимальными издержками совместного использования информации, позволяя проходить другим сообщениям с низкой приростной стоимостью. Например, рассмотрим случай, когда предупреждение, напоминающее человеку о встрече, проходит с достаточным запасом времени, чтобы пользователь смог добраться до запланированного места встречи с учетом текущего местоположения пользователя и места встречи. Во время прохождения сообщения стоимость приема дополнительных сообщений возможно не окажется значительно больше начальной стоимости прохождения сообщения. Таким образом, система может предупредить пользователя, послав ему сообщение: «Через 20 минут у Вас встреча в отеле Doubletree в Bellevue», а затем после воспроизведения и обработки этого предупреждения отправить сообщения пользователя, имеющие более низкую временную критичность: «Обращаю Ваше внимание, что завтра день рождения Стивена, а Джо Джонс приедет в город на следующей неделе».
Для направления уведомлений пользователю менеджер 330 уведомлений и/или оконечные устройства 310 могут включать в себя одну или несколько моделей, описывающих состояния пользователя (например, состояние внимания, занятость). Указанные модели могут включать в себя систему фактически любого типа, например статистические/математические модели и процессы, которые включают в себя использование байесовского метода исследований, с возможностью создания моделей на основе байесовских зависимостей, таких как байесовские сети, простые байесовские классификаторы и/или, например, машины опорных векторов (SVM). Модели или системы других типов могут включать в себя, например, нейронные сети и скрытые марковские модели. Хотя согласно настоящему изобретению можно использовать хорошо обоснованные модели логического вывода, очевидно то, что также можно использовать и другие подходы. Например, вместо более основательного вероятностного подхода можно также использовать детерминированные допущения (например, отсутствие активности сотового телефона в течение интервала времени Х может по правилам подразумевать, что пользователь по телефону недоступен). Таким образом, вдобавок к логическому выводу в условиях неопределенности, как более подробно описано ниже, также могут быть приняты логические решения, касающиеся состояния, местоположения, контекста, центра внимания и т.д. пользователей и/или ассоциированных с ними устройств.
Обратимся теперь к фиг.4, где схема 400 иллюстрирует примерную стратегию ограниченной отсрочки согласно аспекту настоящего изобретения. В соответствии с этим аспектом уведомления или сообщения, как правило, не доставляются, пока не возникло свободное состояние, при условии, если не обнаружено временное ограничение. Как пример, свободные состояния показаны под ссылочными позициями 402 и 404. Во время состояний занятости пользователя (изображенные как состояния, противоположные свободным состояниям 402, 404) сообщения 406 и 408 с высоким и низким приоритетом ставятся в очередь агентом или менеджером уведомлений (не показан). В момент 410 достигается временная граница, которая была установлена в качестве максимального времени отсрочки, для сообщения с высоким приоритетом, и поэтому в момент 412 выполняется доставка сообщения с высоким приоритетом. Сообщение 408 с низким приоритетом в примере, показанном на фиг.4, не достигло своей временной границы. Поэтому сообщение с низким приоритетом не доставляется, пока в момент 404 не наступит следующее свободное состояние. Таким путем подавляется навязывание уведомлений, получаемых пользователем. Заметим, что на временные границы может влиять контекст пользователей, такой как загруженность, количество принятых сообщений и временная зависимость содержимого уведомления.
Согласно настоящему изобретению для обработки предупреждений, высылаемых на настольные компьютеры и оконечные устройства, предусмотрены различные алгоритмы и/или процессы. Эти процессы могут быть применены во множестве ситуаций, таких как: (1) Пользователь находится за настольным компьютером или у оконечного устройства; (2) Пользователь отошел от настольного компьютера или оконечного устройства; и (3) Пользователь только что вернулся или зарегистрировался на настольном компьютере или оконечном устройстве после того, как он отходил.
Для случая, когда определено, что пользователь находится за настольным компьютером или у оконечного устройства, в общем случае можно использовать следующий процесс:
1) когда уведомление принято, его срок действия устанавливается равным нулю, отмечается его приоритет и проверяется список исключений;
2) если в результате мониторинга действий пользователя до максимального времени отсрочки для данной срочности наблюдается состояние «вероятно доступен», то к пользователю проходит уведомление;
3) в противном случае, уведомление передается тогда, когда для него истекла допустимая отсрочка, как показано выше в связи с фиг.4.
В среднем из-за обычно поверхностного представления о состояниях «вероятной доступности» во время типовых действий за настольным компьютером или оконечным устройством проявляется тенденция доставки большинства уведомлений до истечения максимального времени отсрочки. Однако пользователи, как правило, скорее предпочтут систему уведомления, в которой уведомления имеют тенденцию появляться тогда, когда пользователь свободен, чем вариант, когда уведомления поступают к ним в момент их приема. Вероятность того, что наступит свободное состояние, со временем растет, так как чем больше пройдет времени, тем больше появляется возможностей для обнаружения состояния вероятной доступности. Так как вероятность состояния вероятной доступности со временем возрастает, сообщения с более низким приоритетом будут иметь тенденцию появляться с более высокой вероятностью во время этих «вероятно свободных» состояний и вероятность срыва будет расти с ростом приоритета сообщений.
Согласно другому аспекту настоящего изобретения отображение уведомлений (например, журнал, браузер, ящик входящей почты, ящик сообщений сотового телефона) может включать в себя множество уведомлений или их объединений, которые ожидают, пока пользователю не будет послано единое уведомление, содержащее порции сгруппированных уведомлений. Такое формирование порций может обеспечивать порции уведомлений в списках, упорядоченных по максимальному приоритету, максимальному сроку действия или максимальному приоритету на группу и т.д. Например, если вероятное свободное состояние не обнаружено и истекло время максимальной отсрочки по уведомлению с высоким приоритетом, и в этот момент достигнута максимальная отсрочка для уведомления с высоким приоритетом, то может быть введена информация об уведомлениях с более низким приоритетом, которые зависли в групповом уведомлении, даже если в этот момент уведомления с более низким приоритетом не достигнут соответствующей максимальной отсрочки. Для такого рода формирования порций возможно наличие нескольких аспектов, в том числе посылка главного предупреждения со стандартным отображением уведомления и конспективное изложение других задержанных предупреждений в списке в нижней части устройства отображения. Пользователь может щелкнуть мышью по отображению и просмотреть и/или выяснить для себя соответствующие вопросы.
Согласно другому аспекту настоящего изобретения можно проанализировать календарь, чтобы дать возможность пользователям задавать непрерываемые встречи (например, презентации, видеоконференции, телефонные переговоры), которые не должны прерываться (например, пока не истечет некоторое допустимое время - 10 минут после окончания встречи), за исключением уведомлений, помеченных как уведомления, которые должны пройти немедленно. Это можно обобщить, используя отдельную таблицу и/или функцию максимальных отсрочек для важных встреч. Дополнительное обобщение можно обеспечить, предоставив возможность использования календарных событий одного из нескольких классов назначенных встреч и использовать разные таблицы или функции максимальной отсрочки для встреч различных классов.
В другом аспекте настоящего изобретения вместо обеспечения нескольких категорий приоритета может быть предусмотрен непрерывный диапазон, например от 0 до 100 для оценки срочности, а максимальная отсрочка может являться функцией приоритета уведомления, в том числе одной из различных линейных и нелинейных функций (например, экспоненциальное уменьшение максимального времени отсрочки с ростом приоритета). Например:
-k(приоритет)
максимальная отсрочка (приоритет)=e × 15 минут,
что эквивалентно
-k(приоритет)
максимальная отсрочка (приоритет)=e × максимальная отсрочка(0-й приоритет).
Кроме того, пользователи могут задавать контексты как функцию типа дня (например, выходные, праздник, будний день), времени суток и других базовых контекстов, которые изменяют заданные значения для различных классов и подклассов сообщений (например, электронная почта, мгновенные сообщения от членов семьи в отличие от коллег по работе).
В другом отношении может быть предусмотрен журнал уведомлений для сообщений, которые еще не были просмотрены пользователем. Этот подход может включать в себя поддержку глобального журнала уведомлений фактически для всех уведомлений, что позволяет пользователям возвращаться и обращаться к уведомлениям, которые, например, были получены ранее. Это может также включать предоставление разнообразных вариантов отображения и взаимодействия. Например, вызвать данное уведомление можно, щелкнув мышью по записи в журнале в окне «Уведомление или оконечное устройство». Щелчок по этому уведомлению выведет дополнительную информацию или соответствующий пользовательский интерфейс для источника уведомления. Например, щелчок по уведомлению о наступающей назначенной встрече даст полное представление о назначенной встрече, на которую ссылается данное уведомление. Также в уведомлениях могут быть выделены ссылки, позволяющие пользователям переключиться на Web-страницы, приложения или информацию, ассоциированные с данным уведомлением. Кроме того, в окне уведомлений при воспроизведении уведомления также может отображаться реклама, специальные заставки и/или другая информация о торговых марках (от источника).
Согласно другому аспекту уведомления с активными интервалами и/или с датами истечения срока действия могут быть удалены из активной очереди после того, как эта дата миновала. Уведомления в журнале могут быть включены в список просроченных, если пользователей интересует предыстория такого рода деятельности. Кроме того, классы уведомлений могут быть отмечены как внутренне заменяемые в результате любого обновления информации, как это идентифицируется, например, Глобально уникальным идентификатором (GUID), чтобы обеспечить обновление глобального состояния информации, о котором сообщает уведомление.
Могут быть предусмотрены инструментальные средства пользовательского интерфейса, которые позволяют пользователям присоединять информацию о приоритете к сообщениям или просто выполнять обычную посылку или посылку When Free. Посылка When Free направляется через вышеописанную систему с ограниченной отсрочкой; обычная посылка может действовать как неограниченное сообщение. Уведомления также могут быть помечены специфическими для конкретного приложения (или специфическими для конкретного срока действия) контекстами из набора контекстов (например, MS Word в фокусе, MS Outlook в фокусе и т.д.), и эти уведомления воспроизводятся в активном контексте, если он не истек. Например, когда текстовый процессор находится в фокусе, должна в общем случае быть обеспечена всплывающая подсказка по использованию текстового процессора, воспроизводимая через систему уведомлений. Если приложение не в фокусе, то эта подсказка должна быть просто запротоколирована.
Можно также предусмотреть более развитые функции. Например, пользователь может просматривать и изучать частоту «моментов вероятной доступности», когда он работает за настольным компьютером или использует оконечное устройство, и частоту приема предупреждений пользователем по каждому классу, и оценивать ожидаемое время до следующего вероятного свободного состояния, исходя из активности пользователя (на основе приложения, времени дня, ожидаемого местоположения пользователя и т.д.). Эту информацию можно использовать для автоматической установки максимальных значений времени отсрочки для соответствующего класса приоритета уведомления, с тем чтобы дать возможность системе уведомлений ограничить вероятность беспокойства пользователя для каждого класса приоритета для предупреждений. Это может быть установлено по умолчанию, либо можно позволить пользователям задавать вероятность для каждого класса приоритета и таким образом информировать систему о том, что пользователи не хотят, чтобы их беспокоили (то есть, предупреждали, когда они заняты), например, в течение более чем 5% времени для предупреждений с низким приоритетом, более чем 10% времени для предупреждений с обычным приоритетом и 25% времени для предупреждений с высоким приоритетом и т.д. То есть, пользователи могут задать намеченную «допустимую вероятность» срыва для соответствующего класса приоритета, и система может установить максимальные значения отсрочки для этих классов.
Может быть принято подтверждение, например, о том, что важные уведомления просмотрены, может быть использовано соглашение о том, что зависание уведомления есть сигнал о том, что «Я получил его», и использовать эту обратную связь как вариант, дающий возможность пользователю зайти через профиль. То есть, пользователи могут предпочесть включить опцию:
[] Продолжать уведомлять меня о критической информации каждые [x] минут, пока я не дам подтверждение с помощью мыши или нажатием клавиши на оконечном устройстве.
Когда пользователь отошел от настольного устройства более чем на х минут (устанавливается по умолчанию или пользователем, задавшим интервал времени), события за столом могут измениться, и вместо этого на мобильное или оконечное устройство могут быть посланы уведомления. Аналогичные максимальные значения времени отсрочки можно использовать, когда они заданы для предупреждений настольного компьютера, или вместо этого обратиться к альтернативному набору максимальных значений времени отсрочки для состояния «пользователь отошел». То есть, можно использовать другую таблицу или функцию для регулирования максимального времени отсрочки для ситуации «пользователь отошел».
По аналогии с ситуацией на настольном компьютере можно обратиться к календарю пользователя для непрерываемых встреч, таких как презентации или другие встречи, которые нельзя прерывать, за исключением уведомлений, которые помечены как уведомления, подлежащие немедленному прохождению. Можно использовать аналогичные обобщения в соответствии с календарем, как было описано выше, при настройке настольного компьютера, например использование информации соответствующим образом, предусмотренным в настройках настольного компьютера, или иметь специальные обобщения для настроек мобильного телефона или оконечного устройства.
В другом аспекте могут быть предусмотрены установленные ограничения на время дня для ограничений уведомлений в течение определенных интервалов времени (например, поздно ночью и рано утром, в выходные дни). Пользователи могут задавать классы предупреждений, которые они будут принимать в определенные интервалы времени. Например, в выходные дни вся деловая электронная почта и биржевая информация посылаться на мобильное устройство не будет.
Сообщения, посланные на сотовый телефон или пейджер, могут быть запротоколированы в журнале менеджером уведомлений и окажутся доступными, когда пользователь вернется к настольному компьютеру и просмотрит журнал уведомлений или обратится к журналу на мобильном или оконечном устройстве. Аналогичное формирование порций предупреждений, описанное выше для настольного компьютера, можно использовать для настройки мобильного телефона.
С настоящим изобретением могут быть использованы мобильные или оконечные устройства, такие как встроенные автомобильные персональные компьютеры (автомобильные ПК) и соответствующим образом оборудованные карманные персональные компьютеры (HPC) (то есть, те, что имеют акселерометры). Для этих устройств информация о присутствии используется для оценки активного состояния на основе, например, тактильного воздействия и/или ускорения. Список вероятных свободных состояний создается для некоторых существенных и/или определенных настроек (например, набор состояний в случае вождения автомобиля и ходьбы). Например, в случае вождения автомобиля свободные состояния могут включать в себя, например, следующее: «только что остановился на красный свет или остановился по другой причине и не занят беседой», или «едет с относительно постоянной скоростью».
Другие системы могут также учитывать различные уровни внимания (например, учитывать скорость, сложность торможения, управление на повороте и т.д.). Для компьютеров HPC можно с помощью акселерометров сделать вывод (например, используя байесовский подход) о том, что пользователь находится в автомобиле, и определить аналогичные отличительные признаки без непосредственных данных от бортового автомобильного компьютера. Для компьютеров HPC можно обнаружить, когда устройства были взяты, в какой момент прекратилось передвижение пешком или бег или прекратилась беседа либо когда модуль был остановлен. Для указанных мобильных или оконечных устройств уведомления могут быть локально кэшированы и воспроизведены согласно вероятным свободным состояниям. Если двухсторонние соединения не обнаруживаются, то указанная информация может быть предусмотрена в журнале, таком как журнал уведомлений настольного компьютера, посланный на мобильное устройство. Очевидно, что журнал уведомлений также может поддерживаться оконечным устройством.
Пользователи могут сконфигурировать систему уведомлений в таком виде, что когда пользователь первый раз возвращается к настольному (или переносному) компьютеру после того, как было обнаружено состояние «пользователь отошел», ему может быть послано единое уведомление, журнал мобильных уведомлений, который позволяет пользователям выбирать конкретные записи для просмотра уведомления, которое пользователь смог бы просмотреть, если бы он находился за настольным компьютером. Например, пользователи могут не иметь мобильное устройство или его не эксплуатировать, либо они могут просто дать указание, чтобы система уведомлений работала в режиме «только для настольного компьютера». В этом случае выполняется следующее.
Когда система уведомлений замечает, что пользователь перешел из состояния «пользователь отошел» в состояние «пользователь находится за настольным устройством», то пользователям предлагается журнал уведомлений для всех уведомлений, у которых максимальное время отсрочки истекло, пока пользователи отсутствовали на рабочем месте; или в соответствии с предпочтениями пользователей им предоставляется вышеуказанное максимальное время отсрочки и все предупреждения, занесенные в указанный журнал (например, отсортированные различными способами согласно предпочтениям пользователя по классу сообщений, по приоритету или по дате либо указанные комбинации в виде класса сообщения, содержащего предупреждение с наивысшей срочностью, отнесенное к некоторому классу по приоритету или по времени и т.д.). Когда обнаружено, что пользователь отошел, можно продолжать дополнительную посылку уведомлений на настольный компьютер (например, в заранее выделенную зону) в журнал уведомлений и продолжать распространять этот журнал (и сортировать по приоритету или по времени уведомления) с уведомлениями, у которых истекло максимальное время отсрочки; или, в альтернативном варианте, предоставить вышеуказанное максимальное время отсрочки внести, по существу, все предупреждения в указанный журнал. При наличии указанного журнала пользователь после его возвращения или регистрации может быть предупрежден звуковым сигналом, что его ожидает журнал. Отображение подавляется и после возвращения пользователя воспроизводится звуковой сигнал, заставляющий пользователя просмотреть журнал. В настройках для случаев, когда пользователи использовали мобильное устройство, журнал может автоматически удалять записи из журнала настольного компьютера, когда они посылаются на мобильное устройство, или отмечать уведомления как переданные на мобильное устройство, чтобы пользователи могли отсортировать и/или быстро просмотреть записи, которые они еще не видели. Вместо отправки журнала может быть принято решение отобразить журнал уведомлений, сгруппированные предупреждения (в соответствии с вышеупомянутой стратегией формирования порций) или единое предупреждение, в зависимости от количества журнальных позиций.
Помимо этого, пользователям может быть предоставлена возможность задать, чтобы система уведомлений отложила указанную стратегию «отображения после возвращения» и позволила пользователям приняться за работу, когда они вернутся (чтобы избежать срыва работы при прохождении предупреждения, когда пользователи захотят вернуться и приняться за какую-либо работу) и/или ждать появления следующего «вероятного свободного» состояния. Для уведомлений, невосприимчивых к такому подавлению, может быть предусмотрена специальная транзитная пересылка. Для указанных функциональных возможностей может быть определено дополнительное «вероятное свободное» состояние в виде: «пользователь отошел и вернулся, но не приступил к активной работе с приложением или системой». То есть, может быть обнаружено, что пользователи после возвращения к настольному компьютеру или оконечному устройству не начинают работать сразу, а вместо этого ждут, пока не будет достигнуто состояние «вероятной доступности». Если пользователь возвращается и не приступает к работе, то отмечается новое вероятное свободное состояние, что вызывает отображение задержанных уведомлений. Если пользователь возвращается и приступает к делу, система может отобразить уведомление с превышенной максимальной отсрочкой или, согласно предпочтению пользователя, не отображать ничего, пока не появится следующее «вероятное свободное состояние». В это время пользователю отображаются журнал, сгруппированные предупреждения или отдельные предупреждения в зависимости от количества позиций в журнале.
Может оказаться так, что мобильное или оконечное устройство, используемое пользователем, выключено или находится в необслуживаемой зоне. В конце концов, подключение сотового телефона может играть ту же роль, что возвращение пользователя к настольному компьютеру. То есть, может появиться изображение журнала с неувиденными предупреждениями, и пользователи смогут провести в нем поиск и извлечь соответствующие предупреждения. Другие аспекты настоящего изобретения могут предоставить возможность обновления журналов настольных компьютеров при просмотре сообщений, например, на мобильном устройстве.
Обратимся к фиг.5, где диаграмма 500 иллюстрирует примерные параметры ограниченной отсрочки согласно аспекту настоящего изобретения. Показанные под ссылочной позицией 510 параметры ограниченной отсрочки могут быть локально вычислены или определены на основе локального анализа идентификационных данных отправителя или характера содержания сообщения. Отмеченные под ссылочной позицией 520, эти параметры могут быть получены как часть метаданных или данных управления от центрального менеджера уведомлений (то есть, ограниченная отсрочка или рекомендованная ограниченная отсрочка может быть включена в схему уведомления для сообщения). Показанные под ссылочной позицией 524 параметры отсрочки могут представлять собой простую функцию одной переменной, установленной другим пользователем (например, флаг приоритета, установленный отправителем сообщения для указания срочности сообщения) или функцию значения приоритета или другого параметра, установленного менеджером уведомлений. Показанные под ссылочной позицией 530 параметры могут включать в себя границы, которые являются фундаментальными, а именно ожидание подходящего времени и/или стирание или регистрация, если время просрочено (превышение некоторого предельного срока).
Обратимся теперь к фиг.6, где в системе 600 показаны различные прикладные модели 610 для оконечных устройств согласно аспекту настоящего изобретения. Прикладные модели 610 описывают некоторые примеры измерительных компонент, которые могут использоваться оконечными устройствами. Простые приложения 610 включают в себя использование локальной календарной информации (614) для управления устройством, чтобы сохранить предупреждение до тех пор, пока не закончится кинофильм, или шоу, или другое собрание. Под ссылочной позицией 620 показаны микрофоны или другие звуковые рецепторы, которые можно использовать для фиксации прекращения речи говорящего или прекращения другого громкого фонового шума, например шума движущегося автомобиля, радио в автомобиле и т.д. - чтобы попытаться задержать предупреждение до наступления периода тишины, большего чем t в пределах границы. Показанные под ссылочной позицией 624 устройства контроля перемещения, такие как акселерометры, фиксируют остановку автомобиля, например, на красный свет или знак «стоп», для воспроизведения предупреждения, например, в пределах границы; фиксируют, что человек прекратил идти, говорить и т.д.
В одном примере приложения рассматривают понятие вызова звонком после того, как достигнута граница, а затем вновь как дублирование после тишины и т.д. или иное сенсорное состояние. В другом случае, прежде чем доставить уведомление, ожидают, пока человек не окажется поблизости или коснется устройства. Прикладные модели 610 могут также учитывать автоматическую задержку телефона. В простом случае: Тишина сначала при отсутствии звонков в ожидании прекращения речи. В более сложном случае используется агент, снимающий трубку телефона, если зафиксировано, что пользователь временно занят, и просящий пользователя ненадолго оставаться на линии (ограниченная отсрочка для вызова), затем гудок, когда пользователь либо прекращает говорить, либо достигнута граница (например, минута) …, в сочетании с сообщением «Пожалуйста, оставайтесь на линии еще 30 секунд … Попытка продолжается». Если это оканчивается неудачей, то вызывающих абонентов соединяют с автоответчиком или непосредственно вызывающего абонента с пользователем. Эта концепция может быть связана только с выполнением отсрочки телефонного звонка для специальных людей или людей в специально указанных группах типа: «Люди, с которыми я встречаюсь в течение часа и т.д.»). Другие датчики, которые можно использовать в оконечных устройствах, включают в себя глобальную систему позиционирования (GPS), указанные под ссылочной позицией 630, датчики уровня сигнала 802.11, показанные под ссылочной позицией 634, инфракрасные датчики ближней локации, показанные под ссылочной позицией 640, и тактильные датчики, показанные под ссылочной позицией 644.
На фиг.7 и 8 показаны методики для предоставления уведомлений ограниченной отсрочки согласно настоящему изобретению. Хотя в целях простоты объяснения эти методики показаны и описаны в виде последовательности действий, должно быть понятно, что настоящее изобретение не ограничивается указанным порядком действий, так как некоторые действия согласно настоящему изобретению могут появляться в другом порядке и/или параллельно с другими действиями в отличие от здесь показанных и описанных. Например, специалисты в данной области техники поймут и оценят тот факт, что методика в альтернативном варианте может быть представлена в виде последовательности взаимосвязанных состояний или событий, например в виде диаграммы состояний. Кроме того, для реализации методики согласно настоящему изобретению могут потребоваться не все показанные здесь действия.
Обратимся к фиг.7, где на этапе 702 принимается новое уведомление. На этапе 704 принятое уведомление ставится в очередь сообщений. На этапе 706 определяется, следует ли принятое уведомление немедленно довести до пользователя. Это может быть достигнуто путем просмотра настройки, такой как флаг, указывающий, следует ли пропускать это уведомление. Если уведомление должно быть доведено, то процесс переходит к этапу 820, показанному на фиг.8. Если уведомление не должно быть доведено, то процесс переходит к этапу 708. На этапе 708 с уведомлением ассоциируют начальное время, такое как вышеописанное максимальное время отсрочки. Заметим, что действия 710, 712 и 716 могут выполняться как часть хронированной сервисной процедуры или как событие прерывания, где эти действия выполняются периодически из частей процесса, описанного на фиг.7 и 8. На этапе 710 обновляется срок пребывания уведомлений в очереди. На этапе 712 определяется, не истек ли срок уведомления. Если это так, то уведомление с истекшим сроком удаляется из очереди. Если сроки уведомлений на этапе 712 не истекли, то процесс возвращается/переходит к процессу, описанному на фиг.8.
Обратимся теперь к фиг.8, где на этапе 820, относящемся к ветви, идущей от этапа 706 по фиг.7, принимается решение. На этапе 820 выполняется определение в отношении того, находится ли пользователь за настольным компьютером или у оконечного устройства. Если это так, то процесс переходит к этапу 824, где определенное уведомление удаляется из очереди, отображается, и обновляется журнал уведомлений. Если на этапе 820 выясняется, что пользователь отсутствует за своим настольным компьютером, то на этапе 828 выполняется определение в отношении того, включено ли мобильное или оконечное устройство пользователя. Если нет, то процесс выполняет обновление журнала уведомлений. Если на этапе 828 мобильное устройство включено, то процесс переходит к этапу 830. На этапе 830 выполняется определение в отношении того, указана ли в календаре встреча, не подлежащая прерыванию. Если это так, то обновляется журнал уведомлений, и пользователь предупреждается после встречи. Если на этапе 830 выясняется, что такого рода встречи нет, то на мобильное устройство или оконечное устройство передается уведомление и обновляется журнал уведомлений.
Обратимся к этапу 840, где обеспечивается возврат из действий 710-716, показанных на фиг.7. На этапе 840 выполняется определение в отношении того, присутствует ли пользователь за своим настольным компьютером или у оконечного устройства. Если это так, то на этапе 842 выполняется определение в отношении того, достигли ли какие-либо из уведомлений максимального времени отсрочки, установленного на этапе 708 по фиг.7. Если это так, то процесс переходит к этапу 844, где из очереди удаляется определенное уведомление, и осуществляется переход к этапу 828, который был описан ранее. На этапе 840, если пользователь как раз вернулся за свой настольный компьютер или оконечное устройство, то воспроизводятся неувиденные уведомления и обновляется журнал уведомлений. Если пользователь на этапе 840 был за настольным компьютером, процесс переходит к этапу 848. На этапе 848 выполняется определение в отношении того, обнаружено ли какое-либо из состояний вероятной доступности. Если это так, то воспроизводятся зависшие уведомления и обновляется журнал уведомлений. Если на этапе 848 не обнаружено состояние вероятной доступности, то процесс переходит к этапу 850. На этапе 850 выполняется определение в отношении того, достигло ли какое-либо из уведомлений максимального времени отсрочки, установленного на этапе 708 по фиг.7. Если это так, то процесс переходит к этапу 824, где из очереди удаляется конкретное уведомление, и выполняется переход к отображению этого уведомления и обновлению журнала уведомлений.
На фиг.9-12 описаны различные аспекты обработки уведомлений и моделирования внимания. Как отмечалось выше, в настоящем изобретении рассматривается, каким образом системы могут обращаться к информации о внимании пользователя и использовать эту информацию. Часто бывают доступными неявные признаки, относящиеся к вниманию пользователя, и ряд такого рода признаков можно использовать в качестве прямых сигналов о состоянии внимания пользователей. Например, распознавание последовательностей простых действий, таких как касание и поднятие устройства в различных конфигурациях, могут предоставить данные о внимании, которое можно использовать несколькими путями. Стремясь к распознаванию с более высокой точностью, настоящее изобретение может использовать системы слежения за взглядом и сигналы о центре визуального внимания во множестве различных приложений. Поскольку надежность датчиков взгляда растет и их стоимость падает, можно использовать различные устройства, которые определяют, когда и каким образом те или иные устройства являются объектом визуального внимания.
Тем не менее часто имеет место неопределенность по поводу центра внимания пользователя и его загруженности в свете наблюдений и по поводу значения альтернативных действий в различных контекстах. Поэтому в настоящем изобретении используются модели, которые могут быть привлечены для анализа внимания пользователя и предпринимаемых действий в условиях неопределенности. Указанные модели и умозаключения могут открыть новые функциональные возможности и пользовательские навыки. В некоторых случаях модели могут быть построены вручную и/или исследованы исходя из байесовских моделей данных, которые можно рассматривать как выполнение задачи автоматического «детектора внимания», действующего с целью выяснения текущего или будущего состояния внимания в условиях неопределенности исходя из существующего потока ключей. Байесовские модели внимания можно трактовать как входные датчики, которые обеспечивают потоки данных о внимании и обеспечивают средство для вычисления распределений вероятностей по вниманию и намерений пользователя.
На фиг.9 представлена модель 900 принятия решений высокого уровня, учитывающая в качестве случайной переменной фокус внимания и загруженность пользователя, причем эта модель находится под воздействием данных о состояниях нескольких датчиков. Относящиеся к восприятию датчики включают в себя микрофоны, прослушивающие внешнюю акустическую информацию или фрагменты активной речи, камеры, поддерживающие визуальный анализ взгляда или позы пользователя, акселерометры, которые определяют характер перемещения устройств, и измерения для определения местоположения через систему GPS, а также анализ беспроводных сигналов. Однако ценные признаки можно также получить и от более традиционных источников событий. Эти источники включают в себя онлайновый календарь пользователя и особенности дня недели и времени суток. Другой разнообразный поток данных может быть накоплен в результате мониторинга взаимодействий пользователя с программными средствами и устройствами. Наконец, ценными источниками информации о внимании может быть фоновая информация о предыстории интересов пользователя и о предыдущих последовательностях его действий.
Для построения вероятностных моделей 900 внимания, обладающих способностью соединять данные от множества датчиков, настоящее изобретение усиливает представления для объяснения и принятия решений в условиях неопределенности. Указанная работа дала относящиеся к логическому выводу способы и представления, включающие байесовские сети и диаграммы влияния - графические модели, которые распространяют вероятностный подход для рассмотрения действий в условиях неопределенности. Могут быть разработаны алгоритмы, способные вычислять распределения вероятностей последствий и ожидаемую полезность действий исходя из этих графических представлений.
На фиг.9 показана диаграмма влияния высокого уровня, представляющая соединение датчиков и принятие решений в контексте внимания пользователя в условиях неопределенности. Как показано на этой фигуре, имеется набор переменных (овальные узлы), представляющих влияние воспринимаемых данных на случайную переменную, представляющую состояние внимания пользователя, которое, в свою очередь, влияет на ожидаемую ценность альтернативных действий или конфигураций. Вместе с различными результатами могут быть введены переменные средней стоимости и выгоды. При принятии решений (прямоугольный узел) об идеальных компьютерных действиях учитывают затраты и выгоды в условиях неопределенности, связанной с вниманием пользователя. В конечном счете, на ожидаемую полезность (узел в форме ромба) влияют и действие, и затраты, и выгоды.
Педагогический взгляд высокого уровня может быть расширен путем построения более сложных моделей, которые содержат дополнительные промежуточные переменные и ключевые взаимозависимости между переменными. Также, так как и устройства, и люди существуют во времени, настоящее изобретение выходит за рамки дискретного представления состояний переменных для построения временных моделей внимания более высокой точности, которые представляют изменяющиеся со временем результаты наблюдений и уровни доверия.
На фиг.10 показана временная байесовская модель 1000 внимания, подчеркивающая ключевые зависимости (пунктирные дуги) между переменными в смежных временных срезах. Модель 1000 отображает два смежных временных среза во временной модели внимания. Указанная модель обеспечивает распределение вероятностей по рабочей нагрузке пользователя и задачу, которая была разработана для приложения, которое обеспечивает селективную фильтрацию сообщений и передачу данных для пользователей. В этом случае состояние внимания включает в себя примерно 15 отдельных состояний (может включать в себя больше или меньше состояний).
Обратимся к фиг.11, где показана система 1110, иллюстрирующая систему 1112 назначения приоритетов и архитектуру уведомлений согласно аспекту настоящего изобретения. Система 1112 назначения приоритетов принимает одно или несколько сообщений или уведомлений 1114, генерирует приоритет или сообщение о важности (например, значение вероятности того, что сообщение является очень или не очень важным) для ассоциированного с ним сообщения и предоставляет одному или нескольким сообщениям соответствующее значение приоритета на выходе 1116. Как более подробно обсуждается ниже, могут быть построены и налажены классификаторы для автоматического присваивания количественных показателей приоритета сообщениям 1114. Например, выход 1116 может быть отформатирован, так чтобы сообщениям присваивалась вероятность принадлежности сообщения высокой, средней, низкой или иной степени важности. Сообщения могут быть автоматически отсортированы в ящике входящих сообщений программы электронной почты (не показана), например, в соответствии с определенной категорией важности. Такая сортировка может также включать в себя направление файлов в системные папки, имеющие заданные метки важности. Это может включать папки с пометкой степени важности, такой как низкая, средняя и высокая, где сообщения, определенные с конкретной степенью важности, сортируются с направлением в соответствующую папку. Аналогичным образом может быть адаптирован один или несколько звуковых сигналов или визуальных отображений (например, пиктограмма, символ) для предупреждения пользователя о получении сообщения, имеющего требуемый приоритет (например, три коротких звуковых сигнала для сообщения с высоким приоритетом, два таких сигнала для сообщений со средним приоритетом, один сигнал для сообщений с низким приоритетом, красный или мигающий символ предупреждения для высокого приоритета, зеленый и немигающий символ предупреждения, указывающий на прием сообщения со средним приоритетом).
Согласно другому аспекту настоящего изобретения можно использовать платформу 1117 уведомлений в сочетании с системой 1112 назначения приоритетов для направления сообщений с приоритетами одному или нескольким приемникам уведомлений, доступным пользователям. Как более подробно описано ниже, платформа 1117 уведомлений может быть приспособлена для приема сообщений 1116 с назначенными приоритетами и принимать решения относительно, например, того, когда, где и каким образом уведомлять пользователя. В качестве примера, платформа 1117 уведомлений может определить режим связи (например, текущий приемник 1118 уведомлений для пользователя, такой как сотовый телефон или персональный цифровой помощник (PDA)) и вероятное местоположение и/или вероятный фокус внимания пользователя. Если, например, было принято очень важное сообщение по электронной почте, то платформа 1117 уведомлений может определить местоположение/фокус внимания пользователей и направить/переформатировать это сообщение в приемник 1118 уведомлений, ассоциированный с пользователем. Если было принято сообщение 1116 с более низким приоритетом, то платформа 1117 уведомлений может быть сконфигурирована, например, таким образом, чтобы оставить сообщение электронной почты в ящике входящих сообщений пользователя для последующего просмотра по желанию. Как более подробно описывается ниже, для направления сообщений 1116 с назначенными приоритетами пользователям и/или другим системам можно использовать другие системы 1119 маршрутизации и/или предупреждения.
Обратимся теперь к фиг.12, где показана система 1200, иллюстрирующая, каким образом совместно функционируют средство уведомлений и анализатор контекста согласно аспекту настоящего изобретения. Система 1200 включает в себя анализатор 1222 контекста, средство 1224 уведомлений, один или несколько источников уведомлений с 1 по N, 1226, 1227, 1228, систему 1230 назначения приоритетов, которая может действовать как источник уведомлений, и один или несколько приемников уведомлений с 1 по M, 1236, 1237, 1238, где N и M - целые числа соответственно. Источники также называются издателями событий, в то время как приемники также называют подписчиками событий. Может быть любое количество приемников и источников. В общем случае средство 1224 уведомлений пересылает уведомления, которые также называются событиями или предупреждениями, от источников 1226-1228 к приемникам 1236-1238, частично на основе параметрической информации, которая хранится и/или к которой обращается анализатор 1222 контекста.
Анализатор 1222 контекста запоминает/анализирует информацию, касающуюся переменных и параметров пользователя, которые влияют на принятие решений об уведомлениях. Например, эти параметры могут включать в себя контекстную информацию, такую как обычные местоположения и фокус внимания или виды деятельности пользователя в соответствии со временем суток и днем недели, и дополнительные параметры, привязанные к указанным параметрам, такие как устройства, к которым пользователи стремятся получить доступ, находясь в разных местах. Указанные параметры могут также являться функциями наблюдений, выполняемых автоматически посредством одного или нескольких датчиков. Например, может быть выбран или модифицирован один или несколько профилей на основе информации о местоположении пользователя, которая может быть предоставлена подсистемой глобальной системы позиционирования (GPS), на основе информации о типе используемого устройства и/или схемы использования устройств и на основе того, когда последний раз пользователь обращался к устройству конкретного типа. Кроме того, как более подробно описано ниже, можно также использовать автоматический логический вывод для динамической оценки параметров или состояний, таких как местоположение и внимание. Параметры профиля могут быть отсортированы в виде профиля пользователя, который может редактироваться пользователем. Опираясь на наборы заранее заданных профилей или полагаясь на динамическую оценку, архитектура уведомлений может предоставить пользователям возможность задать свое состояние в реальном времени, к примеру, что пользователь недоступен, с исключением для важных уведомлений, в течение «х» часов или, например, до заданного момента времени.
Указанные параметры могут также включать в себя параметры предпочтительных уведомлений по умолчанию, относящиеся к предпочтениям пользователя применительно к прерыванию его работы уведомлениями различных типов в различных настройках, что можно использовать в качестве основы, на которой средство 1224 уведомлений принимает решение об уведомлении, и на основе чего пользователь может инициировать изменения. Эти параметры могут включать в себя параметры по умолчанию, касающиеся того, каким образом пользователь желает быть уведомленным в различных ситуациях (например, по телефону, по пейджеру). Эти параметры могут включать в себя такие оценки, как затраты на прерывание связи, связанные с уведомлением в различных режимах при различных настройках. Это может включать в себя контекстные параметры, указывающие вероятности того, что пользователь находится в других местах, вероятности того, что доступны другие устройства, и вероятности состояния внимания пользователя в данный момент времени, а также параметры уведомления, указывающие, каким образом пользователь хочет, чтобы его в данный момент уведомили.
Информация, запоминаемая анализатором 1222 контекста, согласно одному аспекту настоящего изобретения включает контекстную информацию, определенную анализатором. Контекстная информация определяется анализатором 1222 путем распознавания местоположения и состояния внимания пользователя на основе одного или нескольких источников контекстной информации (не показаны), как более подробно описано в последующем разделе описания. Анализатор 1222 контекста может, например, точно определить действительное местоположение пользователя посредством глобальной системы позиционирования (GPS), которая является частью автомобиля или сотового телефона пользователя. Анализатор также может использовать статистическую модель для определения вероятности того, что пользователь находится в заданном состоянии, касающемся его внимания, путем рассмотрения фоновых оценок и/или наблюдений, собранных с учетом такой информации, как тип дня, время суток, дата в календаре пользователя, наблюдений активности пользователя. Заданное состояние, касающееся внимания пользователя, может включать в себя то, открыт ли пользователь для приема уведомления, занят ли и закрыт для приема уведомлений, и может включать в себя другие особенности, такие как будние дни, выходные дни, праздники и/или другие события/периоды времени.
Источники 1226-1228, 1230 генерируют уведомления, предназначенные для пользователя и/или другого объекта. Например, источники 1226-1228 могут включать в себя такие виды связи, как Интернет, сетевая связь и телефонная связь, а также программные службы. Источники уведомлений определены здесь в общем случае как источники, которые генерируют события (которые можно также назвать уведомлениями и предупреждениями), цель которых предупредить пользователя или «посредника» для пользователя об информации, службах и/или системе или событии глобального значения. Источник уведомлений также можно назвать источником событий.
Например, можно создать сообщения электронной почты в виде уведомлений с помощью системы 1230 назначения приоритетов, где прикладная программа или система, создающая уведомление, присваивает сообщению электронной почты относительный приоритет, соответствующий вероятной важности или срочности этого электронного сообщения для пользователя. Это сообщение электронной почты можно также послать безотносительно к его относительной важности для пользователя. Услуги, связанные с сетью Интернет, могут включать в себя уведомления, содержащие информацию, на которую подписался пользователь, такую как, например, появляющиеся время от времени заголовки текущих новостей и котировки акций.
Источники 1226-1228 уведомлений сами могут представлять собой источники «проталкивающего» типа или источники «вытягивающего» типа. Источники «проталкивающего» типа - это источники, которые автоматически генерируют и посылают информацию без соответствующего запроса, такую как заголовки новостей и другие услуги, связанные с сетью Интернет, которые посылают информацию автоматически после подписки на нее. Источники «вытягивающего» типа - это источники, которые посылают информацию в ответ на запрос, такую как сообщение электронной почты, принимаемое после опроса почтового сервера. Другие источники уведомлений включают в себя следующее:
почтовые настольные прикладные системы, такие как календарные системы;
компьютерные системы (например, которые могут предупредить пользователя с помощью сообщений, которые информируют о предупреждениях о действиях или проблемах, возникших в системе);
услуги, связанные с сетью Интернет, информацию о назначенных встречах, запросы календарного планирования;
изменения в документах или количестве документов определенного вида в одной или нескольких совместно используемых папках;
доступность новых документов в ответ на постоянные или долговременные запросы на информацию;
информационные источники для информации о людях и их присутствии, об изменении их местоположения, их приближенности (например, «Сообщите, когда я перемещаюсь, есть ли какой-либо сотрудник или приятель в радиусе 10 миль от меня») или их доступности (например, «Сообщите, когда со Стивом можно будет побеседовать и он будет рядом с высокоскоростной линией связи, которая может поддерживать полномасштабную видеоконференцию»).
Приемники 1236-1238 уведомлений способны предоставить уведомления пользователю. Например, указанные приемники 1236-1238 уведомлений могут включать в себя компьютеры, такие как настольные и/или переносные компьютеры, карманные компьютеры, сотовые телефоны, фиксированные телефоны, пейджеры, компьютеры на автомобиле, а также другие системы/приложения, что должно быть понятным. Заметим, что некоторые из приемников 1236-1238 могут доставлять уведомления более разнообразными способами, чем другие. Например, настольный компьютер обычно имеет динамики и относительно большой цветной дисплей, который к нему подсоединен, а также имеет более высокую пропускную способность для приема информации, когда он подсоединен к локальной сети или к Интернету. Таким образом, уведомления могут пересылаться настольным компьютером пользователю в относительно разнообразном виде. Наоборот, многие сотовые телефоны имеют малый дисплей, который может, например, выдавать только черно-белое изображение и принимать информацию с относительно более низкой пропускной способностью. Соответственно, информация, связанная с уведомлениями, доставляемыми по сотовым телефонам, может в общем случае оказаться короче и соответствовать, например, возможностям интерфейса телефона. Таким образом, содержание уведомления может отличаться в зависимости от того, должно ли оно быть послано на сотовый телефон или на настольный компьютер. Согласно одному аспекту настоящего изобретения приемник уведомлений можно отнести к приемнику, который подписывается, например, через службу подписки на события, на события или уведомления.
Средство 1224 уведомлений оценивает информацию, запомненную и/или определенную анализатором контекста, и определяет, какое из уведомлений, принятых от источников 1226-1228, на какой из приемников 1236-1238 переслать. Кроме того, средство 1224 уведомлений может определить, каким образом уведомление должно быть доставлено, в зависимости от того, какой из приемников 1236-1238 был выбран для посылки на него информации. Например, можно определить, что уведомления перед их передачей на выбранные приемники 1236-1238 должны быть обобщены.
Изобретение не ограничивается тем, каким образом средство 1224 принимает решения, касающиеся того, какое из уведомлений на какой из приемников уведомлений пересылать, и того, каким образом доставлять уведомление. Согласно одному аспекту может быть использован теоретический анализ для принятия решений. Например, средство 1224 уведомлений может быть приспособлено для оценки важных неопределенностей относительно переменных, в том числе местоположения пользователя, его внимания, доступности устройства и интервала времени до момента, когда пользователь обратится к информации, если не было предупреждения. Затем средство 1224 уведомлений может принять решения об уведомлениях в отношении того, предупреждать ли пользователя об уведомлении, и если да, то о характере обобщения и подходящем устройстве или устройствах для их использования с целью трансляции уведомления. В общем случае средство 1224 уведомлений определяет ожидаемую конечную ценность уведомления. Выполняя подобные действия можно учитывать следующее:
Точность воспроизведения и надежность передачи для каждого доступного приемника уведомлений;
стоимость переключения внимания пользователя;
новизну информации для пользователя;
время, пока пользователь не просмотрит информацию сам;
потенциальную ценность контекстно-зависимой информации; и/или
повышение и/или снижение во времени ценности информации, содержащейся в уведомлении.
Таким образом, могут быть созданы предполагаемые оценки по поводу неопределенностей в виде ожидаемых вероятностей таких величин, как, например, стоимость отвлечения внимания пользователя, с использованием конкретного режима конкретного устройства при заданном состоянии внимания пользователя. Средство 1224 уведомлений может принять решения, касающиеся одного или нескольких из следующих обстоятельств:
к чему пользователь в данный момент стремится и что делает (на основе, например, контекстной информации);
где пользователь в данный момент находится;
насколько важна данная информация;
какова стоимость отсрочки уведомления;
насколько уведомление может отвлечь внимание;
какова вероятность прохождения уведомления к пользователю; и
каковы потери точности воспроизведения, связанной с использованием конкретного режима данного приемника уведомлений.
Таким образом, средство 1224 уведомлений может провести анализ, такой как теоретический анализ, при принятии решения для задержанных и активных уведомлений, оценивает контекстно-зависимые переменные, предоставляемые приемниками и источниками информации, и делает заключение об отобранных неопределенностях, таких как время до момента, пока пользователь по всей вероятности не просмотрит информацию, а также местоположение пользователя и текущее состояние его внимания. Кроме того, средство 1224 уведомлений может обратиться к информации, запомненной в профиле пользователя анализатором 1222 контекста, вместо или для поддержки персонифицированного теоретического анализа решения. Например, профиль пользователя может указывать на то, что в данный момент пользователь предпочитает получать уведомления по пейджеру и только если уведомление имеет заданный уровень важности. Указанную информацию можно использовать в качестве основы для начала теоретического анализа решения или можно предложить способ, с помощью которого средство 1224 уведомлений определяет, каким образом уведомлять пользователя и нужно ли это делать. Согласно одному аспекту настоящего изобретения может быть сконфигурирована архитектура платформы уведомлений в виде некоего уровня над инфраструктурой потоков событий или сообщений. Однако изобретение не ограничивается какой-либо конкретной инфраструктурой потоков событий.
Кроме того, эта архитектура может быть сконфигурирована в виде уровня, который находится над гибкой распределенной вычислительной структурой, что могут оценить специалисты в данной области техники. Таким образом, архитектура платформы уведомлений может использовать лежащую в основе инфраструктуру в качестве средства, с помощью которого источники посылают уведомления, предупреждения и события, и в качестве, например, средства, с помощью которого приемники, такие как оконечные устройства, принимают уведомления, предупреждения и события. Настоящее изобретение, однако, этим не ограничено.
Обратимся к фиг.13, где примерная среда 1310 для реализации различных аспектов изобретения включает в себя компьютер 1312. Компьютер 1312 содержит процессорный блок 1314, системную память 1316 и системную шину 1218. Системная шина 1318 связывает системные компоненты, в том числе, но не только, системную память 1316, с процессорным блоком 1314. Процессорный блок 1314 может представлять собой любой из различных имеющихся процессоров. В качестве блока 1314 могут быть также использованы сдвоенные микропроцессоры и иные микропроцессорные архитектуры.
Системная шина 1318 может быть реализована в виде шинной структуры (структур) любого из нескольких типов, в том числе в виде шины памяти или контроллера памяти, периферийной шины или внешней шины, и/или локальной шины с любой из множества различных шинных архитектур, включающих, но не только, 11-разрядную шину, шину с архитектурой промышленного стандарта (ISA), шину с микроканальной архитектурой (MSA), шину с расширенной архитектурой ISA (EISA), шину с интеллектуальным интерфейсом дисковода (IDE), локальную шину VESA (VLB) и шину межсоединений периферийных компонентов (PCI), универсальную последовательную шину (USB), ускоренный графический порт (AGP), шину Международной ассоциации карт памяти персональных компьютеров (PCMCIA) и интерфейс малых компьютерных систем (SCSI).
Системная память 1316 включает в себя энергозависимую память 1320 и энергонезависимую память 1322. В энергонезависимой памяти 1322 хранится базовая система ввода/вывода (BIOS), содержащая базовые процедуры для пересылки информации между элементами в компьютере 1312, например, во время запуска. В качестве иллюстрации, но не как ограничение, энергонезависимая память 1322 может включать в себя постоянное запоминающее устройство (ПЗУ, ROM), программируемое ПЗУ (PROM), электрически программируемое ПЗУ (EPROM), электрически стираемое программируемое ПЗУ (EEPROM) или флэш-память. Энергозависимая память 1320 включает в себя оперативное запоминающее устройство (ОЗУ, RAM), которое действует как внешняя кэш-память. В качестве иллюстрации, но не как ограничение, ОЗУ может быть представлено в различных видах, таких как синхронное ОЗУ (SRAM), динамическое ОЗУ (DRAM), синхронное динамическое ОЗУ (SDRAM), SDRAM c удвоенной скоростью передачи данных (DDR SDRAM), усовершенствованное SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и Rambus RAM (DRRAM).
Компьютер 1312 также включает в себя съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. На фиг.13 показано, например, дисковое запоминающее устройство 1324. Дисковое запоминающее устройство 1324 включает в себя, но не только, такие устройства, как дисковод для магнитного диска, дисковод для гибкого диска, накопитель на ленте, дисковод Jaz, дисковод Zip, дисковод LS-100, карту флэш-памяти или карту памяти цифрового фотоаппарата. Вдобавок, дисковое запоминающее устройство 1324 может включать в себя носители данных отдельно или в сочетании с другими носителями данных, в том числе, но не только, на оптический дисковод, такой как устройство для ПЗУ на компакт-диске (CD-ROM), дисковод для компакт-дисков с однократной записью (CD-R), дисковод для перезаписываемых компакт-дисков (CD-RW) или дисковод для универсальных цифровых дисков (DVD-ROM). Для облегчения соединения дисковых запоминающих устройств 1324 с системной шиной 1318 обычно используют интерфейс съемной или несъемной памяти, такой как интерфейс 1326.
Очевидно, что на фиг.13 показаны программные средства, которые действуют в качестве промежуточных средств между пользователями и базовыми ресурсами компьютера, описанными в подходящей операционной среде 1210. Указанные программные средства включают в себя операционную систему 1328. Операционная система 1328, которая может храниться на дисковом запоминающем устройстве 1324, обеспечивает управление и распределение ресурсов компьютерной системы 1312. Системные приложения 1313 используют преимущества управления ресурсами со стороны операционной системы 1328 через программные модули 1332 и данные 1334 программ, хранящиеся либо в системной памяти 1316, либо на дисковом запоминающем устройстве 1324. Очевидно, что настоящее изобретение может быть реализовано с различными операционными системами или комбинациями операционных систем.
Пользователь вводит команды или информацию в компьютер 1312 через устройство (устройства) 1336 ввода. Устройства 1336 ввода включают в себя, но не только, указательное устройство, такое как мышь, шаровой манипулятор, перо, сенсорную панель, клавиатуру, микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер, карту настройки TV, цифровую фотокамеру, цифровую видеокамеру, Web-камеру и т.п. Эти и другие устройства ввода подсоединены к процессорному блоку 1314 посредством системной шины 1318 через порт (порты) 1338 интерфейса. Порт (порты) 1338 интерфейса включают в себя, например, последовательный порт, параллельный порт, игровой порт и универсальную последовательную шину (USB). Устройство (устройства) 1340 вывода используют ряд портов того же типа, что и устройство (устройства) 1336 ввода. Так, например, порт USB можно использовать для обеспечения ввода информации в компьютер 1312 и вывода информации из компьютера 1312 на устройство 1340 вывода. Предусмотрен адаптер 1342 вывода, чтобы показать, что имеется несколько устройств 1340 вывода, таких как мониторы, динамики и принтеры, наряду с другими устройствами 1340 вывода, для которых необходимы специальные адаптеры. В качестве иллюстрации, но не как ограничение, адаптеры 1342 вывода включают в себя видео- и звуковые карты, которые обеспечивают соединение между устройством 1340 вывода и системной шиной 1318. Следует отметить, что другие устройства и/или системы устройств, такие как удаленный компьютер (компьютеры) 1344, обеспечивают возможности как ввода, так и вывода.
Компьютер 1312 может работать в сетевой среде, используя логические соединения с одним или несколькими удаленными компьютерами, такими как удаленный компьютер (компьютеры) 1344. Удаленный компьютер (компьютеры) 1344 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, рабочую станцию, бытовой прибор на микропроцессорной основе, одноранговое устройство или иной общий сетевой узел и т.п. и обычно включает в себя многие или все элементы, описанные в связи с компьютером 1312. Для краткости описания, вместе с удаленным компьютером (компьютерами) 1344 показано только запоминающее устройство 1346. Удаленный компьютер (компьютеры) 1344 логически соединен через сетевой интерфейс 1348 с компьютером 1312, а затем физически подсоединен через соединение 1350 связи. Сетевой интерфейс 1348 охватывает сети связи, такие как локальные сети (LAN) и глобальные сети (WAN). Технологии LAN включают в себя интерфейс для передачи распределенных данных по волоконно-оптическим каналам (FDDI), интерфейс для проводной передачи распределенных данных (CDDI), Ethernet/IEEE802.3, Token Ring/IEEE802.5 и т.п. Технологии WAN включают в себя, но не только, двухточечные линии связи, сети с коммутацией каналов типа цифровой сети с интегрированными услугами (ISDN) и ее варианты, сети с коммутацией пакетов и цифровые абонентские линии (DSL).
Коммуникационное соединение (соединения) 1350 относятся к аппаратным/программным средствам, используемым для подсоединения сетевого интерфейса 1348 к шине 1318. Хотя коммуникационное соединение 1350 в иллюстративных целях показано внутри компьютера 1312, оно также может быть внешним по отношению к компьютеру 1312. Аппаратные/программные средства, необходимые для соединения с сетевым интерфейсом 1348, включают в себя, только как пример, внутренние и внешние технологии, такие как модемы, в том числе стандартные телефонные модемы, кабельные модемы и модемы DSL, адаптеры ISDN и карты Ethernet.
На фиг.14 представлена блок-схема среды 1400 для выборочных вычислений, с которой может взаимодействовать настоящее изобретение. Система 1400 включает в себя один или несколько клиентов 1410. Клиент (клиенты) 1410 могут представлять собой аппаратные и/или программные средства (например, потоки, процессы, вычислительные устройства). Система 1400 также включает в себя один или несколько серверов 1430. Сервер (серверы) 1430 может также быть аппаратным и/или программным средством (например, потоки, процессы, вычислительные устройства). Серверы 1430 могут содержать потоки для выполнения преобразований путем использования, например, настоящего изобретения. Одной из возможных форм связи между клиентом 1410 и сервером 1430 может быть пакет данных, адаптированный для передачи между двумя или более компьютерными процессами. Система 1400 включает в себя инфраструктуру 1450 связи, которая может быть использована для облегчения связи между клиентом (клиентами) 1410 и сервером (серверами) 1430. Клиент (клиенты) 1410 в рабочем состоянии соединен с одним или несколькими устройствами 1460 для хранения данных клиента, которые можно использовать для запоминания информации локально для каждого клиента 1410. Аналогичным образом, сервер (серверы) 1430 в рабочем состоянии соединен с одним или несколькими устройствами 1440 для хранения данных сервера, которые можно использовать для запоминания информации локально для серверов 1430.
Все вышеописанное включает в себя примеры настоящего изобретения. Конечно, невозможно описать каждую мыслимую комбинацию компонент или методик для описания настоящего изобретения, но специалисты в данной области техники без труда смогут предложить множество дополнительных комбинаций и вариантов перестановок компонент настоящего изобретения. Соответственно, предполагается, что настоящее изобретение охватывает все видоизменения, модификации и варианты такого рода, находящиеся в рамках существа и объема прилагаемой формулы изобретения. Кроме того, здесь подразумевается, что в пределах данного описания используемый в подробном описании или формуле изобретения термин «включает в себя» аналогичен термину «содержащий», используемому в качестве переходного слова в пункте формулы изобретения.