KR100435985B1 - 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법 - Google Patents
투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법 Download PDFInfo
- Publication number
- KR100435985B1 KR100435985B1 KR1020040012640A KR20040012640A KR100435985B1 KR 100435985 B1 KR100435985 B1 KR 100435985B1 KR 1020040012640 A KR1020040012640 A KR 1020040012640A KR 20040012640 A KR20040012640 A KR 20040012640A KR 100435985 B1 KR100435985 B1 KR 100435985B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- node
- client
- service system
- providing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/181—Eliminating the failing redundant component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0846—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의 정보 갱신 및 제공 방법에 관한 것이다. 이 무정지 서비스 시스템은 클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹을 포함하며, 이 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 포함한다. 제어 배분 서버는 노드 그룹과 클라이언트 사이에 위치하며, 복수 개의 노드 그룹에 속한 각 노드의 상태 정보와 연결 정보를 관리한다. 제어 배분 서버는 클라이언트로부터의 정보 갱신 및 정보 제공 요청에 따라, 클라이언트에 해당하는 노드 그룹을 선택하여 정보 갱신 및 정보 제공 요청을 선택된 노드 그룹에 포함된 각 노드에게 전달하고, 각 노드로부터 정보 제공이 있는 경우에는 제공된 정보 중에서 최신성과 같은 특정 기준에 따라 투표로 선택된 정보를 클라이언트에게 제공한다. 본 발명에 따르면, 초기 서비스 시스템 구축에 있어서 서비스 이용량에 따른 투자가 가능하며 저 비용으로 고효율의 시스템 구축이 가능하다. 또한, 무정지 시스템 구축을 별다른 장비 추가 없이 효율적으로 할 수 있다.
Description
본 발명은 대용량 서비스 지원을 위한 서비스 시스템에 관한 것으로, 보다 구체적으로 프레전스(presence) 정보와 같은 휘발성 정보(volatile information) 제공시 투표(voting)를 활용하여 폴트 톨러런트(fault tolerant)하고 스케일러블(scalable)한 정보 제공이 가능한 무정지 서비스 시스템 및 그 시스템에서의 정보 갱신 및 제공 방법에 관한 것이다.
기존의 통상적인 서비스 서버 시스템은 대용량 서비스 지원을 위해 중앙처리 장치와 메모리 그리고 외부 저장장치를 확장하여 처리하거나, 또는 간단한 소프트웨어적인 처리를 통해 여러 서버 시스템으로 분산하여 처리하는 방식을 많이 이용하였다.
그러나 상기한 방식들은 보통 좀더 빠른 처리능력의 프로세서와 좀더 많은 메모리로 교체하기 위해 서비스 정지가 되어야 하며, 고성능의 시스템 구입을 위한 그 비용 또한 매우 높다는 문제점이 있다.
한편, 최근 인터넷 등의 네트워크의 향상으로 인해서 대용량 정보 처리시 네트워크를 이용하는 기술들이 개발되고 있다. 예를 들어, (주)컴파인의 국내특허공개공보 2002-96027 "세계 곳곳에 분포된 개인용 컴퓨터의 스토리지와 네트워크 자원을 이용하여 파일을 저장하고 서비스하는 그리드 파일 시스템"은 대용량의 이진 파일을 분해하여 여러 개의 복사본을 만들어서 세계 곳곳에 퍼져있는 개인용 컴퓨터의 남는 스토리지 공간에 분산 배치한 후, 특정한 데이터 요청시 분산 배치된 파일을 순차적으로 다운로드받아 하나로 합쳐서 제공한다. 또한, 이의범의 국내특허공개공보 2003-69635 "피투피 방식에 의한 인트라넷 통합 관리시스템 및 그 방법"은 서버시스템에 접속되어 검색 데이터를 보유한 클라이언트 시스템간에 피투피 방식에 의해서 직접 연결되도록 함으로써 인트라넷을 통해 접속된 각 클라이언트의 보유 정보에 대해서 효율적인 관리 및 액세스가 가능하게 한다.
그러나, 상기한 종래 기술들은 동일한 파일을 분산하거나 복제하여 저장하는 것에 지나지 않으므로 이들 역시 해당 파일을 저장하고 있는 시스템의 결함으로 인한 경우에는 해당 정보를 제공할 수 없다는 문제점이 있다.
특히, 통신망에서 사용이 확대되고 있는 SIP(Session Initiation Protocol) 시스템 중에서 각 사용자들의 등록 정보를 저장하는 SIP Registra(등록 서버), 이동통신 등에서 가입자의 홈 위치정보를 등록하는 HLR(Home Location Register), 사용자의 상태 등의 정보를 나타내는 프레전스(Presence) 정보를 저장하는 프레전스 서버 등과 같이 잦은 갱신을 특징으로 한 휘발성 정보를 제공하는 시스템인 VIPS(Volatile Information Providing System)를 구성하는 경우, 외부 장애 환경에 대해 서비스 정지없이 실시간으로 지속적인 서비스를 제공해야 하고, 급격하게 증가하는 사용자들에 대한 시스템 한계가 저비용으로 극복되어야 한다는 것이 요구되고 있다.
따라서, 본 발명의 기술적 과제는 상기한 문제점을 해결하고자 하는 것으로, 동일 정보를 복수의 노드로 이루어진 노드 그룹에 저장시킨 후, 해당 정보 요청시 노드 그룹에 포함된 복수의 노드로부터 제공되는 정보 중에서 투표를 활용하여 가장 적절한 정보를 선택하여 제공하는 대용량 서비스 지원을 위한 무정지 서비스 시스템 및 그 시스템에서의 정보 갱신 및 제공 방법을 제공하는 데 있다.
도 1은 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템의 블록도이다.
도 2는 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템에서의 정보 갱신 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템에서의 정보 제공 방법의 흐름도이다.
도 4는 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템에서 특정 노드 장애시 정보 갱신 방법의 흐름도이다.
도 5는 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템에서 장애 복구된 노드 또는 추가 노드의 등록 및 그 후의 정보 갱신 방법의 흐름도이다.
상기 과제를 달성하기 위한 본 발명의 하나의 특징에 따른 무정지 서비스 시스템은,
클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹-여기서 복수 개의 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 각각 포함함-; 및 상기 복수 개의 노드 그룹에 속한 각 노드의 상태 정보와 연결 정보를 관리하며, 클라이언트로부터의 정보 갱신 및 정보 제공 요청에 따라, 상기 클라이언트에 해당하는 노드 그룹을 선택하여 상기 정보 갱신 및 정보 제공 요청을 상기 노드 그룹에 포함된 각 노드에게 전달하고, 상기 각 노드로부터 정보 제공이 있는 경우, 상기 제공된 정보 중에서 특정 기준에 따라 선택된 정보를 상기 클라이언트에게 제공하는 제어 배분 서버를 포함한다.
본 발명의 다른 특징에 따른 무정지 서비스 시스템에서의 정보 갱신 방법은,
클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹-여기서 복수 개의 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 각각 포함함-을 사용하는 무정지 서비스 시스템에서 상기 각 노드에 저장된 정보를 갱신하는 방법으로서,
a) 클라이언트로부터 정보 갱신 요청이 있는 경우, 상기 복수 개의 노드 그룹 중에서 상기 클라이언트에 해당하는 노드 그룹을 선택하는 단계; b) 상기 선택된 노드 그룹에 속하는 각 노드에게 상기 클라이언트로부터의 정보 갱신 요청을 전달하는 단계; 및 c) 상기 각 노드로부터 상기 요청된 정보 갱신 결과를 수신하여 상기 클라이언트로 전달하는 단계를 포함한다.
본 발명의 또 다른 특징에 따른 무정지 서비스 시스템에서의 정보 제공 방법은,
클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹-여기서 복수 개의 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 각각 포함함-을 사용하는 무정지 서비스 시스템에서 상기 각 노드에 저장된 정보를 제공하는 방법으로서,
a) 클라이언트로부터 정보 제공 요청이 있는 경우, 상기 복수 개의 노드 그룹 중에서 상기 클라이언트에 해당하는 노드 그룹을 선택하는 단계; b) 상기 선택된 노드 그룹에 속하는 각 노드에게 상기 클라이언트로부터의 정보 제공 요청을 전달하는 단계; 및 c) 상기 각 노드로부터 상기 요청된 정보를 수신하는 단계; 및 d) 상기 수신된 정보들 중에서 특정 기준에 따라 선택된 정보를 상기 클라이언트에게 제공하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 대용량 서비스 지원을 위한 무정지 서비스 시스템에 대해서 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 대용량 서비스 지원을 위한 무정지 서비스 시스템의 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템은 제어 분배 서버(Control Dispatcher Server:CDS, 100) 및 노드(node) 저장부(200)를 포함한다.
노드 저장부(200)는 독립적으로 정보를 저장하며 각각 특정 네트워크로 연결된 복수 개의 노드들(A1, …, AN, B1, …, BN, M1, …, MN)로 이루어지고, 각 노드들은 다시 복수 개의 노드들을 구성원으로 하는 복수의 노드 그룹(node group)으로 구분된다. 예를 들어, A 그룹은 A1, …, AN의 노드로 이루어지고, B 그룹은 B1, …, BN의 노드로 이루어지며, 계속해서 M 그룹은 M1, …, MN의 노드로 이루어진다. 여기서, M과 N은 각각 자연수이다. 이 때, 각 노드들(A1, …, AN, B1, …, BN, M1, …, MN)은 물리적인 하나의 서버일 수 있으며, 또는 물리적인 하나의 서버에 여러 노드가 구별이 가능하도록 존재할 수 있다. 또한, 물리적으로 하나의 서버에동일한 그룹 노드가 존재할 수 있거나 또는 여러 서버에 동일한 그룹 노드가 존재할 수 있다. 즉, 각 노드들(A1, …, AN, B1, …, BN, M1, …, MN)은 논리적인 프로세스 단위이다. 도 1에서는 M개의 노드 그룹이 존재하고, 각 노드 그룹은 다시 N개의 노드들로 이루어지는 것으로 가정하여 설명하고 있다.
한편, 노드 그룹은 특정 기준에 따라 해당하는 노드들이 그룹화된 것으로, 이러한 특정 기준의 예로는 클라이언트(client, 300)의 아이디나 전화번호 등의 구별자 등이 있으며, 이러한 것을 기준으로 전체 노드 개수를 고려하여 각 노드 그룹에 노드를 분배하거나 또는 해쉬 알고리즘을 활용하여 할당한다.
따라서, 제어 분배 서버(100)는 상기한 노드 그룹을 구분하는 특정 기준에 따라 클라이언트(300)로부터의 요청에 따라 정보 저장 및 제공시 대응되는 노드 그룹을 선택하는 알고리즘을 수행한다.
제어 분배 서버(100)는 노드 저장부(200)에 있는 각 노드들(A1, …, AN, B1, …, BN, M1, …, MN)의 상태 정보와 연결 정보를 저장하여 관리하며, 클라이언트(300)로부터의 요청을 수신하여 해당 정보를 관리하는 노드 그룹을 선택하고, 해당 노드 그룹에게 작업을 요청한다. 특히, 제어 분배 서버(100)는 클라이언트(300)로부터의 정보 제공 요청에 따라 해당 정보를 관리하는 노드 그룹에게 해당 정보 제공을 요청하고, 노드 그룹에 속한 각 노드들로부터 제공되는 정보 중에서 가장 적절한 정보를 선택(voting)하여 클라이언트(300)에게 제공한다. 이 때, 제어 분배 서버(100)가 노드 그룹에게서 제공되는 정보 중에서 가장 적절한 정보를 선택(voting)하는 기준으로는 시간 정보를 얻어서 가장 최근에 갱신된 정보를 선택하는 최신성 기준 등이 활용될 수 있다. 특히 위치 정보 등에서는 최신성 기준이 가장 효율적일 수 있다.
한편, 제어 분배 서버(100)는 [표 1]에 나타낸 바와 같은 정보를 관리한다.
한편, 각 노드들(A1, …, AN, B1, …, BN, M1, …, MN)은 일반적인 정보 시스템의 정보 관리 자료를 가지고 있다. 각 노드들(A1, …, AN, B1, …, BN, M1, …, MN)은 NTP(Network Time Protocol) 등을 통해 서로 간의 시간을 모두 동기화시켜 각 정보의 최신성을 관리하여, 그를 통해 가장 적절한 정보를 선택하는 기준이 될 수 있도록 한다.
이하, 도면을 참조하여 본 발명의 실시예에 따른 투표를 활용한 무정지 서비스 시스템의 제어 방법에 대해 상세하게 설명한다.
먼저, 도 2를 참조하여 클라이언트(300)의 정보를 갱신하는 방법에 대해 설명한다.
클라이언트(300)는 자신의 상태 정보가 변경되면 changeInformation() 메시지를 통해 변경된 정보를 제어 분배 서버(CDS, 100)로 전달한다(S10).
제어 분배 서버(100)는 노드 그룹 선택 알고리즘을 통해 클라이언트(300)로부터 요청된 정보 변경을 수행할 노드 그룹을 선택하여 대응되는 노드 그룹 목록을 생성한 후(selectNodeGroup(), S110), updateInformation() 메시지를 통해 해당 목록에 속한 각 노드들에게 해당 정보의 변경을 통한 갱신을 요청한다(S120). 예를 들어, 클라이언트(300)로부터 요청된 정보 변경을 수행할 노드 그룹이 제어 분배 서버(100)에서 노드 그룹 A인 것으로 선택된 경우, 노드 그룹 A에 속한 각 노드들(A1, A2, …, AN)에게 해당 정보 갱신을 요청한다. 이 때, 도 2에서는 제어 분배 서버(100)로부터 각 노드들(A1, A2, …, AN)에 대한 정보 갱신 요청 메시지가 순차적으로 전송되는 것같이 도시되어 있지만, 노드 그룹 A에 속한 전체 노드들(A1, A2, …, AN)에 대해 동시에 방송형 메시지로 전달될 수 있다.
그 후, 제어 분배 서버(100)는 정보 갱신이 요청된 각 노드들로부터 정보 갱신에 대한 응답을 받은 후, sendResponse() 메시지를 통해 클라이언트(300)에게 정보 갱신 결과를 통지함으로써, 정보 갱신 작업을 종료하게 된다(S130).
다음은 도 3을 참조하여 클라이언트(300)가 요청한 정보를 제공하는 방법에 대해 설명한다.
클라이언트(300)는 필요한 정보를 제공받기 위해 requestInformation() 메시지를 사용하여 제어 분배 서버(100)로 정보를 요청한다(S200).
제어 분배 서버(100)는 노드 그룹 선택 알고리즘을 통해 클라이언트(300)로부터 요청된 정보를 제공할 노드 그룹을 선택하여 대응되는 노드들을 선별한 후(selectNodeGroup(), S210), fetchInformation() 메시지를 통해 선별된 각 노드들에게 해당 정보를 요청한다(S220). 예를 들어, 클라이언트(300)로부터 요청된 정보를 제공할 노드 그룹이 제어 분배 서버(100)에서 노드 그룹 A인 것으로 선택된 경우, 노드 그룹 A에 속한 각 노드들(A1, A2, …, AN)에게 해당 정보를 요청한다. 상기에서와 마찬가지로, 이 때 도 3에서는 제어 분배 서버(100)로부터 각 노드들(A1, A2, …, AN)에 대한 정보 요청 메시지가 순차적으로 전송되는 것같이 도시되어 있지만, 노드 그룹 A에 속한 전체 노드들(A1, A2, …, AN)에 대해 동시에 방송형 메시지로 전달될 수 있다.
다음, 제어 분배 서버(100)로부터 정보 제공 요청을 받은 각 노드들, 상기 예에서 A1, A2, …, AN 노드들은 자신의 데이터베이스를 검색하여 요청된 정보를 찾아서 sendInformation() 메시지를 통해 각각 제어 분배 서버(100)로 제공하여 정보 선택 투표에 참여한다(S230).
한편, 제어 분배 서버(100)는 정보를 요청한 각 노드들로부터 요청된 정보들이 수신되면, 수신된 정보들 중에서 최신성 등의 기준과 같은 특정 기준에 따라 적절한 정보를 선별하는 투표(voting)를 수행한 후(selectBestInformation(), S240), 선별된 정보를 sendResponse() 메시지를 통해 클라이언트에게 전송함으로써, 정보 제공 작업을 종료하게 된다(S250).
상기 도 3을 참조하여 클라이언트가 요청한 정보를 제공하는 방법은 정보 제공을 요청받은 각 노드들이 모두 정상적인 동작을 수행하는 경우에 대해 설명한 것으로, 각 노드들 중에서 장애가 발생하여 정상적인 동작이 어려워 요청된 정보를 제공하지 못하는 노드가 있는 경우에는 상기와는 약간 다르게 동작될 수 있다.
다음은 도 4를 참조하여 특정 노드 장애시에 클라이언트(300)가 요청한 정보를 제공하는 방법에 대해 설명한다.
먼저, 클라이언트(300)는 필요한 정보를 제공받기 위해 requestInformation () 메시지를 사용하여 제어 분배 서버(100)로 정보를 요청한다(S300).
다음, 제어 분배 서버(100)는 노드 그룹 선택 알고리즘을 통해 클라이언트(300)로부터 요청된 정보를 제공할 노드 그룹을 선택하여 대응되는 노드들을 선별한 후(selectNodeGroup(), S310), fetchInformation() 메시지를 통해 선별된 각 노드들에게 해당 정보를 요청한다(S320). 예를 들어, 클라이언트(300)로부터 요청된 정보를 제공할 노드 그룹이 제어 분배 서버(100)에서 노드 그룹 A인 것으로 선택된 경우, 노드 그룹 A에 속한 각 노드들(A1, A2, …, AN)에게 해당 정보를 요청한다. 상기에서와 마찬가지로, 이 때 도 4에서는 제어 분배 서버(100)로부터 각 노드들(A1, A2, …, AN)에 대한 정보 요청 메시지가 순차적으로 전송되는 것같이 도시되어 있지만, 노드 그룹 A에 속한 전체 노드들(A1, A2, …, AN)에 대해 동시에 방송형 메시지로 전달될 수 있다.
다음, 제어 분배 서버(100)로부터 정보 제공 요청을 받은 각 노드들, 상기 예에서 A1, A2, …, AN 노드들은 자신의 데이터베이스를 검색하여 요청된 정보를 찾아서 sendInformation() 메시지를 통해 각각 제어 분배 서버(100)로 제공하여 정보 선택 투표에 참여한다(S330). 이 때, 제어 분배 서버(100)로부터 정보 제공을요청받은 노드들 중에서 장애가 발생하여 정상적인 정보 제공을 수행하지 못하는 노드 또는 노드들이 있는 경우, 제어 분배 서버(100)로부터 정보 제공을 요청하기 위한 해당 노드에 대한 연결이 실패하거나, 또는 정보 제공을 요청하는 메시지인 fetchInformation() 메시지를 전송하는 중에 전송 실패가 발생되거나, 또는 요청 메시지는 해당 노드에 전송이 완료되었지만 해당 요청에 대한 정보가 제공되지 않고 특정된 시간, 예를 들어 2 ∼ 3초 정도의 시간동안 응답이 없는 경우가 발생될 수 있다. 이러한 경우, 제어 분배 서버(100)는 해당 노드에 장애가 발생되어 장애가 복구될 때까지 정보 제공 동작을 정상적으로 처리할 수 없으므로 해당 노드를 장애 관리 대상으로 지정하여 관리한다. 그 후, 해당 노드의 장애가 복구되는 경우, 제어 분배 서버(100)는 다시 해당 노드를 장애 관리 대상에서 제외하여 정상적인 정보 제공 동작이 수행될 수 있도록 한다. 따라서, 제어 분배 서버(100)는 장애가 발생된 노드 또는 노드들에 대해서는 장애가 복구될 때까지 정보 제공을 요청하지 않을 수 있다. 또한, 제어 분배 서버(100)는 장애가 발생된 노드 또는 노드들에 대해 정보 제공을 위한 노드 그룹으로부터 그 등록을 제거할 수 있다.
도 4에서는 A2 노드(NodeA2)에 장애(Failure)가 발생된 경우에 대해서 예를 들어 설명하고 있다. 제어 분배 서버(100)가 정보 제공을 요청하는 fetchInformation() 메시지를 A2 노드로 전송하였지만(S320), A2 노드의 장애로 인해 다음 단계(S330)에서 제어 분배 서버(100)는 A2 노드로부터 요청한 정보를 수신할 수 없게 된다. 따라서, 제어 분배 서버(100)는 다음의 정보 제공 요청시 A2 노드에 대해서는 정보 제공을 요청하지 않을 수 있다.
한편, 제어 분배 서버(100)는 장애가 발생하여 정보를 제공하지 못하는 노드 또느 노드들을 제외한 나머지 각 노드들로부터 요청된 정보들이 수신되면, 수신된 정보들 중에서 최신성 등의 기준과 같은 특정 기준에 따라 적절한 정보를 선별하는 투표(voting)를 수행한 후(selectBestInformation(), S340), 선별된 정보를 sendResponse() 메시지를 통해 클라이언트에게 전송함으로써, 정보 제공 작업을 종료하게 된다(S350).
이와 같이, 본 발명의 실시예에서는 정보를 제공하는 노드 그룹에 속한 각 노드들 중에서 모든 노드들에 장애가 발생되지 않는 한, 정보 제공 동작의 정지없이 클라이언트(300)가 요청한 정보를 특정 기준에 따라 적절하게 선별하여 제공할 수 있다.
다음은 도 5를 참조하여 장애가 복구된 노드 또는 추가된 노드의 등록 및 그 등록 후에 클라이언트(300)가 요청한 정보를 제공하는 방법에 대해 설명한다.
먼저, 장애가 발생하여 제어 분배 서버(100)에서 정보 제공을 위한 노드 그룹에서 그 등록이 제거된 노드가 장애가 복구되어 다시 등록을 하는 경우, 또는 노드 저장부(200)의 확장을 위한 노드 추가로 인한 등록이 발생하는 경우, 장애가 복구된 노드 또는 추가된 노드, 예를 들어 도 5에서는 AN+1 노드(NodeAN+1)는 제어 분배 서버(100)에게 자신의 등록을 요청하여 참여를 알리는 register() 메시지를 전송한다(S400). 따라서, 제어 분배 서버(100)는 등록 요청 메시지를 전송한 노드를 추가로 등록하여 정보 제공을 위한 노드로 동작될 수 있도록 관리한다.
그 후, 제어 분배 서버(100)는 정보 갱신, 정보 제공 등의 동작 시에 장애가복구되었거나 추가된 노드에 대해서도 해당 동작을 요청하여 대응되는 동작이 수행되도록 한다.
예를 들어, 정보 갱신시에 클라이언트(300)로부터 상태 정보 갱신을 위한 changeInformation() 메시지가 전송되는 경우(S500), 제어 분배 서버(100)는 노드 그룹 선택 알고리즘을 통해 클라이언트(300)로부터 요청된 정보 갱신을 수행할 노드 그룹을 선택한 후(selectNodeGroup(), S510), updateInformation() 메시지를 통해 해당 그룹에 속한 각 노드들에게 해당 정보의 갱신을 요청한다(S520). 이 때, 장애가 복구되었거나 추가된 노드에 대해서도 정보 갱신이 요청된다. 예를 들어, 클라이언트(300)로부터 요청된 정보 갱신을 수행할 노드 그룹이 제어 분배 서버(100)에서 노드 그룹 A인 것으로 선택된 경우, 노드 그룹 A에 속한 각 노드들(A1, A2, …, AN, AN+1)에게 해당 정보 갱신을 요청한다. 여기서, AN+1 노드가 추가로 등록된 노드이다.
그 후, 제어 분배 서버(100)는 정보 갱신이 요청된 각 노드들로부터 정보 갱신에 대한 응답을 받은 후, sendResponse() 메시지를 통해 클라이언트(300)에게 정보 갱신 결과를 통지함으로써, 정보 갱신 작업을 종료하게 된다(S530).
상기한 바와 같은 정보 갱신 동작, 정보 제공 동작, 장애 발생시 정보 제공 동작, 장애 복구 또는 노드 추가시의 정보 갱신 및 정보 제공 동작 등은 SIP Registra 같은 매우 안정적이며 잦은 정보의 변경과 빠른 응답 시간을 가지는 역할을 구현하는데 활용될 수 있다. 일반적으로 매우 높은 안정성을 보장해야 하는 통신시스템의 특성상, SIP Registra의 경우도 매우 높은 안정성과 성능을 제공해야하는데, SIP Registra의 경우 그 구현 방법이 명확하게 명시되지 않은 관계로 요구사항을 구현하는데 어려움이 따르기 때문에 본 발명의 실시예에 따른 시스템 및 제어 방법을 활용하는 경우, 요구사항을 만족하는 시스템을 쉽게 구축할 수 있다. 또한, 이를 텐덤 등의 폴트 톨러런트 시스템 기반에서 구현할 경우, 가입자가 늘어나더라도 보다 저렴한 비용으로 클러스터링 구조를 활용할 수 있으며, 장비의 확장 시에도 운영 중에 추가가 가능하기 때문에 무정지 시스템을 구축하는 것을 가능하게 한다.
또 다른 예로, 이동통신 등에서 가입자와 단말의 상태를 관리하는 HLR은 빠른 업데이트 속도와 응답 시간을 가져야 하며, 교환망에서 핵심적인 역할을 수행하는 만큼 절대로 정지하여서는 안된다는 요구사항을 가지고 있다. 따라서, 본 발명의 실시예에 따른 시스템 및 제어 방법에 따라 구현하는 경우, 가입자가 늘어나더라도 50만명당 하나씩 고가의 시스템을 구축하는 대신, 보다 저렴한 클러스터링 구조를 활용할 수 있으며, 또한 50만명당 하나씩이라는 숫자 제한도 효과적으로 없어짐과 더불어, 다양한 형태의 고가용성 전략이 가능해진다. 따라서, 교환기 측면에서도 HLR에 질의를 함에 있어 가입자별로 다른 HLR을 찾아야 했던 복잡도가 하나의 HLR 클러스터 군에 질의를 하는 구조로 바뀔 수 있으며, 이로 인해 통신망의 구조도 훨씬 단순화될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 이에 한정되는 것은 아니며, 그 외의 다양한 변경이나 변형이 가능하다.
본 발명에 따르면, 초기 서비스 시스템 구축에 있어서 서비스 이용량에 따른 투자가 가능하며 저 비용으로 고효율의 시스템 구축이 가능하다.
또한, 무정지 시스템 구축을 별다른 장비 추가 없이 효율적으로 할 수 있다.
Claims (21)
- 클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹-여기서 복수 개의 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 각각 포함함-; 및상기 복수 개의 노드 그룹에 속한 각 노드의 상태 정보와 연결 정보를 관리하며, 클라이언트로부터의 정보 갱신 및 정보 제공 요청에 따라, 상기 클라이언트에 해당하는 노드 그룹을 선택하여 상기 정보 갱신 및 정보 제공 요청을 상기 노드 그룹에 포함된 각 노드에게 전달하고, 상기 각 노드로부터 정보 제공이 있는 경우, 상기 제공된 정보 중에서 특정 기준에 따라 선택된 정보를 상기 클라이언트에게 제공하는 제어 배분 서버를 포함하는 무정지 서비스 시스템.
- 제1항에 있어서,상기 제어 배분 서버가 정보를 선택하는 상기 특정 기준은 해당 정보가 갱신된 시간이 가장 최근인 정보를 선택하는 최신성 기준인 것을 특징으로 하는 무정지 서비스 시스템.
- 제2항에 있어서,상기 각 노드는 시간적으로 모두 동기화되도록 서로 연결되어 있는 것을 특징으로 하는 무정지 서비스 시스템.
- 제1항에 있어서,상기 클라이언트를 구별하는 구별자에는 클라이언트의 아이디나 전화번호가 포함되는 것을 특징으로 하는 무정지 서비스 시스템.
- 제1항에 있어서,상기 제어 배분 서버가 관리하는 정보에는,상기 각 노드를 구별하는 노드 구별자;상기 각 노드가 속하는 노드 그룹;상기 각 노드에 접속 가능한 아이피와 포트 정보를 포함하는 노드 주소;상기 각 노드와의 연결을 유지하는 경우에 필요한 노드 연결 정보; 및전체 노드 정보의 개수와 각 노드별 이동 회수를 포함하는 기본적인 통계 정보, 부하 정도, 응답 속도를 포함하는 정보가 포함되는 것을 특징으로 하는 무정지 서비스 시스템.
- 제1항에 있어서,상기 제어 분배 서버는 상기 각 노드 중에서 장애가 발생되어 정상적인 정보 갱신 동작 및 정보 제공 동작을 수행하지 못하는 노드에 대해서 정보 갱신 및 정보 제공을 위한 노드 그룹으로부터 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템.
- 제6항에 있어서,상기 등록이 제거된 노드는 발생된 장애가 복구된 경우 상기 제어 분배 서버에 정보 갱신 및 정보 제공을 위한 노드로 재등록되는 것을 특징으로 하는 무정지 서비스 시스템.
- 클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹-여기서 복수 개의 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 각각 포함함-을 사용하는 무정지 서비스 시스템에서 상기 각 노드에 저장된 정보를 갱신하는 방법에 있어서,a) 클라이언트로부터 정보 갱신 요청이 있는 경우, 상기 복수 개의 노드 그룹 중에서 상기 클라이언트에 해당하는 노드 그룹을 선택하는 단계;b) 상기 선택된 노드 그룹에 속하는 각 노드에게 상기 클라이언트로부터의 정보 갱신 요청을 전달하는 단계; 및c) 상기 각 노드로부터 상기 요청된 정보 갱신 결과를 수신하여 상기 클라이언트로 전달하는 단계를 포함하는 무정지 서비스 시스템에서의 정보 갱신 방법.
- 제8항에 있어서,상기 b) 단계에서, 상기 선택된 노드 그룹에 속한 노드들 중에서 장애 발생으로 인해 연결이 안되는 노드의 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 갱신 방법.
- 제8항에 있어서,상기 b) 단계에서, 상기 선택된 노드 그룹에 속한 노드들 중에서 장애 발생으로 인해 상기 정보 갱신 요청 전달이 안되는 노드의 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 갱신 방법.
- 제8항에 있어서,상기 c) 단계에서, 상기 선택된 노드 그룹에 속한 노드들 중에서 장애 발생으로 인해 상기 정보 갱신 결과를 전송하지 못하는 노드의 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 갱신 방법.
- 제9항 내지 제11항 중 어느 한 항에 있어서,상기 장애 발생으로 인해 등록이 제거된 노드에 대해 상기 장애가 복구되는 경우, 새로운 노드로 등록하여 상기 정보 갱신을 위한 노드로 사용되는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 갱신 방법.
- 제8항에 있어서,상기 특정 노드 그룹에 추가되는 노드는 새로운 노드로 등록하여 상기 정보 갱신을 위한 노드로 사용되는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 갱신 방법.
- 클라이언트를 구별하는 구별자를 기준으로 정보를 저장하고 관리하는 복수 개의 노드 그룹-여기서 복수 개의 노드 그룹은 독립적으로 정보 저장 및 관리가 가능한 복수 개의 노드를 각각 포함함-을 사용하는 무정지 서비스 시스템에서 상기 각 노드에 저장된 정보를 제공하는 방법에 있어서,a) 클라이언트로부터 정보 제공 요청이 있는 경우, 상기 복수 개의 노드 그룹 중에서 상기 클라이언트에 해당하는 노드 그룹을 선택하는 단계;b) 상기 선택된 노드 그룹에 속하는 각 노드에게 상기 클라이언트로부터의 정보 제공 요청을 전달하는 단계; 및c) 상기 각 노드로부터 상기 요청된 정보를 수신하는 단계; 및d) 상기 수신된 정보들 중에서 특정 기준에 따라 선택된 정보를 상기 클라이언트에게 제공하는 단계를 포함하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 제14항에 있어서,상기 d) 단계에서, 상기 특정 기준은 상기 수신된 정보가 갱신된 시간이 가장 최근인 정보를 선택하는 최신성 기준인 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 제14항에 있어서,상기 b) 단계에서, 상기 선택된 노드 그룹에 속한 노드들 중에서 장애 발생으로 인해 연결이 안되는 노드의 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 제14항에 있어서,상기 b) 단계에서, 상기 선택된 노드 그룹에 속한 노드들 중에서 장애 발생으로 인해 상기 정보 제공 요청 전달이 안되는 노드의 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 제14항에 있어서,상기 c) 단계에서, 상기 선택된 노드 그룹에 속한 노드들 중에서 장애 발생으로 인해 상기 요청된 정보가 수신되지 않는 노드의 등록을 제거하는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 제16항 내지 제18항 중 어느 한 항에 있어서,상기 장애 발생으로 인해 등록이 제거된 노드에 대해 상기 장애가 복구되는 경우, 새로운 노드로 등록하여 상기 정보 제공을 위한 노드로 사용되는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 제14항에 있어서,상기 특정 노드 그룹에 추가되는 노드는 새로운 노드로 등록하여 상기 정보 제공을 위한 노드로 사용되는 것을 특징으로 하는 무정지 서비스 시스템에서의 정보 제공 방법.
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040012640A KR100435985B1 (ko) | 2004-02-25 | 2004-02-25 | 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법 |
JP2007500688A JP4459999B2 (ja) | 2004-02-25 | 2005-02-25 | 投票を活用した無停止サービスシステム及びそのシステムにおける情報更新及び提供方法 |
PCT/KR2005/000534 WO2005081453A1 (en) | 2004-02-25 | 2005-02-25 | Nonstop service system using voting and, information updating and providing method in the same |
US11/509,973 US8880665B2 (en) | 2004-02-25 | 2006-08-24 | Nonstop service system using voting, and information updating and providing method in the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040012640A KR100435985B1 (ko) | 2004-02-25 | 2004-02-25 | 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040012942A Division KR20050086332A (ko) | 2004-02-26 | 2004-02-26 | 투표를 활용한 무정지 서비스 시스템과 그 시스템에서의정보 갱신 및 제공 방법, 그리고 그 제공 방법을 구현하는프로그램을 저장한 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100435985B1 true KR100435985B1 (ko) | 2004-06-12 |
Family
ID=34880280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040012640A KR100435985B1 (ko) | 2004-02-25 | 2004-02-25 | 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8880665B2 (ko) |
JP (1) | JP4459999B2 (ko) |
KR (1) | KR100435985B1 (ko) |
WO (1) | WO2005081453A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4842742B2 (ja) * | 2006-09-05 | 2011-12-21 | 富士通株式会社 | ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置 |
US8406123B2 (en) * | 2006-12-11 | 2013-03-26 | International Business Machines Corporation | Sip presence server failover |
US20090083745A1 (en) * | 2007-09-25 | 2009-03-26 | Jinmei Shen | Techniques for Maintaining Task Sequencing in a Distributed Computer System |
US8135838B2 (en) * | 2008-04-08 | 2012-03-13 | Geminare Incorporated | System and method for providing data and application continuity in a computer system |
US7631034B1 (en) | 2008-09-18 | 2009-12-08 | International Business Machines Corporation | Optimizing node selection when handling client requests for a distributed file system (DFS) based on a dynamically determined performance index |
JP6256904B2 (ja) * | 2013-04-18 | 2018-01-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 処理の要求を振り分ける装置及び方法 |
US11539611B2 (en) * | 2014-05-08 | 2022-12-27 | Microsoft Technology Licensing, Llc | Fine-grained network monitoring |
CN107919971B (zh) * | 2016-10-09 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 用于音视频通讯连接容灾的方法、装置及系统 |
US12001888B2 (en) | 2022-01-28 | 2024-06-04 | Hewlett Packard Enterprise Development Lp | Server instance allocation for execution of application instances |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317752A (en) * | 1989-12-22 | 1994-05-31 | Tandem Computers Incorporated | Fault-tolerant computer system with auto-restart after power-fall |
CA2106280C (en) * | 1992-09-30 | 2000-01-18 | Yennun Huang | Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance |
GB2281644A (en) * | 1993-09-02 | 1995-03-08 | Ibm | Fault tolerant transaction-oriented data processing. |
US5878215A (en) * | 1994-05-23 | 1999-03-02 | Mastercard International Incorporated | System and method for processing multiple electronic transaction requests |
US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
US5815649A (en) * | 1995-10-20 | 1998-09-29 | Stratus Computer, Inc. | Distributed fault tolerant digital data storage subsystem for fault tolerant computer system |
JP2977476B2 (ja) * | 1995-11-29 | 1999-11-15 | 株式会社日立製作所 | 機密保護方法 |
US5909540A (en) * | 1996-11-22 | 1999-06-01 | Mangosoft Corporation | System and method for providing highly available data storage using globally addressable memory |
US6052718A (en) * | 1997-01-07 | 2000-04-18 | Sightpath, Inc | Replica routing |
JP3831092B2 (ja) * | 1997-09-19 | 2006-10-11 | 富士通株式会社 | サーバ |
US6199169B1 (en) * | 1998-03-31 | 2001-03-06 | Compaq Computer Corporation | System and method for synchronizing time across a computer cluster |
US6327622B1 (en) * | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6092178A (en) * | 1998-09-03 | 2000-07-18 | Sun Microsystems, Inc. | System for responding to a resource request |
US6324580B1 (en) * | 1998-09-03 | 2001-11-27 | Sun Microsystems, Inc. | Load balancing for replicated services |
US6178441B1 (en) * | 1998-09-21 | 2001-01-23 | International Business Machines Corporation | Method and system in a computer network for the reliable and consistent ordering of client requests |
US6748381B1 (en) * | 1999-03-31 | 2004-06-08 | International Business Machines Corporation | Apparatus and method for maintaining consistency of shared data resources in a cluster environment |
US7756830B1 (en) * | 1999-03-31 | 2010-07-13 | International Business Machines Corporation | Error detection protocol |
JP3852814B2 (ja) * | 1999-09-24 | 2006-12-06 | 富士通株式会社 | プロファイル作成方法及びシステム |
US6671821B1 (en) * | 1999-11-22 | 2003-12-30 | Massachusetts Institute Of Technology | Byzantine fault tolerance |
GB9928689D0 (en) * | 1999-12-03 | 2000-02-02 | Connextra Limited | Information communication system |
US7062648B2 (en) * | 2000-02-18 | 2006-06-13 | Avamar Technologies, Inc. | System and method for redundant array network storage |
US7117246B2 (en) * | 2000-02-22 | 2006-10-03 | Sendmail, Inc. | Electronic mail system with methodology providing distributed message store |
US20020002611A1 (en) * | 2000-04-17 | 2002-01-03 | Mark Vange | System and method for shifting functionality between multiple web servers |
US20010039548A1 (en) * | 2000-04-27 | 2001-11-08 | Yoshitake Shinkai | File replication system, replication control method, and storage medium |
US6421725B1 (en) * | 2000-05-04 | 2002-07-16 | Worldcom, Inc. | Method and apparatus for providing automatic notification |
JP2003044297A (ja) * | 2000-11-20 | 2003-02-14 | Humming Heads Inc | コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム |
US7130883B2 (en) * | 2000-12-29 | 2006-10-31 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
DE10101805A1 (de) * | 2001-01-17 | 2002-07-18 | Siemens Ag | Netzwerk mit mehreren Teilnehmern sowie Teilnehmer für ein derartiges Netzwerk |
US20030093565A1 (en) * | 2001-07-03 | 2003-05-15 | Berger Adam L. | System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability |
WO2003013065A1 (en) * | 2001-08-02 | 2003-02-13 | Sun Microsystems, Inc. | Method and system for node failure detection |
US7130905B2 (en) * | 2002-01-10 | 2006-10-31 | Sun Microsystems, Inc. | System and method for coordinating access to data for a distributed application |
JP3865668B2 (ja) * | 2002-08-29 | 2007-01-10 | 富士通株式会社 | 移動通信ネットワークシステム |
US7987449B1 (en) * | 2003-05-22 | 2011-07-26 | Hewlett-Packard Development Company, L.P. | Network for lifecycle management of firmware and software in electronic devices |
US7444337B2 (en) * | 2004-03-09 | 2008-10-28 | Ntt Docomo, Inc. | Framework and associated apparatus for the adaptive replication of applications with server side code units |
US7188273B2 (en) * | 2003-11-24 | 2007-03-06 | Tsx Inc. | System and method for failover |
US20060031317A1 (en) * | 2004-06-04 | 2006-02-09 | Wanrong Lin | System for synthesizing instant message and presence attributes from polled, queried and event information sources |
TW200625101A (en) * | 2005-01-14 | 2006-07-16 | Farstone Tech Inc | Backup/restore system and method thereof |
JP2008544592A (ja) * | 2005-03-18 | 2008-12-04 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ネットワークノードの同期方法 |
US7428542B1 (en) * | 2005-05-31 | 2008-09-23 | Reactrix Systems, Inc. | Method and system for combining nodes into a mega-node |
US20070011056A1 (en) * | 2005-07-05 | 2007-01-11 | Netfire 1 Pty Ltd | Content monitor |
US7623534B1 (en) * | 2005-09-09 | 2009-11-24 | At&T Intellectual Property I, Lp | Method and systems for content access and distribution |
JP4611922B2 (ja) * | 2006-03-28 | 2011-01-12 | 富士通株式会社 | 制御プログラム、制御方法および制御装置 |
JP4842742B2 (ja) * | 2006-09-05 | 2011-12-21 | 富士通株式会社 | ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置 |
WO2008058257A2 (en) * | 2006-11-08 | 2008-05-15 | Mywaves, Inc. | An apparatus and method for dynamic streaming of multimedia files |
US20080176194A1 (en) * | 2006-11-08 | 2008-07-24 | Nina Zolt | System for developing literacy skills using loosely coupled tools in a self-directed learning process within a collaborative social network |
WO2008073655A2 (en) * | 2006-11-08 | 2008-06-19 | Epals, Inc. | Dynamic characterization of nodes in a semantic network |
WO2008085201A2 (en) * | 2006-12-29 | 2008-07-17 | Prodea Systems, Inc. | Managed file backup and restore at remote storage locations through multi-services gateway device at user premises |
JP2008172517A (ja) * | 2007-01-11 | 2008-07-24 | Nec Corp | 輻輳制御システム、輻輳制御方法、輻輳制御プログラム、及び、プログラム記録媒体 |
US7885928B2 (en) * | 2007-03-08 | 2011-02-08 | Xerox Corporation | Decentralized adaptive management of distributed resource replicas in a peer-to-peer network based on QoS |
JP5324567B2 (ja) * | 2007-06-12 | 2013-10-23 | フェイスブック,インク. | 個人化された社交ネットワーク用アプリケーションコンテンツ |
US20090100174A1 (en) * | 2007-09-07 | 2009-04-16 | Sushma Annareddy | Method and system for automatic polling of multiple device types |
US7747740B2 (en) * | 2007-10-30 | 2010-06-29 | Cisco Technology, Inc. | Troubleshooting of Wireless Client Connectivity Problems in Wireless Networks |
US7996521B2 (en) * | 2007-11-19 | 2011-08-09 | Experian Marketing Solutions, Inc. | Service for mapping IP addresses to user segments |
US8005927B2 (en) * | 2008-01-22 | 2011-08-23 | Microsoft Corporation | Current updates |
US8473594B2 (en) * | 2008-05-02 | 2013-06-25 | Skytap | Multitenant hosted virtual machine infrastructure |
CN101616169B (zh) * | 2008-06-23 | 2013-03-13 | 华为技术有限公司 | 选择服务提供实体的方法、系统、服务选择实体、服务管理实体 |
US7631034B1 (en) * | 2008-09-18 | 2009-12-08 | International Business Machines Corporation | Optimizing node selection when handling client requests for a distributed file system (DFS) based on a dynamically determined performance index |
JP4788796B2 (ja) * | 2009-03-26 | 2011-10-05 | ブラザー工業株式会社 | ネットワークシステム |
US8595378B1 (en) * | 2009-03-30 | 2013-11-26 | Amazon Technologies, Inc. | Managing communications having multiple alternative destinations |
US20100274893A1 (en) * | 2009-04-27 | 2010-10-28 | Sonus Networks, Inc. | Methods and apparatus for detecting and limiting focused server overload in a network |
US8224929B2 (en) * | 2009-05-25 | 2012-07-17 | Kissinger Matthew R | Mobile device polling for media content selection and presentation control |
US8631269B2 (en) * | 2010-05-21 | 2014-01-14 | Indian Institute Of Science | Methods and system for replacing a failed node in a distributed storage network |
US8226012B2 (en) * | 2010-06-25 | 2012-07-24 | Symbol Technologies, Inc. | Ad-hoc wireless communication network using price checking stations |
US8473775B1 (en) * | 2010-12-14 | 2013-06-25 | Amazon Technologies, Inc. | Locality based quorums |
WO2013016142A1 (en) * | 2011-07-22 | 2013-01-31 | Raketu Communications, Inc. | Self-adapting direct peer to peer communication and messaging system |
-
2004
- 2004-02-25 KR KR1020040012640A patent/KR100435985B1/ko active IP Right Grant
-
2005
- 2005-02-25 WO PCT/KR2005/000534 patent/WO2005081453A1/en active Application Filing
- 2005-02-25 JP JP2007500688A patent/JP4459999B2/ja active Active
-
2006
- 2006-08-24 US US11/509,973 patent/US8880665B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP4459999B2 (ja) | 2010-04-28 |
US20060282435A1 (en) | 2006-12-14 |
WO2005081453A1 (en) | 2005-09-01 |
US8880665B2 (en) | 2014-11-04 |
JP2007524325A (ja) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4459999B2 (ja) | 投票を活用した無停止サービスシステム及びそのシステムにおける情報更新及び提供方法 | |
JP5016063B2 (ja) | 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク | |
Gupta et al. | One Hop Lookups for {Peer-to-Peer} Overlays | |
US8375001B2 (en) | Master monitoring mechanism for a geographical distributed database | |
KR101211923B1 (ko) | 서비스 제공 엔티티를 선택하기 위한 방법, 시스템, 서비스 선택 엔티티, 및 서비스 관리 엔티티 | |
US9465819B2 (en) | Distributed database | |
US7984127B2 (en) | Data matrix method and system for distribution of data | |
CN100588172C (zh) | 一种实现网络预订存储的系统和方法 | |
JP2005323346A (ja) | ピアツーピアネットワークにおけるルーティング | |
WO2010127618A1 (zh) | 一种实现流媒体内容服务的系统和方法 | |
CN102148850A (zh) | 一种集群系统的业务处理方法及集群系统 | |
KR20100060304A (ko) | 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법 | |
WO2010040895A2 (en) | Enhanced data access for information systems | |
CN110990448B (zh) | 一种支持容错的分布式查询方法及装置 | |
WO2009100636A1 (zh) | 电信网络用户数据存储管理的方法及装置 | |
EP3570169B1 (en) | Method and system for processing device failure | |
CN107395406B (zh) | 在线系统的在线状态数据处理方法、装置及系统 | |
CN111800516B (zh) | 一种基于p2p的物联网设备管理方法及装置 | |
US6324572B1 (en) | Communication network method and apparatus | |
CN107908713A (zh) | 一种基于Redis集群的分布式动态杜鹃过滤系统及其过滤方法 | |
Jin et al. | Content routing and lookup schemes using global bloom filter for content-delivery-as-a-service | |
KR20050086332A (ko) | 투표를 활용한 무정지 서비스 시스템과 그 시스템에서의정보 갱신 및 제공 방법, 그리고 그 제공 방법을 구현하는프로그램을 저장한 기록매체 | |
JP2009230686A (ja) | コンテンツ管理サーバ及びコンテンツ管理プログラム | |
KR100970212B1 (ko) | 이기종간 db 쿼리의 동적 전환을 이용하여 장애에대처하는 인증 서비스 이중화 방법 및 시스템 | |
KR100756597B1 (ko) | 대용량 콘텐츠 전송을 위한 네트워크 제어시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110414 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130329 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160329 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20170328 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 16 |