RU2295758C2 - Расширяемый механизм уведомления о событии - Google Patents

Расширяемый механизм уведомления о событии Download PDF

Info

Publication number
RU2295758C2
RU2295758C2 RU2003136283/09A RU2003136283A RU2295758C2 RU 2295758 C2 RU2295758 C2 RU 2295758C2 RU 2003136283/09 A RU2003136283/09 A RU 2003136283/09A RU 2003136283 A RU2003136283 A RU 2003136283A RU 2295758 C2 RU2295758 C2 RU 2295758C2
Authority
RU
Russia
Prior art keywords
notification
event
program
events
programs
Prior art date
Application number
RU2003136283/09A
Other languages
English (en)
Other versions
RU2003136283A (ru
Inventor
Пол Э. ДЖЭКОБС (US)
Пол Э. ДЖЭКОБС
Стефен А. СПРИГГ (US)
Стефен А. СПРИГГ
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2003136283A publication Critical patent/RU2003136283A/ru
Application granted granted Critical
Publication of RU2295758C2 publication Critical patent/RU2295758C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Alarm Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Изобретение относится к системам обнаружения событий и оповещения программ-запросчиков, зарегистрированным для такого уведомления. Техническим результатом является расширение функциональных возможностей. Устройство уведомления о событиях содержит множество средств-запросчиков, множество средств-уведомителей, средство-карту, средство управления уведомлениями. Способ уведомления о событиях заключается в приеме множества запросов регистрации на события, каждый из которых исходит от программы-запросчика, каждый запрос регистрации содержит первый идентификатор, идентифицирующий программу-запросчик, и второй идентификатор, идентифицирующий одну из программ-уведомителей, сохранении идентификаторов в карте и активировании каждой программы-уведомителя, идентифицированной в карте, обращении к карте для идентификации всех программ-запросчиков, которые представили запросы регистрации, активировании идентифицированных программ-запросчиков и передаче каждой из них представления произошедшего события. На машиночитаемом носителе сохранены команды, которые предписывают компьютеру выполнять указанный способ. 5 н. и 22 з.п. ф-лы, 4 ил., 3 табл.

Description

I. Область техники, к которой относится изобретение
Настоящее изобретение относится к системам обнаружения событий и оповещения, реализованным в программном обеспечении компьютера.
II. Предшествующий уровень техники
Прерывание является сигналом от устройства, соединенного к компьютеру, или от программы внутри компьютера, который предписывает главной программе, приводящей компьютер в действие (операционной системе), остановиться и определить следующие действия, которые необходимо выполнить. Многие современные компьютеры являются компьютерами, управляемыми прерываниями. Они запускают список команд компьютера в одной программе (например, приложении типа текстового процессора) и поддерживают выполнение этих команд до их окончания или до тех пор, пока не будет обнаружен сигнал прерывания. После обнаружения сигнала прерывания компьютер или возобновляет выполнение текущей программы, или начинает выполнение другой программы.
По существу, отдельный компьютер может выполнить одновременно лишь одну команду компьютера. Но поскольку его работу можно прервать, он может поочередно обращаться к программам или наборам команд, которые он выполняет. Это называется многозадачностью. Она позволяет пользователю выполнять ряд различных операций одновременно. Компьютер просто поочередно управляет программами, которые эффективно запускает пользователь. Конечно, компьютер работает на скоростях, которые создают впечатление, как будто все задания пользователя выполняются одновременно. (Операционная система компьютера эффективно использует небольшие паузы в операциях и во времени, необходимом пользователю на обдумывание, для работы в других программах).
Операционная система обычно имеет некий код, называемый обработчиком прерываний. Обработчик прерываний назначает приоритеты прерываниям и сохраняет их в очереди, если более чем одно прерывание ожидает обработки. Операционная система имеет другую малую программу, иногда называемую планировщиком, которая определяет, какой следующей программе необходимо передать управление. Запрос на прерывание будет иметь значение, ассоциированное с ним, которое идентифицирует этот запрос, как определенное устройство.
Хотя предшествующий уровень техники имеет преимущества в контексте однопроцессорных систем, он тем не менее не отвечает полностью требованиям систем со множеством различных программ, требующих различных степеней уведомления о множестве различных событий. В современных реализациях уведомления обычно являются "жестко-спроектированными" в том смысле, что они реализуются через специфические функциональные вызовы, поддерживаемые специфическим набором выполняемых функций, ответственным за уведомление. У этих реализаций отсутствует какая-либо возможность динамического расширения такого механизма. Более того, для добавления нового типа уведомления должен быть разработан новый набор интерфейсов прикладного программирования. Следовательно, известные схемы уведомления о событиях не полностью отвечают требованиям некоторых приложений из-за определенных нерешенных проблем.
Сущность изобретения
В общем, настоящее изобретение касается расширяемой системы уведомления о событии, которая обнаруживает определенные события и оповещает программы-запросчики, которые зарегистрировались для такого уведомления. Система содержит средство управления уведомлениями, множество программ-уведомителей о событии, множество программ-запросчиков, карту и словарь уведомлений.
Сначала каждая программа-запросчик представляет соответствующий запрос регистрации средству управления уведомлениями. Каждый запрос регистрации является запросом на получение уведомления об одном или более будущих событий в классе событий, ассоциированном с конкретной программой-уведомителем. Каждый запрос регистрации включает в себя идентификатор (ИД, ID) запросчика (идентифицирующий программу-запросчик) и идентификатор (ИД) уведомителя (идентифицирующую программу-уведомитель о событии, соответствующую классу событий, для которого запрошена регистрация). Средство управления уведомлениями хранит идентификационные данные запрашивающих программ в карте, которая ассоциирована с содержимым запросов регистрации.
В различные моменты времени средство управления уведомлениями активирует ряд программ-уведомителей о событии, каждая из которых соответствует определенному классу событий. Когда программа-уведомитель обнаруживает событие (из класса событий, который эта программа-уведомитель способна обнаружить), она уведомляет средство управления уведомлениями. В ответ на это средство управления уведомлениями предпринимает соответствующее действие, чтобы сообщить соответствующим запрашивающим программам о происшествии события. Сначала средство управления уведомлениями обращается к карте для идентификации всех запрашивающих программ, которые представили запросы регистрации, касающиеся активированной программы уведомителя. После этого средство управления уведомлениями активирует идентифицированные запрашивающие программы и посылает им представление произошедшего события. Если потребуется, средство управления уведомлениями может также деактивировать активированные запрашивающие программы в соответствующее время.
Вышеприведенные признаки могут быть реализованы в ряде различных форм. Например, настоящее изобретение может быть реализовано для обеспечения способа работы расширяемой системы оповещения о событии. В другом варианте осуществления изобретение может быть реализовано для обеспечения такого устройства, как расширяемая система оповещения о событии. В еще одном варианте осуществления изобретение может быть реализовано для обеспечения носителя сигнала, в явной форме воплощающего программу машиночитаемых команд, исполняемых устройством обработки цифровых данных для эксплуатации расширяемой системы уведомления о событии, обсуждаемой здесь. Другой вариант осуществления касается логических схем, имеющих множество соединенных между собой электропроводящих элементов, сконфигурированных для обеспечения расширяемой системы оповещения, соответствующей настоящему изобретению, описанной здесь.
Изобретение обеспечивает его пользователей рядом важных преимуществ. Главным образом, поскольку регистрация выполняется с использованием идентификаторов программ-запросчиков и программ-уведомителей, а не указателей на эти программы в памяти, регистрация может иметь место безотносительно того, находятся ли программы-запросчики и программы-уведомители в памяти резидентно во время регистрации. Предпочтительно, уведомлением управляют без какого-либо требования на загрузку программы-запросчика и на активную проверку на конкретное событие. Изобретение также обеспечивает ряд других преимуществ и удобств, которые будут очевидными из нижеприведенного описания изобретения.
Перечень чертежей
Фиг.1 - блок-схема компонентов аппаратного обеспечения и межсоединений расширяемой системы уведомления о событии согласно изобретению.
Фиг.2 - блок-схема устройства цифровой обработки данных согласно изобретению.
Фиг.3 - приведенный носитель сигнала согласно изобретению.
Фиг.4 - блок-схема алгоритма, иллюстрирующая последовательность операций для расширяемой системы уведомления о событии, соответствующей изобретению.
Подробное описание изобретения
Сущность, задачи и преимущества изобретения будут более очевидными для специалистов в данной области техники после рассмотрения нижеприведенного подробного описания со ссылкой на сопроводительные чертежи.
Компоненты аппаратного обеспечения и межсоединения
Общая структура
Один аспект изобретения касается расширяемой системы уведомления о событии, которая может быть реализована различными компонентами аппаратного обеспечения и межсоединениями, как это показано в качестве одного примера, описанного системой 100 по фиг.1. Система 100 включает в себя средство 102 управления уведомлениями, множество программ-запросчиков 108, множество программ-уведомителей 104, карту 110 и словарь 112.
Программы-запросчики
Программы-запросчики 108 включают в себя программы, которые выполняют различные функции, подробности которых зависят от контекста применения системы 100, например, беспроводного телефона, автомобильного компьютера и т.д. Каждая программа-запросчик сконфигурирована для совершения действия в ответ на возникновение определенных событий 106. Для того чтобы получить уведомление о событиях 106, программы-запросчики 108 регистрируются с помощью средства 102 управления уведомлениями, как это более подробно описано ниже. Каждая программа-запросчик 108 имеет ассоциированный идентификатор, что проиллюстрировано идентификаторами 108а-108с. В настоящем примере каждый идентификатор программы-запросчика содержит отличное от других 32-битовое двоичное число. Соответствующий идентификатор хотя и показан вместе с каждой программой-запросчиком, в качестве альтернативы он может храниться где-нибудь в другом месте, например в списке, таблице, карте или в другой структуре, которая ассоциативно связывает программы-запросчики с идентификаторами 108а-108с.
Программы-уведомители
Программы-уведомители 104 включают в себя программы, которые обнаруживают происшествие различных событий 106. События 106 могут включать в себя аппаратные и/или программные события, происходящие внутри системы 100 или за ее пределами, точная природа которых зависит от контекста применения системы 100. Некоторые приведенные в качестве примера события включают в себя изменения в конфигурации аппаратных устройств, истечения периодов времени, наступления предписанных периодов времени, завершения обработки заданий, возникновение определенных аппаратных прерываний.
Каждая программа-уведомитель 104 способна, как это показано, обнаруживать множество различных событий. События, которые могут быть обнаружены конкретной программой-уведомителем 104, относят к классу событий программы-уведомителя. Каждая программа-уведомитель 104 включает идентификатор, проиллюстированный идентификаторами 104а-104с. В настоящем примере каждый идентификатор уведомителя включает отличное от других 32-битовое число. Хотя ассоциированный идентификатор и показан вместе с каждой программой-уведомителем, в качестве альтернативы он может храниться где-нибудь в другом месте, например, в списке, таблице, карте или другой структуре, которая ассоциативно связывает программы-уведомители с идентификаторами 104а-104с. Каждая программа-уведомитель 104 предназначена для уведомления средства 102 управления уведомлениями в ответ на обнаружение события, относящегося к классу событий этой программы-уведомителя.
Средство управления уведомлениями
Средство управления 102 уведомлениями, которое коммуникационно связано с программами-уведомителями 104 и программами-запросчиками 108, предназначено для приема запросов регистрации от программ-запросчиков 108, а также уведомлений о событиях от программ-уведомителей 104. Запросы регистрации являются запросами от запрашивающих программ на получение уведомления об одном или более типах будущего события; каждый запрос регистрации включает в себя идентификатор 108а-108с программы-запросчика и идентификатор программы-уведомителя 104, соответствующей требуемому классу событий. Для каждой программы-запросчика 108, запрашивающей регистрацию, средство 102 управления уведомлениями сохраняет идентификатор ИД 108а-108с в карте 110, наряду с соответствующим идентификатором программы-уведомителя и параметром уведомления.
Таким образом, всякий раз когда программа-уведомитель 104 оповещает средство 102 управления уведомлениями о событии, средство 102 управления уведомлениями сначала обращается к карте 110 для идентификации всех запрашивающих программ 108, которые зарегистрировались, в отношении оповещающей программы-уведомителя. Соответственно, средство 102 управления уведомлениями активирует идентифицированную запрашивающую программу и посылает ей сообщение, идентифицирующее событие, которое произошло.
Карта
Таблица 1 (приведенная ниже) иллюстрирует приведенную в качестве примера конфигурацию карты 110.
Таблица 1 - приведенная в качестве примера карта 110
ИД запросчика ИД уведомителя Параметр уведомления
11111111111111111111111111111111 00000000000000000000000000000000 1001
11111111111111111111111111111110 00000000000000000000000000000001 1100
11111111111111111111111111111100 00000000000000000000000000000011 1111
В этом примере карта 110 включает в себя перечень каждой "зарегистрированной" запрашивающей программы 108, то есть каждой запрашивающей программы 108, которая представила запрос средству 102 управления уведомлениями на получение уведомления о классе событий. В иллюстрированном примере карта 110 идентифицирует зарегистрированные запрашивающие программы посредством 32-битового идентификатора (ИД). Для каждой регистрации в карту 110 внесена программа-уведомитель 104, соответствующая классу событий этой регистрации. В иллюстрируемом примере карта 110 именует каждую программу-уведомитель 104 посредством ее 32-битового идентификатора (ИД).
Для каждой зарегистрированной программы-запросчика 108 в карту 110 также внесен параметр уведомления. Как это более подробно объяснено ниже, параметры уведомления определяют, какие события из класса программы-уведомителя хочет получить вызывающая сторона. В иллюстрируемом примере класс событий каждой программы-уведомителя включает в себя три различных события. Эти события могут быть представлены тремя соответствующими битами. Кроме того, одно или более состояний могут быть представлены параметром уведомления. В этом примере имеется состояние "остаться резидентной", как это пояснено ниже, что требует суммарно четыре бита. Таким образом, параметр уведомления может быть представлен 4-битовым двоичным числом (0000-1111). Конечно, специалистам обычной квалификации (оценившим преимущество этого раскрытия) будет понятно, что большее число событий и состояний может быть представлено посредством использования более длинного параметра уведомления и/или другой схемы цифрового представления этих величин.
Словарь
В иллюстрируемом примере, без какого-либо преднамеренного ограничения, смысловое значение параметров уведомления содержится в словаре 112. Таблица 2 (приведена ниже) приводит пример содержимого словаря 112.
Таблица 2 - приведенный в качестве примера словарь 112
Параметр уведомления Объяснение
0001 Уведомление для события 1 = да
Уведомление для события 2 = нет
Уведомление для события 3 = нет
Остаться резидентной = нет
0011 Уведомление для события 1 = да
Уведомление для события 2 = да
Уведомление для события 3 = нет
Остаться резидентной = нет
0100 Уведомление для события 1 = нет
Уведомление для события 2 = нет
Уведомление для события 3 = да
Остаться резидентной = нет
0101 Уведомление для события 1 = да
Уведомление для события 2 = нет
Уведомление для события 3 = да
Остаться резидентной = нет
0110 Уведомление для события 1 = да
Уведомление для события 2 = да
Уведомление для события 3 = да
Остаться резидентной = нет
... ...
1111 Уведомление для события 1 = да
Уведомление для события 2 = да
Уведомление для события 3 = да
Остаться резидентной = да
В этом примере каждый параметр уведомления содержит отличное от других 4-битовое число, которое соответствует заранее заданной комбинации требующихся событий и состояния "остаться резидентной". Использование параметров уведомления обсуждается более подробно ниже.
Приведенное в качестве примера устройство цифровой обработки данных
Как было упомянуто выше, средство 102 управления уведомлениями, программы-запросчики 108 и программы-уведомители 104 могут быть реализованы в различных формах. Например, эти компоненты могут быть реализованы посредством устройств цифровой обработки данных, общего устройства цифровой обработки данных или их вариантами. Для упрощения иллюстрации нижеприведенный пример описывает единое устройство обработки, реализующее все компоненты 102, 108, 104. А именно, фиг.2 иллюстрирует компоненты аппаратного обеспечения и межсоединения устройства 200 цифровой обработки данных.
Устройство 200 включает в себя процессор 202, например микропроцессор или другое обрабатывающее устройство, связанное с запоминающим устройством 204. В настоящем примере запоминающее устройство 204 включает в себя запоминающее устройство 206 с быстрой выборкой, а также энергонезависимое запоминающее устройство 208. Запоминающее устройство 206 с быстрой выборкой может включать в себя оперативное запоминающее устройство ("ОЗУ", RAM), и может быть использовано для хранения команд программирования, выполняемых процессором 202. Энергонезависимое запоминающее устройство 208 может включать в себя, например, один или более магнитных дисков для хранения данных, таких как "жесткий диск", ленточный накопитель или любое другое подходящее запоминающее устройство. Устройство 200 также включает в себя вход/выход 210, такой как линия связи, шина, кабель, электромагнитная линия связи или другое средство для процессора 202 для обмена данными с другими аппаратными средствами, являющимися внешними по отношению к устройству 200.
Несмотря на специфическое предшествующее описание специалисты обычной квалификации (оценившие преимущества от этого раскрытия) признают, что устройство, обсужденное выше, может быть реализовано в устройствах различной конструкции, не выходя за рамки объема этого изобретения. В качестве специфического примера один из компонентов 206, 208 может быть исключен, более того, запоминающее устройство 204 может быть размещено на плате процессора 202, или даже может быть размещено за пределами устройства 200.
Логические схемы
В противоположность устройству обработки цифровых данных, описанному выше, другой вариант осуществления изобретения использует логические схемы вместо машиноисполняемых команд, чтобы реализовать некоторые или все из средства 102 управления уведомлениями, программ-запросчиков 108 и программ-уведомителей 104. В зависимости от конкретных требований применения в областях скорости обработки, стоимости, эксплутационных расходов и т.п. эти логические схемы могут быть реализованы посредством конструирования специализированной интегральной схемы ("ASIC"), имеющей тысячи интегрированных транзисторов очень малого размера. Такая ASIC может быть реализована с помощью комплементарного металлооксидного полупроводника (КМОП), транзисторно-транзисторной логики (ТТЛ), сверхбольшой интегральной схемы (СБИС) или другой подходящей конструкции. Другие альтернативы включают микросхему для цифровой обработки сигнала (DSP), дискретные схемы (например, резисторы, конденсаторы, диоды, катушки индуктивности и транзисторы), матрицу логических элементов с эксплуатационным программированием (FPGA), программируемую логическую матрицу (PLA) и т.д.
Приведенное в качестве примера применение
Хотя система 100 может быть реализована во множестве различных контекстов применения, одним иллюстративным применением является беспроводной телефон. Некоторые иллюстративные события 106 включают в себя звонок телефона, соединение телефона с сетью, прием данных службы коротких сообщений (SMS). Приведенные в качестве примера программы-уведомители 104 включают в себя интерфейс прикладного программирования для телефонной связи (TAPI). В этом применении средство 102 управления уведомлениями является микропроцессором, карта 110 находится в запоминающем устройстве со съемным носителем, таком как ОЗУ с батарейным питанием, а словарь 112 находится в постоянном запоминающем устройстве (ПЗУ), таком как стираемое программируемое ПЗУ (EPROM) или в другом запоминающем устройстве, поддерживающем обновление (по типу флэш-памяти).
Работа
После описания структурных признаков настоящего изобретения сейчас будет описан такой аспект настоящего изобретения, как способ. Как упомянуто выше, аспект изобретения, касающийся способа, в общем включает системы обнаружения событий и оповещения, реализованные в программном обеспечении компьютера, одним вариантом осуществления которых является расширяемая система уведомления о событии, которая обнаруживает определенные события и уведомляет программы-запросчики, которые зарегистрировались для такого уведомления.
Носители сигнала
В контексте фиг.1 такой способ может быть реализован, например, посредством эксплуатации средства 102 управления уведомлениями, воплощенного в устройстве 200 обработки цифровых данных, с целью исполнения последовательности машиночитаемых команд. Эти команды могут находиться в различных типах носителей сигнала. Поэтому один аспект настоящего изобретения касается носителей сигнала, реализующих программу машиночитаемых команд, которые исполняются процессором цифровых данных, чтобы реагировать на определенные предварительно заданные события уведомлением программ-запросчиков, которые зарегистрировались для такого уведомления.
Эти носители сигнала могут включать, например, ОЗУ (не показано), содержащееся внутри средства 102 управления уведомлениями, как представлено запоминающим устройством 206 с быстрой выработкой. Как вариант, команды могут содержаться в других носителях сигнала, таких как магнитная дискета 300 для хранения данных (фиг.3), прямой или косвенный доступ к которым осуществляется процессором 202. Команды содержатся в памяти 206, на дискете 300 или где-нибудь в другом месте, но они могут храниться и на других различных машиночитаемых носителях. Некоторые примеры включают запоминающее устройство прямого доступа (например, обычный "жесткий диск", блок недорогих дисков с избыточностью информации (RAID) или другое запоминающее устройство прямого доступа (DASD)), запоминающее устройство последовательного доступа, такое как магнитная или оптическая лента, электронное постоянное запоминающее устройство (например, ПЗУ, EPROM или электронно-перепрограммируемое ПЗУ (EEPROM)), оптическое запоминающее устройство (например, компакт-диск (CD-ROM), запоминающее устройство без возможности перезаписи (WORM), цифровой универсальный диск (DVD), цифровая оптическая лента), бумажные перфорированные карты или другие подходящие носители сигнала, включающие в себя среды аналоговой или цифровой передачи, а также аналоговые и беспроводные линии. В иллюстративном варианте осуществления изобретения машиночитаемые команды могут включать программный объектный код, компилированный с языка программирования, такого как "Си" и т.п.
Логические схемы
В противоположность носителю сигнала, обсужденному выше, аспект изобретения, относящийся к способу, может быть реализован с использованием логических схем без использования процессора для выполнения команд. В этом варианте осуществления логические схемы могут быть использованы для реализации некоторых или всех из программ-запросчиков 108, программ-уведомителей 104 и средства 102 управления уведомлениями, чтобы выполнить операции изобретения. Логические схемы могут быть реализованы с использованием многих различных типов схем, как это обсуждено выше.
Общая последовательность работы
Фиг.4 показывает последовательность 400 для иллюстрации примера последовательности операций для расширяемой системы уведомления о событии. В общем, эта последовательность предназначена для обнаружения определенных событий и уведомления программ-запросчиков 108, которые зарегистрировались для такого уведомления. Для упрощения объяснения, но без какого-либо преднамеренного ограничения, пример по фиг.4 описан в контексте системы 100, описанной выше.
На этапе 401 идентификаторы 108а-108с присваивают программам-запросчикам 108, а идентификаторы 104а-104с присваивают программам-уведомителям 104. Этот этап может быть выполнен инженером-проектировщиком системы 100, средством 102 управления уведомлениями или другим подходящим компонентом. Идентификаторы могут храниться вместе с соответствующими программами 104, 108, как это показано, или храниться в другом месте, доступном для программ 104, 108.
На этапе 402 одну или более программ-запросчиков 108 регистрируют для получения уведомления об определенных событиях. В каждом случае регистрация вызывает представление программой 108 регистрации запроса регистрации к средству 102 управления уведомлениями. Запрос регистрации включает в себя (1) идентификационные данные программы-запросчика 108, такие как идентификаторы 108а-108d программы-запросчика и (2) идентификаторы 104а-104с или другие идентификационные данные программы-уведомителя 104, которая соответствует классу, включающему в себя событие (события), для которого требуется уведомление. Как вариант, запрос может включать в себя параметр уведомления, такой как параметр, поясненный со ссылкой на таблицу 2. В качестве альтернативы программы-запросчики 108 могут использовать другое представление событий и состояний, где параметры уведомления используются лишь внутренним образом средством 102 управления уведомлениями, в таком случае средство 102 управления уведомлениями переводит предпочтение уведомления для программ-запросчиков в представительный параметр уведомления, используя словарь 112 во время процесса регистрации (этап 402). Приведенная ниже таблица 3 показывает содержимое приведенного в качестве примера запроса регистрации.
Таблица 3 - содержимое приведенного в качестве примера запроса регистрации
Запрос регистрации
ИД программы-запросчика = 11111111111111111111111111111111
ИД программы-уведомителя = 00000000000000000000000000000000
Параметры уведомления = 1001
Программы-запросчики 108, хотя они и не показаны отдельно для простоты описания, могут регистрироваться вначале и/или повторять регистрацию позже в последовательности 400 в соответствии с требованиями к функционированию этих программ 108 регистрации. Более того, в другом варианте осуществления регистрация может быть выполнена другим объектом от имени программы-запросчика 108. Таким объектом может быть другая программа (например, координатор регистрации), инженер-программист и т.д.
В ответ на запрос регистрации на этапе 402 средство 102 управления уведомлениями обрабатывает этот запрос посредством запоминания содержимого запроса в карте 110. В иллюстрированном примере средство 102 управления уведомлениями сохраняет идентификатор запросчика, идентификатор уведомителя и параметр уведомления текущего запроса регистрации. После этапа 402 средство 102 управления уведомлениями активирует программу-уведомитель 104, включенную в текущий запрос регистрации. Это может быть выполнено, например, загрузкой в память программы-уведомителя 104. Будучи теперь активной, эта программа-уведомитель 104 работает для обнаружения событий ее класса (шаг 406). Когда программа-уведомитель 104 обнаруживает какие-либо события, относящиеся к ее классу, она оповещает средство 102 управления уведомлениями (этап 408). Это может быть выполнено, например, передачей сообщения к средству 102 управления уведомлениями, обусловливая аппаратное прерывание, установку локального флага, обнаруживаемого средством 102 управления уведомлениями, и ответ на опрос со стороны средства 102 управления уведомлениями.
В ответ на это средство 102 управления уведомлениями обращается к карте 110, чтобы идентифицировать все программы-запросчики 108, которые представили запросы регистрации, касающиеся оповещающей программы-уведомителя (этап 410). Также на этапе 410 средство 102 управления затем переходит к активированию идентифицированных программ-запросчиков, например, посредством загрузки их в память, и также передает активированным программам-запросчикам индикацию события, которое произошло.
На этапе 412 средство 102 управления уведомлениями отслеживает активированную программу-запросчик, и когда программа-запросчик становится неактивной, средство 102 управления уведомлениями деактивирует ее посредством выгрузки ее из памяти, прерывая или, иначе, завершая программу. Если программа-запросчик регистрируется с параметрами уведомления, которые включают состояние "остаться резидентной", то средство 102 управления уведомлениями прерывает деактивирование, таким образом давая возможность программе продолжить ее выполнение.
Другие варианты осуществления
Хотя вышеприведенное описание показывает ряд иллюстративных вариантов осуществления изобретения, специалистам в данной области техники будет очевидным, что различные изменения и модификации могут быть выполнены здесь, не выходя за рамки объема изобретения, определенного прилагаемой формулой изобретения. Более того, хотя элементы изобретения могут быть описаны или заявлены в формуле изобретения в единственном числе, настоящее изобретение охватывает множество таких элементов, если не установлено явное ограничение единственным числом. Кроме этого, специалистам обычной квалификации в данной области техники будет понятно, что последовательности операций должны быть установлены в некотором специфическом порядке с целью пояснения и заявление в формуле изобретения, но настоящее изобретение охватывает различные изменения, выходящие за пределы такого специфического порядка.

Claims (27)

1. Реализуемый компьютером способ уведомления о событиях для компьютера, причем каждое событие является локальным по отношению к данному компьютеру и ассоциировано с одним из множества типов событий, при этом упомянутое множество типов событий организовано в множество классов событий, к каждому из которых, соответственно, относится совокупность типов событий и каждый из которых ассоциирован с соответствующей программой-уведомителем, причем каждая программа-уведомитель реагирует на происшествие событий соответствующего класса событий посредством обнаружения происшествия соответствующего события и передачи уведомления об этом происшествии соответствующего события, при этом способ включает в себя этапы, на которых принимают с помощью средства управления уведомлениями из состава упомянутого компьютера множество запросов регистрации на события, каждый из которых исходит от программы-запросчика упомянутого компьютера, причем каждый запрос регистрации содержит первый идентификатор, идентифицирующий программу-запросчик, и второй идентификатор, идентифицирующий одну из упомянутых программ-уведомителей, в качестве реакции на каждый запрос регистрации с помощью средства управления уведомлениями, сохраняют первые и вторые идентификаторы в карте и активируют каждую программу-уведомитель, идентифицированную в карте, в качестве реакции на прием уведомления от конкретной одной из упомянутых программ-уведомителей после обнаружения произошедшего события выполняют с помощью средства управления уведомлениями этапы, на которых обращаются к карте для идентификации всех программ-запросчиков, которые представили запросы регистрации, относящиеся к упомянутой конкретной одной из упомянутых программ-уведомителей, и активируют идентифицированные программы-запросчики и передают каждой из них представление произошедшего события.
2. Способ по п.1, дополнительно включающий в себя этап, на котором выгружают по меньшей мере одну из программ-запросчиков.
3. Способ по п.1, дополнительно включающий в себя этап, на котором определяют для каждой активированной программы-запросчика, представила ли она запрос на то, чтобы оставаться резидентной, и если такой запрос не был представлен, то деактивируют эту программу-запросчик.
4. Способ по п.1, в котором один или более из упомянутых запросов регистрации дополнительно включает в себя характеристики уведомления о желаемом событии, при этом способ включает в себя этап, на котором выбирают уведомление, причем операции, выполняемые в качестве реакции на уведомление о событии от программы-уведомителя, дополнительно включают в себя этап, на котором обращаются к карте, с помощью средства управления уведомлениями, для идентификации параметра уведомления, представляющего желаемую характеристику уведомления, для каждой программы-запросчика, представившей запрос регистрации, относящийся к упомянутой программе-уведомителю, при этом передачу представления произошедшего события к идентифицированным программам-запросчикам проводят в соответствии с любым применимым параметром уведомления.
5. Способ по п.4, в котором параметры уведомления представлены битовой маской, причем каждый бит имеет отличную от других предварительно присвоенную значимость.
6. Способ по п.4, в котором операцию представления выполняют посредством программ-запросчиков.
7. Способ по п.4, в котором упомянутые операции дополнительно включают в себя этап, на котором первоначально ассоциируют идентификаторы с каждой программой-запросчиком и программой-уведомителем, при этом упомянутая идентификация программ-уведомителей и программ-запросчиков обеспечивается этими идентификаторами.
8. Машиночитаемый носитель, на котором сохранены команды, которые при исполнении компьютером предписывают компьютеру выполнять этапы приема множества запросов регистрации на события, каждый из которых исходит от программы-запросчика, запрашивающей уведомление о событиях, относящихся к конкретному классу событий, причем каждое событие ассоциировано с одним из множества типов событий, при этом упомянутое множество типов событий организовано в множество классов событий, к каждому из которых, соответственно, относится совокупность типов событий и каждый из которых ассоциирован с соответствующей программой-уведомителем, причем каждая программа-уведомитель реагирует на происшествие событий соответствующего класса событий посредством обнаружения происшествия соответствующего события и передачи уведомления об этом происшествии соответствующего события, при этом каждый из упомянутого множества запросов регистрации содержит идентификационные данные программы-запросчика и идентификационные данные одной из упомянутых программ-уведомителей, в качестве реакции на каждый запрос регистрации, сохранения идентификационных данных программ-запросчиков и программ-уведомителей в карте и активирования каждой программы-уведомителя, идентифицированной в карте, выполнения в качестве реакции на прием уведомления от конкретной одной из упомянутых программ-уведомителей после обнаружения произошедшего события операций обращения к карте для идентификации всех программ-запросчиков, которые представили запросы регистрации, относящиеся к упомянутой конкретной одной из упомянутых программ-уведомителей, и активирования идентифицированных программ-запросчиков и передачи каждой из них представления произошедшего события, при этом каждое событие, каждая программа-запросчик, каждая программа-уведомитель и карта являются локальными по отношению к упомянутому компьютеру.
9. Устройство уведомления о событиях, предназначенное для обнаружения событий, причем каждое событие ассоциировано с одним из множества типов событий, при этом упомянутое множество типов событий организовано в множество классов событий, к каждому из которых, соответственно, относится совокупность типов событий, причем устройство содержит множество средств-запросчиков, каждое из которых выполнено с возможностью запрашивания уведомления о событиях, относящихся к конкретному классу событий, множество средств-уведомителей, каждое из которых выполнено с возможностью реагирования на происшествие событий соответствующего класса событий посредством обнаружения происшествия соответствующего события и передачи уведомления об этом происшествии соответствующего события, средство-карту, средство управления уведомлениями, соединенное с упомянутым множеством средств-запросчиков, упомянутым множеством средств-уведомителей и средством-картой, причем средство управления уведомлениями выполнено с возможностью осуществления этапов приема запросов регистрации, каждый из которых исходит от упомянутого множества средств-запросчиков, причем каждый запрос регистрации содержит идентификационные данные одного из упомянутых средств-запросчиков и идентификационные данные одного из упомянутых средств-уведомителей, в качестве реакции на каждый принятый запрос регистрации сохранения идентификационных данных средств-запросчиков и средств-уведомителей в средстве-карте и активирования каждого средства-уведомителя, идентифицированного в средстве-карте, выполнения в качестве реакции на прием уведомления от конкретного одного из упомянутого множества средств-уведомителей после обнаружения произошедшего события операций обращения к средству-карте для идентификации всех средств-запросчиков, которые представили запросы регистрации, относящиеся к упомянутому конкретному одному из упомянутого множества средств-уведомителей, и активирования идентифицированных средств-запросчиков и передачи каждому из них представления произошедшего события, при этом каждое событие, каждое средство-запросчик, каждое средство-уведомитель и средство-карта являются локальными по отношению к упомянутому устройству уведомления о событиях.
10. Устройство по п.9, в котором средство управления уведомлениями дополнительно выполнено с возможностью выгрузки средств-запросчиков после активирования идентифицированных средств-запросчиков и передачи каждому из них представления произошедшего события.
11. Устройство по п.9, в котором средство управления уведомлениями дополнительно выполнено с возможностью, после активирования идентифицированных средств-запросчиков и передачи каждому из них представления произошедшего события, определения того, был ли представлен активированным средством-запросчиком запрос на то, чтобы оставаться резидентным, а если такой запрос не был представлен, то деактивирования средства-запросчика.
12. Устройство по п.9, в котором средство управления уведомлениями сконфигурировано так, что прием запросов регистрации дополнительно включает в себя прием одного или более параметров уведомления, задающих характеристики уведомления о событии, сохранение идентификационных данных дополнительно включает в себя сохранение упомянутых одного или более параметров уведомления в средстве-карте, и обращение средством управления уведомлениями к средству-карте дополнительно включает в себя идентификацию какого-либо параметра уведомления для каждого средства-запросчика, представившего запрос регистрации, относящийся к упомянутому средству-уведомителю, при этом передача представления произошедшего события к идентифицированным средствам-запросчикам проводится в соответствии с любым применимым параметром уведомления.
13. Устройство по п.12, в котором параметры уведомления представлены битовыми масками, причем каждый бит имеет отличную от других предварительно присвоенную значимость.
14. Устройство уведомления о событиях, содержащее карту, множество программ-уведомителей, каждой из которых соответствует идентификатор программы-уведомителя, при этом каждая программа-уведомитель выполнена с возможностью обнаружения происшествия совокупности заранее определенных событий из множества событий, причем каждое из упомянутой совокупности заранее определенных событий отличается от остальных событий из упомянутой совокупности заранее определенных событий, при этом каждый набор, образованный упомянутой совокупностью заранее определенных событий, задает соответствующий класс событий, ассоциированный с соответствующей программой-уведомителем, при этом каждая программа-уведомитель дополнительно выполнена с возможностью генерирования уведомления о событии в качестве реакции на обнаружение одного из упомянутой совокупности заранее определенных событий, ассоциированной с соответствующим классом событий, причем данное уведомление о событии идентифицирует обнаруженное событие из упомянутой совокупности заранее определенных событий, множество программ-запросчиков, с каждой из которых ассоциирован соответствующий идентификатор программы-запросчика, при этом каждая из упомянутого множества программ-запросчиков выполнена с возможностью осуществления действия в качестве реакции на по меньшей мере одно из упомянутого множества событий и выполнена с возможностью генерирования запроса регистрации, содержащего соответствующий идентификатор программы-запросчика, идентификатор программы-уведомителя, соответствующий классу событий, о которых соответствующая программа-запросчик желает быть уведомлена, и предпочтение уведомления, представляющее по меньшей мере одно желаемое событие из упомянутой совокупности заранее определенных событий, ассоциированной с соответствующим классом событий, средство управления уведомлениями, соединенное с возможностью обмена данными с упомянутым множеством программ-уведомителей и упомянутым множеством программ-запросчиков, при этом средство управления уведомлениями выполнено с возможностью, в качестве реакции на каждый принятый запрос регистрации, генерирования в упомянутой карте записи карты, задающей соответствие между идентификатором программы-запросчика, идентификатором программы-уведомителя и предпочтением уведомления, при этом средство управления уведомлениями выполнено с возможностью, в качестве реакции на каждое принятое уведомление о событии, обращения к карте для идентификации каждой зарегистрированной программы-запросчика для уведомления ее об обнаруженном событии, причем каждая идентифицированная зарегистрированная программа-запросчик представляет собой любую программу-запросчик, соответствующую любому запросу регистрации, имеющему соответствующее предпочтение уведомления, идентифицирующее соответствующее желаемое событие, которое совпадает с обнаруженным событием, активирования каждой идентифицированной программы-запросчика, пересылки сообщения, идентифицирующего обнаруженное событие, каждой идентифицированной зарегистрированной программе-запросчику.
15. Устройство по п.14, дополнительно содержащее словарь, с которым средство управления уведомлениями может осуществлять обмен данными, при этом словарь ассоциирует по меньшей мере одно предпочтение уведомления с по меньшей мере одним параметром уведомления, причем средство управления уведомлениями выполнено с возможностью, при приеме предпочтения уведомления, обращения к словарю, идентификации параметра уведомления и ввода идентифицированного параметра уведомления в соответствующую запись карты.
16. Устройство по п.14, в котором по меньшей мере одно предпочтение уведомления содержит заранее определенный параметр уведомления.
17. Устройство по п.14, в котором по меньшей мере одно предпочтение уведомления дополнительно представляет условие, соответствующее уведомлению соответствующей программы-запросчика об обнаруженном событии.
18. Устройство по п.17, в котором средство управления уведомлениями дополнительно выполнено с возможностью, в качестве реакции на каждое принятое уведомление о событии, соответствующее упомянутому по меньшей мере одному предпочтению уведомления, представляющему упомянутое условие, идентификации данного условия из карты и реализации данного условия в отношении соответствующей идентифицированной зарегистрированной программы-запросчика.
19. Устройство по п.17, в котором упомянутое условие представляет собой условие нахождения в резидентном состоянии.
20. Устройство по п.14, в котором средство управления уведомлениями дополнительно выполнено с возможностью, в качестве реакции на каждый принятый запрос регистрации, активирования программы-уведомителя, ассоциированной с соответствующим идентификатором программы-уведомителя.
21. Устройство по п.14, содержащее беспроводной телефон, при этом упомянутое множество программ-уведомителей содержит интерфейс прикладного программирования для телефонной связи, упомянутое множество событий содержит по меньшей мере одно из звонка беспроводного телефона, соединения беспроводного телефона с сетью и приема беспроводным телефоном данных службы коротких сообщений.
22. Реализуемый компьютером способ уведомления о событиях, содержащий этапы, на которых принимают соответствующий запрос регистрации от каждой программы-запросчика, желающей быть уведомленной о происшествии события, относящегося к соответствующему классу событий, при этом запрос регистрации содержит идентификатор программы-запросчика, соответствующий каждой программе-запросчику, идентификатор программы-уведомителя, соответствующий одной из множества программ-уведомителей в соответствующем классе событий, о которых соответствующая программа-запросчик желает быть уведомленной, при этом каждая из упомянутого множества программ-уведомителей выполнена с возможностью обнаружения происшествия совокупности заранее определенных событий из множества событий, причем каждое из упомянутой совокупности заранее определенных событий отличается от остальных событий из упомянутой совокупности заранее определенных событий, при этом каждый набор, образованный упомянутой совокупностью заранее определенных событий, задает соответствующий класс событий, ассоциированный с соответствующей программой-уведомителем, причем каждая программа-уведомитель дополнительно выполнена с возможностью генерирования уведомления о событии в качестве реакции на обнаружение одного из упомянутой совокупности заранее определенных событий, ассоциированной с соответствующим классом событий, при этом уведомление о событии идентифицирует обнаруженное событие из упомянутой совокупности заранее определенных событий, и предпочтение уведомления, представляющее по меньшей мере одно желаемое событие из упомянутой совокупности заранее определенных событий, ассоциированной с соответствующим классом событий, задают соответствие между идентификатором программы-запросчика, идентификатором программы-уведомителя и предпочтением уведомления для каждого запроса регистрации, принимают уведомление о событии, содержащее обнаруженное событие, идентифицируют каждую зарегистрированную программу-запросчик для уведомления ее об обнаруженном событии, причем каждая идентифицированная зарегистрированная программа-запросчик представляет собой любую программу-запросчик, соответствующую любому запросу регистрации, имеющему соответствующее предпочтение уведомления, идентифицирующее соответствующее желаемое событие, которое совпадает с обнаруженным событием, активируют каждую идентифицированную программу-запросчик, пересылают сообщение, идентифицирующее обнаруженное событие, каждой идентифицированной зарегистрированной программе-запросчику.
23. Способ по п.22, в котором прием соответствующего запроса регистрации, содержащего предпочтение уведомления, дополнительно содержит этапы, на которых обращаются к словарю, ассоциирующему по меньшей мере одно предпочтение уведомления с по меньшей мере одним параметром уведомления, идентифицируют соответствующий параметр уведомления и задают соответствие идентифицированного параметра уведомления соответствующему идентификатору программы-запросчика и соответствующему идентификатору программы-уведомителя.
24. Способ по п.22, в котором прием соответствующего запроса регистрации, содержащего предпочтение уведомления, дополнительно содержит этап, на котором принимают заранее определенный параметр уведомления.
25. Способ по п.22, в котором прием соответствующего запроса регистрации, содержащего предпочтение уведомления, дополнительно содержит этап, на котором принимают условие, соответствующее уведомлению соответствующей программы-запросчика об обнаруженном событии.
26. Способ по п.25, в котором идентификация дополнительно содержит этапы, на которых идентифицируют упомянутое условие и реализуют упомянутое условие в отношении соответствующей идентифицированной зарегистрированной программы-запросчика.
27. Способ по п.22, дополнительно содержащий этап, на котором активируют программу-уведомитель, соответствующую каждому соответствующему идентификатору программы-уведомителя.
RU2003136283/09A 2001-05-18 2002-05-17 Расширяемый механизм уведомления о событии RU2295758C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29211401P 2001-05-18 2001-05-18
US60/292,114 2001-05-18
US10/133,847 2002-04-25
US10/133,847 US7472396B2 (en) 2001-05-18 2002-04-25 Extensible event notification mechanism

Publications (2)

Publication Number Publication Date
RU2003136283A RU2003136283A (ru) 2005-06-10
RU2295758C2 true RU2295758C2 (ru) 2007-03-20

Family

ID=26831750

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003136283/09A RU2295758C2 (ru) 2001-05-18 2002-05-17 Расширяемый механизм уведомления о событии

Country Status (17)

Country Link
US (1) US7472396B2 (ru)
EP (1) EP1393195B1 (ru)
JP (1) JP4805530B2 (ru)
KR (1) KR100609185B1 (ru)
CN (1) CN1321387C (ru)
AR (1) AR036019A1 (ru)
AU (1) AU2002314786B2 (ru)
BR (1) BR0209802A (ru)
CA (1) CA2447328A1 (ru)
HK (1) HK1066885A1 (ru)
IL (1) IL158895A0 (ru)
MX (1) MXPA03010609A (ru)
NZ (1) NZ529596A (ru)
PE (1) PE20030016A1 (ru)
RU (1) RU2295758C2 (ru)
TW (1) TW559735B (ru)
WO (1) WO2002095610A1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2552162C2 (ru) * 2010-09-30 2015-06-10 Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед Способ напоминания об обновлении сообщений и сетевое клиентское устройство
RU2695506C1 (ru) * 2015-08-19 2019-07-23 ГУГЛ ЭлЭлСи Инициаторы действий физических знаний
RU2703337C1 (ru) * 2015-11-18 2019-10-16 ЭЙЗО Корпорайшн Устройство, система и программа для управления выводом данных

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8364136B2 (en) 1999-02-01 2013-01-29 Steven M Hoffberg Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6859829B1 (en) * 1999-02-23 2005-02-22 Microsoft Corp. Method and mechanism for providing computer programs with computer system events
US8126889B2 (en) * 2002-03-28 2012-02-28 Telecommunication Systems, Inc. Location fidelity adjustment based on mobile subscriber privacy profile
US20030186699A1 (en) * 2002-03-28 2003-10-02 Arlene Havlark Wireless telecommunications location based services scheme selection
US8918073B2 (en) 2002-03-28 2014-12-23 Telecommunication Systems, Inc. Wireless telecommunications location based services scheme selection
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US8027697B2 (en) 2007-09-28 2011-09-27 Telecommunication Systems, Inc. Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
US7426380B2 (en) 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US20040203597A1 (en) * 2002-03-28 2004-10-14 Pitt Lance Douglas Mobile subscriber privacy evaluation using solicited vs. unsolicited differentiation
US20070238455A1 (en) * 2006-04-07 2007-10-11 Yinjun Zhu Mobile based area event handling when currently visited network doe not cover area
US7469272B2 (en) * 2003-03-26 2008-12-23 Microsoft Corporation System and method utilizing test notifications
US7757235B2 (en) 2003-07-11 2010-07-13 Computer Associates Think, Inc. Trigger support for a bi-directional broker
US7644376B2 (en) * 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
US7424293B2 (en) * 2003-12-02 2008-09-09 Telecommunication Systems, Inc. User plane location based service using message tunneling to support roaming
US7260186B2 (en) 2004-03-23 2007-08-21 Telecommunication Systems, Inc. Solutions for voice over internet protocol (VoIP) 911 location services
US20080126535A1 (en) 2006-11-28 2008-05-29 Yinjun Zhu User plane location services over session initiation protocol (SIP)
US20080090546A1 (en) * 2006-10-17 2008-04-17 Richard Dickinson Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging
US7562365B2 (en) * 2004-01-12 2009-07-14 International Business Machines Corporation Random access for processing messages in a message queue
EP1562354A1 (en) * 2004-02-09 2005-08-10 Alcatel A method, a mobile communication device, a remote device, and a computer software product for notifying a user and controlling the mobile communication device
US7629926B2 (en) * 2004-10-15 2009-12-08 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US6985105B1 (en) * 2004-10-15 2006-01-10 Telecommunication Systems, Inc. Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations
US7113128B1 (en) * 2004-10-15 2006-09-26 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US7653721B1 (en) * 2004-10-29 2010-01-26 Sun Microsystems, Inc. Mechanism for capturing high level events on user interface components
US9563875B2 (en) * 2004-12-02 2017-02-07 International Business Machines Corporation Automatically providing notifications regarding interesting content from shared sources based on important persons and important sources for a user
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8756225B1 (en) * 2005-05-31 2014-06-17 Saba Software, Inc. Method and system for interfacing with a back end server application through a messaging environment
US8660573B2 (en) 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
US20070049288A1 (en) * 2005-08-24 2007-03-01 Lamprecht Leslie J Creating optimum temporal location trigger for multiple requests
US20100070982A1 (en) * 2005-09-09 2010-03-18 Pitts William M Distributed File System Consistency Mechanism Extension For Accelerating Communications Between Distributed Applications
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
US7825780B2 (en) * 2005-10-05 2010-11-02 Telecommunication Systems, Inc. Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle
US20070075848A1 (en) * 2005-10-05 2007-04-05 Pitt Lance D Cellular augmented vehicle alarm
US8467320B2 (en) 2005-10-06 2013-06-18 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) multi-user conferencing
US7907551B2 (en) * 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US8059789B2 (en) * 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US7471236B1 (en) * 2006-03-01 2008-12-30 Telecommunication Systems, Inc. Cellular augmented radar/laser detector
US7899450B2 (en) 2006-03-01 2011-03-01 Telecommunication Systems, Inc. Cellular augmented radar/laser detection using local mobile network within cellular network
US9167553B2 (en) 2006-03-01 2015-10-20 Telecommunication Systems, Inc. GeoNexus proximity detector network
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
US7711783B1 (en) * 2006-06-16 2010-05-04 Oracle America, Inc. Generic event notification service for resource-constrained devices
US8370423B2 (en) * 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
JP4618224B2 (ja) * 2006-09-19 2011-01-26 株式会社デンソー オブジェクト指向型車両用制御システム
US20080267172A1 (en) * 2006-09-26 2008-10-30 Hines John G Location object proxy broker
US7966013B2 (en) * 2006-11-03 2011-06-21 Telecommunication Systems, Inc. Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC)
US8453066B2 (en) 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8020112B2 (en) * 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US20080141136A1 (en) * 2006-12-12 2008-06-12 Microsoft Corporation Clipping Synchronization and Sharing
JP4618240B2 (ja) * 2006-12-12 2011-01-26 株式会社デンソー オブジェクト指向型車両用制御システム及びプログラム搭載支援システム
US20080167018A1 (en) * 2007-01-10 2008-07-10 Arlene Havlark Wireless telecommunications location based services scheme selection
US8769551B2 (en) * 2007-02-06 2014-07-01 Access Co., Ltd. System and method for interprocess communication in electronic devices
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
US8429551B2 (en) 2007-02-15 2013-04-23 Microsoft Corporation Application-based copy and paste operations
JP4962099B2 (ja) * 2007-03-30 2012-06-27 ブラザー工業株式会社 情報処理装置および情報処理プログラム
US8677270B2 (en) 2007-05-04 2014-03-18 Microsoft Corporation Live companion user interface
US7831558B2 (en) * 2007-06-22 2010-11-09 Microsoft Corporation Bi-directional data modification with synchronization
US8954507B2 (en) * 2007-06-22 2015-02-10 Microsoft Corporation Gathering and using awareness information
US8239479B2 (en) * 2007-06-22 2012-08-07 Microsoft Corporation Server-assisted and peer-to-peer synchronization
WO2009038726A1 (en) * 2007-09-17 2009-03-26 Telecommunication Systems, Inc. Emergency 911 data messaging
US20090112870A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Management of distributed storage
US9066316B2 (en) 2007-11-19 2015-06-23 Qualcomm Incorporated Diagnostic monitoring by a wireless device
US9130963B2 (en) 2011-04-06 2015-09-08 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US7929530B2 (en) * 2007-11-30 2011-04-19 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US8296671B2 (en) * 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US8068587B2 (en) 2008-08-22 2011-11-29 Telecommunication Systems, Inc. Nationwide table routing of voice over internet protocol (VOIP) emergency calls
EP2172883A1 (en) * 2008-09-30 2010-04-07 Siemens Aktiengesellschaft Method for managing and controlling manufacturing processes planned by an Enterprise Resource Planning and produced by a plant floor
US8525681B2 (en) 2008-10-14 2013-09-03 Telecommunication Systems, Inc. Location based proximity alert
US8892128B2 (en) 2008-10-14 2014-11-18 Telecommunication Systems, Inc. Location based geo-reminders
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
US8867485B2 (en) * 2009-05-05 2014-10-21 Telecommunication Systems, Inc. Multiple location retrieval function (LRF) network having location continuity
US20110009086A1 (en) * 2009-07-10 2011-01-13 Todd Poremba Text to 9-1-1 emergency communication
US9479737B2 (en) * 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US20110064046A1 (en) * 2009-09-11 2011-03-17 Yinjun Zhu User plane emergency location continuity for voice over internet protocol (VoIP)/IMS emergency services
US20110149953A1 (en) * 2009-12-23 2011-06-23 William Helgeson Tracking results of a v2 query in voice over internet (VoIP) emergency call systems
US20110195695A1 (en) * 2010-02-11 2011-08-11 Rashim Gupta Managing event distribution to applications within a wireless communications device
US20110219384A1 (en) * 2010-03-05 2011-09-08 Hit Concepts Llc Dynamic listener lookup and implementation
WO2012005769A1 (en) 2010-07-09 2012-01-12 Telecommunication Systems, Inc. Location privacy selector
US8336664B2 (en) 2010-07-09 2012-12-25 Telecommunication Systems, Inc. Telematics basic mobile device safety interlock
US8942743B2 (en) 2010-12-17 2015-01-27 Telecommunication Systems, Inc. iALERT enhanced alert manager
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
WO2012087353A1 (en) 2010-12-22 2012-06-28 Telecommunication Systems, Inc. Area event handling when current network does not cover target area
DE112011104789T5 (de) * 2011-01-28 2013-10-31 Hewlett-Packard Development Co., L.P. Informationsverbreitung
WO2012141762A1 (en) 2011-02-25 2012-10-18 Telecommunication Systems, Inc. Mobile internet protocol (ip) location
US8701124B2 (en) * 2011-06-03 2014-04-15 Apple Inc. Notification barrier
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
US8831556B2 (en) 2011-09-30 2014-09-09 Telecommunication Systems, Inc. Unique global identifier header for minimizing prank emergency 911 calls
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US9313637B2 (en) 2011-12-05 2016-04-12 Telecommunication Systems, Inc. Wireless emergency caller profile data delivery over a legacy interface
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9384339B2 (en) 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
US8688174B2 (en) 2012-03-13 2014-04-01 Telecommunication Systems, Inc. Integrated, detachable ear bud device for a wireless phone
US9544260B2 (en) 2012-03-26 2017-01-10 Telecommunication Systems, Inc. Rapid assignment dynamic ownership queue
US9307372B2 (en) 2012-03-26 2016-04-05 Telecommunication Systems, Inc. No responders online
US9338153B2 (en) 2012-04-11 2016-05-10 Telecommunication Systems, Inc. Secure distribution of non-privileged authentication credentials
US9596145B2 (en) 2012-07-02 2017-03-14 Mitsubishi Electric Corporation Communication system, GUI apparatus, and service apparatus
US9313638B2 (en) 2012-08-15 2016-04-12 Telecommunication Systems, Inc. Device independent caller data access for emergency calls
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
US9456301B2 (en) 2012-12-11 2016-09-27 Telecommunication Systems, Inc. Efficient prisoner tracking
US8983047B2 (en) 2013-03-20 2015-03-17 Telecommunication Systems, Inc. Index of suspicion determination for communications request
KR102210995B1 (ko) * 2013-04-24 2021-02-02 삼성전자 주식회사 전자 장치에서 보안 정보를 통지하기 위한 장치와 방법 및 이를 위한 컴퓨터로 판독 가능한 기록 매체
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9516104B2 (en) 2013-09-11 2016-12-06 Telecommunication Systems, Inc. Intelligent load balancer enhanced routing
US9479897B2 (en) 2013-10-03 2016-10-25 Telecommunication Systems, Inc. SUPL-WiFi access point controller location based services for WiFi enabled mobile devices
CN110019682B (zh) * 2017-12-28 2022-12-27 北京京东尚科信息技术有限公司 用于处理信息的系统、方法和装置
CN108415786B (zh) * 2018-03-13 2022-05-31 联想(北京)有限公司 信息处理方法及装置、电子设备和计算机可读介质
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625821A (en) 1991-08-12 1997-04-29 International Business Machines Corporation Asynchronous or synchronous operation of event signaller by event management services in a computer system
US6681245B1 (en) * 1995-04-19 2004-01-20 Fuji Xerox Co., Ltd. Display of detected event for information handling system
US5621892A (en) 1995-10-10 1997-04-15 Intel Corporation Method and apparatus for managing alerts and events in a networked computer system
US5828882A (en) * 1996-03-15 1998-10-27 Novell, Inc. Event notification facility
US5721825A (en) 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
US6463446B1 (en) * 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6704803B2 (en) * 1998-01-26 2004-03-09 International Business Machines Corporation Method and system for distributing data events over an information bus
US6611877B2 (en) * 1998-06-30 2003-08-26 Sun Microsystems, Inc. System and method for aggregating registration of entities for notifications of events
US6367034B1 (en) * 1998-09-21 2002-04-02 Microsoft Corporation Using query language for event filtering and aggregation
US6993771B1 (en) * 1999-02-03 2006-01-31 William H. Gates, III Method and system for managing software components
US6859829B1 (en) * 1999-02-23 2005-02-22 Microsoft Corp. Method and mechanism for providing computer programs with computer system events
US6782541B1 (en) * 1999-05-28 2004-08-24 Avaya Technology Corp. System and method of exchanging information between software modules
US20010056508A1 (en) * 2000-05-12 2001-12-27 Kenneth Arneson Event notification system and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2552162C2 (ru) * 2010-09-30 2015-06-10 Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед Способ напоминания об обновлении сообщений и сетевое клиентское устройство
RU2695506C1 (ru) * 2015-08-19 2019-07-23 ГУГЛ ЭлЭлСи Инициаторы действий физических знаний
US10600296B2 (en) 2015-08-19 2020-03-24 Google Llc Physical knowledge action triggers
RU2703337C1 (ru) * 2015-11-18 2019-10-16 ЭЙЗО Корпорайшн Устройство, система и программа для управления выводом данных

Also Published As

Publication number Publication date
HK1066885A1 (en) 2005-04-01
NZ529596A (en) 2005-10-28
KR100609185B1 (ko) 2006-08-02
RU2003136283A (ru) 2005-06-10
BR0209802A (pt) 2004-12-21
JP2004532479A (ja) 2004-10-21
CN1533539A (zh) 2004-09-29
KR20040004362A (ko) 2004-01-13
MXPA03010609A (es) 2004-04-02
WO2002095610A1 (en) 2002-11-28
US20030009602A1 (en) 2003-01-09
EP1393195B1 (en) 2017-04-26
TW559735B (en) 2003-11-01
EP1393195A4 (en) 2007-04-04
CN1321387C (zh) 2007-06-13
US7472396B2 (en) 2008-12-30
AU2002314786B2 (en) 2007-11-01
IL158895A0 (en) 2004-05-12
JP4805530B2 (ja) 2011-11-02
PE20030016A1 (es) 2003-01-29
EP1393195A1 (en) 2004-03-03
CA2447328A1 (en) 2002-11-28
AR036019A1 (es) 2004-08-04

Similar Documents

Publication Publication Date Title
RU2295758C2 (ru) Расширяемый механизм уведомления о событии
AU2002314786A1 (en) Extensible event notification mechanism
US9177311B2 (en) Authentication of financial transactions via wireless communication link
US7269630B2 (en) Automatically switching shared remote devices in a dense server environment thereby allowing the remote devices to function as a local device
US8713582B2 (en) Providing policy-based operating system services in an operating system on a computing system
WO2005106669A2 (en) Dynamic update of pluggable modules using a reference manager
US20060168376A1 (en) Usage of keyboard driver in extensible firmware interface for adding new hot keys at firmware level
US8245231B2 (en) Method of launching low-priority tasks
TW200525432A (en) Methods and apparatus to process cache allocation requests based on priority
JP2008505023A (ja) 高速車両バスネットワーク活性
JP2005513644A (ja) オペレーティングシステム機能を実行する方法及びシステム並びに電子装置
WO2007071117A1 (en) Changing a scheduler in a virtual machine monitor
CN114625545A (zh) 进程持锁检测方法及其电子设备和可读介质
CN112395107A (zh) 税控设备控制的方法、装置、存储介质及电子设备
CN111355637B (zh) 网卡状态检测方法、装置、设备及存储介质
CN114020490A (zh) 一种进程间通信系统、方法及计算设备
KR20030070819A (ko) Sm버스 통지
US20040025007A1 (en) Restricting access to a method in a component
KR20090047152A (ko) 이벤트 충돌을 막기 위한 무선 인터넷 플랫폼 기반의모바일 단말기 및 그를 이용한 이벤트 처리 방법
CN108153703A (zh) 一种外设访问方法和装置
CN114710501B (zh) 服务请求处理方法、装置、服务器及计算机可读存储介质
US11907156B2 (en) System on a chip and a power down process for IP access resilience
CN117194061A (zh) 事件处理方法、处理器、设备及片上系统
JP3452656B2 (ja) Dmaコントローラ
KR20010036209A (ko) 코드분할다중접속 이동통신 시스템의 상태정보 관리 방법

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20110518