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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support 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
본 발명은, 인터넷 기반 애플리케이션들과 같은 서비스 또는 서비스 세트를 지원하는데 있어 신뢰적인 서버 기능을 제공하는 방법에 관한 것이다.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
본 발명의 근원이 되는 아이디어들 중의 하나는, 네임 서버로부터 풀 엘리먼트들에 관련된 (추가적인) 상태 정보를 풀 유저에게 제공하기 위해서 풀 유저와 네임 서버 사이의 메시지 교환을 사용하는 것이다. 네임 서버가 서버 풀에 전용인 노드이므로, 최신 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:
상태 벡터 내의 특정 엘리먼트는 특정 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의 상태 벡터는 로서 표시된다. 원래의 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 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]의 사용에 의해 주기적으로 갱신된다. 이후에 네임 서버의 상태 벡터를 로 표시할 것이다. 주어진 풀에 대한 벡터는 상기 풀을 위해 예약된 네임 서버 내 동일한 데이터베이스 엔트리에 저장된다. 상기 풀 내에 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 Will be displayed. For a given pool 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는 네임 서버로부터의 가장 새로운 정보로 자신의 벡터를 리프레쉬하기 위해 캐쉬 파퓰레이션(갱신)을 완수하길 원한다.1) The PU has its own newest information from the name server. 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 서버는 상기 쿼리를 수신하고, 특정 풀 네임에 대한 데이터베이스 엔트리의 위치를 찾는다. 데이터베이스 엔트리는 가장 최신 버전의 벡터를 포함한다. 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 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 서버는 데이터베이스 엔트리로부터 벡터를 추출한다.2) The ENRP server must Extract the vector.
3) ENRP 서버는 PE들의 전송 주소들이 삽입된 NAME RESOLUTION RESPONSE를 생성한다. 상기 전송 주소들 정보에 추가적으로, 상기 네임 응답은 여분의 필드를 갖도록 확장된다. 벡터는 상기 여분의 필드에 삽입된다.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. 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 서버의 벡터를 포함한다. 일단 PU가 NAME RESOLUTION RESPONSE를 수신하면, 상기 PU는 로컬 네임 캐쉬(전송 주소들 정보)뿐만 아니라 자신의 벡터를 갱신한다. PU의 ASAP 벡터의 갱신 절차는 다음과 같다 : Therefore, the NAME RESOLUTION RESPONSE is the latest version of the ENRP server. 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). Update the vector. ASAP of PU The procedure for updating a vector is as follows:
여기서 및 는 각각 및 의 i번째 엘리먼트들이다.here And Are each And 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)는 전송 주소들 정보뿐만 아니라 벡터를 데이터베이스 엔트리로부터 추출한다.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 Extract the vector from the database entry.
3) 네임 서버(NS)에 의해 PE들의 전송 주소들 및 벡터가 삽입된 NAME RESOLUTION RESPONSE를 생성하는 단계. 네임 서버(NS)는 NAME RESOLUTION RESPONSE를 풀 유저(PU)에 송신한다.3) transport addresses of PEs by name server (NS) and 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 종단점은 상태 벡터 를 갱신하기 위해 위의 식 (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 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는 상태 벡터 를 포함하는 별도의 필드를 갖도록 확장된다. 도 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 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
서버(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)를 위해 제공되는 상태 벡터의 위치에 기록하도록 유도한다.
서버 모듈(10)의 기능은 풀 유저(PU)로부터의 요청에 대하여 보다 상세히 하기에 기술된다. 풀 유저(PU)는 풀 분석 클라이언트 모듈(16), 서버 선택 모듈(18), 메모리(20) 및 서버 유용성 모듈(22)을 포함한다.The functionality of the
풀 유저(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
서버 모듈(10)은 종래 기술에 공지된 바와 같이 PE1, PE2의 전송 주소들을 갖는 Name Resolution List를 포함하는, IETF ASAP 프로토콜에 따른 Name_Resolution_Response-메시지를 어셈블링한다. 또한, 상태 벡터는 상기 Response-메시지의 전송 주소 정보측에 추가된다. 상기 예시에서 상기 벡터는 풀 서버들(PE1, PE2)을 위한 두 개의 타임스탬프 기반의 상태 엘리먼트들을 포함한다.The
Response-메시지는 요청한 송신기, 즉 풀 유저(PU)의 클라이언트 모듈(16)에 송신되고 있다(도 3의 단계 S3). Response-메시지를 수신한 후, 모듈(16)은 전송 주소들 및 상태 벡터를 Response-메시지로부터 추출하고 상기 데이터를 메모리(20)에 기록한다. 또한, 상기 모듈은 서버 선택 모듈(18)에 제어권을 넘긴다.The response message is transmitted to the requested transmitter, i.e., the
서비스 요청을 송신받을 특정한 서버를 선택하기 위하여(도 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
서버 유용성 모듈(22)은 하나 이상의 풀 엘리먼트(들)의 유용성에 관한 상태 정보를 결정하고 메모리(20)에 액세스하여 상기 메모리(20)에 상태 정보를 기록한다. 특히, 모듈(22)은 매번 양의 타임스탬프 값을 결정하고, 전송 및 응용 계층에서 메시지 트랜잭션을 위한 타이머는 만료되지 않는다, 즉 각 트랜잭션은 풀 서버로부터의 확인응답, 응답 또는 다른 반응을 수신함으로써 성공적으로 완료되었다. 서버로의 전송 또는 애플리케이션 연결에 관한 타이머가 만료되는 경우(즉, 시간 내 답신이 수신되지 않는 경우), 타이머 만료시의 현재 음의 타임스탬프 값이 유용성 모듈(22)에 의해 국우적으로 결정된 제1 상태 벡터에 기록된다.
위에서 언급된 바와 같이, 선택 모듈(18)은 두 상태 벡터들을 로딩한다. 다음으로, 모듈(18)은 로컬 상태 값 내의 각 엔트리를 네임 서버 상태 벡터의 상응하는 값으로 교체함으로써 갱신된 로컬 상태 벡터를 결정하고, 이 경우 상기 상응하는 값의 절대값들(즉 '-' 기호를 무시함)이 더 높은데, 이는 네임 서버에 의한 상태 측정이 유용성 모듈(22)에 의해 국우적으로 수행된 상태 측정보다 더 최신임을 의미한다, 즉 더 최근에 수행되었음을 의미한다.As mentioned above, the
예시로서, 상기 저장된 로컬 (제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 (
여기에 기술된 특정한 예는 단지 하나의 본 발명에 따른 적합한 실시예를 묘 사한다. 추가된 청구항들에 의해서만 특정되는 본 발명의 범위 내에서, 공지 기술을 이용하는 것으로 다른 많은 실시예들이 가능하다.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)
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) |
-
2004
- 2004-06-29 KR KR1020067015330A patent/KR100803854B1/en not_active IP Right Cessation
Non-Patent Citations (1)
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 |