KR100517242B1 - 컴퓨터 구현 모니터링 방법 - Google Patents

컴퓨터 구현 모니터링 방법 Download PDF

Info

Publication number
KR100517242B1
KR100517242B1 KR10-2004-7002512A KR20047002512A KR100517242B1 KR 100517242 B1 KR100517242 B1 KR 100517242B1 KR 20047002512 A KR20047002512 A KR 20047002512A KR 100517242 B1 KR100517242 B1 KR 100517242B1
Authority
KR
South Korea
Prior art keywords
queue
identifier
message
task
output
Prior art date
Application number
KR10-2004-7002512A
Other languages
English (en)
Other versions
KR20040027949A (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 KR20040027949A publication Critical patent/KR20040027949A/ko
Application granted granted Critical
Publication of KR100517242B1 publication Critical patent/KR100517242B1/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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Abstract

본 발명은 메시지 큐잉 전송 시스템에서 업스트림 소프트웨어 애플리케이션 및 다운스트림 소프트웨어 애플리케이션을 모니터링하는 컴퓨터 구현 모니터링 방법을 제공한다. 이 전송 시스템은 적어도 하나의 입력 큐로부터 다수의 입력 메시지를 판독하고 적어도 하나의 출력 큐 내부로 다수의 출력 메시지를 기록할 수 있는 적어도 하나의 처리 태스크를 포함한다. 본 방법은 각 입력 큐 내의 메시지의 개수 및 각 출력 큐 내의 메시지의 개수를 결정하는 단계와, 처리 태스크의 활성 상태를 결정하는 단계와, 이 결과들을 수집하여 태스크 모니터 스크린 상에 디스플레이하는 단계를 포함한다. 깊이 및 상태 정보가 규칙적으로 리프레시된다.

Description

컴퓨터 구현 모니터링 방법{SYSTEM AND METHOD FOR MONITORING SOFTWARE QUEUING APPLICATIONS}
본 발명은 전반적으로 컴퓨터 네트워크에서 데이터 전송 분야에 관한 것이며, 특히 소프트웨어 큐잉 애플리케이션(software queuing applications)을 모니터링하는 시스템 및 방법에 관한 것이다.
FDDI, BISDN 및 SONET와 같은 네트워크 통신 표준 기술이 출현함으로써, 기가비트 컴퓨터 통신이 오늘날 통용되고 있으며 테라비트 컴퓨터 통신 시대가 신속하게 도래하고 있다. 이러한 고속 네트워크 환경은 이 네트워크로부터의 정보에 따라 네트워크 설계, 네트워크 관리, 네트워크 제어 및 네트워크 서비스 시에 보조하는 새롭고 강력한 툴을 필요로 한다. 이러한 고속 환경에서의 중요한 문제는 하나 이상의 고속 통신 채널로부터의 가공되지 않은 데이터를 모니터링하여 이 데이터를 사용자 및 서비스를 위해서 유용한 정보로 변환하여 요구될 때마다 알고리즘으로의 입력으로서 제공하는 것이다.
지금까지, 이러한 문제는 "실시간(real-time)" 네트워크 모니터링 및 성능 평가 문제로서 간주되었다. 네트워크 모니터링은 일반적으로 시스템의 운영에 있어서 동적 정보를 추출, 처리, 수집, 제공하는 것으로 규정된다. 다음에, 모니터링 정보는 네트워크 성능 관리 분석자에 의해서, 통상적으로 컴퓨터 디스플레이 상의 모니터링 정보를 분석하는 개인에 의해서 사용되어 네트워크 자원의 상태를 실시간으로 평가한다.
대형 네트워크 구조물을 관리하는 데 있어서 요구되는 한가지 사항은 개별 플랫폼들을 포함하는 컴퓨터 네트워크 전체에 걸쳐서 정보 전송을 감당하고 있는 수 많은 다양한 애플리케이션을 모니터링하는 것이다.
이들 애플리케이션 중 몇몇은 백그라운드 태스크(background task)인데, 이들은 일반적으로 사용자 인터페이스를 제공하지 않기 때문에 통상적으로 이렇게 지칭된다. 다양한 시스템 사이에서 정보 전송을 감당하고 있는 백그라운드 태스크에 대한 동작 정보가 필요하다. 실제로, 애플리케이션 운영자는 전송의 성공 여부 및 전송에 있어서 병목 문제와 같은 어떤 문제의 존재 여부를 알 필요가 있다. 불행하게도, 백그라운드 태스크는 어떠한 상태 정보도 제공하지 않으며 이로써 이 애플리케이션 운영자는 이 애플리케이션이 올바르게 동작하고 있는지의 여부를 판단할 수 없다.
이질 애플리케이션 전송(heterogenous application transmission)에 대해서 보편적으로 사용되고 있는 방식은 메시지 큐잉(message queuing)이다. 메시지 큐잉은 분산된 애플리케이션들이 하드웨어 자원 및 소프트웨어 자원에 상관없이 메시지를 교환하는 것을 가능하게 한다. 메시지 큐잉 시스템에서, 전송 애플리케이션은 전달 경로 또는 수신 애플리케이션이 메시지를 픽업(pickup)하는 타이밍에 대해 상관할 필요가 없다. 수신 애플리케이션은 전송 애플리케이션과의 직접적인 링크를 유지하지 않고도 적절한 시기에 새로운 메시지를 픽업할 수 있다. 수신 애플리케이션은 또한 필요하다면 수신 여부를 확인할 수 있다.
메시지는 동기적으로 또는 비동기적으로 애플리케이션들 간에서 이동된다. 동기형 모드는 전송 애플리케이션이 계속 진행하기 이전에 수신 애플리케이션으로부터 응답을 수신하는 것을 가능하게 한다. 메시지는 또한 일대일 모드 또는 일대다 모드 또는 다대일 모드 임의의 조합으로 애플리케이션들 간에서 이동될 수 있다.
일반적으로, 메시지 애플리케이션은 애플리케이션 데이터 및 메시지 식별 데이터를 포함한다. 메시지는 메시지의 타입, 애플리케이션 데이터의 길이 및 이 메시지의 우선 순위와 같은 몇 개의 파라미터에 의해서 식별될 수 있다.
메시지 애플리케이션 및 이들이 자원을 모니터링하는 몇가지 방법이 알려져 있다. Tivoli System 사의 Tivoli 및 IBM 사의 Omegamon과 같은 상업적 제품은 큐의 모니터링 및 이 애플리케이션의 상태 결정을 가능하게 한다. 이 제품으로, 애플리케이션 운영자는 다수의 패널을 연속적으로 네비게이션하여 적절한 행동을 취하기 위해서 필요한 파라미터를 찾아 낸다. 이렇게 하는 동안에는, 이 애플리케이션에서 발생하는 중요한 문제를 놓쳐버릴 위험이 있다.
IBM 사의 MQSeries 및 CICS와 같은 다른 상업적 제품은 큐의 깊이 및 애플리케이션의 상태를 결정할 수 있게 한다.
Bonnell 등에게 허여된 미국 특허 제 5,655,081 호는 지능형 자율 에이전트 아키텍쳐(an intelligent autonomous agent architecture)를 사용하여 분산 컴퓨팅 환경에 걸쳐서 컴퓨터 자원 및 애플리케이션을 모니터링 및 관리할 수 있는 시스템을 개시한다. 상술된 제품들과 유사하게, 이 시스템은 큐가 사전결정된 수의 메시지를 포함할 때 애플리케이션을 식별하지 않고도 경고 메시지(alert message)를 트리거할 수 있다.
그러나, 오늘날의 툴 중 어떤 것도 모니터링될 특정 애플리케이션과 연관된 큐의 깊이 및 태스크의 상태를 수집하는 고유 인터페이스를 운영자에 제공하지 않는다. 이 대신에, 알려진 시스템들은 전체 시스템 내의 모든 애플리케이션에 대한 정보를 제공한다.
그러므로, 사용되고 있는 자원 및 한 애플리케이션과 연관된 모든 정보를 수집할 수 있는 단일 시스템을 애플리케이션 운영자에게 제공할 필요가 있다.
발명의 개요
본 발명의 목적은 에러 검출에 있어서 유용한 정보를 고유한 측면에서 자동적으로 수집할 수 있는 애플리케이션 모니터링 시스템을 제공하는 것이다.
본 발명의 다른 목적은 사용자와 상호작용하지 않고 동작할 수 있는 애플리케이션 모니터링 시스템을 제공하는 것이다.
본 발명은 메시지 큐잉 전송 시스템에서 업스트림 소프트웨어 애플리케이션 및 다운스트림 소프트웨어 애플리케이션을 모니터링하는 컴퓨터 구현형 방법을 제공함으로써 상술된 목적 및 다른 목적을 성취한다. 이 전송 시스템은 적어도 하나의 입력 큐로부터 다수의 입력 메시지를 판독하고 적어도 하나의 출력 큐 내부로 다수의 출력 메시지를 기록할 수 있는 적어도 하나의 처리 태스크를 포함한다. 본 방법은 (a) 입력 큐 그룹 식별자 및 출력 큐 그룹 식별자를 각기 입력 큐 및 출력 큐에 할당하는 단계와, (b) 각 큐 그룹에 대해서, 큐 식별자를 각각의 입력 큐 및 각각의 출력 큐에 할당하는 단계와, (c) 태스크 식별자를 처리 태스크에 할당하는 단계와, (d) 사전결정된 리프레시 기간을 갖는 리프레시 카운터(a refresh conuter)를 초기화하는 단계와, (e) 각 큐 그룹에 대해서, 각각의 입력 큐 내에 저장된 메시지의 개수와 각각의 출력 큐 내에 저장된 메시지의 개수를 결정하는 단계와, (f) 상기 식별된 처리 태스크의 활성화 상태를 결정하는 단계와, (g) 태스크 모니터 저장 구역에서 상기 결정 단계들의 결과를 수집하는 단계와, (h) 각 기간에 대해서 상기 단계 (e) 내지 (g)를 반복하는 단계를 포함한다.
바람직한 실시예에서, 상기 수집된 결과는 운영자에 의해서 제어되는 디스플레이 스크린 상에 디스플레이된다.
다른 실시예에서, 업스트림 애플리케이션은 입력 메시지를 전달하며 다운스트림 애플리케이션은 출력 메시지를 전달한다. 전송 시스템은 적어도 하나의 출력 메시지에 응답하여 다운스트림 애플리케이션으로부터 적어도 하나의 응답 메시지를 수신하기 위한 적어도 하나의 응답 큐를 더 포함하고 응답 메시지를 처리하기 위한 적어도 하나의 응답 태스크를 더 포함한다.
다른 실시예에서, 본 방법은 출력 메시지가 출력 큐 내부로 기록되는 시간과 각각의 응답 메시지가 응답 메시지 큐 내부로 기록되는 시간 사이의 시간 간격을 계산하는 단계를 더 포함한다. 이 시간 간격의 값에 따라서, 경고 메시지가 운영자에게 디스플레이될 수 있다.
도 1은 본 발명의 방법이 구현되는 메시지 큐잉 전송 시스템의 단순화된 도면,
도 2는 도 1의 시스템을 위한 메시지 큐잉 정보를 디스플레이하는 본 발명의 태스크 모니터 스크린의 도면,
도 3은 본 발명의 큐 구성 및 태스크 구성을 처리하는 테이블 구조를 도시한 도면,
도 4는 본 발명의 시간 제어 동작을 도시하는 흐름도,
도 5는 본 발명의 태스크 모니터 시스템의 동작을 도시하는 흐름도.
도 1은 본 발명이 구현될 수 있는 단순화된 메시지 큐잉 전송 시스템(100)을 도시한다. 일반적으로, 백그라운드 태스크와 연관된 입력 정보는 업스트림 외부 소프트웨어 애플리케이션(102)에 의해서 전달되고 몇 개의 큐 층을 통해서 전송 시스템(100) 내에서 처리되어 다운스트림 외부 소프트웨어 애플리케이션(108)으로 출력된다.
본 발명은 하드웨어, 운영 체제 또는 접속 방식에 상관없이 임의의 네트워킹된 컴퓨팅 환경에서 동작될 수 있으며, 따라서 이러한 특징에 대해서는 별도로 언급하지 않는다.
구체적으로 말하자면, 입력 정보는 업스트림 애플리케이션(102)으로부터 도달하는데, 이 애플리케이션은 다수의 메시지를 입력 큐 'G1' 내에 입력시킨다. 이 메시지는 다음에 입력 태스크(104)에 의해서 취해져 몇몇 애플리케이션 로직 처리 후에 중간 큐 'G2'에 제공된다. 중간 메시지 큐 'G2'는 다음에 출력 태스크(106)에 의해서 처리되며 이어서 출력 태스크(106)는 출력 메시지를 출력 큐 'G3'에 전달한다. 출력 정보가 이어서 다운스트림 애플리케이션(108)에 의해서 취해진다.
다운스트림 애플리케이션(108)이 출력 메시지의 수신 여부를 확인하고 응답 메시지를 전송 시스템에 피드백하면 응답 메시지는 응답 큐 'G4' 내부에 남게 되는데 이 응답 메시지는 이어서 하나 이상의 응답 태스크(110)에 의해서 처리된다.
이 전송 시스템의 태스크들은 에러 정보를 에러 로그 큐(an error-log queue)(116)에 전송한다.
각 큐 및 각 태스크는 태스크 모니터(112)에 의해서 모니터링되며, 태스크 모니터(112)는 도 2 내지 도 5를 참조하여 보다 상세하게 설명될 바와 같이 임의의 시간에 정보 전송 시스템의 상태의 고유한 개요를 제공할 수 있다. 태스크 모니터(112)는 시스템의 효율을 결정하기 위해서 애플리케이션 운영자에 의해 요구되는 상태 데이터를 전송 시스템을 따라서 수집하여 이들 데이터를 태스크 모니터 저장 구역(113)에 기록한다. 바람직한 실시예에서, 수집된 데이터는 큐의 깊이, 태스크의 활성/비활성 상태, 출력 큐와 응답 큐 간의 타임 스탬프 차이(time-stamp difference) 및 에러 로그 큐의 내용이다.
전송 시스템의 수집된 상태가 이어서 태스크 모니터 저장 구역(113)으로부터 판독되며 모니터 스크린(114) 상에 디스플레이된다.
본 기술 분야의 당업자는 본 발명이 다양한 구성의 메시지 큐잉 전송 시스템에 사용될 수 있음을 이해할 것이다. 또한, 용어 "태스크" 또는 "애플리케이션" 또는 "상주 트랜잭션(resident transaction)"은 전송 시스템의 내부 프로세스(104,106,110)를 지정하는 데 사용될 수 있음을 이해할 것이다. 또한, 메시지를 저장하기 위한 큐는 이미 언급된 IBM 사의 MQSeries와 같은 표준 메시지 큐잉 제품의 형태일 수 있다.
도 2는 태스크 모니터(112)에 의한 모니터 스크린(114) 상의 프리젠테이션(200)을 도시한다. 이 프리젠테이션은 도 5을 참조하여 이하에 기술될 바와 같이 운영자에 의해서 지정된 시간 간격을 따라서 리프레시된다. 태스크 모니터(112)는 태스크의 몇 개의 그룹(TSK1 내지 TSK5)을 제어할 때에 도 1의 메시지 큐잉 전송 시스템의 상태를 디스플레이한다. 이 프리젠테이션(200)은 몇 개의 정보 구역(202 내지 206)을 포함한다. 제 1 정보 구역(202)은 "큐 깊이" 상태에 대한 정보를 제공한다. 제 2 정보 구역(204)은 "로그 메시지" 상태에 대한 정보를 제공하며 제 3 정보 구역(206)은 "시간 제어" 파라미터 상태 및 "백그라운드 태스크"의 활성/비활성 상태에 대한 정보를 제공한다.
"큐 깊이" 구역(202)은 소정 순간에 도 1의 전송 시스템의 각 큐 내에 존재하는 메시지의 개수를 디스플레이한다.
"큐 깊이" 구역(202)은 도 3을 참조하여 보다 상세하게 기술될 바와 같이 큐 그룹 만큼의 행을 가지고 있다. 각 행은 각각의 큐 그룹 내의 큐 만큼의 열을 가지고 있다.
제로의 큐 깊이 값은 관련 애플리케이션 내에 어떤 백로그(backlog)도 존재하지 않으며 이 애플리케이션은 적절하게 동작하였을 가능성이 있음을 표시한다. 제로가 아닌 큐 깊이 값은 백로그가 존재함을 표시하며 이로써 특히 백로그가 프리젠테이션(200)의 리프레시 이후에 사라지지 않는다면 소정의 행동이 필요함을 운영자에게 표시한다. 어떠한 이유로도 큐의 깊이가 결정되지 않는다면, 특정 경고가 태스크 모니터 스크린(114) 상에 디스플레이된다.
이 경고는 특정 색상으로 해당 행을 디스플레이하고 경고 메시지를 "로그 메시지" 구역(204)에 게시하는 것을 포함한다. "로그 메시지" 구역(204)은 태스크에 의해서 로그 큐(116)로 전송된 연속적인 에러 메시지를 포함한다.
도 2 상에서 "백그라운드 태스크"로 지칭된 다른 정보 구역(206)은 나타나는 상이한 백그라운드 태스크들의 리스트를 포함한다. 백그라운드 태스크 구역(206)은 시간 제어 특징부의 상태(활성/비활성)의 표시 사항을 더 포함한다. 이 시간 제어 특징부는 도 4를 참조하여 이하에서 설명될 것이며 여기서 태스크 모니터(112)는 시간 제어 특징부와 함께 또는 없이도 동작할 수 있다. 또한, 여기에서 기술된 스크린 프리젠테이션(200)의 예시적인 구성은 본 발명을 한정하는 것이 아니며 이보다는 관련 파라미터의 다른 프리젠테이션이 본 발명의 범위 내에서 본 기술 분야의 당업자에게 쉽게 고안될 수 있다.
도 3은 태스크 모니터(112)를 동작시키기 위한 큐 구성을 지원하는 바람직한 구현을 태스크 테이블(302) 및 큐 테이블(304,306)의 형태로 도시한다. 이 테이블들은 다음과 같은 방식으로 큐 및 태스크를 식별하는 식별자를 포함한다. 이 테이블들의 내용은 이후에 설명될 바와 같이 태스크 모니터(112)가 시작될 때에 판독된다.
백그라운드 태스크들은 각 백그라운드 태스크에 대한 태스크 명칭을 표시하는 제 1 식별자 및 그 활동이 모니터링될 각 태스크에 대한 태스크 번호를 표시하는 제 2 식별자에 따라서 태스크 테이블(302) 내에서 분류된다.
큐들은 큐 그룹 테이블(304)에서 참조된 큐 그룹으로 그룹화된다. 이 큐 그룹 테이블(304)은 그룹 명칭을 표시하는 제 1 식별자 및 그룹 번호(G1 내지 Gn)를 표시하는 제 2 식별자를 포함한다. 이러한 큐의 그룹화는 메지시 큐잉 전송 시스템의 특정 구성에 의존할 수 있다. 도 1의 실례에서, 큐들은 4 개의 그룹, 즉 입력 그룹 'G1', 중간 그룹 'G2', 출력 그룹 'G3', 응답 그룹 'G4'으로 그룹화된다. 응답 그룹과 연관된 그룹 테이블은 이 응답 그룹과 연관된 그룹 번호를 표시하는 다른 식별자를 포함한다. 본 실례에서, 응답 그룹 'G4'은 출력 그룹 'G3'과 연관된다.
각 큐 그룹은 각각의 큐 그룹에 속한 다수의 큐를 열거하는 큐 테이블(306)과 링크된다. 각 큐 테이블은 자신과 연관된 큐 그룹 번호를 표시하는 제 1 식별자 및 각각의 큐 그룹 번호의 큐 번호를 표시하는 제 2 식별자 및 큐 타입을 규정하는 제 3 식별자를 포함한다. 해당 큐의 활성 상태를 표시하는 다른 식별자가 추가될 수 있다.
응답 그룹의 경우, 다른 식별자가 응답 큐 번호와 연관된 큐 번호를 표시한다. 본 실례에서, 큐 번호 'G4-1'은 출력 큐 'G3-3'와 연관된다. 그러나, 본 실례는 오직 설명의 명료성을 위해서 제공된 것이며 본 발명을 한정하지 않는다. 본 기술 분야의 당업자는 본 발명의 개시 하에서 데이터 테이블들의 다른 구성을 쉽게 고안할 수 있다.
이하에서 더 기술될 바와 같이, 응답 큐 그룹과 출력 큐 그룹이 대응하게 되면 (출력 큐, 응답 큐) 형태과 같은 다수의 큐 쌍의 구성이 시간 제어 특징부에 의해서 사용될 수 있다.
이 시간 제어 특징부는 메시지가 출력 큐에 기록되는 시간과 응답이 응답 큐에 기록되는 시간 간의 간격을 계산한다. 이로써, 하나의 출력 큐에 응답하는 하나의 응답 큐에 대해서, 각 응답 큐는 출력 그룹에 속하는 출력 큐들 중 하나의 큐와 링크되는 것으로 규정될 수 있다.
큐 타입 정보는 가령 CICS 커맨드의 사용에 대해 참조된 애플리케이션의 경우에는 CICS 큐를 액세스하거나 MQ 스테이트먼트의 사용에 대해 참조된 애플리케이션의 경우에는 타입 MQ Series의 큐를 액세스하는 것과 같이 프로그램이 큐를 액세스하는 방식을 말한다.
도 4는 예시적인 실시예로 본 발명의 시간 제어 특징부의 동작을 나타내는 흐름도이다. 그럼에도 불구하고, 시간 제어 특징부는 선택사양적이며 본 발명은 이 특징부 없이도 실행될 수 있다. 태스크 모니터(112)는 시간 제어 특징부가 활성 또는 비활성되면서 시작할 수 있다. 이 시간 제어 특징부의 목적은 다운스트림 애플리케이션(108)의 기능을 모니터링하는 것이다.
다운스트림 애플리케이션은 출력 큐(G3)를 판독하며 관련 응답 큐(G4) 내에 "수신 확인" 응답 메시지를 기록한다. 이 시간 제어 특징부는 메시지를 출력 큐(G3)에 기록하고 이에 대응하는 응답 메시지를 응답 큐(G4)에 기록하는 데 있어서 경과된 시간을 결정하는 것을 가능하게 한다. 이는 다운스트림 애플리케이션(108)이 적절하게 동작하고 있는지의 여부에 대한 정보를 애플리케이션 운영자에게 제공한다.
시간 제어 특징부는 (출력 큐, 응답 큐)의 각 쌍에 대해서 활성화된다.
시간 제어 특징부가 인에이블되는 단계(400)에서 프로세스가 시작된다. 시간 제어 간격이 결정된다(단계 402). 시간 제어 간격은 도 5를 참조하여 이하에서 기술될 바와 같이 운영자에 의해서 지정된다. 바람직하게는, 이 운영자는 각 큐 쌍에 대해서 동일한 값을 고정시킨다. 시간 제어 간격은 출력 큐(G3)가 다운스트림 애플리케이션(108)에 의해서 검색되기 이전에 메시지가 이 출력 큐 상에 존재하도록 허용가능한 시간을 지정한다.
다음에, 시간 제어 카운터가 제 1 시간 제어 간격에 대해서 카운트하기 시작한다(단계 404).
각 큐 쌍에 대해서, 최종 메시지가 출력 태스크(106)에 의해서 출력 큐들(G3) 중 하나 상에 입력되었던 시간(본 명세서에서는 최종 입력(last put)으로 지칭됨)이 최종 응답 메시지가 응답 태스크(110)에 의해서 수신되었던 시간과 비교된다(단계 406).
만일 최종 입력이 최종 응답보다 이르다면(도면 분기점에서 "예"), 이는 다운스트림 애플리케이션이 메시지를 신속하게 처리하고 있음을 나타낸다. 이전의 상태 입증 시에 경고 메시지가 인에이블되었다면(단계 412), 다운스트림 애플리케이션이 그 메시지를 판독하는 것을 따라 잡았기 때문에 이 경고는 단계(408)에서 디스에이블되고, 다음에는 시간 제어 카운터가 다시 시작된다(단계 404).
만일 최종 입력이 최종 응답보다 나중에 오면(도면 분기점에서 "아니오"), 이는 다운스트림 애플리케이션이 출력 큐(G3) 상의 메시지를 신속하게 처리하고 있지 않음을 나타낸다. 이러한 비활동 시간이 시간 제어 간격에 의해서 지정된 시간 내에 존재하는지의 여부가 결정된다(단계 410).
만일 이 시간이 시간 제어 간격에 의해서 지정된 시간 내에 존재하면(분기점에서 "아니오"), 이 시간은 경고를 발행하기 너무 이른 시간이며 이로써 프로세스는 단계(406)에서 다시 순환된다.
만일 이 시간이 시간 제어 간격에 의해서 지정된 시간보다 크다면(분기점에서 "예"), 경고 메시지가 발행되고(단계 412) 현재의 큐 쌍에 대해서 디스플레이된다(단계 414). 이전에 설명한 바와 같이, 이 경고 메시지는 로그 메시지 구역(204)으로 전송되며 그 큐 깊이에서의 대응하는 행이 강조되어 표시된다.
도 5는 본 발명의 태스크 모니터 시스템의 동작을 도시하는 흐름도이다.
이 프로세스는 태스크 모니터(112)가 시작되면서 개시된다(단계 500). 모니터 스크린 상에서, 운영자에게 완성될 입력 폼이 제공된다. 이 폼은 다음과 같은 것들을 요구한다.
1. 리프레시 간격 값.
2. 시간 제어 상태(인에이블 상태/디스에이블 상태).
3. 각 큐 쌍에 대한 시간 제어 간격.
리프레시 간격은 수집된 관련 데이터의 상태를 리프레시하는 타이밍을 제어한다. 정보 구역이 리프레시 간격 값에 의해 지정된 일정한 간격으로 리프레시되며 갱신된 데이터가 디스플레이된다. 바람직한 구현에서, 리프레시 간격은 몇 초로 설정된다.
모니터링된 구성을 결정하기 위해서 태스크 모니터(112)에 의해서 테이블들이 판독된다(단계 504). 이로써, 큐 테이블(304,306) 및 태스크 테이블(302) 내에 저장된 정보를 (각각의 액세스 방법에 따라) 페치함으로써 관련 데이터가 수집된다. 이 테이블들은 본 발명의 일반적인 방법에 어떤 영향도 주지 않으면서 관련 데이터베이스 시스템 내에 저장되거나 플랫 파일(flat file)로서 저장된다. 특히, 태스크 테이블(302)에서, 태스크 모니터(112)는 제어될 활동을 갖는 태스크 명칭 및 태스크 번호의 값들을 가리킨다. 테이블(304,306)에서, 태스크 모니터(112)는 리프레시 기간이 완료될 때마다 각 그룹에 속해 있는 큐들의 큐 깊이가 디스플레이될 그룹 번호의 값들을 가리킨다. 또한, 태스크 모니터(112)는 응답 큐의 큐 번호의 값을 가리킨다.
다음에, 단계(506)에서, 큐 쌍(출력 큐, 응답 큐)이 생성된다. 각 큐 쌍에 대해서 아래의 테이블에 의해서 설명되는 정보를 포함하는 출력-응답 어레이의 형태로 큐 쌍들이 구성된다.
출력-응답 어레이는 메시지를 출력 큐 내로 입력한 태스크 및 응답 큐로부터 메시지를 회득한 태스크로 액세스가능하게 메모리 구역 내에 저장된다.
출력 큐 내로 메시지를 입력한 태스크는 (이 입력이 완료된 순간에) "최종 입력" 필드 내에 타임 스탬프(time stamp)를 기록하며 응답 큐로부터 메시지를 획득한 태스크는 (이 획득이 완료된 순간에) "최종 응답" 필드 내에 타임 스탬프를 기록한다.
응답 큐가 구현되지 않는 실시예에서, 프로세스는 도 5의 단계(504)에서 단계(508)로 바로 진행한다. 출력-응답 어레이가 구축된 후에, 리프레시 카운터가 리프레시 기간 동안 시작된다(단계 508). 각 리프레시 기간 동안, 다음과 같은 일련의 동작 루프가 실행된다.
1. 단계(510)에서, 태스크 모니터(112)에게 그 태스크의 상태를 문의함으로써 활성 백그라운드 태스크의 리스트가 결정된다. 이 결과는 모니터링될 태스크의 리스트와 비교된다. 태스크가 실행중이 아니라면, 운영자에게 경고가 발행된다(단계 518). 태스크 정보 구역(206) 내의 대응하는 태스크 명칭이 강조되어 표시되며 공지 메시지가 로그 메시지 구역(204)의 다음 로그 라인 상에 디스플레이된다.
2. 단계(512)에서, 각 활성 큐 내에 존재하는 레코드의 수가 결정되고, 만일 레코드의 수가 결정되지 않는다면, 로그 메시지가 로그 메시지 구역(204)에서 생성되며 각각의 큐 행의 대응하는 값이 큐 깊이 구역(202)에서 강조되어 표시된다(단계 518).
3. 단계(514)에서, 로그 큐가 판독되며 정보가 구현 사항에 따라서 SQL 테이블, 파일 또는 데이터 리뷰(data review)를 가능하게 하는 임의의 다른 영구 저장 수단과 같은 저장 수단 내에 저장된다. 로그 큐를 판독할 시에 문제가 발생한다면, 에러 메시지가 로그 메시지 구역(204)에서 발행된다. 바람직하게는, 그 정보가 로그 메시지 구역(204)의 상부 영역에서 디스플레이되며, 구 내용 구역(old content area)은 운영자가 언제나 최종 로그 메시지를 볼 수 있도록 아래 방향으로 자동적으로 스크롤된다(단계 518).
4. 단계(516)에서, 시간 제어 특징부가 단계(502)에서 인에이블되었다면, 도 4를 참조하여 상술된 바와 같이 시간 제어 프로세스는 각 큐 쌍(출력 큐, 응답 큐)에 대해서 동작한다. 만일 시간 제어 특징부가 인에이블되지 않는다면, 프로세스는 단계(514)에서 단계(518)로 바로 진행한다.
5. 단계(518)에서, 단계(510,512,514,516)에서 수집된 데이터들이 함께 태스크 모니터 저장 구역(113) 내에 기록되며 모니터 스크린 상에 디스플레이된다.
6. 단계(520)에서, 종결 메시지를 입력할지의 선택권이 운영자에게 제공되고, 종결 커맨드가 단계(522)에서 태스크 모니터(112)에 의해서 수신되면, 프로세스는 종료되며(단계 524), 만일 그렇지 않다면, 프로세스는 운영자가 종결 메시지를 입력할 때까지 단계(508)에 진행하여 순환한다.
본 발명은 특정 실시예를 참조하여 기술되었지만, 본 기술 분야의 당업자는 본 발명의 정신 및 범위 내에서 다양한 형태의 변경이 가능함을 이해할 것이다.

Claims (12)

  1. 적어도 하나의 처리 태스크(processing task)를 실행하는 메시지 큐잉 전송 시스템(a message queuing transmission system)에서 업스트림 소프트웨어 애플리케이션(up-stream software application) 및 다운스트림 소프트웨어 애플리케이션을 모니터링하는 컴퓨터 구현 모니터링 방법에 있어서,
    상기 메시지 큐잉 전송 시스템 내에서 입력 큐 그룹 식별자를 제 1 입력 큐 및 제 2 입력 큐에 할당함으로써 제 1 큐 그룹을 형성하는 단계와,
    상기 메시지 큐잉 전송 시스템 내에서 출력 큐 그룹 식별자를 제 1 출력 큐 및 제 2 출력 큐에 할당함으로써 제 2 큐 그룹을 형성하는 단계와,
    제 1 큐 식별자를 상기 제 1 입력 큐에, 제 2 큐 식별자를 상기 제 2 입력 큐에, 제 3 큐 식별자를 상기 제 1 출력 큐에, 제 4 큐 식별자를 상기 제 2 출력 큐에 할당하는 단계와,
    상기 메시지 큐잉 전송 시스템 내에서 처리 태스크에 태스크 식별자를 할당하는 단계와,
    상기 제 1 입력 큐 내에 저장된 메시지의 제 1 개수, 상기 제 2 입력 큐 내에 저장된 메시지의 제 2 개수, 상기 제 1 출력 큐 내에 저장된 메시지의 제 3 개수, 상기 제 2 출력 큐 내에 저장된 메시지의 제 4 개수를 결정하는 단계와,
    상기 처리 태스크의 활성 상태를 결정하는 단계와,
    태스크 모니터 저장 구역에서, 상기 제 1 입력 큐 내에 저장된 메시지의 상기 제 1 개수, 상기 제 2 입력 큐 내에 저장된 메시지의 상기 제 2 개수, 상기 제 1 출력 큐 내에 저장된 메시지의 상기 제 3 개수, 상기 제 2 출력 큐 내에 저장된 메시지의 상기 제 4 개수 및 상기 처리 태스크의 상기 활성 상태를 수집하는 단계를 포함하는
    컴퓨터 구현 모니터링 방법.
  2. 제 1 항에 있어서,
    상기 결정 단계들 및 상기 수집 단계를 리프레시 카운터(a refresh counter)의 리프레시 시간 간격에 따라서 반복하는 단계를 포함하는
    컴퓨터 구현 모니터링 방법.
  3. 제 1 항에 있어서,
    상기 태스크 모니터 저장 구역의 내용을 디스플레이 스크린 상에 나타내는 단계를 더 포함하는
    컴퓨터 구현 모니터링 방법.
  4. 제 1 항에 있어서,
    상기 처리 태스크로부터의 에러 메시지를 에러 로그 큐(error-log queue)에 기록하는 단계를 더 포함하는
    컴퓨터 구현 모니터링 방법.
  5. 제 4 항에 있어서,
    상기 에러 메시지를 디스플레이 스크린 상에 제공하는 단계를 더 포함하는
    컴퓨터 구현 모니터링 방법.
  6. 제 1 항에 있어서,
    상기 제 1 큐 식별자, 상기 제 2 큐 식별자, 상기 제 3 큐 식별자 및 상기 제 4 큐 식별자는 서로 상이한
    컴퓨터 구현 모니터링 방법.
  7. 제 1 항에 있어서,
    상기 처리 태스크는 백그라운드 태스크(a background task)인
    컴퓨터 구현 모니터링 방법.
  8. 제 1 항에 있어서,
    상기 태스크 식별자를 태스크 식별자 테이블 내에 저장하는 단계와,
    상기 제 1 큐 그룹 식별자 및 상기 제 2 큐 그룹 식별자를 큐 그룹 테이블에 저장하는 단계와,
    상기 제 1 큐 식별자, 상기 제 2 큐 식별자, 상기 제 3 큐 식별자 및 상기 제 4 큐 식별자를 큐 테이블 내에 저장하는 단계를 더 포함하는
    컴퓨터 구현 모니터링 방법.
  9. 제 1 항에 있어서,
    응답-그룹 식별자(a reply-to-group identifier)를 응답 큐에 할당하여 출력 메시지에 응답하여 생성된 응답 메시지를 수신하는 단계를 더 포함하며,
    상기 응답 메시지는 상기 출력 메시지를 수신하는 상기 다운스트림 소프트웨어 애플리케이션에 의해서 생성되는
    컴퓨터 구현 모니터링 방법.
  10. 제 9 항에 있어서,
    상기 응답 메시지는 상기 응답 큐로부터 취해져서 응답 태스크에 의해서 처리되는
    컴퓨터 구현 모니터링 방법.
  11. 제 9 항에 있어서,
    상기 출력 메시지를 상기 메시지 큐잉 전송 시스템의 출력 큐에 기록하는 시간과 상기 응답 메시지를 상기 응답 큐에 기록하는 시간 간의 간격을 계산하는 단계를 더 포함하는
    컴퓨터 구현 모니터링 방법.
  12. 제 11 항에 있어서,
    상기 시간 간격과 사전결정된 시간 제어 간격을 비교하는 단계를 더 포함하는
    컴퓨터 구현 모니터링 방법.
KR10-2004-7002512A 2001-08-29 2002-08-13 컴퓨터 구현 모니터링 방법 KR100517242B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/942,135 2001-08-29
US09/942,135 US7069559B2 (en) 2001-08-29 2001-08-29 System and method for monitoring software queuing applications
PCT/EP2002/009680 WO2003021442A2 (en) 2001-08-29 2002-08-13 System and method for monitoring software queuing applications

Publications (2)

Publication Number Publication Date
KR20040027949A KR20040027949A (ko) 2004-04-01
KR100517242B1 true KR100517242B1 (ko) 2005-09-28

Family

ID=25477626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7002512A KR100517242B1 (ko) 2001-08-29 2002-08-13 컴퓨터 구현 모니터링 방법

Country Status (10)

Country Link
US (1) US7069559B2 (ko)
EP (1) EP1421495B1 (ko)
JP (1) JP3927539B2 (ko)
KR (1) KR100517242B1 (ko)
CN (1) CN1284083C (ko)
AT (1) ATE363099T1 (ko)
CA (1) CA2462379C (ko)
DE (1) DE60220287T2 (ko)
IL (1) IL160611A0 (ko)
WO (1) WO2003021442A2 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60114186T2 (de) * 2001-08-14 2006-06-22 Hewlett-Packard Development Co., L.P., Houston Nachrichten-Vermittler
US20030037102A1 (en) * 2001-08-14 2003-02-20 Philippe Eckert Message broker
US7127507B1 (en) * 2001-09-27 2006-10-24 Sprint Communications Company L.P. Method and apparatus for network-level monitoring of queue-based messaging systems
JP3882760B2 (ja) * 2003-02-18 2007-02-21 株式会社デンソー タスク間通信方法、プログラム、記録媒体、電子機器
US7418711B1 (en) * 2003-04-28 2008-08-26 Sprint Communications Company L.P. Messaging bridge that facilitates communication with a mainframe environment
WO2006023506A1 (en) * 2004-08-17 2006-03-02 Shaw Parsing Llc Modular event-driven processing
US7613830B2 (en) * 2004-12-10 2009-11-03 Microsoft Corporation Reliably transferring queued application messages
CN1798129B (zh) * 2004-12-21 2012-10-17 华为技术有限公司 一种基于申请驱动的轮询排队方法和装置
JP4961931B2 (ja) * 2006-09-29 2012-06-27 富士通株式会社 ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置
US20080263106A1 (en) * 2007-04-12 2008-10-23 Steven Asherman Database queuing and distributed computing
US8214846B1 (en) * 2007-09-12 2012-07-03 Sprint Communications Company L. P. Method and system for threshold management
US7898964B1 (en) * 2007-10-10 2011-03-01 Sprint Communications Company L.P. Queue information monitoring system and method
CN101162974B (zh) * 2007-11-21 2013-01-16 浙江宇视科技有限公司 一种组播视频存储的方法、系统及设备
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8200857B2 (en) * 2009-11-30 2012-06-12 Lsi Corporation Coalescing multiple contexts into a single data transfer in a media controller architecture
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US20100287320A1 (en) * 2009-05-06 2010-11-11 Lsi Corporation Interprocessor Communication Architecture
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8286004B2 (en) * 2009-10-09 2012-10-09 Lsi Corporation Saving encryption keys in one-time programmable memory
CN101859275A (zh) * 2010-03-08 2010-10-13 宇龙计算机通信科技(深圳)有限公司 一种监控应用程序的方法、系统及移动终端
US9092282B1 (en) 2012-08-14 2015-07-28 Sprint Communications Company L.P. Channel optimization in a messaging-middleware environment
US9189529B2 (en) * 2013-02-14 2015-11-17 Ab Initio Technology Llc Queue monitoring and visualization
US9264338B1 (en) 2013-04-08 2016-02-16 Sprint Communications Company L.P. Detecting upset conditions in application instances
CN110083444A (zh) * 2013-12-10 2019-08-02 华为终端有限公司 一种任务管理方法及设备
US9571414B2 (en) * 2014-06-27 2017-02-14 Amazon Technologies, Inc. Multi-tiered processing using a distributed strict queue
US9577972B1 (en) * 2014-09-09 2017-02-21 Amazon Technologies, Inc. Message inspection in a distributed strict queue
US9785507B2 (en) * 2015-07-30 2017-10-10 International Business Machines Corporation Restoration of consistent regions within a streaming environment
CN108694107B (zh) * 2017-04-10 2022-01-07 北京京东尚科信息技术有限公司 消息队列的积压量监控方法、装置、可读介质和电子设备
JP7243207B2 (ja) * 2019-01-18 2023-03-22 富士フイルムビジネスイノベーション株式会社 情報処理システム、情報処理装置及びプログラム
US11163633B2 (en) 2019-04-24 2021-11-02 Bank Of America Corporation Application fault detection and forecasting
CN115168137A (zh) * 2022-06-17 2022-10-11 北京结慧科技有限公司 针对定时任务的监控方法及系统、计算机设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69409445D1 (de) 1993-07-27 1998-05-14 Ibm Prozessüberwachung in einem Mehrfachverarbeitungsanbieter
CN1113302C (zh) * 1993-07-30 2003-07-02 佳能株式会社 通过通信线路控制设备的控制器和方法
US6085277A (en) * 1997-10-15 2000-07-04 International Business Machines Corporation Interrupt and message batching apparatus and method
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US6246691B1 (en) * 1998-08-14 2001-06-12 Siemens Aktiengesellschaft Method and circuit configuration for the transmission of message units in message streams of different priority
US6757289B1 (en) * 1999-04-23 2004-06-29 Nortel Networks Limited Apparatus and method for managing communication between a failed application and other executing applications
US7062749B2 (en) * 2000-12-15 2006-06-13 Promenix, Inc. Measuring, monitoring and tracking enterprise communications and processes
US7170900B2 (en) * 2001-07-13 2007-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for scheduling message processing

Also Published As

Publication number Publication date
JP2005502122A (ja) 2005-01-20
IL160611A0 (en) 2004-07-25
DE60220287D1 (de) 2007-07-05
JP3927539B2 (ja) 2007-06-13
CA2462379A1 (en) 2003-03-13
EP1421495A2 (en) 2004-05-26
WO2003021442A3 (en) 2003-12-31
CN1547703A (zh) 2004-11-17
US20030050956A1 (en) 2003-03-13
WO2003021442A2 (en) 2003-03-13
DE60220287T2 (de) 2008-01-31
CN1284083C (zh) 2006-11-08
EP1421495B1 (en) 2007-05-23
ATE363099T1 (de) 2007-06-15
CA2462379C (en) 2007-11-20
US7069559B2 (en) 2006-06-27
KR20040027949A (ko) 2004-04-01

Similar Documents

Publication Publication Date Title
KR100517242B1 (ko) 컴퓨터 구현 모니터링 방법
US7177823B2 (en) In-queue jobs information monitoring and filtering
US9015316B2 (en) Correlation of asynchronous business transactions
US5781908A (en) File data synchronizer in a distributed data computer network
US6886020B1 (en) Method and apparatus for storage system metrics management and archive
US6807575B1 (en) Performance monitoring method in a distributed processing system
US7328213B2 (en) Transaction processing method, transaction control apparatus and program thereof
US20110035366A1 (en) Real-time database performance and availability monitoring method and system
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
US5412753A (en) Expert system capable of meeting real time constraints
EP3384391B1 (en) Real-time change data from disparate sources
US20130086418A1 (en) Data processing failure recovery method, system and program
CN109379305A (zh) 一种数据下发方法、装置、服务器及存储介质
KR20150118963A (ko) 큐 모니터링 및 시각화
US20220318265A1 (en) System And Method For Switching From Consistent Database To An Eventual Consistent Database Replica In Real Time While Preventing Reads Of Past Versions Of The Data
JPH07239793A (ja) シスプレックスおよびデータを報告する方法
US10585620B2 (en) Storage monitoring system for monitoring components in a storage system in a distributed manner
CN111290942A (zh) 压力测试方法、装置以及计算机可读介质
US20220229692A1 (en) Method and device for data task scheduling, storage medium, and scheduling tool
AU2002333763A1 (en) System and method for monitoring software queuing applications
KR20220152916A (ko) 프로세스들에 대한 병목 검출
JPH0378041A (ja) セット構成ブロック数監視方式
Jones et al. ATAMM analysis tool
JPH07230424A (ja) システムメッセージの処理方法
JPH09168041A (ja) 通信管理内部のボトルネックの自動解析方法

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee