KR20100095520A - 이-비지니스 시스템들의 성능 및 이용도를 모니터하기 위해 다이나믹하게 스케쥴된 합성 트랙잭션들을 사용하는 방법 - Google Patents

이-비지니스 시스템들의 성능 및 이용도를 모니터하기 위해 다이나믹하게 스케쥴된 합성 트랙잭션들을 사용하는 방법 Download PDF

Info

Publication number
KR20100095520A
KR20100095520A KR1020107009941A KR20107009941A KR20100095520A KR 20100095520 A KR20100095520 A KR 20100095520A KR 1020107009941 A KR1020107009941 A KR 1020107009941A KR 20107009941 A KR20107009941 A KR 20107009941A KR 20100095520 A KR20100095520 A KR 20100095520A
Authority
KR
South Korea
Prior art keywords
transaction
synthetic
transactions
monitoring
agents
Prior art date
Application number
KR1020107009941A
Other languages
English (en)
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 KR20100095520A publication Critical patent/KR20100095520A/ko

Links

Images

Classifications

    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

연관된 네트워크 토폴로지를 가지는 특정 트랜잭션 서버의 작동을 모니터하기 위한 방법 및 장치가 제공된다. 일 실시예는 상기 네트워크 토폴로지내에 다수의 구역을 정의하고, 그리고 하나 또는 그 이상의 모니터링 에이전트들을 상기 구역들 각각에 부여하는 단계를 포함하되, 각각의 에이전트는 상기 특정 서버의 합성 트랜잭션들을 선택적으로 구동하도록 적용된다. 상기 방법은 연속적인 트랜잭션들에 연관된 에러들을 감지하기 위해서, 상기 에이전트들에 의해서 수행된 상기 연속적인 합성 트랜잭션들의 결과들을 모니터링하는 단계를 더 포함한다. 상기 에이전트들 중 특정한 에이전트에 의해 구동된 특정 합성 트랜잭션에 연관된 성능 또는 이용도 문제의 감지에 대응하여, 선택적으로, 하나 또는 그 이상의 에이전트들이 합성 트랜잭션들을 구동하기 위해서 다이나믹하게 스케쥴되는데, 각각의 스케쥴된 트랜잭션은 상기 특정 트랜잭션과 특정 관계를 가진다.

Description

이-비지니스 시스템들의 성능 및 이용도를 모니터하기 위해 다이나믹하게 스케쥴된 합성 트랙잭션들을 사용하는 방법{METHOD FOR USING DYNAMICALLY SCHEDULED SYNTHETIC TRANSACTIONS TO MONITOR PERFORMANCE AND AVAILABILITY OF E-BUSINESS SYSTEMS }
여기서 기술되고 청구되는 발명은 일반적으로 전자 비지니스(이-비지니스) 시스템의 트랜잭션 서버, 또는 다른 요소의 성능 및 이용도를 모니터하기 위해서 다수의 다이나믹하게 스케쥴 된 합성 트랜잭션들(synthetic transactions)을 사용하기 위한 방법 및 장치에 관련되어 있다. 더 자세하게는, 본 발명은 상기 합성 트랙잭션들이 다수의 모니터링 에이전트들에 의해서 실행되는 타입의 방법에 관련되는데, 상기 에이전트들은 이-비지니스 시스템과 연관된 네트워크 토폴로지의 서로 다른 구역내에 위치한다. 더욱 더 자세하게는, 상기 발명은 상기 이-비지니스 시스템의 상기 트랜잭션 서버 또는 다른 요소의 동작중에 문제가 감지되면, 합성 트랙잭션들이 다이나믹하게 구동되기 위해서 스케쥴 되는 타입의 방법에 관련되어 있다.
성능 모니터들은 현재 전자 비지니스 및 엔터프라이즈 트랜잭션들에 대한 상세한 트랜잭션 및 애플리케이션 성능 데이터를 캡쳐하기 위해 사용된다. 고객 트랜잭션의 매 단계는 이-비지니스 시스템의 네트워크 토폴로지를 통해서 통과할 때마다 모니터 될 수 있다. 상기 네트워크 토폴로지는 링크들의 배열, 노드들 및 다른 요소들(예를 들어 호스트들), 애플리케이션들, 웹 및 프록시 서버들, 웹 트랜잭션 서버들, 데이터베이스 관리 소프트웨어, 및 레가시 백-엔드 소프트웨어(legacy back-end software)를 포함할 수 있다. 유용하게는, 이러한 데이터 요소들에 대한 성능특성(Performance Characteristic) 및 이용도 데이터는 이력 분석(historical analysis) 및 장기 계획을 위해, 컴파일되고 데이터 저장소에 저장된다. 이 데이터는 고객 트랜잭션들을 시뮬레이션하고 그것으로부터 발생한 성능 데이터를 수집함에 의해서 컴파일 될 수 있다. 상기 수집된 데이터가 전자 비지니스 요소들 및 구성들의 상태(condition)를 엑세스하는데 사용될 수 있는데, 이는 이-비지니스 소유자들이 그들의 웹 애플리케이션들이 유용하고 서비스 수준 협약서(Service Level Agreement, SLA) 목표들을 충족하는 것을 보장하기 위해서이다.
일 실시예에서, 상술한 바와 같은 성능 데이터는 노멀(normal) 비지니스 트랙잭션들이 주어진 전자 비지니스의 웹 애플리케이션상에서 발생하는데로, 이들을 기록하기 위한 성능 모니터들을 사용함으로써 획득될 수 있다. 이러한 실제 유저 트랜잭션들이 각각 이-비지니스 네트워크 토폴로지 또는 환경의 요소들(예를 들어 웹 서버들 또는 웹 애플리케이션 서버들)에 의해서 실행될 때마다, 기록 요소는 이러한 실제 유저 트랜잭션들로부터 성능데이터를 캡쳐한다. 그리고 나서 재생 요소는 실제 유저 활동을 시뮬레이션하기 위해 상기 기록된 트랙잭션들을 실행한다. 이러한 시뮬레이션된 트랙잭션들은 합성 트랙잭션들로 알려져 있고, 상기 재생 요소는 재생 엔진들로 언급될 수 있다. 이러한 합성 트랜잭션들의 사용은 어떻게 트랜잭션들이 상기 이-비지니스의 다양한 요소들에 의해서 진행되는지를 이-비지니스가 이해하는 것을 허용하고, 그리고 이러한 이해는 어떤 프로세스가 문제점들을 유발하고 어떻게 프로세스가 개선될 수 있는지를 결정하는데 유용하다.
현재까지 이-비지니스 트랙잭션 서버 등의 성능 및 이용도 데이터를 얻기 위해, 미리 명시된 스케쥴에 따라 합성 트랙잭션들의 시리즈들을 생성하는 것이 일반적인 관례이다. 이러한 트랙잭션들로부터 발생하는 데이터는 일반적으로 중앙 위치로 리포트된다. 그러나 이러한 프로세스에서는, 합성 트랜잭션들이 실행되어야 하는 적절한 빈도(frequency)를 결정하는데 여전히 딜레마 또는 도전과제가 있다. 이러한 합성 트랜잭션들이 직접적인 금전적 이익을 제공하지 않지만, 관리자(administrator)는 모든 부분 또는 관련된 네트워크의 부분상에서 이러한 트랜잭션들을 구동시켜야만 한다. 따라서, 높은 빈도로 합성 트랜잭션들을 생성하는 것은 상응하는 다량의 불필요한 트래픽을 제공한다. 이는 모니터 되고 있는 백엔드 애플리케이션 또는 다른 네트워크 요소들상에 영향을 미친다. 이러한 종류의 지나친 트래픽은 상기 이-비지니스 시스템의 성능을 심각하게 저하시킬 수 있다.
그러나 문제점들이 또한 합성 트랜잭션들이 너무 낮은 빈도로 발생하도록 스케쥴된 경우에도 발생할 수 있다. 확실히 만약 합성 트랜잭션들을 생성하기 위한 간격들이 너무 길면, 불필요한 딜레이들이 네트워크 요소 실패들 및 에러들의 감지에서 발생할 수 있다. 더욱이, 합성 트랜잭션으로부터의 데이터가 가능한 성능 또는 이용도 문제를 표시할때, 문제를 확인하고 그들의 원인을 찾아내기 위해서 다른 합성 트랜잭션들로부터 추가 데이터를 획득하는 것이 일반적으로 바람직하다. 만약 합성 트랜잭션들을 생성하기 위한 빈도가 낮으면, 이러한 추가 데이터를 위해 대기하면서 소비하는 시간이 지나치게 길어질 수 있고, 따라서 성능 또는 이용도 문제의 발견은 심각하게 늦쳐질 수 있다. 또한, 상기 네트워크의 서로 다른 구역들로부터 성능 데이터를 획득하는 것이 더 오래 걸릴 수 있고, 이는 문제의 원인 또는 위치를 찾는것이 더 딜레이될 수 있다.
과거에는, 이러한 문제점들 둘 다를 만족스럽게 피할 수 있는 합성 트랜잭션들에 대한 스케쥴을 위한 빈도를 발견하는 것이 일반적으로 어려웠었다.
연관된 네트워크 토폴로지를 가지는 특정 트랜잭션 서버의 작동을 모니터하기 위해서 방법이 제공된다. 상기 방법은 상기 네트워크 토폴로지내에 다수의 구역을 정의하고, 그리고 하나 또는 그 이상의 모니터링 에이전트들을 상기 구역들 각각에 부여하는 단계를 포함하되, 각각의 에이전트는 상기 특정 서버의 합성 트랜잭션들을 선택적으로 구동하도록 적용된다. 상기 방법은 연속적인 트랜잭션들에 연관된 에러들 또는 실패들을 감지하기 위해서, 상기 에이전트들에 의해서 수행된 상기 연속적인 합성 트랜잭션들의 결과들을 모니터링하는 단계를 더 포함한다. 상기 에이전트들 중 특정한 것에 의해 구동된 특정 합성 트랜잭션에 연관된 성능 또는 이용도 문제의 감지에 대응하여, 선택적으로, 하나 또는 그 이상의 에이전트들이 합성 트랜잭션들을 구동하기 위해서 다이나믹하게 스케쥴되는데, 각각의 스케쥴된 트랜잭션은 상기 문제를 겪은 트랜잭션과 관계를 가진다.
본 발명의 특성으로 판단되는 새로운 특징들은 첨부된 청구항들에 제시되었다. 그러나 바람직한 모드에 더하여, 그것의 더 객관적이고 유리한 본 발명은 그 자체로 첨부된 도면들과 함께 이하의 개시된 실시예들의 상세한 설명을 참고함으로써 이해되어질 것이다.
도 1은 본 발명의 실시예들이 구현될 수 있는 분산된 네트워크 데이터 프로세싱 시스템을 보여주는 블럭도,
도 2는 본 발명의 실시예들을 구현하는데 사용될 수 있는 데이터 프로세싱 시스템을 개시하는 블럭도,
도 3은 본 발명의 일 실시예에 따라, 전자 비지니스 시스템 트랜잭션을 실행하기 위한 요소들의 구성을, 그러한 트랜잭션들을 모니터하기 위한 요소들과 함께 보여주는 구조도 및
도 4는 본 발명의 바람직한 실시예에 대한 주요 단계를 보여주는 흐름도이다.
도 1 및 도 2는 본 발명의 실시예들이 구현될 수 있는 데이터 프로세싱 환경들의 바람직한 도면들로서 제공된다. 도 1 및 도 2는 단지 일 예이고, 본 발명의 측면들이나 실시예들이 구현될 수 있는 환경들에 대해서 그 어떤 제한을 주장하거나 암시하려는 의도는 아니다. 본 발명의 사상이나 권리범위에서 벗어남이 없이 도시된 실시예들에 많은 변형들이 만들어 질 수 있다.
도 1을 참조하면, 본 발명의 실시예들이 구현될 수 있는 컴퓨터들 또는 데이터 프로세싱 시스템들의 네트워크를 나타내는 도면이 보여진다. 네트워크 데이터 프로세싱 시스템(100)은 네트워크(102)를 포함하는데, 이는 네트워크 데이터 프로세싱 시스템(100)내에서 서로 연결된 다양한 디바이스들 및 컴퓨터들 사이에서 통신링크들을 제공하는데 사용되는 매체이다. 네트워크(102)는 예를 들어 무선, 유선 통신 링크들이나 광 섬유 케이블 같은 커넥션들을 포함할 수 있다.
도시된 예에서, 서버(104)와 서버(106)는 저장장치 유닛(108)에 덧붙여서 네트워크(102)에 연결된다. 또한, 클라이언트들(110,112 및 114)가 네트워크(102)에 연결된다. 이러한 클라이언트들(110,112 및 114)는 예를 들어 퍼스널 컴퓨터 또는 네트워크 컴퓨터들일 수 있다. 도시된 예에서, 서버(104)는 데이터(예를 들어 부트 파일들), 운영 시스템 이미지들 및 애플리케이션들을 클라이언트들(110,112 및 114)에 제공한다. 클라이언트들(110,112 및 114)은 본 예에서는 서버(104)에 대한 클라이언트이다. 네트워크 데이터 프로세싱 시스템(100)은 미도시된 추가적인 서버들, 클라이언트들 및 다른 디바이스들을 포함할 수 있다.
도시된 실시예에서, 네트워크 데이터 프로세싱 시스템(100)은 네트워크들 및 게이트웨이들의 월드와이드 컬렉션을 나타내는 네트워크(102)를 가지고 서로 통신하기 위해서 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 세트를 사용하는 인터넷이다. 인터넷의 핵심은(heart of) 데이터 및 메시지들을 전송하는 수천개의 상업, 정부, 교육기관 및 기타 다른 컴퓨터 시스템들로 이루어진, 메이저 노드들과 호스트 컴퓨터들간의 고속 데이터 통신라인들의 백본(backbone)이다. 물론, 네트워크 데이터 프로세싱 시스템(100)은 또한 예를 들어 인트라넷, 랜(LAN), 또는 광역망(WAN)과 같은 다수의 다른 타입의 네트워크로도 구현될 수 있다. 도 1은 예를 들기 위함이고, 본 발명의 다른 실시예들에 대해서 아키텍쳐적으로 한정하려는 의도는 아니다.
도 2를 참조하면, 본 발명의 실시예들의 구현에 사용될 수 있는 데이터 프로세싱 시스템(200)이 도시되어 있다. 데이터 프로세싱 시스템(200)은 예를 들어 도 1의 서버(104)나 클라이언트(110)인 컴퓨터의 일 예로서, 여기에 본 발명의 실시예들에 대한 프로세스들을 구현하는 컴퓨터 사용가능한 코드 또는 명령들이 위치하게 된다.
데이터 프로세싱 시스템(200)은 노스브리지(north bridge)와 메모리 제어 허브(MCH,202) 그리고 사우스브리지(south bridge)와 입출력(I/O) 제어 허브(ICH,204)를 포함하는 허브 아키텍쳐를 사용한다. 프로세싱 유닛(206), 메인 메모리(208) 및 그래픽 프로세서(210)가 노스브리지 및 메모리 제어허브(202)에 연결되어 있다. 그래픽 프로세서(210)는 AGP(accelerated graphics port)를 통해서 노스브리지 및 메모리 제어허브(202)에 연결될 수 있다.
데이터 프로세싱 시스템(200)에서, 랜(LAN) 아답터(212)는 사우스브리지 및 입출력 제어 허브(204)에 연결된다. 오디오 아답터(216), 키보드 및 마우스 아답터(220), 모뎀(222), 롬(224), 하드디스크 드라이브(HDD, 226), 시디롬 드라이브(230), USB 포트 및 다른 통신 포트들(232), 그리고 PCI/PCIe 디바이스들(234)이 버스(238) 및 버스(240)을 통해 사우스 브리지 및 입출력 제어 허브(204)에 연결되어 있다. PCI/PCIe 디바이스들(234)은 예를 들어 이더넷 아답터들, 부속(add-in) 카드들 및 노트북 컴퓨터들을 위한 PC카드들을 포함할 수 있다. PCI는 카드 버스 제어기를 사용하는 반면, PCIe는 사용하지 않는다. 롬(224)은 예를 들어 플래시 바이너리 입/출력 시스템(BIOS)일 수 있다.
하드 디스크 드라이브(226) 및 시디-롬 드라이브(230)는 버스(240)를 통해 사우스브리지 및 입출력 제어 허브(204)에 연결된다. 하드 디스크 드라이브(226) 및 시디-롬 드라이브(230)은 예를 들어 IDE( integrated drive electronics) 또는 sata(serial advanced technology attachment) 인터페이스를 사용할 수 있다. 슈퍼 입출력(SUPER I/O) 디바이스(236)가 사우스 브리지 및 입출력 제어 허브(204)에 연결될 수 있다.
운영 시스템은 프로세싱 유닛(206)상에서 구동하고 도 2내의 데이터 프로세싱 시스템의 다양한 요소(component)들을 조직하거나 제어를 제공한다. 클라이언트로서, 상기 운영시스템은 예를 들어 마이크로소스트의 윈도우 XP(마이크로소프트와 윈도우들은 미국, 다른 국가들, 또는 모두에서 마이크로사의 상표들이다.)와 같은 상업적으로 사용가능한 운영 시스템일 수 있다. 예를 들어 자바 프로그래밍 시스템과 같은 객체지향 프로그래밍 시스템이 운영 시스템과 함께 구동될 수 있고 그리고 데이터 프로세싱 시스템(200)상에서 실행되는 자바 프로그램들 또는 애플리케이션으로부터 운영시스템으로 호출을 제공한다(자바는 미국, 그 외 국가들 또는 둘 다에서 선 마이크로소프트 사의 상표이다).
서버로서, 데이터 프로세싱 시스템(200)은 예를 들어 AIX(advanced Interactive Executive) 운영시스템 또는 리눅스 운영 시스템을 구동하는 IBM e서버(eServer) p시리즈(pSeries) 컴퓨터 시스템일 수 있다(eServer, pSeries 및 AIX는 미국, 그외 국가 또는 둘 다에서 IBM사의 상표이고 리눅스는 미국, 그외 국가 또는 둘 다에서 리누스 토발즈(Linus Torvalds)의 상표이다). 데이터 프로세싱 시스템(200)은 프로세싱 유닛(206)내에 다수의 프로세서들을 포함하는 대칭 멀티프로세서(SMP) 시스템일 수 있다. 대안으로, 싱글 프로세서가 채택될 수도 있다.
운영 시스템을 위한 명령들, 상기 객체 지향 프로그래밍 시스템, 및 애플리케이션들 또는 프로그램들은 예를 들어 하드디스크 드라이브(226)같은 저장장치 디바이스상에 위치하고 프로세싱 유닛(206)에 의한 실행을 위해서 메인 메모리(228)로 로드될 수 있다. 본 발명의 실시예들에 대한 프로세스들은 컴퓨터 사용가능 프로그램 코드를 이용해서 프로세싱 유닛(206)에 의해 수행되는데, 이는 예를 들어 메인메모리(208), 롬(224) 또는 하나 또는 그 이상의 주변 디바이스들(226 및 230)과 같은 메모리내에 위치할 수 있다.
본 기술분야에서 통상의 기술을 가진 자는 도 1 및 2내의 상기 하드웨어는 상기 구현에 따라서 변형될 수 있다는 점을 인식할 것이다. 다른 내부 하드웨어나 주변 디바이스들(예를 들어 플래쉬 메모리, 대응되는 비휘발성 메모리 또는 광 디스크 드라이브들이니 기타 등등)이 도 1 및 2내에 도시된 상기 하드웨어에 부가되어 또는 대체되어 사용될 수 있다. 또한, 본 발명의 상기 프로세스들은 멀티 프로세서 데이터 프로세싱 시스템에 적용될 수 있다.
버스 시스템은 도 2에 도시된 바와 같이 예를 들어 버스(238) 또는 버스(240)과 같이 하나 또는 그 이상의 버스들을 포함할 수 있다. 물론 상기 버스 시스템은 구조(fabric) 또는 아키텍쳐(architecture)에 부착된 다른 요소들이나 디바이스들 사이에서 데이터의 전송을 제공하는 상기 통신 구조 또는 아키텍쳐의 어떤 타입이라도 이용하여 구현될 수 있다. 통신 유닛은 예를 들어 도2의 모뎀(222)이나 네트워크 아답터(212)와 같이 데이터의 전송 및 수신에 사용되는 하나 또는 그 이상의 디바이스들을 포함할 수 있다. 메모리는 예를 들어 도 2의 노스 브리지 및 메모리 제어허브(202)에서 나타나는 것과 같이 메인 메모리(208), 롬(224) 또는 캐쉬일 수 있다. 도 1 및 2내에 도시된 실시예들 및 여기서 기술된 다른 실시예들이 아키텍쳐의 한정을 적용하는 것을 의미하는 것은 아니다. 예를 들어, 데이터 프로세싱 시스템(200)은 또한 태블렛 컴퓨터, 랩탑 컴퓨터 또는 PDA 형태를 취하는 전화 디바이스 일 수 있다.
도 3을 참조하면, 트랜잭션 서버(302)와 백엔드(back-end) 컴퓨팅 리소스들(304)를 포함하는 전자 비지니스 또는 엔터프라이즈 시스템에 대한 바람직한 요소들이 도시되었다. 컴퓨팅 리소스들(304)은 클라이언트 디바이스(306)을 통해서 트랜잭션 서버(302)에 연결된 상업 네트워크 또는 다른 랜을 포함할 수 있다. 이하에서 더 자세하게 도시되는 바와 같이, 엔터프라이즈 시스템내에서 성능 또는 이용도 문제가 감지되면, 멀티 대칭 트랜잭션들이 자동적으로 즉시 생성될 수 있다. 그리고 나서 상기 문제의 원인을 결정하기 위한 노력으로, 이러한 각각의 트랜잭션들에 의해 제공된 데이터가 연관된다(correlated). 이러한 즉각 연관 능력(immediate correlation capability)은 매우 유용한 문제 해결 툴이고, 현저한 이점을 제공한다. 추가적인 이점으로, 본 발명의 실시예들은 상기 합성 트랜잭션들에 의해 필요한 성능로드(performance load)를 감소시키는 경향이 있다.
도 3은 상기 백엔드 엔터프라이즈 컴퓨팅 시스템 리소스들(304)에 의해 제공되는 서비스들에 대한 엑세스를 획득하기 위해서, 인터넷(330)을 통해서 트랜잭션 서버(302)와 통신할 수 있는 바람직한 클라이언트 디바이스들(308-314)을 더 도시한다. 더욱 자세하게는, 클라이언트 서비스들(308-314)이 트랜잭션 서버(302)를 통해 상기 엔터프라이즈 시스템에 요청들(requests)을 제출(submit)하고, 이를 통해 트랜잭션들의 생성이 유발된다. 상기 트랜잭션들은 트랜잭션 서버(302) 및 백엔드 엔터프라이즈 컴퓨팅 시스템 리소스들(304)에 의해 프로세스된다. 클라이언트 디바이스들(308-314)은 예를 들어 도 1내에서 도시된 클라이언트들(110-114)와 같이 클라이언트 다바이스들의 예들이고, 트랜잭션서버(302)는 예를 들어 거기에 도시된 서버들(104 및 106)과 같이 서버의 일 예이다. 트랜잭션 서버(302), 클라이언트(306) 및 클라이언트들(308-314)는 각각 도 3의 상기 전자 비지니스 시스템의 네트워크 토폴로지의 요소들을 포함한다.
도 3을 더 참조하면, 바람직한 모니터링 에이전트들(318-328)과 함께 모니터링 서버(316)가 도시되어 있다. 모니터링 서버(316) 및 그의 에이전트들은 일반적으로 상기 서버(302) 및 리소스들(304)에 의한 상기 트랜잭션의 프로세싱을 모니터하기 위해서 제공되고, 그리고 상기 모니터된 트랜잭션들에 의해 획득된 성능 및 이용도 데이터가 데이터베이스(332)내에 저장된다. 트랜잭션 서버(302)의 요소들과 백엔드 컴퓨팅 리소스들(304)는 예를 들어 호스트 컴퓨터들, JSP(Java Server Pages), 서블렛들(servlets), 엔티티 빈들, 데이터 연결 및 기타 등등의 하드웨어 및 소프트웨어 요소들을 포함할 수 있다.
상기 각각의 요소들은 그들 자신의 성능 특징(performance characteristic) 세트를 가지고 있다. 따라서, 모니터링 서버(316)는 상기 엔터프라이즈 시스템이 트랜잭션들을 핸들링하는 방법의 표시(indication)를 획득하기 위해서, 이러한 성능 특징을 포함하는 데이터를 수집하고 저장한다. 상기 수집되고 저장된 데이터는 상기 서버(302)의 상기 다양한 요소들 및 백엔드 컴퓨팅 시스템 리소스들(304)의 성능 파라미터들과 관련된다. 이러한 파라미터들의 예들로는 특정 요소가 트랜잭션을 프로세싱하는데 소비하는 시간량, SQL 쿼리, 자바가상머신(JVM)내의 클래스명 및 인스턴스ID를 포함하는 요소 정보, 메모리 사용 통계(memory usage statistics) 및/또는 일반적인 시스템의 성질들을 포함한다.
성능 데이터를 수집하는 것뿐만 아니라, 모니터링 서버(316)는 또한 트랜잭션 서버(302)의 이용도를 포함하는 데이터를 모니터하고 획득한다. 전자 비지니스는 상기 트랜잭션 서버 없이는 수행될 수 없기 때문에, 분명히 상기 서버의 이용도는 다른 무엇보다도 중요하다. 여기서 사용된 바와 같이, "이용도(availability)"은 일반적으로 특정 트랜잭션의 이용도 및 성능을 나타낸다. 즉, 만약 트랜잭션이 인터럽션이 발생하면, 이 트랜잭션은 이용도의 문제가 발생한 것이다. 실제 이슈는 트랜잭션 서버, 데이터베이스 또는 라우터일 수 있다. 유용하게는, 성능 데이터 및 이용도는 상기 데이터가 획득되는 트랜잭션들의 다른 타입들에 따라 조직될 수 있다. 대안으로 또는 추가적으로, 상기 데이터는 획득된 데이터에 대해 생성된 합성 트랜잭션들에 의해 작동되거나 실행되는 서로 다른 요소들에 따라 조직될 수 있다.
서버(316)의 상기 트랜잭션 모니터링 시도들은 각각 합성 트랜잭션 실행 엔진을 포함하는 모니터링 에이전트들(318-328)에 의해서 도움을 받을 수 있다. 이전에 수집된 성능데이터로부터, 실제 과거의 트랜잭션들로부터 파생된 트랜잭션들이 데이터베이스(332)내에 기록되고 저장된다. 모니터링 서버(316)는 트랜잭션 재생 스케쥴 및 합성 트랜잭션 재생 에이전트들(318-328)에 특화된 트랜잭션을 전송하고 이를 통해서 상기 에이전트들은 특정 기록된 트랜잭션들을 포함하는 합성 트랜잭션들을 실행할 것이다. 각각의 합성 트랜잭션들의 스케쥴링은 이하에서 보다 자세하게 기술되는 본 발명의 실시예들에 따라 수행된다. 주어진 에이전트(318-328)이 특정 합성 트랜잭션을 실행하는 것이 요청될 때, 상기 에이전트는 특정 트랜잭션을 데이터베이스(332)로부터 추출하고(pull), 이를 실행하기 위해서 진행한다. 더욱이, 상기 에이전트는 상기 합성 트랜잭션의 실행에 반응하여 제공된 성능 데이터를 모니터하고, 그러한 성능 데이터를 모니터링 서버(316)로 전송하다. 합성 트랜잭션의 일반적인 타입은 각각의 웹 애플리케이션들 등을 식별하는 URL들의 시퀀스를 포함한다.
본 발명의 실시예들에 따라, 도 3은 다수의 구역(zone)(예를 들어 구역 1,2 및 3)으로 파티션 된 도시된 전자 비지니스 시스템의 네트워크 토폴로지를 보여준다. 또한 다수의 실행 에이전트들은 각각의 구역에 위치한다. 따라서 에이전트들(318 및 320)은 클라이언트들(308 및 310)과 같은 구역내에 있고, 그리고 에이전트들(326과 328)은 클라이언트(306) 및 백엔드 컴퓨팅 리소스들(304)와 같은 구역에 있다. 도 3에 세 개의 구역들을 도시되었지만, 본 발명은 여기에 한정되는 것은 아니다. 그러나 모니터링 서버(316)가 각각의 에이전트(318-328)가 위치하거나 또는 관련된 구역을 아는 것은 중요하다.
본 발명의 실시예들과 일치하여, 서로 다른 이유들 또는 기준들이 각각의 네트워크 구역을 선택하거나 또는 수립하는데 사용될 수 있다. 예를 들어, 서로 다른 인터넷 서비스 제공자(ISP)를 통해 트랜잭션 서버(302)를 통해서 통신하는 클라이언트들은 서로 다른 구역에 포함될 수 있다. 대안으로, 서로 다른 구역들은 이-비지니스 시스템의 서로 다른 대형 고객들에 대해 정해질 수 있거나, 또는 구역들은 각각 서로 다른 도시들 또는 서로 다른 국가들로부터의 고객들에 연관될 수 있다. 또한 상기 인터넷이 서로 다른 구역으로 정의된 반면, 클라이언트(306) 및 백엔드 컴퓨팅 리소스들(304)는 하나의 구역으로 정의된 엔터프라이즈 네트워크 내에 있을 수 있다. 몇몇 실시예들에서는, 유저들은 상기 네트워크 어드레스에 매치하는 표현에 기반하여, 모니터링 서버에서 그들 자신의 커스터마이즈된 구역을 정의할 수 있다.
도 3은 스케쥴러 요소(334) 및 리포팅 요소(336)를 포함하는 모니터링 서버(306)를 도시하고, 모니터링 서버(316)로부터 데이터를 수신하는 연관 서버(338)를 더 도시한다. 다른 실시예들에서, 상기 연관 서버는 모니터링 서버(216)로 통합될 수 있다. 필요시 각각의 모니터링 에이전트들(318-328)의 다이나믹한 스케쥴링 작업에 의해서, 스케쥴러(334)가 본 발명의 일 실시예에서 매우 중요한 기능을 수행한다는 것이 이해되어질 것이다. 더 자세하게는, 전자 비지니스 시스템 트랜잭션들에서 실패(fault)나 에러가 없는 것으로 나타날 때, 스케쥴러(334)는 각각의 에이전트들을 노멀 모드로 작동시킨다. 노멀 모드에서의 작동에서, 최소 숫자의 에이전트들이 주어진 시간에 합성 트랜잭션을 실행하기 위해 스케쥴되고, 실행 빈도는 비교적 낮다. 이는 노멀 모드 작동동안 합성 트랜잭션 실행의 오버해드를 낮게 유지하는 것을 허용한다. 일 예로서, 노멀 모드에서는 매 15분마다 4개의 다른 구역들 중 어느 하나의 에이전트가 트랜잭션 서버(302)로 향하는 합성 트랜잭션을 실행할 수 있다.
도 3은 상호작용(interact)를 위해서 스케쥴러 요소(334)에 연결된 관리자 클라이언트(340)를 더 도시한다. 클라이언트(340)는 도 3의 전자 비지니스 시스템에 대해 인간 관리자에 의해서 작동되는 컴퓨터 또는 데이터 프로세싱 시스템을 포함할 수 있다. 이와 같이 상기 관리자는 모니터링 서버(316) 및 이의 각각의 에이전트들에 의해 수집함에 따라, 시스템의 문제들 및 다른 상태들에 관련된 데이터를 획득하기 위해서 클라이언트(340)을 이용할 수 있다. 상기 클라이언트(340)은 또한 노멀 모드 작동에 대한 스케쥴을 설정하기 위해 그리고 상기 시스템에 대한 다른 룰(rule)들을 제공하기 위해 관리자에 의해 사용될 수 있다.
합성 트랜잭션으로부터 발생한 데이터가 문제를 나타낼 때에는, 예를 들어 상기 트랜잭션 서버의 성능 실패 또는 비이용도, 상기 스케쥴러(334)는 재빨리 다이나믹 스케쥴링 모드로 이동한다. 따라서, 합성 트랜잭션들을 생성하기 위한 상기 노멀 또는 스케쥴된 모드는 무시된다. 다이나믹 모드에서는, 스케쥴러(334)가 다른 에이전트들에게 상기 감지된 실패 또는 에러와 일부 연결이나 관련을 가지는 합성 트랜잭션들을 수행하도록 바로 지시할 것이다. 이러한 추가적인 트랜잭션들로부터의 데이터는 상기 에이전트들에 의해서 수집되고, 그리고 모니터링 서버(316)를 통해서 연관서버(338)로 전송된다. 그리고나서 서버(338)는 상기 문제의 정도를 결정하려고 그리고 상기 문제가 상기 이-비지니스의 상기 네트워크 토폴로지의 특정 섹션에 제한되는지를 더 결정하기 위한 노력으로서, 상기 데이터를 연관시킨다(correlate). 따라서, 즉시 연관 능력은 상기 문제의 원인을 감지하는데 가치있는 도움을 제공하기 위해서, 자동적으로 사용된다.
상기 다이나믹 스케쥴링 모드에 대한 일 실시예에서, 만약 주어진 합성 트랜잭션이 상기 구역들 중 어느 하나내에서 이용도 또는 성능 실패의 감지라는 결과를 낳으면, 상기 동일한 합성 트랜잭션이 다른 구역들 각각내의 하나의 에이전트로부터 즉시 실행된다. 만약 다른 구역들 모두에서 이러한 이용도 실패를 경험하면, 이 실패는 상기 시스템 네트워크 토폴로지의 특정 부분에 관련된 네트워크 문제들이 아니라는 결론이 지어질 수 있다. 더 정확히 말하면, 상기 문제는 네트워크 전체(network-wide)의 이용도 문제이거나 또는 상기 트랜젝션 서버에서의 이용도 문제 중 어느 하나 때문이다. 다른 한편으로는, 만약 상기 실패가 상기 구역들 중 하나로 제한되는 것으로 보이면, 상기 주어진 트랜잭션은 동일한 구역내의 다른 에이전트상에서의 실행을 위해 다이나믹하게 스케쥴된다. 이러한 실행으로부터 발생한 데이터는 상기 문제가 상기 문제를 최초로 감지한 특정 모니터링 에이전트와 관련되지 않은 것으로 확정짓기 위해 사용될 수 있다.
만약 상기 문제가 상기 트랜잭션 서버와 관련된 것으로 나타나면, 다이나믹하게 스케쥴된 합성 트랜잭션들에 의해 제공된 데이터의 연동이 수행된 후에, 상기 모니터링 서버는 동일한 트랜잭션 서버를 이전에 사용한 다른 이-비지니스 트랜잭션들을 식별할 수 있다. 이는 상기 URL들내의 통신을 위해, 데이터베이스(332)내에 기저장된 기록된 트랜잭션들의 분석에 의해 수행될 수 있다. 이러한 트랜잭션들은 어떻게 상기 문제가 넓게 퍼졌는지를 결정하기 위해서, 즉시 요청될 수 있고 실행될 수 있다.
위의 논의는 본 발명의 실시예들이 어떻게 데이터 연관에 접근하는 두 축(axis)을 제공할 수 있는지를 나타낸다. 제1 축은 다수의 서로 다른 에이전트 위치들로부터 초기화된 합성 트랜잭션으로부터 획득한 데이터와 관련된다. 제2 축은 데이터를 획득하기 위해서 서로 다르지만 관련된 합성 트랜잭션들의 사용과 관련된다. 예를 들어, 도 3에 도시된 엔터프라이즈로부터 책을 주문하기 위한 트랜잭션과 책 주문을 취소하기 위한 트랜잭션이 동일한 요소들 또는 인프라구조를 필요로 할 수 있다. 따라서, 만약 주문 트랜잭션과 관련된 문제가 있었다면, 동일한 문제가 감지되는지를 보기 위해서, 합성 취소 트랜잭션을 다이나믹하게 스케쥴하는 것이 유용할 것이다.
관련된 트랜잭션들의 다른 예로는 특정 트랜잭션의 안전 또는 비안전(secure or nonsecure) 버젼들이 있을 수 있다. 두 버젼들은 동일한 데이터베이스를 이용한다. 따라서 데이터베이스에 문제가 있다면, 양 버젼에 대한 합성 트랜잭션들이 실패(fail)로 나타날 것이다.
리포팅 요소(336)는 상기 이-비지니스 시스템의 트랜잭션들에서 발생하는 상태들(conditions) 또는 이벤트들의 관리자 또는 다른 유저를 식별하기 위한 수단을 제공한다. 예를 들어, 상기 연관서버(338)이 문제의 소스에 대한 결론에 도달한 다음에, 이 정보는 최초 응답자(first responder)로 식별된 사람에게 접촉하기 위해서, 리포팅 요소(336)에 의해 표시될 수 있다. 그리고나서 상기 정보는 상기 문제에 대한 솔류션을 구현하기 위해 사용될 수 있다. 또한 상기 리포팅 요소는 유저에 의해서 쿼리(예를 들어 최근 합성 트랜잭션들의 시리즈로부터의 결과에 따라 시스템의 이용도를 표시하도록) 될 수 있다.
도 4를 참조하면, 본 발명의 일 실시예에 따라 방법 또는 프로시져에 대한 주요 단계들이 도시되어 있다. 단계 402에서, 도 3과 함께 상술된 바와 같이, 특정된 모니터링 에이전트가 특정 구역내에서 합성 트랜잭션을 구동하기 위해서 노멀모드로 작동된다. 상기 특정 에이전트는 합성 트랜잭션을 매 15분마다 실행(일 예로서)하기 위해서 자신의 모니터링 에이전트에 의해 지시될 수 있다. 단계 404에서, 단계(402)의 상기 합성 트랜잭션에 의해 제공된 데이터가 그러한 트랜잭션에 연관된 문제나 실패를 감지하기 위해 분석된다. 만약 문제가 발견되지 않으면, 상기 프로시져는 단계(402)로 리턴한다. 그렇지 않으면 단계(406)이 수행된다.
단계(406)에서, 상기 모니터링 서버는 상기 특정 구역을 제외한 하나 또는 그 이상의 구역내에서의 즉시 구동하도록 상기 단계(402)의 합성 트랜잭션을 다이나믹하게 스케쥴링함으로써, 문제 감지에 응답한다. 유용한 실시예에서, 다이나믹하게 스케쥴된 합성 트랜잭션이 -이것이 짧은 시간안에 실행되는 경우- 즉시 구동된다. 그러한 짧은 시간은 문제 또는 실패의 감지 후에 몇분 일 수 있다. 상기 다이나믹하게 스케쥴된 합성 트랜잭션들의 구동 후에, 단계(408)에서 동일한 문제가 상기 특정 구역을 제외한 다른 구역들에서 감지되는지 여부를 결정한다. 이러한 쿼리에 대한 답변이 긍정이라면, 상기 문제가 네트워크(network wide) 인지 트랜잭션 서버에서인지를 결정하기 위해서, 상기 프로시져는 단계(410)로 이어진다.
만약 단계(408)에서 부정적인 결과가 제공되면, 상기 모니터링 서버는 상기 특정 구역내에서 상기 특정 에이전트를 제외한 하나 또는 그 이상의 에이전트들을 구동하기 위해, 단계(402)의 상기 합성 트랜잭션을 다이나믹하게 스케쥴한다. 이는 단계(412)에 나타난다. 단계(414)는 상기 문제가 상기 특정 에이전트를 제외한 상기 특정 구역내의 에이전트들에 의해서 감지되는지 여부를 결정하기 위해 수행한다. 만약 아니라면, 단계(416)에서 상기 문제는 상기 특정 에이전트에 연관된 것으로 결정된다. 그렇지 않다면, 단계(418)에서 보여지는 바와 같이, 상기 문제의 원인을 결정하기 위해서 추가 분석이 수행된다.
만약 단계(410)의 결정이 상기 트랜잭션 서버에 대한 문제가 있는 것으로 나타나면, 상기 트랜잭션 서버를 사용했던 이전의 트랜잭션들이 즉시 리트리브되고 분석된다. 이는 단계(420)에서 보여진다. 반면에, 만약 문제가 네트워크에 있는 것으로 결정되면, 상기 문제의 원인을 결정하기 위해서 추가 분석이 단계(422)에서 수행된다.
본 발명은 전체적으로 하드웨어 구현, 전체적으로 소프트웨어 구현 또는 하드웨어와 소프트웨어 요소들 둘다를 포함하는 구현의 형태를 취할 수 있다. 바람직한 실시예에서, 본 발명은 펌웨어, 레지던트 소프트웨어, 마이크로 코드 등등을 포함하는(이에 한정되는 것은 아님) 소프트웨어로 구현된다.
또한, 본 발명은 컴퓨터 또는 그 어떤 명령 실행 시스템에 의해서 또는 이들과 연결하여 사용할 수 있는 프로그램 코드를 제공하는 컴퓨터-사용가능 또는 컴퓨터-판독가능 매체로부터 엑세스 가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 이러한 설명을 위한 목적으로, 컴퓨터-사용가능 또는 컴퓨터 판독가능 매체는 상기 명령실행 시스템, 장치 또는 디바이스에 의해서 또는 이들과 연결하여 사용하기 위해 상기 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 어떤 유형 장치일 수 있다.
상기 매체는 전자, 자기, 광, 전자기, 적외선 또는 반도체 시스템(또는 장치 또는 다비아시) 또는 전파 매체일 수 있다. 컴퓨터-판독가능 매체의 예들로는 반도체 또는 고체상태메모리(solid state memory), 자기 테이프, 착탈 가능한 컴퓨터 디스켓, 램(RAM), 롬(ROM), 강성 자기디스크(rigid magnetic disk) 및 광 디스크를 포함할 수 있다. 광 디스크들의 현재 예들로는 시디롬(CD-ROM), 시디-R/W(CD-R/W) 및 디브디(DVD)를 포함한다.
또한, 컴퓨터 저장 매체는 컴퓨터 판독가능 프로그램 코드를 포함하거나 저장할 수 있고, 이를 통해 상기 프로그램 판독가능 프로그램 코드가 컴퓨터상에서 실행되면, 이러한 컴퓨터 판독가능 프로그램 코드의 실행은 상기 컴퓨터가 통신 링크를 통해서 다른 컴퓨터 판독가능 프로그램 코드를 전송하도록 한다. 이러한 통신 링크는 매체를 이용할 수 있는데, 이는 예를 들어(한정이 아님) 물리적 또는 무전이다.
프로그램 코드의 저장 및/또는 실행에 적합한 데이터 프로세싱 시스템은 시스템 버스를 통해서 직접 또는 간접적으로 메모리 요소에 결합된 적어도 하나의 프로세서를 포함할 것이다. 상기 메모리 요소는 상기 프로그램 코드의 실제 실행동안 사용되는 로컬 메모리, 벌크 저장장치 및 실행동안 코드가 벌크로부터 리트리브 되어야 하는 회수를 감소하기 위해서 적어도 몇몇 프로그램 코드의 임시 저장공간을 제공하는 캐쉬 메모리를 포함할 수 있다.
입/출력 또는 I/O 디바이스들(키보드들, 디스플레이들, 포인팅 디바이스들 등을 포함, 그러나 이에 한정되는 것은 아님)은 직접 또는 중계 입/출력 제어기들을 통해서 상기 시스템에 결합될 수 있다.
또한 네트워크 아답터는 상기 데이터 프로세싱 시스템이 중계 사설 또는 공용 네트워크를 통해서 다른 데이터 프로세싱 시스템들 또는 원격 프린터들 또는 저장 디바이스들에 결합되는 것을 가능케 하기 위해서 상기 시스템에 결합될 수 있다. 모뎀들, 케이블 모뎀 및 이더넷 카드들이 현재 네트워크 아답터들의 사용가능한 타입들 중 몇개이다.
본 발명의 상기 기술은 설명 및 기술의 목적으로 표시되었고, 본 발명을 기술된 형태로 제한하거나 한정하려는 의도는 아니다. 많은 변경 및 변형이 본 기술분야에서 통상의 기술을 가진 자에게는 가능할 것이다. 상기 예들은 본 발명의 사상, 실제 애플리케이션 및 본 기술분야에서 통상의 기술을 가진 자들이 특정 사용법에 적합하도록 다양하게 변형된 다양한 실시예들에 대해서 본 발명을 이해할 수 있도록 가장 잘 설명하기 위한 목적으로 선택되었고 기술되었다.

Claims (15)

  1. 연관된(associated) 네트워크 토폴로지를 가지는 특정 트랜잭션 서버의 작동을 모니터링 하는 방법에 있어서,
    상기 네트워크 토폴로지(topology)내에 다수의 구역(zone)들을 정의하는(defining) 단계;
    하나 또는 그 이상의 모니터링 에이전트들을 상기 구역들 각각에 부여하는(assigning) 단계 -각각의 에이전트는 상기 특정 서버와 함께 합성 트랜잭션들(synthetic transactions)을 선택적으로 구동하도록 적용됨- ;
    연속적인(successive) 합성 트랜잭션들에 연관된 에러들을 감지하기 위해서, 상기 에이전트들에 의해서 수행된 상기 연속적인 트랜잭션들의 결과들을 모니터링 하는 단계; 및
    상기 에이전트들 중 특정한 에이전트(particular one)에 의해서 구동된 특정 합성 트랜잭션(particular synthetic transaction)과 연관된 문제 감지에 응답하여, 하나 또는 그 이상의 에이전트들이 합성 트랜잭션들을 구동하도록 다이나믹하게 스케쥴링하는 단계 -각각의 스케쥴된 트랜잭션(scheduled transaction)은 상기 특정 합성 트랜잭션과 특정 관계(relation)를 가짐 -;를 포함하는
    모니터링 방법.
  2. 제 1항에 있어서,
    상기 감지된 문제의 원인을 결정하기 위해서, 상기 스케쥴된 합성 트랜잭션들 각각의 결과들이 서로 선택적으로 연관되는
    모니터링 방법.
  3. 제 1항에 있어서,
    상기 스케쥴된 트랜잭션들은
    상기 특정 합성 트랜잭션과 연관된 상기 문제의 감지후에, 즉시 각각 구동되는
    모니터링 방법.
  4. 제 2항에 있어서,
    상기 스케쥴 및 연관 작업들은
    상기 에이전트들 각각과 연결된 모니터링 서버에 의해서 수행되는
    모니터링 방법.
  5. 제 2항에 있어서,
    상기 연관된 결과 및 상기 결정된 원인은
    상기 특정 트랜잭션 서버의 유저에게 표시되는
    모니터링 방법.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 문제들이 감지되면, 작동의 노멀 모드 -상기 모니터링 에이전트들이 상기 합성 트랜잭션들을 기정해진 시간에 구동하기 위해서 각각 스케쥴됨- 가 무시되는
    모니터링 방법.
  7. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    에이전트들이 상기 특정 에이전트가 부여된 구역을 제외한 상기 구역들 각각내에서 상기 특정 합성 트랜잭션을 구동하기 위해서 스케쥴되는
    모니터링 방법.
  8. 제 1항 내지 제 7항 중 어느 한 항에 있어서,
    상기 특정 에이전트로서 동일한 구역내에 부여된 하나 또는 그 이상의 에이전트들이 상기 특정 합성 트랜잭션을 구동하기 위해서 각각 스케쥴되는 단계를 더 포함하는
    모니터링 방법.
  9. 제 1항 내지 제 8항 중 어느 한 항에 있어서,
    상기 감지된 실패가 상기 특정 서버에 의해서 발생한 것으로 결정되고, 그리고 상기 특정 서버를 사용하는 이전의 트랜잭션들과 관련된 정보가 리트리브되고 선택적으로 분석되는
    모니터링 방법.
  10. 제 1항 내지 제 9항 중 어느 한 항에 있어서,
    합성 트랜잭션들과 연관된 차후에 감지되는 에러들의 분석시 사용을 위해서, 상기 연속적인 합성 트랜잭션들의 상기 모니터된 결과들이 특정 위치에 저장되는
    모니터링 방법.
  11. 제 1항 내지 제 10항 중 어느 한 항에 있어서,
    하나 또는 그 이상의 상기 에이전트들이 특정 합성 트랜잭션에 일반적인 인프라 구조를 사용하는 것으로 알려진 상기 합성 트랜잭션을 구동하기 위해 다이나믹하게 스케쥴되는
    모니터링 방법.
  12. 연관된 네트워크 토폴로지를 가지는 특정 트랜잭션 서버의 작동을 모니터링 하기 위한 컴퓨터 가독 가능한 매체에서 실행가능한 컴퓨터 프로그램 제품에 있어서,
    상기 네트워크 토폴로지내에 다수의 구역들을 정의하기 위한 명령;
    하나 또는 그 이상의 모니터링 에이전트들을 상기 구역들 각각에 부여하기(assigning) 위한 명령 -각각의 에이전트는 상기 특정 서버와 함께 합성 트랜잭션들(synthetic transactions)을 선택적으로 구동하도록 적용됨- ;
    연속적인(successive) 트랜잭션들에 연관된 에러들을 감지하기 위해서, 상기 에이전트들에 의해서 수행된 상기 연속적인 합성 트랜잭션들의 결과들을 모니터링 하기 위한 명령; 및
    하나 또는 그 이상의 에이전트들이 합성 트랜잭션들을 구동하도록 다이나믹하게 스케쥴링함으로써, 상기 에이전트들 중 특정한 에이전트(particular one)에 의해서 구동된 특정 합성 트랜잭션과 연관된 문제 감지에 응답하는 명령 -각각의 스케쥴된 트랜잭션은 상기 특정 합성 트랜잭션과 특정 관계를 가짐 -;를 포함하는
    컴퓨터 프로그램 제품.
  13. 연관된 네트워크 토폴로지를 가지는 특정 트랜잭션 서버의 작동을 모니터링 하기 위한 장치에 있어서,
    상기 네트워크 토폴로지내의 다수의 구역들 중 하나에 각각 부여된 다수의 모니터링 에이전트들 -각각의 에이전트는 상기 특정 서버와 함께 합성 트랜잭션들을 선택적으로 구동하도록 적용됨-;
    연속적인 트랜잭션들에 연관된 에러들을 감지하기 위해서, 상기 에이전트들에 의해서 수행된 상기 연속적인 합성 트랜잭션들의 결과들을 모니터링 하기 위한 수단들; 및
    하나 또는 그 이상의 에이전트들이 합성 트랜잭션들을 구동하도록 다이나믹하게 스케쥴링함으로써, 상기 에이전트들 중 특정한 에이전트에 의해서 구동된 특정 합성 트랜잭션과 연관된 문제 감지에 응답하는 수단 -각각의 스케쥴된 트랜잭션은 상기 특정 합성 트랜잭션과 특정 관계를 가짐 -;를 포함하는
    모니터링 장치.
  14. 제 13항에 있어서,
    상기 장치는
    상기 감지된 문제의 원인을 결정하기 위해서, 상기 스케쥴된 합성 트랜잭션들의 결과들을 서로 연관시키는 연관부 요소(correlator component)를 더 포함하고, 그리고 선택적으로 상기 스케쥴 및 연관 작업이 상기 에이전트들 각각에 연결된 모니터링 서버에 의해서 수행되는
    모니터링 장치.
  15. 제 13항에 있어서,
    상기 특정 합성 트랜잭션과 연관된 상기 문제의 감지 후에, 상기 스케쥴된 트랜잭션들이 즉시 각각 구동되는
    모니터링 장치.

KR1020107009941A 2007-11-30 2008-11-28 이-비지니스 시스템들의 성능 및 이용도를 모니터하기 위해 다이나믹하게 스케쥴된 합성 트랙잭션들을 사용하는 방법 KR20100095520A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/947,965 2007-11-30
US11/947,965 US8326971B2 (en) 2007-11-30 2007-11-30 Method for using dynamically scheduled synthetic transactions to monitor performance and availability of E-business systems

Publications (1)

Publication Number Publication Date
KR20100095520A true KR20100095520A (ko) 2010-08-31

Family

ID=40383536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107009941A KR20100095520A (ko) 2007-11-30 2008-11-28 이-비지니스 시스템들의 성능 및 이용도를 모니터하기 위해 다이나믹하게 스케쥴된 합성 트랙잭션들을 사용하는 방법

Country Status (6)

Country Link
US (1) US8326971B2 (ko)
EP (1) EP2240858B1 (ko)
JP (1) JP5325230B2 (ko)
KR (1) KR20100095520A (ko)
TW (1) TW200928727A (ko)
WO (1) WO2009068642A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110004926A1 (en) * 2009-07-01 2011-01-06 International Business Machines Coporation Automatically Handling Proxy Server and Web Server Authentication
US20130067069A1 (en) * 2011-09-13 2013-03-14 International Business Machines Corporation Flow topology of computer transactions
WO2013081577A1 (en) * 2011-11-28 2013-06-06 Empire Technology Development Llc Scheduling for enhancing communication performance
US8418000B1 (en) 2012-03-13 2013-04-09 True Metrics LLC System and methods for automated testing of functionally complex systems
US10102097B2 (en) * 2012-07-12 2018-10-16 International Business Machines Corporation Transaction server performance monitoring using component performance data
EP2698680B1 (en) * 2012-08-13 2015-06-10 Uptime Engineering GmbH Method for testing the reliability of complex systems
US9858549B2 (en) * 2014-02-03 2018-01-02 Cisco Technology, Inc. Business transaction resource usage tracking
GB2527798A (en) 2014-07-02 2016-01-06 Ibm Synchronizing operations between regions when a network connection fails
US10021214B2 (en) * 2014-07-22 2018-07-10 Microsoft Technology Licensing, Llc Synthetic transactions between communication endpoints
US9436553B2 (en) * 2014-08-04 2016-09-06 Microsoft Technology Licensing, Llc Recovering usability of cloud based service from system failure
US9639445B2 (en) * 2014-10-09 2017-05-02 Insightete Corporation System and method for comprehensive performance and availability tracking using passive monitoring and intelligent synthetic activity generation for monitoring a system
US10313406B2 (en) 2016-11-01 2019-06-04 Microsoft Technology Licensing, Llc Synthetic transaction to determine centroid for cloud hosting
US11070581B1 (en) * 2017-08-24 2021-07-20 Wells Fargo Bank, N.A. Eliminating network security blind spots
US10554626B2 (en) 2017-11-29 2020-02-04 International Business Machines Corporation Filtering of authenticated synthetic transactions
US11442836B2 (en) * 2018-02-23 2022-09-13 Dynatrace Llc Method and system for real-time correlation of disparate sources of topological information to create a unified topological model of a distributed information system
US11182754B2 (en) * 2018-08-28 2021-11-23 Jpmorgan Chase Bank, N.A. Methods for synthetic monitoring of systems
CN115174367B (zh) * 2022-07-07 2024-01-26 安天科技集团股份有限公司 一种业务系统边界确定方法、装置、电子设备及存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2665380B2 (ja) * 1989-06-30 1997-10-22 富士通株式会社 システム異常の検出処理方式
US5881237A (en) * 1996-09-10 1999-03-09 Ganymede Software, Inc. Methods, systems and computer program products for test scenario based communications network performance testing
US6286046B1 (en) * 1997-12-22 2001-09-04 International Business Machines Corporation Method of recording and measuring e-business sessions on the world wide web
US6108800A (en) * 1998-02-10 2000-08-22 Hewlett-Packard Company Method and apparatus for analyzing the performance of an information system
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
WO2000019320A1 (en) * 1998-09-30 2000-04-06 Netscout Service Level Corporation Evaluating computer resources by end-user emulation
US6397359B1 (en) * 1999-01-19 2002-05-28 Netiq Corporation Methods, systems and computer program products for scheduled network performance testing
US6425009B1 (en) * 1999-06-08 2002-07-23 Cisco Technology, Inc. Monitoring redundant control buses to provide a high availability local area network for a telecommunications device
US6483813B1 (en) * 1999-06-25 2002-11-19 Argentanalytics.Com, Inc. Systems for monitoring command execution time
US6449739B1 (en) * 1999-09-01 2002-09-10 Mercury Interactive Corporation Post-deployment monitoring of server performance
US6477483B1 (en) * 2000-01-17 2002-11-05 Mercury Interactive Corporation Service for load testing a transactional server over the internet
JP2001325126A (ja) * 2000-05-15 2001-11-22 Matsushita Electric Ind Co Ltd コンピュータシステム監視方法及びコンピュータシステム監視装置
US6799213B1 (en) * 2000-08-31 2004-09-28 Sprint Communications Company, L.P. System and method for performing interactive server load testing through use of one or more virtual users being configured as a server client capable of transmitting one or more server test actions
US20020059079A1 (en) * 2000-10-27 2002-05-16 Negri Franco R. E-service business model
US7181519B2 (en) * 2000-12-11 2007-02-20 Silverback Technologies, Inc. Distributed network monitoring and control system
US7937470B2 (en) * 2000-12-21 2011-05-03 Oracle International Corp. Methods of determining communications protocol latency
US7506047B2 (en) * 2001-03-30 2009-03-17 Bmc Software, Inc. Synthetic transaction monitor with replay capability
US20020198985A1 (en) * 2001-05-09 2002-12-26 Noam Fraenkel Post-deployment monitoring and analysis of server performance
US7111204B1 (en) * 2001-08-01 2006-09-19 Agilent Technologies, Inc. Protocol sleuthing system and method for load-testing a network server
US7194535B2 (en) * 2001-10-01 2007-03-20 Ixia Methods and systems for testing stateful network communications devices
US8260907B2 (en) * 2002-04-04 2012-09-04 Ca, Inc. Methods, systems and computer program products for triggered data collection and correlation of status and/or state in distributed data processing systems
US7058953B2 (en) 2002-07-23 2006-06-06 Microsoft Corporation Managing a distributed computing system
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
WO2004036366A2 (en) * 2002-10-16 2004-04-29 Synthetic Networks, Inc. Load testing methods and systems with transaction variability andconsistency
US7543051B2 (en) * 2003-05-30 2009-06-02 Borland Software Corporation Method of non-intrusive analysis of secure and non-secure web application traffic in real-time
US7409676B2 (en) 2003-10-20 2008-08-05 International Business Machines Corporation Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
US7613105B2 (en) * 2004-01-30 2009-11-03 Microsoft Corporation Methods and systems for removing data inconsistencies for a network simulation
WO2005083571A1 (en) 2004-03-01 2005-09-09 Izuki Corporation A method of controlling the operation of a computing system arranged to interact with other entities
US20060020866A1 (en) * 2004-06-15 2006-01-26 K5 Systems Inc. System and method for monitoring performance of network infrastructure and applications by automatically identifying system variables or components constructed from such variables that dominate variance of performance
US20060085420A1 (en) 2004-09-27 2006-04-20 Symphoniq Corp. Method and apparatus for monitoring real users experience with a website
US7822837B1 (en) * 2004-12-30 2010-10-26 Packeteer, Inc. Adaptive correlation of service level agreement and network application performance
JP4313336B2 (ja) * 2005-06-03 2009-08-12 株式会社日立製作所 監視システムおよび監視方法
US7481361B2 (en) * 2005-09-29 2009-01-27 International Business Machines Corporation Method and system for identifying unsafe synthetic transactions and modifying parameters for automated playback
US8051163B2 (en) * 2006-05-11 2011-11-01 Computer Associates Think, Inc. Synthetic transactions based on system history and load

Also Published As

Publication number Publication date
EP2240858A1 (en) 2010-10-20
US8326971B2 (en) 2012-12-04
WO2009068642A1 (en) 2009-06-04
TW200928727A (en) 2009-07-01
JP2011505043A (ja) 2011-02-17
JP5325230B2 (ja) 2013-10-23
US20090144409A1 (en) 2009-06-04
EP2240858B1 (en) 2015-11-04

Similar Documents

Publication Publication Date Title
US8326971B2 (en) Method for using dynamically scheduled synthetic transactions to monitor performance and availability of E-business systems
US8510430B2 (en) Intelligent performance monitoring based on resource threshold
US7623463B2 (en) Performance evaluation of a network-based application
US9369521B2 (en) Naming of distributed business transactions
US7702783B2 (en) Intelligent performance monitoring of a clustered environment
US7849188B2 (en) End-to-end tracking of asynchronous long-running business process execution language processes
US7934003B2 (en) Method and system for monitoring performance of distributed applications
US9122715B2 (en) Detecting changes in end-user transaction performance and availability caused by changes in transaction server configuration
US7747986B2 (en) Generating static performance modeling factors in a deployed system
US7624176B2 (en) Method and system for programmatically generating synthetic transactions to monitor performance and availability of a web application
US20060167891A1 (en) Method and apparatus for redirecting transactions based on transaction response time policy in a distributed environment
JP4677813B2 (ja) サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム
US10776245B2 (en) Analyzing physical machine impact on business transaction performance
WO2013049853A1 (en) Analytics driven development
JP4093483B2 (ja) 解析システム、解析方法、解析プログラム、及び記録媒体
US9866466B2 (en) Simulating real user issues in support environments
US9141460B2 (en) Identify failed components during data collection
US9858549B2 (en) Business transaction resource usage tracking
US9998348B2 (en) Monitoring a business transaction utilizing PHP engines

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application