Способ и устройство для дерева распределенных серверов

Иллюстрации

Показать все

Изобретение относится к созданию древовидной структуры серверов. Его применение позволяет получить технический результат в виде снижения нагрузки на компьютер и обеспечения более эффективного обслуживания множества клиентских устройств. Этот результат достигается благодаря тому, что запросы на услугу получают на первом сервере от множества клиентских устройств. Первый сервер решает идентифицировать один или несколько других серверов для предоставления услуги части из множества клиентских устройств. Адрес одного или нескольких вторых серверов запрашивают из объекта управления адресами серверов. Идентификатор ресурса создают на вторых серверах. Несколько из множества клиентских устройств переадресуют для получения услуги от одного или нескольких вторых серверов. Формируют дерево распределенных серверов. Первый сервер предоставляет обслуживание вторым серверам, которое затем будет предоставлено нескольким из множества клиентских устройств. 4 н. и 34 з.п. ф-лы, 9 ил.

Реферат

Область техники, к которой относится изобретениеИзобретение касается серверов и, более определенно, создания деревьев серверов для лучшей эффективности и распределения нагрузки.

Уровень техники

Существуют многочисленные протоколы, несущие различные формы данных мультимедиа сеансов связи реального времени, например, голосовые, видео и текстовые сообщения. Сеанс связи является продуманным обменом данных между группой участников. Протокол инициализации сеанса (SIP) работает совместно с этими протоколами, позволяя конечным Интернет точкам обнаружить друг друга и согласовать характеристики сеанса, который они хотели бы совместно использовать. SIP использует инфраструктуру сетевых хостов (например, прокси серверы), к которым конечные Интернет точки (вызываемые пользовательскими агентами) могут послать регистрации, приглашения на сеансы связи и другие запросы.

SIP - протокол управления уровня приложений, который может устанавливать, изменять, и завершать мультимедиа сеансы связи (т.е. конференции), например вызовы Интернет телефонии. SIP работает независимо от основных протоколов передачи и без зависимости от типа устанавливаемого сеанса связи. SIP может также приглашать участников к уже существующим сеансам связи. Объект SIP, выдающий приглашения для уже существующих сеансов связи, не обязательно должен быть членом сеанса связи, на который выдается приглашение. Компьютерный носитель может быть добавлен к (и удален из) существующему(его) сеансу(а) связи. SIP явно поддерживает отображение имен и переадресацию услуг, поддерживающих персональную мобильность (т.е. пользователи могут иметь единственный видимый извне идентификатор (т.е унифицированный идентификатор ресурсов (URI) SIP) независимо от их местоположения в сети. Этот URI SIP подобен форме электронного адреса, обычно содержащего пользовательское имя и имя хоста. Имя хоста может быть доменным именем провайдера пользовательских услуг, предприятия, розничного провайдера и т.д.

SIP основан на протоколе передачи гипертекста (HTTP), который подобен модели транзакции запроса/ответа. Каждая транзакция состоит из запроса, который вызывает особый метод или функцию на сервере и по меньшей мере из одного ответа.

SIP становится все более и более популярным. Много из популярных и крупномасштабных услуг будут обеспечиваться SIP, что приведет к большому количеству дополнительной нагрузки на серверы приложений SIP и сети. Существует множество навязанных SIP не запрошенных услуг, которые могут генерировать в большом количестве нагрузку на серверы SIP и в сети SIP. Эти услуги инициализируются сообщениями SIP SUBSCRIBE (ПОДПИСКА) или SIP INVITE (ПРИГЛАШЕНИЕ) от клиента.

Объем трафика SIP становится огромным, если много пользователей (особенно из одного домена или ISP) подписываются или присоединяются к одной и той же услуге SIP. Например, услуга (обслуживание) оповещения о событии в виде живого спортивного комментария, может иметь 10000 пользователей подписанных на нее (на одном и том же сервере). Это означает, что сервер должен посылать 10000 уведомлений о событии SIP (или сообщений) все время, и получать столько же ответов. Кроме этого, возможно, серверу придется передать некоторые сообщения повторно из-за проблем связи. Эти 10000 уведомлений о событии могут, возможно, быть посланы по одним и тем же магистральным линиям связи.

В другом примере, может быть установлена групповая(ое) услуга (обслуживание) SIP (например, группы общения), которая может иметь много пользователей из одних и тех же доменов. Пользователи могут участвовать в том же домене или в различных группах в одном и том же сервере SIP. В обоих этих примерах, в которых много пользователей присоединяются к одной услуге или скорость передачи данных является выше обычного, сервер SIP и его сетевой интерфейс становятся узким местом. Кроме этого, проблема также существует, если есть множество менее популярных услуг, например тысячи менее популярных событий или маленькие группы общения находятся на одном и том же сервере SIP.

Подобная проблема с услугами сети существует и сегодня. Например, может существовать несколько сетевых серверов, предоставляющих текущие спортивные результаты. Однако пользователи должны нажимать кнопку "обновить" в своем сетевом проводнике каждые несколько секунд, если они хотят в живую следить за спортивным событием. Это означает, что эти сетевые страницы должны часто отвечать со внутренней ошибкой сервера, поскольку сетевые связи часто переполняются, вызывая потерю пакета (что делает TCP медленнее для клиента).

Одно из текущих решений этих проблем состоит в том, что один сервер имеет резервные высококачественные серверы поблизости, имеющие доступ к той же самой базе данных. Однако это дорогое решение (т.е. провайдер услуг должен сам иметь эти серверы) и неэффективное, так как это не уменьшает объем сетевого трафика.

Поэтому для одного сервера SIP, обслуживающего много клиентов, существует несколько проблем: создается много дополнительных издержек в сети; большая нагрузка сервера SIP; несправедливость по отношению к каждому клиенту, так как некоторые клиенты получают уведомление раньше, чем другие, потому что один сервер не может посылать уведомления всем клиентам одновременно; процесс занимает много времени, так как сервер SIP должен посылать уведомления/услугу большому числу клиентов. Кроме того, наличие выполнения клиентами ручного или автоматического обновления неэффективно, так как информация может долго не изменяться или сильно измениться за короткий промежуток времени, таким образом, ручное или автоматическое обновление пропустит это.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Настоящее изобретение связано со способом снижения нагрузки на сервер, заключающимся в том, что получают запросы на обслуживание на первом сервере от множества клиентских устройств; определяют идентификацию по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере нескольким из множества клиентских устройств; запрашивают адрес по меньшей мере одного второго сервера из объекта управления адресами серверов; создают идентификатор ресурса на втором сервере; и переадресуют по меньшей мере несколько из множества клиентских устройств для получения обслуживания от второго сервера. Первый сервер предоставляет обслуживание второму серверу, который затем обслуживает упомянутых несколько из множества клиентских устройств, таким образом, снижая нагрузку на первый сервер и обеспечивая большее эффективное обслуживание множества клиентских устройств.

Настоящее изобретение также касается системы снижения нагрузки сервера, которая включает в себя первый сервер и дерево серверов, содержащее по меньшей мере один второй сервер. Дерево серверов предоставляет обслуживание, полученное от первого сервера, множеству клиентских устройств. Нагрузка на первый сервер и на каждый по меньшей мере один второй сервер оптимизирована для предоставления более эффективного обслуживания множеству клиентских устройств.

Кроме этого, настоящее изобретение связано с изделием, содержащим запоминающее устройство с сохраненными на нем командами. Исполнение команд заставляет компьютер выполнить: получение запросов для сервера от множества клиентских устройств; определение индентификации по меньшей мере одного сервера для предоставления обслуживания по меньшей мере нескольким из множества клиентских устройств; запрос адреса по меньшей мере еще одного второго сервера из объекта управления адресами серверов; создание идентификатора ресурса по меньшей мере одного второго сервера; и переадресацию по меньшей мере нескольких из множества клиентских устройств для получения обслуживания по меньшей мере от одного второго сервера. Компьютер предоставляет обслуживание по меньшей мере одному второму серверу, которое будет предоставлено упомянутым нескольким из множества клиентских устройств, таким образом, снижая нагрузку на компьютер и обеспечивая более эффективное обслуживание множества клиентских устройств.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Настоящее изобретение дополнительно описано в подробном описании, которое ссылается на обозначенное множество чертежей посредством неограничивающих примеров реализаций настоящего изобретения, в котором одинаковые цифровые ссылки представляют подобные части на всех чертежах, на которых:

фиг. 1 - блок-схема дерева распределенных серверов (ДРС, DST) согласно примерному варианту настоящего изобретения;

фиг. 2 - диаграмма передачи сигналов для идентификации ветви серверов согласно примерному варианту настоящего изобретения;

фиг. 3 - диаграмма серверов SIP до создания ДРС согласно примерному варианту настоящего изобретения;

фиг. 4 - диаграмма начального создания ДРС согласно примерному варианту настоящего изобретения;

фиг. 5 - диаграмма созданного ДРС согласно примерному варианту настоящего изобретения;

фиг. 6 - диаграмма передачи сигналов событий/уведомлений ДРС согласно примерному варианту настоящего изобретения;

фиг. 7 - диаграмма передачи сигналов групповой связи ДРС согласно примерному варианту настоящего изобретения;

фиг. 8 - диаграмма передачи сигналов для перемещений SIP согласно примерному варианту настоящего изобретения;

Фиг. 9 - диаграмма архитектуры программного обеспечения в сервере SIP согласно примерному варианту настоящего изобретения.

ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

Особенности, показанные здесь, предназначены только для примера и для цели предметного обсуждения вариантов настоящего изобретения. Описание, данное с чертежами, делает очевидным для специалистов в данной области техники, как настоящее изобретение может быть реализовано на практике.

Кроме этого, устройства могут быть показаны в виде блок-схемы, для избежание затенения изобретения, а также в виду факта, что особенности касающиеся реализации таких блок-схем устройств являются сильно зависимы от платформы, в пределах которой настоящее изобретение должно быть реализовано, т. е. особенности должны быть понятны специалисту в данной области техники. Там, где конкретные детали (например, схемы и блок-схемы) сформулированы для описания примерных вариантов изобретения, для специалистов в данной области техники должно быть очевидно, что изобретение может быть использовано без этих конкретных деталей. Наконец, должно быть очевидно, что любая комбинация аппаратно-проводной схемы и программных команд может быть использована для реализации вариантов настоящего изобретения, т.е. настоящее изобретение не ограничено какой-либо конкретной комбинацией аппаратной схемы и программных команд.

Хотя примерные варианты настоящего изобретения могут быть описаны с использованием блок-схемы примерной системы в примере окружения хост устройства, на практике использование изобретения не ограничено этим, т.е. изобретение может быть использовано с другими типами систем и в других типах окружения.

Ссылка в описании на "один вариант" или "вариант" означает, что конкретный признак, структура или характеристика, описанная в связи с вариантом, включена по меньшей мере в один вариант изобретения. Фразы "в одном варианте" в различных местах описания не обязательно ссылаются на один и тот же вариант.

Настоящее изобретение касается способа и устройства для дерева распределенных серверов, причем главный сервер идентифицирует дополнительные серверы в другом месте и создает временные идентификаторы ресурсов, когда главный сервер имеет большую нагрузку, или когда большое число пользователей в определенной области или домене, которым главный сервер предоставляет обслуживание. Главный сервер передает или переадресует несколько пользователей в эти дополнительные серверы. Теперь главный сервер имеет максимально малое число пользователей (большая часть у других серверов). Эти другие серверы (серверы ветви) вместе с главным сервером формируют дерево распределенных серверов (ДРС, DST), которое снижает нагрузку на главный сервер и более эффективно обслуживает клиентов. Более того, каждый сервер ветви или локальный сервер также способен создавать дополнительные серверы (добавляя в ДРС) для снижения нагрузки и/или обеспечения более эффективного обслуживания клиентов.

ДРС может быть оптимизировано во время операции по необходимости (например, сбалансированное дерево) посредством перемещения клиентов с одного сервера на другой или формирования цепочки серверов (например, главный сервер -> сервер компании -> серверы отдела). Клиенты имеют взаимосвязь с этими дополнительными серверами ветви (вместо главного сервера), и все клиенты теперь получают сообщения или обслуживание (услугу) от этих дополнительных серверов ветви. Дополнительные серверы ветви могут быть членами (или подписчиками) большого числа (например, тысяч) клиентов главного сервера. Это снижает сильно переполненный трафик (особенно в сети главного сервера) и нагрузку в серверах приложений ветви.

Чтобы проиллюстрировать настоящее изобретение будут использованы серверы с протоколом инициализации сеанса (SIP), однако настоящее изобретение не ограничивается использованием серверов с SIP, поскольку можно использовать любой тип сервера и оставаться в рамках объема и сущности настоящего изобретения. Настоящее изобретение применяет существующие стандарты SIP и может быть реализовано только на серверах. Согласно настоящему изобретению, клиенты не должны понимать функционирование ДСР, так как клиентов контролируют с использованием стандарта переадресации SIP или механизмов перемещения. Главный сервер делает решение, создавать ли дерево распределенных серверов. Дополнительные серверы могут быть идентифицированы и вручную сконфигурированы на главном сервере или динамически найдены с использованием известной системы доменных имен (DNS) и/или механизмами протокола определения местоположения услуги (SLP).

Любой сервер приложения SIP может стать главным сервером или сервером ветви. Главный сервер может все время иметь знание о некоторых дружественных и предварительно сконфигурированных серверов ветви где-либо (например, у различных провайдеров Интернет услуг (ISP)), соединенных для немедленного использования по необходимости. Если главный сервер хочет оптимизировать дерево распределенных серверов и иметь сервер ветви в определенных доменах (например, потому что много пользователей из того домена), главный сервер может запросить адрес сервера приложений SIP разрешающего ДСР в том домене, используя протокол определения местоположения услуги. Локальный сервер SLP должен иметь информацию о локальном сервере приложений SIP. Если нагрузка главного сервера увеличивается или много пользователей из одного определенного домена, главный сервер создает идентификаторы ресурсов (например, группы, URL (универсальные указатели ресурсов) и т.д.) в серверах ветви, используя адрес SIP INVITE для нового URL SIP. Теперь главный сервер знает, что сервер ветви имеет зарезервированный URL SIP для этого, и главный сервер может послать сообщения или уведомления серверу ветви. Главный сервер может затем перемещать часть существующих клиентов ("REFER" можно также использовать так, чтобы сервер ветви осуществлял "SUBSCIBE" в случае наступления события услуги оповещения) или переадресовать нескольких клиентов серверу ветви, используя стандартные механизмы SIP (например, ответ 30x"MOVED" или управление вызовом третьей стороны). Главный сервер имеет теперь созданное дерево распределенных серверов с одной или несколькими ветвями серверов и много пользователей, имеющих связь SIP с этими серверами ветви. Если происходит событие или послано сообщение группе, главный сервер посылает сообщение его членам (т.е. серверам ветви и возможным прямым клиентам). Это относительно легкая операция для главного сервера с точки зрения сети и процессора. Таким образом, способы и устройство согласно настоящему изобретению имеют огромную способность масштабирования, так как там может быть несколько первых маршрутизаторов серверов ветви, а затем третий, четвертый и т.д маршрутизаторов серверов.

Фиг. 1 показывает блок-схему дерева распределенных серверов согласно примерному варианту настоящего изобретения. В этом примере дерево распределенных серверов состоит из главного сервера 10 приложений SIP, обеспечивающего обслуживание и сообщения одному или нескольким клиентам 12 и серверам 14, 16 и 18 приложений SIP ветви. Каждый сервер ветви может быть расположен в различной области или под различным доменом или провайдером Интернет услуг. Например, сервер 14 приложений SIP может быть размещен в компании (company1), сервер 16 приложений SIP в университете (UniversityY) и сервер 18 приложений SIP у определенного провайдера Интернет услуг (ISP, ISPX). Сервер 14 приложений SIP может обеспечивать обслуживание одного или нескольких клиентов 15, сервер 16 приложений SIP может обеспечивать обслуживание одного или нескольких клиентов 17, и сервер 18 приложения SIP может обеспечивать обслуживание одного или нескольких клиентов 19. Кроме этого, сервер 14 приложений может также обеспечивать обслуживание одного или нескольких других серверов 20 приложений SIP ветви, которые являются частью или расположены в той же самой зоне как company1. Сервер 20 приложений SIP может, например, представлять отдел маркетинга компании 1 и обслуживать собственное множество клиентов 21 (например, маркетинговых представителей).

Поэтому в дереве распределенных серверов согласно настоящему изобретению нагрузка на каждый сервер приложений SIP снижена, снижен трафик на каждом соединении сервера, более быстрое время ответа для клиентов (т.е. они быстрее получают уведомление) и система более справедлива, так как все клиенты могут получать обслуживание (например, уведомления) приблизительно одновременно, потому что не так много пользователей/клиентов непосредственно обслуживаемых главным сервером 10 приложений SIP. Кроме этого, каждый сервер 14, 16, 18, 20 приложений SIP ветви может принять решение на основании нагрузки или местоположения клиентов о создании другой ветви серверов приложений SIP.

Фиг. 2 показывает диаграмму передачи сигналов для идентификации серверов ветви согласно примерному варианту настоящего изобретения. Диаграмма передачи сигналов показывает передачу между главным сервером SIP, сервером DNS, сервером SLP, локальным или сервером SIP ветви и клиентом. Клиент может быть размещен или иметь URL в домене компаний.com. Клиент присоединяется к обслуживанию, предоставленному главным сервером SIP (используя сообщение SIP SUBSCRIBE или INVITE). Главный сервер SIP посылает запрос URL серверу URL на адрес сервер SLP для домена компаний.com. Сервер URL посылает ответ главному серверу SIP, который включает адрес сервера SLP. Затем главный сервер посылает запрос SLP серверу SLP, запрашивая адрес сервера приложений SIP. Сервер SLP отвечает, посылая адрес сервера приложений SIP главному серверу SIP. Затем главный сервер SIP посылает сообщение 302 Moved клиенту, переадресовывая клиента на использование локального сервера SIP. Затем клиент присоединяется к обслуживанию от локального сервера SIP, используя сообщение SIP SUBSCRIBE или INVITE. Хотя в этом варианте главный сервер SIP использует сервер SLP через сервер DNS, главный сервер SIP также может взаимодействовать с сервером SLP напрямую без сервера DNS и это находится в рамках объема и сущности настоящего изобретения. Кроме этого, настоящее изобретение не ограничено использованием DNS и/или SLP. Другие способы, например, групповой поиск или заданные серверы (например, через согласования уровня услуг между ISP) можно использовать и это будет в рамках объема и сущности настоящего изобретения.

Фиг. 3 показывает диаграмму серверов SIP до создания ДРС согласно примерному варианту настоящего изобретения. Главный сервер 40 SIP может предоставлять обслуживание большому числу клиентских устройств в домене orange.com. Другие серверы SIP, сервер 42 SIP в домене ericsson.com, сервер 44 SIP в домене nokia.com, сервер 46 SIP в домене yahoo.com могут обслуживать собственное множество клиентов 43, 45 и 47 соответственно. Обратите внимание, что в этом примерном варианте сервер 40 SIP имеет большое число пользователей, которым он может послать событие услуги SIP, например, обновление спортивного события.

Фиг. 4 показывает диаграммы начального создания ДСР согласно примерному варианту настоящего изобретения. Сервер 40 SIP (в домене orange.com) из-за большой нагрузки от числа клиентов/пользователей или от расположения некоторых клиентов/пользователей, решает создать ветвь серверов, чтобы помочь обработке и обслуживанию части пользователей. Затем сервер 40 SIP может искать другие возможные серверы через DNS или SLP или другим образом. Однажды проидентифицировав и однажды получив адрес группы серверов SIP в определенном домене(ах), сервер 40 SIP создает новый универсальный указатель ресурса (URL) этих серверов в доменах (например, сервер 44 SIP в nokia.com). Затем сервер 40 SIP переадресует одного или нескольких клиентов/пользователей серверу 44 SIP из домена nokia.com.

Фиг. 5 показывает диаграмму созданного ДСР согласно примерному варианту настоящего изобретения. Теперь малое дерево распределенных серверов, включающее сервер 40 SIP в orange.com и сервер 44 SIP в nokia.com, имеет клиентов 45A - 45D, которые переадресованы на сервер 44 SIP. Сервер 40 SIP может также создать дополнительную ветвь серверов, например сервер 42 SIP, и направить клиентов к нему, т. е. клиентов 46A - 46C. Главный сервер 40 SIP контролирует ДРС и посылает уведомления серверам 42 и 44 SIP, которые будут переданы клиентам 45A - 45D и 46A - 46C. Сообщение NOTIFY (УВЕДОМЛЕНИЕ) может быть использовано для этой цели, которое может включать поля "кому", "событие", "тип содержимого" и другую информацию (например, обновляемую информацию).

Как обсуждалось ранее, главный сервер SIP может находить другие серверы динамически, используя DNS и/или SLP. Кроме этого, главный сервер SIP может также иметь доступ к списку известных серверов, которые могут быть использованы по необходимости. Согласно настоящему изобретению, любой сервер приложений SIP может быть главным сервером SIP и инициализировать создание дерева распределенных серверов. Кроме этого, настоящее изобретение может быть применено к событию уведомления (например, оповещение клиентов о последних новостях спортивных событий, текущие обновления новостных статей, обновление финансовой информации, например, курса акций), и применяться к групповым связям (например, комнаты группового обсуждения, вызовы конференций и т.д.). В последнем применении (групповая связь) запросы SIP SUBSCRIBE и NOTIFY не являются необходимыми, только сообщения SIP INVITE.

Фиг. 6 показывает диаграмму передачи сигналов события/уведомления ДСР согласно примерному варианту настоящего изобретения. Клиент 45A подписывается на услугу оповещения или событий у главного сервера 40. Главный сервер 40 решает переадресовать этого клиента и находит дополнительный сервер 44. Главный сервер 40 создает URL дополнительного сервера 44, если он еще не существует. Затем главный сервер 40 посылает сообщение SIP 302 Moved клиенту 45А. Это указывает клиенту 45А связаться с дополнительным сервером 44. Дополнительный сервер 44 отвечает сообщением 200 SIP okay. Если новая информация, связанная с событием, на которое клиент 45A подписался, становится доступной, главный сервер 40 посылает сообщение NOTIFY, содержащее обновленную информацию дополнительному серверу 44, который затем может передать это далее клиенту 45А.

Фиг. 7 показывает диаграмму передачи сигналов групповой связи ДРС согласно примерному варианту настоящего изобретения. Клиент 45А посылает сообщение SIP INVITE главному серверу 40 на участие в групповой связи. Главный сервер 40 решает переместить клиента 45А и посылает сообщение 302 Moved клиенту 45А. Затем клиент 45А посылает сообщение INVITE дополнительному серверу 44. Дополнительный сервер отвечает сообщением 200 SIP ok. Теперь дерево распределенных серверов создано и все дальнейшие сообщения SIP посылаются из главного сервера 40 дополнительному серверу 44, а затем распределяются клиентам. Групповые связи могут состоять из группового обсуждения, посредством которого сообщения SIP могут быть посланы всем клиентам в группе.

Фиг. 8 показывает диаграмму передачи сигналов для перемещений SIP согласно примерному варианту настоящего изобретения. Главный сервер 40 в данный момент обслуживает много пользователей из определенного домена (например, nokia.com) и решает переместить многих из них. Главный сервер 40 может послать сообщение SIP REFER клиенту 45А в домене nokia.com.

Клиент 45А затем может послать сообщение SIP INVITE или SUBSCRIBE дополнительному серверу 44. Главный сервер 40 SIP также может послать сообщение SIP REFER клиенту 45В в домене nokia.com. Затем клиент 45В может послать сообщение INVITE или SUBSCRIBE дополнительному серверу 44. Сообщения SIP REFER предоставляют URL дополнительного сервера 44 клиентам 45А и 45В. В другом примерном варианте главный сервер 40 может послать сообщения SIP REFER дополнительным серверам, которые, в свою очередь, пошлют сообщение INVITE клиентам в домене nokia.com.

Фиг. 9 показывает архитектуру программного обеспечения в сервере SIP согласно примерному варианту настоящего изобретения. Согласно настоящему изобретению, функциональные возможности ДСР находятся в главных серверах SIP и локальных серверах или серверах, принадлежащих ветви. Эти функциональные возможности могут быть в виде программного обеспечения, специального программного обеспечения для сервера приложений SIP, уровня приложений архитектуры программного обеспечения на сервере SIP. Уровень приложений располагается поверх стека SIP, который располагается поверх стека протокола управления передачей (TCP) и стеком протокола дейтаграмм пользователя на сервере SIP. Поэтому, согласно настоящему изобретению, нет необходимости в модификации или изменении стека SIP сервера SIP. Кроме этого, не требуются модификации или изменения для клиентских устройств. Согласно настоящему изобретению программное обеспечение сервера приложений SIP, находящееся на серверах SIP предоставляет функциональные возможности серверу SIP для создания URL на сервере SIP и принятия решения для определения, нуждается ли сервер SIP в установке ДРС (например, на основании нагрузки и/или местоположения клиентов).

Хотя настоящее изобретение было обсуждено и проиллюстрировано с использованием SIP, настоящее изобретение не ограничивается использованием SIP. Любой другой тип серверов и систем может также применяться настоящим изобретением для создания дерева распределенных серверов и снижения нагрузки на сервер. Кроме этого, хотя URL были использованы для иллюстрации настоящего изобретения, настоящее изобретение не ограничивается использованием URL, можно использовать любые другие типы идентификаторов и оставаться в рамках объема и сущности настоящего изобретения (например, идентификаторы групп, указатели ресурсов, адреса и т.д.).

Согласно настоящему изобретению создание дерева может также происходить с использованием non-INVITE (не пригласительных) (или не SIP) механизмов таких как, например, протокол доступа к простым объектам поверх протокола передачи гипертекста (HTTP). Кроме этого, клиенты могут также искать оптимальный (т.е. локальный) сервер ДРС, так как много корпораций и предприятий могут иметь подобный локальный сервер ДРС. В этом случае централизованному корневому серверу не всегда придется решать, какой сервер назначить клиенту. Это выгодно для сокращения нагрузки корневого сервера. Более того, согласно настоящему изобретению, доставка данных может быть не SIP основанной, например, передавать видео по протоколу реального времени/ протоколу дейтаграмм пользователя/Интернет протоколу (RTP/UDP/IP).

Способы и устройство согласно настоящему изобретению полезны для снижения дополнительного трафика в начальной сети, промежуточной магистрали сети и в конечной сети. Более того, нагрузка на главный сервер также снижается. В дополнение, уведомления клиентов происходит намного быстрее из-за снижения узких мест на главном сервере. Кроме этого, уведомления клиентов являются справедливыми, так как каждый клиент получает уведомления приблизительно в одно и то же время. Согласно настоящему изобретению коэффициент использования ширины полосы частот сети снижается и для передачи сигналов и особенно для доставки данных, так как N потоков может быть заменено 1 потоком между серверами ДРС.

Отметим, что вышеупомянутые примеры были предоставлены только с целью объяснения и не должны рассматриваться как ограничения настоящего изобретения. Хотя настоящее изобретение было описано с ссылкой на предпочтительный вариант, следует понимать, что слова, использованные здесь, являются словами для описания и иллюстрации, а не для ограничения. Изменения могут быть сделаны в рамках прилагаемой формулы изобретения, в качестве текущего изложения и поправок, без выхода за рамки объема и сущности настоящего изобретения в его аспектах. Хотя настоящее изобретение было описано здесь с указанием на конкретные способы, материалы и варианты, настоящее изобретение не следует считать ограниченным раскрытыми здесь особенностями, скорее настоящее изобретение расширяется на все функционально эквивалентные структуры, способы и использования в рамках объема прилагаемой формулы изобретения.

1. Способ снижения нагрузки сервера, заключающийся в том, что получают запросы на обслуживание на первом сервере от множества клиентских устройств, определяют идентификацию по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере одному из множества клиентских устройств, определяют, что несколько из множества клиентских устройств удовлетворяют критериям уравновешения нагрузки для более эффективного предоставления обслуживания через по меньшей мере один второй сервер, создают идентификатор ресурса в по меньшей мере одном втором сервере и переадресуют по меньшей мере несколько из множества клиентских устройств для получения обслуживания по меньшей мере от одного второго сервера, причем первый сервер предоставляет обслуживание по меньшей мере одному второму серверу, которое затем будет предоставлено этим нескольким из множества клиентских устройств.

2. Способ по п.1, отличающийся тем, что дополнительно получают запросы на обслуживание на первом сервере от веб-браузеров множества клиентских устройств.

3. Способ по п.1, отличающийся тем, что дополнительно определяют идентификацию по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере нескольким клиентским устройствам на основании текущей нагрузки первого сервера.

4. Способ по п.1, отличающийся тем, что дополнительно определяют идентификацию по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере нескольким клиентским устройствам на основании местоположения этих нескольких из множества клиентских устройств.

5. Способ по п.4, отличающийся тем, что дополнительно определяют идентификацию по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере нескольким клиентским устройствам на основании домена этих нескольких из множества клиентских устройств.

6. Способ по п.1, отличающийся тем, что дополнительно запрашивают адрес по меньшей мере одного второго сервера из сервера системы доменных имен (DNS).

7. Способ по п.1, отличающийся тем, что дополнительно запрашивают адрес по меньшей мере одного второго сервера из сервера протокола определения местоположения услуги (SLP).

8. Способ по п.1, отличающийся тем, что первый сервер и по меньшей мере один второй сервер являются серверами протокола инициализации сеанса (SIP).

9. Способ по п.8, отличающийся тем, что дополнительно получают запросы на обслуживание на первом сервере SIP с помощью получения одного из сообщений: SIP SUBSCRIBE (ПОДПИСКА) или INVITE (ПРИГЛАШЕНИЕ) от множества клиентских устройств.

10. Способ по п.1, отличающийся тем, что дополнительно запрашивают адрес сервера протокола определения местоположения услуги (SLP) от сервера системы доменных имен (DNS) и запрашивают адрес по меньшей мере одного второго сервера из сервера SLP.

11. Способ по п.1, отличающийся тем, что дополнительно получают запросы, содержащие подписки на услугу оповещения на первом сервере от множества клиентских устройств.

12. Способ по п.11, отличающийся тем, что дополнительно получают подписки на услугу оповещения о спортивных, новостных или финансовых событиях на первом сервере от множества клиентских устройств.

13. Способ по п.1, отличающийся тем, что дополнительно получают запросы, содержащие приглашения на групповую связь на первом сервере от множества клиентских устройств.

14. Способ по п.13, отличающийся тем, что дополнительно получают приглашения на групповую конференцию или групповое общение на первом сервере от множества клиентских устройств.

15. Способ по п.1, отличающийся тем, что дополнительно при наличии по меньшей мере одного второго сервера определяют идентификацию по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере нескольким из множества клиентских устройств, запрашивают адрес по меньшей мере одного третьего сервера из объекта управления адресами серверов, создают идентификатор ресурса по меньшей мере одного третьего сервера и переадресуют по меньшей мере несколько из множества клиентских устройств для получения обслуживания по меньшей мере от одного третьего сервера, при этом нагрузку по меньшей мере на один второй сервер снижают.

16. Способ по п.1, отличающийся тем, что дополнительно идентифицируют по меньшей мере один другой сервер для предоставления обслуживания по меньшей мере нескольким из множества клиентских устройств из списка известных серверов.

17. Способ по п.1, отличающийся тем, что дополнительно оптимизируют обслуживание по меньшей мере нескольких из множества клиентских устройств посредством уравновешения нагрузки между по меньшей мере одним вторым сервером.

18. Способ по п.1, отличающийся тем, что дополнительно оптимизируют обслуживание по меньшей мере нескольких из множества клиентских устройств посредством переадресации нескольких из по меньшей мере этих нескольких из множества клиентских устройств по меньшей мере от одного второго сервера для получения обслуживания по меньшей мере от одного третьего сервера.

19. Способ по п.1, отличающийся тем, что идентификатор ресурса содержит один из идентификатор универсального указателя ресурса (URL) или идентификатор группы.

20. Система снижения нагрузки на сервер, содержащая первый сервер, дерево серверов, содержащее по меньшей мере один второй сервер, причем дерево серверов предоставляет обслуживание, полученное от первого сервера, множеству клиентских устройств, сервер системы доменных имен (DNS), причем сервер DNS обеспечивает адресами каждый по меньшей мере один второй сервер для разрешения включения по меньшей мере одного второго сервера в дерево серверов, или сервер протокола определения местоположения услуги (SLP), причем сервер SLP обеспечивает адресами каждый по меньшей мере один второй сервер для разрешения включения по меньшей мере одного второго сервера в дерево серверов, причем первый сервер предоставляет обслуживание по меньшей мере одному второму серверу, которое затем будет предоставлено по меньшей мере одному из множества клиентских устройств, при этом нагрузка на первый сервер и на каждый по меньшей мере один второй сервер оптимизирована.

21. Система по п.20, отличающаяся тем, что первый сервер и дерево серверов содержат серверы протокола инициализации сеанса (SIP).

22. Изделие для снижения нагрузки на компьютер и обеспечения эффективного обслуживания множества клиентских устройств, содержащее запоминающее устройство с сохраненными на нем командами, при этом исполнение команд заставляет компьютер выполнить получение запросов на обслуживание от множества клиентских устройств, определение идентификации по меньшей мере одного другого сервера для предоставления обслуживания по меньшей мере одному из множества клиентских устройств, определение, что несколько из множества клиентских устройств удовлетворяют критериям уравновешения нагрузки для более эффективного предоставления обслуживания через по меньшей мере один второй сервер, создание и