KR100803854B1 - Method of providing a reliable server function in support of a service or a set of services - Google Patents

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

Info

Publication number
KR100803854B1
KR100803854B1 KR1020067015330A KR20067015330A KR100803854B1 KR 100803854 B1 KR100803854 B1 KR 100803854B1 KR 1020067015330 A KR1020067015330 A KR 1020067015330A KR 20067015330 A KR20067015330 A KR 20067015330A KR 100803854 B1 KR100803854 B1 KR 100803854B1
Authority
KR
South Korea
Prior art keywords
server
pool
name
elements
message
Prior art date
Application number
KR1020067015330A
Other languages
Korean (ko)
Other versions
KR20070024468A (en
Inventor
말얀 보지노브스키
로베르트 자이들
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 KR1020067015330A priority Critical patent/KR100803854B1/en
Publication of KR20070024468A publication Critical patent/KR20070024468A/en
Application granted granted Critical
Publication of KR100803854B1 publication Critical patent/KR100803854B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 인터넷 기반 애플리케이션과 같은 서비스를 지원하는 신뢰적인 서버 기능 제공 방법에 관한 것으로, 서버 기능은 하나 이상의 풀 엘리먼트들(PE1, PE2)을 갖는 서버 풀(SP)에 의해 제공되고, 각각의 풀 엘리먼트들(PE1, PE2)은 서비스 또는 서비스 세트를 지원할 수 있다. 네임 서버(NS)로부터 풀 유저(PU)로 하나 이상의 풀 엘리먼트들(PE1, PE2)의 동작 상태에 관련된 상태 정보를 송신함으로써, 서버 기능의 성능, 신뢰도 및 유용성은 현존하는 방법들에 있어서 향상된다.The present invention relates to a method for providing a reliable server function for supporting a service such as an Internet-based application, wherein the server function is provided by a server pool (SP) having one or more pool elements (PE1, PE2), each pool. Elements PE1 and PE2 may support a service or set of services. By transmitting state information related to the operational state of the one or more pool elements PE1 and PE2 from the name server NS to the full user PU, the performance, reliability and usefulness of the server function is improved in existing methods. .

Description

서비스 또는 서비스 세트를 지원하는데 있어 신뢰적인 서버 기능을 제공하는 방법{METHOD OF PROVIDING A RELIABLE SERVER FUNCTION IN SUPPORT OF A SERVICE OR A SET OF SERVICES}METHOOD OF PROVIDING A RELIABLE SERVER FUNCTION IN SUPPORT OF A SERVICE OR A SET OF SERVICES}

본 발명은, 인터넷 기반 애플리케이션들과 같은 서비스 또는 서비스 세트를 지원하는데 있어 신뢰적인 서버 기능을 제공하는 방법에 관한 것이다.The present invention is directed to a method for providing reliable server functionality in supporting a service or set of services, such as Internet-based applications.

R.Stewart 등 : <<Aggregate Server Access Protocol>> Internet Dratf, [Online] 9 June 2004(2004-06-09), pages 1-43, XP002308317 IETF Retrieved from the Internet : URL : http://www.watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt>[retrieved on 2004-11-30]는, 종단점 네임 분석 프로토콜(ENRP)과 함께 애그리게이트 서버 액세스 프로토콜(ASAP)이 IP 네트워크에 있어서 높은 유용성 데이터 전송 메커니즘을 제공한다고 기술한다. ASAP는 논리적 통신 종단점을 IP 주소(들)로부터 분리시키는 네임 기반 어드레싱 모델을 사용하고, 따라서 정상적으로 실패의 한 점을 구성하는 통신 종단점과 그의 물리적 IP 주소(들) 사이의 바인딩을 효과적으로 제거한다.
Q.Xie 등 : <<Rserpool Redundancy-model Policy>> Internet Draft, [Online] 9 June 2004(2004-06-09), pages 1-43, XP002308317 IETF Retrieved from the Internet : URL : http://www.watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt> [retrieved on 2004-11-30])는, Rserpool Redundancy-model Member Selection Policy 파라미터 및 그에 관한 절차들을 정의한다. 상기 정책은 유연하고, 일부 높은 유연성 시스템들에서 발견되는 넓은 범위의 향상된 중복성 모들들을 지원하는 것이 가능하도록 설계된다. 상기 설계는 Rserpool poll load sharing policy에서의 확장 가능성을 사용한다.
US 2003/0101258 A1은 네트워킹된 컴퓨터 시스템에서 레플리카(replica) 서버들을 모니터하기 위한 방법을 개시하고, 여기서 상기 시스템 내의 각 서버는 상기 시스템 내의 다른 서버들에 관한 상태 정보를 포함하는 레플리카 파트너 벡터 테이블을 가진다. 레플리카 파트너 벡터 테이블은 갱신 시퀀스 넘버 및 최신의 갱신 시각 및/또는 상기 시스템 내의 각 레플리카 서버를 위해 최신으로 성공한 복제 시도의 시각을 식별하는 타임스탬프 정보를 저장하기 위한 데이터 필드들을 포함한다. 각각의 성공한 복제 후, 서버는 상기 갱신된 USN 및 타임스탬프 정보를 반영하기 위해 레플리카 파트너 벡터 내의 엔트리들을 갱신한다. 레플리카 모니터링 방법은 상기 시스템 내의 임의의 서버들이 지연되는 경우를 결정하기 위해 레플리카 파트너 벡터 테이블 내의 상기 USN 및 타임스탬프 엔트리들을 평가한다. 상기 모니터링 방법이 상기 시스템 내의 임의 서버가 지연되고 있음을 검출하는 경우, 경보가 생성되고 사용자들 및/또는 네트워크 관리자는 그 문제점을 통보받는다.
서버 기반 기능들, 예를 들면 인터넷 기반 애플리케이션들을 통해 제공되는 서비스들에 액세스하기 위해 유용성 및 신뢰도를 증가시키기 위하여, 하나의 서버만을 대신하여 서버들의 풀을 제공하는 것이 매우 선호되어왔다. 풀 엘리먼트들로 불리는 서버 풀(server pool)의 각 서버들은 요청된 서비스 또는 서비스 세트를 지원할 수 있다.
R. Stewart et al .: << Aggregate Server Access Protocol >> Internet Dratf, [Online] 9 June 2004 (2004-06-09), pages 1-43, XP002308317 IETF Retrieved from the Internet: URL: http: // www. watersprings.org/pub/id/draft-ietf-rserpool-asap-09.txt>[retrieved on 2004-11-30], together with the Endpoint Name Resolution Protocol (ENRP), allows the Aggregate Server Access Protocol (ASAP) to It is described to provide a high availability data transmission mechanism in a network. ASAP uses a name-based addressing model that separates logical communication endpoints from IP address (s), thus effectively removing the binding between the communication endpoints and their physical IP address (s) that normally constitute one point of failure.
Q.Xie et al .: << Rserpool Redundancy-model Policy >> Internet Draft, [Online] 9 June 2004 (2004-06-09), pages 1-43, XP002308317 IETF Retrieved from the Internet: URL: http: // www .watersprings.org / pub / id / draft-ietf-rserpool-asap-09.txt > [retrieved on 2004-11-30]) defines the Rserpool Redundancy-model Member Selection Policy parameters and their procedures. The policy is flexible and is designed to be able to support the wide range of enhanced redundancy models found in some high flexibility systems. The design uses scalability in Rserpool poll load sharing policy.
US 2003/0101258 A1 discloses a method for monitoring replica servers in a networked computer system, where each server in the system has a replica partner vector table containing status information about other servers in the system. Have The replica partner vector table includes data fields for storing the update sequence number and time stamp information identifying the latest update time and / or the time of the latest successful replication attempt for each replica server in the system. After each successful copy, the server updates the entries in the replica partner vector to reflect the updated USN and timestamp information. A replica monitoring method evaluates the USN and timestamp entries in a replica partner vector table to determine when any servers in the system are delayed. If the monitoring method detects that any server in the system is being delayed, an alert is generated and users and / or network administrators are informed of the problem.
In order to increase the usability and reliability for accessing server based functions, such as services provided through Internet based applications, it has been highly preferred to provide a pool of servers on behalf of only one server. Each server in a server pool, called pool elements, can support the requested service or set of services.

애플리케이션의 높은 성능, 유용성 및 확장성을 지원하기 위하여 어떤 서버들이 풀 내에 있으며 요청(request)들의 수신이 가능한지와 클라이언트가 원하는 서버에 접속하는(bind) 방법을 추적하는 것이 요구된다. 이러한 논제들은 RSerPool 워킹 그룹으로 불리는 IETF(Internet Engineering Task Force) Working Group "Reliable Server Pooling"에서 논의되어 있다. 신뢰적인 서버 풀링의 아키텍쳐는 상기 워킹 그룹 내에서 표준화되고 있고, 예를 들면 Tuexen 등의, "Architecture for Reliable Server Pooling", <draft-ietf-rserpool-arch-0.7txt>, October 12, 2003에 기술된 신뢰적인 서버 풀링 무정지형(fault-tolerant) 플랫폼을 참조하라. In order to support the high performance, usability and scalability of the application, it is necessary to keep track of which servers are in the pool and are able to receive requests and how the client binds to the desired server. These topics are discussed in the Internet Engineering Task Force (IETF) Working Group "Reliable Server Pooling" called the RSerPool Working Group. The architecture of reliable server pooling is standardized within the working group and described, for example, in Tuexen et al., "Architecture for Reliable Server Pooling," <draft-ietf-rserpool-arch-0.7txt>, October 12, 2003. See trusted server pooling fault-tolerant platform.

RSerPooL은 세 가지 종류의 아키텍쳐 엘리먼트들을 정의한다 :RSerPooL defines three kinds of architectural elements:

- 풀 엘리먼트들(PE) : 풀 내에서 동일한 서비스를 제공하는 서버들;Pool elements PE: servers providing the same service in the pool;

- 풀 유저들(PUs) : PE들로부터 서비스를 제공받는 클라이언트들;Full users (PUs): clients served by PEs;

- 네임 서버들(NS) : PU들에 해석 서비스를 제공하고 PE들의 상태를 모니터하는 서버들.Name Servers (NS): Servers that provide resolution services to PUs and monitor the state of PEs.

RSerPooL에서, 풀 엘리먼트들은 임의의 풀 내에 그룹화된다. 임의의 풀은 고유한 풀 네임(pool name)에 의해 식별된다. 풀에 액세스하기 위해, 상기 풀 유저는 네임 서버에 문의한다.In RSerPooL, pool elements are grouped in any pool. Any pool is identified by a unique pool name. To access the pool, the pool user consults a name server.

도 1은 공지된 RSerPooL 아키텍쳐를 개략적으로 도시한다. 풀(풀 네임에 의해 식별됨)에 데이터를 송신하기 전, 풀 유저는 네임 분석 쿼리(name resolution query)를 네임(또는 ENRP, 아래 참조) 서버에 송신한다. ENRP 서버는 상기 풀 네임을 PE들의 전송 주소들로 분석한다(resolve). 상기 정보를 이용하여, PU는 데이터를 송신할 PE의 전송 주소를 선택할 수 있다.1 schematically illustrates a known RSerPooL architecture. Before sending data to the pool (identified by the pool name), the pool user sends a name resolution query to the name (or ENRP, see below) server. The ENRP server resolves the full name to the transport addresses of the PEs. Using this information, the PU can select the transport address of the PE to which to send data.

RSerPooL은 두 개의 프로토콜들, 즉 애그리게이트 서버 액세스 프로토콜(ASAP : aggregate server access protocol) 및 종단점 네임 분석 프로토콜(ENRP : endpoint name resolution protocol)을 포함한다. ASAP는 자신의 IP 주소(들)로부터 논리적 통신 종단점(endpoint)을 분리시키는 네임 기반 어드레싱 모 델을 사용한다. 네임 서버들은 서버 풀들에 관한 정보 및 갱신을 교환할 목적으로 서로서로 통신하기 위하여 ENRP를 사용한다. 주어진 엔티티에서 동작중인 ASAP(또는 ENRP)의 인스턴스는 상기 엔티티의 ASAP(또는 ENRP) 종단점으로서 언급된다. 예를 들면, PU에서 동작중인 ASAP 인스턴스는 PU의 ASAP 종단점으로 불린다.RSerPooL includes two protocols: aggregate server access protocol (ASAP) and endpoint name resolution protocol (ENRP). ASAP uses a name-based addressing model that separates logical communication endpoints from its IP address (es). Name servers use ENRP to communicate with each other to exchange information and updates about server pools. An instance of an ASAP (or ENRP) running on a given entity is referred to as the ASAP (or ENRP) endpoint of that entity. For example, an ASAP instance running on a PU is called an ASAP endpoint of the PU.

PU가 하나 이상의 PE들을 포함하는 풀에 메시지를 송신할 때마다, 상기 PU의 ASAP 종단점은 현재 메시지의 수신기로서 상기 풀 내에 있는 PE들 중에서 하나의 PE를 선택해야만 한다. 상기 선택은 현재의 서버 선택 정책(SSP)에 따라 PU 내에서 수행된다. 네 개의 기본 SSP들은 현재 ASAP, 즉 Round Robin, Least Used, Least Used With Degradation 및 Weighted Round Robin에 따라 사용하기 위해 논의되고 있고, R.R.Stewart, Q.Xie : Aggregate Server Access Protocol(ASAP), <draft-ietf-rserpool-asap-0.8.txt>(October 21, 2003)을 참조하라.Each time a PU sends a message to a pool containing one or more PEs, the ASAP endpoint of the PU must select one PE among the PEs in the pool as the receiver of the current message. The selection is performed in the PU according to the current server selection policy (SSP). Four basic SSPs are currently being discussed for use under ASAP: Round Robin, Least Used, Least Used With Degradation, and Weighted Round Robin.RRStewart, Q.Xie: Aggregate Server Access Protocol (ASAP), <draft- ietf-rserpool-asap-0.8.txt> (October 21, 2003).

도 2의 간단한 예시적인 시퀀스 다이어그램은 PU의 ASAP 종단점이 주어진 풀 네임을 위해 캐쉬 파퓰레이션(cache population)[Stewart&Xie]을 수행하고 종래 기술에 따라 PE를 선택할 때의 이벤트 시퀀스를 나타낸다.The simple exemplary sequence diagram of FIG. 2 shows the sequence of events when the ASAP endpoint of a PU performs a cache population [Stewart & Xie] for a given full name and selects a PE according to the prior art.

캐쉬 파퓰레이션(갱신)은, ENRP 서버에 의해 검색된 최신의 네임-주소 매핑 데이터(the latest name-to-address mapping data)로 로컬 네임 캐쉬를 갱신하는 것을 의미한다.Cache population (update) means updating the local name cache with the latest name-to-address mapping data retrieved by the ENRP server.

도 2에 도시된 단계들은 다음과 같이 설명된다 : The steps shown in FIG. 2 are described as follows:

S1 : PU의 ASAP 종단점은 주어진 풀 네임에 관한 모든 정보를 요청하는 NAME RESOLUTION 쿼리(query)를 ENRP 서버에 송신한다.S1: The ASAP endpoint of the PU sends a NAME RESOLUTION query to the ENRP server requesting all information about the given pool name.

S2 : ENRP 서버는 상기 쿼리를 수신하고 특정한 풀 네임을 위한 데이터베이스 엔트리의 위치를 찾는다. ENRP 서버는 상기 데이터베이스 엔트리로부터 전송 주소들 정보를 추출한다.S2: The ENRP server receives the query and finds the location of the database entry for the particular full name. The ENRP server extracts transport address information from the database entry.

S3 : ENRP 서버는 PE들의 전송 주소들이 삽입된 NAME RESOLUTION RESPONSE를 생성한다. ENRP 서버는 PU에 NAME RESOLUTION RESPONSE를 송신한다.S3: The ENRP server creates a NAME RESOLUTION RESPONSE containing the PE's transport addresses. The ENRP server sends a NAME RESOLUTION RESPONSE to the PU.

S4 : PU의 ASAP 종단점은 풀 네임 상의 전송 주소들 정보로 자신의 로컬 네임 캐쉬를 파퓰레이트한다.S4: The ASAP endpoint of the PU populates its local name cache with information of transport addresses on the full name.

S5 : PU는 수신된 주소 정보에 기반하여 서버 풀의 풀 엘리먼트들 중에서 하나의 풀 엘리먼트를 선택한다.S5: The PU selects one pool element among the pool elements of the server pool based on the received address information.

궁극적으로, PU는 서비스 또는 서비스 세트를 사용하기 위해 상기 선택된 서버에 액세스한다. Ultimately, a PU accesses the selected server to use a service or set of services.

기존의 고정 서버 선택 정책은 서버를 선택하기 위해 미리 정해진 방식들을 사용한다. 고정 SSP들의 예를 들면 아래와 같다 : The existing fixed server selection policy uses predetermined methods to select a server. Examples of fixed SSPs are as follows:

- Round Robin은 순환형 정책으로서, 서버들은 초기에 선택된 서버가 다시 선택되기 전까지 순차적 방식으로 선택된다;Round Robin is a cyclical policy in which servers are selected in a sequential fashion until the initially selected server is selected again;

- Weighted Round Robin은 Round Robin의 간단한 확장이다. 그것은 일정 가중치를 각 서버에 할당한다. 가중치는 서버의 처리 용량을 가리킨다.Weighted Round Robin is a simple extension of Round Robin. It assigns a certain weight to each server. The weight indicates the processing capacity of the server.

그러나, 동적 시스템 상태들에 대한 무인식은 복잡도를 떨어뜨리는 대신에 성능을 떨어뜨리고 서비스 신뢰성을 떨어뜨린다. 적응성(동적) SSP들은 최적 서버의 시스템 상태 및 동적 추정에서의 변화들에 기반하여 결정한다. 동적 SSP들의 예를 들면 다음과 같다 : However, unconsciousness of dynamic system states reduces performance and reduces service reliability instead of reducing complexity. Adaptive (dynamic) SSPs determine based on changes in the system state and dynamic estimation of the optimal server. Examples of dynamic SSPs are:

- Least Used SSP : 상기 SSP의 경우, 각 서버들의 부하는 클라이언트(PU)에 의해 모니터된다. 서버들의 부하를 모니터링하는 것에 기반하여, 각 서버는 서버의 부하에 비례하는 소위 정책 값을 할당받는다. Least Used SSP에 따르면, 최저 정책 값을 갖는 서버는 현재 메시지의 수신기로서 선택된다. 서버들의 정책 값들이 갱신 및 변경되기 전까지 동일한 서버가 항상 선택되는 것을 상기 SSP가 암시함은 중요하다.Least Used SSP In the case of the SSP, the load of each server is monitored by the client (PU). Based on monitoring the load of the servers, each server is assigned a so-called policy value proportional to the load of the server. According to the Least Used SSP, the server with the lowest policy value is selected as the receiver of the current message. It is important that the SSP imply that the same server is always selected until the policy values of the servers are updated and changed.

- Least Used With Degradation은 한 가지를 제외하고는 Least Used SSP와 동일하다. 즉, 최저 정책 값을 갖는 서버가 서버 세트로부터 선택될 때마다, 그것의 정책 값은 증가된다. 따라서, 상기 서버는 더 이상 서버 세트 내에서 최저 정책 값을 가지지 않을 수 있다. 이는 시간이 갈수록 Least Used With Degradation SSP가 Round Robin SSP로 되게 한다. 서버들의 정책 값들에 대한 각 갱신은 SSP가 Least Used With Degradation으로 되돌아 가도록 한다.Least Used With Degradation is the same as Least Used SSP except for one. That is, each time a server with the lowest policy value is selected from a set of servers, its policy value is increased. Thus, the server may no longer have the lowest policy value in the server set. This will cause the Least Used With Degradation SSP to become a Round Robin SSP over time. Each update to the server's policy values causes the SSP to revert to Least Used With Degradation.

동적 SSP의 유효성은 최적 서버를 평가하는데 사용된 메트릭에 결정적으로 의존한다. SSP들 상에서의 조사는 복제 웹 서버 시스템들 상에 주로 초점이 맞추어진다. 이러한 시스템들에서, 일반적인 메트릭들은 지리적 거리, 각 서버에 대한 홉들(hops)의 수, 왕복 시간(RTT) 및 HTTP 응답 시간들을 포함하는 서버 근접성에 기반한다. 웹 시스템들 내의 SSP들이 높은 작업 처리량 및 작은 서비스 지연을 제공하려는 반면에, SIP과 같은 예를 들어 세션 제어 프로토콜들은 더 작은 크기(평균 500 바이트)의 메시지들을 처리한다. 따라서, 처리량은 웹 시스템들 내에서와 같이 중대한 메트릭이 아니다. 저자가 알고 있는 한, SSP들은 예를 들면 세션 제어 시스템들을 이용해 광범위하게 조사되지 않는다.The effectiveness of the dynamic SSP depends critically on the metric used to evaluate the optimal server. The survey on SSPs is mainly focused on replica web server systems. In such systems, general metrics are based on server proximity including geographic distance, number of hops for each server, round trip time (RTT) and HTTP response times. While SSPs in web systems seek to provide high throughput and small service delays, for example, session control protocols such as SIP process messages of smaller size (500 bytes on average). Thus, throughput is not a critical metric as in web systems. As far as I know, SSPs are not extensively investigated, for example using session control systems.

기술된 종래 기술을 고려하여, 본 발명의 목적은 인터넷 기반 애플리케이션들과 같은 서비스 또는 서비스 세트를 지원하는데 있어 서버 기능 제공 방법을 제안하는 것으로서, 서버 기능은 하나 이상의 풀 엘리먼트들을 갖는 서버 풀에 의해 제공되고, 풀 엘리먼트들 각각은 서비스 또는 서비스 세트를 지원할 수 있으며, 여기서 서버 기능의 신뢰도 및 유용성은 현존하는 방법들에 비해서 향상되고, 또한 본 발명의 목적은 상기 방법을 구현하는 네임 서버 및 풀 유저 장치를 제안하는 것이다.In view of the prior art described, an object of the present invention is to propose a method for providing a server function in supporting a service or a set of services such as Internet-based applications, wherein the server function is provided by a server pool having one or more pool elements. Each of the full elements may support a service or set of services, where reliability and usefulness of server functionality is improved over existing methods, and an object of the present invention is also to provide a name server and a full user device implementing the method. To propose.

상기 문제점은 청구항 1에 명시된 바와 같은 특징 조합을 갖는 방법에 의해 그리고 청구항 12 또는 15에 각각 명시된 바와 같은 네임 서버 및 풀 유저 장치에 의해 해결된다.The problem is solved by a method having a feature combination as specified in claim 1 and by a name server and a full user device as specified in claim 12 or 15 respectively.

본 발명의 근원이 되는 아이디어들 중의 하나는, 네임 서버로부터 풀 엘리먼트들에 관련된 (추가적인) 상태 정보를 풀 유저에게 제공하기 위해서 풀 유저와 네임 서버 사이의 메시지 교환을 사용하는 것이다. 네임 서버가 서버 풀에 전용인 노드이므로, 최신 Keep-Alive-Message들에 기반한 예를 들면 현재 상태에 관해서는 일반적으로 네임 서버가 풀 엘리먼트들의 상태에 관한 보다 나은 정보를 가질 수 있을 것이다.One of the ideas underlying the present invention is the use of a message exchange between the full user and the name server to provide the full user with (additional) state information relating to the pool elements from the name server. Since the name server is a node dedicated to the server pool, the name server will generally have better information about the state of the pool elements with respect to the current state, for example based on the latest Keep-Alive-Messages.

적어도 네임 서버는 원하는 경우 추가적인 상태 정보를 가지는데, 상기 추가적인 상태 정보는 풀 사용자에 제공되는 경우 서버 기능들의 향상된 성능, 신뢰도 및 높은 유용성이 서버 풀의 엘리먼트들에 의해 수행되게 하는 선택을 결정할 수 있는 기회를 제공한다. 이와 함께 응답 시간들뿐만 아니라 서버 풀의 부하 상황들이 최적화될 수 있다.At least the name server has additional state information, if desired, which may, when provided to the pool user, be able to determine a choice that allows enhanced performance, reliability and high availability of server functions to be performed by elements of the server pool. Provide an opportunity. In addition, the load conditions of the server pool can be optimized as well as response times.

또한, 메시지 교환이 풀 엘리먼트들의 전송 주소들을 검색하기 위해 풀 유저에게 요구될 때, 네임 서버로부터의 상태 정보를 풀 유저의 서버 선택 모듈에 제공하는 것이 용이하게 가능하다.In addition, when a message exchange is required of the full user to retrieve the transport addresses of the pool elements, it is readily possible to provide status information from the name server to the server selection module of the full user.

따라서 여기에 기술되는 본 발명은 기본적으로 RSerPool 프로토콜 확장을 제안하고, 여기서 RSerPool 아키텍쳐의 상응하는 확장은 네임 서버 및 풀 유저 상에용이하게 구현될 수 있다.Thus, the present invention described herein basically proposes an RSerPool protocol extension, where a corresponding extension of the RSerPool architecture can be readily implemented on name servers and pool users.

본 발명에 따르면, 무정지형 매커니즘들은 풀 유저 및 네임 서버에 분배된다. 풀 유저는 응용 계층 및 전송 계층 타이머를 전송 실패를 검출하기 위해 사용하고, 반면에 네임 서버들은 주기적으로 PE의 상태를 모니터하기 위해 keep-alive 메커니즘을 제공한다. In accordance with the present invention, nondisruptive mechanisms are distributed to full users and name servers. Full users use application layer and transport layer timers to detect transmission failures, while name servers provide a keep-alive mechanism to periodically monitor the state of the PE.

본 발명은 소위 MA-SSP(Maximum Availability SSP)로 불리는 특정 서버 선택 정책에 관해 더 기술될 것이고, 상기 서버 선택 정책은 본 출원인이 별개로 출원하였다. 그러나 본 발명은 MA-SSP에 제한되기보다는, 공지된 또는 미래에 개발될 임의의 고정 또는 동적 SSP에 기반할 수 있다.The present invention will be further described with respect to a specific server selection policy called so called Maximum Availability SSP (MA-SSP), which has been filed separately by the applicant. However, the present invention may be based on any fixed or dynamic SSP known or developed in the future, rather than being limited to the MA-SSP.

MA-SSP는 소위 상태 벡터에 따라 실행된다. MA-SSP에 따르면, 상태 벡터는 크기 N(즉, 주어진 서버 풀의 풀 엘리먼트들의 개수와 같음)이고 다음과 같이 정의된다 : The MA-SSP is executed according to the so-called state vector. According to the MA-SSP, the state vector is size N (ie equal to the number of pool elements in a given server pool) and is defined as follows:

Figure 112006054578649-pct00001
Figure 112006054578649-pct00001

상태 벡터 내의 특정 엘리먼트는 특정 PE의 최종 공지된 상태 모멘트를 나타낸다. 최종 PE의 상태가 온(업)이었을 경우, 시간 값은 변경되지 않은 상태 벡터로 저장된다. 최종 PE의 상태가 오프(다운)였을 경우, 시간 값은 마이너스 기호를 갖는 상태 벡터로 저장된다. MA 알고리즘은 상태 벡터에서 최고 값을 가지는 PE를 항상 선택한다.The particular element in the state vector represents the final known state moment of the particular PE. If the state of the last PE was on (up), the time value is stored as an unchanged state vector. If the state of the last PE was off (down), the time value is stored as a state vector with a minus sign. The MA algorithm always selects the PE with the highest value in the state vector.

PU의 ASAP 종단점은 자신의 상태 벡터에 대한 갱신을 완수한다. 이후에, PU의 상태 벡터는

Figure 112006054578649-pct00002
로서 표시된다. 원래의 RSerPool 설명서[Tuexen 등; Stewart&Xie]에 따르면, 네임 서버는 풀 서버들의 전송 주소들을 반환한다. 예를 들면 MA-SSP를 RSerPool 아키텍쳐에 원활하게 통합하기 위해, RSerPool 확장이 특정된다. 상당히 동일한 방식으로 다른 SSP들을 위해 사용될 수 있는 상기 RSerPool 확장은 하기의 내용에서 기술된다.The ASAP endpoint of the PU completes its update of its state vector. After that, the state vector of the PU is
Figure 112006054578649-pct00002
Is indicated as. The original RSerPool manual [Tuexen et al .; According to Stewart & Xie, the name server returns the forwarding addresses of the full servers. For example, to seamlessly integrate MA-SSP into the RSerPool architecture, the RSerPool extension is specified. The RSerPool extension, which can be used for other SSPs in a fairly identical manner, is described below.

RSerPool에서의 확장은 PU와 NS, 즉 NS의 ASAP 종단점과 PU의 ASAP 종단점 사이의 통신에 영향을 끼친다. 실례가 되는 목적들은 PU와 ENRP 서버 모두가 MA 알고리즘을 채용하는 것이 예시를 위해서 가정된다. ENRP 서버에서의 MA 알고리즘은 각 서버 풀에 대한 상태 벡터를 생성한다. 상기 상태 벡터는 현존하는 ASAP의 keep-alive 메커니즘[Stewart&Xie]의 사용에 의해 주기적으로 갱신된다. 이후에 네임 서버의 상태 벡터를

Figure 112006054578649-pct00003
로 표시할 것이다. 주어진 풀에 대한
Figure 112006054578649-pct00004
벡터는 상기 풀을 위해 예약된 네임 서버 내 동일한 데이터베이스 엔트리에 저장된다. 상기 풀 내에 N 풀 엘리먼트들이 존재하는 것이 가정될 것이다.Extensions in RSerPool affect the communication between the PU and NS, that is, the ASAP endpoint of NS and the ASAP endpoint of PU. Illustrative purposes are assumed for the purpose of employing a MA algorithm in both the PU and ENRP server. The MA algorithm at the ENRP server generates a state vector for each server pool. The state vector is periodically updated by the use of an existing ASAP keep-alive mechanism [Stewart & Xie]. After that, we can
Figure 112006054578649-pct00003
Will be displayed. For a given pool
Figure 112006054578649-pct00004
The vector is stored in the same database entry in the name server reserved for the pool. It will be assumed that there are N pool elements in the pool.

PU는 하기의 두 가지 경우에 캐쉬 파퓰레이션을 개시한다 : The PU initiates cache population in two cases:

1) PU는 네임 서버로부터의 가장 새로운 정보로 자신의

Figure 112006054578649-pct00005
벡터를 리프레쉬하기 위해 캐쉬 파퓰레이션(갱신)을 완수하길 원한다.1) The PU has its own newest information from the name server.
Figure 112006054578649-pct00005
We want to complete the cache population to refresh the vector.

2) PU는 풀 네임을 분석하길 원한다.2) The PU wants to resolve the full name.

어느 경우이든, PU의 ASAP 종단점은 NAME RESOLUTION 쿼리를 ENRP 서버에 ASAP를 통해 송신한다. ENRP 서버는 상기 쿼리를 수신하고, 특정 풀 네임에 대한 데이터베이스 엔트리의 위치를 찾는다. 데이터베이스 엔트리는 가장 최신 버전의

Figure 112006054578649-pct00006
벡터를 포함한다. ENRP 서버는 하기의 동작들을 완수한다 : In either case, the ASAP endpoint of the PU sends a NAME RESOLUTION query to the ENRP server via ASAP. The ENRP server receives the query and finds the location of the database entry for the particular pool name. The database entry is the most recent version
Figure 112006054578649-pct00006
Contains a vector. The ENRP server performs the following actions:

1) ENRP 서버는 데이터베이스 엔트리로부터 전송 주소들 정보를 추출한다.1) The ENRP server extracts transport address information from the database entry.

2) ENRP 서버는 데이터베이스 엔트리로부터

Figure 112006054578649-pct00007
벡터를 추출한다.2) The ENRP server must
Figure 112006054578649-pct00007
Extract the vector.

3) ENRP 서버는 PE들의 전송 주소들이 삽입된 NAME RESOLUTION RESPONSE를 생성한다. 상기 전송 주소들 정보에 추가적으로, 상기 네임 응답은 여분의 필드를 갖도록 확장된다.

Figure 112006054578649-pct00008
벡터는 상기 여분의 필드에 삽입된다.3) The ENRP server creates a NAME RESOLUTION RESPONSE containing the PE's transport addresses. In addition to the transport addresses information, the name response is extended to have extra fields.
Figure 112006054578649-pct00008
A vector is inserted into the extra field.

4) ENRP 서버는 NAME RESOLUTION RESPONSE를 PU에 송신한다.4) The ENRP server sends a NAME RESOLUTION RESPONSE to the PU.

따라서, NAME RESOLUTION RESPONSE는 가장 최신 버전의 ENRP 서버의

Figure 112006054578649-pct00009
벡터를 포함한다. 일단 PU가 NAME RESOLUTION RESPONSE를 수신하면, 상기 PU는 로컬 네임 캐쉬(전송 주소들 정보)뿐만 아니라 자신의
Figure 112006054578649-pct00010
벡터를 갱신한다. PU의 ASAP
Figure 112006054578649-pct00011
벡터의 갱신 절차는 다음과 같다 : Therefore, the NAME RESOLUTION RESPONSE is the latest version of the ENRP server.
Figure 112006054578649-pct00009
Contains a vector. Once a PU receives a NAME RESOLUTION RESPONSE, the PU has its own name as well as its local name cache (transport address information).
Figure 112006054578649-pct00010
Update the vector. ASAP of PU
Figure 112006054578649-pct00011
The procedure for updating a vector is as follows:

Figure 112006054578649-pct00012
Figure 112006054578649-pct00012

여기서

Figure 112006054578649-pct00013
Figure 112006054578649-pct00014
는 각각
Figure 112006054578649-pct00015
Figure 112006054578649-pct00016
의 i번째 엘리먼트들이다.here
Figure 112006054578649-pct00013
And
Figure 112006054578649-pct00014
Are each
Figure 112006054578649-pct00015
And
Figure 112006054578649-pct00016
I th elements of the.

상기 절차는 풀 유저들과 네임 서버들 내에서 동기화된 시간 클록들의 조건 하에서 실행된다는 점이 주지되어야 한다. 이는, 클록간 드리프트들이 과도하게 클 경우에 문제가 된다. 네트워크 타임 프로토콜(NTP)과 같은 클록 동기화 프로토콜을 채용하는 것은 상기 문제점을 제거한다.It should be noted that the above procedure is executed under the condition of synchronized time clocks in full users and name servers. This is a problem when the inter-clock drifts are excessively large. Employing a clock synchronization protocol such as Network Time Protocol (NTP) eliminates this problem.

바람직하게, 본 발명을 구현하기 위해 요구되는 RSerPool의 프로토콜 확장은 더욱 간단하고 RSerPool 내에 도입하기가 용이하다. 또한, 프로토콜 확장은 PU, 즉 클라이언트 내의 응용 계층에 대해 투명하다. 상태 벡터는 PU 프로토콜 스택의 ASAP 계층에서 핸들링된다. 따라서, 프로토콜 확장은 ASAP 계층 위의 응용 계층에 투명하다. 프로토콜 확장을 지원하는 각 PU는 본 발명에 의해 제공되는 성능 향상들로부터 이익을 얻는다.Preferably, the protocol extension of RSerPool required to implement the present invention is simpler and easier to introduce into RSerPool. In addition, protocol extensions are transparent to the PU, ie the application layer in the client. State vectors are handled at the ASAP layer of the PU protocol stack. Thus, protocol extensions are transparent to the application layer above the ASAP layer. Each PU that supports protocol extension benefits from the performance improvements provided by the present invention.

본 발명의 다른 측면들 및 장점들은 종속항들뿐만 아니라 첨부된 도면들에 관한 본 발명의 실시예들에 대한 이후의 설명으로부터 도출될 수 있다.Other aspects and advantages of the invention can be derived from the following description of embodiments of the invention with reference to the accompanying claims as well as the dependent claims.

도 1은 (위에서 논의된) 종래 기술에 따른 일반적인 RSerPool 아키텍쳐에 대한 단순화된 블록 다이어그램,1 is a simplified block diagram of a typical RSerPool architecture according to the prior art (discussed above),

도 2는 (위에서 논의된) 종래 기술에 따른 도 1의 풀 유저 및 네임 서버 사이의 메시지 교환을 도시한 단순화된 시퀀스 다이어그램,FIG. 2 is a simplified sequence diagram illustrating message exchange between the full user and name server of FIG. 1 according to the prior art (discussed above); FIG.

도 3은 본 발명의 방법에 대한 실시예에 따른 네임 서버 및 풀 유저 사이의 메시지 교환을 도시한 도 2와 같은 시퀀스 다이어그램,3 is a sequence diagram as in FIG. 2 illustrating message exchange between a name server and a full user in accordance with an embodiment of the method of the present invention;

도 4는 도 3에 도시된 본 발명의 실시예를 구현하기 위해 관련된 네임 서버 및 풀 유저 장치의 기본적인 기능 블록들을 나타낸 블록 다이어그램이다.4 is a block diagram illustrating basic functional blocks of a name server and a full user device involved for implementing the embodiment of the present invention shown in FIG.

본 발명의 기본 원리를 요약하는 개략적 도면은 도 3에 나타난다. 본 발명 내에 정의된 바와 같은 캐쉬 파퓰레이션을 위한 단계들(S1 - S4)은 하기에 설명된 바와 같다 : A schematic diagram summarizing the basic principles of the invention is shown in FIG. 3. Steps S1-S4 for cache population as defined in the present invention are as described below:

1) 주어진 풀 네임에 관한 모든 정보를 요청하는 NAME RESOLUTION 쿼리를 풀 유저(PU)의 ASAP 종단점으로부터 네임 또는 ENRP 서버(NS)로 송신하는 단계.1) Sending a NAME RESOLUTION query requesting all information about a given pool name from the ASAP endpoint of the pool user (PU) to the name or ENRP server (NS).

2) 상기 쿼리를 수신하고, 네임 서버(NS)에 의해서 특정 풀 네임을 위한 데이터베이스 엔트리의 위치를 찾는 단계. 네임 서버(NS)는 전송 주소들 정보뿐만 아니라

Figure 112006054578649-pct00017
벡터를 데이터베이스 엔트리로부터 추출한다.2) receiving the query and finding the location of a database entry for a particular full name by a name server (NS). The name server (NS) not only transmits information
Figure 112006054578649-pct00017
Extract the vector from the database entry.

3) 네임 서버(NS)에 의해 PE들의 전송 주소들 및

Figure 112006054578649-pct00018
벡터가 삽입된 NAME RESOLUTION RESPONSE를 생성하는 단계. 네임 서버(NS)는 NAME RESOLUTION RESPONSE를 풀 유저(PU)에 송신한다.3) transport addresses of PEs by name server (NS) and
Figure 112006054578649-pct00018
Generating a NAME RESOLUTION RESPONSE with a vector inserted. The name server NS sends the NAME RESOLUTION RESPONSE to the full user PU.

4) 풀 네임 상의 전송 주소들 정보로 풀 유저(PU)의 ASAP 종단점에 의한 로컬 네임 캐쉬를 캐쉬 파퓰레이션(갱신)하는 단계. 풀 유저들의 ASAP 종단점은 상태 벡터

Figure 112006054578649-pct00019
를 갱신하기 위해 위의 식 (1)에서 기술된 간단한 절차를 사용한다.4) Cache populate (update) the local name cache by the ASAP endpoint of the full user PU with the transport addresses information on the full name. Pool users' ASAP endpoints are state vectors
Figure 112006054578649-pct00019
We use the simple procedure described in equation (1) above to update it.

5) 서비스 요청이 송신되는 특정한 풀 엘리먼트 또는 서버를 선택하는 단계.5) selecting the particular pull element or server to which the service request is sent.

본 발명의 방법에 대한 구현은 매우 간단히 수행될 수 있다. NAME RESOLUTION RESPONSE는 상태 벡터

Figure 112006054578649-pct00020
를 포함하는 별도의 필드를 갖도록 확장된다. 도 4는 풀 유저(PU) 및 네임 서버(NS)의 주요 기능 구성요소들을 나타내고, 네임 서버(NS)는 도시된 두 개의 풀 엘리먼트들(PE)을 갖는 서버 풀(SP)과 연결된다.The implementation of the method of the invention can be carried out very simply. NAME RESOLUTION RESPONSE is a state vector
Figure 112006054578649-pct00020
It is extended to have a separate field including. 4 shows the main functional components of the pool user PU and the name server NS, which is connected to the server pool SP with the two pool elements PE shown.

네임 서버(NS)는 풀 분석 서버 모듈(10), 엘리먼트 상태 모듈(12) 및 메모리(14)를 포함한다. 엘리먼트 상태 모듈(12)은 주기적으로 IETF ASAP Protocol[Stewart&Xie]에 따라 Endpoint_Keep_Alive-메시지를 어셈블링하고 상기 메시지들을 서버들(PE1, PE2) 각각에 송신한다. The name server NS includes a pool analysis server module 10, an element status module 12, and a memory 14. Element status module 12 periodically assembles the Endpoint_Keep_Alive-message according to the IETF ASAP Protocol [Stewart & Xie] and sends the messages to each of the servers PE1, PE2.

서버(PE1)가 동작 상태 "업"인 것으로 가정하면(서버(PE1)가 예를 들면 클라 이언트(PU)의 요청에 대한 서버 기능을 제공할 준비가 됨), 서버(PE1)는 Endpoint_Keep_Alive_Ack-메시지를 네임 서버(NS)에 회신하는 것에 의해 서버(NS)로부터의 Keep-Alive-메시지에 응답한다.Assuming that server PE1 is in an operational state " up " (server PE1 is ready to provide server functionality, for example for a request from client PU), server PE1 sends an Endpoint_Keep_Alive_Ack-message Responds to the Keep-Alive message from the server NS by replying to the name server NS.

다른 서버(PE2)가 동작 상태 "다운"인 것으로 가정하면(서버(PE2)가 서비스를 위해 준비 안됨), 서버(PE2)는 네임 서버(NS)로부터의 Keep-Alive-메시지에 응답하지 않고 그에 따라 네임 서버(NS)에서 상기 Keep-Alive-메시지를 위해 개시된 로컬 타이머는 IETF ASAP 프로토콜에 따라 만료된다.Assuming another server PE2 is in an operational state "down" (server PE2 is not ready for service), server PE2 does not respond to a Keep-Alive-message from the name server NS and The local timer initiated for the Keep-Alive-message at the name server NS thus expires according to the IETF ASAP protocol.

엘리먼트 상태 모듈(12)은 메모리(14)에 저장된 상태 벡터를 유지한다. 벡터는 풀(SP)의 각 엘리먼트(PE1, PE2)를 위해 타임-스탬프를 나타내는 수를 포함하고, 여기서 타임스탬프는 Keep-Alive-메시지에 대한 각 엘리먼트들의 응답 처리 시간을 가리킨다. 따라서, Ack-메시지가 네임 서버 내의 클록 유닛(도시되지 않음)에 의해 측정된 바와 같이 정오에 처리되었고 타임스탬프의 정확도가 초 단위일 경우, PE1으로부터 수신된 Keep-Alive-ACK-메시지는 모듈(12)이 타임스탬프 'A8C0'(hex)을 서버(PE1)를 위해 제공되는 상태 벡터의 위치에 기록하도록 유도한다. Unreachable-메시지가 정오 이후 약 1초에 처리되었을 경우, PE1으로부터 수신된 Unreachable-메시지는 모듈(12)이 타임스탬프 '-A8C1'(hex)을 서버(PE2)를 위해 제공되는 상태 벡터의 위치에 기록하도록 유도한다.Element state module 12 maintains a state vector stored in memory 14. The vector contains a number representing a time-stamp for each element PE1, PE2 of the pool SP, where the timestamp indicates the response processing time of each element for the Keep-Alive-message. Thus, if the Ack-message was processed at noon as measured by a clock unit (not shown) in the name server and the accuracy of the timestamp was in seconds, the Keep-Alive-ACK-message received from PE1 was sent to the module ( 12) induces the timestamp 'A8C0' (hex) to be recorded at the position of the state vector provided for the server PE1. If an Unreachable-message has been processed about one second after noon, the Unreachable-message received from PE1 is sent by module 12 to time stamp '-A8C1' (hex) at the location of the state vector provided for server PE2. Encourage them to record.

서버 모듈(10)의 기능은 풀 유저(PU)로부터의 요청에 대하여 보다 상세히 하기에 기술된다. 풀 유저(PU)는 풀 분석 클라이언트 모듈(16), 서버 선택 모듈(18), 메모리(20) 및 서버 유용성 모듈(22)을 포함한다.The functionality of the server module 10 is described below in more detail with respect to requests from the full user (PU). The pool user PU includes a pool analysis client module 16, a server selection module 18, a memory 20, and a server usability module 22.

풀 유저(PU)는, 서버 풀(SP) 및 네임 서버(NS)가 그 일부분을 이루는 UMTS-네트워크를 통해 데이터 및 음성 통신이 가능한 이동 장치(도시되지 않음) 상에 구현된다. 상기 장치의 애플리케이션은 풀(SP) 내의 서버들 중에서 임의의 서버에 의해 제공되는 서비스에 액세스하길 원한다. 상기 예시에서, 서버 풀(SP)은 UMTS 네트워크의 IMS(IP 멀티미디어 서브시스템)-도메인에 관련된 서비스들을 구현하고 있는 서버 집합 또는 서버 세트이다. 상기 애플리케이션은 예를 들면 SIP 기반 애플리케이션이다.The full user PU is implemented on a mobile device (not shown) capable of data and voice communication via a UMTS-network in which the server pool SP and the name server NS form part thereof. The application of the device wants to access the service provided by any of the servers in the pool (SP). In this example, the server pool (SP) is a server set or server set that implements services related to the IP Multimedia Subsystem (IMS) -domain of the UMTS network. The application is for example a SIP based application.

특정한 서비스를 요청하기 위해, 풀 네임만이 이동 장치(도시되지 않음)상에서 동작중인 애플리케이션에 공지된다. 그 애플리케이션은 풀 네임을 인계함으로써 이동 장치의 풀 유저측(ASAP 종단점을 포함)을 트리거링한다. 풀 분석 클라이언트 모듈은 ASAP 프로토콜에 따라 Name_Resolution-메시지를 어셈블링하고 그것을 네임 서버(NS)에 송신한다(도 3의 단계 S1).To request a particular service, only the full name is known to the application running on the mobile device (not shown). The application triggers the full user side of the mobile device (including the ASAP endpoint) by taking over the full name. The pool analysis client module assembles the Name_Resolution-message according to the ASAP protocol and sends it to the name server NS (step S1 in FIG. 3).

Name_Resolution-메시지는 풀 분석 서버 모듈(10)에 의해 네임 서버(NS)로 수신된다. 풀 네임은 추출되고, 서버 모듈(10)은 풀 네임에 연계되어 저장된 주소 정보를 추출하기 위해 메모리(14)에 액세스한다. 일예에서, 풀 엘리먼트들(PE1, PE2)의 IP-주소들은 특정한 서비스를 요청하는데 사용되는 포트 주소와 함께 메모리(14)로부터 읽혀지고, 본 발명에 따르면 서버들(PE1, PE2)에 연계되어 저장된 타임스탬프들 'A8C0', '-A8C0' 역시 메모리(14)로부터 읽혀진다. 그런 다음 도 3의 단계 S2는 종료된다.The Name_Resolution-message is received by the pool resolution server module 10 into the name server NS. The full name is extracted and the server module 10 accesses the memory 14 to extract address information stored in association with the full name. In one example, the IP-addresses of the full elements PE1, PE2 are read from the memory 14 together with the port address used to request a particular service and stored in association with the servers PE1, PE2 according to the invention. Time stamps 'A8C0', '-A8C0' are also read from memory 14. Then step S2 of Fig. 3 ends.

서버 모듈(10)은 종래 기술에 공지된 바와 같이 PE1, PE2의 전송 주소들을 갖는 Name Resolution List를 포함하는, IETF ASAP 프로토콜에 따른 Name_Resolution_Response-메시지를 어셈블링한다. 또한, 상태 벡터는 상기 Response-메시지의 전송 주소 정보측에 추가된다. 상기 예시에서 상기 벡터는 풀 서버들(PE1, PE2)을 위한 두 개의 타임스탬프 기반의 상태 엘리먼트들을 포함한다.The server module 10 assembles a Name_Resolution_Response-message according to the IETF ASAP protocol, including a Name Resolution List with transport addresses of PE1 and PE2 as is known in the art. In addition, a state vector is added to the transport address information side of the Response-message. In this example the vector comprises two timestamp based state elements for full servers PE1 and PE2.

Response-메시지는 요청한 송신기, 즉 풀 유저(PU)의 클라이언트 모듈(16)에 송신되고 있다(도 3의 단계 S3). Response-메시지를 수신한 후, 모듈(16)은 전송 주소들 및 상태 벡터를 Response-메시지로부터 추출하고 상기 데이터를 메모리(20)에 기록한다. 또한, 상기 모듈은 서버 선택 모듈(18)에 제어권을 넘긴다.The response message is transmitted to the requested transmitter, i.e., the client module 16 of the full user (PU) (step S3 in Fig. 3). After receiving the response-message, module 16 extracts the transport addresses and state vector from the response-message and writes the data to memory 20. The module also passes control to the server selection module 18.

서비스 요청을 송신받을 특정한 서버를 선택하기 위하여(도 3의 단계 S5를 수행함), 우선 선택 모듈(18)은 두 개의 상태 벡터들을 동작 메모리에 로딩하는데, 제1 상태 벡터는 서버 유용성 모듈(22)에 의해 결정되었고 제2 상태 벡터는 위에서 언급된 바와 같이 네임 서버로부터 수신된 상태 벡터이다. In order to select a particular server to receive the service request (perform step S5 of FIG. 3), the selection module 18 first loads two state vectors into the working memory, the first state vector being the server usability module 22. And the second state vector is the state vector received from the name server as mentioned above.

서버 유용성 모듈(22)은 하나 이상의 풀 엘리먼트(들)의 유용성에 관한 상태 정보를 결정하고 메모리(20)에 액세스하여 상기 메모리(20)에 상태 정보를 기록한다. 특히, 모듈(22)은 매번 양의 타임스탬프 값을 결정하고, 전송 및 응용 계층에서 메시지 트랜잭션을 위한 타이머는 만료되지 않는다, 즉 각 트랜잭션은 풀 서버로부터의 확인응답, 응답 또는 다른 반응을 수신함으로써 성공적으로 완료되었다. 서버로의 전송 또는 애플리케이션 연결에 관한 타이머가 만료되는 경우(즉, 시간 내 답신이 수신되지 않는 경우), 타이머 만료시의 현재 음의 타임스탬프 값이 유용성 모듈(22)에 의해 국우적으로 결정된 제1 상태 벡터에 기록된다.Server usability module 22 determines status information regarding the usefulness of one or more pull element (s) and accesses memory 20 to write status information to memory 20. In particular, module 22 determines a positive timestamp value each time, and the timers for message transactions at the transport and application layers do not expire, i.e. each transaction receives an acknowledgment, response or other response from the full server. Successfully completed If the timer for the transfer to the server or the application connection expires (i.e. no in-time reply is received), then the current negative timestamp value at timer expiration is determined locally by the availability module 22. 1 is recorded in the state vector.

위에서 언급된 바와 같이, 선택 모듈(18)은 두 상태 벡터들을 로딩한다. 다음으로, 모듈(18)은 로컬 상태 값 내의 각 엔트리를 네임 서버 상태 벡터의 상응하는 값으로 교체함으로써 갱신된 로컬 상태 벡터를 결정하고, 이 경우 상기 상응하는 값의 절대값들(즉 '-' 기호를 무시함)이 더 높은데, 이는 네임 서버에 의한 상태 측정이 유용성 모듈(22)에 의해 국우적으로 수행된 상태 측정보다 더 최신임을 의미한다, 즉 더 최근에 수행되었음을 의미한다.As mentioned above, the selection module 18 loads two state vectors. Next, module 18 determines the updated local state vector by replacing each entry in the local state value with the corresponding value of the name server state vector, in which case the absolute values of the corresponding value (ie '-'). Symbol is ignored), which means that the status measurement by the name server is more recent than the status measurement performed locally by the usability module 22, ie more recently.

예시로서, 상기 저장된 로컬 (제1) 상태 벡터는 11:50(도달할 수 없는) 및 11:55(도달할 수 있는)로 PE1의 상태, 즉 <-A668, A794>를 나타낼 수 있고, 그런 다음 상기 로컬 벡터는 두 위치들에서 갱신되어 <A8C0, -A8C1>을 도출한다. By way of example, the stored local (first) state vector may indicate the state of PE1, i.e., <-A668, A794> at 11:50 (unreachable) and 11:55 (reachable), such as The local vector is then updated at two locations to yield <A8C0, -A8C1>.

갱신된 벡터는 로컬 벡터의 위치로 메모리에 기록된다. 네임 서버(NS)로부터 수신된 벡터의 저장 위치는 이동 장치 내부에서 상이한 목적들을 위해 사용될 수 있다.The updated vector is written to memory at the location of the local vector. The storage location of the vector received from the name server NS may be used for different purposes inside the mobile device.

그 이상의 단계(도 3의 단계 5)에서, 서버 선택 모듈(18)은 갱신된 상태 벡터 내에서 최고값을 평가함으로써 선택될 서버를 결정한다. 상기 예시에서, 최고값은 풀 엘리먼트(PE1)를 표시하고 있는 위치에 저장되어 있는 'A8C0'이다. 따라서 모듈(18)은 PE1에 관한 전송 주소 및 포트 주소와 같은 다른 데이터를 포함하는 메모리(20) 내부에서 저장 위치를 가리키기 위한 포인터를 생성하고, 상기 포인터를 호출 애플리케이션으로 반환하여 PE1으로부터의 서비스를 요청할 수 있도록 한다.In further steps (step 5 of FIG. 3), server selection module 18 determines the server to be selected by evaluating the highest value in the updated state vector. In the above example, the highest value is 'A8C0' stored at the position indicating the pull element PE1. Thus, module 18 creates a pointer to point to a storage location within memory 20 that contains other data, such as the transport address and port address for PE1, and returns the pointer to the calling application to service from PE1. To request.

여기에 기술된 특정한 예는 단지 하나의 본 발명에 따른 적합한 실시예를 묘 사한다. 추가된 청구항들에 의해서만 특정되는 본 발명의 범위 내에서, 공지 기술을 이용하는 것으로 다른 많은 실시예들이 가능하다.The specific examples described herein depict only one suitable embodiment according to the present invention. Many other embodiments are possible using the known art, within the scope of the invention, which is specified only by the appended claims.

예를 들면, 여기서 기술된 장치들 및 모듈들은 하드웨어 또는 펌웨어로서 구현될 수도 있다. 그러나, 바람직하게는, 그들은 소프트웨어로 구현된다. 예를 들면, 위에서 기술된 바와 같은 상기 모듈들 또는 임의의 다른 모듈들을 포함하는 풀 유저 장치는 애플릿으로서 이동 장치상에 구현될 수도 있다.For example, the devices and modules described herein may be implemented as hardware or firmware. However, preferably, they are implemented in software. For example, a full user device that includes the modules or any other modules as described above may be implemented on a mobile device as an applet.

참조 기호들 리스트Reference Symbols List

NS 네임 서버NS name server

PE1, PE2 풀 엘리먼트들PE1, PE2 full elements

PU 풀 유저PU full user

SP 서버 풀SP server pool

10 풀 분석 서버 모듈10 Pool Analysis Server Module

12 엘리먼트 상태 모듈12 element status module

14 네임 서버(NS)의 메모리14 Name Server (NS) Memory

16 풀 분석 클라이언트 모듈16 Pool Analysis Client Module

18 서버 선택 모듈18 Server Selection Module

20 풀 유저(PU)의 메모리20 full user (PU) memory

22 서버 유용성 모듈22 Server Usability Module

S1 - S5 방법 단계들S1-S5 Method Steps

Claims (19)

인터넷 기반 애플리케이션들과 같은 서비스 또는 서비스 세트를 지원하는데 있어 신뢰적인 서버 기능을 제공하는 방법에 있어서,A method of providing reliable server functionality in supporting a service or set of services, such as Internet-based applications, 하나 이상의 풀 엘리먼트들(PE1, PE2)을 갖는 서버 풀(SP : Server Pool)을 형성하는 단계 - 각각의 풀 엘리먼트들(PE1, PE2)은 상기 서비스 또는 서비스 세트를 지원할 수 있음 -;Forming a server pool (SP) having one or more pool elements (PE1, PE2), each of the pool elements (PE1, PE2) may support the service or set of services; 상기 서버 풀(SP)을 위한 네임 공간을 관리 및 유지하기 위한 하나 이상의 네임 서버(NS)를 제공하는 단계 - 상기 네임 공간은 상기 서버 풀(SP)을 식별하는 풀 네임을 포함함 -;Providing at least one name server (NS) for managing and maintaining a namespace for said server pool (SP), said namespace comprising a full name identifying said server pool (SP); 상기 서비스 또는 서비스 세트를 사용하기 위한 풀 유저(PU)가 상기 풀 네임을 알려주는 상기 네임 서버(NS)에 요청을 송신하는 단계;Sending a request to the name server (NS) informing the full name by a full user (PU) for using the service or set of services; 상기 요청시에 상기 네임 서버(NS)가 하나 이상의 상기 풀 엘리먼트들(PE1, PE2)에 관한 IP 주소와 같은 주소 정보를 포함하는 Name Resolution List에 대하여 상기 풀 네임을 분석하는 단계;Analyzing, by the name server, the full name against a Name Resolution List that includes address information, such as an IP address for one or more of the pool elements (PE1, PE2); 상기 네임 서버(NS)가 상기 풀 유저(PU)에 Name Resolution List를 송신하는 단계; 및Transmitting, by the name server (NS), a Name Resolution List to the full user (PU); And 상기 풀 유저(PU)가 상기 Name Resolution List로부터의 주소 정보에 기반하여, 서비스 또는 서비스 세트를 사용하기 위해 서버 풀(SP)의 풀 엘리먼트들(PE1, PE2) 중의 하나에 액세스하는 단계를 포함하는,The pool user (PU) accessing one of the pool elements (PE1, PE2) of the server pool (SP) to use the service or set of services based on the address information from the Name Resolution List , 신뢰적인 서버 기능을 제공하는 방법으로서,As a way to provide reliable server functionality, 상기 네임 서버(NS)로부터 상기 풀 유저(PU)로 하나 이상의 풀 엘리먼트들(PE1, PE2)의 동작 상태에 관한 상태 정보를 송신하고,Transmits state information regarding an operational state of one or more pool elements PE1 and PE2 from the name server NS to the pool user PU, 상기 풀 유저(PU)는 상기 하나 이상의 풀 엘리먼트들(PE1, PE2)의 유용성에 관한 상태 정보를 포함하는 상태 벡터를 결정하고, 상기 풀 유저(PU)에 의해 결정된 상기 상태 벡터는 상기 네임 서버(NS)로부터 수신된 상태 벡터에 의해 갱신되며,The full user PU determines a state vector including state information regarding the usefulness of the one or more pool elements PE1 and PE2, and the state vector determined by the full user PU is determined by the name server. Is updated by the state vector received from NS), 상기 유용성에 관한 상태 정보는, 응용 계층 및 전송 계층에서, 또는 응용 계층에서 또는 전송 계층에서 상기 풀 유저(PU) 및 상기 하나 이상의 풀 엘리먼트들(PE1, PE2) 사이의 메시지 전송에 관한 하나 이상의 타이머들의 만료 또는 비-만료에 의해 결정되는,The status information regarding the usability may include one or more timers for message transmission between the full user (PU) and the one or more pool elements (PE1, PE2) at the application layer and the transport layer, or at the application layer or at the transport layer. Determined by their expiration or non-expiration, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 1 항에 있어서,The method of claim 1, 상기 상태 정보는 상기 풀 엘리먼트들(PE1, PE2) 중 하나의 풀 엘리먼트의 상태가 결정된 시점을 표시하는 타임스탬프를 나타내는,The state information indicates a timestamp indicating when the state of one of the pull elements PE1 and PE2 is determined. 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 2 항에 있어서,The method of claim 2, 상기 풀 엘리먼트들(PE1, PE2) 중 하나의 풀 엘리먼트의 상태는 상기 네임 서버(NS)에 의해 상기 풀 엘리먼트들(PE1, PE2) 중 하나의 풀 엘리먼트에 송신된 Keep-Alive-메시지에 대한 응답으로 상기 풀 엘리먼트들(PE1, PE2) 중 하나의 풀 엘리먼트로부터 상기 네임 서버(NS)에 의해 수신되는 Keep-Alive-Acknowledgement-메시지에 기반하거나 또는 상기 풀 엘리먼트들(PE1, PE2) 중 하나의 풀 엘리먼트로부터의 Keep-Alive-Acknowledgement-메시지의 실종에 기인하는 상기 네임 서버(NS)에서의 로컬 타이머 만료 통보에 기반하고,The state of one of the pull elements PE1, PE2 is in response to a Keep-Alive-message sent by the name server NS to one of the pull elements PE1, PE2. Based on a Keep-Alive-Acknowledgement-message received by the name server NS from one pool element of the pull elements PE1, PE2 or a pool of one of the pull elements PE1, PE2. Based on a local timer expiration notification at the name server (NS) due to the disappearance of a Keep-Alive-Acknowledgement-message from an element, 상기 Keep-Alive-Acknowledgement-메시지 및 상기 로컬 타이머 만료 통보는 업 그리고 다운 상태와 같은, 상기 풀 엘리먼트들(PE1, PE2) 중에서 하나의 풀 엘리먼트의 상태를 각각 표시하는,The Keep-Alive-Acknowledgement-message and the local timer expiration notification indicate the state of one pull element of the pull elements PE1, PE2, respectively, such as an up and down state, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 2 항 또는 제 3 항에 있어서,The method of claim 2 or 3, 풀 엘리먼트들(PE1, PE2) 중에서 상기 하나의 풀 엘리먼트가 업-상태일 경우, 상기 상태 정보는 상기 타임스탬프를 나타내는 양수를 포함하고,When the one pull element among the pull elements PE1 and PE2 is in an up-state, the state information includes a positive number indicating the timestamp, 풀 엘리먼트들(PE1, PE2) 중에서 상기 하나의 풀 엘리먼트가 다운-상태일 경우, 마이너스 기호를 갖는 상기 타임스탬프를 나타내는 음수를 포함하는,When the one pull element of the pull elements (PE1, PE2) is in the down-state, comprising a negative number representing the timestamp with a minus sign, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 풀 유저(PU)에 의한 상기 네임 서버(NS)로의 요청에 대한 송신은 name Resolution 메시지를 송신하는 것에 의해 수행되고, 상기 송신은 캐쉬 파퓰레이션(cache population)을 완수하기 위해 상기 풀 유저(PU) 내에서 트리거링되는,The transmission of the request to the name server NS by the full user PU is performed by sending a name resolution message, wherein the transmission is performed to complete the cache population. Triggered within, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 네임 서버(NS)에 의한 상기 풀 유저(PU)로의 name Resolution List의 송신은 상기 상태 정보를 더 포함하는 name Resolution Response 메시지의 송신을 포함하고, 그럼으로써 상기 상태 정보가 상태 벡터로서 상기 name Resolution Response 메시지에 삽입되는,The transmission of the name resolution list by the name server NS to the full user PU includes the transmission of a name resolution response message further comprising the status information, whereby the status information is the status vector as the state vector. Inserted into the Response message, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 서버 풀(SP) 내의 상기 풀 엘리먼트들(PE1, PE2) 중에서 특정한 하나의 풀 엘리먼트는 상기 네임 서버(NS)로부터 수신된 상기 상태 벡터의 상태 정보에 기반하여 상기 서버 기능을 위해 선택되는,One of the pool elements PE1 and PE2 in the server pool SP is selected for the server function based on state information of the state vector received from the name server NS, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 1 항에 있어서,The method of claim 1, 상기 풀 유저(PU)에 의해 결정되는 상태 벡터는 상태 정보를 상기 네임 서버(NS)로부터 수신된 상기 상태 벡터의 상응하는 상태 정보로 교체하는 것에 의해 갱신되고, 이 경우 상기 상응하는 상태 정보는 보다 최신인 더 높은 타임스탬프의 절대값인 것으로 표시되는,The state vector determined by the full user PU is updated by replacing state information with corresponding state information of the state vector received from the name server NS, in which case the corresponding state information is more Indicated as being the absolute value of the latest higher timestamp, 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 제 5 항에 있어서,The method of claim 5, wherein 상기 서버 풀 내의 풀 엘리먼트들(PE1, PE2) 중에서 특정한 하나의 풀 엘리먼트를 선택함에 있어서, 상기 풀 유저(PU)에 의해 다른 서버 선택 정책이 사용되며, 상기 서버 선택 정책은 Maximum Availability SSP 또는 그의 확장들 중의 하나를 포함하는,In selecting a particular one of the pool elements PE1 and PE2 in the server pool, a different server selection policy is used by the pool user PU, the server selection policy being the Maximum Availability SSP or its extension. Including one of the 신뢰적인 서버 기능 제공 방법.How to provide reliable server functionality. 인터넷 기반 애플리케이션들과 같은 서비스 또는 서비스 세트를 지원하는데 있어 신뢰적인 서버 기능을 제공하기 위하여 하나 이상의 풀 엘리먼트들(PE1, PE2)을 갖는 서버 풀(SP)을 위한 네임 공간을 관리 및 유지하기 위한 네임 서버(NS)에 있어서,Name to manage and maintain a namespace for a server pool (SP) with one or more pool elements (PE1, PE2) to provide reliable server functionality in supporting a service or set of services, such as Internet-based applications. In the server NS, IETF ASAP 프로토콜에 따른 name Resolution 메시지와 같은 풀 네임을 표시하는 요청을 수신하기 위한 풀 분석 서버 모듈(10), 및A pool analysis server module 10 for receiving a request indicating a full name, such as a name Resolution message according to the IETF ASAP protocol, and 상기 서버 풀(SP)을 식별하는 풀 네임에 연계된 상기 풀 엘리먼트들(PE1, PE2)에 관한 IP 주소와 같은 주소 정보를 저장하기 위한 메모리(14) - 상기 풀 분석 서버 모듈(10)은 상기 요청에 대한 응답으로, 상기 메모리(14)에 액세스하고 상기 풀 네임에 연계된 주소 정보를 추출함으로써, name Resolution List에 대한 상기 풀 네임을 분석하고, IETF ASAP 프로토콜에 따른 Name_Resolution_Response-메시지와 같은 상기 Name Resolution List를 포함하는 메시지를 어셈블링하고, 상기 메시지를 상기 요청한 송신기에게 송신하도록 적응됨- 를 포함하는 네임 서버(NS)로서,A memory 14 for storing address information such as an IP address for the pool elements PE1, PE2 associated with a pool name identifying the server pool SP-the pool analysis server module 10 In response to the request, by accessing the memory 14 and extracting address information associated with the full name, the full name for the name resolution list is analyzed and the Name as a Name_Resolution_Response-message according to the IETF ASAP protocol. A name server (NS) comprising an assembled message containing a Resolution List and adapted to send the message to the requesting transmitter, 상기 메모리(14)는 하나 이상의 풀 엘리먼트들(PE1, PE2)에 연계된 상태 정보를 저장하도록 더 적응되고,The memory 14 is further adapted to store state information associated with one or more pull elements PE1, PE2, 상기 풀 분석 서버 모듈(10)은 상기 요청에 대한 응답으로, 상기 상태 정보를 추출하기 위해 상기 메모리(14)에 액세스하고, 상태 벡터로서 상기 메시지에 삽입하여 상기 요청한 송신기(16)에 상기 상태 정보를 전송하도록 더 적응되는,The pool analysis server module 10 accesses the memory 14 to extract the state information in response to the request, inserts it into the message as a state vector and sends the state information to the requested transmitter 16. Which is more adapted to transmit 네임 서버.Name server. 제 10 항에 있어서,The method of claim 10, IETF ASAP 프로토콜에 따른 Endpoint_Keep_Alive-메시지와 같은 Keep-Alive-메시지를 어셈블링하여, 상기 풀 엘리먼트들(PE1, PE2) 중에서 하나의 풀 엘리먼트에 상기 Keep-Alive-메시지를 송신하고, Keep-Alive-Acknowledgement-메시지를 수신하거나 또는 IETF ASAP 프로토콜에 따른 Endpoint_Keep_Alive-Ack-메시지와 같은 로컬 타이머 만료 통보 또는 로컬 타이머 만료를 상기 풀 엘리먼트들(PE1, PE2) 중에서 하나의 풀 엘리먼트로부터 수신하고, 상기 수신에 대한 응답으로 업 그리고 다운 상태와 같은, 상기 풀 엘리먼트들(PE1, PE2) 중에서 하나의 풀 엘리먼트의 상태를 표시하는 상태 정보 각각을 기록하기 위해 상기 메모리(14)에 액세스하는,Assemble a Keep-Alive-message, such as Endpoint_Keep_Alive-message, according to the IETF ASAP protocol, send the Keep-Alive-message to one full element of the pull elements PE1 and PE2, and keep-Alive-Acknowledgement Receive a message or receive a local timer expiration notification or local timer expiration, such as an Endpoint_Keep_Alive-Ack-message according to the IETF ASAP protocol, from one of the pull elements PE1, PE2, and respond to the receipt Accessing the memory 14 to write each state information indicating the state of one of the pull elements PE1, PE2, such as up and down states, 엘리먼트 상태 모듈(12)을 포함하는,Comprising an element status module 12, 네임 서버.Name server. 제 11 항에 있어서,The method of claim 11, 상기 엘리먼트 상태 모듈(12)은 타임스탬프를 나타내는 수를 상기 상태 정보로서 기록하도록 적응되는,The element status module 12 is adapted to record a number representing a timestamp as the status information, 네임 서버.Name server. 서버 풀(SP)의 하나 이상의 풀 엘리먼트들(PE1, PE2) 각각에 의해 제공될 수 있는, 인터넷 기반 애플리케이션들과 같은 서비스 또는 서비스 세트를 지원하는데있어 서버 기능을 사용하기 위한 풀 유저 장치(PU)에 있어서,Full user device (PU) for using server functionality in supporting a service or set of services, such as Internet based applications, which may be provided by each of one or more pool elements (PE1, PE2) of the server pool (SP) To - IETF ASAP 프로토콜에 따른 Name_Resolution-메시지와 같은 상기 서버 풀(SP)을 식별하는 풀 네임을 표시하는 요청을 어셈블링하고, 상기 요청을 네임 서버(NS)에 송신하며, IETF ASAP 프로토콜에 따른 Name_Resolution_Response-메시지와 같은 name resolution list를 포함하는 메시지를 상기 네임 서버(NS)로부터 수신하기 위한 풀 분석 클라이언트 모듈(16); 및Assemble a request indicating a full name identifying the server pool (SP), such as a Name_Resolution-message according to the IETF ASAP protocol, send the request to a name server (NS), and Name_Resolution_Response- according to the IETF ASAP protocol A pool analysis client module 16 for receiving from the name server NS a message comprising a name resolution list such as a message; And - 상기 서비스 또는 서비스 세트를 사용하기 위하여 상기 name resolution list로부터의 주소 정보에 기반하여 상기 서버 풀(SP)의 풀 엘리먼트들(PE1, PE2) 중에서 특정한 하나의 풀 엘리먼트에 액세스하기 위한 서버 선택 모듈(18)을 포함하는,A server selection module for accessing a particular one of the pool elements PE1, PE2 of the server pool SP based on address information from the name resolution list for use of the service or set of services; Which contains 18), 풀 유저 장치로서,As a full user device, 상기 풀 분석 클라이언트 모듈(16)은 상태 벡터를 포함하는 상기 메시지를 수신하도록 더 적응되고,The pool analysis client module 16 is further adapted to receive the message comprising a state vector, 상기 서버 선택 모듈(18)은 상기 상태 벡터에 포함된 상태 정보에 대한 응답으로 상기 풀 엘리먼트들(PE1, PE2) 중에서 상기 특정한 하나의 풀 엘리먼트에 액세스하도록 더 적응되며,The server selection module 18 is further adapted to access the particular one pull element of the pull elements PE1, PE2 in response to state information included in the state vector, 상기 분석 클라이언트 모듈(16)은 상기 하나 이상의 풀 엘리먼트들(PE1, PE2)의 유용성에 관한 상태 정보를 포함하는 상태 벡터를 결정하고 상기 네임 서버(NS)로부터 수신된 상기 상태 벡터로 상기 풀 유저(PU)에 의해 결정된 상기 상태 벡터를 갱신하도록 더 적응되고, 및The analysis client module 16 determines a state vector containing state information regarding the usefulness of the one or more pool elements PE1 and PE2 and uses the state user vector as the state vector received from the name server NS. Is further adapted to update the state vector determined by PU), and 상기 풀 분석 클라이언트 모듈(16)은 응용 계층 및 전송 계층에서, 또는 응용 계층에서 또는 전송 계층에서 상기 풀 유저(PU) 및 상기 하나 이상의 풀 엘리먼트들(PE1, PE2) 사이의 메시지 전송에 관한 하나 이상의 타이머들의 만료 또는 비-만료에 의해 상기 유용성에 관한 상기 상태 정보를 결정하도록 적응되는,The pool analysis client module 16 may be configured to transmit one or more messages related to message transfer between the pool user PU and the one or more pool elements PE1 and PE2 at the application layer and the transport layer, or at the application layer or the transport layer. Adapted to determine the state information regarding the availability by expiration or non-expiration of timers, 풀 유저 장치.Full user device. 제 13 항에 있어서,The method of claim 13, 상태 벡터와 같은 상태 정보를 저장하기 위한 메모리(20)를 포함하고, 여기서 상기 풀 분석 클라이언트 모듈(16) 및 상기 서버 선택 모듈(18)은 각각 상기 상태 정보를 기록하고 읽도록 적응되는,Memory 20 for storing state information, such as a state vector, wherein the pool analysis client module 16 and the server selection module 18 are each adapted to record and read the state information, 풀 유저 장치.Full user device. 제 14 항에 있어서,The method of claim 14, 상기 하나 이상의 풀 엘리먼트들(PE1, PE2)의 유용성에 관한 상태 정보를 결정하고, 상기 상태 정보를 기록하기 위해 상기 메모리(20)에 액세스하기 위한 서버 유용성 모듈(22)을 포함하는,A server usability module 22 for determining status information regarding the usefulness of the one or more pull elements PE1, PE2 and for accessing the memory 20 to write the status information, 풀 유저 장치.Full user device. 제 15 항에 있어서,The method of claim 15, 상기 서버 선택 모듈(18)은 상기 서버 유용성 모듈(22)에 의해 상기 메모리(20)에 기록된 상기 상태 벡터를 상기 풀 분석 클라이언트 모듈(16)에 의해 수신된 상태 벡터에 의해 갱신하도록 적응되는,The server selection module 18 is adapted to update the state vector recorded in the memory 20 by the server usability module 22 by the state vector received by the pool analysis client module 16, 풀 유저 장치.Full user device. 제 13 항 내지 제 16 항 중 어느 한 항에 있어서,The method according to any one of claims 13 to 16, 상기 서버 풀(SP)의 풀 엘리먼트들(PE1, PE2) 중에서 특정한 하나의 풀 엘리먼트를 선택함에 있어서, 상기 서버 선택 모듈(18)에 의해 다른 서버 선택 정책이 사용되며, 상기 서버 선택 정책은 Maximum Availability SSP 또는 그의 확장들 중의 하나를 포함하는,In selecting a particular one of the pool elements PE1 and PE2 of the server pool SP, another server selection policy is used by the server selection module 18, the server selection policy being Maximum Availability. Comprising an SSP or one of its extensions, 풀 유저 장치.Full user device. 삭제delete 삭제delete
KR1020067015330A 2006-07-28 2004-06-29 Method of providing a reliable server function in support of a service or a set of services KR100803854B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067015330A KR100803854B1 (en) 2006-07-28 2004-06-29 Method of providing a reliable server function in support of a service or a set of services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020067015330A KR100803854B1 (en) 2006-07-28 2004-06-29 Method of providing a reliable server function in support of a service or a set of services

Publications (2)

Publication Number Publication Date
KR20070024468A KR20070024468A (en) 2007-03-02
KR100803854B1 true KR100803854B1 (en) 2008-02-14

Family

ID=38099064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067015330A KR100803854B1 (en) 2006-07-28 2004-06-29 Method of providing a reliable server function in support of a service or a set of services

Country Status (1)

Country Link
KR (1) KR100803854B1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
www.watersprins.org/pub/id/draft-ietf-rserpool-asap-09.txt

Also Published As

Publication number Publication date
KR20070024468A (en) 2007-03-02

Similar Documents

Publication Publication Date Title
US11909639B2 (en) Request routing based on class
US8423672B2 (en) Domain name resolution using a distributed DNS network
US9026661B2 (en) Systems and methods for traffic management using load metrics reflective of a requested service
US20110271005A1 (en) Load balancing among voip server groups
US8195831B2 (en) Method and apparatus for determining and using server performance metrics with domain name services
JP5404766B2 (en) Method and system for requesting routing
EP1338133B1 (en) Cache coherent peer-to-peer computing architecture
US7734820B1 (en) Adaptive caching for a distributed file sharing system
US7979580B2 (en) Content delivery and global traffic management network system
US7346676B1 (en) Load balancing service
US8423670B2 (en) Accessing distributed services in a network
EP2088744B1 (en) System and method for performing client-centric load balancing of multiple globally-dispersed servers
US20050240574A1 (en) Pre-fetching resources based on a resource lookup query
US20030065763A1 (en) Method for determining metrics of a content delivery and global traffic management network
US20070160033A1 (en) Method of providing a reliable server function in support of a service or a set of services
TW201724809A (en) System and method for acquiring, processing, and updating global information
JP2007124655A (en) Method for selecting functional domain name server
KR100803854B1 (en) Method of providing a reliable server function in support of a service or a set of services
RU2329609C2 (en) Method of ensuring reliable server function in support of service or set of services
WO2002007012A2 (en) Content delivery and global traffic management across a network system
MXPA06008555A (en) Method of providing a reliable server function in support of a service or a set of services
WO2022157930A1 (en) Computer system and communication method
AU2004321228A1 (en) Method of providing a reliable server function in support of a service or a set of services

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130125

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150122

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170127

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee