Способ и устройство высокоэффективной доставки уведомлений в реальном времени с малым временем задержки
Иллюстрации
Показать всеИзобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных. Способ содержит этапы, на которых: предоставляют серверу приложений уведомления о событиях, направленные к множеству агентов пользователя, которые находятся в узле, удаленном от сервера приложений, и которые принимают уведомления о событиях через первое сетевое устройство, которое выполнено с возможностью приема агрегированных уведомляющих сообщений, агрегируют множество уведомлений о событиях, направленных к множеству агентов пользователя, для создания агрегированного уведомляющего сообщения, направленного к первому сетевому устройству, и маршрутизируют агрегированное уведомляющее сообщение к первому сетевому устройству через сеть связи. 2 н. и 13 з.п. ф-лы, 8 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к системам связи по сети, более конкретно к способу и устройству, которые обеспечивают доставку крупномасштабных уведомлений о признаках в реальном времени, таких как уведомления для событий вызова, присутствия, статуса признака, аварийных ситуаций или других событий от централизованной, базисной или облачной системы связи к пользователям в удаленных узлах или подстанциях.
УРОВЕНЬ ТЕХНИКИ
Традиционно SIP уведомления доставляются по схеме подписки на уведомления в соответствии с RFC 3265, которая таким образом включена сюда посредством ссылки в полном объеме. Каждая подписка связана с отдельным SIP диалогом, который поддерживается как уведомителем, так и абонентом. В результате, когда происходит событие в централизованном приложении, система связи посылает каждое уведомление в отдельном SIP NOTIFY сообщении по отдельному SIP диалогу к удаленным агентам пользователя.
Такой подход приводит к нескольким проблемам. Если система связи чувствительна к низкой пропускной способности между централизованной системой связи, уведомления удаленных получателей уведомления формируют очередь и отправляются последовательно по линии передачи данных. Это приводит к задержке доставки уведомлений (например, время от возникновения события до доставки уведомлений), а также к большому времени задержки уведомления (например, время между приемом уведомления первым агентом пользователя и приемом уведомления последним агентом пользователя). Сценарии с низкой пропускной способностью могут возникать, если либо пропускная способность не может быть назначена, либо если возникает сбой соединения и используется вторичное резервное соединение с низкой пропускной способностью для подключения к удаленному узлу.
Кроме того, отправка отдельных сообщений может вызвать сетевую задержку. Преобразование в последовательную форму большого количества уведомлений по каналу передачи данных с большим временем задержки может вызвать увеличенную задержку для доставки последующих уведомлений. Это также приводит к неэффективному использованию ресурсов сети, так как большое количество подобных сообщений отправляются от централизованного приложения к получателям уведомлений в удаленном узле. В большинстве сценариев использования только информация SIP диалога отличается между уведомлениями, отправленными к различным агентам пользователя для наступления того же события.
Имеются неизвестные существующие развертывания SIP или стандартизация, которая обеспечивает агрегацию сообщения для уведомлений о событиях. Существующие механизмы, действующие на отдельные сообщения, такие как сжатие протокола безопасности транспортного уровня (Transport Layer Security ("TLS")), или сжатие при передаче сигналов (Signaling Compression ("SIGCOMP")), не достигают уровней оптимизации для уменьшения ширины полосы пропускания, подобно настоящему изобретению, и не учитывают оптимизацию задержки. Дополнительно, существующие механизмы не обеспечивают удовлетворительной оптимизации для большого количества уведомлений о событиях.
Таким образом, существует необходимость в способе и устройстве, способным отправлять агрегированные уведомления о событиях по сети связи от первого местоположения к агентам пользователя во втором удаленном местоположении.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Способ и устройство согласно настоящему изобретению решают эти задачи, сводят к минимуму задержку доставки и сводят к минимуму требования к полосе пропускания, обеспечивая автоматическое обнаружение возможностей ветви сети с прокси и SIP по агрегированию SIP уведомляющих событий между сервером приложений и ветвью сети с прокси. Агрегирование позволяет уведомлениям быть доставленными в одном сообщении между сервером приложений и ветвью сети с прокси. Способ и устройство согласно настоящему изобретению также предоставляют сжатие контента события и оптимизацию размера сообщения и поддерживают стандартный интерфейс, совместимый в отношении агентов пользователя.
Технический результат, достигаемый при использовании настоящего изобретения, заключается в минимизации задержки доставки уведомлений и сведении к минимуму требований к полосе пропускания.
В данном документе описывается способ доставки уведомлений в реальном времени. Способ содержит этапы, на которых: предоставляют серверу приложений уведомления о событиях, направленные к множеству агентов пользователя, которые находятся в узле, удаленном от сервера приложений, и принимают уведомления о событиях через первое сетевое устройство, выполненное с возможностью приема агрегированных уведомляющих сообщений, и
агрегируют множество уведомлений о событиях, направленных к множеству агентов пользователя, для создания агрегированного уведомляющего сообщения, направленного к первому сетевому устройству. Каждое из множества уведомлений о событиях связано с агентом пользователя из множества агентов пользователя. Способ дополнительно требует маршрутизации агрегированного уведомляющего сообщения к первому устройству сети через сеть связи.
В другом предпочтительном варианте осуществления способ содержит этапы, на которых проводят синтаксический анализ агрегированного уведомляющего сообщения во множестве уведомлений о событиях для множества агентов пользователя и передают каждое уведомление о событиях, по меньшей мере, одному из множества агентов пользователя.
В еще одном предпочтительном варианте осуществления способ содержит этап, на котором агрегируют множество уведомлений о событиях с помощью первого уведомления о событиях из множества уведомлений о событиях, для агрегирования оставшегося множества уведомлений о событиях.
В еще одном предпочтительном варианте осуществления способ содержит этапы, на которых принимают подписки на уведомление агента пользователя и генерируют множество уведомлений о событиях на основании принятых подписок на уведомление.
В еще одном предпочтительном варианте осуществления способ содержит этап, на котором принимают подписки на уведомление агента пользователя, содержащие идентификатор для местоположения первой сети.
В другом предпочтительном варианте осуществления способа этап агрегирования множества уведомлений о событиях содержит этап, на котором упаковывают все из множества уведомлений о событиях в тело агрегированного уведомляющего сообщения.
В еще одном предпочтительном варианте осуществления способа агрегированное уведомляющее сообщение содержит идентификатор для местоположения первого сетевого устройства.
В еще одном предпочтительном варианте осуществления способа этап агрегирования множества уведомлений о событиях содержит этап, на котором используют индекс для агрегирования каждого уведомления о событиях, причем индекс содержит информацию об агенте пользователя, к которому направлено каждое уведомление о событиях, при этом агрегированное уведомляющее сообщение не включает в себя индекс.
В еще одном предпочтительном варианте осуществления способа агрегированное уведомляющее сообщение дополнительно содержит информацию, указывающую количество отдельных уведомлений о событиях в агрегированном уведомляющем сообщении и индекс для каждого уведомления о событиях, причем индекс содержит информацию об агенте пользователя, к которому направлено каждое уведомление о событиях.
В другом предпочтительном варианте осуществления способа тело агрегированного уведомляющего сообщения содержит сжатый формат текста, который включает в себя информацию протокола инициации сессии («SIP»).
В еще одном предпочтительном варианте осуществления способа этап маршрутизации агрегированного уведомляющего сообщения содержит этапы, на которых агрегатор сообщений отправляет агрегированное уведомляющее сообщение к функциональному элементу транспортировки, и этот функциональный элемент транспортировки передает агрегированное уведомляющее сообщение к первому сетевому устройству через сеть связи.
В еще одном предпочтительном варианте осуществления способа этап маршрутизации агрегированного уведомляющего сообщения содержит этап, на котором маршрутизируют агрегированное уведомляющее сообщение в соответствии с транспортным протоколом безопасности транспортного уровня ("TLS").
В еще одном предпочтительном варианте осуществления способ содержит этап, на котором создают шаблон для каждого из множества уведомлений о событиях, причем шаблон содержит данные диалога уведомления, содержащиеся в каждом из уведомлений о событиях, и список каждого типа данных диалога уведомления, содержащихся в уведомлениях о событиях.
В еще одном дополнительном предпочтительном варианте осуществления способ содержит этапы, на которых принимают агрегированное уведомляющее сообщение на первом сетевом устройстве, и первое сетевое устройство обрабатывает агрегированное уведомляющее сообщение в соответствии с множеством уведомлений о событиях.
В еще одном дополнительном предпочтительном варианте осуществления способ содержит этапы, на которых первое сетевое устройство отправляет выборочные сообщения с предварительно установленным интервалом на сервер приложений и обновляет атрибут способности, связанный с первым сетевым устройством при приеме выборочного сообщения, содержащего информацию о способности агрегированного уведомляющего сообщения.
В другом предпочтительном варианте осуществления способ содержит этап, на котором определяют, способно ли первое сетевое устройство, связанное с агентами пользователя, принимать агрегированные уведомляющие сообщения.
В еще одном предпочтительном варианте осуществления способа этап агрегирования множества уведомлений о событиях содержит этапы, на которых сервер приложений отправляет первое множество уведомлений о событиях к агрегатору сообщений, причем каждое из первого множества уведомлений о событиях связано с агентом пользователя из множества агентов пользователя, и агрегатор сообщений принимает первое множество уведомлений о событиях и агрегирует первое множество уведомлений о событиях на основе первого сетевого устройства, причем агрегированное первое множество уведомлений о событиях составляет агрегированное уведомляющее сообщение.
В еще одном предпочтительном варианте осуществления способа этап агрегирования множества уведомлений о событиях дополнительно содержит этап, на котором используют идентификатор для местоположения первого сетевого устройства таким образом, что агрегированное уведомляющее сообщение включает в себя идентификатор для первого сетевого устройства.
В данном документе также описывается устройство для доставки уведомлений в реальном времени. Устройство содержит сервер приложений, выполненный с возможностью приема уведомлений о событиях, направленных к множеству агентов пользователя. Агенты пользователя находятся в узле, удаленном от сервера приложений, и принимают уведомления о событиях через первое сетевое устройство, выполненное с возможностью приема агрегированных уведомляющих сообщений. Дополнительно сервер приложений агрегирует множество уведомлений о событиях, направленных к множеству агентов пользователя, для создания агрегированного уведомляющего сообщения, направленного к первому сетевому устройству. Каждое из множества уведомлений о событиях связано с агентом пользователя из множества агентов пользователя. Кроме того, сервер приложений маршрутизирует агрегированное уведомляющее сообщение к первому сетевому устройству через сеть связи.
В другом предпочтительном варианте осуществления устройства сервер приложений агрегирует множество уведомлений о событиях посредством упаковки всех из множества уведомлений о событиях в тело агрегированного уведомляющего сообщения.
В другом предпочтительном варианте осуществления устройства тело агрегированного уведомляющего сообщения содержит сжатый формат текста, который включает в себя информацию протокола инициации сессии ("SIP").
В еще одном предпочтительном варианте осуществления устройства сервер приложений принимает информацию подписки на уведомление агента пользователя и агрегирует множество уведомлений о событиях на основе принятых подписок на уведомления.
В дополнительном предпочтительном варианте осуществления устройства первое сетевое устройство представляет собой SIP прокси-сервер.
Настоящее изобретение применимо к любой крупномасштабной, базисной или облачной системе связи, где службы событий в реальном времени обеспечиваются от централизованных приложений для одного или более удаленных местоположений станций. Другие подробности, объекты и преимущества настоящего изобретения станут очевидными из последующего описания некоторых его предпочтительных вариантов осуществления и некоторых предпочтительных способов осуществления этих же подходов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящие предпочтительные устройства, системы и аппараты для обеспечения высокоэффективной доставки уведомлений в реальном времени с малой задержкой показаны на прилагаемых чертежах, и некоторые предпочтительные способы их осуществления также показаны здесь. Следует понимать, что подобные ссылки, использованные на чертежах, могут идентифицировать подобные компоненты.
Фиг. 1 является блок-схемой первого предпочтительного варианта осуществления системы связи, которая включает в себя устройство настоящего изобретения.
Фиг. 2 является предпочтительным вариантом осуществления формата агрегированного уведомляющего сообщения, использованного в настоящем изобретении.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Ссылаясь на Фиг. 1, устройство для доставки уведомлений в реальном времени может включать в себя сервер 3 приложений, расположенный в центре 1 обработки данных, который является частью сети 4 связи. Сервер 3 приложений принимает уведомления о событиях, направленные к множеству агентов 6 пользователя. Индивидуальные агенты изображены блоками А, B, C и D, Уведомления о событиях могут включать в себя уведомления для событий вызова, присутствия, статуса признака, аварийных условий или иных событий от централизованной, базисной или облачной системы связи. Кроме того, уведомления о событиях могут включать в себя идентификатор для удаленного узла, например подстанции, к которому направлено уведомление о событиях, ряд уведомлений, отправляемых этому удаленному узлу и/или индекс для каждого уведомления о событии, который обеспечивает возможность легкого агрегирования. Дополнительно, более чем одно уведомление о событиях может быть направлено к одному агенту 6 пользователя. В предпочтительном варианте осуществления, агенты 6 пользователя могут быть агентами пользователя с протоколом инициации сеанса («SIP»), уведомления о событиях, являются SIP уведомлениями о событиях, и агенты 6 пользователя и сервер 3 приложений соединены через первое сетевое устройство 5, которое является безотказным прокси ветви сети.
Агенты 6 пользователя могут содержать программные приложения или аппаратные приложения, такие как конечные точки или терминалы. Дополнительно, агент 6 пользователя может быть мобильным устройством связи, таким как, например, мобильный телефон, компьютер, портативный компьютер, персональный цифровой помощник, нетбук или устройством планшетного компьютера или агент пользователя может быть немобильным устройством, например настольным компьютером или настольным телефоном. Варианты осуществления сервера 3 приложений могут включать в себя, например, компьютерное устройство, сконфигурированное с возможностью обеспечения сервиса ко множеству различных клиентских устройств посредством связи с этими устройствами.
В предпочтительном варианте осуществления, подписки на уведомление агента пользователя могут быть приняты центром 1 обработки данных, сервером 3 приложений или другим сетевым устройством таким образом, что генерирование множества уведомлений о событиях основывается на принятых и активных подписках на уведомления. Подписки на уведомление агента пользователя могут включать в себя идентификатор для местоположения первой сети, в которой находится первое сетевое устройство 5. В другом предпочтительном варианте осуществления, сервер 3 приложений может быть SIP сервером, или он может включать в себя SIP приложение 7. В другом предпочтительном варианте осуществления, первое сетевое устройство 5 является серверным устройством. Серверное устройство может включать в себя очередь 10 сообщений и извлекающее устройство 12 сообщения. Серверное устройство может быть подстанцией или прокси-сервером, или оно может включать в себя, например, функциональный элемент 11 SIP прокси.
Сервер 3 приложений может генерировать уведомления о событиях, или он может принимать уведомления о событиях от другого сетевого устройства, такого как сервер или шлюз. Агенты 6 пользователя расположены на узле 2, удаленном от сервера 3 приложений, и способны принимать уведомления о событиях через первое сетевое устройство 5, которое способно принимать агрегированные уведомляющие сообщения. Способность первого сетевого устройства может быть определена на основе альтернативных сообщений, отправляемых от первого сетевого устройства 5. Атрибут способности, связанный с первым сетевым устройством, может быть обновлен при приеме альтернативного сообщения, которое включает в себя информацию, указывающую способность агрегированного уведомляющего сообщения.
В предпочтительном варианте осуществления, альтернативные сообщения могут быть отправлены с предварительно определенным интервалом на сервер 3 приложений, центр обработки данных или другое устройство, которое передает эту информацию в центр обработки данных 1. Альтернативное сообщение может быть SIP OPTIONS сообщением, и SIP заголовок сообщения может включать в себя состояние прокси первого сетевого устройства 5 и способность прокси для обработки упакованных уведомлений. Таким образом, сервер приложений может динамически обновлять атрибут способности, который используется для известных прокси при приеме OPTIONS сообщения, которое включает в себя способность агрегирования уведомления. При возникновении события, могут быть созданы уведомления приложения для всех активных диалогов подписки, и сервер приложений или другое устройство может определять, какие агенты пользователя зарегистрированы в сетевом устройстве, которое поддерживает агрегирования уведомлений на основе справочной таблицы, контактной информации, или других форм регистрационной информации агентов пользователя.
Дополнительно, сервер 3 приложений агрегирует множество уведомлений о событиях, направленных ко множеству агентов пользователя для создания агрегированного уведомляющего сообщения, которое направлено к первому сетевому устройству 5. Агрегирование множества уведомлений о событии может происходить с использованием первого уведомления о событии из множества уведомлений о событиях для агрегирования оставшегося множества уведомлений о событиях. Кроме того, агрегирование множества уведомлений о событиях может содержать упаковку всех из множества уведомлений о событиях в тело агрегированного уведомляющего сообщения.
Кроме того, идентификатор местоположения сети или сетевого устройства может быть использован в процессе агрегирования таким образом, что уведомления о событиях, которые должны быть агрегированы, включают в себя идентификатор или наоборот, идентификатор включается в агрегированное уведомляющее сообщение. Этот механизм позволяет уведомлениям о событиях быть агрегированными на основании конкретной сети или сетевого устройства. В ситуации, когда есть несколько удаленных узлов, каждый из которых имеет сетевое устройство, уведомления о событиях могут быть агрегированы в каждом удаленном узле и отправлены к сетевому устройству в этом удаленном узле.
В предпочтительном варианте осуществления агрегированные уведомляющие сообщения включают в себя идентификатор для местоположения или адрес первого сетевого устройства 5, а также информацию, которая указывает количество отдельных уведомлений о событиях в агрегированном уведомляющем сообщении и индекс для каждого уведомления о событиях. Индекс может включать в себя информацию об агенте пользователя, к которому направляется конкретное уведомление о событиях. Индекс может быть использован для облегчения агрегирования уведомлений о событиях, но может или не может быть отослан как часть агрегированного уведомляющего сообщения. Дополнительно, тело агрегированного уведомляющего сообщения может содержать сжатый формат текста, который включает в себя SIP информацию.
Фиг. 2 иллюстрирует предпочтительный вариант осуществления агрегированного уведомляющего сообщения, содержащего n уведомлений и связанные диалоги. Тип содержимого может быть определен для вложенных сжатых SIP сообщений. Данный тип содержимого может быть определен как приложение/сжатый-многосоставной тип. Сжатый многосоставной тип может быть представлен как Gzip сжатый текст. Сжатый текст имеет тип многосоставного/смешанного, для которого каждая часть имеет типовое приложение/SIP. Результат предусматривает, что сжатая копия всех уведомлений может быть отправлена в теле первоначального уведомления от централизованного приложения к удаленному SIP прокси.
В другом предпочтительном варианте осуществления уведомления о событиях могут быть агрегированы для обеспечения оптимизации для обработки диалога. До, во время или после процесса агрегирования шаблон для каждого из множества уведомлений о событиях может быть создан таким образом, что шаблон содержит данные диалога уведомления, содержащиеся в каждом из уведомлений о событии, вместе со списком каждого типа данных диалога уведомления, содержащихся в уведомлениях о событиях.
Примерный код ниже иллюстрирует то, как уведомления о событиях могут быть скомбинированы с помощью оптимизационного подхода. Агрегатор сообщений создает шаблон для данных уведомления (application/dialog-info-template). Шаблон содержит параметры для областей, связанных с диалогом. Агрегатор сообщений также создает список для всех диалогов (application/dialog-list), по которым уведомления должны быть отправлены. Кроме того, дополнительная оптимизация может быть применена с использованием сжатия для того, чтобы уменьшить размер сообщения.
NOTIFY sip:15615551234@10.161.219.26:5060;transport-udp SIP/2.0
To: 28<sip:15615551234@10.192.129.54>;tag-e51e42326b
From: <sip:*70@10.192.129.54:5060;transport-udp>;taq=SECll-683c00a-783c00a-l-2RFA407AbITY
Call-ID: a578e41905e23570
CSeq: 232 NOTIFY
Route:<sip:10.161.219.18;transport-tcp;r2-on;lr;ftag=e51e42326b>
Route: <sip:10.161.219.18;r2-on;lr;ftaq-e51e42326b>
Contact:<sip:*70@10.192.129.54:5060;transport-tcp;maddr=10.192.129.54>
Via: SIP/2.0/UUP 10.192.129.54:5060;branch-z9hG4bKSEC-683cOOa-783c0Oa-l-Q71wu37911
Max-Forwards: 70
Event: dialog
Subscription-State: active
Content-Type: multipart/mixed;boundary-"12345abcde"
Content-Length:xxxx
--12345abcde
Content-Type: application/dialog-info-template+xml
<?xml version="l.0"?>
<dialoq-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version-"231"
state-"full"
entity-"sip:10.192.129.54">
<dialog id-" From Tag " call-id-"%%Call-Id%%"
direction-"initiator">
<state>early</state>
<local>
<identity display="John Smith">sip:30@10.192.129.54</identity>
</local>
<remote>
<identity>sip:814085554680@10.192.129.54</identity>
</remote>
</dialog>
</dialog-info>
--1234babcde
Content-Type: application/dialog-list
sip:15615551235@10.161.219.25:5060;transport-udp
To: 26 <sip:15615551235@10.192.129.54>;tag-e4f6478938
From-Tag:SECll-683c00a-783c00a-l-s4Wf5BOon84D
Call-ID: aa59e6591d5120cO
CSeq: 828
sip:15615551236@10.161.219.128:5060;transport=udp
To: 43<sip:15615551236@10.192.129.54>;tag-5befde7cel
From-Tag:SECll-683c00a-783c00a-l-0J118O5P4SDI
Call-ID: cc3ca556601b5eff
CSeq: 2248
sip:15615551237810.161.219.22:5060;transport-udp
To: 30 <sip:15615551237?10.192.129.54>;tag-b65cbd3d64
From-Tag:SECll-683c00a-783c00a-l-zPUJc2zjNZZh
Call-ID: 012487c843ed6444
CSeq: 842
--12345abcde
В другом предпочтительном варианте осуществления множество уведомлений о событиях может быть агрегировано посредством агрегатора 8 сообщений. Агрегатор 8 сообщений может представлять аппаратным или программным приложением, которое может быть компонентом сервера 3 приложений или отдельного устройства. Каждое из множества уведомлений о событиях, связано с агентом пользователя из множества агентов 6 пользователя. Агрегирование множества уведомлений о событиях может содержать сервер 3 приложений, отправляющий первое множество уведомлений о событиях к агрегатору 8 сообщений так, что каждое из первого множества уведомлений о событиях связано с агентом пользователя из множества агентов 6 пользователя. Агрегатор сообщений принимает первое множество уведомлений о событиях и агрегирует первое множество уведомлений о событиях на основе первого сетевого устройства. Агрегированное первое множество уведомлений о событиях содержит агрегированное уведомляющее сообщение.
Дополнительно, сервер 3 приложений маршрутизирует агрегированное уведомляющее сообщение к первому сетевому устройству 5 через сеть 4 связи. В другом предпочтительном варианте осуществления, агрегатор 8 сообщений маршрутизирует агрегированное уведомляющее сообщение, отправляя агрегированное уведомляющее сообщение к функциональному элементу 9 транспортировки, и функциональный элемент 9 транспортировки передает агрегированное уведомляющее сообщение к первому сетевому устройству 5 через сеть 4 связи.
Агрегированное уведомляющее сообщение может предпочтительно маршрутизироваться через сеть 4 связи в соответствии с протоколом безопасности транспортного уровня ("TLS").
Первое сетевое устройство 5 принимает агрегированное уведомляющее сообщение и обрабатывает агрегированное уведомляющее сообщение в соответствии со множеством уведомлений о событиях. Это может включать в себя первое сетевое устройство 5, проводящее синтаксический анализ агрегированного уведомляющего сообщения во множестве уведомлений о событиях для множества агентов пользователя, и инициировать передачу каждого уведомления о событиях, по меньшей мере, к одному из множества агентов пользователя.
В другом варианте осуществления, функциональный элемент 11 SIP прокси может обрабатывать сообщения из очереди 10 сообщений, считывая уведомление из очереди, которая содержит агрегированные уведомления о событиях в своем теле. Функциональный элемент 11 SIP прокси исключает агрегированные уведомления из тела и передает их в устройство извлечения 12 сообщения. Устройство извлечения 12 сообщения принимает пакетированные уведомления и восстанавливает SIP сообщения либо посредством извлечения их непосредственно из принятого тела сообщения, либо посредством восстановления их на основе списка диалогов, который был создан в процессе агрегирования. После извлечения уведомления помещаются в очередь 10 сообщений для нормальной SIP обработки.
Настоящее изобретение также относится к способу доставки уведомлений в реальном времени. Способ может быть воплощен на энергонезависимом машиночитаемом носителе. Варианты осуществления энергонезависимого машиночитаемого носителя могут представлять собой, например, память компьютерного устройства, такого как устройство связи или терминал связи, флэш-диск, память сервера, флэш-память, компакт-диск, среда хранения на основе оптического диска, или DVD. Носитель может иметь приложение, сохраненное на нем, которое определяет инструкции, которые выполняются процессором сетевого устройства. Инструкции могут определять способ, который включает в себя этапы, на которых обеспечивают уведомления о событиях сервера приложений, направленные ко множеству агентов пользователя, которые находятся на узле, удаленном от сервера приложений, и принимают уведомления о событиях через первое сетевое устройство, которое может принимать агрегированные уведомляющие сообщения.
Способ дополнительно требует агрегирования множества уведомлений о событиях, направленных ко множеству агентов пользователя для создания агрегированного уведомляющего сообщения, направленного к первому сетевому устройству, причем каждое из уведомлений о событиях связано с агентом пользователя из множества агентов пользователя, и способ также требует маршрутизации агрегированного уведомляющего сообщения к первому сетевому устройству через сеть связи.
Настоящее изобретение оптимизирует использование полосы пропускания и задержку для доставки уведомлений от централизованной, базисной или облачной системы связи к получателям в удаленном узле или местоположениях подстанции. Настоящее изобретение минимизирует задержку доставки уведомлений, вызванную задержкой канала передачи данных или ограничениями пропускной способности канала передачи данных. Настоящее изобретение также минимизирует задержку между уведомлениями и гарантирует почти одновременную доставку уведомлений к агентам пользователя в удаленных узлах, даже если каналы связи к удаленным узлам имеют ограниченную пропускную способность или высокую задержку.
Хотя определенные настоящими предпочтительными вариантами осуществления устройства для высокоэффективной доставки уведомлений в реальном времени с малой задержкой и способы изготовления и их использования также были показаны и описаны выше, следует ясно понимать, что изобретение не ограничивается этим и может быть иным различным образом воплощено и реализовано на практике в рамках следующей формулы изобретения требований.
1. Способ доставки уведомлений в реальном времени, содержащий этап, на котором:
предоставляют серверу (3) приложений уведомления о событиях, направленные к множеству агентов (6) пользователя, причем агенты (6) пользователя находятся в узле (2), удаленном от сервера (3) приложений, и принимают уведомления о событиях через первое сетевое устройство (5), выполненное с возможностью приема агрегированных уведомляющих сообщений;
отличающийся тем, что дополнительно содержит этапы, на которых:
агрегируют множество уведомлений о событиях, направленных к множеству агентов (6) пользователя для создания агрегированного уведомляющего сообщения, направленного к первому сетевому устройству (5), причем каждое из множества уведомлений о событиях связано с агентом пользователя из множества агентов (6) пользователя,
маршрутизируют агрегированное уведомляющее сообщение к первому сетевому устройству (5) через сеть (4) связи,
принимают посредством первого сетевого устройства (5) агрегированное уведомляющее сообщение через сеть (4) связи,
проводят посредством первого сетевого устройства (5) синтаксический анализ агрегированного уведомляющего сообщения во множестве уведомлений о событиях для множества агентов (6) пользователя, и
передают посредством первого сетевого устройства (5) каждое уведомление о событиях, по меньшей мере, одному из множества агентов (6) пользователя.
2. Способ по п. 1, дополнительно содержащий этап, на котором передают посредством первого сетевого устройства (5) выборочные сообщения с предварительно установленным интервалом на сервер (3) приложений, причем по меньшей мере одно из выборочных сообщений содержит атрибут способности, связанный с первым сетевым устройством (5).
3. Способ по п. 1, дополнительно содержащий этап, на котором агрегируют множество уведомлений о событиях с помощью первого уведомления о событиях из множества уведомлений о событиях, чтобы агрегировать оставшееся множество уведомлений о событиях.
4. Способ по п. 3, в котором этап агрегирования множества уведомлений о событиях дополнительно содержит этап, на котором используют идентификатор для местоположения первого - сетевого устройства (5) таким образом, что агрегированное уведомляющее сообщение включает в себя идентификатор для первого сетевого устройства (5).
5. Способ по п. 1, дополнительно содержащий этапы, на которых принимают подписки на уведомление агента пользователя, содержащие идентификатор для местоположения первого сетевого устройства (5), и генерируют множество уведомлений о событиях на основании принятых подписок на уведомления.
6. Способ по п. 5, в котором агрегированное уведомляющее сообщение содержит идентификатор для местоположения первого сетевого устройства (5).
7. Способ по п. 6, в котором этап агрегирования множества уведомлений о событиях содержит этап, на котором используют индекс для агрегирования каждого уведомления о событиях, причем индекс содержит информацию об агенте пользователя, к которому направлено каждое уведомление о событиях, при этом агрегированное уведомляющее сообщение не включает в себя индекс.
8. Способ по п. 1, в котором этап агрегирования множества уведомлений о событиях содержит этап, на котором упаковывают каждое из множества уведомлений о событиях в тело агрегированного уведомляющего сообщения, причем тело агрегированного уведомляющего сообщения содержит сжатый формат текста, который включает в себя информацию протокола инициации сессии («SIP»).
9. Способ по п. 1, в котором этап маршрутизации агрегированного уведомляющего сообщения содержит этапы, на которых агрегатор сообщений отправляет агрегированное уведомляющее сообщение к функциональному элементу транспортировки, и этот функциональный элемент транспортировки передает агрегированное уведомляющее сообщение к первому сетевому устройству (5) через сеть (4) связи.
10. Способ по п. 1, в котором этап маршрутизации агрегированного уведомляющего сообщения содержит этап, на котором маршрутизируют агрегированное уведомляющее сообщение в соответствии с транспортным протоколом безопасности транспортного уровня ("TLS").
11. Способ по п. 1, дополнительно содержащий этап, на котором:
создают шаблон для каждого из множества уведомлений о событиях, причем шаблон содержит данные диалога уведомления, содержащиеся в каждом из уведомлений о событиях, и список каждого типа данных диалога уведомления, содержащихся в уведомлениях о событиях, или принимают агрегированное уведомляющее сообщение на первом сетевом устройстве, и первое сетевое устройство обрабатывает агрегированное уведомляющее сообщение в соответствии с множеством уведомлений о событиях, или
первое сетевое устройство (5) отправляет выборочные сообщения с предварительно установленным интервалом на сервер (3) приложений и обновляет атрибут способности, связанный с первым сетевым устройством (5), при приеме выборочного сообщения, содержащего информацию о способности агрегированного уведомляющего сообщения, или определяют, способно ли первое сетевое устройство (5), связанное с агентами (6) пользователя, принимать агрегированные уведомляющие сообщения.
12. Способ по п. 1, в котором этап агрегирования множества уведомлений о событиях содержит этапы, на которых сервер (3) приложений отправляет первое множество уведомлений о событиях к агрегатору сообщений, причем каждое из первого множества уведомлений о событиях связано с агентом пользователя из множества агентов (6) пользователя, и агрегатор сообщений принимает первое множество уведомлений о событиях и агрегирует первое множество уведомлений о событиях на основе первого сетевого устройства (5), причем агрегированное первое множество уведомлений о событиях составляет агрегированное уведомляющее сообщение.
13. Способ по п. 12, в котором этап агрегирования множества уведомлений о событиях дополнительно содержит этап, на котором используют идентификатор для местоположения первого сетевого устройства (5) таким образом, что агрегированное уведомляющее сообщение включает в себя идентификатор для первого сетевого устройства (5).
14. Устройство для доставки уведомлений в реальном времени, содержащее:
сервер (3) приложений, при этом
упомянутый сервер (3) приложений выполнен с возможностью приема уведомлений о событиях, направленных к множеству агентов (6) пользователя, причем упомянутые агенты (6) пользователя находятся в узле (2), удаленном от сервера (3) приложений, и выполнен с возможностью приема уведомлений о событиях через первое сетевое устройство (5), выполненное с возможностью приема агрегированных уведомляющих сообщений;
отличающееся тем, что
сервер (3) приложений выполнен с возможностью агрегирования множества уведомлений о событиях, направленных к множеству агентов (6) пользователя, для создания агрегированного уведомляющего сообщения, направленного к первому сетев