KR100297906B1 - 동적인구성변화를지원하는방법및그장치 - Google Patents

동적인구성변화를지원하는방법및그장치 Download PDF

Info

Publication number
KR100297906B1
KR100297906B1 KR1019980021460A KR19980021460A KR100297906B1 KR 100297906 B1 KR100297906 B1 KR 100297906B1 KR 1019980021460 A KR1019980021460 A KR 1019980021460A KR 19980021460 A KR19980021460 A KR 19980021460A KR 100297906 B1 KR100297906 B1 KR 100297906B1
Authority
KR
South Korea
Prior art keywords
configuration
software
cluster
configuration change
transaction
Prior art date
Application number
KR1019980021460A
Other languages
English (en)
Other versions
KR19990013396A (ko
Inventor
제임스 더블유. 아렌트
칭-윈 차오
마이클 데이비드 키스틀러
프랭크 다니엘 로이어
루돌프 어거스토 맨사이시더
제야쉬레 레마나단
호베이 레이몬드 스트롱
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR19990013396A publication Critical patent/KR19990013396A/ko
Application granted granted Critical
Publication of KR100297906B1 publication Critical patent/KR100297906B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level

Abstract

구성 변화 이벤트(configuration change event)을 큐에 넣음으로써 구성 변화가 클러스터 다중 처리 시스템에 동적으로 가해진다. 구성 변화 이벤트가 프로세스될 때, 이전의 구성이 백업되고 각각의 소프트웨어 구성 요소는 구성 변화 트랜잭션의 관련 부분을 순차적이고도 동기화된 방식으로 가한다. 각각의 소프트웨어 구성 요소는 재초기화 또는 로그된 전이 동작(transition operation)에 의해서 트랜잭션의 관련 부분들을 제공한다. 구성 변화 트랜잭션이 장애를 일으키는 경우, 소프트웨어 구성 요소들은 순차적이고도 동기화된 방식으로 이미 제공된 구성 변화 부분들로 롤 백(roll back)하여, 이전의 구성을 복구한다. 서로 다른 구성 변화에 대한 복수의 이벤트들을 큐에 넣을 수 있다.

Description

동적인 구성 변화를 지원하는 방법 및 그 장치{DYNAMIC CHANGES IN CONFIGURATION}
본 발명은 일반적으로 클러스터 다중 처리 시스템(cluster multiprocessing system)에 관한 것으로서, 상세하게는 클러스터 다중 처리 시스템의 동적 재구성에 관한 것이다. 보다 상세하게는, 본 발명은 가용성이 높은 클러스터 다중 처리 시스템의 동적인 재구성에 관한 것이다.
미션 임계 컴퓨팅 플랫폼(mission critical computing platform)의 오류 허용 한계에 대한 대책으로서 높은 가용성(High availability; HA)이 폭넓은 상업적 수용 가치를 얻고 있다. 오류 허용 한도 처리 시스템은 하드웨어 구성 소자가 프로세서, 메모리 보드, 하드 디스크 드라이브, 어댑터, 전원 등인지 여부와 관계없이 특수한 하드웨어에 의존하여 하드웨어 오류를 검출하고 여분의 하드웨어 구성 소자로 절환한다. 이 오류 허용 한도 시스템은 끊기지 않는 컷오버와 인터럽트없는 성능을 제공하는 반면에, 여분의 하드웨어가 필요하기 때문에 고가이다. 또한, 오류 허용 한도 처리 시스템은 데이터 처리 시스템 장애의 주요인인 소프트웨어 오류를 처리하지 않는다.
높은 가용성은 표준 하드웨어를 이용하지만, 시스템에서 폭 넓게 자원을 공유할 수 있게 하는 소프트웨어를 제공한다. 노드, 구성 소자, 또는 응용 분야에 장애가 발생할 때, 소정 자원에 대한 대체 경로가 빠르게 설정된다. 자원의 가용성을 재설정하는데 필요한 간결한 인터럽션이 많은 상황에서 수용될 수 있다. 하드웨어의 가격은 장애 허용 한도 시스템보다 상당히 저렴하고, 정상 작동하는 동안에는 백업 기능을 이용할 수 있다.
가용성이 높은 시스템은 종종 클러스터화된 다중처리(CMP) 시스템으로 구현된다. 클러스터는 공유되는 외부 하드 디스크 등과 같은, 공유되는 자원에 접속된 복수의 노드 또는 프로세서를 포함한다. 일반적으로, 각 노드는 공유 자원을 액세스하게 하는 서버 또는 "백 앤드" 애플리케이션을 실행한다. 노드는 자원의 집합 ― 디스크, 볼륨그룹, 파일 시스템, 네트워크, 네트워크 어드레스 및/또는 애플리케이션 ― 을 그 노드가 이용가능한 한 "소유"할 수 있다. 상기 노드가 다운될 때에는, 자원에의 액세스는 다른 노드를 통해 제공된다.
활성화 구성은 하드웨어와 소프트웨어 엔터티(entity)와 함께 이들 엔터티간 관계의 집합, 엔터티의 조합, 및 서비스를 사용자에게 전송하는 관계를 포함한다. 하드웨어 엔터티는 노드, 어댑터, 및 공유된 디스크 등을 지정하고, 반면에 소프트웨어 엔터티는 페일오버(failover) 및 복원 계획을 지정한다. 예를 들어, 특정한 소프트웨어 엔터티는 노드 A가 장애를 일으켰을 때 애플리케이션 서버가 노드 B를 페일오버하도록 지정할 수 있다. 또한, 노드 A가 복원되는 경우 애플리케이션 서버가 노드 A로 페일 백되어야 하는지의 여부를 지정한다.
클러스터화된 다중 처리 시스템에서는, 중단 없이 클러스터의 구성을 변화시키면서 활성 클러스터를 동적으로 재구성하고, 이어서, 클러스터 서비스를 재시작하는 것이 효과적이다. 활성화 구성의 동적 변화는 가능한 한 서비스 중단을 줄이면서 시스템이 실행되는 동안 엔터티 및 관계 집합들을 바람직하게 변화시킨다. 이러한 동적인 구성 변화는 클러스터가 장시간 동안 장애를 일으킬 수 없는(바람직하게는, 전혀 장애를 일으키지 않는) 미션-임계 애플리케이션을 서비스할 때 필요하다.
동적 구성 변화에 대한 안정된 지원을 필요로 하는 상황의 한 예는 4개의 노드 클러스터(노드 A, B, C 및 D) 내에서 하드웨어 업그레이드를 수행하는 것이다. 사용자는 노드 D와 같은 업그레이드될 노드를 정지시키고, 하드웨어를 업그레이드하며, 노드 D에 클러스터를 재결합하고, 가능하다면 구성을 변화시킬 필요가 있다. 노드 D가 고속 프로세서 및/또는 부가적인 메모리를 갖추고 있는 경우에, 사용자는 예를 들어, 노드 D가 다른 노드에서 이전에 실행된 애플리케이션 서버에 대한 초기 시스템이 되기를 원할 수 있다. 사용자는 이들을 변화시키고 이 변화가 전원 중단과 클러스터 재부트에 걸쳐서 유지되기를 원할 것이다.
동적 구성 변화를 필요로 하는 다른 예는 일시적인 동적 구성 변화를 포함한다. 노드의 작업 로드가 일시적으로 증가하는 경우, 사용자는 그 시스템에서 이전에 실행된 애플리케이션 서버를 다른 노드로 이동시키기를 원할 수 있다. 이 증가된 작업 로드는 정상 상태가 아니므로, 이 변화를 클러스터의 재부트 전반에 걸쳐서 유지할 필요는 없다.
적어도 하나의 종래의 클러스터 소프트웨어 패키지 ― New Youk, Armonk의 International Business Machines Corporation에서 제조된 AIX용 HACMP ―는 소정의 동적 재구성 기능을 제공한다. 각 노드는 클러스터 시작시 각각의 노드에 대한 활성화 구성으로 복사되는 디폴트(default) 구성을 포함한다. 클러스터가 활성화되어 다른 노드들의 디폴트 구성으로 복사되는 동안 이 디폴트 구성이 변경될 수 있다. 이 변경된 디폴트 구성은, 이어서 각각의 활성 노드내 스테이징(staging)구성으로 복사된다. 이 새로운 구성은 검증되고, 각각의 클러스터 노드에 대한 데몬(deamons)이 리프레시될 때, 활성 노드에 대한 활성화 구성으로 복사된다. 그 다음, 상기 재구성에 의해서 추가된 비활성 노드들에 대한 클러스터 서비스가 시작될 수 있다.
종래의 동적 재구성 시스템은 몇 가지 한계점을 갖는다. 첫번째로, 복수의 재구성을 동기화시킬 수 없다. 동적인 재구성이 진행중인 동안 두번째 재구성을 초기화시킬 때, 임의의 클러스터 노드 상에 존재하는 스테이징 구성(staging configration)이 새로운 동적 재구성 이벤트(event)의 초기화를 억제하는 로크(lock)로 작용한다.
두번째로, 종래의 시스템은 복수의 소프트웨어 구성 요소들이 구성에 대한 변화의 서로 다른 부분을 적용하는 것과 관계되어질 때 동적 변화를 실행하는데 이용될 수 없다. 복수의 소프트웨어 구성 요소에 관한 동적인 구성 변화에 장애를 일으키는 경우, 이 장애가 일어난 지점까지 이미 행해진 변화는 롤 백(roll back)되어야 한다. 이것은 단일 구성 요소만을 동적으로 변화시키고 시도된 구성 변화가 장애를 일으킬 경우에 기존의 구성으로 복귀하는 것보다 훨씬 복잡하다. 따라서, 동적으로 행해질 수 있는 변화가 제한된다.
따라서, 복수의 소프트웨어 구성 요소에 관한 동적 변화를 지원하고 복수의 동적 재구성의 동기화를 지원할 수 있는 클러스터 다중 처리 시스템을 제공하는 것이 바람직하다. 또한, 동적인 구성 변화를 시스템 내의 다른 이벤트에 대응시키고 고장 안정 방식(fail safe manner)으로 동적 변화를 행하는 것이 바람직하다.
따라서, 본 발명의 목적은 개선된 클러스터 다중 처리 시스템을 제공하는데 있다.
본 발명의 다른 목적은 클러스터 다중 처리 시스템의 개선된 동적 재구성 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 복수의 소프트웨어 구성 요소 전체에 걸쳐 동기화되는 가용성 높은 클러스터 다중 처리 시스템의 동적인 재구성을 제공하는데 있다.
이제부터 설명되는 바와 같이 상술된 목적을 실현할 수 있다. 구성 변화는 구성 변화 이벤트를 큐에 넣음으로써 클러스터 다중 처리 시스템에 동적으로 가해진다. 이 구성 변화 이벤트가 처리될 때, 종래의 구성은 백업되고, 각각의 소프트웨어 구성 요소는 순차적이고도 동기화된 방식으로 구성 변화 트랜잭션의 관련 부분을 적용한다. 각각의 소프트웨어 구성 요소는 자신의 트랜잭션 부분을 재초기화 또는 로그된 전이 동작에 의해서 적용한다. 동작 변화 트랜잭션이 장애를 일으키는 경우에는, 소프트웨어 구성 요소가 순차적이고도 동기화된 방식으로 이미 제공된 구성 변화의 일부를 롤 백하여 이전의 구성을 복구한다. 서로 다른 구성 변화에 대해서 복수의 이벤트들을 큐에 넣을 수 있다.
본 발명의 상술된 목적뿐 아니라 부가적인 목적, 특성, 및 장점들이 다음의 상세하게 기록된 설명에서 명백해질 것이다.
도 1은 본 발명의 바람직한 실시예를 수행하는 클러스터 다중 처리 시스템을 도시한 도면.
도 2는 본 발명의 바람직한 실시예에 따라서 복수의 소프트웨어 구성 요소들을 포함하는 가용성 높은 클러스트화된 다중 처리 시스템을 동적으로 재구성하는 프로세스에 의해서 이용될 수 있는 큐의 구조도.
도 3a 및 도 3b는 본 발명의 바람직한 실시예에 따라서 복수의 소프트웨어 구성 요소를 포함하는 가용성 높은 클러스트화된 다중 처리 시스템을 동적으로 재구성하는 프로세스에 대한 상위 레벨 플로우챠트를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
102 : 시스템
104 내지 110 : 서버 노드
112 내지 114 : 공중 근거리 통신망
116 내지 120 : 클라이언트
본 발명이 특징으로 하는 새로운 특성은 첨부된 청구 범위에서 설명된다.그러나, 본 발명 자체는 바람직한 사용예뿐 아니라, 본 발명의 다른 목적 및 장점이 첨부된 도면을 참조하여 판독하는 경우 도시된 실시예의 다음의 상세한 설명을 참조함으로써 보다 자명해질 것이다.
이제, 도면을 참조하여, 특히 도 1을 참조하여 본 발명의 제1 실시예를 수행하는 클러스터 다중 처리 시스템의 도면을 설명한다. 시스템(102)은 통상 각각이 유일한 이름으로 식별되는 복수의 서버 노드(104 내지 110)을 포함한다. 각 노드(104 내지 110)는 New York, Armonk의 International Business Machines Corporation에서 제조된 RISC 시스템/6000시스템과 같은 대칭적 다중프로세서(SMP; symmetric multiprocessor) 데이터 처리 시스템 또는 윈도우즈 NTTM서버로서 동작하는 데이터 처리 시스템이 될 수 있다.
시스템 내의 각 노드(104 내지 110)는 New York, Armonk의 International Business Machines Corporation에서 제조된 Advanced Interactive Excutive(AIX) 운영 체제 또는 Washington, Redmond의 Microsoft Corporation에서 제조된 윈도우즈 NTTM운영 체제와 같은 운영 체제를 포함한다. 시스템(102) 내의 노드들(104 내지 110)은 운영 체제의 상위에서 또는 운영 체제와 결합하여 실행될 수 있는 가용성 높은 클러스터 소프트웨어를 포함한다. 이러한 가용성 높은 클러스터 소프트웨어는 후술되는 특징들을 포함한다.
노드(104 내지 110)는 이더넷(Ethernet), 토큰-링, 광섬유 분산 데이터 인터페이스(FDDI; Fiber Distributed Data Interface), 또는 다른 네트워크가 될 수 있는 공중 근거리 통신망(112 내지 114)에 접속된다. 이 공중망(112 내지 114)은 클라이언트(116 내지 120)에 서버(104 내지 110)로의 액세스를 제공한다. 클라이언트(116 내지 120)는 노드(104 내지 110)를 액세스하는 데이터 처리 시스템으로, 그 각각의 클라이언트는 노드(104 내지 110) 상에서 실행되는 서버 애플리케이션을 묻는 "전치(front end)" 또는 클라이언트 애플리케이션을 실행한다.
전형적으로, 각각의 노드(104 내지 110)는 디스크 버스(128 내지 130)을 통해서 공유 외부 디스크(122 내지 126)의 데이터를 액세스하는 서버 또는 "후치(back end)" 애플리케이션을 실행한다. 노드들(104 내지 110)은 또한 추가된 네트워크(132) 또는 네트워크들에 의해서 접속될 수 있다. 예를 들어, 사설 네트워크(private network)는 클라이언트(116 내지 120)에 액세스를 제공하지 않은 채, 시스템(102) 내의 노드들(104 내지 110) 사이에 포인트-투-포인트 접속을 제공할 수 있다. 필요하다면, 이 사설 네트워크는 로크 트래픽(lock traffic)에 이용될 수 있고, 이더넷, 토큰-링, FDDI, 또는 직렬 광채널 커넥터(SOCC; serial optical channel connector) 네트워크일 수 있다. 직렬 네트워크는 또한, 대체 서브시스템에 장애가 발생하는 경우 제어 메시지 및 하트비트(heartbeat) 트래픽에 사용되는, 노드들(104 내지 110) 사이에 포인트-투-포인트 통신을 제공할 수도 있다.
예시된 실시예의 설명에서와 같이, 시스템(102)은 장애가 발생한 단일의 신호 포인트를 제거하기 위한 수개의 리던던시 레벨을 포함할 수 있다. 예를 들어, 각 노드(104 내지 110)는 두개의 네트워크 어댑터, 노드와 네트워크 사이에 1차 활성 접속을 제공하는 서비스 어댑터 및 서비스 어댑터가 장애를 일으키는 경우 서비스 어댑터를 대용하는 대기 어댑터에 의해서 각각의 공중 네트워크(112 내지 114)에 접속된다. 따라서, 시스템(102) 내의 자원을 이용할 수 없을 때는 장애를 일으킨 자원이 대체 자원으로 신속하게 대용될 수 있다.
본 발명의 통상의 지식을 가진자들에게는 도 1의 예시적인 실시예에서 설명된 하드웨어가 변화될 수 있다는 것이 자명하다. 예를 들어, 시스템은 적어도 수개의 노드들, 추가된 클라이언트 및/또는 도시되지 않은 다른 접속을 포함할 수 있다. 또한, 본 발명은 구성 데이터를 사용할 수 있고 이 구성 데이터의 동적인 변화를 지원하는 임의의 소프트웨어 내에서도 구현될 수 있다. 높은 가용성을 제공하는 시스템은 본 발명에서 도시되고 설명되는 목적들에 대해서만 사용된다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따라서 복수의 소프트웨어 구성 요소를 포함하는 가용성 높은 클러스트화된 다중 처리 시스템을 동적 재구성하는 프로세스에 의해서 이용될 수 있는 큐 구조가 설명된다. 높은 가용성을 갖는 자원과 연관된 프로세싱 이벤트 ― 전형적으로, 장애(또는 "페일오버") 이벤트 또는 복귀(또는 "복원") 이벤트 ― 와의 코디네이션(coordination)이 필요하다. 이러한 코디네이션은 복제 이벤트 큐에 의해서 제공된다. 예시적인 실시예에서 이벤트 큐는 가용성 높은 클러스터 소프트웨어의 코디네이션 구성 요소에 의해서 유지되는 복제된 이벤트 큐이다. 이 코디네이션 구성 요소는 클러스터 내의 각 노드 상에서 실행되는 데몬을 갖는 분산된 엔터티이다. 코디네이션 구성 요소는 노드와 어댑터의 장애를 조정하기 위한 구성 요소, 시스템 관리자에 의해서 강제적으로 페일오버를 조정하기 위한 구성 요소 및/또는 애플리케이션의 서버 장애를 조정하기위한 구소 요소와 같은 가용성 높은 클러스터 소프트웨어의 다른 구성 요소가 될 수 있다. 이 코디네이션 구성 요소는 API를 통해서 발생된 이벤트의 다른 요소에 의해서 확인되며, 이벤트들을 수집하여, 프로세싱하기 위해서 어떠한 이벤트가 큐에 넣어져야 하는가를 판정한다. 코디네이션 구성 요소는 또한 적절한 조건에서 큐로부터 이벤트를 제거할 수 있다.
큐 안에 있는 이벤트는 클러스터의 구성 내에 포함된 정보를 이용하여 처리되고, 종종 경계(barriers)에 의해서 분할된 복수의 위상을 포함한다. 이 위상들은 통상 클러스터 내의 서로 다른 노드들에서 병행 실행되는 명령문에 의해 발생되는 분산된 동작이다. 명령문들 간의 여분의 장벽들은 후속 명령문이 클러스터 내의 임의의 노드에서 시작되기 이전에 하나의 명령문이 클러스터 내의 모든 노드 상에서 완료되도록 한다. 예를 들어, 애플리케이션 서버가 다른 노드로 변화되는 경우에, 클러스터 내의 모든 노드는 애플리케이션 서버가 새로운 노드에서 재기동되기 이전에 현재의 노드에서 애플리케이션 노드를 이용하는 것을 중지하여야 한다.
이벤트 프로세싱을 갖는 동적인 구성 변화를 코디네이션화하는데 장애가 일어나면, 소정 이벤트를 프로세싱하는 다양한 위상에서 다른 구성 정보가 사용되고, 일치하지 않거나 정확하지 않은 동작을 야기하게 된다.
도시된 확장 가능 큐의 구조(202)는 제1 큐 엔터티에 대한 포인터(206) 및 최종 큐 엔터티에 대한 포인터(208)와 함께 복수의 큐 엔터티들(204)을 포함한다. 큐 구조(202)는 또한 플레그(210)를 포함하는데, 이 플레그(210)는 복수의 다중 소프트웨어 구성 요소를 포함하는 가용성 높은 데이터 프로세싱 시스템을 동적으로재구성하는데 이용될 수 있다. 각각의 큐 엔터티(204)는 ("node_up"과 같은) 이벤트의 명칭 및 우선 순위를 포함할 수 있다. 우선 순위 분류를 이용하여 노드들과 관련된 모든 이벤트에 제1 우선 순위를 할당하는 반면 어댑터와 관련된 모든 이벤트에 제2 우선 순위를 할당하고 애플리케이션 서버와 관련된 모든 이벤트에 제3 우선 순위를 할당할 수 있다. 각각의 큐 엔터티(204)는 또한 노드 식별자, 타임 스탬프(time stamp), 다음 큐 엔터티와 이전의 큐 엔터티에 대한 포인터, (예를 들어, 내부적으로 발생되거나 외부적으로 발생된) 이벤트 형태, 및 이벤트를 처리하기 위한 파라미터를 포함한다.
이제 도 3a 및 도 3b를 참조하면, 본 발명의 바람직한 실시예에 따라서 다중 소프트웨어 구성 요소를 포함하는 가용성 높은 클러스터화된 다중 프로세싱 시스템을 동적으로 재구성하는 프로세스에 대한 상위 레벨 플로우챠트가 도시된다. 프로세스는 가용성 높은 클러스터 소프트웨어 구성 요소에 의해서 사용된다.
도시된 프로세스는 단계(302)에서 시작되는데, 이는 사용자에 의해서 동적인 구성 변화가 시작되는 것을 설명한다. 예를 들어, 사용자는 특정한 애플리케이션 서버를 1차 노드로 변경되거나 또는 소정 노드에 대한 모든 애플리케이션 서버에 대해서 1차 노드와 대기 노드를 일시적으로 변화시켜서 이 노드를 다운시킨다. 그 다음, 프로세스는 단계(304)로 진행되는데, 이는 구성 변화 이벤트가 시작되었음을 시스템 내의 모든 노드들에 통보하는 단계이다. 이러한 통보는 이벤트 큐와 관련된 플레그를 셋팅함으로써 수행할 수 있다.
그 다음, 프로세스는 단계(306)을 통과하는데, 이는 복제된 이벤트 큐 안에구성 변화 이벤트를 배치하는 단계이다. 예시적인 실시예에서, 복제된 이벤트 큐는 장애 및 복원 이벤트용으로 이용되는 것과 동일한 큐이다. 분리된 이벤트 큐가 구성 변화 이벤트에 이용될 수 있지만, 여전히 기존의 이벤트 큐와의 코디네이션이 요구된다.
이 큐는 이미 처리된 다른 이벤트들 및/또는 구성 변화 이벤트보다 높은 관련 우선 순위를 갖는 다른 이벤트들을 포함한다. 예를 들어, 이전의 구성 변화 이벤트가 진행중이거나, 장애 또는 복구 이벤트가 높은 우선 순위를 할당 받아 구성 변화 이벤트들보다 먼저 처리될 수 있다.
다음에는, 프로세스가 단계(308)로 진행되는데, 이는 구성 변화 이벤트가 다음에 처리될 수 있는지의 판정을 설명하는 단계이다. 최소한, 이 단계에서는 구성 변화 이벤트가 시작된 시간에 이미 시작된 프로세싱이 완성되었는지 여부를 판정해야 한다. 특정한 수행에 따라서, 이 단계는 또한 큐가 장애 또는 복구 이벤트와 같은, 구성 변화 이벤트보다 높은 우선 순위를 갖는 다른 이벤트들을 포함하는지 여부의 판정을 요구할 수 있다. 따라서, 프로세스가 예를 들어 다음의 가장 높은 우선 순위 이벤트를 프로세싱하는 것을 나타내는 단계(309)로 진행된 다음, 단계(308)로 복귀되어 구성 변화 이벤트가 다음에 프로세싱될지 여부를 판정한다. 구성 변화 이벤트가 프로세싱될 수 있는 다음 이벤트가 아닌 한, 이벤트는 계속해서 큐에 넣어진다. 구성 변화 이벤트가 큐에 넣어지는 동안 진행중인 다른 이벤트들의 프로세싱이 이 구성 변화 이벤트의 프로세싱이 시작되기 이전에 완료되므로, 하나의 구성 하에서 이벤트의 프로세싱이 시작되어 다른 구성 하에서 프로세싱이완료될 수 있는 가능성을 방지할 수 있다.
일단 구성 변화 이벤트가 처리되어질 다음 이벤트가 되면, 프로세스가 단계 (310)으로 진행되는데, 이는 현재의 복제 정보들을 백업하는 단계이다. 그 다음 단계(312)로 진행되는데, 이 단계는 시스템 구성을 변화하는 트랜잭션을 시작한다. 본 발명의 바람직한 실시예에서, 클러스터 소프트웨어는 가용성 높은 시스템을 제공하는 서로 다른 양상들을 이용할 수 있는 복수의 서로 다른 구성 요소들을 포함한다. 클러스터 소프트웨어는, 예를 들어, 구성 정보를 기억하기 위한 구성 요소, 장애 검출용 구성 요소 및 장애를 처리하기 위한 구성 요소, 및/또는 사용자 인터페이스를 제공하기 위한 구성 요소를 포함한다. 따라서, 트랜잭션의 프로세싱은 클러스터 소프트웨어 내의 복수의 상이한 구성 요소들이 관계되기를 요구할 수 있다.
시스템은 다른 이벤트들을 처리하는 것으로부터 명백해지기 때문에, 각각의 구성 요소에 관련한 구성 변화들이 통합된 방법으로 연속해서 조정될 수 있다. 구성 변화의 영향을 받는 구성 요소들은 희망하는 구성 변화의 특성에 의해서 결정될 것이다. 각각의 구성 요소들은 순차적인 방식으로 변경될 수 있다. 복수의 소프트웨어 구성 요소들이 서로 다른 구성 변화 부분들과 관련이 있다면, 구성 요소들 사이의 변화가 동시에 발생될 것이다. 서로 다른 소프트웨어 구성 요소에 의해서 가해지는 구성 변화 부분들의 이러한 동기화는 복제된 이벤트 큐와 관련된 플레그의 사용을 통해서 달성할 수 있다. 예를 들어, 새로운 노드가 시스템에 추가되면, 클러스터 내의 다른 노드들이 새로운 노드를 인식할 수 있도록 하는 클러스터 소프트웨어의 토폴로지 서비스 구성요소의 변화가 먼저 요구될 수 있다. 일단 이 구성 변화의 부분이 클러스터 내의 모든 노드들에 대해서 완료되면, 새로운 노드가 이러한 애플리케이션에 대한 첫번째 프로세서이기 때문에 이 새로운 노드에 대해서 임의의 애플리케이션 서버를 페일오버할 수 있도록 클러스터 소프트웨어의 회복 서비스 구성 요소에 대한 변화가 요구될 수 있다.
단계(310) 다음에, 프로세스는 단계(312)로 진행하고, 구성 변화를 수행하는 트랜잭션의 시작한다. 이 트랜잭션은 복수의 소프트웨어 구성 요소의 복제 구성 정보를 변화시키고, 모니터된 자원을 변화시키고, 자원의 소유권 등을 변화시키는데 필요하다. 각각의 소프트웨어 구성 요소는 재초기화 또는 기존의 구성으로부터 새로운 구성으로의 전이 동작에 의해서 구성 변화의 관련된 부분에 적용할 수 있다. 구성 변화를 가하기 위해서 서로 다른 구성 요소들이 서로 다른 방법들을 이용할 수 있다.
구성 요소가 기존의 구성으로부터 새로운 구성으로의 전이 동작을 이용하여 구성 변화를 가하는 경우, 이 변화는 클러스터 소프트웨어 코디네이션 구성 요소에 의해서 로그될 수 있다. 이것은 구성 요소로 하여금 구성 변화 트랜잭션이 트랜잭션 동작을 이용하는 구성 요소나 구성 변화의 일부를 가하는 다른 구성 요소에서 장애를 일으키는 이벤트 내의 구성 변화를 실행 취소시키도록 한다.
도 3b를 참조하면, 단계(312)로부터 단계(314)로 진행되는데, 이 단계는 프로세스가 트랜잭션이 장애를 일으켰는지의 판정하는 단계이다. 트랜잭션의 장애는 임의의 구성 요소에 대해서 일어날 수 있다. 구성 변화 트랜잭션이 장애를 일으킨다면, 프로세스는 단계(318)로 진행되는데, 이 단계는 구성을 복구하는 단계이다. 이 구성은 전이 동작의 로그로부터 판정된 바와 같이, 구성 변화 부분을 가하는 임의의 소프트웨어 구성 요소에 의해 가해지는 변화들의 순차적인 실행 취소에 의해서 복구된다. 장애를 일으킨 트랜잭션 위치까지의 구성 변화에 포함된 각각의 구성 요소는, 구성 변화 트랜잭션의 역순으로, 그 구성 요소에 의해서 가해진 이전의 구성을 복구한다.
구성 변화 트랜잭션과 관련된 동기화 조건은 트랜잭션의 실행을 취소시키는데 적용되어 이전과 유사하게 실현될 수 있을 것이다. 구성 변화를 가하는 방법에 따라서, 소프트웨어 구성 요소는 기존의 구성 하에서 재초기화하거나 로그된 전이 동작을 통해서 역트랙할 수 있다.
일단 구성이 복구되면, 프로세스는 단계(320)으로 진행되는데, 여기서는 사용자에게 장애를 일으킨 구성 변화 트랜잭션을 통보한다. 이러한 통보를 하기 위해서 사용된 표시는, 트랜잭션이 장애를 일으킨 소프트웨어의 구성 요소의 식별을 포함하는, 구성 변화 트랜잭션의 장애를 일으킨 원인에 관한 정보를 포함할 수 있다. 이러한 정보로부터, 시스템 관리자는 문제점을 정정하고 구성 변화를 다시 재개할 수 있다.
단계(320)으로부터, 프로세스는 단계(322)로 진행하는데, 여기서는 이벤트의 프로세싱을 재개하는 것을 설명한다. 도시된 프로세스의 경로 내에서, 이벤트의 프로세싱은 기존의 구성하에서 재개된다.
다시 단계(314)를 참조하면, 일단 트랜잭션이 성공적으로 완료되면, 프로세스는 상술된 바와 같이 단계(322)로 진행된다. 도시된 프로세스의 경로에서, 이벤트들의 프로세싱은 새로운 구성하에서 재개된다.
본 발명은 복수의 소프트웨어 구성 요소가 구성 변화를 완성할 필요가 있을 때 동적으로 가해지도록 한다. 다른 구성 변화로부터의 간섭이 방지되고, 다양한 소프트웨어 구성 요소들 간의 동작이 동기화되어 구성 변화들을 순차적으로 동기화할 수 있다. 기존의 구성의 복사본을 보존하고, 특정한 구성 요소 내의 전이 동작들이 로그된다. 따라서, 이전의 구성하에서 재초기화하거나 또는 전이 동작의 역실행에 의해서 트랜잭션 장애에 대해서 역순으로 이전의 구성을 복구하는 구성 요소를 가지므로, 구성 변화를 가하는데 이용되는 트랜잭션들이 장애로부터 보호될 수 있다.
본 발명은 충분히 기능적인 데이터 처리 시스템의 관련해서 설명되는 동안, 본 기술 분야의 통상의 지식을 가진자들에게 본 발명의 매카니즘이 다양한 형식으로 명령어를 컴퓨터 판독가능 매체 형태로 분배할 수 있고, 본 발명은 실제로 분배를 수행하는데 사용되는 특정 형태의 신호 베어링 매체(signal bearing media)와 무관하게 제공된다는 것이 자명해질 것이다. 컴퓨터 판독 가능 매체의 예로는, 플로피 디스크와 CD-ROM과 같은 기록 가능 매체 및 디지털 및 아날로그 통신 링크들과 같은 전송형 매체를 포함한다.
본 발명은 바람직한 실시예들을 참조하여 특별히 도시되고 설명되는 동안, 본 발명의 통상의 지식을 가진자들은 본 발명의 기술 정신이나 기술 영역에 벗어나지 않는 범위 내에서 형식상으로 다양하게 변화되거나 상세화될 수 있다는 것을 이해할 수 있을 것이다.

Claims (11)

  1. 클러스터 다중 처리 시스템(cluster multiprocessing system)에서 동적 구성 변화(dyanmic configuration change)를 지원하기 위한 방법에 있어서,
    상기 클러스터 다중 처리 시스템이 동작하는 동안 최소한 하나의 노드내의 복수의 소프트웨어 구성요소들(software components)이 관련된 구성 변화 트랜잭션(configuration change transaction)을 큐에 입력시키는 단계와,
    상기 클러스터 다중 처리 시스템내의 노드 각각에 상기 구성 변화 트랜잭션을 통보하는 단계와,
    정렬되고 동기화된 부분들(ordered, synchronized portions)의 순서로 상기 구성 변화 트랜잭션을 수행 - 상기 정렬되고 동기화된 부분들 각각은 다음 부분이 적용되기 전, 상기 다중 처리 시스템내의 노드 각각의 상기 복수의 소프트웨어 구성요소내의 소정의 소프트웨어 구성요소에 의해 적용됨(applied) - 하는 단계와,
    상기 구성 변화 트랜잭션이 실패하였음을 검출한 것에 응답하여, 정렬되고 동기화된 부분들의 역순으로 이전 구성의 백업 카피(backup copy of the prior configuration)로부터 이전 구성을 복구하는 단계
    를 포함하는 동적인 구성 변화를 지원하는 방법.
  2. 클러스터 다중 처리 시스템에서 동적인 구성 변화들을 지원하는 장치에 있어서,
    상기 클러스터 다중 처리 시스템이 동작하는 동안 최소한 하나의 노드내의 복수의 소프트웨어 구성요소들(software components)이 관련된 구성 변화 트랜잭션(configuration change transaction)을 큐에 입력시키기 위한 트랜잭션 개시 수단과,
    상기 클러스터 다중 처리 시스템내의 노드 각각에 상기 구성 변화 트랜잭션을 통보하기 위한 통보 수단과,
    정렬되고 동기화된 부분들(ordered, synchronized portions)의 순서로 상기 구성 변화 트랜잭션을 수행 - 상기 정렬되고 동기화된 부분들 각각은 다음 부분이 적용되기 전, 상기 다중 처리 시스템내의 노드 각각의 상기 복수의 소프트웨어 구성요소내의 소정의 소프트웨어 구성요소에 의해 적용됨 - 하기 위한 트랜잭션 수행 수단과,
    상기 구성 변화 트랜잭션이 실패하였음을 검출한 것에 응답하여, 정렬되고 동기화된 부분들의 역순으로 이전 구성의 백업 카피(backup copy of the prior configuration)로부터 이전 구성을 복구하기 위한 복구 수단
    을 포함하는 동적인 구성 변화를 지원하는 장치.
  3. 제2항에 있어서, 상기 복구 수단은,
    순차적 부분들의 상기 정렬된 부분들을 역순으로 수행하기 위한 수단을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  4. 제2항에 있어서, 상기 트랜잭션 수행 수단은,
    플래그(flag)를 이용하여 상기 정렬된 부분들의 순서내의 각각의 부분을 동기화하기 위한 동기화 수단을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  5. 제2항에 있어서, 상기 트랜잭션 수행 수단은,
    상기 복수의 소프트웨어 구성 요소들 내의 적어도 하나의 소프트웨어 구성 요소를 새로운 구성으로 재차 초기화하기 위한 수단을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  6. 제2항에 있어서, 상기 트랜잭션 수행 수단은,
    상기 복수의 소프트웨어 구성 요소들 내의 적어도 하나의 소프트웨어 구성 요소에서 상기 이전의 구성으로부터 새로운 구성으로의 전이시키기 위한 수단, 및
    상기 전이 동작을 로깅(logging)하기 위한 수단
    을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  7. 제2항에 있어서,
    상기 이전 구성의 복사본을 생성하기 위한 복사 수단;
    상기 구성 변화 트랜잭션이 수행될 수 있다는 결정에 응답하여, 상기 복수의 소프트웨어 구성요소들내의 소정의 소프트웨어 구성요소에서 상기 구성 변화 트랜잭션의 첫 번째 부분을 초기화하기 위한 수단
    을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  8. 제2항에 있어서, 상기 복구 수단은,
    상기 복수의 소프트웨어 구성 요소들 내의 적어도 하나의 소프트웨어 구성 요소를 새로운 구성으로 재차 초기화하기 위한 수단을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  9. 제2항에 있어서, 상기 복구 수단은,
    상기 복수의 소프트웨어 구성 요소들 내의 적어도 하나의 소프트웨어 구성 요소에서 상기 이전의 구성으로부터 새로운 구성으로의 전이 동작을 롤 백(roll back)하기 위한 수단을 더 포함하는 동적인 구성 변화를 지원하는 장치.
  10. 클러스터 다중 처리 시스템에 있어서,
    적어도 하나의 네트워크에 의해서 접속되는 복수의 노드들 ― 상기 복수의 노드들 내의 각 노드는 상기 클러스터 다중 처리 시스템에 대한 구성 정보를 포함하는 메모리를 포함함 - 과,
    각각의 노드에서 실행되는 클러스터 다중 처리 시스템 소프트웨어를 포함하고,
    상기 클러스터 다중 처리 시스템 소프트웨어는,
    상기 클러스터 다중 처리 시스템이 동작하는 동안 최소한 하나의 노드내의복수의 소프트웨어 구성요소들(software components)이 관련된 구성 변화 트랜잭션(configuration change transaction)을 큐에 입력시키는 단계와,
    정렬되고 동기화된 부분들(ordered, synchronized portions)의 순서로 상기 구성 변화 트랜잭션을 수행 - 상기 정렬되고 동기화된 부분들 각각은 다음 부분이 적용되기 전, 상기 다중 처리 시스템내의 노드 각각의 상기 복수의 소프트웨어 구성요소내의 소정의 소프트웨어 구성요소에 의해 적용됨 - 하는 단계와,
    상기 구성 변화 트랜잭션이 실패하였음을 검출한 것에 응답하여, 정렬되고 동기화된 부분들의 역순으로 이전 구성의 백업 카피(backup copy of the prior configuration)로부터 이전 구성을 복구하는 단계
    를 포함하는 클러스터 다중 처리 시스템.
  11. 제10항에 있어서, 상기 클러스터 다중 처리 시스템 소프트웨어는 정렬된 부분들의 순서로 상기 구성 변화를 수행 - 상기 정렬된 부분들 각각은 상기 복수의 소프트웨어 구성요소내의 소정의 소프트웨어 구성요소에 의해 적용됨 - 하는 클러스터 다중 처리 시스템.
KR1019980021460A 1997-07-07 1998-06-10 동적인구성변화를지원하는방법및그장치 KR100297906B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/888,550 1997-07-07
US08/888,550 1997-07-07
US08/888,550 US6003075A (en) 1997-07-07 1997-07-07 Enqueuing a configuration change in a network cluster and restore a prior configuration in a back up storage in reverse sequence ordered

Publications (2)

Publication Number Publication Date
KR19990013396A KR19990013396A (ko) 1999-02-25
KR100297906B1 true KR100297906B1 (ko) 2001-08-07

Family

ID=25393380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980021460A KR100297906B1 (ko) 1997-07-07 1998-06-10 동적인구성변화를지원하는방법및그장치

Country Status (5)

Country Link
US (1) US6003075A (ko)
KR (1) KR100297906B1 (ko)
BR (1) BR9802326A (ko)
CA (1) CA2241840A1 (ko)
TW (1) TW406240B (ko)

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178529B1 (en) 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US6321258B1 (en) * 1997-12-11 2001-11-20 Hewlett-Packard Company Administration of networked peripherals using particular file system
US6449734B1 (en) 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
US6360331B2 (en) 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6163855A (en) * 1998-04-17 2000-12-19 Microsoft Corporation Method and system for replicated and consistent modifications in a server cluster
US6243825B1 (en) 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
US6542928B1 (en) * 1998-06-02 2003-04-01 Micron Technology, Inc. Automatic configuration of testers and hosts on a computer network
US6363420B1 (en) * 1998-06-04 2002-03-26 Mortel Networks Limited Method and system for heuristically designing and managing a network
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6212559B1 (en) * 1998-10-28 2001-04-03 Trw Inc. Automated configuration of internet-like computer networks
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6408343B1 (en) * 1999-03-29 2002-06-18 Hewlett-Packard Company Apparatus and method for failover detection
US6442713B1 (en) * 1999-03-30 2002-08-27 International Business Machines Corporation Cluster node distress signal
US6871222B1 (en) 1999-05-28 2005-03-22 Oracle International Corporation Quorumless cluster using disk-based messaging
US7020695B1 (en) * 1999-05-28 2006-03-28 Oracle International Corporation Using a cluster-wide shared repository to provide the latest consistent definition of the cluster (avoiding the partition-in time problem)
US7076783B1 (en) 1999-05-28 2006-07-11 Oracle International Corporation Providing figure of merit vote from application executing on a partitioned cluster
JP4201447B2 (ja) * 1999-12-27 2008-12-24 富士通株式会社 分散処理システム
US6862613B1 (en) 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
US6769008B1 (en) 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US6748429B1 (en) * 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6789213B2 (en) 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6757836B1 (en) 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US6871346B1 (en) * 2000-02-11 2005-03-22 Microsoft Corp. Back-end decoupled management model and management system utilizing same
US6725261B1 (en) * 2000-05-31 2004-04-20 International Business Machines Corporation Method, system and program products for automatically configuring clusters of a computing environment
US6876995B1 (en) * 2000-10-04 2005-04-05 Microsoft Corporation Web store events
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
WO2002103952A2 (en) * 2001-06-14 2002-12-27 Cariden Technologies Incorporated Methods and systems to generate and implement a changeover sequence to reconfigure a connection-oriented network
US8234156B2 (en) 2001-06-28 2012-07-31 Jpmorgan Chase Bank, N.A. System and method for characterizing and selecting technology transition options
US7295522B2 (en) * 2001-06-29 2007-11-13 Microsoft Corporation System and method for continuously provisioning a mobile device
US7921188B2 (en) * 2001-08-16 2011-04-05 Newisys, Inc. Computer system partitioning using data transfer routing mechanism
US6990602B1 (en) * 2001-08-23 2006-01-24 Unisys Corporation Method for diagnosing hardware configuration in a clustered system
US7130897B2 (en) * 2001-10-11 2006-10-31 International Business Machines Corporation Dynamic cluster versioning for a group
US7000016B1 (en) 2001-10-19 2006-02-14 Data Return Llc System and method for multi-site clustering in a network
US6938031B1 (en) 2001-10-19 2005-08-30 Data Return Llc System and method for accessing information in a replicated database
US7293105B2 (en) * 2001-12-21 2007-11-06 Cisco Technology, Inc. Methods and apparatus for implementing a high availability fibre channel switch
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US7606920B2 (en) 2002-05-17 2009-10-20 Sony Computer Entertainment America Inc. Method and apparatus for controlling communication ports for an online session of a multi-user application by associating each of the ports with a protocol and designating an active port
US7155525B2 (en) * 2002-05-28 2006-12-26 Newisys, Inc. Transaction management in systems having multiple multi-processor clusters
US7281055B2 (en) 2002-05-28 2007-10-09 Newisys, Inc. Routing mechanisms in systems having multiple multi-processor clusters
US8549114B2 (en) 2002-06-12 2013-10-01 Bladelogic, Inc. Method and system for model-based heterogeneous server configuration management
US6990656B2 (en) * 2002-06-27 2006-01-24 Microsoft Corporation Dynamic metabase store
US20040024992A1 (en) * 2002-08-02 2004-02-05 Shan-Chyun Ku Decoding method for a multi-length-mode instruction set
US7865578B1 (en) 2002-08-19 2011-01-04 Juniper Networks, Inc. Generation of a configuration patch for network devices
US7558835B1 (en) 2002-08-19 2009-07-07 Juniper Networks, Inc. Application of a configuration patch to a network device
US7340650B2 (en) 2002-10-30 2008-03-04 Jp Morgan Chase & Co. Method to measure stored procedure execution statistics
US7945669B2 (en) * 2002-10-30 2011-05-17 Emc Corporation Method and apparatus for provisioning storage resources
US7577755B2 (en) * 2002-11-19 2009-08-18 Newisys, Inc. Methods and apparatus for distributing system management signals
US7149752B2 (en) 2002-12-03 2006-12-12 Jp Morgan Chase Bank Method for simplifying databinding in application programs
US7085759B2 (en) 2002-12-06 2006-08-01 Jpmorgan Chase Bank System and method for communicating data to a process
US8032439B2 (en) 2003-01-07 2011-10-04 Jpmorgan Chase Bank, N.A. System and method for process scheduling
US7401156B2 (en) 2003-02-03 2008-07-15 Jp Morgan Chase Bank Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment
US7484087B2 (en) 2003-02-24 2009-01-27 Jp Morgan Chase Bank Systems, methods, and software for preventing redundant processing of transmissions sent to a remote host computer
US7379998B2 (en) 2003-03-31 2008-05-27 Jp Morgan Chase Bank System and method for multi-platform queue queries
US7120823B2 (en) * 2003-04-17 2006-10-10 International Business Machines Corporation Method and apparatus for recovering logical partition configuration data
US7366722B2 (en) 2003-05-15 2008-04-29 Jp Morgan Chase Bank System and method for specifying application services and distributing them across multiple processors using XML
US8095659B2 (en) 2003-05-16 2012-01-10 Jp Morgan Chase Bank Service interface
US7386626B2 (en) 2003-06-23 2008-06-10 Newisys, Inc. Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US7222262B2 (en) * 2003-08-05 2007-05-22 Newisys, Inc. Methods and devices for injecting commands in systems having multiple multi-processor clusters
US7395347B2 (en) 2003-08-05 2008-07-01 Newisys, Inc, Communication between and within multi-processor clusters of multi-cluster computer systems
US7526479B2 (en) * 2003-12-30 2009-04-28 Sap Ag Configuration manager in enterprise computing system
US7519600B1 (en) 2003-12-30 2009-04-14 Sap Aktiengesellschaft System and method for managing multiple application server clusters using a hierarchical data object and a multi-parameter representation for each configuration property
US8190780B2 (en) 2003-12-30 2012-05-29 Sap Ag Cluster architecture having a star topology with centralized services
US8601099B1 (en) 2003-12-30 2013-12-03 Sap Ag System and method for managing multiple sever node clusters using a hierarchical configuration data structure
US7533163B1 (en) 2003-12-30 2009-05-12 Sap Ag Startup framework and method for enterprise computing systems
US8312045B2 (en) * 2003-12-30 2012-11-13 Sap Ag Configuration data content for a clustered system having multiple instances
US7406691B2 (en) * 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7523097B1 (en) 2004-01-13 2009-04-21 Juniper Networks, Inc. Restoration of archived configurations for a network device
US7562143B2 (en) * 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7464159B2 (en) * 2004-01-14 2008-12-09 International Business Machines Corporation Managing analysis of a degraded service in a grid environment
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
JP2005242981A (ja) * 2004-01-28 2005-09-08 Seiko Epson Corp サービス提供システム、アプリケーション管理システム、サービス提供装置、サービス提供プログラム、アプリケーション管理プログラムおよび記憶媒体、並びにサービス提供方法およびアプリケーション管理方法
US7702767B2 (en) 2004-03-09 2010-04-20 Jp Morgan Chase Bank User connectivity process management system
US9734222B1 (en) 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
AU2005234798B2 (en) 2004-04-26 2009-01-08 Jp Morgan Chase Bank System and method for routing messages
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US20060031431A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Reliable updating for a service oriented architecture
US7266547B2 (en) * 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
US20050289228A1 (en) * 2004-06-25 2005-12-29 Nokia Inc. System and method for managing a change to a cluster configuration
US7665127B1 (en) 2004-06-30 2010-02-16 Jp Morgan Chase Bank System and method for providing access to protected services
US7392471B1 (en) 2004-07-28 2008-06-24 Jp Morgan Chase Bank System and method for comparing extensible markup language (XML) documents
US7712100B2 (en) * 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
US7793308B2 (en) * 2005-01-06 2010-09-07 International Business Machines Corporation Setting operation based resource utilization thresholds for resource use by a process
US7761557B2 (en) * 2005-01-06 2010-07-20 International Business Machines Corporation Facilitating overall grid environment management by monitoring and distributing grid activity
US7502850B2 (en) * 2005-01-06 2009-03-10 International Business Machines Corporation Verifying resource functionality before use by a grid job submitted to a grid environment
US7707288B2 (en) * 2005-01-06 2010-04-27 International Business Machines Corporation Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US7533170B2 (en) * 2005-01-06 2009-05-12 International Business Machines Corporation Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
US7590623B2 (en) * 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US7571120B2 (en) * 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7562035B2 (en) * 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US7546582B2 (en) * 2005-03-30 2009-06-09 International Business Machines Corporation Managing dynamic configuration data for producer components in a computer infrastructure
US8572516B1 (en) 2005-08-24 2013-10-29 Jpmorgan Chase Bank, N.A. System and method for controlling a screen saver
US7499933B1 (en) 2005-11-12 2009-03-03 Jpmorgan Chase Bank, N.A. System and method for managing enterprise application configuration
US8181016B1 (en) 2005-12-01 2012-05-15 Jpmorgan Chase Bank, N.A. Applications access re-certification system
US7913249B1 (en) 2006-03-07 2011-03-22 Jpmorgan Chase Bank, N.A. Software installation checker
US7895565B1 (en) 2006-03-15 2011-02-22 Jp Morgan Chase Bank, N.A. Integrated system and method for validating the functionality and performance of software applications
KR100768126B1 (ko) * 2006-03-16 2007-10-17 주식회사 지오네트 산업 플랜트현장의 이벤트 순차적 검출시스템
US7945907B2 (en) * 2006-06-14 2011-05-17 Sap Ag System and method for configuring application programs
US7610172B2 (en) 2006-06-16 2009-10-27 Jpmorgan Chase Bank, N.A. Method and system for monitoring non-occurring events
US9122715B2 (en) 2006-06-29 2015-09-01 International Business Machines Corporation Detecting changes in end-user transaction performance and availability caused by changes in transaction server configuration
US9697019B1 (en) 2006-10-17 2017-07-04 Manageiq, Inc. Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8949826B2 (en) 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US8209417B2 (en) * 2007-03-08 2012-06-26 Oracle International Corporation Dynamic resource profiles for clusterware-managed resources
US20080263391A1 (en) * 2007-04-20 2008-10-23 International Business Machines Corporation Apparatus, System, and Method For Adapter Card Failover
US7870417B2 (en) * 2007-04-20 2011-01-11 International Business Machines Corporation Apparatus, system, and method for adapter card failover
US8856360B2 (en) * 2007-06-22 2014-10-07 Microsoft Corporation Automatically identifying dynamic internet protocol addresses
US20090113408A1 (en) * 2007-10-30 2009-04-30 Telefonaktiebolaget Lm Ericsson (Publ) System synchronization in cluster
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8910128B2 (en) * 2011-07-19 2014-12-09 Salesforce.Com, Inc. Methods and apparatus for application performance and capacity analysis
US9720655B1 (en) 2013-02-01 2017-08-01 Jpmorgan Chase Bank, N.A. User interface event orchestration
US10002041B1 (en) 2013-02-01 2018-06-19 Jpmorgan Chase Bank, N.A. System and method for maintaining the health of a machine
US9088459B1 (en) 2013-02-22 2015-07-21 Jpmorgan Chase Bank, N.A. Breadth-first resource allocation system and methods
US9619410B1 (en) 2013-10-03 2017-04-11 Jpmorgan Chase Bank, N.A. Systems and methods for packet switching
GB2518894A (en) 2013-10-07 2015-04-08 Ibm A method and a system for operating programs on a computer cluster
US9542259B1 (en) 2013-12-23 2017-01-10 Jpmorgan Chase Bank, N.A. Automated incident resolution system and method
US10248703B2 (en) 2014-01-08 2019-04-02 Oracle International Corporation System and method for cluster-wide replication of embedded component configuration
US9868054B1 (en) 2014-02-10 2018-01-16 Jpmorgan Chase Bank, N.A. Dynamic game deployment
US20200053573A1 (en) * 2017-04-18 2020-02-13 Nokia Solutions And Networks Oy Priority and locking mechanism for network modules
CN112256443B (zh) * 2020-10-14 2024-02-06 杭州当虹科技股份有限公司 一种基于redis的动态集群锁系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
US5612865A (en) * 1995-06-01 1997-03-18 Ncr Corporation Dynamic hashing method for optimal distribution of locks within a clustered system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US5666486A (en) * 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
US5612865A (en) * 1995-06-01 1997-03-18 Ncr Corporation Dynamic hashing method for optimal distribution of locks within a clustered system

Also Published As

Publication number Publication date
TW406240B (en) 2000-09-21
CA2241840A1 (en) 1999-01-07
KR19990013396A (ko) 1999-02-25
US6003075A (en) 1999-12-14
BR9802326A (pt) 1999-10-19

Similar Documents

Publication Publication Date Title
KR100297906B1 (ko) 동적인구성변화를지원하는방법및그장치
KR100326982B1 (ko) 높은 크기 조정 가능성을 갖는 고 가용성 클러스터 시스템 및 그 관리 방법
US5822531A (en) Method and system for dynamically reconfiguring a cluster of computer systems
US8230256B1 (en) Method and apparatus for achieving high availability for an application in a computer cluster
US20080052327A1 (en) Secondary Backup Replication Technique for Clusters
US8738961B2 (en) High-availability computer cluster with failover support based on a resource map
JP4307673B2 (ja) マルチクラスタ化コンピュータ・システムを構成及び管理する方法及び装置
US8769132B2 (en) Flexible failover policies in high availability computing systems
US6363497B1 (en) System for clustering software applications
US7657580B2 (en) System and method providing virtual applications architecture
US8239518B2 (en) Method for detecting and resolving a partition condition in a cluster
US20050125557A1 (en) Transaction transfer during a failover of a cluster controller
US7987394B2 (en) Method and apparatus for expressing high availability cluster demand based on probability of breach
KR20010006847A (ko) 클러스터 노드 디스트레스 신호
CN111327467A (zh) 一种服务器系统及其容灾备份方法和相关设备
JP2008052407A (ja) クラスタシステム
US8015432B1 (en) Method and apparatus for providing computer failover to a virtualized environment
US5961650A (en) Scheme to perform event rollup
CN103793296A (zh) 一种在集群中用于辅助备份复制计算机系统的方法
CN110554933A (zh) 一种云管理平台、云平台服务的跨云高可用方法及系统
Engelmann et al. Concepts for high availability in scientific high-end computing
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
Corsava et al. Self-healing intelligent infrastructure for computational clusters
Bouteiller et al. Fault tolerance management for a hierarchical GridRPC middleware
MXPA98005490A (en) Dynamic changes in configurac

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090504

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee