СПОСОБ, УСТРОЙСТВО И СИСТЕМА ДЛЯ РАСПРЕДЕЛЕНИЯ СООБЩЕНИЙ
METHOD, DEVICE AND SYSTEM FOR DISTRIBUTION OF MESSAGES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Раскрытие относится к области техники связи, а более конкретно, к способу, устройству и системе для распределения сообщений.
УРОВЕНЬ ТЕХНИКИ
Протокол (WAP) сетевых приложений является комбинацией последовательностей спецификаций подобных Интернет приложениям в мобильной сети для стандартизации устройств беспроводной связи для доступа к Интернету, включая в себя пересылку и прием электронной почты, просмотр страниц WAP, и т.д. В настоящее время, технология WAP стала всемирным стандартом для мобильных телефонов на основе глобальной системы мобильной связи (GSM), общей службы пакетной передачи (GPRS), широкополосного множественного доступа с кодовым разделением каналов (WCDMA) или подобного, и других терминалов для доступа к беспроводным информационным службам. Протоколы WAP главным образом включают в себя протокол WAP1.X и протокол WAP2.0.
В современной системе WAP применяется кластерный механизм баланса нагрузки, где кластер базы (UIDB) данных пользовательской информации и кластер шлюза (WAP GW) WAP развертываются отдельно. Для сообщения управления сеансом, такого как запросное сообщение (Radius Req сообщение) услуги (Radius) удаленной аутентификации абонента телефонной сети, шлюзовой узел (GGSN) поддержки общей службы пакетной радиопередачи передает сообщение Radius Req к определенному кластерному узлу кластера UIDB через устройство баланса (LB) нагрузки кластера UIDB. Для сообщения трафика сеанса, такого как запрос WAP, GGSN передает запрос WAP к определенному кластерному узлу кластера WAP GW через LB кластера WAP GW. Кластер UIDB является независимым от кластера WAP GW. Два кластера имеют разделенные и независимые политики баланса нагрузки. Когда пользователь телефонной трубки пытается получить доступ к сети, кластерный узел А кластера WAP GW ищет кластерный узел B кластера UIDB для оперативной и автономной информации телефонной трубки на основе адреса Интернет протокола (IP) телефонной трубки. В соответствии с техническим средством, предоставленным в предшествующем уровне техники, кластерный узел А определяет кластерный узел B, на котором хранится оперативная и автономная информация телефонной трубки в соответствии с остатком деления последних 4 бит IP-адреса телефонной трубки на число кластерных узлов в кластере UIDB (это техническое средство также используется, когда оперативная или автономная информация телефонной трубки сохраняется).
Этот механизм в предшествующем уровне техники, где кластер UIDB и кластер WAP GW являются развернутыми раздельно, имеет дефекты, как изложено ниже.
В вышеупомянутом техническом средстве, предоставленном в предшествующем уровне техники, может производиться поиск информации управления сеанса, такой как оперативная или автономная информация телефонной трубки, или может производиться поиск информации трафика сеанса. Однако когда число кластерных узлов в кластере UIDB или кластере WAP GW увеличивается или уменьшается, становится трудным определить, где хранится информация управления сеансом или информация трафика сеанса. Таким образом, плавное и динамическое увеличение емкости является невозможным для каждого кластера, производительность системы является низкой, и поддержка является неудобной.
Документ US 2006233106 A1 раскрывает способ балансирования нагрузки среди множества хостов, каждый пакет сеанса имеет индикатор сеанса и каждый пакет сеанса маршрутизируется в один и тот же хост в соответствии с индикатором сеанса.
Документ US 2005073982 A1 раскрывает систему соединительного шлюза, которая обеспечивает мобильным устройствам доступ к бизнес услугам. Система соединительного шлюза содержит мобильное устройство, которое включает в себя приложение, способное формировать запрос услуги. Запрос услуги может быть сформирован из приложения и может включать в себя имя DNS, которое переводит в адрес сервера соединительного шлюза. Сервер соединительного шлюза выполняет поиск для определения бизнес-сервера, связанного с запросом услуги. Сервер соединительного шлюза создает фильтр данных, который приводит в действие эмуляцию между мобильным устройством и бизнес сервером для перекачивания данных между мобильным устройством и бизнес-сервером.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Изобретение предоставляет способ, устройство и систему распределения сообщений в различных вариантах осуществления. Сообщение управления сеансом и сообщение трафика сеанса могут быть переданы одному и тому же кластерному узлу. Хранение и выборка информации управления сеансом и информации трафика сеанса может быть достигнута на кластерном узле. Плавное и динамическое увеличение емкости может быть достигнуто для кластера, производительность системы может быть улучшена, и поддержка системы может быть облегчена.
Вариант осуществления изобретения предоставляет способ распределения сообщений, включающий в себя:
создание сеанса на основе принятого сообщения сеанса 1 типа и выделение соответствующего кластерного узла для сеанса; и
при приеме сообщения сеанса 2 типа, ассоциативно связанного с сеансом, распределение сообщения сеанса 2 типа к кластерному узлу, соответствующему сеансу.
Соответственно, вариант осуществления изобретения предоставляет устройство баланса нагрузки, включающее в себя:
блок предварительной обработки, выполненный с возможностью создавать сеанс на основе принятого сообщения сеанса 1 типа и выделять соответствующий кластерный узел для сеанса; и
распределяющий блок, выполненный с возможностью: при приеме сообщения сеанса 2 типа, ассоциативного связанного с сеансом, распределять сообщение сеанса 2 типа к кластерному узлу, соответствующему сеансу.
Соответственно, вариант осуществления изобретения предоставляет устройство кластерного узла, включающее в себя шлюз (GW) протокола (WAP) сетевых приложений и соответствующую базу (UIDB) данных пользовательской информации.
UIDB выполнена с возможностью принимать сообщение управления сеансом и сохранять информацию управления сеансом из сообщения управления сеансом.
WAP GW выполнен с возможностью принимать сообщение трафика сеанса, осуществлять поиск информации управления сеансом в UIDB на основе сообщения трафика сеанса и обрабатывать сообщение трафика сеанса на основе информации управления сеансом.
Соответственно, вариант осуществления изобретения предоставляет систему баланса нагрузки, включающую в себя устройство баланса нагрузки и устройство кластерного узла.
Устройство баланса нагрузки выполнено с возможностью создавать сеанс на основе принятого сообщения сеанса 1 типа, выделять соответствующий кластерный узел для сеанса, и при приеме сообщения сеанса 2 типа, ассоциативно связанного с сеансом, распределять сообщение сеанса 2 типа к устройству кластерного узла, соответствующему сеансу.
Устройство кластерного узла выполнено с возможностью принимать сообщение сеанса 1 типа и сообщение сеанса 2 типа, сообщение сеанса 1 типа, являющегося сообщением управления сеансом, и сообщения сеанса 2 типа, являющегося сообщением трафика сеанса, или сообщения сеанса 1 типа, являющегося сообщением трафика сеанса, и сообщение сеанса 2 типа, являющегося сообщением управления сеансом; сохранять информацию управления сеансом из сообщения управления сеансом; и обрабатывать сообщение трафика сеанса на основе информации управления сеансом.
В вариантах осуществления изобретения сеанс создается на основе принятого первого типа сообщения сеанса и соответствующий кластерный узел выделяется для сеанса; когда принимается второй тип сообщения сеанса, ассоциативно связанный с сеансом, второй тип сообщения сеанса распределяется к кластерному узлу, соответствующему сеансу. Поэтому сообщение управления сеансом и сообщение трафика сеанса могут быть переданы к одном и тому же кластерному узлу. Сохранение и выборка информации управления сеансом и информации трафика сеанса могут быть достигнуты на кластерном узле. Плавное и динамическое увеличение емкости может быть достигнуто для кластера, производительность системы может быть улучшена, и поддержка системы может быть облегчена.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блока схема последовательности операций способа, показывающая способ распределения сообщений согласно варианту осуществления изобретения.
Фиг.2 - отдельная блок-схема последовательности операций способа, показывающая этап 102 способа распределения сообщений, показанного на фиг.1 согласно варианту осуществления изобретения.
Фиг.3 - структурная схема, показывающая устройство баланса нагрузки согласно варианту осуществления изобретения.
Фиг.4 - другая структурная схема, показывающая устройство баланса нагрузки согласно варианту осуществления изобретения.
Фиг.5 - структурная схема, показывающая устройство кластерного узла согласно варианту осуществления изобретения.
Фиг.6 - структурная схема, показывающая систему баланса нагрузки согласно варианту осуществления изобретения.
Фиг.7 - структурная схема, показывающая систему баланса нагрузки в режиме посредников согласно варианту осуществления изобретения.
Фиг.8 - структурная схема, показывающая систему баланса нагрузки в режиме сервера согласно варианту осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Раскрытие предоставляет способ распределения сообщений, способ выборки информации и соответствующее устройство и систему. Два различных типа сообщений (такие как сообщение управления сеансом и сообщение трафика сеанса) могут быть переданы к одному и тому же кластерному узлу. Хранение и выборка информации управления сеансом и информации трафика сеанса может быть достигнута на одном и том же кластерном узле. Плавное и динамическое увеличение емкости может быть достигнуто для кластера, производительность системы может быть улучшена, и поддержка системы может быть облегчена.
Ниже будут сделаны детальные описания к вариантам осуществления изобретения со ссылками на прилагаемые чертежи.
Фиг.1 - блока схема последовательности операций способа, показывающая способ распределения сообщений согласно варианту осуществления изобретения; со ссылкой на фиг.1, способ включает в себя этапы, как изложено ниже.
На этапе 1 сеанс создается на основе принятого первого типа сообщения сеанса и соответствующий кластерный узел выделяется для сеанса.
Когда сеанс создают, первый ID может быть извлечен как дескриптор из первого типа сообщения сеанса, сеанс создается, используя дескриптор, и сеанс поддерживается. Дескриптор может быть IP-адресом или номером терминала, передающего или принимающего первый тип сообщения сеанса. Например, когда первый тип сообщения сеанса принимается от GGSN, IP-адрес или номер терминала, передающего первый тип сообщения сеанса, может быть использован как дескриптор. Когда первый тип сообщения сеанса принимается от кластерного узла, IP-адрес или номер терминала, принимающего первый тип сообщения сеанса, может быть использован как дескриптор.
Выделение кластерного узла для сеанса может зависеть от нагрузки, статуса работы или тому подобного у кластерного узла. Если первый тип сообщения сеанса принимается от кластерного узла, кластерный узел может быть выделен для сеанса.
На этапе 102, когда принимается второй тип сообщения сеанса, ассоциативно связанный с сеансом, второй тип сообщения сеанса распределяется к кластерному узлу, соответствующему сеансу.
Когда происходит определение, является ли второй тип сообщения сеанса ассоциативно связанным с сеансом, второй ID может быть извлечен из второго типа сообщения сеанса для определения, является ли второй ID таким же, как дескриптор для создания сеанса. Если второй ID является таким же, как дескриптор, второй тип сообщения сеанса ассоциативно связывается с сеансом. Второй ID может быть IP-адресом или номером терминала, передающего или принимающего второй тип сообщения сеанса. Когда дескриптор для создания сеанса (т.е., первый ID) является номером терминала, а второй ID является IP-адресом терминала, этап 101 может дополнительно повлечь следующие действия. Третий ID извлекается из первого типа сообщения сеанса, и соответственное взаимоотношение устанавливается между третьим ID и первым ID, третьим ID, являющимся IP адресом терминала. Когда определяется, является ли второй тип сообщения сеанса ассоциативно связанным с сеансом, отношение сначала ищется на основе второго ID, чтобы найти номер терминала соответствующего второму ID. Затем сравнение выполняется на основе найденного номера терминала и дескриптора для создания сеанса (т.е. номера терминала). Если они одинаковые, второй тип сообщения сеанса ассоциативно связывается с сеансом.
В вышеприведенном варианте осуществления сообщения сеанса (такие как IP-сообщение) могут быть различными типами, например, могут делиться на сообщение управления сеансом и сообщение трафика сеанса. Первый тип сообщения сеанса является сообщением управления сеансом, а второй тип сообщения сеанса является сообщением трафика сеанса, или первый тип сообщения сеанса является сообщением трафика сеанса, а второй тип сообщений сеанса является сообщением управления сеансом. Например, сообщение управления сеансом может быть сообщением услуги (Radius) удаленной аутентификации абонента телефонной сети среди сообщений протокола (UDP) дейтаграмм пользователя, а сообщение трафика сеанса может быть не сообщением Radius среди сообщений UDP или сообщением протокола (TCP) управления передачей.
В вышеприведенном варианте осуществления сеанс поддерживается, соответствующий кластерный узел выделяется для сеанса, а различные типы сообщений сеанса могут быть распределены к кластерному узлу, соответствующему сеансу, на основе ассоциативной связи между различными типами сообщений сеанса и сеансом. Сохранение и выборка различных типов информации сеанса, таким образом, могут быть достигнуты на одном и том же кластерном узле. Различные типы информации сеансов могут быть получены более легко, и различные типы информации сеансов могут быть распределены сбалансированным способом. Плавное и динамическое увеличение емкости может быть достигнуто для кластера, производительность системы может быть улучшена, и поддержка системы может быть облегчена. Более того, первый тип сообщения сеанса и второй тип сообщения от одного и того же пользователя могут быть распределены к одному и тому же кластерному узлу. Таким образом, баланс нагрузки может быть достигнут на основе пользователя, и, следовательно, может быть достигнуто управление расчетами и управление трафиком на основе пользователя.
В следующем примерном описании для этапа 102 используется сообщение UDP (протокольный номер IP-сообщения, являющийся 17, указывает сообщение UDP), и используется IP-адрес мобильной станции (MS) как дескриптор сеанса. Как проиллюстрировано на фиг.2, она включает в себя следующие этапы.
201: LB принимает сообщение сеанса, сообщение сеанса, являющееся сообщением UDP.
202: LB определяет, существует ли сеанс, ассоциативно связанный с сообщением UDP. Если такого сеанса не существует, выполняется этап 203; если такой сеанс существует, выполняется этап 204.
Сначала, LB анализирует, является ли номер порта сообщения UDP обслуживающим портом (1813 или 1812), другими словами, определяет, является ли принятое сообщение сообщением Radius (разновидностью сообщения управления сеансом, включающей в себя информацию управления сеансом, например оперативную и автономную информацию MS или тому подобное). Два случая могут быть включены в состав.
Случай А: Если это - обслуживающий порт Radius, принятое UDP сообщение является сообщением Radius, т.е. сообщением управления сеанса.
LB извлекает IP-адрес кадра (т.е. IP MS) из сообщения Radius. Поскольку IP-источника сообщения Radius не является IP MS, но является IP аутентификации, авторизации и учета (AAA) или GGSN, следовательно, извлеченный ID является IP-адресом кадра. IP-адрес кадра в сообщении Radius является IP MS (IP-источника сообщения, не являющегося сообщением Radius среди UDP сообщений или являющегося сообщением TCP, упомянутым ниже, является IP MS).
Случай B: Если это не обслуживающий порт Radius, принятое сообщение UDP не является сообщением Radius среди сообщений UDP).
LB извлекает IP-источника из сообщения UDP. UDP сообщение передано MS и, таким образом, IP-источника сообщения UDP является IP MS.
LB определяет, существует ли сеанс, имеющий такой же дескриптор, как извлеченный IP-адрес кадра или IP-источника (т.е. IP MS). Если существует такой сеанс, сообщение UDP ассоциативно связывается с сеансом. Если не существует такого сеанса, не существует сеанса, ассоциативно связанного с сообщением UDP.
203: Извлеченный IP-адрес MS используется как дескриптор для создания сеанса, и соответствующий кластерный узел выделяется для созданного сеанса. Последовательность операций создания сеанса также может включать в себя два случая.
Если номер порта сервера сообщения UDP является обслуживающим портом Radius, LB использует IP-адрес кадра, извлеченный в Случае А, как дескриптор для создания сеанса и поддерживает сеанс. Для сеанса может быть установлен период простоя, кластерный узел выбирается сбалансированным способом, кластерный узел выделяется для созданного сеанса. Сообщение Radius передается к кластерному узлу. Таким образом, последующее IP-сообщение, имеющее IP такой же, как MS, может быть передано к этому кластерному узлу во время сеанса. В зависимости от периода простоя сеанса, когда текущий сеанс заканчивается, новый сеанс может быть воссоздан для последующего IP-сообщения таким способом, и новый кластерный узел может быть переназначен.
Если номер порта сервера сообщения UDP не является обслуживающим портом Radius, LB сразу использует исходный IP, извлеченный в случае B, как дескриптор для создания сеанса и поддерживает сеанс. Кластерный узел выбирается сбалансированным способом, и кластерный узел выделяется для созданного сеанса. Сообщение UDP передается к кластерному узлу. Таким образом, последующее IP-сообщение, имеющее IP, такой же, как MS может быть передано к этому кластерному узлу во время сеанса.
204: UDP сообщение распределяется к кластерному узлу, соответствующему сеансу.
Описание делается к вышеупомянутому варианту осуществления, полагая сообщение UDP как примерное. Когда сообщение сеанса, принятое LB, является сообщением TCP, т.е. сообщением трафика сеанса, последовательность операций является подобной последовательности операций для сообщений, не являющихся сообщениями Radius среди сообщений UDP.
В реализации, когда сообщение сеанса является сообщением Radius, LB может сначала извлечь IP-адрес кадра и абонентский номер международного абонента мобильной станции (MSISDN) (т.е. ID вызывающей станции в нем). После того, как соответственное взаимоотношения установлено между IP-адресом кадра и ID вызывающей станции (например, таблицей хэширования, имеющей IP-адрес кадра как дескриптор, и имеющей ID вызывающей станции как его значение), ID вызывающей станции может быть взят как дескриптор для создания сеанса, соответствующего кластерному узлу, и сеанс поддерживается. Когда LB принимает сообщение сеанса другого типа от MS (например, уровня приложений, не являющихся сообщениями Radius) IP-источника извлекается из сообщения сеанса. На основе соответственного взаимоотношения между IP-адресом кадра и ID вызывающей станции разыскивается ID вызывающей станции, соответствующий IP-источнику, и определяется, является ли найденный ID вызывающей станции таким же, как дескриптор (т.е., ID вызывающей станции) для создания сеанса. Если они являются одинаковыми, сообщение сеанса ассоциативно связывается с сеансом, и сообщение сеанса передается к кластерному узлу соответствующему сеансу. Если они различаются, сообщение сеанса отбрасывается.
В реализации, когда LB определяет, что сообщение сеанса ассоциативно связано с сеансом, LB может дополнительно определить статус работы кластерного узла, соответствующего сеансу. При определении того, что кластерный узел, соответствующий сеансу, имеет неисправности, другой сеанс может быть сделан на основе сообщения сеанса и другого исправного кластерного узла, который может быть выделен для сеанса. Сообщение сеанса передается к исправному кластерному узлу. Детали могут ссылаться к описанию выше и, таким образом, здесь не делается повторений.
В реализации, когда кластерный узел принимает сообщение сеанса, информация сеанса из сообщения сеанса (такая как информация управления сеансом или информация трафика сеанса) записывается локально. Когда LB передает вышеописанное сообщение сеанса к кластерному узлу, оно также передает вышеописанное сообщение сеанса к узлу резервного копирования. Резервное копирование для информации сеанса из сообщения сеанса осуществляется на узле резервного копирования для последующей выборки локальной информации на кластерном узле. Более точно, информация управления сеансом может быть оперативной и автономной информацией терминала.
Фиг.3 - структурная схема, показывающая устройство баланса нагрузки согласно варианту осуществления изобретения. Устройство баланса нагрузки соединено с несколькими устройствами кластерного узла. Устройство баланса нагрузки включает в себя блок 311 предварительной обработки и распределяющий блок 312.
Блок 311 предварительной обработки выполнен с возможностью создавать сеанс на основе принятого первого типа сообщения сеанса и выделяет соответствующее устройство кластерного узла для сеанса. Более точно, когда сеанс создается, первый ID может быть извлечен из первого типа сообщения сеанса как дескриптор, дескриптор используется для создания сеанса, и сеанс поддерживается. Соответственно, блок 311 предварительной обработки может дополнительно включать в себя первый извлекающий модуль, выполненный с возможностью извлекать первый ID как дескриптор из первого типа сообщения сеанса; создающий модуль, выполненный с возможностью создавать сеанс, используя первый ID как дескриптор, и поддерживать сеанс; и выделяющий модуль, выполненный с возможностью выделять соответствующий кластерный узел для сеанса. Дескриптор может быть IP-адресом или номером терминала, передающего или принимающего первый тип сообщения сеанса. Например, когда первый тип сообщения сеанса принимается от GGSN, IP-адрес или номер терминала, передающего первый тип сообщения сеанса, может быть использован как дескриптор. Когда первый тип сообщения сеанса принимается от устройства кластерного узла, IP-адрес или номер терминала, принимающего первый тип сообщения сеанса, может быть использован как дескриптор. Выделение кластерного узла для сеанса выделяющим модулем может зависеть от нагрузки, статуса работы или тому подобного у устройства кластерного узла. Если принятый первый тип сообщения сеанса передается от устройства кластерного узла, устройство кластерного узла может быть выделено для сеанса.
Распределяющий блок 312 выполнен с возможностью: при приеме второго типа сообщения сеанса, ассоциативно связанного с сеансом, распределять второй тип сообщения сеанса к устройству кластерного узла, соответствующему сеансу. Когда происходит определение, является ли второй тип сообщения сеанса ассоциативно связанным с сеансом, второй ID может быть извлечен из второго типа сообщения сеанса для определения, является ли второй ID таким же, как дескриптор для создания сеанса. Если второй ID является таким же, как дескриптор, второй тип сообщения сеанса ассоциативно связывается с сеансом. Соответственно, распределяющий блок 312 может дополнительно включать в себя принимающий модуль, выполненный с возможностью принимать второй тип сообщения сеанса; второй извлекающий модуль, выполненный с возможностью извлекать второй ID из второго типа сообщения сеанса; определяющий модуль, выполненный с возможностью определять, является ли второй ID таким же, как дескриптор для создания сеанса, второй тип сообщения сеанса ассоциативно связывается с сеансом, если второй ID является таким же, как дескриптор; и передающий модуль, выполненный с возможностью распределять второй тип сообщения сеанса, ассоциативно связанный с сеансом к кластерному узлу, соответствующему сеансу, когда определяющий модуль определяет, что второй тип сообщения сеанса ассоциативно связан с сеансом. При этом, второй ID может быть IP-адресом или номером терминала, передающего или принимающего второй тип сообщения сеанса. В вышеописанном варианте осуществления, оба - первый ID и второй ID являются IP-адресом терминала или номером терминала.
Когда дескриптор для создания сеанса (т.е. первый ID) является номером терминала, а второй ID является IP-адресом терминала, блок 311 предварительной обработки должен также извлекать третий ID из первого типа сообщения сеанса и устанавливать соответственное взаимоотношение между третьим ID и первым ID, третьим ID, являющимся IP адресом терминала. Когда определяется, является ли второй тип сообщения сеанса ассоциативно связанным с сеансом, отношение сначала ищется на основе второго ID, чтобы найти номер терминала, соответствующего второму ID. Затем сравнение выполняется на основе найденного номера терминала и дескриптора для создания сеанса (т.е. номера терминала). Если они одинаковые, второй тип сообщения сеанса ассоциативно связывается с сеансом. Поэтому, структурная схема устройства баланса нагрузки в этом варианте осуществления показана на фиг.4. Блок предварительной обработки может также включать в себя третий извлекающий модуль, выполненный с возможностью извлекать третий ID из первого типа сообщения сеанса, третий ID, являющийся IP-адресом терминала, передающего или принимающего первый тип сообщения сеанса; и модуль взаимосвязи, выполненный с возможностью создавать соответственное взаимоотношение между IP-адресом терминала, передающего или принимающего первый тип сообщения сеанса, и номером терминала. Распределяющий блок может дополнительно включать в себя принимающий модуль, выполненный с возможностью принимать второй тип сообщения сеанса; второй извлекающий модуль, выполненный с возможностью извлекать второй ID из второго типа сообщения сеанса; поисковый модуль, выполненный с возможностью: на основе взаимоотношения в соответствующем модуле разыскивать номер терминала, соответствующий второму ID; определяющий модуль, выполненный с возможностью определять, является ли найденный номер терминала таким же, как дескриптор для создания сеанса, второй тип сообщения сеанса является ассоциативно связанным с сеансом, если номер терминала является таким же, как дескриптор; и передающий модуль, выполненный с возможностью распределять второй тип сообщения сеанса, ассоциативно связанный с сеансом, к кластерному узлу, соответствующему сеансу, когда определяющий модуль определяет, что второй тип сообщения сеанса является ассоциативно связанным с сеансом.
В вышеприведенном варианте осуществления, сообщения сеанса (такие как IP-сообщение) могут быть различными типами, например, могут делиться на сообщение управления сеансом и сообщение трафика сеанса. Первый тип сообщения сеанса является сообщением управления сеансом, и второй тип сообщения сеанса является сообщением трафика сеанса, или первый тип сообщения сеанса является сообщением трафика сеанса, и второй тип сообщений сеанса является сообщением управления сеансом.
В вышеприведенном варианте осуществления, блок 311 предварительной обработки поддерживает сеанс и выделяет соответствующее устройство кластерного узла для сеанса. Затем распределяющий блок 312 может распределять различные типы сообщений сеанса к устройству кластерного узла, соответствующему сеансу, на основе ассоциативной связи между различными типами сообщений сеанса и сеансом. Сохранение и выборка различных типов информации сеанса могут быть достигнуты на одном и том же устройстве кластерного узла. Различные типы информации сеанса могут быть получены легче, и различные типы информации сеансов могут быть распределены сбалансированным способом. Плавное и динамическое увеличение емкости может быть достигнуто для кластера, производительность системы может быть улучшена, и поддержка системы может быть облегчена.
Детальное описание блока 311 предварительной обработки и распределяющего блока 312 устройства баланса нагрузки будет дано ниже. В последующем описании, например, сообщение сеанса является сообщением протокола (UDP) дейтаграмм пользователя (номер протокола IP сообщения являющийся 17 указывает сообщение UDP), и IP-адрес MS является дескриптором сеанса.
После того как принимающий модуль принимает сообщение, второй извлекающий модуль извлекает второй ID из сообщения UDP. Когда номер порта сервера сообщения UDP является обслуживающим портом Radius (т.е. сообщение UDP является сообщением Radius), второй извлекающий модуль извлекает IP-адрес кадра (т.е. IP MS) из него. Когда номер порта сервера сообщения UDP не является обслуживающим портом Radius (т.е. сообщение UDP не является сообщением Radius), второй извлекающий модуль извлекает IP-источника (т.е. IP MS) из него. Впоследствии, определяющий модуль определяет, существует ли сеанс, имеющий такой же дескриптор, как извлеченный IP-адрес кадра или IP-источника (т.е. IP MS). Если существует такой сеанс, сообщение UDP ассоциативно связывается с сеансом, и передающий модуль распределяет сообщение UPD к устройству кластерного узла, соответствующему сеансу. Если не существует такого сеанса, тогда не существует сеанса, ассоциативно связанного с сообщением UDP, и первый извлекающий модуль извлекает IP-адрес кадра или IP-источника (т.е. IP MS) из сообщения UDP на основе типа сообщения UDP. Создающий модуль использует извлеченный IP-адрес MS как дескриптор для создания сеанса, и соответствующее устройство кластерного узла выделяется для созданного сеанса. Для сеанса может быть установлен период простоя. Когда текущий сеанс заканчивается, новый сеанс может быть создан для последующего IP-сообщения таким способом, и новое устройство кластерного узла может быть переназначено.
Более того, когда сообщение сеанса, принятое устройством баланса нагрузки, является сообщением TCP (т.е. сообщением трафика сеанса), последовательность операций является подобной для сообщений, не являющихся сообщениями Radius среди сообщений UDP.
В варианте осуществления, когда создающий модуль создает сеанс, используя номер MS как дескриптор, и поддерживает сеанс (т.е. первый ID извлеченный первым извлекающим модулем является ID вызывающей станции в сообщении сеанса), третий извлекающий модуль извлекает IP-адрес кадра из сообщения сеанса. Модуль взаимосвязи устанавливает соответственное взаимоотношение между IP-адресом кадра и IP вызывающей станции (например, таблицей хэширования, имеющей IP-адрес кадра как дескриптор и имеющей ID вызывающей станции как его значение). Когда принимающий модуль принимает сообщение сеанса другого типа от MS (например, уровня приложений, не являющегося сообщением Radius), второй извлекающий модуль извлекает IP-источника из сообщения сеанса. На основе соответственного взаимоотношения между IP-адресом кадра и ID вызывающей станции, поисковый модуль разыскивает ID вызывающей станции соответствующий IP-источника, и определяющий модуль определяет, является ли ID вызывающей станции, найденный поисковым модулем, таким же, как дескриптор (т.е., ID вызывающей станции) для создания сеанса. Если они являются одинаковыми, сообщение сеанса ассоциативно связывается с сеансом, и передающий модуль передает сообщение сеанса к устройству кластерного узла, соответствующему сеансу.
В варианте осуществления устройство баланса нагрузки может также включать в себя блок обнаружения неисправности. Когда вышеупомянутый определяющий модуль определяет, что сообщение сеанса ассоциативно связано с сеансом, блок обнаружения неисправности определяет статус работы устройства кластерного узла, соответствующего сеансу. При определении того, что устройство кластерного узла, соответствующие сеансу, имеет неисправности, блок 311 предварительной обработки может быть активирован для создания другого сеанса на основе сообщения сеанса и для выделения другого исправного устройства кластерного узла для сеанса. Детали могут ссылаться к описанию выше и, таким образом, здесь не делается повторений.
В варианте осуществления устройство баланса нагрузки может также включать блок резервного копирования. Вышеописанное сообщение сеанса передается к устройству узла резервного копирования и информация управления сеансом или информация трафика сеанса из сообщения сеанса копируется на устройство узла резервного копирования для последующей выборки информации. Более точно, информация управления сеансом может быть оперативной и автономной информацией терминала.
Фиг.5 - структурная схема, показывающая устройство кластерного узла согласно варианту осуществления изобретения. Со ссылкой на фиг., устройство кластерного узла включает в себя базу 51 (UIDB) данных пользовательской информации и соответствующий WAP GW 52.
UIDB 51 выполняет обработку управления сеансом для сеанса и сохраняет информацию управления сеансом для сеанса, такую как оперативная и автономная информация терминала. WAP GW 52 выполняет обработку трафика сеанса для того же самого сеанса, что обрабатывается UIDB 51. Когда WAP GW 52 разыскивает информацию управления сеансом для сеанса, WAP GW 52 передает запрос поиска для информации управления сеансом к UIDB 51 и принимает информацию управления сеансом в ответ от UIDB 51.
В варианте осуществления WAP GW 52 может включать в себя принимающий блок, выполненный с возможностью принимать сообщение трафика сеанса; локальный поисковый блок, выполненный с возможностью передавать запрос поиска для информации управления сеансом к UIDB 51 и принимать информацию управления сеансом в ответ от UIDB 51; и обрабатывающий блок, выполненный с возможностью обрабатывать сообщение трафика сеанса на основе найденной информации управления сеансом. WAP GW 52 может также включать в себя внешний поисковый блок, выполненный с возможностью: когда локальный поисковый блок передает запрос поиска для информации управления сеансом к UIDB 51 и принимает ответ, указывающий, что информация управления сеансом найдена, разыскивать информацию управления сеансом для сеанса, скопированную на устройство узла резервного копирования вне устройства кластерного узла.
Должно быть замечено, что UIDB 51 и WAP GW 52 могут быть предоставлены на различных физических устройствах или могут быть предоставлены на одном и том же физическом устройстве.
Согласно вышеупомянутым вариантам осуществления выборка различных типов информации сеанса может быть достигнута на одном и том же устройстве кластерного узла с тем, чтобы различные типы информации сеанса могли быть удобно получены.
Фиг.6 - структурная схема, показывающая систему баланса нагрузки согласно варианту осуществления изобретения. Со ссылкой к фиг., система главным образом включает в себя устройство 61 баланса нагрузки и множество устройств 62 кластерного узла. Множество устройств кластерного узла может формировать кластер.
Устройство 61 баланса нагрузки выполнено с возможностью создавать сеанс на основе первого принятого типа сообщения сеанса, выделять соответствующий кластерный узел для сеанса, и при приеме второго типа сообщения сеанса, ассоциативно связанного с сеансом, распределять второй тип сообщения сеанса к устройству кластерного узла, соответствующему сеансу.
Устройство 62 кластерного узла выполнено с возможностью выполнять первый тип обработки сеанса для сеанса на основе принятого первого типа сообщения сеанса и выполнять второй тип обработки сеанса для сеанса на основе принятого второго типа сообщения сеанса. Например, когда первый тип сообщения сеанса является сообщением трафика сеанса, устройство 62 кластерного узла выполняет обработку трафика сеанса на основе принятого сообщения трафика сеанса, и когда второй тип сообщения сеанса является сообщением управления сеансом, устройство 62 кластерного узла выполняет обработку управления сеанса на основе принятого сообщения управления сеансом.
Ниже будут сделаны описания для двух сценариев приложения вышеописанного варианта осуществления изобретения.
Фиг.7 - структурная схема, показывающая устройство баланса нагрузки в режиме посредников согласно варианту осуществления изобретения. Со ссылкой на фиг., система включает в себя Клиент 71, LB 72, кластер 73 шлюзов прозрачных служб-посредников (не ограниченный тем количеством, которое отображено), LB 74 и сервер 75 (APPServer) приложений. LB 72, LB 74 и кластер TPSG 73 являются прозрачными для Клиента 71 и APPServer 75. Клиент 71 соединен с LB 72. LB 72 и LB 74 соединены с одним и тем же кластером 73. LB 74 соединено с APPServer 75. Функция каждого устройства в том, как изложено ниже.
(1) Клиент 71 передает сообщение UDP к APPServer 75.
Более точно, Клиент 71 передает сообщение UDP к LB 72.
При приеме сообщения UPD, переданного от Клиента 71, LB 72 извлекает второй ID из сообщения UDP. Когда номер порта сервера сообщения UDP является обслуживающим портом Radius (т.е. сообщение UDP является сообщением Radius), IP-адрес кадра (т.е. IP MS) извлекается из него. Когда номер порта сервера сообщения UDP не является обслуживающим портом Radius (т.е. сообщение UDP не является сообщением Radius), IP-источника (т.е. IP MS) извлекается из него. Впоследствии, поскольку LB 72 создал сеанс извлечением IP MS в прежде принятом сообщении в качестве дескриптора и поддерживал сеанс, LB 72 определяет, существует ли сеанс, имеющий дескриптор такой же, как извлеченный IP-адрес кадра или IP-источника (т.е. IP MS). Если существует такой сеанс, сообщение UDP ассоциативно связывается с сеансом и LB 72 распределяет сообщение UPD к TPSG, соответствующему сеансу. Если не существует сеанса, ассоциативно связанного с сообщением UDP, LB 72 извлекает IP-адрес кадра или IP-источника (т.е. IP MS) из сообщения UDP на основе типа сообщения UDP. Извлеченный IP-адрес MS используется как дескриптор для создания сеанса и соответствующий TPSG выделяется для созданного сеанса. Для сеанса может быть установлен период простоя. Когда текущий сеанс заканчивается, новый сеанс может быть воссоздан для последующего IP-сообщения таким способом, и новый TPSG может быть переназначен.
После того, как TPSG в кластере 73 TPSG, соответствующий вышеописанному сеансу, принимает сообщение UDP, сообщение UDP передается к LB 74.
При приеме сообщения UDP, переданного от TPSG, когда сообщение UDP является сообщением Radius, LB 74 извлекает IP-адрес кадра из сообщения UDP (т.е. IP Клиента 71), извлекает MAC адрес последнего сетевого сегмента из сообщения UDP (т.е. MAC адрес TPSG, передающего сообщение UDP) и устанавливает соответственное взаимоотношение между IP-адресом кадра и MAC адресом (например, таблицей хэширования, имеющей IP-адрес кадра как дескриптор и имеющей ID-вызывающей станции как его значение). Впоследствии LB передает сообщение UDP к APPServer 75.
APPServer 75 принимает сообщение UDP и выполняет соответствующую обработку.
(2) После того, как APPServer 75 принимает UDP сообщение и выполняет соответствующую обработку, APPServer 75 возвращает сообщение UDP к Клиенту 71.
Более точно, APPServer 75 возвращает сообщение UDP к LB 74.
При приеме сообщении UPD, возвращенного от APPServer 75, LB 74 извлекает второй ID из сообщения UDP и извлекает IP-получателя из него (т.е. IP MS). Впоследствии LB 74 определяет, существует ли сеанс, имеющий такой же дескриптор, как извлеченный IP-получателя. Если существует такой сеанс, сообщение UDP, ассоциативно связывается с сеансом, и затем LB 74 ищет взаимосвязь между IP-адресом кадра и МАС адресом, находит МАС адрес TPSG, соответствующего IP-получателя и распределяет сообщение UDP к TPSG, соответствующему MAC адресу (т.е., TPSG принимающему и передающему сообщение UDP в вышеописанном случае (1)). Если не существует такого сеанса, не существует сеанса, ассоциативно связанного с сообщением UDP, и LB 74 отбрасывает сообщение UDP.
После того, как TPSG в кластере 73 TPSG, соответствующий вышеописанному сеансу, принимает сообщение UDP, сообщение UDP передается к LB 72.
После того, как LB 72 принимает сообщение UDP, переданное от TPSG, сообщение UDP передается Клиенту 71, соответствующему IP-получателя.
В вышеприведенном варианте осуществления сеанс поддерживается в двух направлениях (направление от Клиента 71 к APPServer 75 и направление от APPServer 75 к Клиенту 71) и соответствующее устройство кластерного узла выделяется для сеанса. На основе ассоциации между различными типами сообщений сеанса и сеансом, различные типы сообщений сеанса могут быть распределены к устройству кластерного узла, соответствующему сеансу для передачи. Обработка различных типов информации сеанса может быть достигнута на одном и том же устройстве кластерного узла. Различные типы информации сеанса могут быть распределены сбалансированным способом. Плавное и динамическое увеличение емкости может быть достигнуто для кластера, производительность системы может быть улучшена, и поддержка системы может быть облегчена. Более того, первый тип сообщения сеанса и второй тип сообщения от одного и того же пользователя могут быть распределены к одному и тому же кластерному узлу. Таким образом, баланс нагрузки может быть достигнут на основе пользователя, и, следовательно, может быть достигнуто управление расчетами и управление трафиком на основе пользователя.
Фиг.8 - структурная схема, показывающая устройство баланса нагрузки в режиме сервера согласно варианту осуществления изобретения; Система включает в себя LB 81, устройства 82 узла приложений и устройство 83 узла резервного копирования. LB 81 соединено с несколькими устройствами узла приложений в кластере устройств узла приложений. LB 81 включает в себя блок 811 предварительной обработки, распределяющий блок 812, и блок 813 резервного копирования. Каждое устройство 82 узла приложений имеет UIDB 821 для выполнения обработки управления сеансом для сеанса и WAP GW 822 для выполнения обработки трафика сеанса для того же самого сеанса, обрабатываемого UIDB 821. Количество устройств узла резервного копирования может быть определено согласно практическим потребностям. В этом примере существует одно устройство узла резервного копирования. Со ссылкой на фиг.8, устройства и функциональные блоки системы являются такими, как изложено ниже.
Блок 811 предварительной обработки выполнен с возможностью создавать сеанс на основе принятого сообщения Radius и выделять соответствующее устройство узла приложений для сеанса. Более точно, IP MS в предварительно принятом сообщении Radius может быть использовано как дескриптор для создания сеанса и сеанс может поддерживаться. После того, как распределяющий блок 812 принимает сообщение UDP, направленное от GGSN, второй ID извлекается из сообщения UDP. Когда номер порта сервера сообщения UDP является обслуживающим портом Radius (т.е. сообщение UDP является сообщением Radius), второй ID, извлеченный распределяющим блоком 812, является IP-адресом кадра (т.е. IP MS) в нем. Когда номер порта сервера сообщения UDP не является обслуживающим портом Radius (т.е. сообщение UDP не является сообщением Radius), второй ID, извлеченный распределяющим блоком 812, является IP-источника (т.е. IP MS) в нем. Впоследствии распределяющий блок 812 определяет, существует ли сеанс, имеющий такой же дескриптор, как извлеченный IP-адрес кадра или IP-источника (т.е. IP MS). Если существует такой сеанс, сообщение UDP ассоциативно связывается с сеансом, и распределяющий блок 812 распределяет сообщение UPD к устройству узла приложений, соответствующему сеансу. Между тем, блок 813 резервного копирования передает сообщение UPD к устройству 83 узла резервного копирования. Если не существует такого сеанса, тогда не существует сеанса, ассоциативно связанного с сообщением UDP, и блок 811 предварительной обработки извлекает IP-адрес кадра или IP-источника (т.е. IP MS) из сообщения UDP на основе типа сообщения UDP. Извлеченный IP-адрес MS используется как дескриптор для создания сеанса, и соответствующее устройство узла приложений выделяется для созданного сеанса. Для сеанса может быть установлен период простоя. Когда текущий сеанс заканчивается, новый сеанс может быть создан для последующего IP-сообщения таким способом, и новое устройство узла приложений может быть переназначено.
UIDB 821 принимает сообщение Radius, переданное от LB 81, и сохраняет информацию управления сеансом из него (например, оперативную и автономную информацию MS). WAP GW 822 принимает сообщение, не являющееся сообщением Radius среди сообщений UDP или любое другое сообщение трафика сеанса (такое как сообщение TCP), переданное от LB 81 и сохраняет его информацию трафика сеанса.
Устройство 83 узла резервного копирования может сделать резервную копию информации управления сеансом или информации трафика сеанса из сообщения UDP.
Когда WAP GW 822 разыскивает информацию управления сеансом для сеанса, он передает запрос поиска для информации управления сеансом к UIDB 821. UIDB 821 отвечает на запрос поиска локальной сохраненной информацией управления сеансом для сеанса. Когда WAP GW 822 терпит неудачу при получении информации управления сеансом от UIDB 821, он разыскивает информацию управления сеансом для сеанса, скопированную на устройство 83 узла резервного копирования.
Более того, UIDB 821 может искать WAP GW 822 для информации трафика сеанса в других вариантах осуществления изобретения.
В вышеприведенном варианте осуществления сеанс выполняется, соответствующий узел приложений выделяется для сеанса, а различные типы сообщений сеанса могут быть распределены к узлу приложений, соответствующему сеансу, на основе ассоциативной связи между различными типами сообщений сеанса и сеансом. Сохранение и выборка различных типов информации сеанса может быть достигнута на одном и том же узле приложений. Различные типы информации сеансов могут быть получены более легко, и различные типы информации сеансов могут быть распределены сбалансированным способом. Плавное и динамическое увеличение емкости может быть достигнуто для кластера узлов приложений, производительность системы может быть улучшена, и поддержка системы может быть облегчена.
Отметим, что носитель, относящийся к вышеописанной информации управления сеансом, может быть сообщением Radius или сообщением Diameter. Трафик сеанса, соответствующий информации трафика сеанса, может заключать в себя IP-приложения, такие как приложение WAP, приложение потокового мультимедиа, приложение передачи (VoIP) голоса по протоколу IP или одноранговое (P2P) приложение.
Более того, специалисты в данной области техники могут принять во внимание, что некоторые или все этапы способа согласно вышеописанным вариантам осуществления могут быть реализованы подачей программных команд соответствующим аппаратным средствам. Программа может храниться в машиночитаемом запоминающем носителе. Когда программа исполняется, могут быть вовлечены этапы вышеописанных способов согласно различным вариантам осуществления изобретения. Запоминающий носитель может быть магнитным диском, оптическим диском, постоянным запоминающим устройством (ПЗУ) или оперативным запоминающим устройством (ОЗУ) и т.д.
Детальные описания были сделаны выше к отдельным реализациям изобретения. Для специалистов в области техники, различные изменения и усовершенствования могут быть сделаны, не выходя из принципа изобретения, и эти изменения и усовершенствования предполагаются подпадающими в объем изобретения.