СПОСОБ ДОСТАВКИ СООБЩЕНИЙ В СИСТЕМЕ СВЯЗИ
METHOD OF DELIVERING MESSAGES IN COMMUNICATION SYSTEM

Предпосылки создания изобретения
Область техники, к которой относится изобретение
Изобретение относится к сетям связи. В частности, изобретение касается способа доставки сообщений в системе связи.
Описание области техники, к которой относится изобретение
В последнее время поставщики услуг Интернета представили широкий ассортимент приложений для связи. Приложения для связи связаны с гаммой потребностей связи. Приложения могут предлагать различные возможности обмена сообщениями, отслеживания информации о состоянии пользователей в Интернете, рекламных объявлениях, извещениях и потреблении контента. Существует широкое разнообразие стандартизированных приложений связи, помимо традиционных областей просмотра страниц Интернета и электронной почты. Примеры таких стандартизированных приложений включают мгновенный обмен сообщениями и контроль присутствия. Однако имеются многочисленные различные стандарты. Часто поставщики услуг Интернета предлагают свои собственные специфические варианты этих услуг. Адаптация этих приложений к системе связи с подвижными объектами или к любой другой системе связи, которая поддерживает альтернативные протоколы и механизмы доставки сообщений, приводит к проблемам. Доступность механизма доставки сообщения или протокола может зависеть от состояния пользовательского терминала или сети. Пользователь также может иметь в распоряжении различные оконечные устройства с различными возможностями. Для сервера может быть затруднительным получать информацию об изменяющихся условиях, имеющих отношение к сети и пользовательскому терминалу.
Ранее серверы при связи с терминалами конечных пользователей использовали заданный протокол и его механизм доставки сообщения для определенного приложения. Это создает серьезные препятствия для использования приложения. Приложение может быть доступным спорадически, в зависимости от используемой сети, текущего состояния терминала, имеющего отношение к использованию других услуг, и состояния графика сети. Например, пока соединение с коммутацией каналов активно, подвижная станция без возможности двойного режима передачи (DTM) не поддерживает услуги, основанные на использовании протокола Интернета (IP). Некоторая сеть может не поддерживать одновременное использование услуг с коммутацией пакетов и с коммутацией каналов. Изменяющиеся условия часто не видны для пользователя. Доступность услуги может казаться случайной. Поэтому было бы выгодно иметь механизм, который гарантирует доступность определенной услуги в различных условиях.
Сущность изобретения
Данное изобретение касается способа, согласно которому сообщение к серверу связи принимается от узла. Сервер связи получает в сообщении информацию пользователя с информацией о получателе. Информация пользователя содержит информацию о состоянии объекта пользователя и о протоколе объекта пользователя. На основании информации о протоколе объекта пользователя определяется первый протокол как предпочтительный протокол. Предпринимается попытка доставки упомянутого сообщения механизмом доставки предпочтительного протокола. При неудаче доставить упомянутое сообщение с помощью первого протокола, с помощью информации о протоколе объекта пользователя определяется второй протокол как предпочтительный протокол. Попытка доставки упомянутого сообщения повторяется механизмом доставки предпочтительного протокола.
Изобретение относится также к способу, включающему прием сообщения для сервера связи от узла; получение информации пользователя с информацией о получателе в упомянутом сообщении, причем информация пользователя включает информацию о состоянии объекта пользователя и о протоколе объекта пользователя; определение, на основании информации о протоколе объекта пользователя, первого протокола как предпочтительного протокола; выполнение попытки доставки упомянутого сообщения механизмом доставки предпочтительного протокола; при неудаче доставить упомянутое сообщение с помощью первого протокола - определение с помощью информации о протоколе объекта пользователя второго протокола как предпочтительного протокола; и повторение попытки доставки упомянутого сообщения механизмом доставки предпочтительного протокола.
Изобретение также относится к системе, содержащей сервер связи, сконфигурированный так, чтобы принимать сообщение от узла, получать информацию пользователя с информацией о получателе в упомянутом сообщении, причем информация пользователя включает информацию о состоянии объекта пользователя и о протоколе объекта пользователя, определять на основании упомянутой информации о протоколе объекта пользователя первый протокол как предпочтительный протокол, делать попытку доставки упомянутого сообщения механизмом доставки предпочтительного протокола, а после неудачи доставить упомянутое сообщение с помощью первого протокола - определять с помощью информации о протоколе объекта пользователя второй протокол как предпочтительный протокол, и повторять попытку доставки упомянутого сообщения механизмом доставки предпочтительного протокола.
Изобретение также имеет отношение к узлу сети, содержащему объект коммуникационного ядра, сконфигурированный так, чтобы принимать сообщение от узла, получать информацию пользователя с информацией о получателе в упомянутом сообщении, причем информация пользователя включает информацию о состоянии объекта пользователя и о протоколе объекта пользователя, определять на основании информации о протоколе объекта пользователя первый протокол как предпочтительный протокол, делать попытку доставки упомянутого сообщения механизмом доставки предпочтительного протокола, при неудаче доставить упомянутое сообщение с помощью первого протокола - определять с помощью информации о протоколе объекта пользователя второй протокол как предпочтительный протокол; и объект первого протокола, сконфигурированный так, чтобы повторять попытку доставки упомянутого сообщения механизмом доставки предпочтительного протокола. Вышеупомянутый "объект протокола" может означать стек протоколов, осуществленный в программном обеспечении, или аппаратную реализацию протокола (порт) или некоторую комбинацию их обоих, действующую так, чтобы осуществлять связь согласно определенному протоколу. Так, индикация неудачи от такого объекта может быть, например, индикацией того, что для переданного сообщения не было принято подтверждение приема.
Изобретение также относится к узлу сети, содержащему средства для приема сообщения от узла; средства для получения информации пользователя с информацией о получателе в упомянутом сообщении, причем информация пользователя включает информацию о состоянии объекта пользователя и о протоколе объекта пользователя; средства для определения на основании информации о протоколе объекта пользователя первого протокола как предпочтительного протокола; средства для выполнения попытки доставки упомянутого сообщения механизмом доставки предпочтительного протокола; средства для определения второго протокола как предпочтительного протокола с помощью информации о протоколе объекта пользователя после неудачи доставить упомянутое сообщение с помощью первого протокола; и средства для повторения попытки доставки упомянутого сообщения механизмом доставки предпочтительного протокола.
Изобретение также относится к компьютерной программе, содержащей код для выполнения следующих шагов при его выполнении в системе обработки данных: приема сообщения от узла; получения информации пользователя с информацией о получателе в упомянутом сообщении, причем информация пользователя включает информацию о состоянии объекта пользователя и о протоколе объекта пользователя; определения первого протокола как предпочтительного протокола на основании информации о протоколе объекта пользователя; выполнения попытки доставки упомянутого сообщения механизмом доставки предпочтительного протокола; определения с помощью информации о протоколе объекта пользователя второго протокола как предпочтительного протокола после неудачи доставить упомянутое сообщение с помощью первого протокола; и повторения попытки доставки упомянутого сообщения механизмом доставки предпочтительного протокола.
В одной из форм осуществления изобретения узел сети является сервером связи для связи с клиентским узлом, который включает объект пользователя в качестве приложения. Состояние объекта пользователя является состоянием приложения, которое наблюдается посредством сообщений от клиентского узла. Клиентский узел может быть мобильным узлом. В клиентском узле объект пользователя определяется, например, из поля идентификатора приложения, переносимого в сообщении. В клиентском узле также может иметься только один объект пользователя.
В одной из форм осуществления изобретения механизм доставки протокола включает передачу сообщений с использованием типов сообщений и форматов сообщений протокола и способа ретрансляции сообщения адресату. Способ ретрансляции сообщения может включать ряд промежуточных узлов между клиентским узлом и узлом сети. Промежуточные узлы могут обрабатывать сообщение на различных уровнях протоколов.
В одной из форм осуществления изобретения информация о получателе содержит идентификатор пользователя клиентского узла. Информация о получателе может быть, например, протоколом инициирования сеанса связи (SIP), унифицированным идентификатором ресурса (URI), адресом электронной почты или международным номером подвижной станции (MSISDN).
В одной из форм осуществления изобретения объект пользователя, для которого информация пользователя получается в узле сети, идентифицируется по протоколу, используемому узлом для передачи сообщения. Объект пользователя также может явно идентифицироваться в сообщении.
В одной из форм осуществления изобретения объект коммуникационного ядра или объект второго протокола в узле сети сконфигурирован так, чтобы обнаруживать истечение таймера "времени существования". Объект коммуникационного ядра сконфигурирован так, чтобы обнаруживать неудачу доставить упомянутое сообщение упомянутым вторым протоколом посредством упомянутого объекта второго протокола. Неудача может быть обнаружена посредством передачи индикации от объекта второго протокола к объекту коммуникационного ядра в случае, если объект второго протокола контролирует истечение таймера "время существования". Когда объект коммуникационного ядра получает информацию об истечении значения параметра "время существования", он устанавливает упомянутое состояние объекта пользователя на офлайновое (отключен от сети). Другими словами, "время существования" достигает нуля. Параметр "время существования" может быть установлен объектом коммуникационного ядра на любое значение, которое он рассматривает соответствующим при данных обстоятельствах диспетчеризации сообщения к целевому узлу посредством объекта второго протокола.
В одной из форм осуществления изобретения мобильный узел позволяет пользователю активизировать объект пользователя в мобильном узле. Объект пользователя может быть, например, отдельным приложением в мобильном узле. Мобильный узел позволяет пользователю создать сообщение в объекте пользователя, это создание включает по меньшей мере одну из операций составления сообщения и выбора опции интерфейса пользователя, предлагаемой упомянутым объектом пользователя. Принципиальным является то, что объект пользователя не может автоматически после своей активизации посылать сообщение узлу сети. Мобильный узел посылает сообщение на узел сети, который принимает упомянутое сообщение в объекте протокола. После обнаружения того, что сообщение исходит от упомянутого объекта пользователя, объект коммуникационного ядра устанавливает состояние объекта пользователя на онлайновое.
В одной из форм осуществления изобретения объект коммуникационного ядра решает, что упомянутое состояние объекта пользователя офлайновое. Далее объект коммуникационного ядра или объект второго протокола хранит второе сообщение для доставки объекту пользователя. Объект второго протокола выполняет попытку доставки второго сообщения по меньшей мере однократно. После приема отчета об успехе доставки от объекта второго протокола объект коммуникационного ядра устанавливает состояние объекта пользователя на онлайновое.
В одной из форм осуществления изобретения объект коммуникационного ядра запускает таймер ухудшения при информировании посредством объекта первого или второго протокола о неудаче доставить упомянутое сообщение. Объект коммуникационного ядра, объект первого протокола или объект второго протокола проверяет успех доставки упомянутого сообщения. Объект коммуникационного ядра получает информацию от объекта любого из протоколов об успехе доставки упомянутого сообщения. Объект коммуникационного ядра устанавливает состояние объекта пользователя на "ухудшенное" по истечении таймера ухудшения и налагает на объект первого или второго протокола ограничения на попытки доставки сообщений объекту пользователя в ответ на упомянутое ухудшенное состояние объекта пользователя.
В одной из форм осуществления изобретения объекты первого и второго протоколов сконфигурированы так, чтобы осуществлять связь с сетью подвижной связи, и упомянутые механизмы доставки включают доставку упомянутого сообщения по меньшей мере посредством одного объекта сети в сети подвижной связи.
В одной из форм осуществления изобретения первый протокол включает транспортный протокол по протоколу Интернета. Протокол Интернет (IP) может быть протоколом Интернет версии 4 (IPv4) или версии 6 (IPv6). Объект протокола, использующий первый протокол, при этом содержит стек протоколов IP. Транспортный протокол может быть протоколом управления передачей (TCP), протоколом пользовательских дейтаграмм (UDP), протоколом управления потоковой передачей (SCTP) или протоколом управления прохождением дейтаграмм (DCCP).
В одной из форм осуществления изобретения второй протокол включает протоколы службы передачи коротких сообщений или передачи неструктурированных данных для дополнительных услуг (USSD). Служба передачи коротких сообщений является, например, службой передачи коротких сообщений глобальной системы связи с подвижными объектами (GSM) или универсальной системы мобильной связи (UMTS).
В одной из форм осуществления изобретения информация о протоколе объекта пользователя включает список протоколов по меньшей мере из двух протоколов и порядок предпочтительности по меньшей мере двух упомянутых протоколов. Порядок предпочтительности может быть порядком протоколов в списке или отдельной информацией, передаваемой совместно со списком.
В одной из форм осуществления изобретения упомянутый мобильный узел является подвижной станцией, и вторая сеть включает систему связи с подвижными объектами.
В одной из форм осуществления изобретения система дополнительно включает объект протокола в сервере связи, который сконфигурирован для доставки сообщения с использованием второго протокола на мобильный узел. Мобильный узел сконфигурирован так, чтобы обнаруживать условие изменения протокола, обнаруживать, что первый протокол доступен, и посылать ответ на сообщение от мобильного узла с использованием первого протокола. Объект протокола в сервере связи сконфигурирован так, чтобы принимать ответ на сообщение, используя первый протокол. Условие изменения протокола может включать прием сообщения от сервера связи с использованием первого протокола вместо второго протокола. Обнаружение доступности первого протокола может включать также прием сообщения от сервера связи с использованием первого протокола вместо второго протокола.
В одной из форм осуществления изобретения определение протокола как предпочтительного протокола объектом коммуникационного ядра дополнительно зависит от дополнительных факторов. Дополнительные факторы включают по меньшей мере один из следующих факторов: размер упомянутого сообщения, срочность упомянутого сообщения и по меньшей мере одно требование защиты для упомянутого сообщения. Например, вход в систему с идентификационными реквизитами может требовать защищенного протокола, другими словами, защищенного канала, такого как SMS, протокол защищенной передачи гипертекста (HTTPS) или протокол UDP поверх защищенного протокола IPsec, в то время как передача файла требует обычного протокола передачи гипертекста (НТРР) и не допускается по протоколу SMS. Поточная передача речи требует протокола UDP и не допускается по протоколу службы коротких сообщений (SMS) и другим протоколам с малой шириной полосы или по каким-либо надежным транспортным протоколам. В одной из форм осуществления изобретения сообщение, требующее чрезвычайную надежность, может специально одновременно передаваться по нескольким параллельным каналам.
В одной из форм осуществления изобретения упомянутая система включает сеть подвижной связи. В одной из форм осуществления изобретения мобильный узел выполнен в виде подвижной станции или, в общем, подвижного терминала. В одной из форм осуществления изобретения система содержит по меньшей мере одну из сетей глобальной системы связи с подвижными объектами (GSM) и универсальной системы мобильной связи (UMTS). В одной из форм осуществления изобретения система включает беспроводную локальную сеть (WLAN). В одной из форм осуществления изобретения система включает также сеть стандарта WiMAX ("Всемирная совместимость СВЧ доступа"). В одной из форм осуществления изобретения мобильный узел может быть, например, подвижной станцией системы GSM или подвижной станцией системы UMTS с функциональными возможностями двойного режима или многих режимов для поддержания различных видов доступа.
В одной из форм осуществления изобретения компьютерная программа хранится на машиночитаемом носителе. Машиночитаемый носитель может быть съемной картой памяти, магнитным диском, голографической памятью, оптическим диском или магнитной лентой.
Формы осуществления изобретения, описанные выше, могут использоваться в любой комбинации друг с другом. Некоторые из форм осуществления могут быть объединены вместе, чтобы создать дополнительную форму осуществления изобретения. Способ, система, узел сети или компьютерная программа, с которыми связано изобретение, могут включать по меньшей мере одну из вышеописанных форм осуществления изобретения.
Эффект от изобретения связан с улучшенной доступностью услуг, улучшенной возможностью посылать сообщения, касающиеся услуг, и лучшими возможностями для конечного пользователя.
Краткое описание чертежей
Сопроводительные чертежи, которые включены, чтобы обеспечить дальнейшее понимание изобретения, и составляют часть этого описания, иллюстрируют формы осуществления изобретения и вместе с описанием помогают объяснить принципы изобретения. На чертежах:
Фиг.1 - блок-схема, иллюстрирующая сервер связи в одной из форм осуществления изобретения.
Фиг.2А - диаграмма последовательности сообщений, иллюстрирующая способ отображения состояния объекта пользователя в одной из форм осуществления изобретения.
Фиг.2В - диаграмма последовательности сообщений, иллюстрирующая способ понижения категории предпочтительного протокола и возможной доставки сообщения в одной из форм осуществления изобретения.
Фиг.2С - диаграмма последовательности сообщений, иллюстрирующая способ обнаружения активизации агента пользователя в одной из форм осуществления изобретения.
Фиг.3А - блок-схема, иллюстрирующая первую часть способа адаптивной доставки сообщения в одной из форм осуществления изобретения.
Фиг.3В - блок-схема, иллюстрирующая вторую часть способа адаптивной доставки сообщения в одной из форм осуществления изобретения.
Фиг.3С - блок-схема, иллюстрирующая третью часть способа адаптивной доставки сообщения в одной из форм осуществления изобретения.
Фиг.4 - блок-схема, иллюстрирующая узел сети в одной из форм осуществления изобретения.
Подробное описание форм осуществления изобретения
Ниже подробное описание приводится со ссылками на формы осуществления настоящего изобретения, примеры которых показаны на сопроводительных чертежах.
Фиг.1 - блок-схема, иллюстрирующая сервер связи в одной из форм осуществления изобретения. На фиг.1 показаны две сети, а именно сеть 140 и сеть 150. Сеть 150 представляет собой удаленную сеть. Сеть 150 содержит удаленный узел 152. В сети 140 имеются сервер связи 100 и клиентский узел 120. На фиг.1 сервер связи 100 включает объект 110 коммуникационного ядра, объект 102 протокола, объект 104 протокола и объект 106 протокола. В сервере связи 100 может иметься по меньшей мере один объект протокола, обозначенный буквой N, которая представляет собой любое натуральное число. Объекты 102, 104 и 106 протокола показаны на фиг.1 только с целью иллюстрации, и их число не должно пониматься как численная характеристика для этого изобретения. Объект 102 протокола осуществляет связь с клиентским узлом 120, используя протокол 132. Объект 104 протокола осуществляет связь с клиентским узлом 120, используя протокол 134, а объект 106 протокола осуществляет связь с клиентским узлом 120, используя протокол 136. На фиг.1 клиентский узел 120 содержит объект 122 приложения, объект 124 приложения и объект 126 приложения. Объекты 122, 124 и 126 приложений могут называться объектами пользователя. Однако объект приложения может реализовывать более одного объекта пользователя. В клиентском узле может иметься по меньшей мере один объект приложения, который обозначен буквой М (произвольное натуральное число). Объекты 122, 124 и 126 приложений показаны на фиг.1 только для иллюстрации, и их число не должно пониматься как численная характеристика для этого изобретения. В одной из форм осуществления изобретения объект приложения, включающий по меньшей мере один объект пользователя, является частью программного обеспечения в клиентском узле 120.
Объект 110 коммуникационного ядра осуществляет связь с объектами 102, 104 и 106 протоколов. Когда протокол используется для связи между данным объектом протокола в сервере связи 100 и клиентским узлом 120, может иметься по меньшей мере один промежуточный узел, который участвует в передаче данных между сервером связи 100 и клиентским узлом 120. Данный объект протокола применяет характеристику механизма доставки данных к протоколу. Примеры механизмов доставки данных с целью передачи сообщения от объекта протокола к клиентскому узлу 120 включают механизм прямой передачи, в котором сообщение не хранится, когда клиентский узел 120 недоступен согласно условиям протокола, и механизм передачи с промежуточным хранением информации, в котором сообщение может храниться в объекте протокола или в промежуточном узле между сервером связи 100 и клиентским узлом 120 в то время, когда доставка невозможна из-за состояния клиентского узла 120. В обоих механизмах попытка доставки может предприниматься неоднократно.
Объект 110 коммуникационного ядра включает данные 112 состояния и данные 114 протоколов. Данные 112 состояния и данные 114 протоколов являются структурами данных. Они представляют собой, например, таблицы, индексированные идентификатором или типом объекта пользователя, с которым связано обрабатываемое сообщение. Данные 112 состояния и данные 114 протоколов могут быть специфическими для данного узла пользователя, такого как клиентский узел 120. Клиентский узел может быть идентифицирован идентификатором пользователя, которым может быть, например, международный номер подвижной станции цифровой сети с интеграцией служб (MSISDN) или унифицированный индикатор ресурса для протокола инициирования сеанса связи (SIP-URI). Данные 112 состояния содержат состояние объекта пользователя для каждого объекта пользователя. На фиг.1 данные 112 состояния включают по меньшей мере состояние 112А объекта пользователя для данного объекта пользователя, например объекта 122 приложения. Объекты пользователя являются, например, объектами приложения в клиентском узле 120. Точно так же данные 114 протоколов хранят данные протокола объекта пользователя для каждого объекта пользователя. На фиг.1 данные 114 протоколов содержат по меньшей мере данные 114А протокола объекта пользователя для данного объекта пользователя, например объекта 124 приложения. Состояние объекта пользователя связано с состоянием объекта пользователя в клиентском узле 120. Состояние объекта пользователя выводится на основании индикаторов, принимаемых от клиентского узла 120 или от объекта протокола, который поддерживает связь с клиентским узлом 120, имеющим отношение к рассматриваемому объекту пользователя. Данные 114А протокола объекта пользователя содержат информацию о протоколе, который в настоящее время используется для связи с рассматриваемым объектом пользователя, и информацию о протоколах, которые имеются для контакта с объектом пользователя в клиентском узле 120. Данный объект пользователя может осуществлять связь с сервером 100, используя ряд различных протоколов. Объект приложения в клиентском узле 120 может осуществлять связь с сервером связи 100 и любым числом удаленных узлов, таких как удаленный узел 152.
Объект протокола может связывать с сообщением параметр "время существования". Время существования может выражаться в единицах времени, попытках доставки или числе пройденных интервалов ретрансляции. Объект протокола может неоднократно пытаться доставить данное сообщение.
В одной из форм осуществления изобретения данные 114 протоколов объекта пользователя содержат статический список протоколов, который используется при определении предпочтительного протокола.
В одной из форм осуществления изобретения данные 114 протоколов объекта пользователя содержат динамический список протоколов, используемый при определении предпочтительного протокола. Динамический список изменяется объектом 110 коммуникационного ядра во время работы объекта 110 коммуникационного ядра на основании информации об успешно используемых протоколах для доставляемых сообщений и протоколах, которые потерпели неудачу. Информация об успехе или неудаче получается, например, от одного из объектов 102, 104 и 106 протоколов. Эти означает, что порядок протоколов в списке может быть изменен, во всяком случае из-за успехов или неудач протокола. В одной из форм осуществления изобретения некоторые протоколы могут пропускаться в списке или удаляться из списка из-за постоянных неудач.
Фиг.2А - диаграмма последовательности сообщений, иллюстрирующая способ отображения состояния объекта пользователя в одной из форм осуществления изобретения.
0
1
2
3
4
5
6
7
8
На фиг.2А имеется объект 250 пользователя, объект 252 доставки и сервер 254 мобильности. Объект 252 доставки может быть объектом протокола в сервере 254 мобильности или он может быть отдельным сервером между объектом 250 пользователя и сервером 254 мобильности, или комбинацией объекта протокола и отдельного сервера. Линии 251А и 251В указывают время, когда объект пользователя находится в онлайновом состоянии. Линии 255А и 255В указывают зависимое онлайновое состояние объекта пользователя, которое поддерживается в сервере 254 мобильности. Тот факт, что состояние зависит от первоначального состояния объекта 250 пользователя, показан пунктирной линией. Пунктирная линия с более широкими промежутками указывает ухудшенное состояние. Объект 250 пользователя входит в состав мобильного узла, например клиентского узла 120 на фиг.2. На фиг.2А отправной точкой является то, что мобильный узел был зарегистрирован в сети подвижной связи, которая обеспечивает доставку сообщений между объектом 250 пользователя и сервером 254 мобильности. В момент t объект 250 пользователя активизируется, и состояние изменяется на онлайновое (online). При активизации предполагается, например, что объект 250 пользователя фактически запускается или что в ином случае он отмечается как активный в мобильном узле. Первоначально связанное состояние объекта 250 пользователя в сервере 254 мобильности отмечается как офлайновое (offline). Текущий канал передачи, записанный в данных протоколов объекта пользователя, в этом не ограничивающем изобретение примере представляет собой SMS из-за временной недоступности IP. В момент t конечный пользователь выдает запрос на обслуживание. Запрос на обслуживание может быть, например, представлением мгновенного сообщения или подпиской на данные контроля присутствия удаленного пользователя, или списком партнеров. Объект 250 пользователя выдает сообщение SMS, содержащее первый запрос к серверу 254 мобильности, как показано стрелкой 201. После приема сообщения SMS состояние объекта пользователя для объекта 250 пользователя изменяется на онлайновое. Текущий протокол, другими словами текущий канал передачи, остается каналом передачи SMS. Сервер 254 мобильности посылает запрос удаленному узлу, как показано стрелкой 202. В момент t состояние объекта пользователя для объекта 250 пользователя изменяется в мобильном узле на офлайновое. В момент t удаленный узел посылает второй запрос серверу 254 мобильности, как показано стрелкой 203. Второй запрос посылается от сервера 254 мобильности к объекту 252 доставки по протоколу SMS, как показано стрелкой 204. Параметр "время существования" устанавливается сервером 254 мобильности. Объект 252 доставки пытается доставить сообщение SMS в направлении объекта 250 пользователя, как показано стрелкой 205. Доставка в этом примере не является успешной, и сообщение SMS не достигает объекта 250 пользователя. В момент t истекает таймер в сервере 254 мобильности, который указывает переход в ухудшенное состояние для объекта 250 пользователя. Таким образом, объект 250 пользователя устанавливается на ухудшенное состояние в данных состояния, поддерживаемых в сервере 254 мобильности для подвижного абонента мобильного узла. В момент t таймер "время существования" истекает в объекте 252 доставки. Объект 252 доставки посылает отчет о доставке, указывающий состояние NOT-OK (NOK), на сервер 254 мобильности, как показано стрелкой 206. В результате сервер 254 мобильности устанавливает связанное состояние для объекта 250 пользователя на офлайновое. В момент t третий запрос принимается от удаленного узла, как показано стрелкой 207. Вследствие того факта, что объект 250 пользователя отмечен как офлайновый в отображаемом состоянии, отчет об ошибке посылается обратно удаленному узлу, как показано стрелкой 208. В момент t объект 250 пользователя активизируется, и его состояние изменяется на онлайновое. Однако следует отметить, что в этом состоянии состояние объекта пользователя не сообщается явно серверу 254 мобильности. Вместо этого, объект 250 пользователя ожидает первое исходящее сообщение. В момент t пользователь выдает запрос на обслуживание и таким образом сообщение SMS, содержащее четвертый запрос, посылается на сервер 254 мобильности, как показано стрелкой 209. В этом примере после приема сообщения SMS сервер 254 мобильности устанавливает связанное состояние для объекта 250 пользователя на онлайновое, а текущий канал передачи в данных протоколов объекта пользователя - на SMS. Четвертый запрос посылается в направлении удаленного узла, как показано стрелкой 210.
Следует отметить, что в одной из форм осуществления изобретения ответ на связанный запрос может использовать другой протокол, который отличается от протокола запроса, если произошло изменение протокола между приемом запроса к узлу пользователя и передачей ответа на запрос от клиентского узла.
В одной из форм осуществления изобретения данный запрос на обслуживание может транспортироваться клиенту посредством нескольких транспортных протоколов в произвольном порядке. Связанный протокол приложения поверх транспортного протокола может нести идентификатор сообщения, который используется, чтобы фильтровать многочисленные копии данного запроса на обслуживание так, чтобы обслуживалась только первая копия, а другие просто отбрасывались протоколом приложения в объекте приложения или в объекте протокола приложения, входящего в состав объекта протокола.
Фиг.2В - диаграмма последовательности сообщений, иллюстрирующая способ понижения категории предпочтительного протокола и возможной доставки сообщения в одной из форм осуществления изобретения.
1
2
2
3
4
На фиг.2В имеются объект 250 пользователя, объект 252 доставки и сервер 254 мобильности. Онлайновое состояние объекта 250 пользователя показано линиями 251А и 251В. Связанное состояние объекта 250 пользователя, которое поддерживается сервером 254 мобильности, показано линией 255. Онлайновое состояние 255 показано более плотной пунктирной линией, в то время как онлайновое состояние 255 с ухудшенным состоянием показано более редкой пунктирной линией. На фиг.2В отправной точкой является то, что мобильный узел, включающий объект 250 пользователя, регистрируется в сети подвижной связи и способен осуществлять связь посредством протокола IP с сервером 254 мобильности. Состояние объекта пользователя объекта 250 пользователя в данных состояния в сервере 254 мобильности отмечается как онлайновое, и текущим каналом передачи в данных протоколов объекта пользователя является TCP. Удаленный узел посылает первый запрос к серверу 254 мобильности, как показано стрелкой 221. Так как текущим однонаправленным каналом, другими словами текущим протоколом, является TCP, первый запрос посылается объекту доставки TCP, представленному объектом 252 доставки на фиг.2В. Вместо этого объектом 252 доставки может использоваться какой-либо другой транспортный протокол поверх протокола IP. Например, объект 252 доставки мог бы использовать также протокол UDP. Сервер 254 мобильности посылает первый запрос объекту 252 доставки, как показано стрелкой 222. Объект 252 доставки посылает первый запрос по протоколу TCP объекту 250 пользователя, как показано стрелкой 223. Следует отметить, что кроме протокола TCP мог бы использоваться какой-либо другой протокол транспортного уровня, TCP является только иллюстративным примером. Второй запрос посылается серверу 254 мобильности, как показано стрелкой 224. Второй запрос посылается объекту 252 доставки от сервера 254 мобильности, как показано стрелкой 225. Второй запрос посылается по протоколу TCP объекту 250 пользователя, как показано стрелкой 226. В момент t состояние объекта 250 пользователя устанавливается на офлайновое. Вслед за этим удаленный узел посылает третий запрос серверу 254 мобильности, как показано стрелкой 227. На этой стадии сервер 254 мобильности не знает правильное состояние объекта 250 пользователя. Поэтому третий запрос посылается объекту 252 доставки для доставки, как показано стрелкой 228. Доставка третьего запроса объекту 250 пользователя является неудачной, как показано стрелкой 229. Пакет IP может быть потерян во время передачи к мобильному узлу, канал передачи может быть недоступен в сети для передачи пакета IP, или он может быть отклонен операционной системой мобильного узла вследствие того, что объект приложения, представляющий объект 250 пользователя, не активен. Доставка третьего запроса может предприниматься неоднократно. Предпринятые попытки доставки показаны стрелками 230 и 230N. Вследствие того факта, что отчет об успехе от объекта 252 доставки серверу 254 мобильности не принимается, таймер истекает в момент t. В момент t сервер 254 мобильности заменяет текущий протокол на второй протокол, которым в этом случае является протокол SMS. Таким образом, объект 252 доставки на фиг.2В теперь представляется другим объектом протокола от сервера 254 мобильности, а именно объектом протокола, ответственным за SMS. Вслед за этим сервер 254 мобильности снова посылает третий запрос, на этот раз для доставки посредством объекта 252 протокола SMS. Прием третьего запроса к объекту 252 доставки показан стрелкой 231. Третий запрос сохраняется объектом 252 доставки в течение времени, указанного в параметре "время существования". Неудача попытки доставить третий запрос посредством протокола SMS к объекту 250 пользователя показана стрелкой 232. В момент t связанное состояние объекта 250 пользователя устанавливается на онлайновое и ухудшенное в ответ на истечение таймера приема отчета об успехе доставки. В какой-то более поздний момент удаленный узел посылает четвертый запрос к серверу 254 мобильности, как показано стрелкой 234. Четвертый запрос передается от сервера 254 мобильности к объекту 252 доставки, как показано стрелкой 235. Четвертый запрос сохраняется в объекте 252 доставки. В момент t состояние объекта 250 пользователя в мобильном узле изменяется на онлайновое. В какой-то более поздний момент объект 252 доставки еще раз пытается доставить третий запрос к объекту 250 пользователя, как показано стрелкой 236. Доставка оказывается успешной, поэтому отчет об успехе доставки (ОК) посылается от объекта 252 доставки на сервер 254 мобильности, как показано стрелкой 237. В ответ связанное состояние объекта 250 пользователя устанавливается на онлайновое, и текущим каналом передачи в данных протоколов объекта пользователя остается SMS. Вслед за этим объект 252 доставки посылает четвертый запрос посредством сообщения SMS к объекту 250 пользователя, как показано стрелкой 238. Отчет о доставке к серверу 254 мобильности показан стрелкой 239.
Фиг.2С - диаграмма последовательности сообщений, иллюстрирующая способ обнаружения активизации агента пользователя в одной из форм осуществления изобретения.
0
1
2
2
На фиг.2С показаны объект 250 пользователя, объект 252 доставки и сервер 254 мобильности. В момент t состоянию объекта 250 пользователя офлайновое. В этом примере сервер 254 мобильности также имеет в своих данных пользователя установку связанного состояния на офлайновое и текущую установку канала передачи на SMS. На фиг.2С сервер 254 мобильности контролирует состояние объекта 250 пользователя посредством периодического контрольного сообщения "пульс" (heartbeat message). Сообщение "пульс" является сообщением, передаваемым с промежуточным хранением информации, с длительным параметром "время существования". Как показано стрелкой 241, в момент t сервер 254 мобильности посылает сообщение "пульс" для доставки посредством сообщения SMS к объекту 252 доставки, которым в этом случае является объект протокола SMS. Перед моментом t объект 252 доставки может выполнить несколько попыток доставить сообщение "пульс" по протоколу SMS к объекту 250 пользователя. В момент t таймер "время существования" истекает. В ответ от объекта 252 доставки к серверу 254 мобильности посылается отчет о неудаче доставки (NOK), как показано стрелкой 242. В одной из форм осуществления изобретения истечение таймера "время существования" могло бы происходить также в сервере 254 мобильности, особенно если сервер 254 мобильности содержит функциональные возможности центра службы коротких сообщений (SMSC).
3
4
Вслед за этим сервер 254 мобильности подает аналогичное сообщение "пульс" для доставки посредством SMS к объекту 252 доставки, как показано стрелкой 243. В момент t состояние объекта 250 пользователя устанавливается на онлайновое. В момент t объект 252 доставки пытается доставить SMS, включающее сообщение "пульс", к объекту 250 пользователя, как показано стрелкой 244. После этого отчет об успешной доставке сообщается от объекта 252 доставки к серверу 254 мобильности, как показано стрелкой 245. В ответ сервер 254 мобильности устанавливает связанное состояние объекта пользователя для объекта 250 пользователя на онлайновое и текущий канал передачи в данных протокола устанавливается на SMS.
Фиг.3А - блок-схема, иллюстрирующая первую часть способа адаптивной доставки сообщения в одной из форм осуществления изобретения.
На шаге 302 сообщение принимается от удаленного узла на сервере связи, таком как сервер 254 мобильности, как показано на фиг.2А, 2В и 2С. Сервер связи получает из сообщения идентификатор пользователя, которому оно предназначается.
На шаге 304 сервер связи получает состояние объекта пользователя и данные протокола, используя идентификатор пользователя. Если имеются несколько объектов пользователя для идентифицированного пользователя, правильный объект пользователя выбирается из объектов пользователя, сохраненных для пользователя в сервере связи. В структуре данных объекта пользователя состояние объекта пользователя является связанным состоянием объекта пользователя, и данные протокола содержат текущий протокол и назначенные приоритеты протоколов. В данных протокола могут иметься также правила для триггеров.
На шаге 306 сервер связи проверяет, является ли объект пользователя офлайновым. Если объект пользователя находится в состоянии офлайн, способ продолжается на шаге, обозначенном меткой А. Если объект пользователя подключен, способ продолжается на шаге 308.
На шаге 308 проверяется, не является ли состояние объекта пользователя подключенным, но ухудшенным. Если это так, способ продолжается на шаге, отмеченном буквой D. Если это не так, способ продолжается на шаге 310.
На шаге 310 предпочтительный протокол из данных протокола устанавливается в качестве текущего протокола. Предпочтительный протокол может определяться правилами для триггеров.
На шаге 312 предпринимается попытка доставки сообщения с текущим протоколом. Доставка может быть предпринята несколько раз, как показано на фиг.2В.
На шаге 314 определяется, была ли доставка успешной. Если доставка была успешной, способ продолжается на шаге, отмеченном буквой В. Если доставка не была успешной, способ продолжается на шаге 316.
На шаге 316 определяется, имеются ли еще протоколы с прямой доставкой без механизма передачи с промежуточным хранением информации. Если имеются другие протоколы прямой доставки, способ продолжается на шаге 318. Если таких протоколов нет, способ продолжается на шаге 320.
На шаге 318 следующий протокол в порядке приоритета устанавливается в качестве текущего протокола, и после этого способ продолжается на шаге 312.
На шаге 320 определяется, определен ли протокол с промежуточным хранением информации как последний протокол. Если протокол с промежуточным хранением информации разрешен, то есть определен как последний механизм доставки, способ продолжается на шаге, отмеченном буквой С. В ином случае способ продолжается на шаге, отмеченном буквой F.
Фиг.3В - блок-схема, иллюстрирующая вторую часть способа адаптивной доставки сообщения в одной из форм осуществления изобретения.
На шаге 322, который также отмечен буквой С, сообщение сохраняется для доставки.
На шаге 324, который отмечен также буквой Е, предпринимается попытка доставки хранящегося сообщения. Под попыткой доставки в этом случае подразумевается активная попытка передачи сообщения или ожидание индикации, которая указывает, что сообщение теперь может быть успешно доставлено, а также последующая доставка сообщения.
На шаге 326 определяется, была ли доставка сохраненного сообщения успешной. Если доставка была успешной, способ продолжается на шаге, отмеченном буквой В. В ином случае способ продолжается на шаге 328.
На шаге 328 определяется, не истек ли таймер ухудшенного состояния. Если таймер не истек, способ продолжается на шаге 324. Если таймер истек, способ продолжается на шаге 330.
На шаге 330 состояние объекта пользователя в сервере связи устанавливается на онлайновое и ухудшенное. Вслед за этим способ продолжается на шаге 334.
На шаге 332, который также отмечен буквой D, сообщение, ранее полученное от удаленного узла, сохраняется для доставки. Сообщение хранится в буфере доставки, который может содержать также другие более ранние сообщения.
На шаге 334 предпринимается попытка доставки хранящегося сообщения. Сообщение, доставка которого предпринимается, выбирается из буфера сохраненных сообщений, и оно необязательно является самым последним сообщением, принятым от удаленного узла.
На шаге 336 определяется, была ли доставка успешной. Если доставка была успешной, способ продолжается на шаге, отмеченном буквой В. В ином случае способ продолжается на шаге 338.
На шаге 338 определяется, истек ли таймер "время существования" для хранящегося сообщения. Если таймер "время существования" истек, способ продолжается на шаге 340. В ином случае способ продолжается на шаге 334. Обработка истечения таймера для других буферизированных сообщений здесь не показана, так как изменение состояния объекта пользователя на офлайновое уже произошло.
На шаге 339, отмеченном также буквой F, ответ об ошибке посылается тому удаленному узлу, который послал сообщение.
На шаге 340 состояние объекта пользователя устанавливается сервером связи на офлайновое.
В одной из форм осуществления изобретения все объекты пользователя данного пользователя могут быть установлены на офлайновое связанное состояние в сервере связи, когда доставка сообщения с использованием данного протокола терпит неудачу. Точно так же в одной из форм осуществления изобретения все объекты пользователя данного пользователя могут быть установлены на онлайновое связанное состояние в сервере связи, когда доставка сообщения с использованием данного протокола имеет успех, независимо от того, с каким объектом пользователя было связано сообщение.
Фиг.3С - блок-схема, иллюстрирующая третью часть способа адаптивной доставки сообщения в одной из форм осуществления изобретения.
На шаге 342, обозначенном также буквой В, состояние объекта пользователя устанавливается на онлайновое. Текущий протокол может быть установлен согласно правилам для триггеров для объекта пользователя или может оставаться тем, посредством которого доставка была успешной. Прямой протокол доставки может быть выбран в качестве текущего протокола, если так указывает порядок приоритетов. Текущий протокол может быть установлен также на протокол с промежуточным хранением информации. Если доставка была успешной только после первой попытки прямого протокола доставки, и затем произошел переход обратно к протоколу с промежуточным хранением информации, текущий протокол может быть установлен на используемый протокол с промежуточным хранением информации.
На шаге 344 проверяется, имеются ли какие-либо хранящиеся сообщения для доставки. Если хранящиеся сообщения имеются, способ продолжается на шаге, отмеченном буквой Е. Следует отметить, что хранящиеся сообщения могут отсутствовать, если использовался протокол прямой доставки. Если не имеется никаких хранящихся сообщений, которые ожидают доставки, способ завершается.
На шаге 345 определяется, не истек ли таймер "время существования" для хранящегося сообщения. Если таймер "время существования" истек, способ продолжается на шаге 346. В ином случае способ продолжается на шаге, отмеченном буквой Е.
На шаге 346, отмеченном также буквой А, ответ об ошибке посылается тому удаленному узлу, который послал сообщение. Вслед за этим способ завершается.
Фиг.4 - блок-схема, иллюстрирующая узел сети в одной из форм осуществления изобретения.
На фиг.4 показан узел 400 сети. Узел 400 сети содержит процессор 410, вторичную память 420 и первичную память 430. Узел 400 сети может включать также любое число других процессоров и любое число блоков вторичной памяти. Могут иметься также другие блоки первичной памяти с отдельными пространствами адресов. Узел 400 сети содержит также сетевой интерфейс 440. Процессор 410 выполняет ряд программных объектов, хранящихся, по меньшей мере частично, в первичной памяти 430. Первичная память 430 включает объект 431 коммуникационного ядра, объект 432 шлюза, шлюз 433 и объект 434 шлюза. Первичная память 430 включает также объект 435 протокола, объект 436 протокола и объект 437 протокола. Может иметься любое число объектов шлюза, что показано буквой М, которая означает произвольное натуральное число. Может иметься также любое число объектов протокола, что показано буквой N, которая означает произвольное натуральное число, независимое от М. Объект 431 коммуникационного ядра содержит ряд записей пользователя. В записи пользователя имеется ряд записей приложения. Запись приложения в элементе включает информацию о состоянии объекта пользователя и информацию о данных протокола. Узел 400 сети может содержать также дисплей и интерфейс пользователя.
В одной из форм осуществления изобретения часть объектов 435, 436 и 437 протокола входит в состав операционной системы узла 400 сети. Объекты в узле 400 сети на фиг.4 могут быть реализованы различными способами. Они могут быть реализованы как процессы, выполняемые под собственной операционной системой узла сети. Объекты могут быть реализованы как отдельные процессы или потоки или так, чтобы ряд различных объектов был реализован посредством одного процесса или потока. Процесс или поток может быть примером блока программ, включающего ряд программ, то есть, например, процедур и функций. Объекты могут быть реализованы как отдельные компьютерные программы или как единственная компьютерная программа, содержащая несколько подпрограмм или функций, реализующих объекты. Блоки программ хранятся по меньшей мере на одном машиночитаемом носителе, таком как, например, запоминающая схема, карта памяти, голографическое устройство памяти, магнитный или оптический диск. Некоторые объекты могут быть реализованы как программные модули, компонуемые с другим объектом. Объекты на фиг.4 могут также храниться в отдельных блоках памяти и выполняться отдельными процессорами, которые осуществляют связь, например, через шину передачи сообщений или внутреннюю сеть в узле сети. Примером такой шины передачи сообщений является шина взаимосвязи периферийных компонентов (PCI). Внутренняя сеть может быть, например, локальной сетью. Объекты также могут быть частично или полностью реализованы как аппаратные средства, такие как специализированные интегральные схемы (ASIC) или программируемые вентильные матрицы (FPGA).
Специалистам в данной области техники очевидно, что с развитием технологии основная идея изобретения может быть реализована различными способами. Таким образом, изобретение и формы его осуществления не ограничены примерами, описанными выше, а могут изменяться в пределах формулы изобретения.