KR20020007160A - 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법및 이를 포함하는 시스템 및 컴퓨터 프로그램 및애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법및 이를 포함하는 컴퓨터 프로그램 - Google Patents

애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법및 이를 포함하는 시스템 및 컴퓨터 프로그램 및애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법및 이를 포함하는 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20020007160A
KR20020007160A KR1020010039956A KR20010039956A KR20020007160A KR 20020007160 A KR20020007160 A KR 20020007160A KR 1020010039956 A KR1020010039956 A KR 1020010039956A KR 20010039956 A KR20010039956 A KR 20010039956A KR 20020007160 A KR20020007160 A KR 20020007160A
Authority
KR
South Korea
Prior art keywords
availability
application server
application
database
time
Prior art date
Application number
KR1020010039956A
Other languages
English (en)
Other versions
KR100423192B1 (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 KR20020007160A publication Critical patent/KR20020007160A/ko
Application granted granted Critical
Publication of KR100423192B1 publication Critical patent/KR100423192B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다수의 애플리케이션 서버의 가용성(availability)을 결정하고 표시하는 기술에 관한 것이다.
제안된 방법은 각 애플리케이션 서버에 대해 애플리케이션 서버가 사용 가능하는 한 반복되는 가용성 신호의 반복 주기에 대한 시간의 상한을 규정하는 표지 주기(notification period)를 가용성 데이터베이스에 삽입하는 제 1 단계를 포함한다.
제 2 단계에서는, 각 가용성 신호에 대해 그의 대응하는 시간 스탬프(time stamp)가 가용성 시간으로서 가용성 데이터베이스에 삽입된다.
현 시간과 위의 표지 주기와 비교된 최근의 가용성 시간 간의 차는 애플리케이션 서버에 대한 가용성의 측정치를 나타낸다(도 5).

Description

애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법 및 이를 포함하는 시스템 및 컴퓨터 프로그램 및 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법 및 이를 포함하는 컴퓨터 프로그램{A METHOD FOR AVAILABILITY MONITORING VIA A SHARED DATABASE}
본 발명은 다수의 애플리케이션 클라이언트에게 애플리케이션 서비스를 제공하는 다수의 애플리케이션 서버의 가용성(availability)을 표시하고 결정하는 방법 및 수단에 관한 것이다.
기업(enterprises)은 그것의 매일의 운영을 지원하는 시스템의 가용성에 의존한다. 시스템이 최적으로 작동하고 올바른 결과를 생산하면 그 시스템은 "가용성이 있는(avilable)"것이라 칭해진다. 좁은 의미로 말하면, 시스템의 가용성은 시스템의 사용 가능한 시간의 비율이다. MTBF는 시스템의 고장 전의 평균 시간(mean time before failure of such a system), 즉 고장이 발생하기 전에 시스템의 사용 가능한 평균 시간을 나타낸다. 이 MTBF는 시스템의신뢰도(reliability)이다. 평균 복구 시간(mean time to repair)(MTTR)은 시스템의 고장 후에 시스템을 복구하는 데 걸리는 평균 시간을 말한다. 이 MTTR은 고장으로 인한 시스템의 고장시간(downtime)이다.AVAIL=(MTBF)/(MTBF+MTTR)은 시스템의 가용성이다. 이상적인 시스템의 가용성은 1이다. 오늘날의 시스템은 가용성이 약 99.999%의 높은 가용성을 요구할 수 있다. 가용성이 약 99.99%이면 시스템은 "고장에 강한(fault tolerant)"으로 칭해진다. 1993, 캘리포니아 산 마테오 모르간 카우프만, 제이.그레이 및 에이.로이터의 "트랜섹션 프로세싱의 개념 및 기술(Transaction processing: Concepts and Techniques)"은 이런 측면에 대한 보다 더 상세한 설명을 한다. 어떤 시스템 또는 애플리케이션의 가용성은 좁은 의미로는 시스템이 서비스 제공에 있어서 활동적인가와 관련되고, 넓은 의미로는 이러한 서비스가 충분한 응답을 적시에 제공하는 방식으로 제공되느냐에 관련된다.
가용성을 향상시키기 위한 하나의 기본적인 메카니즘은 "용장성(redunancy)"을 기초로 한다. 즉 하드웨어의 가용성은 머신(machines)의 클러스터를 구축함으로써 향상되고, 소프트웨어의 가용성은 다중 어드레스 공간에서 동일한 소프트웨어를 실행함으로써 향상된다.
분산 시스템의 출현과 함께, 가용성을 향상시키기 위해 동일한 소프트웨어를 실행하는 다른 머신 상의 둘 또는 그 이상의 어드레스 공간을 사용하는 기술(활동 복사(active replication)로 칭해짐)이 발명되었다. 이러한 측면에 대한 보다 더 상세한 설명은 1993, 에이시엠 프레스, 에스.뮬렌더의 "분산 시스템"에서 나타나 있다. 공유된 입력큐로부터 요청을 받는 동일한 소프트웨어를 실행하는 동일한 머신 상의 둘 또는 그 이상의 어드레스 공간을 사용함에 있어서, 웜 백업(warm backups)의 기술은 핫 풀(hot pool) 기술에 의해 일반화된다.
씨.알.게르 등의 미국 특허번호 5,828,847 의 "최대 서버 가용성과 로드 균형을 위한 동적 서버 스위칭"은 위에서 규정된 좁은 의미의 가용성과 관련된 동적 서버 스위칭을 개시하고 있다. 동적 서버 스위칭 시스템은 각 클라이언트에 대한 일차 서버 및 바람직한 통신 매쏘드 뿐만 아니라 연속적인 이차 서버들의 계층 및 통신 메쏘드의 쌍을 식별하는 정적 및 사전규정된 리스트(일종의 프로파일)를 각 클라이언트 내에 유지한다. 클라이언트가 지정된 일차 서버 또는 지정된 통신 메쏘드에 의해 제공되는 요청을 갖지 않는 경우에, 시스템은 리스트를 면밀히 조사하여 제 1 가용 대체 서버 및 통신 메쏘드 쌍을 인식하도록 한다. 이러한 시스템은 클라이언트가 무응답 서버로부터 사전규정된 대체 서버로 요청을 다시 보낼수 있도록 한다. 이러한 방식으로, 시스템은 서비스 가용성에 대한 반응적인(reactive) 서버 스위칭을 제공한다.
위에서 기술된 좁의 의미에서의 가용성의 향상에도 불구하고, 이러한 사상은 몇몇의 단점을 갖는다. 게르의 사상은 일차 서버에 전혀 도달될 수 없는 경우에만 반응성 응답을 제공한다. 클라이언트가 무응답 서버로부터의 서비스를 요청하는 것을 먼저 방지하는 전활동(proactive) 요소가 존재하지 않는다. 일차 및 대체 서버의 리스트는 정적으로 사전규정되기 때문에, 어떤 서버도 전혀 발견되지 않거나 몇몇 무응답 대체 서버가 테스트되기 전에는 서버가 발견되지 않는 상황이 존재할 수 있다. 클라이언트와 서버가 끊임없이 네트워크에 들어오거나 나가고 서버로의 액세스 패턴이 매 순간 변화될 수 있는 매우 동적이며 넓게 동작하는 네트워크 상황에서는, 게르의 사상은 부적절하다.
본 발명과 동일한 발명자에 의한 유럽 특허 출원 EP 99109926.8 " 클러스터된 애플리케이션 서버에서의 가용성"은 또한 가용성 문제와 관련된다. 그러나, 상기 문헌은 오직 애플리케이션 클라이언트 측면에만 초점을 두고 있다. 어떤 애플리케이션 요청이 가용한 애플리케이션 서버에 의해 프로세싱되고 있다는 것을 보장하기 위해서, 다중 송출 단계(multi-casting step)의 애플리케이션 요청을, 최소한 하나의 가용 애플리케이션 서버가 이러한 요청을 받을 것이라는 예상 하에서, 다수의 애플리케이션 서버로 병렬로 보내는 것이 제안된다. 문헌에서는 어떤 애플리케이션 서버의 가용성을 표시하는 방법을 전혀 언급하지 않고 있다.
동일한 발명자에 의한 다른 유럽 특허 출원 EP 99122914.7 " 클러스터된 애플리케이션 서버에서 가용성 및 스케일러빌러티(scalability)의 향상"이 공개되어 있다. 이 출원에서는, 애플리케이션 서버의 가용성을 결정하는 기술이 이미 존재한다고 가정하고 있다. 이러한 기술은 애플리케이션 클라이언트가, 애플리케이션 요청을 프로세스하기 위해 어떤 애플리케이션 서버를 선택함으로써, 로드 균형을 수행하는 방법의 기술에 초점을 두고 있다.
이러한 모든 발전에도 불구하고, 애플리케이션 가용성을 향상시키고, 임의의 애플리케이션에 액세스하고자 할 때 세계적인 네트워크의 편재로, 예를 들어 7일 24 시간 전자 상거래를 가능하게 하도록 기업을 지원하는 데 있어서 추가적인 개선이 요구되고 있다.
본 발명의 목적은 애플리케이션 요청을 수용하는 애플리케이션 서버의 가용성을 표시하는 향상된 방법 및 수단을 제공하고, 애플리케이션 클라이언트가 애플리케이션 서버의 가용성을 결정하는 향상된 방법 및 수단을 제공하는 것이다.
본 발명의 다른 목적은 네트워트 내의 개별 애플리케이션 서버의 가용성의 동적 변화에 아주 잘 응답하는 기술을 제공함으로써 가용성을 증가시키는 것이다.
도 1은 애플리케이션 서버, 핫 풀(hot pool), 애플리케이션 클러스터 및 애플리케이션 클라이언트의 개념을 반영한 도면.
도 2는 각 애플리케이션 서버 및 서버의 가용성 상태를 표시하는 통신 매체로서의 대응하는 워치독(watchdog)에 의해 유지되는 본 발명에 따른 제안된 가용성 데이터베이스를 반영하는 도면.
도 3은 개별 표지 주기를 포함하는 본 발명에 따른 시간 테이블의 레코드 형식을 도시한 도면.
도 4는 개별 가용성 신호를 저장하는 가용성 데이터베이스 내의 레코드 형식을 도시한 도면.
도 5는 작업부하 상태에 따라 표지 주기(notification period)를 적응시키는 동적 측면을 포함하는 본 발명에 따른 가용성을 표시하는 방법을 도시하는 흐름도.
도 6은 시간 테이블 및 가용성 신호 테이블을 오직 단일 테이블로 결합하는구현의 예를 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
100 : 공유된 원거리 데이터베이스 101, 102, 103 : 서버 머신
110-118 : 애플리케이션 서버 및 핫 풀 120 : 애플리케이션 클러스터
125 : 입력큐 130 : 애플리케이션
131 : 애플리케이션 클라이언트
본 발명의 목적은 독립 청구항에 의해 해결된다. 본 발명의 다른 유익한 구성 및 실시예는 각 종속항에서 제안된다.
제안된 방법은 각 애플리케이션 서버에 있어서, 애플리케이션 서버가 사용 가능한 한 반복되는 가용성 신호의 반복 주기에 대한 시간의 상한을 규정하는 표지 주기를 가용성 데이터베이스로 삽입하는 제 1 단계를 포함한다.
제 2 단계에서 각 가용성 신호에 있어서, 대응하는 시간 스템프가 가용성 데이타베이스에 가용 시간으로서 삽입된다.
현 시간 및 상기 표지 주기와 비교된 최근 가용 시간의 차는 애플리케이션 서버에 대한 가용성의 측정치를 나타낸다.
제안된 기술은 다수의 애플리케이션 클라이언트에 서비스를 제공하는 다수의 애플리케이션 서버의 가용성 및 스케일러빌러티를 증가시킨다. 본 발명은 애플리케이션 클라이언트가 무응답성 서버로부터의 서비스를 요청하는 잘못된 요청 경로지정(erroneous request routings)을 발생시키는 것을 방지하는 전활동 기술(a proactive technology)을 제공한다. 진행형 프로세스(ongoing processing)를 가진 동적 기술은 클라이언트 및 서버가 끊임없이 네트워크를 들어오거나 나가는 동적 네트워크 상황에서 아주 잘 응답한다. 그러므로, 본 발명은 서버 머신의 핫 플러그 인을 애플리케이션 클러스터에 수용시킬 수 있고, 더 나아가 환경의 스케일러빌러티를 증가시킨다. 애플리케이션 클라이언트를 애플리케이션 서버로 연결하는 복잡한 관리 노력은 완전히 사라지게 된다.
본 발명은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 결합에서 실현될 수 있다. 어떠한 종류의 컴퓨터 시스템 또는 본 명세서에서 기술된 방법을 이행하는 데 적합한 다른 장치도 적합하다. 하드웨어 및 소프트웨어의 통상적 결합은, 로드되어 실행될 때 컴퓨터 시스템이 본 명세서에서 기술된 방법을 이행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템이 될 수 있다. 또한 본 발명은, 본 명세서에서 기술된 방법을 구현하도록 하게 하는 모든 특징을 포함하며 컴퓨터 시스템에 로드될 때 이러한 방법을 이행할 수 있는 컴퓨터 프로그램 제품으로 구현될 수도 있다.
본원에서 컴퓨터 프로그램 수단 또는 컴퓨터 프로그램은, 정보 처리 능력을 갖는 시스템이 특별한 기능을 즉시 수행할 수 있도록 하는 소정의 언어, 코드 혹은 표시의 인스트럭션의 집합을 의미하거나, 소정의 언어, 코드 혹은 표시의 인스트럭션의 집합을 다른 언어, 코드 혹은 표시의 인스트럭션으로 변환하거나 다른 형태로 재생한 인스트럭션의 집합을 의미한다.
본 명세서가 애플리케이션에 대해 언급할 경우에, 그것은 어떤 특정한 종류 또는 구현에 한정되지 않는 컴퓨터 프로그램일 수도 있다. 애플리케이션 클라이언트 및 애플리케이션 서버와 같은 용어는 단지 몇 종류의 "예시"에 대한 논리적인 관점에서 이해되어야 한다. 이러한 용어는 다른 어드레스 공간 또는 심지어 다른 컴퓨터 시스템을 꼭 구별할 필요는 없다.
본 발명은 애플리케이션 클라이언트 및 애플리케이션 서버 간의 소정의 통신 경로을 예상하고 있다. 이는 본 발명이 어떤 통신 패러다임에 한정되는 것을 의미하지 않는다.
또한 본 명세서가 용어 "데이터베이스"에 대해 언급할 경우에, 이 용어는 관계형 및 계층형 데이터베이스와 같은 실제 데이터베이스 뿐만 아니라 단순한 파일 및 유사의 것들로 광범위한 의미로 이해되어야 한다. 달리 말하면, 데이터베이스라는 용어는 소정의 종류의 지속적인 저장 장치를 지칭한다.
사업은 매일의 동작을 지원하는 시스템의 가용성에 의존한다. 시스템이 최적으로 동작하고 올바른 결과를 생산할 때 그 시스템은 "가용성이 있는"이라 칭해진다. 좁은 의미에서, 시스템의 가용성은 시스템이 사용 가능한 상태의 시간의 비율이다. 좀 더 넓은 의미로, 시스템의 가용성은 애플리케이션 서비스가 충분한 응답성을 제공하는 적절한 방식으로 제공되는지의 여부와 관련된다.
가장 바람직한 실시예에서, 본 발명은 도 1에서 도시된 다음 개념에 기초한 "애플리케이션 클러스터"라 불리는 환경과 관련된다.
애플리케이션 서버(110,111,112)는 가령 몇몇 공유된 원거리데이터베이스(100)로의 액세스를 포함하는 관련 서비스의 집합을 구현하는 실행 가능한 것(an executable)이다. 핫 풀(110,111,112)은 각각이 동일한 애플리케이션 서버를 실행하는 어드레스 공간의 집합이며, 이러한 애플리케이션 서버의 각각은 이 핫 풀 멤버들 간에 공유된 입력큐(125)로부터의 요청을 접수한다. 서버 머신(101,102,103)은 애플리케이션 서버의 핫 풀을 호스팅하는 어떤 물리적 머신을 의미한다. 애플리케이션 클러스터(120)는 독립적으로 고장이 발생하는 서버의 집합이며 각 서버는 동종의 애플리케이션 서버의 핫 풀을 호스팅한다.
애플리케이션(130)은 애플리케이션 클라이언트를 경유하여 애플리케이션 서버로부터의 서비스를 요청한다. 애플리케이션 클라이언트(131)는 동일한 머신 상에서 애플리케이션으로서 동작하며 애플리케이션을 대신하여 서버와 통신하는 실행 가능한 것(an executable)이다. 애플리케이션 클라이언트와 서버 간의 통신이 비동기 신뢰성 메시지 교환에 기초한다면, 애플리케이션 서버는 메시지 기반형(message based)이라 불린다. 그렇다면, 애플리케이션 서버와 클라이언트 간의 메시지 기반형 통신을 예상할 수 있다. 물론 본 발명은 메시지 기반형 통신 패러다임에 한정되는 것이 아니라 다른 패러다임도 사용될 수 있다. 결과적으로, 애플리케이션 클라이언트는 대응하는 메시지를 특정 머신 상의 관련 애플리케이션 서버의 핫 풀의 입력큐로 전송함으로써 어떤 서비스의 수행을 요청한다.
클라이언트는 서버 고장으로부터 자신을 보호할 수 있고 그러므로 유럽 특허 출원 EP 99109926.8를 참조하여 이미 기술한 바와 같이 요청을 간단하게 다중 송출함으로써 전반적인 환경의 가용성을 증가시킨다. 그러나 이것은 애플리케이션 서버의 특별한 구현을 요구하거나 또는 그것은 멱등 요청(idempotent requests)으로 제한된다. 게다가, 그것은 여러 요인에 의해 전송된 메시지의 수를 증가시킨다.
메시지의 수가 문제가 된다면, 요청을 핫 풀로 전송하는 각 클라이언트는 이 핫 풀이 고장났는가를 검사해야 한다. 이 검사는 쉬운 데, 대응하는 PUT 명령이 메시지를 보내는 미들웨어에 의해서 클라이언트에게 부정 응답하기 때문이다. 클라이언트가 동일한 애플리케이션 서버의 다른 핫 풀을 인식할 때, 즉 고장난 핫 풀이 애플리케이션 클러스터의 서버 머신의 멤버이면, 상기 클라이언트는 그의 요청을 클러스터의 다른 서버 상의 또 다른 핫 풀에 전송할 수 있다. 그렇게 함으로써, 클라이언트는 핫 풀 자체들 간의 관리권 획득(takeover)을 실현할 수 있다.
그러므로, 문제는 여전히 요청을 받아들일 수 있는 서버를 검사하는 것이다. 이를 가용성 모니터링이라 부른다. 이 목적을 위해서, 고장난 서버를 검사하기 위해 단일 머신 상의 핫 풀을 모니터링하는데 이른바 워치독(watchdog)이 사용될 수 있다. 또한, 워치독은 그것이 모니터링하는 핫 풀의 고장난 애플리케이션 서버를 자동적으로 재시작할 수 있을 것이다. 위에서 기술된 유럽 특허 출원 EP 99122914.7에는, 애플리케이션 클러스터 내의 고장난 서버 머신을 검사하기 위한 워치독 모니터링의 개념이 개시되어 있다. 이 개념은 사용 가능한 애플리케이션의 서버의 집합를 모니터링하고 결정하기 위해 워치독 간의 특정 통신 프로토콜에 기초한다.
통상적으로, 메시지는 네트워크를 경유하여 애플리케이션의 요소들의 전반적인 상태를 유지하기 위해 분산된 애플리케이션의 부분들 간에 전송된다. 워치독의 집합이 그러한 분산된 애플리케이션으로서 모니터링되는 것━이것은 분산된 성분의 활동성에 대한 질문에 응답하기 위함━으로 간주됨에 있어서, 그러한 네트워크 기반형 메시지 통과 구조(network based messages passing scheme)이 사용될 수 있다. 그러나 네트워크 기반형 메시지 통과 프로토콜은 가령 다음과 같은 몇 가지 문제를 가지고 있다.
1. 메시지가 전송되야 한다는 단순한 사실이 네트워크 상에 어떤 상황에서는 감당할 수 없는 추가적인 부하를 인가할 것이다.
2. 보다 더 개발의 필요성을 발생시키는 고장의 유일한 지점━특정 워치독이 다른 워치독을 참가자로서 간주하는 "중앙화된(centralized)" 모니터링에서와 같은 지점━을 피하기 위해서 보다 더 복잡한 알고리즘이 구현되어야 한다. 게다가 이러한 구현은 "검사자를 검사하는(check the checker)" 문제를 야기시킨다. 즉 특별한 프로그래밍 기술이, 이러한 검사 사실 자체들이 어떤 고장을 생성하지 않는 다는 것을 보장하기 위해, 개발되어야 한다.
3. 가령 중앙 워치독은 중앙화된 모니터링에서도 모든 다른 워치독에 도달할 수 있어야 하거나 또는 각 워치독은 분산된 모니터링 시스템에서 모든 다른 워치독에 도달할 수 있어야 한다는 도달성 특성(reachability properties)이 보장되어야 하는 데, 이것은 환경을 적당하게 설정함에 있어서 관리 작업을 성취하기가 어렵고, 발생할 수 있고 처리되어야 하는 네트워크 분할━접속 손실로 인해 네트워크는 분리된 서브 네트(disjunct sub-nets)로 분리됨━의 경우에 있어서는 처리하가 힘들다.
결과적으로, 본 발명의 목적은 이러한 광범위 네트워크 기반형 메시지 통과 프로토콜을 요구하는 메카니즘을 극복하는 것이다. 그러나, 동시에 이 문제에 대한 바람직한 해결책은 클러스터를 들어가거나(핫 플러그 인) 떠나는 애플리케이션 서버를 자동적으로 결정하는 전활동 기술을 제공한다.
본 발명의 중심 사상은 도 2에서 반영된다. 본 발명의 중심 소견은 중앙 및 공유된 데이터베이스의 도입은 위에서 언급된 네트워크 메시지 트래픽 문제를 상당히 감소시킬 것이라는 것이다. 애플리케이션 서버의 활동성에 대한 상태를 교환하기 위한 통신 매체로서 모니터링되는 모든 워치독에 의해 공유된 데이터베이스를 사용하는 것이 제안된다. 이 새로운 데이터베이스는 "활동 데이터베이스(life database)" 또는 "가용성 데이터베이스(availability database)"(200)라 불린다. 본 발명의 바람직한 실시예에서, 클러스터(202)의 대응하는 애플리케이션 서버의 각 워치독(201)은 주기적으로 "나는 활동한다(I am alive)"(203) 레코드를 활동 데이터베이스에 기록한다. 이 레코드는 애플리케이션 서비스 요청을 접수할 준비가 되어 있음을 표시하는 대응하는 애플리케이션 서버의 가용성 신호로서 이해되어야 한다. 워치독 개념의 도입은 이미 추가적인 향상이다. 물론 각 애플리케이션 서버 그 자체로 가용성 신호를 가용성 데이터베이스에 삽입하는 것을 책임질 수 있을 것이다.
일 실시예로서, 애플리케이션 클러스터의 활동 데이터베이스를 호스팅하는 관계형 데이터베이스 시스템이 예상된다. 이것은 본 발명의 중심 사상이 아니고 즉 어떤 다른 지속적인 저장 가령 파일 시스템 또는 사업 자바 빈즈 엔티티 컨테이너(an enterprise Java beans entity container)가 이에 대해 사용될 수 있다. 특히, 애플리케이션 클러스터가 그의 시스템 관리를 위해서 사용할 수 있는 토폴러지 데이터베이스는 활동 데이터베이스를 나타내는 적당한 테이블을 경유하여 확장될 수 있다.
애플리케이션 클러스터의 활동 데이터베이스에 액세스할 수 있는 (가령 애플리케이션 서비스를 요청하는 데 관심이 있는 애플리케이션 클라이언트와 같은) 어떤 소프트웨어는 사용 가능한 서버 및 고장나서 현재 사용 불가능한 서버를 판정할 수 있다.
어떤 애플리케이션 서버 또는 그의 워치독에 대해 대응하는 가용성 신호는 오직 한 번 가용성 데이터베이스로 들어갈 수 있다는 것으로 충분하지 않다. 이 사건 후에 애플리케이션 서버가 고장나면, 가용성 데이터베이스는 이런 상황으로 함께 동기(SYNC)를 잃어 버릴 것이다. 이러한 문제를 처리하기 위해서, 또한 본 발명은 활동 데이터베이스가 각 워치독이 "나는 활동한다(I am alive)" 레코드를 활동 데이터베이스에 기록할 것을 동의했던 주기에 대한 정보를 포함하는 것을 제안한다. 그러므로, 추가적인 데이터 구성 요소가, 대응하는 워치독 또는 애플리케이션 서버가 사용 가능하는 한 가용성 신호가 반복되는 시간의 상한을 규정하는 표지 주기를 포함하는 가용성 데이터베이스에 삽입되어야 한다.
일 실시예에로서, 도 3은 개별 표지 주기를 저장하는 주기 테이블(period table)를 도시한다. 주기 테이블은 가용성 신호를 반복하는 워치독(애플리케이션 클러스터를 나타냄)의 식별 또는 애플리케이션 서버의 식별(300) 뿐만 아니라 표지주기(301)도 포함한다. 가용성 모니터링에 참가하는 각 워치독 및 애플리케이션 서버는 그러한 레코드를 가용성 데이터베이스에 입력시킨다. 본 기술의 당업자에게는 워치독이 "나는 활동한다(I am alive)" 메시지를 그 테이블로부터 기록하는 주기를 SQL을 경유하여 유도하는 방법은 자명하다. 또한, 애플리케이션 클러스터에 포함된 모든 워치독은 SQL을 경유하여 그 테이블로부터 유도할 수 있다.
일 실시예로서, 도 4는 워치독의 "나는 활동한다(I am alive)" 레코드를 나타내는 데 사용되는 활동 신호(Alive Signal) 테이블을 도시한다. 즉, 워치독으로부터 접수된 각 가용성 신호에 대해, 그러한 레코드는 가용성 데이터베이스에 입력될 수 있다. 주기 테이블과 마찬가지로, 활동 신호 테이블도 가용성 신호를 보내는 대응하는 워치독 및 애플리케이션 서버의 식별(400)을 포함한다. 또한, 활동 타임스탬프 필드(Alive timestamp field)(401)는 타임 스탬프를 저장하고 그러므로 가장 최근의 가용성 신호의 가용성 시간을 저장한다.
이들 두 테이블, 즉 주기 테이블 및 활동 신호 테이블에 포함된 정보는 애플리케이션 서버의 가용성의 간략한 그림을 반영한다.
일반적으로 말하면, 각 애플리케이션 서버에 대해 가용성 측정치는 가령 가용성 데이타베이스를 조사할 때의 시간과 같은 현재 시간과 그 특정 애플리케이션 서버의 표지 주기와 비교하여 가장 최근의 가용성 시간의 차에 의해 규정된다. 보다 더 일반적으로 말하면, 현 가용성 시간과 이전의 가용성 시간의 제 2의 차는 가용성 측정치에 더해진다. 다음의 특정 가용성 측정치는 성공적이라고 증명되어왔다.
1. 현 시간과 가장 최근의 가용성 시간의 차가 표지 주기를 초과하면, 대응하는 애플리케이션 서버는 "가용성이 있는"것으로 간주된다. 이것은 애플리케이션 서버가 최소한 표지 주기 내에 가용성 신호를 반복하기로 "약속했기" 때문이다. 위의 차가 표지 주기를 초과하지 않는다면, 애플리케이션 서버는 "가용성이 없는"것으로 간주된다.
2. 활동 신호 테이블로부터, 특정 워치독에 의해 기록된 마지막 두 "나는 활동한다(I am alive)" 레코드의 삽입 간에 경과된 시간이 결정될 수 있다. 즉 가장 최근의 가용성 시간과 이전의 가용성 시간 간의 차가 결정된다. 이 기간이 워치독이 "나는 활동한다(I am alive)" 메시지를 삽입하기로 동의했던 표지 주기를 초과하면, 이 워치독은 고장날 만하다. 이러한 가용성 측정치는 마지막 두 가용성 신호가 기대된 표지 주기 내에 있지 않게 되면, 이것은 애플리케이션 서버가 현재 문제를 겪고 있으며 그러므로 그것은 피해져야 한다는 것을 나타낸다는 예상에 기초하고 있다.
3. 일반적으로, 그러한 타임아웃 기반 고장 결정 메카니즘(timeout based failure determination mechanism)은 워치독이 단순히 너무 분주하여 가용성 신호를 가용성 데이터베이스에 기록할 수 없지만 여전히 사용 가능한 상황을 처리해야 한다. 이러한 문제를 처리하기 위한 가용성 측정치는, 만약 현 시간과 이전 가용성 시간의 차가 N의 인자 만큼 표지 주기를 초과한다면, 애플리케이션 서버를 사용 불가능하다고 간주함으로써 해결된다.
그러나, 가용성 데이터베이스 또는 활동 데이터베이스에 기초하여, 어느 워치독 및 애플리케이션 서버가 고장났고 어느 워치독 및 애플리케이션 서버가 여전히 사용 가능한 지를 결정할 수 있다. 특히, 활동 데이터베이스에 액세스하는 모든 프로그램은 이러한 검사를 할 수 있다. 즉 각 워치독 및 이러한 환경을 위해 구축될 수 있는 개별 관리 구성 요소 및 애플리케이션 서비스 요청을 접수하는 사용 가능한 애플리케이션 서버를 찾는 각 애플리케이션 클라이언트도 이러한 검사를 할 수 있다. 각 애플리케이션 클라이언트는 최소한 하나의 사용 가능한 애플리케이션 서버를 결정하여 애플리케이션 서비스 요청을 보내기 위해 위의 가용성 측정치를 이용하는 가용성 데이터베이스를 조사할 수 있다.
본 발명의 다른 유익한 실시예는 워치독 또는 애플리케이션 서버가 그들의 표지 주기를 동적으로 조절할 경우에 성취될 수 있다. 이런 동적 조절이 애플리케이션 서버에 의해 처리되는 작업부하의 양에 의존한다면, 가용성 측정치는 또한 작업부하 표시를 나타냄으로써 새로운 특성이 될 수 있다. 표지 주기를 증가시킴으로써 작업부하의 양이 증가한다면, 그리고 표지 주기를 감소시킴으로써 작업 로드의 양이 감소한다면, 표지 주기는 동시에 애플리케이션 서버의 응답성을 나타내는 작업부하 표시자를 나타낸다. 이러한 표시는 병렬로 된 애플리케이션 서버의 집합에 대한 가용성 측정치를 결정함으로써 애플리케이션 클라이언트에 의해 이용된다. 이러한 상황에서, 가용성 측정치는 사용 가능한 애플리케이션 서버의 서브세트(subset)를 결정━오직 "가용성이 있는" 아니면 "가용성이 없는"의 이원적 결정을 나타냄━할 수 있을 뿐만 아니라 그것은 애플리케이션 클라이언트에 의해 실행되는 작업부하 균형 결정에 대한 기준(basis)도 형성할 수 있다. 가용성 측정치의 수치는 요인으로서 현 표지 주기에 의해 다소 영향을 받으며 또한 그것은 작업부하 표시이기도하다. 애플리케이션 클라이언트는 가장 낮은 작업부하를 가진 사용 가능한 애플리케이션 서버 즉 다른 애플리케이션 요청에 대해 최대 가용성 측정치를 가진 애플리케이션 서버에게 애플리케이션 서비스 요청을 발행할 것이다.
도 5는 작업부하 상황에 따라 표지 주기를 변경하는 동적 측면을 또한 포함하는 가용성을 표시하는 방법을 도시하는 흐름도이다.
애플리케이션 서버 또는 워치독에 의한 가용성 모니터링의 프로세스는 단계(501) 내에서 시작된다. 다음 단계(502) 내에서, 현 작업부하 상황은 표지 주기를 현 작업부하 상황에 비해 너무 높거나 너무 낮지도 않게 계산하도록 결정된다. 이 계산된 표지 주기은 물론 단계(503) 내에서 가용성 데이터베이스에 입력되어야 한다. 표지 주기에 의해 정해진 시간 프레임 내에서, 현 가용성 신호가 가용성 데이터베이스로 입력되어야 한다. 이것은 단계(504)에서 반영된다. 표지 주기는 가용성 신호의 반복에 대한 시간의 상한을 규정한다. 작업부하 상황에 따라서, 애플리케이션 서버 및 워치독은 보다 더 자주 가용성 신호를 발행하려고 할 것이다. 단계(504) 후에(또는 이 단계 전 다른 실시예로서), 현 작업부하 상황은 단계(505) 내에서 분석된다. 현 작업부하 상황이 표지 주기를 재조절할 필요가 있는 방식으로 변한다면, 표지 주기를 결정하는 프로세스 단계는 제어 경로(506)를 선택하여 다시 시작된다. 현 작업부하 상황이 크게 변하지 않는다면, 가용성 신호의 발행의 반복은 경로(507)를 선택하여 반복된다.
도 3에서 도시된 주기 테이블 및 도 4에서 도시된 가용성 테이블을 가진 가용성 데이터베이스의 구조 및 설계는 오직 개념적인 관점으로 이해되어어 한다. 물론 가용성 데이터베이스의 구조는 다음과 같은 다른 향상된 점들의 주제가 될 수 있다.
1. 새로운 표지 주기 또는 새로운 가용성 신호의 각 삽입은 데이터베이스로의 새로운 레코드를 도입할 것이다. 가용성 데이터베이스가 지속적으로 증가하는 것을 방지하기 위해서, 더 이상 쓸모없고 오래된 데이터베이스 레코드를 제거하는 프로세스가 제안된다. 가령 어떤 워치독 및 애플리케이션 서버의 각 레코드 타입에 대해, 오직 가장 최근의 레코드 및 이전 레코드만 데이터베이스 내에 유지된다. 그러한 프로세스의 구현을 위해, "저장된 절차(stored procedure)"의 기술이 유리하게 사용될 수 있다. 그러한 적응된 저장된 절차는 더 이상 필요하지 않는 레코드를 삭제하기 위해 백그라운드 내의 데이터베이스에서 실행될 수 있다.
2. 물론, 표지 주기 및 가용성 신호를 다른 데이터베이스 레코드에 저장하는 것은 본 발명에서는 필수적인 것이 아니다. 한 데이터베이스 레코드 내에 이 두 데이터 요소를 포함하는 방법의 예가 도 6에서 도시된다. 도 6에서 도시된 바처럼, 워치독 식별 및 애플리케이션 서버 식별(600) 및 표지 주기(601)외에, 다수의 가용성 신호는 오직 두 엔트리로 줄어든다. 현 가용성 신호(602)가 새로운 가용성 신호에 의해 갱신될 때마다, 그의 내용은 이전 가용성 신호(603)를 저장하는 필드로 전송되고 그 다음에 새로운 가용성 신호가 현 가용성 신호(602)의 필드에 삽입된다. 이 기술을 이용하면, 각 워치독 및 애플리케이션 서버에 대해 단지 단일 데이터베이스 레코드가 유지되어야 하므로, 가용성 데이터베이스가 적당한 크기로제한된다.
제안된 기술은 다수의 애플리케이션 클라이언트에게 서비스를 제공하는 다수의 애플리케이션 서버의 가용성 및 스케일러빌러티를 증가시킨다. 본 발명은 클라인트가 무응답 서버로부터의 서비스를 요청하는 잘못된 요청 경로 지정을 발생하는 것을 방지하는 전활동 기술을 제공한다. 클라이언트 및 서버가 끊임없이 네트워크를 들어 가거나 나가는 동적 네트워크 상황에 매우 잘 응답하는 진행형 프로세스가 제안된다. 그러므로, 본 발명은 서버 머신의 핫 플러그 인을 애플리케이션 클러스터에 적응시킬 수 있고, 더 나아가 환경의 스케일러빌러티를 증가시킨다. 애플리케이션 클라이언트를 애플리케이션 서버로 연결하기 위해 복잡하거나 또는 그 순전한 복잡성 때문에 불가능한 관리 노력은 완전히 사라지게 된다.
본 발명은 어떤 네트워크 기반 메시지 통과를 예상하지 않기 때문에, 앞에서 언급된 그러한 메카니즘의 모든 단점은 피해질 수 있다. 오직 시스템 필요조건은 공유된 데이터베이스이다. 오늘날의 데이터베이스 관리 시스템은 활동 데이터베이스를 고장의 유일한 지점으로 간주하지 말아야 할 정도로 매우 강건하다. 더 나아가, 대부분 애플리케이션 서버는 데이터베이스 시스템의 최상부 상에 구축된다. 그러므로, 공유된 데이터베이스는 많은 상황에서 자동적으로 성취된다는 것을 예상할 수 있다. 각 서버 머신이 핫 풀을 호스팅함으로써 공유된 데이터베이스에 액세스하기 때문에, 도달성은 전혀 문제가 되지 않는다. 마지막으로, 워치독모니터링 기술은 활성 데이터베이스를 관계형 DBMS로 삽입할 때 SQL를 경유하여 쉽게 실현될 수 있다.

Claims (17)

  1. 하나 또는 다수의 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법에 있어서,
    상기 애플리케이션 서버가 사용 가능한 한 반복되는 가용성 신호의 반복 주기에 대한 시간의 상한을 규정하는 표지 주기(a notcifcation period)를 포함하는 제 1 데이터 요소(301,601)를 가용성 데이터베이스(200)에 삽입하는 제 1 단계(503)와,
    각 가용성 신호에 대해 가용성 시간으로서 그의 대응하는 시간 스탬프(its corresponding time stamp)를 포함하는 제 2 데이터 요소(401,602)를 상기 가용성 데이터베이스에 삽입하는 제 2 단계(504)를 포함하되,
    현 시간과 상기 표지 주기에 비해 최근의 가용성 시간의 차는 상기 애플리케이션 서버의 가용성의 측정치를 나타내는
    애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법.
  2. 제 1 항에 있어서,
    상기 애플리케이션 서버의 작업부하의 양에 따라 상기 표지 주기를 갱신━상기 작업부하의 양이 증가하면, 상기 표지 주기를 증가시키거나, 아니면 상기 작업부하의 양이 감소하면, 상기 표지 주기를 감소시킴━하는 제 3 단계(505)를 포함하는 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법.
  3. 제 1 항에 있어서,
    상기 제 1 및 제 2 단계 내에서 또한 애플리케이션 서버 식별(an application server idenfication)(300,400,600)이 상기 가용성 데이터베이스에 삽입되고, 상기 제 1 및 상기 제 2 데이터 요소와 관련되는 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법.
  4. 제 3 항에 있어서,
    상기 차가 상기 표지 주기를 초과하면, 가용성의 상기 측정치가 상기 애플리케이션 서버의 불가용성을 표시하는 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법.
  5. 제 1 항에 있어서,
    상기 가용성 데이터베이스는 하나 또는 다수의 애플리케이션 서버의 핫 풀(a hot pool)을 각기 포함하는 다수의 애플리케이션 서버에 의해 공유되고,
    상기 핫 풀에 대해 워치독(a watchdog)이 상기 핫 풀의 가용성 상태를 모니터링하고,
    상기 방법은 상기 워치독에 의해 실행되며,
    상기 가용성 신호가 상기 핫 풀의 상기 애플리케이션 서버 중 적어도 하나가 사용 가능하는 한 반복되고,
    상기 제 1 및 제 2 단계 내에서 또한 핫 풀 식별이 상기 가용성 데이터베이스에 삽입되고 상기 제 1 및 상기 제 2 데이터 요소와 관련되는 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법.
  6. 제 2 항 또는 제 5 항에 있어서,
    제 2의 차로서의(as a second difference) 상기 최근의 가용성 시간과 이전 가용성 시간(603)의 차가 가용성의 상기 측정치에 포함되는 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법.
  7. 애플리케이션 서비스 요청을 수신하는 하나 또는 다수의 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법에 있어서,
    상기 애플리케이션 서버가 사용 가능한 한 반복되는 가용성 신호의 반복 주기에 대한 시간의 상한을 규정하는 표지 주기를 포함하는 제 1 데이터 요소(301,601)와,
    최근 가용성 신호에 대해 최근 가용성 시간으로서 그의 시간 스탬프를 포함하는 제 2 데이터 요소에 대해,
    가용성 데이터베이스(200)를 조사하는 제 1 단계와,
    현 시간과 상기 최근의 가용성 시간의 차를 상기 표지 주기와 비교하여 상기 애플리케이션 서버의 가용성의 측정치를 결정하는 제 2 단계와,
    상기 가용성 측정치가 상기 애플리케이션 서버의 가용함을 표시한다면, 오직 상기 애플리케이션 서버에만 애플리케이션 서비스 요청을 발행하는 제 3 단계를 포함하는 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법.
  8. 제 7 항에 있어서,
    상기 차가 상기 표지 주기를 초과하면, 가용성의 상기 측정치가 상기 애플리케이션 서버의 불가용성을 표시하는 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법.
  9. 제 7 항에 있어서,
    상기 제 1 단계에서, 또한 이전의 가용성 신호에 대한 이전의 가용성 시간을 포함하는 제 3 데이터 요소(603)에 대해서도 조사하고,
    상기 제 2 단계에서, 또한 제 2의 차로서의 상기 최근의 가용성 시간과 상기이전의 가용성 시간의 차가 가용성의 상기 측정치에 포함되는 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법.
  10. 제 7 항에 있어서,
    상기 차가 인자 N만큼 상기 표지 주기를 초과하면, 가용성의 상기 측정치가 상기 애플리케이션 서버의 불가용성을 표시하는 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법.
  11. 제 9 항에 있어서,
    다수의 애플리케이션 서버에 대해 실행되고,
    상기 제 3 단계에서,
    가용성의 상기 측정치가 가용성을 표시하는 애플리케이션 서버를 포함하는 애플리케이션 서버의 서브세트가 결정되고,
    상기 서브 세트 내의 각 애플리케이션 서버에 대해, 가용성의 그의 대응하는 측정치가 작업부하 상황에 따라 해석되고,
    상기 애플리케이션 서비스 요청이 가장 낮은 작업부하를 가진 애플리케이션 서버에 발행되는 애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법.
  12. 하나 또는 다수의 애플리케이션 서버의 가용성을 표시하는 시스템에 있어서,
    제 1 항 내지 제 6 항 중 어느 한 항에 따른 방법의 단계를 실행하는 데 적합한 수단을 포함하는 애플리케이션 서버의 가용성을 표시하는 시스템.
  13. 제 1 항 내지 제 6 항 중 어느 한 항에 따른 방법을 수행하는 소프트웨어 코드 부분을 포함하는 데이터 프로세싱 시스템에서의 실행을 위한 데이터 프로세싱 프로그램.
  14. 컴퓨터 이용가능 매체 상에 저장된 컴퓨터 프로그램 제품으로서,
    컴퓨터가 제 1 항 내지 제 6 항 중 어느 한 항에 따른 방법을 수행하도록 하게 하는 컴퓨터 판독가능 프로그램 수단을 포함하는 컴퓨터 프로그램 제품.
  15. 애플리케이션 서비스 요청을 수신하는 하나 또는 다수의 애플리케이션 서버의 가용성을 결정하는 시스템으로서,
    제 1 항 내지 제 7 항 중 어느 한 항에 따른 방법의 단계를 이행하는 데 적합한 수단을 포함하는 가용성을 결정하는 시스템.
  16. 데이터 프로세싱 시스템에서의 실행을 위한 데이터 프로세싱 프로그램으로서,
    상기 프로그램이 컴퓨터 상에서 실행될 때, 제 7 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행하는 소프트웨어 코드 부분을 포함하는 데이터 프로세싱 프로그램.
  17. 컴퓨터 이용가능 매체 상에 저장된 컴퓨터 프로그램 제품으로서,
    상기 프로그램이 컴퓨터 상에서 실행될 때, 상기 컴퓨터가 제 7 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행하도록 하게 하는 컴퓨터 판독가능 프로그램 수단을 포함하는 컴퓨터 프로그램 제품.
KR10-2001-0039956A 2000-07-15 2001-07-05 컴퓨터에서 애플리케이션 서버의 가용성을 표시 및 결정하는 방법 및 시스템과 기록 매체 KR100423192B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00115368 2000-07-15
EP00115368.3 2000-07-15

Publications (2)

Publication Number Publication Date
KR20020007160A true KR20020007160A (ko) 2002-01-26
KR100423192B1 KR100423192B1 (ko) 2004-03-16

Family

ID=8169279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0039956A KR100423192B1 (ko) 2000-07-15 2001-07-05 컴퓨터에서 애플리케이션 서버의 가용성을 표시 및 결정하는 방법 및 시스템과 기록 매체

Country Status (5)

Country Link
US (1) US6968381B2 (ko)
JP (1) JP4132738B2 (ko)
KR (1) KR100423192B1 (ko)
CN (1) CN1156775C (ko)
TW (1) TW536670B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254640B2 (en) * 2002-04-09 2007-08-07 Vigilos, Inc. System for providing fault tolerant data warehousing environment by temporary transmitting data to alternate data warehouse during an interval of primary data warehouse failure
US20040139110A1 (en) * 2002-12-31 2004-07-15 Lamarca Anthony G. Sensor network control and calibration system
US7197447B2 (en) * 2003-05-14 2007-03-27 Microsoft Corporation Methods and systems for analyzing software reliability and availability
US7739661B2 (en) * 2003-05-14 2010-06-15 Microsoft Corporation Methods and systems for planning and tracking software reliability and availability
US7185231B2 (en) * 2003-05-14 2007-02-27 Microsoft Corporation Methods and systems for collecting, analyzing, and reporting software reliability and availability
JP4479284B2 (ja) 2004-03-08 2010-06-09 株式会社日立製作所 計算機システムのモニタリングを設定する管理計算機及びシステム
US7299231B2 (en) 2004-07-29 2007-11-20 International Business Machines Corporation Method and system of subsetting a cluster of servers
US20070203974A1 (en) * 2006-02-09 2007-08-30 Baskey Michael E Method and system for generic application liveliness monitoring for business resiliency
US20080046890A1 (en) * 2006-08-17 2008-02-21 Stanley Steven Dunlap Method and apparatus for balancing workloads in a cluster
US9026575B2 (en) * 2006-09-28 2015-05-05 Alcatel Lucent Technique for automatically configuring a communication network element
US8156082B2 (en) * 2006-10-06 2012-04-10 Sybase, Inc. System and methods for temporary data management in shared disk cluster
KR100806488B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 성능 테스트 시스템 및 그 방법
EP1976232B1 (en) * 2007-03-30 2014-01-22 Hewlett-Packard Development Company, L.P. Signaling status information of an application service
TW201232280A (en) * 2011-01-20 2012-08-01 Hon Hai Prec Ind Co Ltd System and method for sharing desktop information
KR20230076020A (ko) 2021-11-23 2023-05-31 솔포스 주식회사 컴퓨터 가속율 알고리즘을 이용한 수행력 진단 시스템 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3447347B2 (ja) 1993-12-24 2003-09-16 三菱電機株式会社 障害検出方法
JPH08249281A (ja) 1995-03-13 1996-09-27 Hitachi Ltd オンライン処理システム
US5777989A (en) * 1995-12-19 1998-07-07 International Business Machines Corporation TCP/IP host name resolution for machines on several domains
US5828847A (en) 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
JPH10214208A (ja) 1997-01-31 1998-08-11 Meidensha Corp ソフトウェアの異常監視方式
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
JP3369445B2 (ja) * 1997-09-22 2003-01-20 富士通株式会社 ネットワークサービスサーバ負荷調整装置、方法および記録媒体
US6058420A (en) * 1998-02-27 2000-05-02 Netsolve, Inc. Alarm server systems, apparatus, and processes
JP3966598B2 (ja) * 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
US6260155B1 (en) * 1998-05-01 2001-07-10 Quad Research Network information server
JP3062155B2 (ja) * 1998-07-31 2000-07-10 三菱電機株式会社 計算機システム
JP3398681B2 (ja) 1998-08-06 2003-04-21 エヌイーシーシステムテクノロジー株式会社 通信処理システム
US6226684B1 (en) * 1998-10-26 2001-05-01 Pointcast, Inc. Method and apparatus for reestablishing network connections in a multi-router network
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
US6532494B1 (en) * 1999-05-28 2003-03-11 Oracle International Corporation Closed-loop node membership monitor for network clusters
US6594786B1 (en) * 2000-01-31 2003-07-15 Hewlett-Packard Development Company, Lp Fault tolerant high availability meter

Also Published As

Publication number Publication date
KR100423192B1 (ko) 2004-03-16
JP2002108817A (ja) 2002-04-12
CN1334530A (zh) 2002-02-06
TW536670B (en) 2003-06-11
JP4132738B2 (ja) 2008-08-13
US6968381B2 (en) 2005-11-22
CN1156775C (zh) 2004-07-07
US20020059423A1 (en) 2002-05-16

Similar Documents

Publication Publication Date Title
KR100423192B1 (ko) 컴퓨터에서 애플리케이션 서버의 가용성을 표시 및 결정하는 방법 및 시스템과 기록 매체
JP4637842B2 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US7076691B1 (en) Robust indication processing failure mode handling
US6832341B1 (en) Fault event management using fault monitoring points
CN100549960C (zh) 群集计算系统中改变的快速应用程序通知的方法和系统
US6711606B1 (en) Availability in clustered application servers
US7225356B2 (en) System for managing operational failure occurrences in processing devices
US7716353B2 (en) Web services availability cache
US7657580B2 (en) System and method providing virtual applications architecture
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
US8700773B2 (en) Load balancing using redirect responses
US20090106323A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
US20100023564A1 (en) Synchronous replication for fault tolerance
US7774639B2 (en) Subscription-based management and distribution of member-specific state data in a distributed computing system
US20080288812A1 (en) Cluster system and an error recovery method thereof
US5768523A (en) Program product for processing requests for notice of events
US7694012B1 (en) System and method for routing data
US7334038B1 (en) Broadband service control network
US5961650A (en) Scheme to perform event rollup
EP1287445A1 (en) Constructing a component management database for managing roles using a directed graph
US20040024732A1 (en) Constructing a component management database for managing roles using a directed graph
US20020073153A1 (en) Peer protocol status query in clustered computer system
EP0965926A2 (en) Improved availability in clustered application servers
CN114119241A (zh) 渠道交易系统
Vogels Tracking service availability in long running business activities

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: 20080303

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee