RU2329609C2 - Method of ensuring reliable server function in support of service or set of services - Google Patents

Method of ensuring reliable server function in support of service or set of services Download PDF

Info

Publication number
RU2329609C2
RU2329609C2 RU2006127893/09A RU2006127893A RU2329609C2 RU 2329609 C2 RU2329609 C2 RU 2329609C2 RU 2006127893/09 A RU2006127893/09 A RU 2006127893/09A RU 2006127893 A RU2006127893 A RU 2006127893A RU 2329609 C2 RU2329609 C2 RU 2329609C2
Authority
RU
Russia
Prior art keywords
pool
server
name
elements
message
Prior art date
Application number
RU2006127893/09A
Other languages
Russian (ru)
Other versions
RU2006127893A (en
Inventor
Марь н БОЗИНОВСКИ (DK)
Марьян БОЗИНОВСКИ
Роберт ЗАЙДЛЬ (DE)
Роберт ЗАЙДЛЬ
Original Assignee
Нокиа Сименс Нетворкс Гмбх Унд Ко. Кг
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Нокиа Сименс Нетворкс Гмбх Унд Ко. Кг filed Critical Нокиа Сименс Нетворкс Гмбх Унд Ко. Кг
Priority to RU2006127893/09A priority Critical patent/RU2329609C2/en
Publication of RU2006127893A publication Critical patent/RU2006127893A/en
Application granted granted Critical
Publication of RU2329609C2 publication Critical patent/RU2329609C2/en

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: function is provided by the server farm with one or more farm elements; each of the elements can support a service(s) where the performance, reliability and readiness of the server function are enhanced comparing to the existing methods, by the means of sending the operation status information of at least one of the farm elements, from the name server to the farm user.
EFFECT: enhancing reliability and functionality of the server.
17 cl, 4 dwg

Description

Изобретение относится к способу обеспечения надежной функции сервера в поддержке службы или набора служб, таких как основанные на Интернет приложения.The invention relates to a method for providing reliable server functions in supporting a service or set of services, such as Internet-based applications.

R. Stewart и др.: «Aggregate Server Access Protocol» Internet Draft, [Online] 9 июня 2004 (2004-06-09), страницы 1-43, XP002308317 IETF, полученный из Интернет: URL-адрес: http://www.watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt> [найденный 30.11.2004], описывает, что обобщенный протокол (ASAP) доступа к серверу вместе с протоколом (ENRP) разрешения имени конечной точки обеспечивает очень полезный механизм передачи данных по IP-сетям. ASAP использует основанную на имени модель адресации, которая изолирует конечную точку логической связи от ее IP-адреса(ов), таким образом эффективно исключая связывание между конечной точкой связи и ее физическим IP адресом(ами), которое обычно составляет единственное уязвимое звено.R. Stewart et al.: “Aggregate Server Access Protocol” Internet Draft, [Online] June 9, 2004 (2004-06-09), pages 1-43, XP002308317 IETF, obtained from the Internet: URL: http: // www.watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt> [found 11/30/2004], describes that a generic server access protocol (ASAP) along with an endpoint name resolution protocol (ENRP) provides a very useful mechanism for transmitting data over IP networks. ASAP uses a name-based addressing model that isolates the logical endpoint from its IP address (s), thus effectively eliminating the binding between the endpoint and its physical IP address (s), which usually constitutes the only vulnerable link.

Q. Xie и др.: «Rserpool Redundancy-model Policy» Internet Draft, [Online] 9 июня 2004 (2004-06-09), страницы 1-43, XP002308317 IETF, полученный из Интернет: URL-адрес: http://www.watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt> [найденный 30.11.2004], определяет параметр стратегии выбора участника модели Rserpool Redundancy и связанные процедуры. Эта стратегия предназначена быть гибкой и способной поддерживать широкий диапазон улучшенных моделей избыточности, найденных в некоторых системах высокой готовности. Проект использует возможность наращивания в стратегии распределения нагрузки опроса Rserpool.Q. Xie et al.: “Rserpool Redundancy-model Policy” Internet Draft, [Online] June 9, 2004 (2004-06-09), pages 1-43, XP002308317 IETF, obtained from the Internet: URL: http: / /www.watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt> [found 11/30/2004], defines the Rserpool Redundancy model participant selection strategy parameter and related procedures. This strategy is designed to be flexible and capable of supporting the wide range of advanced redundancy models found in some high availability systems. The project takes advantage of the build-up capability of the Rserpool survey load balancing strategy.

US 2003/0101258 A1 раскрывает способ наблюдения за серверами-репликами в сетевой вычислительной системе, в котором каждый сервер в системе имеет таблицу вектора партнера реплики, которая включает в себя информацию состояния о других серверах в системе. Таблица вектора партнера реплики включает в себя поля данных для хранения номера последовательности обновления и информацию о временной отметке, которая идентифицирует время последнего обновления и/или время последней успешной попытки репликации для каждого сервера-реплики в системе. После каждой успешной репликации сервер обновляет элементы данных в векторе партнера реплики, чтобы отразить обновленный USN и информацию о временной отметке. Способ наблюдения за репликой оценивает элементы USN и временных отметок в таблице вектора партнера реплики для того, чтобы определить, являются ли какие-нибудь серверы в системе скрытыми. Если способ наблюдения обнаруживает, что сервер в системе является скрытым, генерируется предупреждение, посредством которого пользователи и/или сетевой администратор уведомляются о проблеме.US 2003/0101258 A1 discloses a method for monitoring replica servers in a network computing system in which each server in the system has a replica partner vector table that includes status information about other servers in the system. The replica partner vector table includes data fields for storing the update sequence number and timestamp information that identifies the time of the last update and / or time of the last successful replication attempt for each replica server in the system. After each successful replication, the server updates the data items in the replica partner vector to reflect the updated USN and timestamp information. The replica monitoring method evaluates USN and timestamp elements in the replica partner's vector table to determine if any servers in the system are hidden. If the monitoring method detects that the server in the system is hidden, a warning is generated by which users and / or the network administrator are notified of the problem.

Чтобы повысить готовность и надежность в отношении услуг доступа, предоставленных через основанные на сервере функции, например основанных на Интернет приложений, становится все более и более популярным предоставлять пул серверов вместо только одного сервера. Каждый из серверов в пуле серверов, называемый элементом пула, способен поддерживать запрошенную службу или набор служб.In order to increase availability and reliability with respect to access services provided through server-based functions, such as Internet-based applications, it is becoming more and more popular to provide a server pool instead of just one server. Each of the servers in the server pool, called a pool element, is capable of supporting the requested service or set of services.

Для того чтобы поддерживать высокую производительность, готовность и масштабируемость приложений, требуется поддерживать отслеживание тех серверов, которые находятся в пуле и способны принять запросы, и путь для клиента для того, чтобы связаться с желаемым сервером. Эти темы обсуждаются в документе рабочей группы IETF (инженерная группа по развитию Интернет) «Reliable Server Pooling», называемой рабочей группой RSerPool. Архитектура надежного объединения серверов в пул стандартизируется в рамках этой рабочей группы, см., например, определение отказоустойчивой платформы надежного объединения серверов в пул, описанное в Tuexen и др., "Architecture for Reliable Server Pooling", <draft-ietf-rserpool-arch-07.txt>, 12 октября 2003.In order to maintain high performance, availability and scalability of applications, it is required to maintain tracking of those servers that are in the pool and are able to accept requests, and the path for the client in order to contact the desired server. These topics are discussed in an IETF (Internet Engineering Task Force) working group document, “Reliable Server Pooling,” called the RSerPool working group. The architecture of reliable server pooling is standardized within the framework of this working group, see, for example, the definition of a failover platform for reliable server pooling described in Tuexen et al., "Architecture for Reliable Server Pooling", <draft-ietf-rserpool-arch -07.txt>, October 12, 2003.

RserPool определяет три типа архитектурных элементов:RserPool defines three types of architectural elements:

элементы (PE) пула: серверы, которые предоставляют одинаковую услугу в рамках пула;pool elements (PEs): servers that provide the same service within the pool;

пользователи (PU) пула: клиенты, обслуживаемые PE;pool users (PU): clients served by PE;

серверы (NS) имен: серверы, которые предоставляют услугу трансляции к PU и наблюдения за состоянием элементов PE.name servers (NS): servers that provide the translation service to the PU and monitoring the state of PE elements.

В RserPool элементы пула сгруппированы в пул. Пул идентифицируется посредством уникального имени пула. Чтобы получить доступ к пулу, пользователь пула обращается за информацией к серверу имен.In RserPool, pool elements are grouped into a pool. The pool is identified by a unique pool name. To access the pool, the pool user accesses the name server for information.

Фиг.1 схематически обрисовывает известную архитектуру RSerPool. Перед отправкой данных в пул (определенный именем пула) пользователь пула оправляет запрос разрешения имени серверу имен (или ENRP, см. ниже). ENRP-сервер разрешает имя пула в транспортные адреса элементов PE. Используя эту информацию, PU может выбрать транспортный адрес PE с тем, чтобы отправить ему данные.Figure 1 schematically depicts the well-known architecture of RSerPool. Before sending data to the pool (defined by the pool name), the pool user submits a name resolution request to the name server (or ENRP, see below). The ENRP server resolves the pool name to the transport addresses of PE elements. Using this information, the PU can select the PE transport address in order to send data to it.

RSerPool содержит два протокола, а именно обобщенный протокол (ASAP) доступа к серверу и протокол (ENRP) разрешения имени конечной точки. ASAP использует основанную на имени модель адресации, которая изолирует конечную точку логической связи от ее IP-адреса(ов). Серверы имен используют ENRP для связи друг с другом для того, чтобы обмениваться информацией и обновлениями относительно пулов серверов. Экземпляр ASAP (или ENRP), работающего в данном объекте, упоминается как конечная точка ASAP (или ENRP) этого объекта. Например, ASAP-экземпляр, работающий в PU, называется конечной точкой ASAP пользователя PU.RSerPool contains two protocols, namely the generalized server access protocol (ASAP) and the endpoint name resolution protocol (ENRP). ASAP uses a name-based addressing model that isolates the logical endpoint from its IP address (s). Name servers use ENRP to communicate with each other in order to exchange information and updates regarding server pools. An ASAP instance (or ENRP) running on this entity is referred to as an ASAP endpoint (or ENRP) of that entity. For example, an ASAP instance running in a PU is called the ASAP endpoint of the PU user.

Каждый раз, когда PU отправляет сообщение пулу, который содержит более чем один PE, конечная точка ASAP пользователя PU должна выбрать один из PE в пуле в качестве приемника текущего сообщения. Выбор производится в PU согласно текущей стратегии (SSP) выбора сервера. В настоящее время обсуждаются четыре основных стратегии SSP с тем, чтобы использоваться с ASAP, а именно алгоритм циклического обслуживания ("карусель"), наименее используемый, наименее используемый с деградацией и взвешенный алгоритм циклического обслуживания, см. R.R. Stewart, Q. Xie: Aggregate Server Access Protocol (ASAP), <draft-ietf-rserpool-asap-08.txt>, 21 октября 2003.Each time a PU sends a message to a pool that contains more than one PE, the ASAP endpoint of the PU user must select one of the PEs in the pool as the receiver of the current message. The selection is made in the PU according to the current server selection strategy (SSP). Four main SSP strategies are currently under discussion in order to be used with ASAP, namely the round-robin service algorithm ("carousel"), the least used, the least used with degradation and the weighted round-robin algorithm, see R.R. Stewart, Q. Xie: Aggregate Server Access Protocol (ASAP), <draft-ietf-rserpool-asap-08.txt>, October 21, 2003.

Схема упрощенного примера последовательности на фиг.2 схематически иллюстрирует последовательность событий, когда конечная точка ASAP пользователя PU делает заполнение кэша [Stewart & Xie] для данного имени пула и выбирает PE согласно состоянию уровня техники.The simplified sequence example diagram of FIG. 2 schematically illustrates a sequence of events when a PU user ASAP endpoint populates the cache [Stewart & Xie] for a given pool name and selects PE according to the state of the art.

Заполнение (обновление) кэша означает обновление локального кэша имен самыми последними данными соответствия имя-адрес как найденными сервером ENRP.Filling (updating) the cache means updating the local name cache with the latest name-address matching data found by the ENRP server.

Этапы, показанные на фиг.2, объяснены как следующие:The steps shown in FIG. 2 are explained as follows:

S1: Конечная точка ASAP пользователя PU отправляет запрос NAME RESOLUTION (разрешение имени) серверу ENRP, запрашивающему всю информацию о данном имени пула.S1: The ASAP endpoint of the PU user sends a NAME RESOLUTION request (name resolution) to the ENRP server requesting all the information about the given pool name.

S2: Сервер ENRP принимает запрос и находит элемент базы данных для конкретного имени пула. Сервер ENRP извлекает информацию о транспортных адресах из элемента базы данных.S2: The ENRP server accepts the request and finds the database item for a specific pool name. The ENRP server retrieves transport address information from a database item.

S3: Сервер ENRP создает NAME RESOLUTION RESPONSE (ответ разрешения имени), в который вставлены транспортные адреса элементов PE. Сервер ENRP отправляет NAME RESOLUTION RESPONSE пользователю PU.S3: The ENRP server creates a NAME RESOLUTION RESPONSE (name resolution response) into which the transport addresses of the PE elements are inserted. The ENRP server sends NAME RESOLUTION RESPONSE to the PU user.

S4: Конечная точка ASAP пользователя PU заполняет (обновляет) свой локальный кэш имен информацией о транспортных адресах имени пула.S4: The PU user ASAP endpoint fills (updates) its local name cache with the transport address information of the pool name.

S5: PU выбирает один из элементов пула серверов на основе принятой адресной информации.S5: The PU selects one of the elements of the server pool based on the received address information.

В конце концов, PU получает доступ к выбранному серверу для использования службы/служб.In the end, the PU gains access to the selected server to use the service / services.

Существующие статические стратегии выбора сервера используют предопределенные схемы для выбора серверов. Примеры статических SSP это:Existing static server selection strategies use predefined schemes to select servers. Examples of static SSPs are:

- "карусель" является циклической стратегией, где серверы выбираются последовательным образом до тех пор, пока изначально выбранный сервер не будет выбран опять;- "carousel" is a cyclic strategy where servers are selected in a sequential manner until the initially selected server is selected again;

- взвешенная "карусель" является простым расширением "карусели". Она назначает определенный вес каждому серверу. Вес указывает производительность обработки сервера.- A weighted carousel is a simple extension of the carousel. She assigns a certain weight to each server. Weight indicates server processing performance.

Неосведомленность о динамических состояниях системы ведет к низкой сложности, однако при наличии расходов от снижающейся производительности и надежности обслуживания адаптивные (динамические) SSP принимают решения на основе изменений в состоянии системы и динамической оценки лучшего сервера. Примерами динамических SSP являютсяLack of awareness of the dynamic conditions of the system leads to low complexity, however, if there are costs from declining performance and reliability of service, adaptive (dynamic) SSPs make decisions based on changes in the state of the system and dynamic assessment of the best server. Examples of dynamic SSPs are

- стратегия (SSP) наименее используемого сервера: В этой SSP нагрузка каждого сервера наблюдается клиентом (PU). На основе наблюдения нагрузок серверов каждому серверу назначено так называемое значение стратегии, которое пропорционально нагрузке сервера. Согласно стратегии наименее используемого сервера сервер с наименьшим значением стратегии выбирается в качестве приемника текущего сообщения. Важно отметить, что эта SSP подразумевает, что один и тот же сервер всегда выбирается до тех пор, пока значения стратегии серверов обновляются и изменяются.- least used server strategy (SSP): In this SSP, the load on each server is observed by the client (PU). Based on monitoring server loads, each server is assigned a so-called strategy value, which is proportional to the server load. According to the least used server strategy, the server with the lowest strategy value is selected as the receiver of the current message. It is important to note that this SSP implies that the same server is always selected as long as the server strategy values are updated and changed.

- Стратегия наименее используемого сервера с деградацией является такой же, что и стратегия наименее используемого сервера, с одним исключением. А именно, каждый раз, когда сервер с наименьшим значением стратегии выбирается из набора серверов, его значение стратегии увеличивается. Таким образом, этот сервер может уже не иметь наименьшее значение стратегии в наборе серверов. Со временем это приводит стратегию наименее используемого сервера с деградацией к "карусельной" SSP. Каждое обновление значений стратегии серверов возвращает SSP обратно к стратегии наименее используемого сервера с деградацией.- The strategy of the least used server with degradation is the same as the strategy of the least used server, with one exception. Namely, every time the server with the lowest strategy value is selected from the set of servers, its strategy value increases. Thus, this server may no longer have the least strategy value in the server set. Over time, this leads to the strategy of the least used server with degradation to a carousel SSP. Each update to the server strategy values returns the SSP back to the least-used degraded server strategy.

Эффективность динамической SSP серьезно зависит от показателя, который используется для того, чтобы оценить лучший сервер. Исследования в SSP были главным образом сфокусированы на системах реплицированных веб-серверов. В таких системах типичные показатели основаны на близости сервера, включая в себя географическое расстояние, число ретрансляций до каждого сервера, время (RTT) полного обхода и времена отклика HTTP. Несмотря на то что SSP в веб-системах нацелены на то, чтобы предоставить высокую пропускную способность и небольшую задержку обслуживания, например протоколы управления сессией, такие как SIP, имеют дело с сообщениями, имеющими довольно небольшой размер (500 байт в среднем). Таким образом, пропускная способность не является таким значимым показателем, как в веб-системах. Насколько известно авторам, SSP не исследовались широко, например, с системами управления сессией.The performance of a dynamic SSP is heavily dependent on the metric used to rate the best server. Research at SSP has mainly focused on replicated web server systems. In such systems, typical metrics are based on server proximity, including geographic distance, the number of relayings to each server, full round-trip time (RTT), and HTTP response times. Although SSPs on web systems are designed to provide high throughput and low latency, for example, session control protocols such as SIP deal with messages that are fairly small (500 bytes on average). Thus, throughput is not as significant as in web systems. As far as the authors know, SSPs have not been widely studied, for example, with session management systems.

В свете вышеупомянутого уровня техники целью настоящего изобретения является предложить способ обеспечения функции сервера в поддержке службы или набора служб, таких как основанные на Интернет приложения, функция сервера предоставлена пулом серверов с одним или более элементами пула, каждый из элементов пула способен поддерживать службу/службы, где надежность и готовность функции сервера улучшена относительно существующих способов, а также предложить сервер имен и устройство пользователя пула, осуществляющее такой способ.In light of the aforementioned prior art, an object of the present invention is to provide a method of providing a server function in supporting a service or a set of services, such as Internet-based applications, a server function is provided by a server pool with one or more pool elements, each of the pool elements is capable of supporting the service / services, where the reliability and availability of the server function is improved relative to existing methods, and also to offer a name server and a pool user device that implements such a method.

Эта проблема решена способом с комбинацией признаков, как указано в п. 1, и посредством сервера имен и устройства пользователя пула, как указано в п. 12 или 15, соответственно.This problem is solved by a method with a combination of features, as described in clause 1, and through a name server and a pool user device, as indicated in clause 12 or 15, respectively.

Одной из фундаментальных идей, лежащих в основе настоящего изобретения, является организовать использование обмена сообщениями между пользователем пула и сервером имен, чтобы обеспечить пользователя пула (дополнительной) информацией о состоянии, относящейся к элементам пула, из сервера имен. Так как сервер имен является узлом, назначенным пулу серверов, в общем он будет обладать лучшей информацией, касающейся состояния элементов пула, относительно, например, их текущего состояния, основанной на последних сообщениях о доступности.One of the fundamental ideas underlying the present invention is to organize the use of messaging between the pool user and the name server to provide the pool user with (additional) status information related to the elements of the pool from the name server. Since the name server is the node assigned to the server pool, in general it will have better information regarding the state of the elements of the pool, for example, their current state, based on the latest availability messages.

По меньшей мере, сервер имен имеет дополнительную информацию о состоянии в своем размещении, которая, если предоставлена пользователю пула, вообще предлагает возможность принять решения выбора, имеющие в результате улучшенную производительность, надежность и высокую готовность функций сервера, которые должны быть выполнены элементами пула серверов. Посредством этого времена отклика так же, как и ситуации нагрузки пула серверов, могут быть оптимизированы.At the very least, the name server has additional status information in its location, which, if provided to the pool user, generally offers the opportunity to make selection decisions, resulting in improved performance, reliability and high availability of server functions that must be performed by server pool elements. Through this, response times as well as server pool load situations can be optimized.

Более того, возможно легко предоставить модулю выбора сервера пользователя пула информацию о состоянии из сервера имен, как и в любом случае обмен сообщениями требуется пользователю пула для того, чтобы найти транспортные адреса элементов пула.Moreover, it is possible to easily provide the pool user server selection module with status information from the name server, as in any case, the pool user needs to exchange messages in order to find the transport addresses of the pool elements.

Изобретение, описанное в данном документе, таким образом предлагает по существу расширение протокола RSerPool, где соответствующее расширение архитектуры RSerPool может легко быть осуществлено на сервере имен и пользователе пула.The invention described herein thus essentially provides an extension of the RSerPool protocol, where a corresponding extension of the RSerPool architecture can easily be implemented on the name server and user of the pool.

Согласно изобретению механизмы обнаружения сбоя распределены в пользователе пула и сервере имен. Пользователь пула использует таймеры уровня приложений и транспортного уровня, чтобы обнаружить сбой передачи данных, в то время как серверы имен предоставляют механизм доступности, чтобы периодически наблюдать за состоянием PE.According to the invention, failure detection mechanisms are distributed in a pool user and a name server. The pool user uses application and transport layer timers to detect data transmission failure, while name servers provide an availability mechanism to periodically monitor PE status.

Изобретение будет далее описано относительно отдельной стратегии выбора сервера, называемой SSP с максимальной готовностью (MA-SSP), которая является поводом отделить заявку заявителя. Изобретение однако не ограничено этой MA-SSP, а может быть основано на любой статической или динамической SSP, которая известна или должна быть разработана в будущем.The invention will now be described with respect to a separate server selection strategy called Maximum Availability SSP (MA-SSP), which is an occasion to separate the applicant's application. The invention, however, is not limited to this MA-SSP, but may be based on any static or dynamic SSP that is known or should be developed in the future.

MA-SSP работает с так называемым вектором состояния. Согласно MA-SSP вектор состояния имеет размер N (т.е. равен числу элементов пула в данном пуле серверов) и определен следующим образом:MA-SSP works with the so-called state vector. According to MA-SSP, the state vector has size N (i.e., it is equal to the number of pool elements in this server pool) and is defined as follows:

p = [p1, p2, • • •, pN]p = [p 1 , p 2 , • • •, p N ]

Определенный элемент в векторе состояния представляет последний известный момент состояния отдельного PE. Если последнее состояние PE было ON (включен), значение времени сохраняется в векторе состояния неизмененным. Если последнее состояние PE было OFF (выключен), значение времени сохраняется в векторе состояния с отрицательным знаком. Алгоритм MA всегда выбирает PE, который имеет максимальное значение в векторе состояния.A specific element in the state vector represents the last known state moment of an individual PE. If the last PE state was ON, the time value is kept unchanged in the state vector. If the last PE state was OFF, the time value is stored in the status vector with a negative sign. The MA algorithm always selects the PE that has the maximum value in the state vector.

Конечная точка ASAP пользователя PU выполняет обновление своего вектора состояния. В будущем вектор состояния PU обозначается как p(u). Согласно первоначальной спецификации RSerPool [Tuexen et al.; Stewart & Xie] сервер имен возвращает транспортные адреса серверов пула. Для того чтобы плавно объединить, например, MA-SSP в архитектуру RSerPool определено расширение RSerPool. Это расширение RSerPool, которое может быть использовано для других SSP до некоторой степени одинаковым способом, описано в последующем тексте.The PU user ASAP endpoint updates its state vector. In the future, the state vector PU is denoted as p (u) . According to the original RSerPool specification [Tuexen et al .; Stewart & Xie] the name server returns the transport addresses of the pool servers. In order to smoothly integrate, for example, MA-SSP into the RSerPool architecture, the RSerPool extension is defined. This RSerPool extension, which can be used for other SSPs to some degree in the same way, is described in the following text.

Расширение в RSerPool влияет на связь между PU и NS, а именно конечными точками ASAP сервера NS и пользователя PU. В данном документе принято для иллюстративных целей, что как PU, так и сервер ENRP применяют алгоритм MA. Алгоритм MA в сервере ENRP создает вектор состояния для каждого пула серверов. Этот вектор состояния обновляется периодически посредством использования существующего механизма доступности протокола ASAP [Stewart & Xie]. Авторы будут далее обозначать вектор состояния сервера имен как p(s). Вектор p(s) для данного пула сохраняется в вышеупомянутом элементе данных базы данных в сервере имен, зарезервированном для этого пула. Авторы будут предполагать, что есть N элементов пула в пуле.The extension in RSerPool affects the communication between the PU and NS, namely the ASAP endpoints of the NS server and the PU user. This document is taken for illustrative purposes that both the PU and the ENRP server use the MA algorithm. The MA algorithm in the ENRP server creates a state vector for each server pool. This state vector is updated periodically by using the existing ASAP accessibility mechanism [Stewart & Xie]. The authors will further designate the state server of the name server as p (s) . The vector p (s) for this pool is stored in the aforementioned database item in the name server reserved for this pool. Authors will assume that there are N pool elements in the pool.

PU инициирует заполнение кэша в следующих двух случаях:The PU initiates cache filling in the following two cases:

1) PU хочет выполнить заполнение (обновление) кэша для того, чтобы обновить свой вектор p(u) новейшей информацией из сервера имен.1) The PU wants to fill (update) the cache in order to update its vector p (u) with the latest information from the name server.

2) PU хочет разрешить имя пула.2) The PU wants to resolve the pool name.

В любом случае конечная точка ASAP пользователя PU отправляет запрос NAME RESOLUTION серверу ENRP через ASAP. Сервер ENRP принимает запрос и находит элемент базы данных для конкретного имени пула. Элемент данных базы данных содержит самую последнюю версию вектора p(s). Сервер ENRP выполняет следующие действия:In either case, the ASAP endpoint of the PU user sends a NAME RESOLUTION request to the ENRP server through ASAP. The ENRP server accepts the request and finds a database item for a specific pool name. The database item contains the latest version of the vector p (s) . The ENRP server performs the following actions:

1) Сервер ENRP извлекает информацию о транспортных адресах из элемента базы данных.1) The ENRP server retrieves transport address information from the database item.

2) Сервер ENRP извлекает вектор p(s) из элемента базы данных.2) The ENRP server extracts the vector p (s) from the database element.

3) Сервер ENRP создает NAME RESOLUTION RESPONSE, в который вставлены транспортные адреса элементов PE. В дополнение к информации о транспортных адресах ответ об имени расширен дополнительным полем. В это дополнительное поле вставлен вектор p(s).3) The ENRP server creates a NAME RESOLUTION RESPONSE into which the transport addresses of the PE elements are inserted. In addition to the transport address information, the name response is expanded with an additional field. The vector p (s) is inserted in this additional field.

4) Сервер ENRP отправляет NAME RESOLUTION RESPONSE пользователю PU.4) The ENRP server sends NAME RESOLUTION RESPONSE to the PU user.

Таким образом, NAME RESOLUTION RESPONSE содержит наиболее свежую версию вектора p(s) сервера ENRP. После того как PU принимает NAME RESOLUTION RESPONSE, он обновляет локальный кэш имен (информацию о транспортных адресах) так же, как и свой вектор p(u). Процедура обновления вектора p(u) ASAP PU следующая:Thus, NAME RESOLUTION RESPONSE contains the most recent version of the vector p (s) of the ENRP server. After the PU receives NAME RESOLUTION RESPONSE, it updates the local name cache (transport address information) in the same way as its p (u) vector. The procedure for updating the p (u) ASAP PU vector is as follows:

Figure 00000002
(1)
Figure 00000002
(one)

где p i(u) и p i(s) являются i-ми элементами p(u) и p(s), соответственно.where p i (u) and p i (s) are the ith elements of p (u) and p (s) , respectively.

Необходимо отметить, что это работает хорошо в условиях синхронизированных таймеров пользователей пула и серверов имен. Это становится проблемой, если межвременные отклонения недопустимо велики. Применение протокола синхронизации времени, такого как протокол (NTP) сетевого времени, устраняет эту проблему.It should be noted that this works well in the context of synchronized timers for pool users and name servers. This becomes a problem if the intertemporal deviations are unacceptably large. Using a time synchronization protocol such as Network Time Protocol (NTP) resolves this issue.

Преимущественно расширение протокола RSerPool, требуемое для осуществления изобретения, довольно простое и легко вводимое в RSerPool. Более того, расширение протокола является прозрачным для уровня приложений в PU, т.е. клиенте. Вектор состояния обрабатывается на уровне ASAP стека протоколов PU. Таким образом, расширение протокола прозрачно к уровню приложений над уровнем ASAP. Каждый PU, поддерживающий это расширение протокола, выигрывает от улучшений в производительности, предоставленных изобретением.Advantageously, the extension of the RSerPool protocol required for carrying out the invention is quite simple and easily entered into RSerPool. Moreover, the protocol extension is transparent to the application layer in the PU, i.e. the client. The state vector is processed at the ASAP level of the PU protocol stack. Thus, the protocol extension is transparent to the application layer above the ASAP layer. Each PU supporting this protocol extension benefits from the performance improvements provided by the invention.

Дальнейшие аспекты и преимущества изобретения могут быть получены из прилагаемой формулы изобретения так же, как и из последующего описания варианта осуществления изобретения со ссылкой на прилагаемые чертежи, показывающиеFurther aspects and advantages of the invention can be obtained from the attached claims in the same way as from the following description of an embodiment of the invention with reference to the accompanying drawings, showing

фиг.1 (обсуждался выше) как упрощенную блок-схему общей архитектуры RSerPool согласно уровню техники;figure 1 (discussed above) as a simplified block diagram of the General architecture of RSerPool according to the prior art;

фиг.2 (обсуждался выше) - упрощенная схема последовательности, иллюстрирующая обмен сообщениями между пользователем пула и сервером имен из фиг.1 согласно уровню техники;figure 2 (discussed above) is a simplified sequence diagram illustrating the exchange of messages between the pool user and the name server of figure 1 according to the prior art;

фиг.3 схема последовательности как на фиг.2, иллюстрирующая обмен сообщениями между сервером имен и пользователем пула согласно варианту осуществления заявленного способа;FIG. 3 is a sequence diagram as in FIG. 2, illustrating the exchange of messages between a name server and a pool user according to an embodiment of the claimed method;

фиг.4 - блок-схема, показывающая существенные функциональные блоки сервера имен и устройства пользователя пула, уместные для выполнения варианта осуществления изобретения, иллюстрированного на фиг.3.FIG. 4 is a block diagram showing the essential functional blocks of a name server and a pool user device, relevant to the embodiment of the invention illustrated in FIG. 3.

Схематический чертеж, резюмирующий основной принцип изобретения, показан на фиг.3. Этапы S1-S4 для заполнения кэша, как определено в этом изобретении, объясняются следующим образом:A schematic drawing summarizing the basic principle of the invention is shown in FIG. Steps S1-S4 for populating the cache, as defined in this invention, are explained as follows:

1) Отправка запроса NAME RESOLUTION из конечной точки ASAP пользователя PU пула серверу NS имен или ENRP, запрашивающий всю информацию об имени данного пула.1) Sending a NAME RESOLUTION request from the ASAP endpoint of the PU pool user to the NS name server or ENRP requesting all the information about the name of this pool.

2) Прием запроса и отыскание элемента базы данных для конкретного имени пула посредством сервера NS имен. Сервер NS имен извлекает из элемента базы данных информацию о транспортных адресах так же, как и вектор p(s).2) Receiving a request and retrieving a database item for a specific pool name through the NS name server. The name server NS retrieves transport address information from the database element in the same way as the vector p (s) .

3) Создание NAME RESOLUTION RESPONSE, в который включают транспортные адреса PE и вектор p(s), посредством сервера NS имен. Сервер NS имен отправляет NAME RESOLUTION RESPONSE пользователю PU пула.3) Creating a NAME RESOLUTION RESPONSE, which includes the transport addresses of PE and the vector p (s) , using the NS name server. The NS name server sends NAME RESOLUTION RESPONSE to the PU of the pool.

4) Заполнение (обновление) локального кэша имен средствами конечной точки ASAP пользователя пула PU информацией о транспортных адресах по имени пула. Конечная точка ASAP пользователя пула применяет простую процедуру, описанную выше в уравнении (1), чтобы обновить вектор p(u) состояния.4) Filling (updating) the local name cache by means of the ASAP endpoint of the user of the PU pool with information about transport addresses by the pool name. The pool user ASAP endpoint applies the simple procedure described in equation (1) above to update the state vector p (u) .

5) Выбор отдельного элемента пула или сервера для отправки ему запроса обслуживания.5) Selecting an individual element of the pool or server to send him a service request.

Осуществление изобретенного способа может быть выполнено довольно просто. NAME RESOLUTION RESPONSE расширено с помощью отдельного поля, которое содержит вектор p(s) состояния. Фиг.4 показывает принципиальные функциональные компоненты пользователя PU пула и сервера NS имен, последний иллюстрирован ассоциативно связанным с пулом SP серверов с двумя элементами PE пула.The implementation of the invented method can be performed quite simply. NAME RESOLUTION RESPONSE is extended with a separate field that contains the state vector p (s) . Figure 4 shows the principal functional components of a PU pool user and a name server NS, the latter being illustrated associated with a server pool SP with two pool PE elements.

Сервер NS имен содержит серверный модуль 10 разрешения пула, модуль 12 состояния элемента и память 14. Модуль 12 состояния элемента периодически компонует сообщения доступности конечной точки согласно протоколу IETF ASAP [Stewart & Xie] и отправляет эти сообщения каждому из серверов PE1, PE2.The name server NS includes a pool resolution server module 10, an element state module 12, and a memory 14. The element state module 12 periodically composes the endpoint availability messages according to the IETF ASAP protocol [Stewart & Xie] and sends these messages to each of the servers PE1, PE2.

Предполагая, что сервер PE1 находится в рабочем состоянии «включен» (сервер PE1 готов предоставить функцию сервера по запросу, например, клиента PU), сервер PE1 отвечает на сообщение о доступности от сервера NS, отправляя сообщение подтверждения доступности конечной точки назад серверу NS имен.Assuming that server PE1 is in an “on” state (server PE1 is ready to provide server function upon request, for example, a PU client), server PE1 responds to the availability message from the NS server by sending an endpoint availability confirmation message back to the NS name server.

Принимая далее, что сервер PE2 находится в функциональном состоянии "выключен" (сервер PE2 не готов для обслуживания), сервер PE2 не отвечает на сообщение о доступности от сервера NS имен, посредством чего локальный таймер, инициированный для этого сообщения поддержки на сервере NS имен, истекает согласно протоколу IETF ASAP.Assuming further that the PE2 server is in the “off” state (the PE2 server is not ready for maintenance), the PE2 server does not respond to the availability message from the NS name server, whereby the local timer initiated for this support message on the NS server, expires according to the IETF ASAP protocol.

Модуль 12 состояния элемента удерживает вектор состояния, который сохранен в памяти 14. Вектор содержит для каждого элемента PE1, PE2 пула SP число, представляющее временную отметку, которая указывает время обработки ответа каждого из элементов на сообщение поддержки. Сообщение подтверждения доступности, принятое от PE1, таким образом заставляет модуль 12 записать временную отметку 'A8C0' (hex) в позицию вектора состояния, предоставленную для сервера PE1, предполагающую, что сообщение подтверждения приема обработалось в двенадцать часов, как измерено блоком синхронизации (не показан) в сервере имен, и временная отметка точна в единицах секунд. Сообщение о недоступности, принятое от PE1, заставляет модуль 12 записать временную отметку '-A8C1' (hex) в позицию вектора состояния, предоставленную для сервера PE2, предполагающую, что сообщение о недоступности было обработано в пределах одной секунды после двенадцати часов.The element state module 12 holds a state vector that is stored in the memory 14. The vector contains for each element PE1, PE2 of the pool SP a number representing a time stamp that indicates the processing time of each element's response to the support message. The availability confirmation message received from PE1 thus causes the module 12 to write the time stamp 'A8C0' (hex) to the position of the status vector provided for the server PE1, assuming that the acknowledgment message was processed at twelve o'clock, as measured by a synchronization unit (not shown ) in the name server, and the timestamp is accurate in units of seconds. An unavailability message received from PE1 causes module 12 to write the timestamp '-A8C1' (hex) to the position of the status vector provided for the PE2 server, assuming that the unavailability message was processed within one second after twelve hours.

Функциональность серверного модуля 10 описана ниже более детально относительно запроса от пользователя PU пула. Пользователь PU пула содержит клиентский модуль 16 разрешения пула, модуль 18 выбора сервера, память 20 и модуль 22 готовности сервера.The functionality of the server module 10 is described in more detail below with respect to a request from a PU pool user. The PU of the pool comprises a pool resolution client module 16, a server selection module 18, a memory 20, and a server ready module 22.

Пользователь PU пула реализован в мобильном устройстве (не показано), допускающем передачу данных и голоса через UMTS-сеть, пул SP серверов и сервер NS имен являются ее частями. Приложение устройства хочет получить доступ к службе, предоставленной любым из серверов пула SP. В этом примере пул SP серверов является "фермой" или набором серверов, реализующими службы, связанные с IMS(IP мультимедиа подсистема)-доменом сети UMTS. Заявка является примером основанного на SIP приложения.The user of the PU pool is implemented in a mobile device (not shown) capable of transmitting data and voice over a UMTS network, the pool of SP servers and the NS name server are its parts. The device application wants to access the service provided by any of the SP pool servers. In this example, the pool of SP servers is a "farm" or a set of servers that implements services related to the IMS (IP multimedia subsystem) domain of the UMTS network. The application is an example of a SIP-based application.

Чтобы запросить отдельную службу, приложению, работающему на мобильном устройстве (не показано), известно только имя пула. Приложение запускает часть пользователя пула (содержащего конечную точку ASAP) мобильного устройства посредством передачи имени пула. Клиентский модуль разрешения пула компонует сообщение разрешения имени согласно протоколу ASAP и отправляет его серверу NS имен (этап S1 на фиг.3).To request a separate service, an application running on a mobile device (not shown) only knows the pool name. The application launches part of the pool user (containing the ASAP endpoint) of the mobile device by passing the pool name. The pool resolution client module composes the name resolution message according to the ASAP protocol and sends it to the name server NS (step S1 in FIG. 3).

Сообщение разрешения имени принимается в сервере NS имен посредством серверного модуля 10 разрешения пула. Имя пула извлекают, и серверный модуль 10 получает доступ в память 14, чтобы извлечь адресную информацию, которая сохранена ассоциативно связанной с именем пула. В данном примере из памяти 14 считываются IP-адреса элементов PE1, PE2 пула вместе с адресом порта, который должен быть использован для запроса отдельной службы, и, согласно изобретению, также временные отметки 'A8C0', '-A8C1', сохраненные в ассоциативной связи с серверами PE1, PE2, считывают из памяти 14. Этап S2 на фиг.3 на этом заканчивается.A name resolution message is received at the NS server by the server pool resolution module 10. The pool name is retrieved, and the server module 10 accesses the memory 14 to retrieve address information that is stored associated with the pool name. In this example, the IP addresses of the pool elements PE1, PE2 are read from memory 14 together with the port address that should be used to request a separate service, and, according to the invention, also time stamps 'A8C0', '-A8C1' stored in associative communication with servers PE1, PE2, read from memory 14. Step S2 in FIG. 3 ends here.

Серверный модуль 10 компонует сообщение ответа разрешения имени согласно протоколу IETF ASAP, которое содержит список разрешения имен с транспортными адресами элементов PE1, PE2, как известно в области техники. Далее, вектор состояния присоединяется к части информации о транспортном адресе в сообщении-ответе. Вектор содержит в этом примере два основанных на временной отметке элемента состояния для серверов PE1, PE2 пула.The server module 10 composes a name resolution response message according to the IETF ASAP protocol, which contains a name resolution list with transport addresses of elements PE1, PE2, as is known in the art. Further, the state vector is attached to the part of the transport address information in the response message. The vector in this example contains two time-based status items for the pool servers PE1, PE2.

Сообщение-ответ отправляется отправителю запроса (этап S3 на фиг.3), т.е. клиентскому модулю 16 пользователя PU пула. После приема сообщения-ответа модуль 16 извлекает транспортные адреса и вектор состояния из сообщения-ответа и записывает данные в память 20. Далее модуль захватывает управление над модулем 18 выбора сервера.A response message is sent to the sender of the request (step S3 in FIG. 3), i.e. client module 16 user PU pool. After receiving the response message, the module 16 extracts the transport addresses and the state vector from the response message and writes data to the memory 20. Next, the module takes control of the server selection module 18.

Чтобы выбрать конкретный сервер для отправки ему запроса на обслуживание (т.е. выполняют этап S5 на фиг.3), модуль 18 выбора сначала загружает два вектора состояния в рабочую память, первый, который был определен модулем 22 готовности сервера, второй является вектором состояния, принятым от сервера имен, как описано выше.In order to select a specific server for sending it a service request (i.e., perform step S5 in FIG. 3), the selection module 18 first loads two status vectors into the working memory, the first one that was determined by the server ready module 22, the second is a state vector received from the name server as described above.

Модуль 22 готовности сервера определяет информацию о состоянии, относящуюся к готовности одного или более элементов пула, и получает доступ к памяти 20, чтобы записать туда информацию о состоянии. В частности, модуль 22 определяет положительное значение временной отметки для каждого времени, таймер для обработки сообщения на транспортном уровне и уровне приложений не истекает, т.е. соответствующую обработку успешно завершают посредством приема подтверждения, ответа или другой реакции от сервера пула. В случае когда таймер, относящийся к транспортному или прикладному соединению с сервером, истекает (т.е. ответ не принимается вовремя), отрицательное значение текущей временной отметки по окончании таймера записывается в первый вектор состояния, определенный локально модулем 22 готовности.The server availability module 22 determines status information related to the availability of one or more elements of the pool and accesses memory 20 to record status information there. In particular, module 22 determines a positive value of the time stamp for each time, the timer for processing the message at the transport and application levels does not expire, i.e. appropriate processing is successfully completed by receiving an acknowledgment, response, or other response from the pool server. In the case where the timer related to the transport or application connection with the server expires (i.e., the response is not received on time), the negative value of the current time stamp at the end of the timer is written to the first state vector determined locally by the ready module 22.

Как упоминалось выше, модуль 18 выбора загружает оба вектора состояния. Затем модуль 18 определяет обновленный локальный вектор состояния, заменяя каждый элемент в локальном значении состояния соответствующим значением вектора состояния сервера имен в случае, когда это соответствующее значение в абсолютных выражениях (т.е. игнорируя знак '-') является наибольшим, что означает, что измерение состояния сервера имен более свежее, т.е. было выполнено более недавно, то измерение состояния выполняют локально модулем 22 готовности.As mentioned above, the selection module 18 loads both state vectors. Module 18 then determines the updated local state vector, replacing each element in the local state value with the corresponding value of the name server state vector in the case when this corresponding value in absolute terms (i.e. ignoring the '-' sign) is the largest, which means that measuring the state of the name server is more recent, i.e. was performed more recently, the state measurement is performed locally by the standby module 22.

В качестве примера сохраненный локальный (первый) вектор состояния может представлять состояние PE1 в 11:50 (недоступен) и 11:55 (доступен), т.е. <-A668, A794>, затем локальный вектор обновляется в обоих позициях, имеющих результатом <A8C0, -A8C1>.As an example, the saved local (first) state vector can represent state PE1 at 11:50 (unavailable) and 11:55 (available), i.e. <-A668, A794>, then the local vector is updated at both positions with the result <A8C0, -A8C1>.

Обновленный вектор записывается назад в память в позицию локального вектора. Позиция хранения для вектора, принятого от сервера NS имен, может использоваться для разных целей внутри мобильного устройства.The updated vector is written back to memory at the position of the local vector. The storage position for the vector received from the NS name server can be used for various purposes within the mobile device.

На следующем этапе (этап 5 на фиг.3) модуль 18 выбора сервера определяет сервер, который должен быть выбран посредством оценки наибольшего значения в обновленном векторе состояния. В этом примере наибольшее значение - это 'A8C0', сохраняемое в позиции, указывающей элемент PE1 пула. Таким образом, модуль 18 создает указатель, указывающий на позицию сохранения внутри памяти 20, содержащую транспортный адрес и дополнительные данные, такие как адрес порта, относящиеся к PE1, и возвращает этот указатель назад вызывающему приложению, чтобы разрешить ему запросить обслуживание от PE1.In the next step (step 5 in FIG. 3), the server selection module 18 determines the server to be selected by estimating the highest value in the updated status vector. In this example, the largest value is 'A8C0', stored at the position indicating the PE1 element of the pool. Thus, module 18 creates a pointer indicating a storage position within memory 20 containing the transport address and additional data, such as a port address related to PE1, and returns this pointer back to the calling application to allow it to request service from PE1.

Конкретный пример, описанный здесь, иллюстрирует только один подходящий вариант осуществления изобретения. В рамках цели изобретения, которая исключительно точно определена прилагаемой формулой изобретения, доступны многие дополнительные варианты осуществления посредством квалифицированного действия.The specific example described here illustrates only one suitable embodiment of the invention. Within the scope of the invention, which is precisely defined by the appended claims, many additional embodiments are available through skilled practice.

Например, устройства и модули, такие как описанные в данном документе, могут быть осуществлены как аппаратные или программно-аппаратные средства. Предпочтительно, однако, что они осуществлены как программное обеспечение. Например, устройство пользователя пула, содержащее какие-либо дополнительные модули, как описано выше, может быть осуществлено в мобильном устройстве в качестве апплета.For example, devices and modules, such as those described herein, may be implemented as hardware or firmware. Preferably, however, they are implemented as software. For example, a pool user device containing any additional modules, as described above, may be implemented in the mobile device as an applet.

Claims (17)

1. Способ обеспечения надежной функции сервера в поддержке службы1. A way to provide reliable server function in service support или набора служб, таких как приложения, основанные на Интернет, способ содержит следующие этапы, на которыхor a set of services, such as Internet-based applications, the method comprises the following steps, in which формируют пул (SP) серверов с одним или более элементами (РЕ1, РЕ2) пула, причем каждый из элементов (РЕ1, РЕ2) пула может поддерживать службу(ы),form a pool (SP) of servers with one or more elements (PE1, PE2) of the pool, and each of the elements (PE1, PE2) of the pool can support the service (s), обеспечивают, по меньшей мере, один сервер (NS) имен для управления и сохранения пространства имен для пула (SP) серверов, причем пространство имен содержит имя пула, идентифицирующее пул (SP) серверов,provide at least one name server (NS) for managing and maintaining the namespace for the pool (SP) of servers, the namespace containing a pool name identifying the pool (SP) of servers, отправляют посредством пользователя (PU) пула, для использования службы/служб, запрос серверу (NS) имен, указывающий имя пула,send by the user (PU) of the pool, to use the service / services, a request to the server (NS) names indicating the name of the pool, разрешают, посредством сервера (NS) имен по запросу, имя пула в список разрешения имен, причем список разрешения имен содержит адресную информацию, такую как IP-адрес, относящуюся к одному или более элементам (РЕ1, РЕ2) пула,resolving, by the name server (NS) upon request, the pool name to the name resolution list, the name resolution list containing address information such as an IP address relating to one or more elements (PE, PE) of the pool, отправляют список разрешения имен посредством сервера (NS) имен пользователю (PU) пула,send a name resolution list by the name server (NS) to the pool user (PU), получают доступ, посредством пользователя (PU) пула и на основе адресной информации из списка разрешения имен, к одному из элементов (РЕ1, РЕ2) пула (SP) серверов для использования службы/служб,get access, through the user (PU) of the pool and based on the address information from the name resolution list, to one of the elements (PE1, PE2) of the server pool (SP) for using the service / services, отличающийся тем, чтоcharacterized in that отправляют информацию о состоянии, относящуюся к операционному состоянию, по меньшей мере, одного из элементов (РЕ1, РЕ2) пула, из сервера (NS) имен к пользователю (PU) пула,send status information related to the operational state of at least one of the elements (PE1, PE2) of the pool from the name server (NS) to the pool user (PU), пользователь (PU) пула определяет вектор состояния, содержащий информацию о состоянии, относящуюся к готовности одного или более из элементов (РЕ1, РЕ2) пула, и вектор состояния, определенный пользователем (PU) пула, обновляется посредством вектора состояния, принятого от сервера (NS) имен, иthe user (PU) of the pool defines a state vector containing status information related to the availability of one or more of the elements (PE1, PE2) of the pool, and the state vector defined by the user (PU) of the pool is updated by a state vector received from the server (NS ) names, and информация состояния, относящаяся к готовности, определяется по истечении или неистечении времени одного или более таймеров, относящегося к передаче сообщения между пользователем (PU) пула и одним или более из элементов (РЕ1, РЕ2) пула, на уровне приложения и/или транспортном уровне.status information related to availability is determined after the expiration or non-expiration of the time of one or more timers related to the transmission of a message between the pool user (PU) and one or more of the pool elements (PE1, PE2) at the application level and / or transport level. 2. Способ по п.1, отличающийся тем, что информация о состоянии представляет временную отметку, указывающую момент времени, в который определяется состояние одного из элементов (РЕ1, РЕ2) пула.2. The method according to claim 1, characterized in that the status information is a time stamp indicating the point in time at which the state of one of the elements (PE1, PE2) of the pool is determined. 3. Способ по п.2, отличающийся тем, что3. The method according to claim 2, characterized in that состояние упомянутого одного из элементов (РЕ1, РЕ2) пула определяется на основе сообщения подтверждения доступности, принятого сервером (NS) имен от одного из элементов (РЕ1, РЕ2) пула в ответ на сообщение о доступности, отправленное сервером (NS) имен одному из элементов (РЕ1, РЕ2) пула, или извещение об истечении времени локального таймера на сервере (NS) имен из-за отсутствия сообщения подтверждения доступности от одного из элементов (РЕ1, РЕ2) пула,the state of said one of the pool elements (PE1, PE2) is determined based on the availability confirmation message received by the name server (NS) from one of the pool elements (PE1, PE2) in response to the availability message sent by the name server (NS) to one of the elements (PE1, PE2) of the pool, or a notification about the expiration of the local timer on the name server (NS) due to the lack of an availability confirmation message from one of the elements (PE1, PE2) of the pool, сообщение подтверждения доступности и извещение об истечении времени локального таймера указывают состояние одного из элементов (РЕ1, РЕ2) пула, например, такое как включение и выключение, соответственно.an availability confirmation message and a local timer expiration notification indicate the status of one of the elements (PE1, PE2) of the pool, for example, such as turning it on and off, respectively. 4. Способ по п.2 или 3, отличающийся тем, что4. The method according to claim 2 or 3, characterized in that информация о состоянии содержит положительное число, например, представляющее временную отметку, если упомянутый один из элементов (РЕ1, РЕ2) пула находится в состоянии «включен», иthe status information contains a positive number, for example, representing a time stamp, if said one of the elements (PE1, PE2) of the pool is in the “on” state, and информация о состоянии содержит отрицательное число, например, представляющее временную отметку со знаком минус, если упомянутый один из элементов (РЕ1, РЕ2) пула находится в состоянии «выключен».status information contains a negative number, for example, representing a time stamp with a minus sign, if one of the pool elements (PE1, PE2) mentioned is in the “off” state. 5. Способ по п.1, отличающийся тем, что этап, на котором отправляют запрос посредством пользователя (PU) пула к серверу (NS) имен, выполняется посредством отправления сообщения разрешения имени, причем отправка запускается пользователем (PU) пула для выполнения заполнения кэша.5. The method according to claim 1, characterized in that the step of sending the request by the user (PU) of the pool to the name server (NS) is performed by sending a name resolution message, the sending being triggered by the user (PU) of the pool to fill the cache . 6. Способ по п.5, отличающийся тем, что этап, на котором отправляют список разрешения имен сервером (NS) имен к пользователю (PU) пула, содержит передачу ответного сообщения разрешения имени, которое дополнительно содержит информацию о состоянии, при этом информация о состоянии предпочтительно вставляется в ответное сообщение разрешения имени в качестве вектора состояния.6. The method according to claim 5, characterized in that the step of sending the name resolution list by the name server (NS) to the pool user (PU) comprises transmitting a name resolution response message that further comprises status information, wherein state is preferably inserted in the name resolution response message as a state vector. 7. Способ по п.1, отличающийся тем, что конкретный один из элементов (РЕ1, РЕ2) пула в пуле (SP) серверов выбирается для функции сервера на основе информации о состоянии в векторе состояния, принятом от сервера (NS) имен.7. The method according to claim 1, characterized in that a particular one of the elements (PE1, PE2) of the pool in the server pool (SP) is selected for the server function based on the status information in the state vector received from the name server (NS). 8. Способ по п.1, отличающийся тем, что вектор состояния, определенный пользователем (PU) пула, обновляется посредством замены информации состояния соответствующей информацией состояния вектора состояния, принятого от сервера (NS) имен, в случае, когда соответствующая информация о состоянии указана как более свежая, например, когда абсолютное значение временной отметки является более высоким.8. The method according to claim 1, characterized in that the state vector defined by the user (PU) of the pool is updated by replacing the state information with the corresponding state information of the state vector received from the name server (NS), in the case when the corresponding state information is indicated as more recent, for example, when the absolute value of the time stamp is higher. 9. Способ по любому из пп.5-8, отличающийся тем, что на этапе выбора конкретного одного из элементов (РЕ1, РЕ2) пула в пуле серверов, посредством пользователя (PU) пула, дополнительно применяется стратегия выбора сервера, в частности, SSP с максимальной готовностью или одно из ее расширений.9. The method according to any one of claims 5 to 8, characterized in that at the stage of selecting a particular one of the elements (PE1, PE2) of the pool in the server pool, by the user (PU) of the pool, a server selection strategy is additionally applied, in particular, SSP with maximum readiness or one of its extensions. 10. Сервер (NS) имен для управления и хранения пространства имен для пула (SP) серверов с одним или более элементами (РЕ1, РЕ2) пула для обеспечения надежной функции сервера при поддержке службы или набора служб, таких как приложения, основанные на Интернет, причем сервер имен содержит10. A name server (NS) for managing and storing a namespace for a pool (SP) of servers with one or more pool elements (PE1, PE2) to provide reliable server functions while supporting a service or set of services, such as Internet-based applications, moreover, the name server contains серверный модуль (10) разрешения пула для приема запроса, предпочтительно сообщения разрешения имени, согласно протоколу IETF ASAP, указывающее имя пула, иa pool resolution server module (10) for receiving a request, preferably a name resolution message, according to the IETF ASAP protocol indicating a pool name, and память (14) для хранения адресной информации, такой как IP-адрес, относящейся к элементам (РЕ1, РЕ2) пула, связанным с именем пула, идентифицирующим пул (SP) серверов,a memory (14) for storing address information, such as an IP address, related to the pool elements (PE1, PE2) associated with the pool name identifying the server pool (SP), причем серверный модуль (10) разрешения пула предназначен для разрешения, в ответ на запрос, имени пула в список разрешения имен посредством получения доступа к памяти (14) и извлечения адресной информации, связанной с его именем пула, и для компоновки сообщения, содержащего список разрешения имен, такого как ответное сообщение разрешения имени согласно протоколу IETF ASAP, и для отправки сообщения отправителю (16) запроса,moreover, the server module (10) for resolving the pool is intended for resolving, in response to a request, the name of the pool in the name resolution list by accessing the memory (14) and retrieving the address information associated with its pool name, and for composing a message containing the permission list names, such as a name resolution response message according to the IETF ASAP protocol, and for sending a message to the sender (16) of the request, отличающийся тем, чтоcharacterized in that память (14) дополнительно предназначена для хранения информации о состоянии, связанной с одним или более элементами (РЕ1, РЕ2) пула, иthe memory (14) is further provided for storing status information associated with one or more elements (PE1, PE2) of the pool, and серверный модуль (10) разрешения пула дополнительно предназначен для получения доступа, в ответ на запрос, к памяти (14) для извлечения информации о состоянии и отправки информации о состоянии назад к отправителю (16) запроса, предпочтительно путем вставки информации о состоянии в сообщение в качестве вектора состояния.the server module (10) for resolving the pool is additionally designed to access, in response to the request, memory (14) for retrieving status information and sending status information back to the sender (16) of the request, preferably by inserting status information into the message in as a state vector. 11. Сервер имен по п.10, отличающийся модулем (12) состояния элемента, предназначенным для компоновки сообщения о доступности, предпочтительно сообщения о доступности конечной точки согласно протоколу IETF ASAP, и для отправки сообщения о доступности одному из элементов (РЕ1, РЕ2) пула и для приема сообщения подтверждения доступности или приема уведомления об истечении времени локального таймера, предпочтительно сообщения подтверждения доступности конечной точки или истечения времени локального таймера согласно протоколу IETF ASAP от одного из элементов (РЕ1, РЕ2) пула и, в ответ на этот прием, для получения доступа к памяти (14) для записи информации о состоянии, указывающей состояние упомянутого одного из элементов (РЕ1, РЕ2) пула, предпочтительно как нахождение во включенном или выключенном состоянии, соответственно.11. The name server of claim 10, characterized by an element state module (12) for composing an availability message, preferably an endpoint availability message according to the IETF ASAP protocol, and for sending an availability message to one of the pool elements (PE1, PE2) and for receiving an availability confirmation message or receiving a local timer expiration notification, preferably an endpoint availability confirmation message or a local timer expiration message according to the IETF ASAP protocol from one of the cops (PE1, PE2) of the pool and, in response to this trick, to gain access to the memory (14) for recording status information indicating the state of the said one of the elements (PE1, PE2) of the pool, preferably as being on or off , respectively. 12. Сервер имен по п.11, отличающийся тем, что модуль (12) состояния элемента предназначен для записи в качестве информации о состоянии числа, представляющего временную отметку.12. The name server according to claim 11, characterized in that the element state module (12) is intended to be recorded as state information of a number representing a time stamp. 13. Устройство (PU) пользователя пула для использования функции сервера в поддержке службы или набора служб, например, приложений, основанных на Интернет, которая может быть предоставлена каждым из одного или более элементов (РЕ1, РЕ2) пула (SP) серверов, при этом устройство пользователя пула содержит13. The pool user device (PU) for using the server function to support a service or set of services, for example, Internet-based applications, which can be provided by each of one or more server pool (SP) elements (PE1, PE2), wherein the pool user device contains клиентский модуль (16) разрешения пула для компоновки запроса, предпочтительно сообщения разрешения имени согласно протоколу IETF ASAP, указывающий имя пула, идентифицирующее пул (SP) серверов, для отправки запроса серверу (NS) имен и приема сообщения, содержащего список разрешения имен, предпочтительно ответное сообщение разрешения имени согласно протоколу IETF ASAP от сервера (NS) имен,a pool resolution client module (16) for composing a request, preferably a name resolution message according to the IETF ASAP protocol, indicating a pool name identifying a server pool (SP) for sending a request to a server (NS) of names and receiving a message containing a name resolution list, preferably a response a name resolution message according to the IETF ASAP protocol from the name server (NS), модуль (18) выбора сервера для получения доступа на основе адресной информации из списка разрешения имен к конкретному одному из элементов (РЕ1, РЕ2) пула (SP) серверов для использования службы/служб, отличающийся тем, чтоa server selection module (18) for accessing based on address information from a name resolution list to a particular one of the elements (PE1, PE2) of the server pool (SP) for using the service / services, characterized in that клиентский модуль (16) разрешения пула дополнительно предназначен для приема сообщения, содержащего вектор состояния, и модуль (18) выбора сервера дополнительно предназначен для получения доступа к конкретному одному из элементов (РЕ1, РЕ2) пула в ответ на информацию о состоянии, включенную в вектор состояния, причем клиентский модуль (16) разрешения также предназначен для определения вектора состояния, содержащего информацию о состоянии, относящуюся к готовности одного или более элементов (РЕ1, РЕ2) пула, и обновления вектора состояния, определенного пользователем (PU) пула, посредством вектора состояния, принятого от сервера (NS) имен, иthe pool resolution client module (16) is additionally designed to receive a message containing a state vector, and the server selection module (18) is further designed to access a particular one of the pool elements (PE1, PE2) in response to the status information included in the vector state, and the client permission module (16) is also designed to determine the state vector containing state information related to the availability of one or more elements (PE1, PE2) of the pool, and update the state vector, determine a user pool (PU) by a state vector received from a name server (NS), and клиентский модуль (16) разрешения пула предназначен для определения информации о состоянии, относящейся к готовности, по истечении или неистечении времени одного или более таймеров, относящихся к передаче сообщения между пользователем (PU) пула и одним или более элементами (РЕ1, РЕ2) пула на уровне приложений и/или транспортном уровне.the client resolution module (16) of the pool is designed to determine status information related to availability after one or more timers related to the transmission of a message between the pool user (PU) and one or more pool elements (PE1, PE2) on application level and / or transport level. 14. Устройство пользователя пула по п.13, отличающееся памятью (20) для хранения информации о состоянии, предпочтительно вектора состояния, при этом клиентский модуль (16) разрешения пула и модуль (18) выбора сервера предназначены для записи и считывания, соответственно, информации о состоянии.14. The pool user device according to item 13, characterized by a memory (20) for storing status information, preferably a state vector, while the client pool resolution module (16) and the server selection module (18) are used to write and read information, respectively about the condition. 15. Устройство пользователя пула по п.14, отличающееся модулем (22) готовности сервера для определения информации о состоянии, относящейся к готовности одного или более элементов (РЕ1, РЕ2) пула, и получения доступа к памяти (20) для записи информации о состоянии.15. The pool user device according to claim 14, characterized in a server readiness module (22) for determining status information related to the readiness of one or more pool elements (PE1, PE2) and accessing memory (20) for recording status information . 16. Устройство пользователя пула по п.15, отличающееся тем, что модуль (18) выбора сервера предназначен для обновления вектора состояния, записанного модулем (22) доступности сервера в память (20), посредством вектора состояния, принятого клиентским модулем (16) разрешения пула.16. The pool user device according to claim 15, characterized in that the server selection module (18) is designed to update the state vector recorded by the server availability module (22) in the memory (20) by means of the state vector received by the client resolution module (16) the pool. 17. Устройство пользователя пула по любому из пп.13-16, отличающееся тем, что при выборе конкретного одного из элементов (РЕ1, РЕ2) пула в пуле (SP) серверов посредством модуля (18) выбора сервера дополнительно применяется стратегия выбора сервера, в частности, SSP с максимальной готовностью или одно из ее расширений.17. The pool user device according to any one of claims 13-16, characterized in that when selecting a particular one of the pool elements (PE1, PE2) in the server pool (SP) through the server selection module (18), a server selection strategy is additionally applied, in in particular, SSP with maximum availability or one of its extensions.
RU2006127893/09A 2004-06-29 2004-06-29 Method of ensuring reliable server function in support of service or set of services RU2329609C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006127893/09A RU2329609C2 (en) 2004-06-29 2004-06-29 Method of ensuring reliable server function in support of service or set of services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006127893/09A RU2329609C2 (en) 2004-06-29 2004-06-29 Method of ensuring reliable server function in support of service or set of services

Publications (2)

Publication Number Publication Date
RU2006127893A RU2006127893A (en) 2008-02-10
RU2329609C2 true RU2329609C2 (en) 2008-07-20

Family

ID=39265844

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006127893/09A RU2329609C2 (en) 2004-06-29 2004-06-29 Method of ensuring reliable server function in support of service or set of services

Country Status (1)

Country Link
RU (1) RU2329609C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2517377C2 (en) * 2008-10-24 2014-05-27 Майкрософт Корпорейшн Allotting of functional possibilities for client services by implementation and translocation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2517377C2 (en) * 2008-10-24 2014-05-27 Майкрософт Корпорейшн Allotting of functional possibilities for client services by implementation and translocation

Also Published As

Publication number Publication date
RU2006127893A (en) 2008-02-10

Similar Documents

Publication Publication Date Title
US8352614B2 (en) Content management
JP5404766B2 (en) Method and system for requesting routing
US20170257340A1 (en) Managing request routing information utilizing client identifiers
US8005979B2 (en) System and method for uniquely identifying processes and entities in clusters
US20070160033A1 (en) Method of providing a reliable server function in support of a service or a set of services
US20120117214A1 (en) Service directory
JP2007124655A (en) Method for selecting functional domain name server
EP1762069B1 (en) Method of selecting one server out of a server set
RU2329609C2 (en) Method of ensuring reliable server function in support of service or set of services
KR100803854B1 (en) Method of providing a reliable server function in support of a service or a set of services
MXPA06008555A (en) Method of providing a reliable server function in support of a service or a set of services
RU2344562C2 (en) Method for server selection from set of servers
AU2004321228A1 (en) Method of providing a reliable server function in support of a service or a set of services
KR101584837B1 (en) Optimised fault-tolerance mechanism for a peer-to-peer network

Legal Events

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

Effective date: 20090630