KR20040066785A - 클러스터링 노드 구성에서의 마스터 노드 선택 방법 - Google Patents
클러스터링 노드 구성에서의 마스터 노드 선택 방법 Download PDFInfo
- Publication number
- KR20040066785A KR20040066785A KR10-2004-7001420A KR20047001420A KR20040066785A KR 20040066785 A KR20040066785 A KR 20040066785A KR 20047001420 A KR20047001420 A KR 20047001420A KR 20040066785 A KR20040066785 A KR 20040066785A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- pair
- master
- group
- network
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Generation (AREA)
- Control Of Eletrric Generators (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Control Of Turbines (AREA)
Abstract
본 발명은 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 방법 및 시스템에 관한 것이다. 본 시스템은 네트워크 내의 노드 쌍들에 대한 해밍 거리를 결정하는 것을 포함한다. 노드 쌍은 두개의 구성원을 포함하고, 해밍 거리는 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수이다. 결정 연산에서 네트워크 내의 노드들에 대한 참가 지수가 결정된다. 참가 지수란 노드가 속한 노드 그룹의 수이다. 노드 쌍에 대한 잠재 가용성이 또한 결정된다. 잠재 가용성이란 상기 노드 쌍의 구성원들의 참가 지수의 합으로부터 상기 노드 쌍의 해밍 거리를 뺀 것이다. 노드 쌍의 최적의 조합은 네트워크에 대하여 최대 총 잠재 가용성을 검색함으로써 발견된다. 노드 쌍의 최적의 조합으로부터 목표 노드 그룹에 대한 마스터 노드 쌍이 선택된다. 만일 마스터 노드 쌍이 목표 노드 그룹에 대하여 존재하지 않는다면, 목표 노드 그룹에 속한 마스터 노드가 목표 그룹에 대하여 선택된다.
Description
일부 인터넷 사이트의 인기가 증가하면서, 단일 서버로는 이들 시스템에서 부하를 감당하기에 부족한 시점에 도달할 수 있다. 이러한 상황의 한가지 해결책은 노드라고도 불리는 서버를 여러 개 결합하여 하나의 노드 그룹으로 만드는 것이다. 클라이언트에게 노드 그룹, 즉, 부하 분산 그룹(load balancing group)은 여전히 하나의 서버처럼 비쳐진다. 그러나, 내부적으로는 노드 그룹에 도달하는 작업 부하가 노드 그룹 구성원에게 균등하게 분배되도록 하여, 하나의 노드만이 많은 부담을 지는 경우가 없도록 한다.
일부 네트워크 구성에서는 시스템에서 상이한 리소스를 처리하기 위하여, 여러 노드 그룹이 생성된다. 예를 들어, 한 노드 그룹은 데이터 파일을 전송하는 책임을 맡는 반면, 다른 노드 그룹은 사이트의 이메일 서비스를 처리할 수 있다. 또한, 네트워크의 일부 노드는 여러 노드 그룹에 속함으로써, 중복되는 노드 그룹을 생성할 수 있다. 이러한 융통성 있는 노드 그룹 구성은 매우 효율적인 리소스 할당을 가능하게 하므로 유리하지만, 관리하기에는 어려울 수 있다.
네트워크 관리자는 일반적으로 노드 그룹에 있는 적어도 하나의 노드를 마스터 노드로 구성하는데, 여기서는 lbnode라고 부른다. 일반적으로 마스터 노드는 노드 그룹의 소유권을 차지하고, 태스크를 노드 그룹 구성원간에 분배하는 책임을 진다. 이렇게 해서, 마스터 노드는 노드 그룹에 있는 나머지 노드들과 동일한 임무를 수행할 뿐만 아니라, 노드 그룹 구성원간에 작업을 분배하는 책임을 진다.
일반적으로, 마스터 노드는 네트워크 관리자에 의해 수동으로 선택된다. 네트워크 관리자가 마스터 노드를 선택하는데 어떤 기준이라도 사용할 수 있지만, 마스터 노드는 일반적으로 고가용성을 기초로 하여 선택된다. 고가용성이란 심각한 네트워크 고장이 일어나는 경우에도, 네트워크 리소스에 대한 액세스를 끊임없이 제공하는 노드의 능력을 말한다. 따라서, 네트워크 관리자는 종종 노드 그룹의 마스터 노드를 결정하기 위하여, 노드 그룹에서 가장 가용성이 높은 노드를 찾는 태스크에 직면한다. 중복될지도 모르는 노드 그룹에서 가장 고가용성인 노드를 찾는 것은 어려운 임무이므로, 네트워크 관리자가 시간을 낭비하면서 시행 착오 기술(trial and error techniques)을 사용하는 것이 필요할 수 있다.
노드 그룹의 가용성을 증가시키는 다른 방법은 노드 그룹에 대하여 1차 마스터 노드, 즉 1차 lbnode와, 2차 마스터 노드, 즉 2차 lbnode를 선정하는 것이다. 1차 마스터 노드는 노드 그룹에 대하여 액티브하게 부하 분산을 처리하는 반면, 2차 마스터 노드는 1차 마스터 노드가 고장날 경우에 부하 분산을 떠맡을 준비가 된 백업 마스터 노드로서 작용한다. 마스터 노드 쌍을 생성하는 것은 노드 그룹에 리던던시를 증가시킴으로써, 노드 그룹의 가용성을 증가시킬 수 있다. 그러나, 2차 마스터 노드를 추가하는 것은 또한 네트워크 관리자가 이제는 노드 그룹에서 lbnode들로서 작용할 두 개의 노드를 찾는 것을 요구하기 때문에 문제를 복잡하게 만든다. 일반적으로, 1차 lbnode와 2차 lbnode는, 중복될 지도 모르는 노드 그룹들의 네트워크 내에서 최대의 가용성을 가진 것으로 여전히 선택되어야 한다.
본 발명은 위 언급한 종래 기술의 문제를 처리하여, 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하기 위하여 마스터 노드들을 선택하는 방법을 제공한다.
본 발명은 일반적으로 컴퓨터 네트워크에 관한 것으로서, 보다 구체적으로는 네트워크 클러스터링 환경에서의 부하 분산에 관한 것이다.
도 1은 본 발명을 구현하는 대표적인 컴퓨터 네트워크 환경을 도시하는 도면.
도 2는 본 발명을 구현하는 컴퓨터 네트워크를 여러개의 노드 그룹으로 나눈 것을 도시한 도면.
도 3a는 본 발명에 따른 대표적인 마스터 노드 선택 알고리듬의 흐름도의 제1 단계를 도시하는 도면.
도 3b는 본 발명에 따른 대표적인 마스터 노드 선택 알고리듬의 흐름도의 제2 단계를 도시하는 도면.
도 4a는 노드 그룹 구성 어레이를 도시하는 도면.
도 4b는 참가 지수 어레이를 도시하는 도면.
도 4c는 해밍 디스턴스 어레이를 도시하는 도면.
도 4d는 잠재 가용성 어레이를 도시하는 도면.
도 4e는 바람직한 순서 어레이를 도시하는 도면.
이 방법은 네트워크 내에 노드 쌍에 대한 해밍 거리(hamming distance)를 결정하는 결정 동작을 포함한다. 각 노드 쌍은 두 개의 노드 쌍의 구성원을 포함하고, 노드 쌍의 해밍 거리는 노드 쌍의 구성원들이 공통으로 공유하지 않는 노드 그룹의 수이다. 네트워크 내의 노드들에 대한 참가 지수(participation index)를 결정하는 또다른 결정 동작이 사용된다. 참가 지수란 노드가 속한 노드 그룹의 수이다. 노드 쌍에 대한 잠재 가용성이 또한 결정된다. 잠재 가용성이란 노드 쌍의 구성원들의 참가 지수를 합한 것에서 노드 쌍의 해밍 거리를 뺀 것이다. 노드 쌍들의 최적의 조합은 네트워크에 대하여 최대의 총 잠재 가용성을 가진 노드 쌍들의 조합의 위치를 찾음으로써 발견된다. 선택 동작은 노드 쌍의 최적의 조합으로부터 마스터 노드 쌍을 선택하고, 마스터 노드 쌍은 목표 노드 그룹에 속하는 노드 쌍의 구성원 둘 다를 포함한다. 만일 마스터 노드 쌍이 목표 노드 그룹에 존재하지 않는다면, 목표 노드 그룹에 속하는 노드가 목표 노드 그룹에 대한 마스터 노드로서 선택된다.
본 발명의 다른 측면은 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는데 있어서 사용할 데이터 구조이다. 데이터 구조는 네트워크의 노드 쌍에 대하여 노드 쌍이 공유하지 않는 노드 그룹의 수를 담고 있는 해밍 거리 어레이를 포함한다. 또한, 데이터 구조는 네트워크의 노드들에 대하여 노드가 속한 노드 그룹의 수를 담고 있는 참가 지수 어레이를 포함한다. 또한, 데이터 구조는 네트워크의 노드 쌍들에 대하여 노드 쌍의 구성원들의 참가 지수의 합에서 노드 쌍의 해밍 거리를 뺀 것을 담고 있는 잠재 가용성 어레이를 포함한다.
또한, 본 발명의 다른 측면은 유형 매체에 구현된 컴퓨터 프로그램 제품이다. 컴퓨터 프로그램 제품은 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는, 유형 매체에 연결된, 컴퓨터로 판독가능한 프로그램 코드를 포함한다. 컴퓨터로 판독가능한 프로그램 코드는 네트워크 내의 노드 쌍들에 대한 해밍 거리를 결정하도록 구성한 프로그램 코드를 포함한다. 전술한 바와 같이, 해밍 거리는 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수이다. 네트워크 내의 노드들에 대하여 참가 지수를 결정하는 다른 프로그램 코드가 구성되는데, 참가 지수란 노드가 속한 노드 그룹의 수를 말한다. 노드 쌍에 대한 잠재 가용성을 결정하는 다른 프로그램 코드가 구성되는데, 잠재 가용성이란 노드 쌍의 구성원의 참가 지수를 합한 것에서 노드 쌍의 해밍 거리를 뺀 것을 말한다. 프로그램은 노드 쌍의 최적의 조합을 찾도록 운영되는데,노드 쌍의 최적의 조합은 네트워크에 대한 최대의 총 잠재 가용성을 가지고 있다. 목표 노드 그룹에 대한 마스터 노드 쌍을 선택하는 다른 프로그램 코드가 구성된다. 마스터 노드 쌍은 목표 노드 그룹에 속하는 노드 쌍의 구성원들 둘 다를 가진 노드 쌍의 최적 조합으로부터의 노드 쌍이다. 만일 목표 노드 그룹에 대하여 마스터 노드 쌍이 존재하지 않는다면, 목표 노드 그룹에 대한 마스터 노드를 선택하는 프로그램 코드가 구성되는데, 마스터 노드는 목표 노드 그룹에 속하는 노드이다.
본 발명의 다른 측면은 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 시스템이다. 시스템은 네트워크 내의 노드 쌍의 해밍 거리를 결정하는 해밍 거리 모듈을 포함한다. 네트워크 내의 노드들의 참가 지수를 결정하는데 참가 지수 모듈이 사용된다. 잠재 가용성 모듈은 노드 쌍의 잠재 가용성을 결정하고, 검색 모듈은 노드 쌍의 최적의 조합을 찾는다. 제1 선택 모듈은 목표 노드 그룹의 마스터 노드 쌍을 선택하고, 만일 마스터 노드 쌍이 목표 노드 그룹에 대하여 존재하지 않는다면, 제2 선택 모듈이 목표 노드 그룹에 대하여 마스터 노드를 선택한다.
본 발명의 다른 측면은 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 방법이다. 이 방법은 네트워크 내의 노드 쌍의 해밍 거리를 결정하는 결정 연산을 포함한다. 각 노드 쌍은 두 개의 노드 쌍의 구성원을 포함하고, 노드 쌍의 해밍 거리는 노드 쌍의 구성원들이 공통으로 공유하지 않는 노드 그룹의 수이다. 노드 쌍의 최적의 조합은 네트워크에 대하여 최소의 총 해밍 거리를 가진 노드 쌍의 조합의 위치를 찾음으로써 발견된다. 선택 연산은 노드 쌍의 최적의 조합으로부터 마스터 노드 쌍을 선택하고, 마스터 노드 쌍은 목표 노드 그룹에 속하는 노드 쌍의 구성원 둘 다를 포함한다. 만일 마스터 노드 쌍이 목표 노드 그룹에 존재하지 않는다면, 목표 노드 그룹에 속하는 노드가 목표 노드 그룹에 대한 마스터 노드로서 선택된다.
본 발명의 전술한 특징 및 다른 특징, 효용, 장점은 다양한 실시예를 도면을 참조하여 보다 상세하게 설명한 다음 설명으로부터 명백해질 것이다.
일반적으로 본원 발명은 노드 그룹의 최적의 가용성이 실현되도록 마스터 노드들을 자동적으로 선택하는데 사용된다. 도 1 내지 도 4e를 참조하여 본 발명을 상세히 설명한다. 도면을 참조할 때, 도면 전체에 걸쳐 유사한 구조와 구성 요소는 유사한 참조 번호로 표시되어 있다.
도 1에서 본 발명을 구현하는 대표적인 컴퓨터 네트워크 환경(102)이 도시되어 있다. 클라이언트(104)는 WAN(108)을 통하여 노드 그룹(106)과 통신하도록 그려져 있다. 클라이언트(104)와 노드 그룹(106)간의 통신 경로는 종래에 공지된 다양한 네트워킹 장치를 포함할 수 있다. 예를 들어, 라우터(110)가 클라이언트(104)로부터 노드 그룹(106)으로 메시지를 인도하는데 사용될 수 있다.
노드 그룹(106)은 데이터와 같은 적어도 하나의 공통 네트워크 리소스(114)를 공유하는 여러 노드(112)로 구성된다. 노드 그룹(106)의 한 노드는 마스터 노드(116)로 선택되는데, 여기서는 1차 lbnode라고 부른다. 마스터 노드(116)는 일반적으로 각 노드의 가용성과 부하를 추적하고, 새로운 클라이언트 세션 요청을 여분의 능력을 가진 노드(112)로 전달한다. 이러한 방식으로 마스터 노드(116)는 들어오는 연결과 패킷을 작업을 맡을 수 있는 노드 그룹(106) 내의 노드들(112)로 전송함으로써 부하 분산기로서 작동한다.
노드 그룹(106)은 또한 제2 마스터 노드(118)를 포함하는데, 이는 여기서 2차 lbnode 또는 백업 마스터 노드라고 부른다. 1차 lbnode(116)과 2차 lbnode(118) 둘다를 가리켜 여기서 마스터 노드 쌍 또는 lbnode라고 부른다. 제1마스터 노드(116)와 제2 마스터 노드(118)는 연속적으로 하트비팅이라고 알려진 서로의 상태를 모니터링하고, 만일 제1 마스터 노드(116)에 고장이 난다면, 제2 마스터 노드(118)가 노드 그룹의 소유권을 차지한다. 이것은 시스템에 리던던시를 증가시키고, lbnode 중 하나가 고장이 나는 경우에 대비하여 클라이언트 세션을 유지하는데 도움이 된다.
본 발명의 한가지 구성에서 lbnode는 IBM의 네트워크 디스패처(Network Dispatcher)를 네트워크 부하 분산기로서 활용한다. IBM은 인터내셔널 비즈니스 머신즈 코포레이션(International Business Machines Corporation)의 등록 상표이다. 네트워크 디스패쳐는 많은 개별 노드들을 단일의 논리적인 네트워크 연결 서버(Network Attached Server)로 링크함으로써 극심한 부하 하에서 고가용성을 제공한다. 또한, 네트워크 디스패처는 각 노드의 가용성과 부하를 추적하여, 마스터 노드가 새로운 세션 요구를 여분의 능력을 가진 노드로 전달할 수 있도록 한다. 또한, 본 발명은 리눅스 버츄얼 서버(Linux Virtual Server)와 같은 액티브 백업 lbnode 패러다임에서 작동하는 다른 네트워크 부하 분산기, 다양한 커스텀 부하 분산 스위치, 및 다른 노드 클러스터링 환경과 함께 사용될 수 있다는 것이 예상된다.
도 2에서 본 발명을 구현하는 컴퓨터 네트워크(201)는 여러 노드 그룹(106, 202, 204, 206)으로 나뉘어지는 것으로 도시되어 있다. 이러한 배열은 높은 네트워크 트래픽을 처리하도록 구성된 네트워크 사이트를 나타낸다. 네트워크의 일부 노드들은 두 개 이상의 노드 그룹에 속함으로써, 중복하는 노드 그룹을 형성한다는것을 관찰해야 한다. 따라서, 각 노드 그룹 구성원에 노드 그룹이 서비스하고 있는 네트워크 리소스에 대한 액세스가 주어질 경우, 본 발명은 노드를 노드 그룹으로 임의로 그룹화하는 것을 가능하게 한다.
아래에서 자세히 설명하는 바와 같이, 본 발명의 일 실시예는 컴퓨터 네트워크에서 노드 그룹을 관리하는 lbnode를 자동적으로 선택하는 시스템이다. lbnode는 lbnode 고장의 경우 세션 유지와 네트워크의 가용성을 최적화하도록 선택된다. 따라서, 본 발명은 유리하게도 네트워크 관리자가 네트워크에서 각 노드 그룹을 관리하는 최선의 마스터 노드를 발견하는 일을 할 필요가 없도록 한다.
일반적으로, lbnode의 최적의 배치 전략은 다음과 같이 정의된다:
노드 집합 N = {N1, N2, ...Nn}이고, 집합 G1, G2, .. Gm에서 중복될지도 모르는 노드들을 그룹화한 집합이 주어졌을 때(여기서, Gi= {Np, Nq,...}, Np, Nq는 집합 N에 속함), 필요한 것은 다음 기준에 의하여 모든 Gi에 대하여 마스터 노드 쌍을 선정하는 것이다.
1. 하나의 마스터 노드쌍 구성원이 1차 마스터 노드(1차 lbnode)로 지정되고, 나머지 마스터 노드쌍 구성원이 백업 마스터 노드(2차 lbnode)로 지정된다.
2. 만일 두개의 노드 Np, Nq가 그룹 Gi의 마스터로 선정된다면, Np, Nq중 어느 것도 제3의 노드, Nr를 가진 상이한 노드 그룹의 마스터 노드가 될 수 없다.
만일 네트워크 내의 그룹의 최대 수가 상기 조건을 만족하는 마스터 노드들을 포함하고 있다면, 최적의 배치 전략이 생성되었다. 또한, 상기 조건을 만족하는 그룹들은 고가용성을 달성할 수 있다. 일부 네트워크 구성에서는 모든 그룹에 대하여 고가용성을 달성하는 것이 불가능할 수 있다는 것을 유의해야 한다. 고가용성을 달성할 수 없는 그룹에 대해서는 본 발명의 선택 알고리듬이 그룹의 구성원 노드들 중 하나를 마스터 노드로 선택한다.
본 발명의 일실시예에서, 알고리듬은 또한, 다음의 약한 요구 조건(weak requirement)을 고수한다: 그룹 G1, G2, .. Gm에 대한 마스터 노드 역할은 집합 N의 노드들간에 가능한 한 많이 분산된다. 다시 말해서, m 개의 그룹이 있고, n > m 노드가 있다면, 그리고, 구성에 의해 허용된다면, n 노드들 중 아무 것도 두 개의 상이한 그룹에 대한 마스터가 아니다. 이러한 배치 전략은 바람직한데, 그 이유는 이것이 네트워크에서 진입 지점(ingress points)을 시스템의 상이한 노드들에 걸쳐 분산시켜, 이용가능한 수신 대역폭을 효과적으로 증가시키고, 이에 따라 노드들에 걸쳐 부하 분산 트래픽을 분산시키기 때문이다.
도 3a와 도 3b에서 본 발명에 따른 대표적인 마스터 노드 선택 알고리듬의 흐름도가 도시되어 있다. 도 3a에 도시된 알고리듬의 제1 단계에서는 노드가 네트워크 구성 정보에 기초하여 최적으로 짝이 지어진다. 도 3b에 도시된 알고리듬의 제2 단계에서는 각 노드 그룹에 대하여 마스터 노드가 선택된다. 알고리듬의 논리적 연산은 (1) 컴퓨팅 시스템에서 운영되는, 컴퓨터에 의해 실행되는 단계의 시퀀스로서, 및/또는 (2) 컴퓨팅 시스템 내의 상호 연결된 머신 모듈로서 구현될 수 있다는 것을 주목해야 한다. 구현은 발명을 구현하는 시스템의 성능 요구에 다라 선택할 수 있는 문제이다. 따라서, 본 발명의 실시예들을 구성하는 논리적 연산을 대신 연산, 단계, 또는 모듈이라고 칭한다.
알고리듬은 해밍 거리를 결정하는 연산(302)으로부터 시작된다. 이 단계에서 각 노드 쌍의 해밍 거리 (d)가 계산된다. 네트워크의 각 노드 쌍의 해밍 거리는 노드 쌍의 구성원이 공유하지 않는 노드 그룹의 수로서 정의된다. 예를 들어, 다시 도 2를 참조하면, 노드 쌍 (n5, n6)은 노드 n5와 노드 n6이 동일한 노드 그룹에 속해 있기 때문에, 해밍 거리가 0이다. 한편, 노드 쌍 (n5, n10)은 노드 n10이 n5가 속하지 않은 두 개의 노드 그룹에 속해있기 때문에 해밍 거리가 2이다. 도 3a로 돌아가서, 각 노드 쌍의 해밍 거리가 결정된 다음에, 제어는 참가 지수를 결정하는 연산(304)으로 넘겨진다.
참가 지수를 결정하는 연산(304)에 있어서, 네트워크의 각 노드의 참가 지수(pi)가 계산된다. 각 노드의 참가 지수(pi)는 노드가 속한 노드 그룹의 수를 계수함으로써 계산된다. 예를 들어, 도 2에서 노드 n7은 LBG-B와 LBG-D에 속해 있기 때문에, 참가 지수가 2이다. 일단 참가 지수가 결정되면, 제어는 잠재 가용성을 결정하는 연산(306)으로 넘겨진다.
잠재 가용성을 결정하는 연산(306)에 있어서, 각 노드 쌍의 잠재 가용성(P)이 계산된다. 노드 쌍의 잠재 가용성(P)은 노드 쌍의 구성원의 참가 지수(pi)의 합에서 노드 쌍의 해밍 거리(d)를 뺀 것으로 정의된다. 노드 쌍의 구성원의 참가 지수(pi)의 합은 그 쌍이 속한 노드 그룹의 총 개수를 제공하고, 해밍 거리(d)는노드 쌍의 구성원이 공유하지 않는 노드 그룹의 수를 제공하기 때문에, 노드 쌍의 잠재 가용성(P)은 그 쌍이 고가용성을 제공할 수 있는 가능한 노드 그룹의 수를 나타낸다. 따라서, 만일 pi(np)가 노드 np의 참가 지수이고, pi(nq)가 노드 nq의 참가 지수이고, d(np, nq)가 노드 쌍 (np, nq)의 해밍 거리이면, (pi(np) + pi(nq) - d(np, nq))/2는 노드 쌍(np, nq)이 마스터가 될 수 있는 노드 그룹의 가능한 수이다. 일단 잠재 가용성을 결정하는 연산(306)이 완료되면, 제어는 찾기 연산(308)으로 넘겨진다.
찾기 연산(308)에서는 네트워크의 노드 쌍의 최적의 조합을 찾는다. 노드 쌍의 최적의 조합은 네트워크에 대하여 최대의 총 잠재 가용성(P)를 가진 노드 쌍의 조합이다. 다시 말해서, 노드의 최적의 짝 짓기는 모든 노드 짝 짓기에 걸쳐 합을 최대화하는 노드 쌍을 생성함으로써 구해진다. 최적화한 것으로서(By optimal), 생성되는 노드 쌍의 조합은 반드시 유일한 최선의 배치 전략이지는 않지만, 주어진 구성에서 알고리듬에 의해 생성되는 것보다 더 낳은 배치 전략을 찾을 수 없다는 것을 유의해야 한다.
본 발명의 일실시예에서, 노드 쌍의 최적의 조합은 노드 쌍의 잠재 가용성을 소팅한 어레이 내에서 최대인 총 잠재 가용성을 반복적으로 검색함으로써 구해진다. 어레이의 (최고의 잠재 값을 가진) 최상단의 원소로부터 시작해서, 마주치는 노드 쌍을 그들의 잠재 가용성과 함께 기록한다. 모든 노드가 고려되었을 때, 총 잠재 가용성은 이전에 계산된 총 잠재 가용성과 비교된다. 만일 새로운 총 잠재가용성이 더 높다면, 노드 쌍 조합이 최적의 쌍으로서 저장되고, 다음의 노드 쌍 조합과 비교된다. 최적인 노드 쌍의 잠재 가용성이 총 노드 개수에 의해 곱해진다고 가정할 때 가장 높은 노드 쌍의 잠재 가용성보다 커질 때까지 이 프로세스가 반복된다. 예를 들어, 최적의 노드 쌍의 조합을 결정하는 프로그램 유사 코드(pseudo-code)는 다음과 같이 될 수 있다:
Maximum_potential = 0;
i = 0;
while (POTENTIAL[i]*NUM_NODES/2 > Maximum_potential AND
i <= NUM_NODES*(NUM_NODES-1)/2) {
Total_potential = 0;
PARTNER[] = 0;
n = 0;
j = 1;
while (n < NUM_NODES-1 AND j <= NUM_NODES*(NUM_NODES-1)/2) do {
if (nodes a, b, in element POTENTIAL[j] have not been
paired) {
set PARTNER[a] = b; set PARTNER[b] = a;
Total_potential = Total_potential + this node pair's
potential;
n = n + 2;
j = j + 1;
}
}
if (Total_potential > Maximum_potential) {
Maximum_potential = Total_potential;
OPTIMAL_PAIRS[] = PARTNER[];
}
i = i + 1;
}
return(OPTIMAL_PAIRS[]);
위 프로세스를 더욱 잘 설명하기 위하여, 마스터 노드 선택 알고리듬에 의해 사용되는 대표적인 데이터 구조를 도시하고 있는 도 4a 내지 도 4d를 참조한다. 본 발명에 따르면, 이하에서 설명되는 데이터 구조가 선택 알고리듬에 의해 액세스되는 임의의 이용가능한 매체가 될 수 있다. 특정한 실시예에서, 데이터 구조는 컴퓨터로 판독가능한 매체로 구현된다. 예를 들어, 컴퓨터로 판독가능한 매체는 컴퓨터 기억 매체와 통신 매체를 포함할 수 있는데, 이에 한정되는 것은 아니다. 컴퓨터 기억 매체는 컴퓨터로 판독가능한 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보를 저장하는 임의의 기술 또는 방법에서 구현되는 휘발성 및 비휘발성, 이동식(removable) 및 비이동식(non-removable) 매체를 포함한다. 컴퓨터 기억 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD, 또는 다른 광학 기억 장치, 자기 카세트, 자기 테이프, 자기 디스크 기억 장치 또는 다른 자기 기억 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고, 선택 알고리듬에 의해 액세스될 수 있는 임의의 다른 매체를 포함하는데, 이에 한정되지는 않는다. 통신 매체는 일반적으로 컴퓨터로 판독가능한 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호로 된 다른 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"란 용어는 신호에서 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경되는 하나 이상의 특성을 가진 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 연결(direct-wired) 접속과 같은 유선 매체와, 음향, RF, 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함한다. 전술한 것을 임의로 조합한 것도 컴퓨터로 판독가능한 매체의 범위에 또한 포함되어야 한다.
도 4a에서 노드 그룹 구성 어레이(402)가 도시되어 있다. 노드 그룹 구성 어레이(402)는 m × n 어레이이고(m은 네트워크의 노드 그룹의 수이고, n은 네트워크의 노드의 수) , 네트워크의 각 노드와 각 노드 그룹간의 관계를 저장한다. 특정 실시예에서, 노드 그룹 구성 어레이(402)의 각 열은 네트워크 노드를 나타내고, 노드 그룹 구성 어레이(402)의 각 행은 네트워크 노드 그룹을 나타낸다. 어레이 셀에서 "1"즉, 불리언 참 값은 대응 노드가 대응 노드 그룹의 구성원이라는 것을 나타내는 반면, "0"즉, 불리언 거짓 값은 노드가 노드 그룹에 속하지 않는다는 것을 나타낸다. 예를 들어, 노드 n1은 노드 그룹 LBG-A, LBG-C, LBG-D의 구성원이지만, LBG-B, LBG-E의 구성원은 아니다.
도 4b에서 참가 지수 어레이(404)가 도시되어 있다. 참가 지수 어레이(404)는 1 × n 어레이이고, 각 노드의 참가 지수(pi)를 저장한다. 전술한 바와 같이, 참가 지수(pi)는 노드가 속한 노드 그룹의 수이다. 이렇게 해서, 참가 지수 어레이(404)의 각 어레이 셀은 노드 그룹 구성 어레이(402)의 각 노드에 대응하는 각 열을 따라 나타나는 1의 개수를 포함한다.
도 4c에서 해밍 거리 어레이(406)가 도시되어 있다. 해밍 거리 어레이(406)는 n ×n 어레이이고, 각 노드 쌍의 해밍 거리(d)를 저장한다. 전술한 바와 같이, 노드 쌍의 해밍 거리는 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수이다. 일실시예에서, 해밍 거리는 노드 그룹 구성 어레이(402)의 두 개의 열 간에 XOR 연산을 행하고, 결과에서 1의 갯수를 더함으로써 계산된다. 예를 들어, 노드 그룹 구성 어레이(402)에서 n1 열과 n2 열간의 XOR 연산의 결과는 "11010"이 된다. 결과에서 1을 더하는 것은 해밍 거리(d) 3을 제공한다.
도 4d에서 잠재 가용성 어레이(408)가 도시되어 있다. 잠재 가용성 어레이(408)는 n × n 어레이이고, 각 노드 쌍의 잠재 가능성(P)을 저장한다. 전술한 바와 같이, 각 노드 쌍의 잠재 가용성은 노드 쌍의 별개의 구성원의 참가 지수를 더하고, 노드 쌍의 해밍 거리를 뺌으로써 계산된다. 따라서, 노드 쌍(n3, n5)의 경우에, 잠재 가능성은 pi(n3) + pi(n5) - d(n3, n5), 즉, 4 + 4 - 2 가 된다.
잠재 가용성 어레이(408)는 네트워크의 노드 쌍의 최적의 조합을 구하는데 이용된다. 전술한 바와 같이, 노드 쌍의 최적의 조합은 최대의 총 잠재 가용성(P)값을 가진 노드 쌍의 조합이다. 만일 두 개의 노드 쌍의 구성원, Np, Nq가 그룹 Gi의 마스터로 선택된다면, Np또는 Nq중 그 어느 것도 제3의 노드 Nr을 가진 다른 노드 그룹 Gj의 마스터 노드가 될 수 없다는 요구 조건을 노드 쌍이 준수해야 한다는 것을 기억해야 한다. 최대의 총 잠재 가용성(P) 값을 위한 노드 쌍의 조합을 검색한 결과, 최적의 노드 조합 (n3, n4) 및 (n1, n5)가 되고, 총 잠재 가용성(P)은 12가 된다. 이는 네트워크에서 가장 높은 잠재 가용성 값이고, 따라서, 노드 쌍의 최적의 조합이 된다. 일실시예에서, 노드 쌍의 최적의 조합은 컴퓨터 메모리에 저장된다.
도 3a와 도 3b로 돌아가서, 노드 쌍의 최적의 조합이 일단 발견되면, 마스터 노드 선택 알고리듬이 도 3b에 도시된 선택 연산(310)으로 계속된다. 선택 연산(310)에 있어서, 각 노드 그룹에 그룹의 마스터 노드 쌍인 노드 쌍이 지정된다. 선택된 노드 쌍은 노드 쌍의 최적의 조합내에 있어야 하고, 그 노드 쌍의 구성원 둘다 노드 그룹에 속해야 한다. 따라서, 주어진 목표 노드 그룹에 대하여, 목표 노드 그룹에 대한 마스터 노드 쌍은 노드 쌍의 최적의 조합으로부터 선택되어야 하고, 노드 쌍의 구성원 둘다 목표 노드 그룹에 속해야 한다.
예를 들어, 도 4a의 노드 그룹 구성 어레이(402)로 돌아가서, 이 네트워크 구성에 대한 노드 쌍의 최적의 조합이 (n3, n4)와 (n1, n5)인 것으로 계산되었다. 노드 쌍의 최적의 조합으로부터 노드 쌍의 두 구성원 모두 노드 그룹 LBG-G에 속하는 유일한 노드 쌍은 (n3, n4)이다. 따라서, (n3, n4)이 LBG-B의 마스터 노드 쌍으로 선택된다. 마찬가지로, 노드 쌍 (n3, n4)은 LBG-C와 LBG-E에 대한 마스터 노드 쌍으로 선택된다. 노드 그룹 LBG-D의 경우에, 노드 쌍의 최적의 조합으로부터 노드 쌍의 두 구성원 모두 노드 그룹 LBG-D에 속하는 유일한 노드 쌍은 (n1, n5)이다. 따라서, 노드 (n1, n5)은 LBG-D의 마스터 노드 쌍으로 선택된다. 마지막으로 노드 쌍 (n1, n5)와 (n3, n4) 모두 노드 그룹 LBG-A의 마스터 노드 쌍으로 선택될 수 있는데, 그 이유는 두 노드 쌍 모두 노드 쌍의 두 구성원이 LBG-A에 속하기 때문이다. 이하에서 설명하는 바와 같이, 본 발명의 일실시예에서 자격이 되는 두개 이상의 노드 쌍을 선택한 것으로부터 마스터 노드 쌍을 선택하는데 있어 바람직한 선택 순서가 이용된다.
도 3b로 돌아가서, 선택 연산(310)이 완료된 이후에, 제어가 질의 연산(312)로 넘어간다. 질의 연산(312)에서 알고리듬은 마스터 노드 쌍이 지정되지 않은 노드 그룹이 존재하는지 검사한다. 노드 쌍의 최적 조합에 있어 노드 쌍의 두 구성원 모두 목표 노드 그룹에 속하는 노드 쌍이 존재하지 않는 경우에, 목표 노드 그룹에 마스터 노드 쌍이 지정되지 않을 수 있다. 만일 질의 연산(312)이 모든 노드 그룹에 마스터 노드 쌍이 지정되었다고 결정한다면, 알고리듬이 종료된다. 만일 질의 연산(312)이 하나 이상에 노드 그룹에 마스터 노드 쌍이 지정되지 않았다고 보고하면, 제어는 선택 연산(314)으로 넘겨진다.
선택 연산(314)에 있어, 마스터 노드 쌍이 지정되지 않은 각 노드 그룹에 마스터 노드가 지정된다. 선택된 마스터 노드는 노드 쌍의 최적의 조합에 속할 필요는 없다. 그러나, 마스터 노드는 목표 노드 그룹에 속해야 한다. 만일 목표 노드가 하나보다 많은 노드를 포함한다면, 이 노드들 중 어느 것이라도 마스터 노드로서 기능할 수 있다. 이하에서 설명하는 바와 같이, 본 발명의 일실시예에서 목표 노드에 속하는 노드들의 선택으로부터 마스터 노드를 선택하는데 있어 바람직한 선택 순서가 이용될 수 있다. 마스터 노드 쌍이 없는 모드 노드 그룹에 마스터 노드가 지정된 이후에 알고리듬이 종료된다.
전술한 바와 같이, 본 발명의 일실시예에서 마스터 노드 쌍의 바람직한 순서가 이용된다. 하나보다 많은 노드 쌍이 노드 그룹의 마스터 노드 쌍으로서의 역할을 하는데 이용가능할 때, 가장 작은 참가 지수(pi)를 가진 노드 쌍이 마스터 노드 쌍으로 선택된다. 예를 들어, 도 4a 내지 도 4d로 돌아가서, 네트워크 구성에 대한 최적의 노드 쌍의 조합이 (n3, n4), (n1, n5)라고 이전에 결정되었다. 또한, 노드 쌍 (n3, n4), (n1, n5) 모두 LBG-A에 대한 마스터 노드 쌍으로서의 역할을 할 수 있다는 것이 관찰되었다. (n3, n4)의 참가 지수(pi), 즉 pi(n3) + pi(n4)는 8이다. 마찬가지로 (n1, n5)의 참가 지수(pi)는 7이다. 따라서, LBG-A의 마스터 노드 쌍으로 선택된 노드 쌍은 노드 쌍 (n1, n5)인데, 그 이유는 이것이 노드 쌍(n3, n4)보다 더 작은 참가 지수(pi)를 가지고 있기 때문이다.
도 4e에서, 바람직한 순서 어레이(510)가 도시되어 있다. 바람직한 순서 어레이(510)는 컴퓨터 메모리에 저장되어 있고, 컴퓨터 네트워크에서 각 노드 그룹에 대한 노드 마스터의 계층 구조를 나열한다. 예를 들어, LBG-A에 대한 마스터 노드의 바람직한 순서는 (n1, n5) 다음에 (n3, n4)이다. 따라서, 만일 노드 쌍 (n1, n5)가 고장한다면, 바람직한 순서 어레이(510)가 이용되어 재빨리 노드 쌍 (n3,n4)를 LBG-A의 새로운 마스터 노드 쌍으로 선택하여 임명한다.
마스터 노드 쌍의 바람직한 순서를 결정할 뿐만 아니라, 마스터 노드의 바람직한 순서가 참가 지수(pi)를 이용하여 결정될 수 있다. 목표 노드 그룹에 대하여 어떤 노드 쌍도 마스터 노드 쌍으로서 이용될 수 없을 때, 목표 노드 그룹에 속하는 임의의 노드가 마스터 노드로서 선택될 수 있다는 것을 기억해야 한다. 만일 하나보다 많은 노드가 노드 그룹의 마스터 노드로서의 역할을 하는데 이용가능하다면, 가장 작은 참가 지수(pi)를 가진 노드가 마스터 노드로서 선택된다.
도 4e로 돌아가서, 바람직한 순서 어레이(510)에 나열된 바와 같이, LBG-B에 대한 바람직한 순서는 노드 쌍 (n3, n4) 다음에 n2이고 그 다음에 n5이다. 따라서, 마스터 노드 쌍 (n3, n4)가 고장난다면, LBG-B에 대하여 선택된 다음의 마스터 노드는 노드 n2이다. 만일 마스터 노드 n2가 고장난다면, LBG-B에 대하여 선택된 다음의 마스터 노드는 노드 n5이다. 바람직한 순서 어레이(510)는 또한 노드가 온라인으로 돌아갈 때 마스터 노드를 선택하는데 이용될 수 있다는 것을 유의해야 한다. 예를 들어, 노드 쌍 (n3, n4)이 온라인으로 돌아갈 때 LBG-B에 대한 마스터 노드가 n5라면, 바람직한 순서 어레이(510)를 이용하여, 노드 쌍 (n3, n4)를 LBG-B에 대한 새로운 마스터 노드 쌍으로서 재빨리 선정할 수 있다.
본 발명의 다른 실시예에서, 노드 쌍의 최적의 조합은 네트워크에 대한 (총 잠재 가용성을 최대화하는 대신에) 총 해밍 거리를 최소화함으로써 구해진다. 이렇게 해서, 이 실시예는 네트워크 내의 노드 쌍의 해밍 거리를 결정하는 결정 연산을 포함한다. 다음으로, 네트워크에 대하여 최소 총 해밍 거리를 가진 노드 쌍의조합의 위치를 찾음으로써 노드 쌍의 최적 조합이 발견된다. 선택 연산은 노드 쌍의 최적의 조합으로부터 마스터 노드 쌍의 구성원 둘다 목표 노드 그룹에 속한 마스터 노드 쌍을 선택한다. 마스터 노드 쌍이 목표 노드 그룹에 대하여 존재하지 않는다면, 목표 노드 그룹에 속하는 노드가 목표 노드 그룹에 대한 마스터 노드로서 선택된다.
본 발명의 전술한 설명은 예시와 설명의 목적으로 제공되었다. 전술한 내용은 클러스터링되는 임의의 그룹의 노드들에 적용될 수 있고, 마스터 노드는 중복되는 노드 그룹의 집합으로부터 다음 기준에 따라 선택되어야 한다. 1) 마스터 노드는 이들이 마스터로 선택되는 그룹에서 구성원의 자격을 공유한다. 2) 마스터 노드는 (하트비팅 등에 의하여) 그룹에 대한 상태 정보를 복제한다. 이렇게 해서, 전술한 설명은 속속들이 설명하는 것을 의도한 것이 아니고, 본 발명을 개시된 정확한 형태로 한정하지도 않으며, 다른 변경과 변형이 가능하다. 개시된 실시예는 본 발명의 원리와 본 발명의 실질적인 응용을 가장 잘 설명하기 위하여 선택되어 설명되었으므로, 당업자라면 의도한 특별한 사용에 맞추어 다양한 실시예로 그리고 다양하게 변경하여 본 발명을 최선으로 이용할 수 있을 것이다. 첨부된 청구항은 종래 기술에 의해 제한되는 것을 제외하고 발명의 다른 실시예들을 포함하는 것으로 해석되도록 의도한 것이다.
Claims (30)
- 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 방법에 있어서,각 노드 쌍이 두 개의 구성원을 가지는 상기 네트워크 내의 노드 쌍들에 대하여, 상기 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수인 해밍 거리를 결정하는 단계와,상기 네트워크 내의 노드들에 대하여 그 노드가 속한 노드 그룹의 수인 참가 지수(participation index)를 결정하는 단계와,상기 노드 쌍들에 대하여 상기 노드 쌍의 구성원들의 참가 지수의 합으로부터 상기 노드 쌍의 해밍 거리를 뺀 것인 잠재 가용성(availability potential)을 결정하는 단계와,노드 쌍의 최적의 조합--상기 최적의 조합은 상기 네트워크에 대하여 최대의 총 잠재 가용성을 가짐--을 찾는 단계와,상기 목표 노드 그룹에 대하여 마스터 노드 쌍--상기 마스터 노드 쌍은 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 노드 쌍들의 최적의 조합으로부터의 노드 쌍임--을 선택하는 단계와,만일 상기 마스터 노드 쌍이 상기 목표 노드 그룹에 대하여 존재하지 않는다면, 상기 목표 노드 그룹에 대하여 마스터 노드--상기 마스터 노드는 상기 목표 노드 그룹에 속하는 노드임--를 선택하는 단계를 포함하는 마스터 노드 선택 방법.
- 제1항에 있어서, 상기 목표 노드 그룹에 대하여 선택된 마스터 노드 쌍의 두 구성원들 중 그 어느 것도 제3 노드를 가진 다른 노드 그룹에 대한 마스터 노드가 아닌 것인 마스터 노드 선택 방법.
- 제1항에 있어서, 상기 목표 노드 그룹에 대하여 마스터 노드 쌍을 선택하는 단계는,만일 노드 쌍의 최적의 조합이 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 하나보다 많은 노드 쌍을 포함한다면, 상기 노드 쌍의 구성원의 참가 지수의 합이 가장 작은 노드 쌍을 선택하는 단계를 더 포함하는 마스터 노드 선택 방법.
- 제1항에 있어서, 상기 목표 노드 그룹에 대하여 마스터 노드를 선택하는 단계는,만일 하나보다 많은 노드가 상기 목표 노드 그룹에 속한다면, 가장 작은 참가 지수를 가진 노드를 선택하는 단계를 더 포함하는 마스터 노드 선택 방법.
- 제1항에 있어서, 상기 네트워크 내의 노드 쌍에 대한 해밍 거리를 결정하는 단계는 노드 쌍의 구성원을 XOR하는 단계를 포함하는 마스터 노드 선택 방법.
- 다수의 노드 및 중복되는 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드를 선택하는데 사용되고, 컴퓨터로 판독가능한 기록 매체에 저장된 데이터 구조에 있어서,상기 네트워크의 노드 쌍들에 대하여 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수를 포함하는 해밍 거리 어레이와,상기 네트워크의 노드 쌍들에 대하여 상기 노드가 속한 노드 그룹의 수를 포함하는 참가 지수 어레이와,상기 네트워크의 노드 쌍들에 대하여 상기 노드 쌍의 구성원의 참가 지수를 합한 것에서 상기 노드 쌍의 해밍 거리를 뺀 값을 포함하는 잠재 가용성 어레이를 포함하는 데이터 구조.
- 제6항에 있어서, 상기 해밍 거리 어레이는 n × n 어레이이고, n은 상기 네트워크의 노드의 수인 데이터 구조.
- 제6항에 있어서, 상기 참가 지수 어레이는 1 × n 어레이이고, n은 상기 네트워크의 노드의 수인 데이터 구조.
- 제6항에 있어서, 상기 잠재 가용성 어레이는 n × n 어레이이고, n은 상기 네트워크의 노드의 수인 데이터 구조.
- 제6항에 있어서, 상기 네트워크의 각 노드와 각 노드 그룹 간의 관계를 저장하는 노드 그룹 구성 어레이를 더 포함하는 데이터 구조.
- 제10항에 있어서, 상기 노드 그룹 구성 어레이는 m × n 어레이이고, m은 상기 네트워크의 노드 그룹의 수이고, n은 상기 네트워크의 노드의 수인 데이터 구조.
- 제10항에 있어서, 상기 노드 그룹 구성 어레이에 있어서 상기 노드 그룹에 속하는 노드를 나타내는데 "1"이 사용되고, 상기 노드 그룹에 속하지 않는 노드를 나타내는데 "0"이 사용되는 데이터 구조.
- 제6항에 있어서, 상기 네트워크에 대한 최대 총 잠재 가용성을 가지는 노드 쌍들의 조합인 노드 쌍의 최적의 조합을 더 포함하는 데이터 구조.
- 제6항에 있어서, 상기 네트워크의 노드 그룹들에 대한 마스터 노드 쌍들의 계층 구조를 나열하는 바람직한 순서 어레이를 더 포함하는 데이터 구조.
- 제14항에 있어서, 상기 바람직한 순서 어레이는 상기 네트워크의 노드 그룹들에 대한 마스터 노드들의 계층 구조를 더 포함하는 데이터 구조.
- 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 컴퓨터 프로그램을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서, 상기 컴퓨터 프로그램은,각 노드 쌍이 두 개의 구성원을 가지는 상기 네트워크 내의 노드 쌍들에 대하여, 상기 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수인 해밍 거리를 결정하도록 구성되는 컴퓨터로 판독가능한 제1 프로그램 코드와,상기 네트워크 내의 노드들에 대하여 그 노드가 속한 노드 그룹의 수인 참가 지수를 결정하도록 구성되는 컴퓨터로 판독가능한 제2 프로그램 코드와,상기 노드 쌍들에 대하여 상기 노드 쌍의 구성원들의 참가 지수의 합으로부터 상기 노드 쌍의 해밍 거리를 뺀 것인 잠재 가용성을 결정하도록 구성되는 컴퓨터로 판독가능한 제3 프로그램 코드와,노드 쌍의 최적의 조합--상기 최적의 조합은 상기 네트워크에 대하여 최대의 총 잠재 가용성을 가짐--을 찾도록 구성되는 컴퓨터로 판독가능한 제4 프로그램 코드와,상기 목표 노드 그룹에 대하여 마스터 노드 쌍--상기 마스터 노드 쌍은 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 노드 쌍들의 최적의 조합으로부터의 노드 쌍임--을 선택하도록 구성되는 컴퓨터로 판독가능한 제5 프로그램 코드와,만일 상기 마스터 노드 쌍이 상기 목표 노드 그룹에 대하여 존재하지 않는다면, 상기 목표 노드 그룹에 대하여 마스터 노드--상기 마스터 노드는 상기 목표 노드 그룹에 속하는 노드임--를 선택하도록 구성되는 컴퓨터로 판독가능한 제6 프로그램 코드를 포함하는 컴퓨터로 판독가능한 기록 매체.
- 제16항에 있어서, 상기 기록 매체는 자기 디스크를 포함하는 컴퓨터로 판독가능한 기록 매체.
- 제16항에 있어서, 상기 기록 매체는 광 디스크를 포함하는 컴퓨터로 판독가능한 기록 매체.
- 제16항에 있어서, 상기 기록 매체는 전파 신호를 포함하는 컴퓨터로 판독가능한 기록 매체.
- 제16항에 있어서, 상기 기록 매체는 RAM 장치를 포함하는 컴퓨터로 판독가능한 기록 매체.
- 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 시스템에 있어서,각 노드 쌍이 두 개의 구성원을 가지는 상기 네트워크 내의 노드 쌍들에 대하여, 상기 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수인 해밍 거리를 결정하는 해밍 거리 모듈과,상기 네트워크 내의 노드들에 대하여 그 노드가 속한 노드 그룹의 수인 참가 지수를 결정하는 참가 지수 모듈과,상기 노드 쌍들에 대하여 상기 노드 쌍의 구성원들의 참가 지수의 합으로부터 상기 노드 쌍의 해밍 거리를 뺀 것인 잠재 가용성을 결정하는 잠재 가용성 모듈과,노드 쌍의 최적의 조합--상기 최적의 조합은 상기 네트워크에 대하여 최대의 총 잠재 가용성을 가짐--을 찾는 검색 모듈과,상기 목표 노드 그룹에 대하여 마스터 노드 쌍--상기 마스터 노드 쌍은 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 노드 쌍들의 최적의 조합으로부터의 노드 쌍임--을 선택하는 제1 선택 모듈과,만일 상기 마스터 노드 쌍이 상기 목표 노드 그룹에 대하여 존재하지 않는다면, 상기 목표 노드 그룹에 대하여 마스터 노드--상기 마스터 노드는 상기 목표 노드 그룹에 속하는 노드임--를 선택하는 제2 선택 모듈을 포함하는 마스터 노드 선택 시스템.
- 제21항에 있어서, 상기 목표 노드 그룹에 대하여 선택된 마스터 노드 쌍의 두 구성원들 중 그 어느 것도 제3 노드를 가진 다른 노드 그룹에 대한 마스터 노드가 아닌 것인 마스터 노드 선택 시스템.
- 제21항에 있어서, 상기 제1 선택 모듈은, 만일 노드 쌍의 최적의 조합이 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 하나보다 많은 노드 쌍을 포함한다면, 상기 노드 쌍의 구성원의 참가 지수의 합이 가장 작은 노드 쌍을 선택하는 모듈을 더 포함하는 마스터 노드 선택 시스템.
- 제21항에 있어서, 상기 제2 선택 모듈은, 만일 하나보다 많은 노드가 상기 목표 노드 그룹에 속한다면, 가장 작은 참가 지수를 가진 노드를 선택하는 모듈을 더 포함하는 마스터 노드 선택 시스템.
- 제21항에 있어서, 상기 해밍 거리 모듈은 노드 쌍의 구성원을 XOR하는 모듈을 포함하는 마스터 노드 선택 시스템.
- 다수의 노드와 노드 그룹을 가진 컴퓨터 네트워크에서 목표 노드 그룹을 관리하는 마스터 노드들을 선택하는 방법에 있어서,각 노드 쌍이 두 개의 구성원을 가지는 상기 네트워크 내의 노드 쌍들에 대하여, 상기 노드 쌍의 구성원들이 공유하지 않는 노드 그룹의 수인 해밍 거리를 결정하는 단계와,노드 쌍의 최적의 조합--상기 최적의 조합은 상기 네트워크에 대하여 최소의 총 해밍 거리를 가짐--을 찾는 단계와,상기 목표 노드 그룹에 대하여 마스터 노드 쌍--상기 마스터 노드 쌍은 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 노드 쌍들의 최적의 조합으로부터의 노드 쌍임--을 선택하는 단계와,만일 상기 마스터 노드 쌍이 상기 목표 노드 그룹에 대하여 존재하지 않는다면, 상기 목표 노드 그룹에 대하여 마스터 노드--상기 마스터 노드는 상기 목표 노드 그룹에 속하는 노드임--를 선택하는 단계를 포함하는 마스터 노드 선택 방법.
- 제26항에 있어서, 상기 목표 노드 그룹에 대하여 선택된 마스터 노드 쌍의 두 구성원들 중 그 어느 것도 제3 노드를 가진 다른 노드 그룹에 대한 마스터 노드가 아닌 것인 마스터 노드 선택 방법.
- 제26항에 있어서, 상기 목표 노드 그룹에 대하여 마스터 노드 쌍을 선택하는 단계는,상기 네트워크 내의 노드들에 대하여 그 노드가 속한 노드 그룹의 수인 참가 지수를 결정하는 단계와,만일 노드 쌍의 최적의 조합이 노드 쌍의 구성원 둘 다 상기 목표 노드 그룹에 속하는, 하나보다 많은 노드 쌍을 포함한다면, 상기 노드 쌍의 구성원의 참가 지수의 합이 가장 작은 노드 쌍을 선택하는 단계를 더 포함하는 마스터 노드 선택 방법.
- 제26항에 있어서, 상기 목표 노드 그룹에 대하여 마스터 노드를 선택하는 단계는,상기 네트워크 내의 노드들에 대하여 그 노드가 속한 노드 그룹의 수인 참가 지수를 결정하는 단계와,만일 하나보다 많은 노드가 상기 목표 노드 그룹에 속한다면, 가장 작은 참가 지수를 가진 노드를 선택하는 단계를 더 포함하는 마스터 노드 선택 방법.
- 제26항에 있어서, 상기 네트워크 내의 노드 쌍에 대한 해밍 거리를 결정하는 단계는 노드 쌍의 구성원을 XOR하는 단계를 포함하는 마스터 노드 선택 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/052,551 US6950855B2 (en) | 2002-01-18 | 2002-01-18 | Master node selection in clustered node configurations |
US10/052,551 | 2002-01-18 | ||
PCT/EP2003/001209 WO2003061237A2 (en) | 2002-01-18 | 2003-01-07 | Master node selection in clustered node configurations |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040066785A true KR20040066785A (ko) | 2004-07-27 |
KR100537581B1 KR100537581B1 (ko) | 2005-12-20 |
Family
ID=21978344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7001420A KR100537581B1 (ko) | 2002-01-18 | 2003-01-07 | 클러스터링 노드 구성에서의 마스터 노드 선택 방법 |
Country Status (11)
Country | Link |
---|---|
US (1) | US6950855B2 (ko) |
EP (1) | EP1477008B1 (ko) |
JP (1) | JP3809872B2 (ko) |
KR (1) | KR100537581B1 (ko) |
CN (1) | CN100452794C (ko) |
AT (1) | ATE313906T1 (ko) |
AU (1) | AU2003235606A1 (ko) |
CA (1) | CA2456836A1 (ko) |
DE (1) | DE60302876T2 (ko) |
TW (1) | TWI229990B (ko) |
WO (1) | WO2003061237A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130048093A (ko) * | 2011-11-01 | 2013-05-09 | 한국전자통신연구원 | 분산 데이터 베이스 장치 및 그 장치에서의 스트림 데이터 처리 방법 |
KR20140088176A (ko) * | 2011-10-28 | 2014-07-09 | 제타셋, 아이엔시. | 고가용성 클러스터에서의 스플릿브레인 방지 페일오버 |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3693896B2 (ja) * | 2000-07-28 | 2005-09-14 | 三菱電機株式会社 | 通信方法および通信システム |
US7376743B1 (en) * | 2002-04-02 | 2008-05-20 | Cisco Technology, Inc. | Method and apparatus for load balancing in a virtual private network |
US20040006622A1 (en) * | 2002-07-03 | 2004-01-08 | Burkes Don L. | Optimized process for balancing load for data mirroring |
US7519008B2 (en) * | 2003-06-05 | 2009-04-14 | International Business Machines Corporation | Ineligible group member status |
JP4088246B2 (ja) * | 2003-12-05 | 2008-05-21 | 富士通株式会社 | リングネットワークのマスタ設定方法及び装置 |
US7751327B2 (en) * | 2004-02-25 | 2010-07-06 | Nec Corporation | Communication processing system, packet processing load balancing device and packet processing load balancing method therefor |
WO2005086756A2 (en) * | 2004-03-09 | 2005-09-22 | Scaleout Software, Inc. | Scalable, software based quorum architecture |
CN100362801C (zh) * | 2004-05-26 | 2008-01-16 | 华为技术有限公司 | 一种仲裁主对象的方法 |
US10862994B1 (en) | 2006-11-15 | 2020-12-08 | Conviva Inc. | Facilitating client decisions |
DE102004046858B4 (de) * | 2004-09-27 | 2007-03-15 | Siemens Ag | Verfahren zur Bestimmung eines leitenden Teilnehmers in einem Netzwerk |
CN100420251C (zh) * | 2005-02-01 | 2008-09-17 | 北京北方烽火科技有限公司 | 一种集群中主控节点自适应选举算法 |
US8135806B2 (en) * | 2005-05-06 | 2012-03-13 | Broadcom Corporation | Virtual system configuration |
CN100479415C (zh) * | 2005-06-06 | 2009-04-15 | 腾讯科技(深圳)有限公司 | 一种实现数据通讯的系统及其方法 |
US7969919B1 (en) * | 2005-08-08 | 2011-06-28 | Rockwell Collins, Inc. | System and method for thermal load sharing between nodes in a communications network |
US7631050B2 (en) * | 2005-10-27 | 2009-12-08 | International Business Machines Corporation | Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment |
US20070157016A1 (en) * | 2005-12-29 | 2007-07-05 | Dayan Richard A | Apparatus, system, and method for autonomously preserving high-availability network boot services |
US7735494B2 (en) * | 2006-03-03 | 2010-06-15 | Xerosmoke, Llc | Tabacco smoking apparatus |
US20080052455A1 (en) * | 2006-08-28 | 2008-02-28 | Dell Products L.P. | Method and System for Mapping Disk Drives in a Shared Disk Cluster |
US9124601B2 (en) | 2006-11-15 | 2015-09-01 | Conviva Inc. | Data client |
US8751605B1 (en) | 2006-11-15 | 2014-06-10 | Conviva Inc. | Accounting for network traffic |
US8874725B1 (en) | 2006-11-15 | 2014-10-28 | Conviva Inc. | Monitoring the performance of a content player |
US8489923B1 (en) | 2006-11-15 | 2013-07-16 | Conviva Inc. | Detecting problems in content distribution |
US8671151B2 (en) * | 2007-01-24 | 2014-03-11 | Oracle International Corporation | Maintaining item-to-node mapping information in a distributed system |
EP2099165A1 (en) * | 2008-03-03 | 2009-09-09 | Thomson Licensing | Deterministic back-off method and apparatus for peer-to-peer communications |
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 |
US7738504B1 (en) | 2008-12-22 | 2010-06-15 | The United States Of America As Represented By The Director National Security Agency | Method of establishing and updating master node in computer network |
US8489721B1 (en) * | 2008-12-30 | 2013-07-16 | Symantec Corporation | Method and apparatus for providing high availabilty to service groups within a datacenter |
KR101042908B1 (ko) * | 2009-02-12 | 2011-06-21 | 엔에이치엔(주) | 네트워크 분리 장애 상황에서 메이저 그룹을 결정하기 위한방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체 |
US8402494B1 (en) | 2009-03-23 | 2013-03-19 | Conviva Inc. | Switching content |
JP5307610B2 (ja) * | 2009-04-17 | 2013-10-02 | キヤノン株式会社 | 無線通信システムと通信方法 |
WO2011106382A2 (en) * | 2010-02-26 | 2011-09-01 | Rovi Technologies Corporation | Dynamically configurable clusters of apparatuses |
US9083762B2 (en) * | 2010-05-28 | 2015-07-14 | Greg Saunders | System and method for providing hybrid on demand services to a work unit |
US8583773B2 (en) | 2011-01-11 | 2013-11-12 | International Business Machines Corporation | Autonomous primary node election within a virtual input/output server cluster |
EP2687061A4 (en) * | 2011-03-17 | 2015-03-25 | Hewlett Packard Development Co | SELF-ORGANIZATION OF A SATELLITE NETWORK |
US9026560B2 (en) | 2011-09-16 | 2015-05-05 | Cisco Technology, Inc. | Data center capability summarization |
US9077580B1 (en) * | 2012-04-09 | 2015-07-07 | Symantec Corporation | Selecting preferred nodes for specific functional roles in a cluster |
US10148716B1 (en) | 2012-04-09 | 2018-12-04 | Conviva Inc. | Dynamic generation of video manifest files |
EP3279789A1 (en) * | 2012-06-29 | 2018-02-07 | Mpstor Limited | Data storage with virtual appliances |
US10182096B1 (en) | 2012-09-05 | 2019-01-15 | Conviva Inc. | Virtual resource locator |
US9246965B1 (en) | 2012-09-05 | 2016-01-26 | Conviva Inc. | Source assignment based on network partitioning |
US8996769B2 (en) * | 2013-08-06 | 2015-03-31 | Netapp, Inc. | Storage master node |
US10382527B2 (en) * | 2013-10-16 | 2019-08-13 | International Business Machines Corporation | Performing optimized collective operations in an irregular subcommunicator of compute nodes in a parallel computer |
CN103530404B (zh) * | 2013-10-23 | 2016-09-14 | 中国联合网络通信集团有限公司 | 社区发现处理方法和装置 |
US10305955B1 (en) | 2014-12-08 | 2019-05-28 | Conviva Inc. | Streaming decision in the cloud |
US10178043B1 (en) | 2014-12-08 | 2019-01-08 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
US10412012B2 (en) | 2015-09-22 | 2019-09-10 | Arris Enterprises Llc | Intelligent, load adaptive, and self optimizing master node selection in an extended bridge |
US10721123B2 (en) | 2015-09-30 | 2020-07-21 | Arris Enterprises Llc | Provisional modes for multi-mode network devices |
US10193789B2 (en) | 2015-10-07 | 2019-01-29 | Arris Enterprises Llc | Handling port identifier overflow in spanning tree protocol |
US10153944B2 (en) | 2015-10-09 | 2018-12-11 | Arris Enterprises Llc | Lag configuration learning in an extended bridge |
US10218641B2 (en) | 2015-10-09 | 2019-02-26 | Arris Enterprises Llc | Handling dynamic cascade port/LAG changes in a non-blocking manner |
US10148595B2 (en) | 2015-10-16 | 2018-12-04 | Arris Enterprises Llc | Handling dynamic port/LAG changes without breaking communication in an extended bridge |
US10193706B2 (en) | 2015-10-21 | 2019-01-29 | Arris Enterprises Llc | Distributed rule provisioning in an extended bridge |
US10284389B2 (en) | 2015-10-21 | 2019-05-07 | Arris Enterprises Llc | High availability for distributed network services in an extended bridge |
US10374868B2 (en) * | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
CN106161450B (zh) * | 2016-07-20 | 2019-12-20 | 上海携程商务有限公司 | 分布式https监控方法 |
US10250527B2 (en) | 2016-09-01 | 2019-04-02 | Arris Enterprises Llc | Port extender ID assignment in an extended bridge |
US10389656B2 (en) | 2016-09-07 | 2019-08-20 | Arris Enterprises Llc | Determining port-to-port connectivity in an extended bridge |
US10203987B2 (en) * | 2017-01-01 | 2019-02-12 | International Business Machines Corporation | Technology for increasing data processing by users |
CN107147696B (zh) * | 2017-04-07 | 2019-11-01 | 北京信息科技大学 | 在复杂网络中分配缓存服务器的方法和装置 |
US10735250B2 (en) * | 2018-11-30 | 2020-08-04 | International Business Machines Corporation | Dynamic distributor selection for network load balancing |
EP3703342B1 (en) | 2019-03-01 | 2023-07-26 | ABB Schweiz AG | Dynamic load balancing in network centric process control systems |
CN114745393B (zh) * | 2022-03-31 | 2024-06-21 | 阿里云计算有限公司 | 会话同步系统及其方法、云计算中心和云计算设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL99923A0 (en) | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
US5612897A (en) | 1996-03-21 | 1997-03-18 | Digital Equipment Corporation | Symmetrically switched multimedia system |
US6104871A (en) * | 1996-04-30 | 2000-08-15 | International Business Machines Corporation | Utilizing batch requests to present membership changes to process groups |
US5748958A (en) * | 1996-04-30 | 1998-05-05 | International Business Machines Corporation | System for utilizing batch requests to present membership changes to process groups |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US6173311B1 (en) | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
US6119143A (en) | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US6070191A (en) | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US5999712A (en) * | 1997-10-21 | 1999-12-07 | Sun Microsystems, Inc. | Determining cluster membership in a distributed computer system |
WO1999026235A2 (en) * | 1997-11-17 | 1999-05-27 | Telcordia Technologies, Inc. | Method and system for determining approximate hamming distance and approximate nearest neighbors in an electronic storage device |
US6266335B1 (en) | 1997-12-19 | 2001-07-24 | Cyberiq Systems | Cross-platform server clustering using a network flow switch |
AU2572699A (en) | 1998-08-07 | 2000-02-28 | E2 Software Corporation | Network contact tracking system |
US6253230B1 (en) | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
US6412079B1 (en) | 1998-10-09 | 2002-06-25 | Openwave Systems Inc. | Server pool for clustered system |
US6236999B1 (en) | 1998-11-05 | 2001-05-22 | Bea Systems, Inc. | Duplicated naming service in a distributed processing system |
DE19851981C2 (de) | 1998-11-11 | 2000-09-14 | Daimler Chrysler Ag | Verfahren zur Steuerung eines aktiven Insassenkopfschutzsystems in einem Fahrzeug |
WO2000062502A2 (en) | 1999-04-12 | 2000-10-19 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
EP1049307A1 (en) | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
ATE366437T1 (de) | 1999-08-13 | 2007-07-15 | Sun Microsystems Inc | Elegante verteilung des lastausgleichs für anwendungs-server |
US6662219B1 (en) * | 1999-12-15 | 2003-12-09 | Microsoft Corporation | System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource |
US6196680B1 (en) * | 2000-04-10 | 2001-03-06 | Unique Industries, Inc. | Chemiluminescent eyeglass frame |
US20030041138A1 (en) * | 2000-05-02 | 2003-02-27 | Sun Microsystems, Inc. | Cluster membership monitor |
JP3693896B2 (ja) * | 2000-07-28 | 2005-09-14 | 三菱電機株式会社 | 通信方法および通信システム |
US6839752B1 (en) * | 2000-10-27 | 2005-01-04 | International Business Machines Corporation | Group data sharing during membership change in clustered computer system |
US7451199B2 (en) * | 2002-05-10 | 2008-11-11 | International Business Machines Corporation | Network attached storage SNMP single system image |
-
2002
- 2002-01-18 US US10/052,551 patent/US6950855B2/en not_active Expired - Fee Related
-
2003
- 2003-01-07 JP JP2003561200A patent/JP3809872B2/ja not_active Expired - Fee Related
- 2003-01-07 CN CNB038010593A patent/CN100452794C/zh not_active Expired - Fee Related
- 2003-01-07 WO PCT/EP2003/001209 patent/WO2003061237A2/en active IP Right Grant
- 2003-01-07 DE DE60302876T patent/DE60302876T2/de not_active Expired - Lifetime
- 2003-01-07 AT AT03729492T patent/ATE313906T1/de not_active IP Right Cessation
- 2003-01-07 EP EP03729492A patent/EP1477008B1/en not_active Expired - Lifetime
- 2003-01-07 AU AU2003235606A patent/AU2003235606A1/en not_active Abandoned
- 2003-01-07 CA CA002456836A patent/CA2456836A1/en not_active Abandoned
- 2003-01-07 KR KR10-2004-7001420A patent/KR100537581B1/ko not_active IP Right Cessation
- 2003-01-16 TW TW092100861A patent/TWI229990B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140088176A (ko) * | 2011-10-28 | 2014-07-09 | 제타셋, 아이엔시. | 고가용성 클러스터에서의 스플릿브레인 방지 페일오버 |
KR20130048093A (ko) * | 2011-11-01 | 2013-05-09 | 한국전자통신연구원 | 분산 데이터 베이스 장치 및 그 장치에서의 스트림 데이터 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
AU2003235606A1 (en) | 2003-07-30 |
WO2003061237A3 (en) | 2003-12-24 |
DE60302876T2 (de) | 2006-07-20 |
DE60302876D1 (de) | 2006-01-26 |
CN100452794C (zh) | 2009-01-14 |
EP1477008A2 (en) | 2004-11-17 |
EP1477008B1 (en) | 2005-12-21 |
CN1557086A (zh) | 2004-12-22 |
US6950855B2 (en) | 2005-09-27 |
JP3809872B2 (ja) | 2006-08-16 |
WO2003061237A2 (en) | 2003-07-24 |
CA2456836A1 (en) | 2003-07-24 |
ATE313906T1 (de) | 2006-01-15 |
TW200302645A (en) | 2003-08-01 |
JP2005515713A (ja) | 2005-05-26 |
KR100537581B1 (ko) | 2005-12-20 |
TWI229990B (en) | 2005-03-21 |
US20030140108A1 (en) | 2003-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100537581B1 (ko) | 클러스터링 노드 구성에서의 마스터 노드 선택 방법 | |
US11570255B2 (en) | SMB2 scaleout | |
US7870230B2 (en) | Policy-based cluster quorum determination | |
US11734248B2 (en) | Metadata routing in a distributed system | |
US8166097B2 (en) | Using distributed queues in an overlay network | |
US8812535B2 (en) | Propagating a query in a federated database | |
EP2317450A1 (en) | Method and apparatus for distributed data management in a switching network | |
US20190075084A1 (en) | Distributed Lock Management Method, Apparatus, and System | |
KR102192442B1 (ko) | 쿠버네티스 클러스터에서의 리더 분산 방법 및 리더 분산 시스템 | |
US7773609B2 (en) | Overlay network system which constructs and maintains an overlay network | |
US8880665B2 (en) | Nonstop service system using voting, and information updating and providing method in the same | |
US20090177756A1 (en) | Multiple network shared disk servers | |
CN109981768A (zh) | 分布式网络存储系统中的io多路径规划方法及设备 | |
van Renesse et al. | Autonomic computing: A system-wide perspective | |
CN118524104A (zh) | 分布式系统的连接管理方法和计算设备 | |
Sangam et al. | Fairly redistributing failed server load in a distributed system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20101109 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |