KR20040062528A - 시스템 및 기업 이벤트의 근본 원인을 상관시키고결정하는 방법 및 시스템 - Google Patents

시스템 및 기업 이벤트의 근본 원인을 상관시키고결정하는 방법 및 시스템 Download PDF

Info

Publication number
KR20040062528A
KR20040062528A KR10-2004-7000159A KR20047000159A KR20040062528A KR 20040062528 A KR20040062528 A KR 20040062528A KR 20047000159 A KR20047000159 A KR 20047000159A KR 20040062528 A KR20040062528 A KR 20040062528A
Authority
KR
South Korea
Prior art keywords
root cause
corporate
event
correlation
events
Prior art date
Application number
KR10-2004-7000159A
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 KR20040062528A publication Critical patent/KR20040062528A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

기업 구성 요소들의 복잡한 시스템을 관리하는 것을 단순화하기 위한 방법, 시스템, GUI, API, 컴퓨터 판독 가능 기록 매체, 및 자료 구조가 제공된다. 본 컴퓨터 실행 가능 방법은 기업 이벤트의 근본 원인을 상관시키고 결정하는 단계를 포함한다. 따라서, 기업 구성 요소 관리는 근본 원인 이벤트로부터 징후적인 이벤트를 자동적으로 구별함으로써 단순화되며, 이는 적시에 적절한 유지 조치를 취하는 것을 용이하게 한다. 본 시스템은 이벤트를 수신하고 상관시키며 그러한 수신된, 상관된 이벤트들의 시간 관련 세트로부터 근본 원인 이벤트를 진단하기 위한 컴퓨터 기반 시스템을 제공한다. 본 시스템은 이벤트를 수신하고 저장하며 상관시키기 위한 컴퓨터 구성 요소와 그러한 이벤트 및 관련되는 상관 규칙을 분석하기 위한 근본 원인 결정기를 포함한다.

Description

시스템 및 기업 이벤트의 근본 원인을 상관시키고 결정하는 방법 및 시스템{METHOD AND SYSTEM FOR CORRELATING AND DETERMINING ROOT CAUSES OF SYSTEM AND ENTERPRISE EVENTS}
기업(enterprise)은 서버, 라우터, 데이터베이스, 메인프레임, PC, 인공 지능(intelligent agent), 영업 어플리케이션(business application)과 같은 수많은 기업 구성 요소를 포함하는 크고 복잡한 컴퓨팅 환경을 사용한다. 복잡한 기업 컴퓨팅 환경을 모니터링하는 시스템은, 예를 들어 발명의 명칭이 "네트워크 구성 요소로의 네비게이션을 표시 및 시뮬레이션하기 위하여 가상 현실 기술을 사용하는네트워크 관리 시스템(Network Management System Using Virtual Reality Techniques to Display and Simulate Navigation to Network Component)"인 미국 특허 제5,958,012호 등에 의하여 종래 기술로서 공지되어 있다. 기업 구성 요소가 디스크 충돌(disk crash), 서버 충돌, 네트워크 정체(network congestion), 데이터베이스 액세스 장애 등과 같은 문제를 겪는 경우, 모니터링 시스템은 상기 기업 구성 요소가 이벤트를 생성 및 보고하는 것에 의존한다. 그러나, 제1 기업 구성 요소가 디스크 충돌과 같은 문제를 겪는 경우, 상기 문제로 인하여 그 외의 기업 구성 요소가 데이터 액세스 장애와 같은 문제를 겪게 되는 파급 효과(ripple effect)가 발생할 수 있다. 따라서, 종래의 모니터링 시스템이 기업 구성 요소로부터 수신하는 기업 이벤트의 상당수는 근본적인 이벤트(fundamental event), 즉 근본 원인 이벤트(root cause event)라기보다는, 다른 근본적인 이벤트의 결과로서 생성 및/또는 보고되는 징후적인 이벤트(symptomatic event)이다. 징후적인 이벤트와 근본 원인 이벤트를 구별하는 것은 지금껏 힘든 일이었고, 숙련된 운영자와 상당한 시간을 필요로 했다.
기업 컴퓨팅 환경의 하드웨어 및 소프트웨어 구성 요소간에 존재하는 관계(relationship) 및 의존 관계(dependency)로 인하여 단일의 근본 원인으로부터 징후적인 이벤트들이 생성되며, 상기 징후적인 이벤트는 운영자를 혼동시키고 근본 문제의 식별을 지연시킴으로써 상기 근본 문제의 해결 또한 지연시킨다. 예를 들어, 데이터 베이스 관리 프로그램과 같은 소프트웨어 구성 요소는 데이터베이스 관리 기능을 수행하기 위하여 프로세서 및 디스크와 같은 적어도 두 개의 하드웨어에의존한다. 따라서, 디스크 또는 프로세서가 문제를 겪으면 디스크 및/또는 프로세서가 디스크 기록 장애와 같은 기업 이벤트를 생성 및 보고할 뿐 아니라, 데이터베이스 액세스 시도에 장애가 발생하였을 때 데이터베이스 관리 프로그램이 데이터 베이스 기록 장애와 같은 기업 이벤트를 생성 및 보고할 것이다. 따라서, 기업 컴퓨팅 환경을 모니터링하는 시스템 및/또는 방법은 데이터베이스 관리 프로그램으로부터의 징후적인 이벤트와 하드웨어로부터의 근본 원인 이벤트를 모두 제공받을 것이다. 종래에는, 징후적인 이벤트와 근본 원인 이벤트를 구별하는 것이 어려웠다.
본 출원은 발명의 명칭이 "시스템 및 기업 이벤트의 근본 원인을 상관시키고 결정하는 방법 및 시스템(Method and System Correlating and Determining Root Causes of System and Enterprise Events)"이고 2001년 7월 6일자로 출원된 미국 가출원 제60/303,447호에 대하여 우선권을 주장한다.
본 명세서에서 설명되는 방법, 시스템, 그래픽 사용자 인터페이스(graphical user interface; GUI), 컴퓨터 판독 가능 기록 매체 및 어플리케이션 프로그래밍 인터페이스(application programming interface; API)는 일반적으로 정보 및 데이터 관리에 관한 것으로, 특히 기업 이벤트의 모니터링 및 필터링에 관한 것이다.
도 1은 기업 관리를 위한 예시적인 시스템 및/또는 방법을 지원할 수 있는 예시적인 컴퓨팅 환경의 블록도.
도 2는 트랜잭션 파이프라인(transaction pipeline)의 두 개의 예를 도시하는 도면.
도 3은 근본 원인 결정 시스템 및/또는 방법의 협동 세트(cooperating set)의 예시적인 네트워크 구성을 도시하는 도면.
도 4는 기업 이벤트의 근본 원인을 결정하는 예시적인 시스템을 도시하는 블록도.
도 5는 기업 이벤트의 근본 원인을 결정하는 예시적인 시스템으로서, 영향 분석기(impact analyzer)를 포함하는 시스템을 도시하는 도면.
도 6은 기업 이벤트의 근본 원인을 결정하는 시스템과 연관되는 예시적인 로깅 데이터 저장소(logging data store)를 도시하는 블록도.
도 7은 기업 관리 시스템 및/또는 방법과 함께 사용되는 예시적인 어플리케이션 프로그래밍 인터페이스를 도시하는 도면.
도 8은 예시적인 기업 관리 방법을 도시하는 흐름도.
도 9는 기업 이벤트를 상관 객체와 관련시키는 예시적인 방법을 도시하는 흐름도.
도 10은 상관 규칙 완성(correlation rule completion)이 존재하는지에 대한 결정과 연관되는 예시적인 처리를 도시하는 흐름도,
도 11은 근본 원인 결정기에 의하여 생성되는 지시자에 대한 분석에 기초하는 예시적인 처리를 도시하는 흐름도.
도 12는 예시적인 근본 원인 결정과 연관되는 타이머 처리를 도시하는 흐름도.
아래에서는 시스템 및 기업 이벤트의 근본 원인을 상관시키고 결정하는 구성의 기본적인 이해를 제공하기 위하여 예시적인 기업 관리 방법, 시스템, GUI, 컴퓨터 판독 가능 기록 매체, 및 API의 간단한 설명이 제공된다. 이는 본 발명의 범위를 모두 설명하지 않으며, 본 발명의 키 또는 주요 요소를 식별하거나 본 발명의 범위를 제한하도록 의도되지 않는다.
본 발명의 일 태양은 기업 구성 요소 관리를 위한 컴퓨터 구현 방법에 관한 것이다. 상기 방법은 기업 이벤트가 생성될 수 있는 전후 관계(context)를 설정하는 단계, 기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 하는 상관 규칙(correlation rule)을 설정하는 단계, 및 기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 하는 기업 구성 요소간의 의존 관계(dependancy)를 설정하는 단계를 포함한다. 이러한 항목들이 설정되었으면, 상기 방법은 관련 기업 이벤트를 수집하고 상관시키는 것을 용이하게 하기 위한 상관 객체(correlation object)를 인스턴스화하는 단계, 기업 이벤트를 수신하는 단계, 및 상기 기업 이벤트가 생성된 전후 관계를 결정하는 단계를 더 포함한다. 이벤트가 수신되었으면, 상기 방법은 상기 기업 이벤트를 상관 객체와 관련시키는 단계, 상기 기업 이벤트가 적용되는 상관 규칙을 갱신하는 단계, 및 상기 이벤트가 생성된 전후 관계, 상관 규칙, 의존 관계, 및 기업 이벤트와 상관 객체간의 관계에 기초하여 상기 이벤트의 근본 원인을 결정하는 단계를 더 포함한다. 근본 원인이 결정되었으면, 상기 방법은 상기 근본 원인과 연관되는 지시자를 생성한다.
본 발명의 또 다른 태양은 기업 이벤트의 근본 원인을 결정하는 시스템에 관한 것이다. 상기 시스템은 기업 이벤트를 수신하는 기업 이벤트 수신기, 기업 이벤트의 근본 원인을 결정하는 것을 용이하게 하는 상관 규칙을 저장하는 상관 규칙 데이터, 및 기업 이벤트의 근본 원인을 결정하는 것을 용이하게 하는 인과 관계(cause and effect relationship)를 저장하는 인과 데이터 저장소를 포함하며, 상기 인과 관계는 둘 이상의 기업 구성 요소를 관련시킨다. 시스템은 또한 후보 근본 원인(candidate root cause)과 연관되며 상관 규칙을 포함하는 상관 객체를 저장하는 상관 객체 데이터 저장소와, 기업 이벤트의 근본 원인을 결정할 때 고려될 기업 이벤트가 근본 원인을 결정하기 전에 수신될 기간을 정의하는 타이머를 포함한다. 상기 시스템은 또한 상관 객체를 분석함으로써 기업 이벤트의 근본 원인을 결정하는 근본 원인 결정기를 포함한다. 근본 원인이 결정되었으면, 이는 시스템에 포함되는 인터페이스 상에 표시될 수 있다.
본 발명의 또 다른 태양은, 그래픽 사용자 인터페이스를 구비하는 컴퓨터 시스템에 관한 것이다. 상기 그래픽 사용자 인터페이스는 디스플레이, 선택 장치(selection device), 및 상기 디스플레이 상에 데이터 엔트리들을 제공하고 상기 엔트리들로부터 선택하는 방법을 포함한다. 상기 방법은 근본 원인 결정 및 근본 원인을 결정할 때 분석된 상관 객체를 나타내는 데이터 엔트리들을 검색하는 단계 및 상기 데이터 엔트리들을 디스플레이 상에 표시하는 단계를 포함한다. 상기 방법은 또한 상기 선택 장치가 어느 데이터 엔트리를 선택하였는지를 지시하는 데이터 엔트리 선택 신호를 수신하는 단계, 및 상기 신호에 응답하여 상기 데이터 엔트리와 연관되는 추가적인 데이터를 선택적으로 제공하는 단계를 더 포함한다.
본 발명의 또 다른 태양은, 기업 이벤트를 결정하는 어플리케이션 프로그램과 결합하여 컴퓨터 구성 요소에 의하여 실행되도록 컴퓨터 판독 가능 기록 매체 상에 구현되는 어플리케이션 프로그램 인터페이스(API) 세트에 관한 것이다. 상기 API는 기업 이벤트를 수신하는 제1 인터페이스, 상기 기업 이벤트가 적용되는 상관 규칙을 수신하는 제2 인터페이스, 상기 제2 인터페이스에 의하여 수신되는 상관 규칙을 포함하는 상관 규칙들의 상관 객체를 수신하는 제3 인터페이스, 상기 기업 이벤트의 근본 원인을 반환하는 제4 인터페이스를 포함하며, 상기 근본 원인은 상기 제3 인터페이스에 의하여 수신되는 상관 객체를 조사함으로써 결정된다.
본 발명의 또 다른 태양은 상관 객체와 연관되는 자료 구조를 저장하는 컴퓨터 판독 가능 기록 매체에 관한 것이다. 상기 상관 객체는 기업 객체 - 상기 기업 객체로부터 기업 이벤트가 수신됨 - 를 식별하는 객체 식별자를 저장하는 필드, 상기 기업 이벤트로부터 검색되는 이벤트 메시지를 저장하는 필드, 및 상기 기업 이벤트가 적용되는 상관 규칙을 저장하는 필드를 포함한다. 상기 상관 객체는 또한 상기 저장된 상관 규칙이 완성된(completed) 정도를 저장하는 필드, 기업 이벤트가 검색될 수 있는 기간을 저장하는 필드, 및 상기 자료 구조가 제공될 수 있는 근본 원인 결정기를 식별하는 근본 원인 결정기 식별자를 저장하는 필드를 더 포함한다.
본 발명의 이러한 태양들에 따라, 상기 방법 등을 도시하는 일부 예들이 아래의 설명 및 첨부된 도면과 함께 설명된다. 그러나, 이러한 예들은 본 방법, 시스템, GUI, API, 및 매체의 원리가 사용될 수 있는 다양한 방법의 단지 일부만을 지시하며, 균등 범위를 포함하도록 의도된다. 그 밖의 장점 및 신규한 특징은 도면을 참조하여 아래의 상세한 설명을 읽으면 명백해질 것이다.
시스템 및 기업 이벤트의 근본 원인을 상관시키는 것에 관한 방법, 시스템, GUI, API, 및 컴퓨터 판독 가능 기록 매체가 도면을 참조하여 설명되며, 모든 도면을 통하여 동일한 도면 부호는 동일한 요소를 참조하는 데에 사용된다. 아래에서, 설명의 편의 및 철저한 이해를 돕기 위하여 많은 특정 세부가 설명된다. 그러나, 근본 원인을 상관시키는 것은 이러한 특정 세부 없이도 실시될 수 있다는 점은 명백하다. 설명을 간단히 하기 위하여, 공지된 구조 및 장치들은 블록도 형태로 나타내어진다.
근본 원인 분석은 기업 이벤트, 기업 구성 요소간의 인과 관계, 이벤트가 생성되는 전후 관계, 및 상기 기업 이벤트들과 관련되는 규칙을 분석함으로써, 복잡한 기업 컴퓨팅 환경에서 외관상 한 무리(cluster)로 인식되는 문제들의 근원적 또는 기초적인 원인(underlying or base cause)을 식별하는 것에 관한 것이다. 예를 들어, 많은 이벤트 상관 규칙의 완성 상태(completion status)를 분석함으로써 근본 원인 분석이 수행되며, 상기 이벤트 상관 규칙들은 상관 객체 내에 수집될 수 있다. 상기 상관 규칙들은 근본 원인 이벤트들을 진단(diagnosing) 및 구별하는 것과 관련되는 인과 관계 세트를 모델링하는 것을 용이하게 한다. 상관 규칙은 기업 구성 요소에 의하여 생성되는 이벤트들로부터 추출되는 데이터에 의하여 채워진다(populated). 상관 규칙의 충분한 수의 구성 요소들이 채워지면, 상기 규칙은 근본 원인을 결정할 때 고려될 수 있다. 규칙의 구성 요소들은 OR, AND, XOR, 및 NOT과 같은 부울 연산(Boolean operation)을 포함하는 방법들에 의하여 결합될 수 있으나, 이들에 국한되지 않는다.
이벤트 및 상관 규칙은 근본 원인 결정기에 의하여 처리될 수 있다. 하나의 이벤트가 근본 원인 결정기에 도착하면, 관련 이벤트가 수집될 기간을 결정하는 타이머가 초기화될 수 있다. 상기 기간이 만료되면(expire), 수집된 이벤트 및 그 이벤트에 의하여 영향 받는 상관 규칙에 기초하여 근본 원인 결정이 수행된다.
일단 근본 원인이 식별되면, 영향 분석(impact analysis)이 수행될 수 있다. 상기 영향 분석은, 예를 들어 기업 이벤트를 조사하고 상기 근본 원인에 대하여 잠재적으로 영향 받을 수 있는 다른 기업 구성 요소들에게 선행적으로 경고할 수 있으며, 장애 복구 처리(failover processing)의 초기화, 유지 처리(maintenance processing)의 초기화, 및/또는 운영 스태프(operation staff)에 대한 경고를 할 수 있다. 이렇게, 근본 원인 결정기는 기업 관리 운영자의 지식과 경험을 이용 및 적용한다.
종래 기술에서, 이벤트 관리 시스템은 기업 컴퓨팅 환경 내에서 생성되는 실질적으로 모든 기업 이벤트를 제공받으며, 이는 기업 이벤트 세트의 근본 원인을 분별하는 것을 어렵게 한다. 따라서, 본 명세서에서 설명되는 방법, 시스템, GUI, API, 및 매체는 근본 원인 이벤트로부터 징후적인 이벤트를 필터링하는 것을 용이하게 함으로써 기업 관리 진단을 단순화한다. 필터링 기술은 이벤트 교정(event reforming) 및 이벤트 은폐(event suppression)를 포함하지만, 이들에 국한되지 않는다. 필터링은, 예를 들어 기업 관리 시스템과 연관되는 콘솔(console)에 표시되는 이벤트의 수 및 빈도를 감소시킨다. 따라서, 기업 관리 기능에 있어서 이러한 콘솔을 사용하는 운영자는 더 작고 집중된 문제 공간(problem space)에 직면할 수 있으며, 이는 향상된 기업 관리로 귀착된다.
일 예에서, 소프트웨어 객체는 에이전트(agent), 어플리케이션, 장치, 및 데이터 저장소와 같은 기업 구성 요소들을 모델링한다. 객체는 상태(state)를 가질 수 있으며, 따라서 관리 상태(managed state), 예상 상태(expected state), 및 유지 상태(maintenance state)를 포함하나 이들에 국한되지 않는 상태에 있을 수 있다. 기업 객체는 관계에 참여할 수 있다. 따라서, 기업 객체는 부자관계(parent/child relationship), 주종 관계(master/slave relationship), 협동 관계(collaborating relationship), 또는 기업 구성 요소들간의 의존 관계를 모델링하는 것을 용이하게 하는 의존(dependency)을 수반하는 관계에 관련될 수 있다. 의존 규칙(dependency rule) 및 상관 규칙을 저장하는 자료 구조는 객체들간의 관계를 포착하는 것을 용이하게 한다.
근본 원인 결정을 용이하게 하기 위하여 기업 구성 요소를 도메인(domain)들로 나누어 조직할 수 있다. 예를 들어, 제1 도메인에 대하여 결정된 근본 원인은 제2 도메인에 대하여 결정된 근본 원인과 결합될 때 상기 두 개의 도메인 근본 원인 중 어느 것이 전체를 지배하는 근본 원인인지 또는 문제의 궁극적인 원인이 근본 원인들의 조합인지에 관한 정보를 제공할 수 있다.
근본 원인 결정기는 기업 컴퓨팅 환경으로부터 이벤트들을 수신한다. 기업 이벤트로부터 수신된 데이터는 이벤트 상관 규칙을 채우는 데에 사용될 수 있다. 근본 원인 결정기는 이벤트들을 수신하고, 이벤트 결정 규칙을 채우며, 이벤트들을 상관시키고 수집하며, 충분한 수의 이벤트들 및/또는 충분한 기간이 경과된 후 관련 이벤트의 근본 원인을 결정한다. 이어서, 근본 원인 결정기는 근본 원인 이벤트를 보고함으로써 관리국, 콘솔, 및/또는 운영자에게 제공되는 이벤트의 수를 감소시킨다.
근본 원인 결정 시스템은 수신된 이벤트를 저장하는 이벤트 로그(event log)및 결정된 근본 원인을 저장하는 근본 원인 로그(root cause log)를 포함할 수 있다. 로그는 근본 원인 결정기가 근본 원인 결정에 도달하는 방법의 이해 및/또는 최적화를 용이하게 하기 위하여 근본 원인 결정기에 의하여 사용되는 논리(reasoning)를 검사하는 데에 사용될 수 있다.
근본 원인 결정 시스템은 또한 근본 원인 결정기에 의하여 분석된 상관 객체 및 결정된 근본 원인을 포함하지만 이들에 국한되지 않는 데이터 항목들을 표시하는 GUI를 포함할 수 있다. 상관 객체를 표시할 때, GUI는 상관 객체와 연관되는 이벤트의 수, 상관 객체에 의하여 고려되는 이벤트의 수, 기간 만료(maturity of a time period)까지의 시간, 상관 객체와 연관되는 후보 근본 원인(candidate root cause), 후보 근본 원인의 신뢰도, 및 상관 객체를 위한 데이터 요건 등과 같은 상관 객체와 연관되는 통계를 표시할 수 있다. 유사하게, 근본 원인을 표시할 때, GUI는 이벤트 전후 관계 데이터, 상관 규칙, 의존 데이터, 상관 객체 식별자, 및 근본 원인 결정 식별자를 포함하지만 이들에 국한되지 않는 정보를 표시할 수 있다.
이렇게, 본 명세서에서 설명된 근본 원인 결정을 통하여 기업 관리를 단순화하고 향상시키는 방법 등은 기업 내의 관계를 포함하는 기업 컴퓨팅 환경의 기술, 기업 구성 요소간의 인과 관계의 정의, 기업 구성 요소의 문제를 지시하는 이벤트의 인식 및 잠재적인 근본 원인 후보들로부터 가장 유력한 근본 원인의 식별을 용이하게 한다.
본 명세서에서 설명된 시스템, 방법, GUI, 및 API의 다양한 태양을 위한 전후 관계(context)를 제공하기 위하여, 도 1 및 아래의 설명은 예시적인 방법, 시스템, GUI, 및 API가 구현될 수 있는 환경의 간략하고 일반적인 설명을 제공한다.컴퓨터 하드웨어 및/또는 컴퓨터 실행 가능 명령의 일반적인 전후 관계가 설명되지만, 하나 이상의 컴퓨터 구성 요소에 의하여 실행되는 프로그램 모듈은 다른 프로그램 모듈 및/또는 하드웨어와 소프트웨어의 결합에 의해서도 구현될 수 있다. 컴퓨터 구성 요소(computer component)라는 용어는, 컴퓨터와 관련된 물리적 및/또는 논리적 실체(entity), 하드웨어, 펌웨어, 스프트웨어, 이들의 결합, 또는 실행 중의 소프트웨어를 가리킨다. 예를 들어, 컴퓨터 구성 요소는 프로세서(processor) 상에서 실행되는 프로세스, 프로세서, 객체, 실행 스레드(a thread of execution), 프로그램, 프로그램 이미지, 및 컴퓨터 중 하나일 수 있다. 하나 이상의 컴퓨터 구성 요소가 프로세스 및/또는 실행 스레드 내에 상주하고, 하나의 컴퓨터 구성 요소가 하나의 컴퓨터 상에 국부화되거나(localized) 둘 이상의 컴퓨터간에 분산될(distributed) 수 있다. 프로그램 모듈은 전형적으로 특정 임무를 수행하거나 데이터 유형을 구현하는 객체, 프로그램, 실행 가능한 스레드, 자료 구조 등을 포함한다.
도 1에서 도시되는 환경은 시스템, 방법, GUI, 및 API가 기능할 수 있는 환경의 일례일 뿐이고, 그러한 시스템, 방법, GUI, 및/또는 API의 범위를 제한하지 않는다. 상기 시스템, 방법, GUI, 및 API에 적합한 공지된 컴퓨터 시스템 및 구성은 메인프레임, 마이크로컴퓨터, 마이크로프로세서 기반 시스템, 다중 처리 시스템(multi-processing system), 및 분산 컴퓨팅 환경을 포함하지만 이들에 국한되지 않는다.
도 1은 버스(108)에 의하여 연결되는 프로세서(102), 메모리(104),디스크(106), 입출력 포트(110), 및 네트워크 인터페이스(112)를 포함한다. 프로세서(102)는 듀얼 프로세서(dual processor) 및 다른 멀티 프로세서 구조를 포함하는 많은 다양한 프로세서 중 하나일 수 있다. 메모리(104)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 read only memory(ROM), programmable read only memory(PROM), electrically programmable read only memory(EPROM), electrically erasable programmable read only memory(EEPROM) 등을 포함할 수 있으나, 이들에 국한되지 않는다. 휘발성 메모리는, 예를 들어 random access memory(RAM), synchronous RAM(SRAM), dynamic RAM(DRAM), synchronous DRAM(SDRAM), double data rate SDRAM(DDR SDRAM), 및 direct rambus RAM(DRRAM) 등을 포함할 수 있다. 디스크(106)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, Zip 드라이브, 플래시 메모리 카드, 및/또는 메모리 스틱과 같은 장치를 포함할 수 있으나, 이들에 국한되지 않는다. 또한, 디스크(106)는 컴팩트 디스크 롬(CD-ROM), CD readable drive(CD-R drive), CD rewritable drive(CD-RW drive), 및/또는 digital versatile ROM drive(DVD ROM drive)와 같은 광 드라이브를 포함할 수 있다. 메모리(104)는, 예를 들어 프로세스(114) 및/또는 데이터(116)를 저장할 수 있다. 디스크(106) 및/또는 메모리(104)는 컴퓨터(100)의 리소스를 제어하고 할당하는 운영 체계(operating system)를 저장할 수 있다.
버스(108)는 단일의 내부 버스 상호 연결 구조 및/또는 다른 버스 구조일 수 있다. 버스(108)는 메모리 버스 또는 메모리 제어기, 주변 버스(peripheral bus)또는 외부 버스, 및/또는 로컬 버스를 포함하는 다양한 유형일 수 있으나 이들에 국한되지 않는다. 로컬 버스는 industrial standard architecture(ISA) 버스, microchannel architecture(MSA) 버스, extended ISA(EISA) 버스, peripheral component interconnect(PCI) 버스, universal serial(USB) 버스, 및 small computer systems interface(SCSI) 버스를 포함하지만 이들에 국한되지 않는 다양한 유형일 수 있다. 컴퓨터(100)는 입출력 포트(110)를 통하여 입출력 장치(118)와 인터페이스한다. 입출력 장치(118)는 키보드, 마이크로폰, 포인팅 및 선택 장치, 카메라, 비디오 카드, 디스플레이 등을 포함할 수 있지만 이들에 국한되지 않는다. 입출력 포트(110)는 직렬 포트, 병렬 포트 및 USB 포트를 포함할 수 있다.
컴퓨터(100)는 네트워크 환경에서 동작하므로 네트워크 인터페이스(112)에 의하여 네트워크(120)에 연결된다. 네트워크(120)를 통하여, 컴퓨터(100)는 원격 컴퓨터(122)에 논리적으로 연결될 수 있다. 네트워크(120)는 local area network(LAN), wide area network(WAN), 및 다른 네트워크를 포함하지만 이들에 국한되지 않는다. 네트워크 인터페이스(112)는 fiber distributed data interface(FDDI), copper distributed data interface(CDDI), ethernet/IEEE 802.3, token ring/IEEE 802.5 등을 포함하지만 이들에 국한되지 않는 LAN 기술에 연결될 수 있다. 유사하게, 네트워크 인터페이스(112)는 point to point 링크, 및 integrated services digital network(ISDN), packet switching network, digital subscriber line(DSL)과 같은 회로 스위칭 네트워크를 포함하지만 이들에 국한되지 않는 WAN 기술에 연결될 수 있다.
도 2로 돌아가면, 두 개의 예시적인 트랜잭션 파이프라인이 도시된다. 예를 들어, 기업 구성 요소 세트(200)는 두 개의 분리된 트랜잭션 파이프라인으로 배치된다. 예를 들어, 제1 트랜잭션 파이프라인(220)은 계정 데이터베이스(account database; 230), 메인프레임(240), 웹 서버(250), 및 웹 인터페이스(260)를 포함한다. 유사하게, 제2 트랜잭션 파이프라인(210)은 계정 데이터베이스(230), 메인프레임(240), 판매 서버(marketing server; 270), 및 판매 어플리케이션(280)을 포함한다. 상기 두 개의 트랜잭션 파이프라인(210, 220)은 양쪽 모두 계정 데이터베이스(230) 및 메인프레임(240)을 포함한다. 따라서, 계정 데이터베이스(230) 또는 메인프레임(240)에 대하여 기업 이벤트가 생성될 경우, 웹 서버(250), 웹 인터페이스(260), 판매 서버(270), 및 판매 어플리케이션(280)에 대하여 기업 이벤트가 생성될 수 있다.
기업 구성 요소간의 관계는 인과 관계에서 캡쳐링될(captured) 수 있다. 웹 인터페이스(260)와 판매 어플리케이션(280)간에는 명백한 연결이 존재하지 않지만, 웹 인터페이스(260)와 웹 서버(250)간에, 그리고 판매 어플리케이션(280)과 판매 서버(270)간에는 명백한 관계가 존재한다. 또한, 메인프레임(240)과 계정 데이터베이스(230)간에 관계가 존재하며, 그 밖의 의존 관계들이 도시되어 있다. 인과 관계 데이터 저장소에 트랜잭션 파이프라인을 캡쳐 및 저장하는 것은 근본 원인 이벤트로부터 징후적인 이벤트를 구별하는 것을 용이하게 한다. 또한, 의존 관계를 모델링하는 것은 영향 분석을 수행하는 것을 용이하게 한다. 예를 들어, 웹 판매 서버(270)의 문제는 판매 어플리케이션(280)에 영향을 줄 것이지만, 서버(250)의문제는 웹 인터페이스(260)에 영향을 줄 것이다. 그러나, 웹 서버(250)의 문제는 판매 어플리케이션(280)에 문제를 발생시키지 않을 것이다. 그러나, 메인프레임(240)의 문제는 기업 구성 요소(250, 260, 270 및 280)에 문제를 발생시킬 것이다.
도 3은 근본 원인 결정기의 집합(300)을 도시한다. 근본 원인 결정기는 이벤트 수신기에서 수신된 이벤트에 적어도 부분적으로 기초하여 근본 원인 결정을 생성한다. 따라서, 근본 원인 결정기(310)는 이벤트 수신기(340)에서 수신된 이벤트들에 적어도 부분적으로 기초하여 근본 원인 결정에 도달한다. 유사하게, 근본 원인 결정기(320)는 이벤트 수신기(350)와 상호 작용하고, 근본 원인 결정기(330)는 이벤트 수신기(360)와 상호 작용한다. 이벤트 수신기(340, 350 및 360)에서 수신될 수 있는 기업 이벤트 세트가 다른 근본 원인 결정기에서 생성되는 근본 원인 결정을 포함하도록 정함으로써, 근본 원인 결정기(310, 320 및 330)는 근본 원인 결정기의 네트워크에 참여할 수 있다. 이는 근본 원인 결정기의 유연하고 동적인 네트워크를 생성하며 종래의 시스템에 비하여 장점을 가진다. 이러한 장점에는 기업을 더 작은 도메인으로 분할하고 복수의 기업으로부터 데이터를 수집 및 상관시키는 것이 포함되지만 이들에 국한되지 않는다. 또한, 만일 제1 근본 원인 결정기가 다운되면 제2 근본 원인 결정기가 상기 다운된 근본 원인 결정기에 의하여 수행되었던 처리를 수행하며, 이러한 유연성은 근본 원인 결정기간의 장애 복구 처리를 용이하게 하고, 분산 기업 관리를 용이하게 한다.
도 4는 기업 이벤트의 근본 원인을 결정하는 예시적인 시스템을 도시한다.기업(400)은 다양한 기업 구성 요소를 포함할 수 있으며, 상기 구성 요소 각각은 하나 이상의 유형의 기업 이벤트(410)를 생성할 수 있다. 예시적인 시스템은 미국 특허 제5,985,012호에서 설명된 것과 같은 기업 모니터링 시스템과 통합된다. 이벤트(410)는 이벤트 수신기(420) - 상기 용어는 본 명세서에서 정의된 것임 - 에 의하여 수신되며, 상기 이벤트 수신기는 컴퓨터 구성 요소일 수 있다. 이벤트가 이벤트 수신기(420)로부터 근본 원인 결정기(440)로 전달될지는 적어도 부분적으로 타이머(430)의 동작에 의하여 제어될 수 있다. 타이머(430)는 관련 이벤트(410)가 예상되는 기간을 정한다. 일부 환경에서, 타이머(430)에 의하여 정해지는 기간을 벗어나 도달하는 이벤트(410)가 근본 원인 결정기(440)에 제공될 수 있다. 근본 원인 결정기(440)는, 예를 들어 상관 객체 데이터 저장소(460)에 저장된 상관 객체를 분석함으로써 하나 이상의 기업 이벤트의 근본 원인을 결정한다. 상관 객체 데이터 저장소(460)는, 예를 들어 독립형(standalone) 또는 분산형 데이터베이스이거나, 파일, 배열, 데이터베이스 테이블 등의 자료 구조 등일 수 있다. 상관 객체는 하나 이상의 상관 규칙과 (예를 들어 상관 객체 식별자, 시간 데이터, 타이머 데이터와 같은) 그 외의 정보를 포함할 수 있다.
근본 원인 결정기(440)는 하나 이상의 상관 규칙을 저장하는 상관 규칙 데이터 저장소(450)에 액세스할 수 있다. 상관 규칙 데이터 저장소(450)에 저장되는 상관 규칙은, 예를 들어 기업 이벤트 세트와 연관되는 값들의 세트가 기업(400) 내 실체(entity)의 문제에 대한 가능성 있는 근본 원인을 지시하는지를 결정하기 위하여 평가될 수 있는 수식(expression)의 많은 구성 요소들을 포함할 수 있다. 단일의 상관 규칙은 근본 원인을 결정하기 위한 단일의 데이터 포인트를 제공할 수 있지만, 상관 객체 내에 수집된 상관 규칙들의 집합은 더 높은 신뢰도 또는 더 고급의 근본 원인 분석을 제공할 수 있는 데이터 포인트 세트를 제공할 수 있다. 이렇게, 상관 규칙은 기업 이벤트의 근본 원인을 결정하는 것을 용이하게 한다. 기업 이벤트 및/또는 상관 규칙을 분리하여 조사하는 것은 근본 원인 결정에 유용한 정보를 제공하지만, 인과 데이터 저장소(470)는 둘 이상의 기업 구성 요소간의 인과 관계를 저장하며, 이는 데이터 포인트의 조합을 생성하는 것을 용이하게 한다. 예시적인 인과 데이터 저장소(470)는 트랜잭션 파이프라인 의존 관계를 저장할 수 있다. 두 개의 예시적인 트랜잭션 파이프라인 의존 관계가 도 2에 도시되며 이에 대한 설명은 생략한다.
예시적인 이벤트 수신기(420)는 기업(400) 및 도시되지 않은 수동 기업 이벤트 제공자(manual enterprise event provider) 모두로부터 이벤트(410)를 수신한다. 예를 들어, 이벤트(410)는 기업(400)으로부터 컴퓨터 네트워크를 통하여 도달할 수 있다. 유사하게, 독립형 기업 구성 요소는 인간 운영자가 기업 이벤트로 해석하는 신호를 생성하여 이벤트 수신기(420)에 제공할 수 있다. 독립형 기업 구성 요소는, 예를 들어 네트워크에 연결되지 않은 안전한 오프-사이트 백업 시스템(off-site back-up system)일 수 있다.
근본 원인 결정기(440)와 통신하는 인터페이스(480)가 도시되어 있다. 예시적인 인터페이스(480)는 근본 원인 결정기(440)에 의하여 결정되는 근본 원인 및/또는 상기 결정에서 사용되는 상관 객체, 상기 결정에서 완성되는 상관 규칙, 기업이벤트, 인과 관계 등과 같은 상기 근본 원인 결정과 연관되는 정보를 표시하는 것을 용이하게 하는 GUI이다.
예시적인 근본 원인 결정기(440)는 상관 객체 데이터 저장소(460)에 저장되는 상관 객체와 연관되는 상관 규칙이 완성되는 정도를 조사한다. 예를 들어, 근본 원인 결정기(440)는 완성되는 상관 규칙의 수 및, 3 구성 요소 상관 규칙인지 또는 12 구성 요소 상관 규칙인지 등과 같은 완성되는 상관 규칙의 복잡도에 관한 통계를 생성할 수 있다. 상관 규칙이 완성되는 정도를 결정하는 것과 완성되는 상관 규칙의 유형 및 복잡도를 결정하는 것은 근본 원인을 결정하기 위한 심층 분석을 위하여 상관 객체를 선택하는 것을 용이하게 한다. 또한, 상관 규칙이 완성되는 정도를 결정하는 것은 타이머(430)에 의하여 설정되는 기간을 재구성하는 것을 용이하게 한다. 예를 들어, 100%의 상관 규칙들이 100% 완성되면 상기 기간은 너무 길 수 있는데, 이는 100% 이하의 완성에 의하여도 유효한 근본 원인 결정이 가능하기 때문이다. 반대로, 적은 비율(예를 들어 5%)의 상관 규칙이 완성되면 더 높은 비율의 상관 규칙을 완성하는 것을 용이하게 하도록 타이머(430)에 의하여 설정되는 기간을 연장하는 것이 유리하다.
하나 이상의 상관 규칙이 완성될 수 있다고 가정하면, 근본 원인 결정기(440)는, 예를 들어 완성되는 상관 규칙에 의하여 지시되는 후보 근본 원인(candidate root cause)들에 순위를 매길 수 있다. 순위를 생성한 후, 근본 원인 결정기(440)는 근본 원인을 선택하기 위하여, 예를 들어 운영자로부터의 수동 입력을 수용할 수 있다. 하나 이상의 후보 근본 원인으로부터 근본 원인을 자동적으로 결정하는 방법을 근본 원인 결정기(440)에게 훈련시키는 것을 용이하게 하기 위하여 근본 원인 결정기 훈련 기간 동안 수동 운영자 입력이 분석될 수 있다. 따라서, 후보 근본 원인을 인터페이스(480) 상에 제공하는 동안 이벤트를 이벤트 로그(600)에 저장하고 결정된 근본 원인을 근본 원인 로그(610)에 저장하는 것은 근본 원인 결정기(440)의 근본 원인 선택 알고리즘을 적응시키는 기계 학습(machine learning)을 감독하는 것을 용이하게 한다.
상이한 기업들은 상이한 기업 구성 요소들의 혼합을 가지며, 상이한 기업 이벤트들(410)의 혼합을 생성한다. 또한, 상이한 기업들(400)은 상이한 관점에서 관리되는 것이 유리하다. 따라서, 상이한 상관 규칙 세트들이 상관 규칙 데이터 저장소(450)에 저장될 수 있다. 다양한 상관 규칙들을 생성하는 것을 용이하게 하기 위하여, 예시적인 시스템은 상관 규칙 제조기(correlation rule fabricator)를 포함한다. 상관 규칙 제조기는 기존의 규칙 및/또는 신규로 생성되는 규칙들을 적응시키는 것을 단순화하는 GUI를 포함할 수 있다. 유사하게, 상이한 기업들(400)은 상이한 기업 구성 요소들 및/또는 기업 구성 요소 세트들간에 상이한 인과 관계를 가질 수 있다. 따라서, 예시적인 시스템은 인과 데이터 저장소(470)에 저장될 수 있는 인과 관계를 정의하는 것을 용이하게 하는 인과 관계 제조기를 포함한다.
기업(400)은 하나 이상의 도메인을 포함할 수 있다. 또한, 복수의 기업들(400)이 존재할 수 있다. 복수 도메인 기업 또는 복수 기업 환경에서 궁극적인 근본 원인 결정은 분리된 도메인들 및/또는 기업들에 대하여 행하여진 하나 이상의 최초의 근본 원인 결정에 입각할 수 있다. 따라서, 예시적인 시스템은 하나 이상의 근본 원인 결정기(440)로부터 하나 이상의 근본 원인 결정을 입력으로 수용하는 도시되지 않는 근본 원인 결정 수신기를 포함한다. 일례에서, 근본 원인 결정은 근본 원인 결정 수신기에 기업 이벤트로서 전달될 수 있으며, 이는 근본 원인 결정기의 유연한 동적 네트워크를 생성하는 것을 용이하게 한다.
예시적인 사용자 인터페이스(480)는 디스플레이와 선택 장치를 포함하는 GUI이다. 인터페이스(480)는 데이터 엔트리 세트를 표시하는 디스플레이와 상기 디스플레이 상에 표시되는 데이터 엔트리 세트로부터 선택하는 선택 장치를 사용한다. 데이터 엔트리 세트는, 예를 들어 이벤트 로그(600), 근본 원인 로그(610), 상관 규칙 데이터 저장소(450), 상관 객체 데이터 저장소(460), 인과 데이터 저장소(470)와 같은 다양한 소스들로부터 검색될 수 있다. 예시적인 인터페이스(480)에서, 데이터 엔트리 세트는 근본 원인 결정과, 근본 원인 결정에 도달할 때 분석된 상관 객체로 제한된다. 인터페이스(480)는 디스플레이 상에 데이터 엔트리 세트를 표시하고 상기 표시된 데이터 엔트리 중에서 어느 것이 선택 장치에 의하여 선택되었는지를 지시하는 데이터 엔트리 선택 신호를 수신한다. 데이터 엔트리 선택 신호에 응답하여, 인터페이스(480)는 상기 선택된 데이터 엔트리와 연관되는 추가적인 데이터를 표시할 수 있다. 예를 들어, 만일 데이터 엔트리가 근본 원인 결정이면, 인터페이스(480)는 근본 원인 결정과 연관되는 이벤트 전후 관계, 근본 원인 결정에 도달할 때 분석된 하나 이상의 상관 규칙, 근본 원인 결정에 수반되는 기업 구성 요소들과 연관되는 의존 데이터, 근본 원인 결정에 도달할 때 고려된 상관 객체를 식별하는 상관 객체 식별자, 및 근본 원인 결정에 도달할 때 사용된 근본 원인 분석기(440)를 식별하는 근본 원인 식별자 등을 포함하지만 이들에 국한되지 않는 추가적인 정보를 표시할 수 있다. 유사하게, 만일 상기 선택된 데이터 엔트리가 상관 객체이면, 인터페이스(480)는 타이머(430)와 연관되는 타이머 데이터, 이벤트 로그(600)로부터 검색되는 하나 이상의 데이터, 상관 객체와 연관되는 상관 규칙을 채우는 데에 참여한 기업 이벤트를 저장하는 이벤트 로그(600)를 식별하는 이벤트 로그 식별자, 상관 객체와 연관되는 상관 규칙, 의존 관계와 (예를 들어 고려된 이벤트의 수, 고려된 상관 객체의 수, 고려된 상관 규칙의 수, 완성된 상관 규칙의 수와 같은) 상관 객체 통계 등을 포함하지만 이들에 국한되지 않는 추가적인 데이터를 제공할 수 있다.
인터페이스(480)는 또한 상관 객체의 추가, 제거, 및/또는 보류(suspending)를 용이하게 하는 정보를 제공한다. 또한, 인터페이스(480)는 타이머 만기 클록을 수동으로 종료함으로써 상관 관계를 강제하는 것을 용이하게 한다.
본 명세서에서 설명된 시스템, 방법 및 GUI는 다양한 자료 구조에 액세스할 수 있다. 컴퓨터 판독 가능 기록 매체 상에 저장될 수 있는 예시적인 자료 구조는 상관 객체와 연관된다. 상관 객체는 다양한 필드를 포함할 수 있다. 예시적인 필드 세트는 객체 식별자를 저장하는 제1 필드를 포함한다. 객체 식별자는 기업 객체(enterprise object) - 상기 기업 객체로부터 기업 이벤트가 수신됨 - 를 유일하게 식별한다. 제2 필드는 기업 이벤트로부터 검색되는 이벤트 메시지를 저장한다. 이벤트 메시지는 기업 이벤트로부터 직접 복사되거나, 제2 필드에 저장되기 전에 파싱(parsing), 패턴 매칭 등에 의하여 처리될 수 있다. 예시적인 제3 필드는 기업 이벤트가 적용되는 상관 규칙을 저장한다. 상관 객체는 효율적인 근본 원인 결정을 용이하게 하기 위하여 상관 규칙들을 수집한다. 예시적인 제4 필드는 제3 필드에 저장되는 하나 이상의 상관 규칙이 완성되는 정도와 연관되는 데이터를 저장한다. 예를 들어, 제4 필드는 상관 규칙이 완성된 비율과, 미완성(incomplete) 상관 규칙에 있어서 이러한 미완성 상관 규칙의 완성 비율을 지시하는 비율 데이터를 저장할 수 있다. 예시적인 제5 필드는 기업 이벤트가 수신될 수 있는 기간을 저장한다. 예시적인 제6 필드는 컴퓨터 판독 가능 기록 매체 상에 저장되는 자료 구조가 제공될 수 있는 근본 원인 결정기를 유일하게 식별하는 근본 원인 결정기 식별자를 저장한다. 따라서, 상기 예시적인 제6 필드는 기업 관리에 사용되는 근본 원인 결정기들의 유연한 동적 네트워크를 형성하는 것을 용이하게 한다.
도 5는 근본 원인 결정기(440) 및 인터페이스(480)와 통신하는 예시적인 영향 분석기(500)를 도시한다. 영향 분석기(500)는 근본 원인과 연관되는 기업 구성 요소가 아닌 기업 구성 요소가, 근본 원인으로 결정된 문제에 의하여 영향 받을 것인지를 결정한다. 예를 들어, 업스트림 컴퓨터 구성 요소는 다운스트림 컴퓨터 구성 요소에 의하여 영향 받지 않을 것이지만, 다운스트림 컴퓨터 구성 요소는 업스트림 컴퓨터 컴포넌트의 장애에 의하여 영향 받을 것이다. 예를 들어, 백앤드 뱅킹 어플리케이션 및 많은 프론트앤드 자동 계좌 이체(automated teller machine; ATM) 어플리케이션을 포함하는 기업 컴퓨팅 환경에서, 하나의 ATM 장애는 백앤드 뱅킹 어플리케이션에 영향을 주지 않지만, 백앤드 뱅킹 어플리케이션의 장애는 수많은 프론트앤드 ATM 어플리케이션에 영향을 줄 것이다.
따라서, 영향 분석기(500)는 근본 원인에 의하여 영향 받는 기업 구성 요소를 통지하는 것과 상기 영향 받는 기업 구성 요소와 연관되는 영향 처리(impact processing)를 초기화하는 것을 포함하지만 이들에 국한되지 않는 동작들을 수행한다. 영향 받는 기업 구성 요소는, 인터럽트, 신호, 메시지, 및 이벤트를 포함하지만 이들에 국한되지 않는 메커니즘을 통하여 통지될 수 있다. 유사하게, 영향 처리는 장애 극복 처리(failover processing), 재시동 처리(restart processing), 셧다운 처리(shut-down processing), 보안 처리(secure processing), 및 유지 처리(maintenance processing)를 포함하지만 이들에 국한되지 않는다. 뱅킹/ATM의 예에서, 예를 들어 ATM 요구(request)를 장애가 발생한 뱅킹 어플리케이션으로부터 백업 뱅킹 어플리케이션으로 재지정하는(re-route) 장애 극복 처리가 사용될 수 있다. 유사하게, 뱅킹 어플리케이션의 재시동을 시도하는 재시동 처리가 착수될 수 있다. 예를 들어, 백앤드 뱅킹 어플리케이션에 대한 재시동 및/또는 장애 복구 처리를 수행할 기회를 제공하기 위하여 ATM 프론트앤드 어플리케이션을 일시적으로 셧다운하는 셧다운 처리가 착수될 수 있다. 백앤드 뱅킹 어플리케이션의 장애가 극복되거나 재시동되는 동안, 예를 들어 프론트앤드 ATM 어플리케이션에서 사용 가능한 트랜잭션의 수 및/또는 유형을 제한하는 보안 처리가 착수될 수 있다. 또한, 영향 분석기(500)는, 예를 들어 설령 뱅킹 어플리케이션에 아직 장애가 발생하지 않았더라도, 예측 가능한 미래에 장애가 발생할 가능성이 있다고 판단될 때 (예를 들어, 한계 디스크 용량에 근접할 때) 유지 처리를 스케줄링할 수 있다.
도 6은, 예를 들어 전기적, 물리적, 및/또는 데이터 통신을 통하여 이벤트수신기(420)와 연결되는 예시적인 이벤트 로그(600)를 도시한다. 이벤트 로그 데이터 저장소(600)는 수신된 기업 이벤트를 저장하는 것을 용이하게 하며, 이는 백업, 결정 재생성(determination recreation), 및 해결 후 기계 학습(post solution machine learning)을 용이하게 한다. 근본 원인 결정기(440)에 의하여 고려되는 이벤트 로그(600)를 갖는 것은, 예를 들어 근본 원인 결정기(440)가 다운됨으로써 중단된 근본 원인 결정을 재시동 및/또는 교정하는 것을 용이하게 한다. 이벤트 로그(600)는 또한 근본 원인 분석기(440)가 근본 원인 해결에 도달한 방법에 대한 해결후 분석을 용이하게 한다. 해결후 분석은 근본 원인을 더욱 정확하게 결정하기 위하여 근본 원인 분석기(440)를 재구성 및/또는 재프로그래밍하는 것을 용이하게 한다. 일례에서, 이벤트 로그(600)는 중복되어 저장되는 기업 이벤트의 수를 감소시키는 것을 용이하게 하기 위하여 수신된 기업 이벤트를 선택적으로 저장한다. 예를 들어, 뱅킹/ATM의 예에서, 하나의 ATM 기계는 뱅킹 어플리케이션에 액세스할 수 없다는 보고를 수천 번 할 수 있다. 근본 원인을 결정하기 위하여 수천 번의 메시지 모두가 필요하지는 않을 것이다. 따라서, ATM으로부터의 첫 번째 기업 이벤트와, 예를 들어 일정 시간 간격 당 하나씩 선택되는 후속 메시지가 이벤트 로그(600)에 저장되고, 중복되는 다른 메시지는 저장되지 않을 수 있다.
도 6은 또한 결정된 근본 원인을 저장하는 근본 원인 로그 데이터 저장소(610)를 도시한다. 근본 원인 로그 데이터 저장소(610)에 결정된 근본 원인을 저장하는 것은, 예를 들어 근본 원인 결정이 행해진 방법을 해결후 분석하는 것과 근본 원인을 다운스트림 근본 원인 분석기로 전달하는 것을 스케줄링하는 것을용이하게 한다. 또한, 근본 원인 결정을 근본 원인 로그 데이터 저장소(610)에 저장하는 것은 근본 원인 결정 평가에 기초하여 기업 관리 수임 운영자를 훈련시키는 것을 용이하게 한다. 근본 원인의 경과 로그는 운영자 훈련을 단순화하는 시뮬레이션을 생성하는 데에 사용될 수 있다.
도 4 내지 6에서 도시된 시스템은 하나의 컴퓨터 구성 요소 및/또는 둘 이상의 분산되고 협동하며 통신하는 컴퓨터 구성 요소로 구현될 수 있다는 점을 이해하여야 한다.
도 7을 참조하면, 근본 원인 결정 어플리케이션(770)으로의 액세스를 제공하는 어플리케이션 프로그래밍 인터페이스(API; 780)가 도시된다. API(780)는, 예를 들어 어플리케이션(770)에 의하여 수행되는 처리 및/또는 어플리케이션(770)에 의하여 사용되는 데이터에 대한 액세스를 획득하기 위하여 프로그래머(750) 및/또는 프로세스(760)에 의하여 사용될 수 있다. 예를 들어, 프로그래머(750)는 이벤트(710), 규칙(720), 객체(730), 및 근본 원인 결정 어플리케이션(770)에 의하여 사용되거나 생성되는 근본 원인(740)에 액세스하기 위하여 프로그래밍할 수 있다. API가 존재하기 때문에 프로그래머(750)는 근본 원인 결정 어플리케이션(770)의 내부 동작을 이해할 필요 없이 근본 원인 결정 프로그램(770)을 용이하게 사용할 수 있다. 프로그래머(750)는 어플리케이션(770)으로의 인터페이스(780)만 익히면 된다. 이는 어플리케이션(770)의 기능을 노출시키면서 그 기능을 캡슐화하는(encapsulate) 것을 용이하게 한다. 유사하게, API(780)는 근본 원인 결정 어플리케이션(770)에 데이터 값들을 제공하거나 어플리케이션(770)으로부터데이터 값들을 검색할 수 있다. 예를 들어, 규칙(720)을 검색하는 프로세스(760)는 API(780)를 통하여 규칙(720)을 어플리케이션(770)에 제공할 수 있다. 근본 원인 결정 어플리케이션(770)이 도시되었지만, API(780)는 근본 원인 결정 시스템 및/또는 방법으로의 인터페이스를 제공할 수도 있다는 점을 이해하여야 한다.
이렇게, 예시적인 API(780)에서, 어플리케이션 프로그램 인터페이스 세트가 컴퓨터 판독 가능 기록 매체 상에 저장될 수 있다. 인터페이스는 근본 원인 결정 시스템 및/또는 방법으로의 액세스를 획득하기 위하여 컴퓨터 구성 요소에 의하여 실행될 수 있다. 인터페이스는 기업 이벤트를 수신하는 제1 인터페이스, 상기 기업 이벤트와 연관되는 상관 규칙을 수신하는 제2 인터페이스, 제2 인터페이스에 의하여 수신되는 상기 상관 규칙을 포함하는 상관 규칙들을 포함하는 상관 객체를 수신하는 제3 인터페이스, 및 기업 이벤트의 근본 원인을 반환하는 제4 인터페이스를 포함할 수 있지만 이들에 국한되지 않는다.
본 명세서에서 도시되고 설명된 예시적인 시스템의 관점에서 구현된 방법들은 도 8 내지 12의 흐름도를 참조함으로써 더욱 잘 이해될 수 있다. 설명을 간단히 하기 위하여 도시된 방법들은 일련의 블록들로서 도시되고 설명되지만, 상기 방법들은 상기 블록들의 순서에 의하여 제한되지 않는다. 일부 블록들은 도시 및 설명된 것과 다른 순서로 실행되거나 다른 블록들과 동시에 실행될 수 있다. 또한, 예시적인 방법을 구현하기 위하여 도시된 모든 블록이 필요하지는 않을 수도 있으며, 추가적인 및/또는 선택적인 방법은 도시되지 않은 추가적인 블록들을 사용할 수도 있다.
일부 방법은 주문형 반도체(application specific integrated circuit; ASIC), 컴팩트 디스크(CD), digital versatile disk(DVD), random access memory(RAM), read only memory(ROM), programmable read only memory(PROM), electrically erasable programmable read only memory(EEPROM), 디스크, 반송파(carrier wave), 메모리 스틱을 포함하지만 이들에 국한되지 않는 컴퓨터 판독 가능 기록 매체 상에 저장된 컴퓨터 실행 가능 명령 및/또는 동작에 의하여 구현된다.
도 8을 참조하면, 기업 컴퓨팅 환경을 관리하기 위하여 컴퓨터로 구현되는 방법이 흐름도로서 도시된다. 예시적인 기업 컴퓨팅 환경은 기업 객체로서 모델링되는 수많은 기업 구성 요소들을 포함한다. 기업 구성 요소는, 예를 들어 프로그램, 스레드, 프로세스, (라우터, 리피터, 브리지, 게이트웨이 등의) 네트워킹 구성 요소, (메인프레임, 미니컴퓨터, PC, 서버, 핸드헬드, 랩톱 등의) 컴퓨터, 및 (셀룰러폰, 페이저, PDA 등의) 다른 통신 장비 중 하나일 수 있다. 기업 객체는 기업 이벤트가 생성될 수 있는 기업 구성 요소를 추상화 및 모델링하는 소프트웨어를 포함한다.
기업 구성 요소는 복잡한 동적 네트워크에 배치될 수 있다. 하나의 기업 구성 요소가, 예를 들어 어플리케이션이 다운되는 문제를 겪을 때, 관련 구성 요소도 문제를 겪을 수 있다. 예를 들어, 다운되는 어플리케이션을 사용하는 트랜잭션 처리 시스템은 사용자 문의(user query)에 응답하지 못할 수 있다.
기업 구성 요소가 문제를 겪을 때 상기 기업 구성 요소는 기업 이벤트를 생성 및 보고할 수 있다. 기업 이벤트는 많은 형태를 가질 수 있으며, 전형적으로 기업 구성 요소의 문제를 식별하는 문자 메시지와, 상기 기업 이벤트 및 상기 문제를 겪는 기업 구성 요소를 유일하게 식별하는 하나 이상의 식별자들을 포함한다. 기업 이벤트는 또한 문제의 지속 기간, 문제가 최초로 통지된 시간, 기업 이벤트가 생성된 시간, 기업 이벤트가 보고된 시간과 (예를 들어 온도=85도와 같은) 문제와 연관되는 데이터 값들의 정보를 포함한다. 이렇게, 기업 이벤트의 근본 원인을 상관시키고 결정하는 것은 다양한 기업 이벤트를 다양한 포맷으로 수신 및 처리하는 것을 포함한다.
최초의 문제를 겪는 기업 구성 요소와 관련 기업 구성 요소는 양쪽 모두 기업 이벤트를 생성 및 보고할 것이며, 도 8의 흐름도에 도시된 방법은 징후적인 기업 이벤트와 근본 원인 기업 이벤트를 분리하는 것을 용이하게 한다.
단계(800)에서, 본 방법은 기업 이벤트가 생성 및/또는 관찰될 수 있는 전후 관계의 세트를 설정한다. 전후 관계를 결정하기 위한 규칙은, 예를 들어 규칙 프로그래머에 의하여 결정되고 기업마다 상이할 수 있으며, 예를 들어 어플리케이션 중심인지, 하드웨어 중심인지, 영업 프로세스 중심인지 등과 같은 기업의 관점에 따라 기업 내에서도 상이할 수 있다. 전후 관계는 기업 인식 규칙 세트(set of enterprise aware rules)에 의하여 포착될 수 있으며, 상기 규칙은 기업 이벤트를 관련 이벤트 세트와 상관시킴으로써 많은 양의 이벤트를 필터링하여 적은 이벤트 세트로 감소시키는 것을 용이하게 한다. 전후 관계의 일례는 트랜잭션 처리에 사용되고 의존 관계를 갖는 기업 구성 요소 및/또는 객체의 링크된 세트인 트랜잭션파이프라인이다.
단계(810)에서, 기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 하는 상관 규칙 세트가 설정된다. 일례에서, 상관 규칙은 기업 이벤트 데이터에 관한 부울식(Boolean expression)을 포함할 수 있다. 본 방법에 따라 기업 이벤트가 수신될 때, 부울식의 구성 요소 부분들은 기업 이벤트로부터 검색되는 데이터에 의하여 채워진다. 따라서, 부울식이 완성되면 상기 부울식은 단계(810)에서 설정되는 상관 규칙에 대하여 논리 참 값이 지시되는지 및 완성된 상관 규칙이 근본 원인을 결정하는 방향을 제공하는지를 결정하기 위하여 평가될 수 있다. 다른 예시적인 상관 규칙은, 규칙에 의하여 사용될 수 있는 데이터의 100% 미만이 규칙에 존재하는 경우에도, 값을 생성할 수 있다. 예를 들어, 규칙 x=A or B or (C and D)는 일부 경우에 있어 A 또는 B의 값만 가지고도 평가될 수 있다.
단계(820)에서, 둘 이상의 기업 구성 요소간의 의존 관계 세트가 설정된다. 의존 관계는 인과 관계를 모델링함으로써 기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 한다. 기업 내에 존재하는 인과 관계를 식별하는 것은 예측되는 이벤트를 조사하는 것과 관련 없는 이벤트를 무시하는 것을 단순화한다. 예를 들어, 만일 기업 구성 요소 A가 기업 구성 요소 B에 의존하고 기업 구성 요소 A로부터 기업 이벤트가 수신되면, 단계(820)에서 설정되는 의존 관계는 기업 구성 요소 A가 겪는 문제의 업스트림 근본 원인, 예를 들어 실체 B의 문제가 있는지를 결정할 때에 기업 구성 요소 B로부터의 기업 이벤트를 조사하는 것과, 기업 구성 요소 C로부터의 기업 이벤트를 무시하는 것을 용이하게 한다.
기업 컴퓨팅 환경은 수많은 인과 관계를 갖는 기업 구성 요소의 복잡한 네트워크를 포함할 수 있으므로, 기업 구성 요소의 문제의 근본 원인을 설정하는 것은 많은 관련 상관 규칙의 분석을 수반할 수 있다. 단계(830)에서, 관련 상관 규칙을 수집하는 것을 용이하게 하기 위하여 상관 객체가 인스턴스화된다(instantiated). 기업 이벤트가 도착하면, 상기 이벤트는 근본 원인을 결정하는 관련 상관 규칙을 수용하는 상관 객체로 지정된다. 상관 규칙을 상관 객체로 수집하는 것은, 예를 들어 분리된 상관 객체에서 상관 규칙을 병렬 처리하는 것과, 그럼으로써 기업 관리와 연관되는 처리 시간을 감소시키는 것을 용이하게 한다. 따라서, 근본 원인 이벤트는 종래의 단일 처리 시스템에서보다 더 빠르게 결정된다.
단계(840)에서, 본 방법은 기업 이벤트를 수신한다. 기업 이벤트는 다양한 기업 구성 요소로부터 생성 및 보고될 수 있다. 따라서, 기업 이벤트는 다양한 기업 이벤트 포맷 중 하나일 수 있다. 분리된 기업 모니터들은, 예를 들어 하드웨어, 소프트웨어, 영업 프로세스와 같은 상이한 관점에서 기업 컴퓨팅 환경을 모니터링하는 임무를 맡을 수 있으므로, 단계(850)에서 기업 이벤트가 수신 및 관찰될 수 있는 전후 관계가 결정된다. 기업 이벤트가 생성될 수 있는 전후 관계를 결정하고, 그럼으로써 기업 이벤트가 분석되어야 하는 관점을 결정하는 것은 기업 이벤트를 하나 이상의 상관 객체 및/또는 근본 원인 결정기로 지정하는 것을 용이하게 한다. 이러한 다중 지정(multiple routing)은 복수의 모니터를 위한 병렬 처리를 용이하게 한다.
단계(860)에서, 기업 이벤트는 하나 이상의 상관 객체와 관련된다. 예를 들어 기업 이벤트로부터 검색되는 데이터가 상관 규칙의 하나 이상의 필드 또는 구성 요소 부분을 채우는 데에 사용될 수 있는지를 결정하기 위하여 상관 객체와 연관되는 상관 규칙의 구성 요소 부분을 조사함으로써, 기업 이벤트는 상관 객체와 관련될 수 있다. 기업 이벤트가, 상관 객체와 연관되는 상관 규칙과 데이터에 의하여 관련되면, 상기 상관 규칙은 단계(870)에서 갱신된다. 예를 들어, 만일 상관 규칙이 부울식의 일부분인 다섯 개의 기업 이벤트 데이터 구성 요소를 가지 있으며 기업 이벤트 데이터가 상기 다섯 개의 구성 요소 중 하나이면, 기업 이벤트 데이터의 하나의 값이 결정되며 상기 값에 의하여 상관 규칙의 부울식이 갱신될 수 있다. 또한, 상관 객체 및/또는 상관 규칙은 부울식이 완성되는 정도를 반영하도록 갱신될 수 있다. 예를 들어, 부울식의 구성 요소의 수 및 부울식의 채워진 구성 요소의 수를 기록하는 데이터 값이 갱신될 수 있다. 이러한 완성 데이터는, 예를 들어 상관 규칙이 근본 원인 결정에 적용되는지를 제어한다.
단계(840)에서 단계(870)까지는, 예를 들어 도 12와 관련하여 설명되는 바와 같이 타이머에 의하여 제어될 수 있는 루프 내에 포함될 수 있다. 따라서, 기업 이벤트 세트가 본 방법에 제공되는 동안 단계(840)에서 단계(870)까지의 단계 세트가 일 회 이상 반복될 수 있다. 루프는, 예를 들어 타이머 만료(timer expiring)나 설정 가능한 선정된 수의 이벤트가 수신된다는 등의 프로그램에 따른 제어 하에 나중 시점에 종료되며, 단계(880)에서 근본 원인이 결정된다. 근본 원인을 결정하는 것은, 이벤트가 생성된 전후 관계, 단계(810)에서 설정되고 단계(870)에서 갱신되는 상관 규칙 세트, 단계(820)에서 설정되는 의존 관계 세트, 및 단계(830)에서인스턴스화되고 단계(860)에서 갱신되는 상관 객체와 관련되는 기업 이벤트의 하나 이상의 세트 중 적어도 하나에 기초한다. 예를 들어, 상관 객체는 완성된 상관 규칙과 함께 분석됨으로써, 상관 규칙이 부울 참 값을 생성하는지 및 그러한 상관 규칙의 수는 얼마나 되는지를 결정할 수 있다. 만일 하나 이상의 상관 규칙이 부울 참 값을 생성하면, 근본 원인을 결정하는 단계는 참 값을 보고하는 하나 이상의 상관 규칙을 갖는 상관 객체들 중에서 선택하는 단계를 수반한다. 상기 선택은 순위 매김(ranking), 신경망 기술(neural network technology), 패턴 매칭 기술, 및 선형 프로그래밍을 포함하지만 이들에 국한되지 않는 기술에 의하여 행하여질 수 있다. 상기 상관 기술은 참 또는 거짓과 같은 논리 값을 생성하는 부울식에 대하여 설명되었지만, 상관 규칙은 다른 형태, 함수 또는 관계를 가질 수 있으며 부울식에 국한되지 않는다.
단계(890)에서, 근본 원인과 연관되는 지시자가 생성된다. 지시자는, 예를 들어 메시지, 기업 이벤트, 인터럽트, 신호, 또는 객체일 수 있다. 지시자는 스케줄링 유지(scheduling maintenance), 장애 극복 처리, 영향 분석 초기화와 같은 해결후 활동(post-solution activity)을 제어한다.
도 8은 기업 컴퓨팅 환경을 관리하는 예시적인 방법을 도시한다. 상기 방법은 기업 구성 요소로부터 수신되는 기업 이벤트가 평가될 수 있는 프레임워크를 제공하는 것을 용이하게 하는 선설정 규칙(pre-establishing rules), 전후 관계, 및 의존 관계를 포함한다. 일단 기업 이벤트가 문제를 겪고 기업 이벤트를 생성 및 보고하기 시작하면, 상기 방법은 이벤트를 수신하고, 이들을 상관 규칙에 관련시키며, 상관 규칙을 수집하는 상관 객체를 갱신하고, 궁극적으로 관련 기업 이벤트 세트의 근본 원인을 결정한다. 근본 원인 결정은 상기 근본 원인 결정에 기초하여 어떤 조치를 취해야 하는지를 이해하는 것을 용이하게 한다. 상기 방법에 의하여 생성되는 지시자는 적절한 기업 컴퓨팅 환경 관리 기능을 수행하는 것을 용이하게 하기 위하여 평가될 수 있다.
도 9의 흐름도는 기업 이벤트를 하나 이상의 상관 객체와 관련시키는 예를 도시한다. 기업 이벤트를 상관 객체와 관련시키는 것은, 단계(862)에서, 기업 이벤트가 적용되는 상관 규칙과 연관되는 상관 객체를 식별하는 것을 포함한다. 예를 들어, 상관 규칙은 수식 내에 많은 구성 요소를 가질 수 있다. 상기 구성 요소들은 기업 이벤트로부터 구할 수 있는 값들을 반영할 수 있다. 따라서, 기업 이벤트가 상관 규칙 수식의 구성 요소를 위한 값을 제공하는지에 기초하여 상기 기업 이벤트는 데이터에 의하여 상관 규칙과 관련될 수 있다.
상관 규칙이 기업 이벤트와 관련되는지를 결정하는 단계는, 단계(864)에서, 기업 이벤트 텍스트 필드를 파싱(parsing)함으로써 상관 규칙 수식 구성 요소를 채울 수 있는 텍스트가 존재하는지를 결정하는 단계를 수반한다. 유사하게, 단계(864)에서, 기업 이벤트 필드가 상관 규칙 수식 구성 요소와 패턴 매칭됨으로써 상기 기업 이벤트가 상관 규칙 수식 구성 요소를 채울 수 있는 데이터를 포함하는지를 결정할 수도 있다. 또한, 기업 이벤트 내의 고유 식별자(unique identifier)가 조사됨으로써 상기 기업 이벤트가 상관 규칙 수식 구성 요소를 채울 수 있는 데이터를 포함하는지를 결정할 수도 있다. 단계(864)에서 파싱, 패턴 매칭, 및 식별자 매칭이 예시되었지만, 다른 결정 방법이 사용될 수도 있다는 점을 이해하여야 한다. 기업 이벤트가 상관 규칙 수식 구성 요소를 채울 수 있는 데이터를 가진다는 결정이 행하여지면, 기업 이벤트로부터 데이터가 추출됨으로써 상기 데이터로부터 결정되는 값으로 상관 규칙을 갱신하는 것을 용이하게 할 수 있다.
도 10은 근본 원인을 결정하는 예시적인 방법을 도시한다. 상기 방법은 상관 규칙이 완성된 정도를 조사하고 완성된 상관 규칙의 순위를 매긴다. 단계(882)에서, 예를 들어 인스턴스화된 상관 객체가 상관 객체 데이터 저장소로부터 검색된다. 상관 객체와 연관되는 상관 규칙과 관련되는 데이터를 포함하는 기업 이벤트가 검색될 때 상관 객체가 인스턴스화된다는 점을 기억해야 한다. 단계(882)에서 검색된 상관 객체와 연관되는 상관 규칙이 단계(883)에서 획득된다. 상관 규칙은 기업 구성 요소 및/또는 관계를 공유하는 기업 구성 요소들에 의하여 생성되는 기업 이벤트를 식별하는 것을 용이하게 한다. 예시적인 상관 규칙 포맷은 규칙 및 만기(maturity time)를 유일하게 식별하는 식별자를 포함하며, 상기 만기는 제1 기업 이벤트가 발생하는 때부터 상관 근본 원인이 만기되는(mature) 때까지의 기간, 예를 들어 제1 기업 이벤트와 관련되는 실질적으로 모든 기업 이벤트가 도착한 것으로 간주할 수 있는 시간이다. 예시적인 상관 규칙 포맷은, 또한, 예를 들어 기업 구성 요소와 그 장애를 지시하는 이벤트의 목록일 수 있는 "트랜잭션 파이프라인(transaction pipeline)" 필드를 포함할 수 있다. 상기 예시적인 상관 규칙 포맷은 또한 "발생할 상관되는 이벤트(correlated event to generate)" 필드를 포함할 수 있으며, 상기 필드는 만일 상관 규칙이 완성되고 상기 상관 관계가 근본 원인을 식별하는 데에 도움이 될 수 있다는 것을 지시하는 값을 생성하면 발생할 기업 이벤트를 정의한다. 발생할 상관되는 이벤트 필드는 하나 이상의 기업 이벤트로부터 추출되는 텍스트 및/또는 데이터를 갖는 필드를 포함할 수 있다.
예시적인 상관 규칙 포맷은 또한 "목적지 이벤트 관리자(destination event manager)" 필드를 포함할 수 있으며, 상기 필드는, 예를 들어 근본 원인 결정기 및/또는 앞서의 필드에서 설명된 상관되는 이벤트가 송신될 수 있는 이벤트 관리자의 목록일 수 있다. 이는 기업 내의 다양한 도메인을 책임지는 근본 원인 결정기의 네트워크를 설정하는 것을 용이하게 하며, 이는 다시 근본 원인 결정의 병렬 처리 및 국부화(localization)를 용이하게 한다. 상기 예시적인 포맷은 "제거 전 시간(time before deleted)" 필드를 포함할 수도 있으며, 상기 필드는 수신된 제1 기업 이벤트와 관련되는 실질적으로 모든 이벤트가 처리된 것으로 결정할 수 있는 시간을 기술한다. 상관 규칙은 동적일 수 있으며, 따라서 시간이 지나면 포맷이 변경될 수 있다.
만일 기업 구성 요소가 기업 객체로서 모델링되면, 상관 규칙은 "객체 식별자(object identifier)"와 같은 필드를 포함할 수 있으며, 상기 필드는 기업 객체를 유일하게 식별한다. 유사하게, 상관 규칙은 "객체 기술(object description)" 필드를 포함할 수 있다. 객체는 기업 구성 요소의 상태를 설정하고 유지하는 것을 단순화시킨다. 따라서, 기업 객체는 상태를 가질 수 있으며, 근본 원인이라고 결정된 기업 구성 요소가 상기 기업 객체가 근본 원인이라고 결정될 경우 취해져야 할 조치에 영향을 미치는 상태에 있는지를 결정하기 위하여 상기 상태가 조사될 수있다. 예를 들어, "유지(maintenance)" 상태에 있는 기업 객체는 수많은 기업 이벤트의 근본 원인이라고 예측될 수 있지만, 상기 기업 객체의 상기 "유지" 상태에 기초하여 취해지는 조치는 기업 객체가 "실행(running)"이라는 예측 상태에 있다면 취해질 조치와 상이할 것이다. 예를 들어, 만일 기업 객체 상태가 "실행"이라고 예측되면, 상기 기업 객체가 근본 원인이라고 결정될 경우 취해지는 조치는 장애 극복 조치를 포함할 것이다. 그러나, 만일 상기 기업 객체 상태가 "유지"이면, 취해지는 조치는 상기 "유지" 상태의 기업 이벤트와 연관되는 다른 임의의 기업 이벤트를 보고하기 전에 상기 유지를 완성하는 데에 충분한 기간 동안 대기하도록 다운스트림 객체들에게 통지하는 조치일 것이다.
단계(884)에서, 상관 규칙이 완성되었는지에 관한 결정이 행해진다. 예를 들어, 상관 규칙은 논리적으로 "AND" 됨으로써 부울 참 또는 거짓 값을 생성하는 네 개의 구성 요소를 갖는다. 전술된 바와 같이, 상관 규칙 구성 요소 값은 기업 이벤트 데이터 필드로부터 추출될 수 있다. 만일 단계(884)에서의 결정이 "예"이면, 단계(885)에서, 다른 완성된 상관 규칙들과의 비교를 용이하게 하기 위하여 상기 완성된 상관 규칙의 순위가 매겨진다. 순위 매기기는, 예를 들어 트랜잭션 파이프라인에서의 상대적인 위치에 기초할 수 있다.
단계(886)에서, 조사할 또 다른 규칙이 존재하는지에 대한 결정이 행해진다. 결정이 "예"이면, 단계(883)로 복귀한다. 결정이 "아니오"이면, 단계(887)로 진행하며, 처리될 다른 상관 객체가 존재하는지에 대한 결정이 행해진다. 단계(887)에서의 결정이 "예"이면, 단계(882)로 복귀한다. 결정이 "아니오"이면, 단계(888)로진행하며, 근본 원인이 선택된다. 상기 선택은, 예를 들어 순위가 매겨진 완성된 상관 규칙 세트를 조사하여 가장 순위가 높은 규칙을 선택함으로써 행하여질 수 있다. 그러나, 근본 원인을 선택하는 다른 기술은 수동 선택, 패턴 매칭, 및 신경망 기술을 포함할 수 있지만 이들에 국한되지 않는다.
도 11은 근본 원인 이벤트를 상관시키고 결정하는 컴퓨터 구현 방법에 연관되는 추가적인 처리의 흐름도이다. 상기 처리는, 예를 들어 도 8의 단계(890)에서 생성되는 지시자에 기초하여 선택적으로 수행될 수 있다.
단계(1100)에서, 이벤트를 다운스트림으로 전달할지에 대한 결정이 행해진다. 예를 들어, 근본 원인 결정기의 네트워크에서, 제1 도메인에 대하여 결정되는 근본 원인은 다른 근본 원인 결정기로 전달됨으로써 협동적인 근본 원인 결정을 용이하게 할 수 있다. 따라서, 단계(890)에서 생성되는 지시자는 상기 방법에 의하여 결정되는 근본 원인이 다른 근본 원인 결정기로 전달되어야 한다는 것을 지시할 수 있다. 단계(1100)에서의 결정이 "예"이면, 단계(1110)에서, 기업 이벤트는 근본 원인 결정에 사용되는 다른 방법 및/또는 시스템으로 전달될 것이다. 단계(1120)에서, 메시지를 다운스트림으로 전달할지에 대한 결정이 행해진다. 메시지는, 예를 들어 콘솔 어플리케이션 및/또는 운영자로 전달될 수 있다. 근본 원인 결정이, 예를 들어 중단된 프로세스를 재시동하는 것과 같은 근본 원인을 결정하는 자동화 처리를 트리거링한다면, 재시동이 발생했다는 것을 운영자에게 통지하는 목적은 제한적일 수 있다. 그러나, 근본 원인 결정이 운영자의 주의를 요한다면, 운영자를 위하여 메시지가 표시될 수 있다. 따라서, 단계(1120)에서의 결정이"예"이면, 단계(1130)에서, 메시지가 다운스트림으로 전달될 것이다.
단계(1140)에서, 장애 극복 처리(failover processing)를 초기화할지에 대한 결정이 행해진다. 예를 들어, 독립 디스크의 용장 배열(redundant array of independent disks) 중 하나의 디스크에 장애가 발생하였지만 충분한 수의 독립 디스크가 남아 있어 상기 용장 배열의 장애 허용 기능(fault tolerance function)을 수행할 수 있다면, 장애 극복 처리는 필요하지 않을 수 있다. 그러나, 용장 배열에서 많은 수의 독립 디스크들에 장애가 발생하여 장애 허용 기능이 위협받을 정도라면, 용장 배열로부터 하나 이상의 장애 독립 디스크를 제거하고 상기 용장 배열에 다른 독립 디스크를 삽입하는 처리가 수행될 수 있다. 따라서, 단계(1140)에서의 결정이 "예"이면, 단계(1150)에서, 장애 극복 처리가 초기화될 수 있다.
단계(1160)에서, 유지 처리(maintenance processing)를 초기화할지에 대한 결정이 행해진다. 예를 들어, 단계(880)의 근본 원인 결정 및 단계(890)의 지시자는 디스크가 디스크 단편화(disk fragmentation)의 임계 값에 근접하고 있다는 것을 지시할 수 있다. 상이한 디스크는 상이한 수준의 디스크 단편화에서 영향을 받거나 장애를 일으킬 수 있으므로, 숙련된 운영자는 상이한 수준의 디스크 단편화에서 선택적으로 유지를 수행할 수 있다. 따라서, 상기 방법은 단계(880)의 근본 원인 결정 및 단계(890)에서 생성되는 지시자에 기초하여 유지를 자동적으로 초기화하도록 구성될 수 있다. 그러므로, 단계(1160)에서의 결정이 "예"이면, 단계(1170)에서 유지 처리가 초기화될 수 있다.
도 12의 흐름도는 근본 원인을 결정하기 전에 기업 이벤트가 수집되는 기간을 제한하는 것과 관련된 처리를 도시한다. 잠재적으로 길어질 수 있는 기업 이벤트에 응답하는 시간에 적절한 제한을 가하면서 의미 있는 기업 이벤트 세트를 수집하기에 충분한 시간을 할당함으로써, 잠재적으로 관련되는 기업 이벤트를 수집하는 기간을 제한하는 것이 근본 원인 결정 방법에 유리하다.
단계(840)에서, 기업 이벤트가 수신된다. 단계(1200)에서, 상기 이벤트가 기업 이벤트 문제와 관련되는 제1 이벤트인지에 대한 결정이 행해진다. 단계(1200)에서의 결정이 "예"이면, 단계(1210)에서 타이머가 시작된다. 타이머가 동작하는 기간은 기업 컴퓨팅 환경 관리 시스템의 운영자에 의하여 정해질 수 있는 설정 가능한 시간이다. 예를 들어, 큰 기업 및/또는 도메인에 대하여 타이머는 제1 기간으로 설정될 수 있는 반면, 더 작은 기업 및/또는 도메인에 대하여 타이머는 더 짧은 제2 기간으로 설정될 수 있다. 유사하게, 긴 의존 연쇄(dependency chain)가 존재하는 기업에서는 타이머 기간을 길게 하는 것이 유리한 반면, 상대적으로 단순한 의존 관계가 존재하는 기업에서는 타이머 기간을 짧게 하는 것이 유리할 수 있다.
단계(1220)에서 기업 이벤트 또는 관련되는 기업 이벤트 세트와 연관되는 타이머 기간이 만료되었는지에 대한 결정이 행해진다. 단계(1220)에서의 결정이 "아니오"이면, 단계(1270)에서 기업 이벤트가 처리된다. 처리는 기업 이벤트의 로깅(logging), 상기 이벤트가 적용되는 상관 규칙의 갱신 등을 포함할 수 있지만 이들에 국한되지 않는다. 그러나, 단계(1220)에서의 결정이 "예"이면, 단계(1230)에서, 상기 수신된 기업 이벤트가 타이머의 만료 후에 행해진 근본 원인 결정을 변경할 것인지에 대한 결정이 행해진다. 단계(1230)에서 행해지는 상기 결정은, 타이머가 만료될 때, 예를 들어 단계(1250)에서 근본 원인 결정이 행하여질 것이라고 가정한다. 단계(1230)에서의 결정이 "아니오"이면, 단계(1260)에서, 타이머의 시작과 만료 사이에 수집된 기업 이벤트 세트의 근본 원인이 결정되었는지에 대한 결정이 행해진다. 단계(1260)에서의 결정이 "예"이면, 단계(840)로 복귀한다. 그러나, 단계(1260)에서의 결정이 "아니오"이면, 단계(1250)에서, 근본 원인이 결정된다. 단계(1250)에서의 근본 원인 결정은 본 명세서에서 설명된 방법 및/또는 장치에 의하여 수행될 수 있다.
단계(1230)에서의 결정이 "예"이면, 단계(1220)에서 타이머가 만료했음에도 불구하고, 단계(840)에서 수신된 기업 이벤트는 단계(1250)에서 종전에 결정된 근본 원인을 변경할 것이고, 상기 종전에 결정된 근본 원인은 단계(1240)에서 취소된다. 그 후, 단계(1250)에서, 근본 원인은 재결정된다. 근본 원인 결정을 변경하는 이벤트의 예로서, 게이트웨이를 통하여 단일 데이터 베이스에 액세스하는 수천의 사용자를 갖는 웹 기반 어플리케이션으로부터 수신되는 기업 이벤트 세트가 있다. 상기 데이터베이스가 다운되면, 상기 웹 기반 어플리케이션과 연관되는 웹 브라우저 및/또는 클라이언트 어플리케이션은 게이트웨이가 응답하지 않는다는 것을 지시하는 수많은 기업 이벤트를 생성할 것이다. 다량의 기업 이벤트는 기업 컴퓨팅 환경의 대역폭을 쉽게 초과할 것이고 이로 인하여 데이터베이스에 의하여 생성되는 기업 이벤트의 전송이 방해받을 것이다. 클라이언트 어플리케이션으로부터 제1 기업 이벤트를 수신할 때 타이머가 시작될 수 있다. 타이머의 동작 중, 클라이언트 어플리케이션으로부터 많은 수, 예를 들어 10,000개의 기업 이벤트가 수신될 수 있다. 그러나, 상기 데이터베이스의 다운으로부터 생성되는 기업 이벤트는 수신되지 않을 수 있다. 이는, 예를 들어 이벤트 관리 시스템으로의 배달을 기다리면서 라우터에 큐잉(queueing)될 수 있다. 타이머가 만료된 후, 상기 데이터베이스의 다운과 연관되는 기업 이벤트가 수신될 수 있다. 게이트웨이가 응답하고 있지 않다는 것을 지시하는 10,000개의 기업 이벤트와, 상기 게이트웨이가 판독하려고 시도하였으나 실패한 데이터베이스가 다운되었다는 것을 지시하는 늦게 도착하는 하나의 기업 이벤트가 있다고 가정하면, 상기 10,000개의 게이트웨이 관련 기업 이벤트로부터의 결정은 상기 데이터베이스의 다운과 연관되는 기업 이벤트에 의하여 쉽게 교체될 수 있다.
본 명세서에서 설명된 근본 원인 결정 방법은 단일 컴퓨터 구성 요소에 의하여 수행되거나 협동하고 통신하는 둘 이상의 컴퓨터 구성 요소간에 분산될 수 있다는 점을 이해하여야 한다. 본 명세서에서 설명된 방법은, 가능하다면 복수의 컴퓨터 구성 요소에 의하여 병렬 수행될 수도 있다는 점을 이해하여야 한다.
예시적인 기업 구성 요소 관리 방법은 근본 원인이 결정되면 영향 분석을 수행한다. 영향 분석은, 상기 근본 원인 결정에 이르게 한 기업 이벤트를 초기화한 문제에 의하여 어떤 기업 구성 요소가 영향 받을지를 결정하는 것에 관한 것이다. 예를 들어 보안 서버, 보안 및 비보안 백앤드 어플리케이션, 및 보안 및 비보안 프론트앤드 어플리케이션을 포함하는 기업에서는 보안 서버의 다운에 대하여 영향 분석을 하는 것이 유리할 수 있다. 예를 들어, 비보안 백앤드나 비보안 프론트앤트어플리케이션은 보안 서버의 다운에 의하여 영향 받지 않을 것이지만, 보안 백앤드 및 보안 프론트앤트 어플리케이션은 영향 받을 것이다. 따라서, 보안 서버가 다운되었다는 근본 원인 결정에 기초하여 통지, 디스에이블, 및/또는 이러한 조치가 행해져야 할 기업 구성 요소를 식별하는 것이 영향 분석에 의하여 가능해질 수 있다.
상기 설명은 여러 실시예를 포함한다. 물론, 시스템 및 기업 이벤트의 근본 원인을 상관시키고 결정하는 데에 사용되는 시스템, 방법, GUI, 및 API를 설명하기 위한 구성 요소 또는 방법의 가능한 모든 조합을 설명하는 것은 불가능하다. 그러나, 당업자는 다른 조합 또는 치환이 가능하다는 것을 인식할 수 있을 것이다. 따라서, 본 출원은 첨부된 청구 범위 내의 변경, 수정, 및 변형을 포함하도록 의도된다.

Claims (38)

  1. 기업 구성 요소 관리(enterprise component management)를 위한 컴퓨터 구현 방법에 있어서,
    기업 이벤트(enterprise event)가 생성될 수 있는 전후 관계 세트(set of contexts)를 설정하는 단계;
    기업 이벤트가 근본 원인(root cause)을 식별하는지를 결정하는 것을 용이하게 하는 상관 규칙 세트(set of correlation rules)를 설정하는 단계;
    기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 하기 위하여 둘 이상의 기업 구성 요소간의 의존 관계 세트(set of dependencies)를 설정하는 단계;
    관련되는 기업 이벤트를 수집하고 상관시키는(correlating) 것을 용이하게 하기 위하여 하나 이상의 상관 객체(correlation object)를 인스턴스화하는(instantiating) 단계;
    기업 이벤트를 수신하는 단계;
    상기 기업 이벤트가 생성된 전후 관계를 결정하는 단계;
    상기 기업 이벤트를 하나 이상의 상관 객체와 관련시키는 단계;
    상기 기업 이벤트가 적용되는 하나 이상의 상관 규칙을 갱신하는 단계;
    상기 기업 이벤트가 생성된 전후 관계, 상관 규칙 세트, 의존 관계 세트, 및 하나 이상의 상관 객체와 관련되는 하나 이상의 기업 이벤트 세트 중 적어도 하나에 기초하여 근본 원인을 결정하는 단계; 및
    상기 근본 원인과 연관되는 지시자를 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 기업 이벤트를 하나 이상의 상관 객체와 관련시키는 상기 단계는
    상기 기업 이벤트가 적용되는 하나 이상의 상관 규칙과 연관되는 하나 이상의 상관 객체를 식별하는 단계; 및
    상기 상관 규칙을 갱신하는 것을 용이하게 하기 위하여 상기 기업 이벤트로부터 정보를 추출하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서, 상기 기업 이벤트가 적용되는 하나 이상의 상관 규칙을 식별하는 상기 단계는, 하나 이상의 상관 규칙 텍스트 필드, 데이터 필드, 및 식별자 필드와의 비교를 용이하게 하기 위하여, 하나 이상의 기업 이벤트 텍스트 필드를 파싱(parsing)하는 단계, 하나 이상의 기업 이벤트 데이터 필드를 패턴 매칭하는 단계, 및 하나 이상의 기업 이벤트 식별자 필드를 매칭하는 단계 중 적어도 하나를 포함하는 방법.
  4. 제1항에 있어서, 근본 원인을 결정하는 상기 단계는
    하나 이상의 상관 규칙 완성(correlation rule completion)이 존재하는지를 결정하는 단계; 및
    하나 이상의 상관 규칙 완성이 존재하면, 상기 하나 이상의 상관 규칙 완성 중에서 선택하는 단계
    를 포함하는 방법.
  5. 제1항에 있어서, 영향 분석(impact analysis)을 수행하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 지시자에 기초하여 이벤트가 다운스트림 구성 요소로 전달되는 방법.
  7. 제1항에 있어서, 상기 지시자에 기초하여 메시지가 다운스트림 구성 요소로 전달되는 방법.
  8. 제1항에 있어서, 상기 지시자에 기초하여 하나 이상의 장애 극복 프로세스(failover process)가 실행되는 방법.
  9. 제1항에 있어서, 상기 지시자에 기초하여 하나 이상의 유지 프로세스(maintenance process)가 실행되는 방법.
  10. 제1항에 있어서, 상기 컴퓨터 구현 방법은 단일 컴퓨터 구성 요소에 의하여 수행되는 방법.
  11. 제1항에 있어서, 상기 컴퓨터 구현 방법은 둘 이상의 컴퓨터 구성 요소에 의하여 수행되는 방법.
  12. 제1항에 있어서,
    근본 원인을 결정할 때 분석될 기업 이벤트가 수집되는 기간을 측정하는 타이머를 초기화하는 단계; 및
    상기 타이머가 만료될 때까지 근본 원인 결정을 연기하는 단계
    를 더 포함하는 방법.
  13. 제12항에 있어서, 근본 원인의 결정을 변경할 기업 이벤트가 상기 타이머가 만료된 후에 수신되면, 상기 타이머가 동작하는 동안 수집된 기업 이벤트 세트로부터 결정된 근본 원인이 취소되고 새로운 근본 원인이 결정되는 방법.
  14. 기업 구성 요소 관리 방법을 위한 컴퓨터 실행 가능 명령을 포함하는 컴퓨터 판독 가능 기록 매체에 있어서, 상기 방법은
    기업 이벤트가 생성될 수 있는 전후 관계 세트를 설정하는 단계;
    기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 하는 상관 규칙 세트를 설정하는 단계;
    기업 이벤트가 근본 원인을 식별하는지를 결정하는 것을 용이하게 하기 위하여 둘 이상의 기업 구성 요소간의 의존 관계 세트를 설정하는 단계;
    관련되는 기업 이벤트를 수집하고 상관시키는 것을 용이하게 하기 위하여 하나 이상의 상관 객체를 인스턴스화하는 단계;
    기업 이벤트를 수신하는 단계;
    상기 기업 이벤트가 생성된 전후 관계를 결정하는 단계;
    상기 기업 이벤트를 하나 이상의 상관 객체와 관련시키는 단계;
    상기 기업 이벤트가 적용되는 하나 이상의 상관 규칙을 갱신하는 단계;
    상기 기업 이벤트가 생성된 전후 관계, 상관 규칙 세트, 의존 관계 세트, 및 하나 이상의 상관 객체와 관련되는 하나 이상의 기업 이벤트 세트 중 적어도 하나에 기초하여 근본 원인을 결정하는 단계; 및
    상기 근본 원인과 연관되는 지시자를 생성하는 단계
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  15. 기업 이벤트의 근본 원인을 결정하는 시스템에 있어서,
    하나 이상의 기업 이벤트를 수신하는 기업 이벤트 수신기;
    기업 이벤트의 근본 원인을 결정하는 것을 용이하게 하는 하나 이상의 상관 규칙을 저장하는 상관 규칙 데이터 저장소;
    기업 이벤트의 근본 원인을 결정하는 것을 용이하게 하는 하나 이상의 인과 관계(cause and effect relationship)를 저장하는 인과 데이터 저장소 - 상기 인과 관계는 둘 이상의 기업 구성 요소를 관련시킴 - ;
    하나 이상의 후보 근본 원인과 연관되는 하나 이상의 상관 객체를 저장하는 상관 객체 데이터 저장소 - 상기 상관 객체는 하나 이상의 상관 규칙을 포함함 - ;
    근본 원인을 결정할 때 고려될 기업 이벤트가 상기 근본 원인을 결정하기 전에 수신될 기간을 정하는 타이머;
    하나 이상의 상관 객체를 분석함으로써 하나 이상의 기업 이벤트의 근본 원인을 결정하는 근본 원인 결정기; 및
    상기 근본 원인을 제공하는 인터페이스
    를 포함하는 시스템.
  16. 제15항에 있어서, 상기 기업 이벤트 수신기는 하나 이상의 기업 구성 요소 및 수동 기업 이벤트 제공자 중 적어도 하나로부터 하나 이상의 기업 이벤트를 수신하는 시스템.
  17. 제15항에 있어서, 상기 인과 관계 데이터 저장소는 하나 이상의 트랜잭션 파이프라인 의존 관계를 저장하는 시스템.
  18. 제15항에 있어서, 상기 근본 원인과 연관되는 기업 구성 요소 외의 기업 구성 요소가 기업 이벤트의 상기 근본 원인에 의하여 영향 받을지를 결정하는 영향 분석기(impact analyzer)를 포함하는 시스템.
  19. 제18항에 있어서, 상기 영향 분석기는 상기 근본 원인에 의하여 영향 받는 기업 구성 요소의 통지 및 상기 영향 받는 기업 구성 요소와 연관되는 영향 처리(impact processing) 중 적어도 하나를 선택적으로 수행하는 시스템.
  20. 제19항에 있어서, 상기 영향 처리는 장애 극복 처리(failover processing), 재시동 처리(restart processing), 셧다운 처리(shut-down processing), 보안 처리(security processing), 및 유지 처리(maintenance processing) 중 적어도 하나를 포함한다.
  21. 제15항에 있어서, 수신된 기업 이벤트를 저장하는 이벤트 로그 데이터 저장소를 더 포함하는 시스템.
  22. 제21항에 있어서, 상기 이벤트 로그 데이터 저장소는 수신된 기업 이벤트를 선택적으로 저장하고, 상기 선택은, 중복 저장되는 기업 이벤트의 수를 감소시킴으로써 요구되는 저장 용량을 감소시키는 것을 용이하게 하기 위하여 기업 이벤트의 유일성(uniqueness)에 기초하여 행해지는 시스템.
  23. 제15항에 있어서, 결정된 근본 원인을 저장하는 근본 원인 로그 데이터 저장소를 더 포함하는 시스템.
  24. 제15항에 있어서, 상기 근본 원인 결정기는 하나 이상의 상관 객체와 연관되는 하나 이상의 상관 규칙이 완성된 정도를 계산하는 시스템.
  25. 제24항에 있어서, 상기 근본 원인 결정기는 하나 이상의 후보 근본 원인의 순위를 매기고, 상기 근본 원인을 선택하는 수동 입력을 수용하는 시스템.
  26. 제15항에 있어서, 상관 규칙을 정하는 것을 용이하게 하는 상관 규칙 제조기를 더 포함하는 시스템.
  27. 제15항에 있어서, 인과 관계를 정하는 것을 용이하게 하는 인과 관계 제조기를 더 포함하는 시스템.
  28. 제15항에 있어서, 하나 이상의 근본 원인 결정기로부터 하나 이상의 근본 원인 결정을 수신하는 근본 원인 결정 수신기를 더 포함하고, 상기 근본 원인 결정기는 하나 이상의 기업 이벤트의 상기 근본 원인을 결정할 때 상기 하나 이상의 근본 원인 결정을 고려하는 시스템.
  29. 제15항에 있어서, 상기 시스템은 하나의 컴퓨터 구성 요소로 구현되는 시스템.
  30. 제15항에 있어서, 상기 시스템은 둘 이상의 컴퓨터 구성 요소간에 분산되는 시스템.
  31. 제15항에 있어서, 상기 인터페이스는 그래픽 사용자 인터페이스인 시스템.
  32. 기업 이벤트의 근본 원인을 결정하는 시스템의 컴퓨터 실행 가능 구성 요소들을 저장하는 컴퓨터 판독 가능 기록 매체에 있어서, 상기 구성 요소들은
    하나 이상의 기업 이벤트를 수신하는 기업 이벤트 수신 구성 요소;
    기업 이벤트의 근본 원인을 결정하는 것을 용이하게 하는 하나 이상의 상관 규칙을 저장하는 상관 규칙 저장 구성 요소;
    기업 이벤트의 근본 원인을 결정하는 것을 용이하게 하는 하나 이상의 인과 관계를 저장하는 인과 데이터 저장 구성 요소 - 상기 인과 관계는 둘 이상의 기업 구성 요소를 관련시킴 - ;
    하나 이상의 후보 근본 원인과 연관되는 하나 이상의 상관 객체를 저장하는 상관 객체 데이터 저장 구성 요소 - 상기 상관 객체는 하나 이상의 상관 규칙을 포함함 - ;
    기업 이벤트의 근본 원인을 결정할 때 고려될 기업 이벤트가 근본 원인을 결정하기 전에 수신될 기간을 정하는 타이밍 구성 요소;
    하나 이상의 상관 객체를 분석함으로써 하나 이상의 기업 이벤트의 근본 원인을 결정하는 근본 원인 결정 구성 요소; 및
    상기 근본 원인을 표시하는 디스플레이 구성 요소
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  33. 디스플레이 및 선택 장치를 포함하는 그래픽 사용자 인터페이스를 구비하는 컴퓨터 시스템에서 상기 디스플레이 상에 데이터 엔트리 세트를 제공하고 이들로부터 선택하는 방법에 있어서,
    데이터 엔트리 세트를 검색하는 단계 - 상기 데이터 엔트리의 각각은 근본 원인 결정 및 근본 원인 결정에서 분석된 상관 객체 중 하나를 나타냄 - ;
    상기 디스플레이 상에 상기 데이터 엔트리 세트를 표시하는 단계;
    상기 선택 장치가 데이터 엔트리를 선택하는 것을 지시하는 데이터 엔트리 선택 신호를 수신하는 단계; 및
    상기 신호에 응답하여 상기 데이터 엔트리와 연관되는 추가적인 데이터를 선택적으로 제공하는 단계
    를 포함하는 방법.
  34. 제33항에 있어서, 상기 선택된 데이터 엔트리가 근본 원인 결정이면, 상기 추가적인 데이터를 제공하는 상기 단계는 이벤트 전후 관계 데이터, 상관 규칙, 의존 관계 데이터, 상관 객체 식별자, 및 근본 원인 결정기 식별자 중 적어도 하나를 제공하는 단계를 포함하는 방법.
  35. 제33항에 있어서, 상기 선택된 데이터 엔트리가 상관 객체이면, 상기 추가적인 데이터를 제공하는 상기 단계는 타이머 데이터, 이벤트 로그 데이터, 하나 이상의 상관 규칙, 하나 이상의 의존 관계, 및 상관 객체 통계 중 적어도 하나를 제공하는 단계를 포함하는 방법.
  36. 기업 이벤트의 근본 원인을 결정하는 어플리케이션 프로그램과 결합하여 컴퓨터 구성 요소에 의하여 실행되는 어플리케이션 프로그램 인터페이스 세트를 포함하는 컴퓨터 판독 가능 기록 매체에 있어서, 상기 어플리케이션 프로그램 인터페이스 세트는
    기업 이벤트를 수신하는 제1 인터페이스;
    상기 기업 이벤트가 적용되는 상관 규칙을 수신하는 제2 인터페이스;
    상기 제2 인터페이스에 의하여 수신되는 상기 상관 규칙을 포함하는 하나 이상의 상관 규칙을 포함하는 상관 객체를 수신하는 제3 인터페이스; 및
    상기 기업 이벤트의 근본 원인을 반환하는 제4 인터페이스 - 상기 근본 원인은 상기 제3 인터페이스에 의하여 수신되는 하나 이상의 상관 객체를 조사함으로써 결정됨 -
    을 포함하는 컴퓨터 판독 가능 기록 매체.
  37. 상관 객체와 연관되는 자료 구조를 포함하는 컴퓨터 판독 가능 기록 매체에 있어서, 상기 상관 객체는
    기업 객체 - 상기 기업 객체로부터 기업 이벤트가 수신되었음 - 를 식별하는 객체 식별자를 저장하는 제1 필드;
    상기 기업 이벤트로부터 수신되는 이벤트 메시지를 저장하는 제2 필드;
    상기 기업 이벤트가 적용되는 하나 이상의 상관 규칙을 저장하는 제3 필드;
    상기 제3 필드에 저장되는 상관 규칙이 완성된 정도를 저장하는 제4 필드;
    기업 이벤트가 수신될 수 있는 기간을 저장하는 제5 필드; 및
    상기 자료 구조가 제공될 수 있는 하나 이상의 근본 원인 결정기를 식별하는 근본 원인 결정기 식별자를 저장하는 제6 필드
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  38. 이벤트를 상관시키고 근본 이벤트를 결정하기 위한 시스템에 있어서,
    이벤트를 수신하는 수단;
    이벤트를 저장하는 수단;
    이벤트를 하나 이상의 상관 규칙에 적용하는 수단; 및
    상기 하나 이상의 상관 규칙이 완성된 정도 및 상기 상관 규칙에 의하여 생성된 값의 조사를 기초로 근본 이벤트를 결정하는 수단
    을 포함하는 시스템.
KR10-2004-7000159A 2001-07-06 2002-07-08 시스템 및 기업 이벤트의 근본 원인을 상관시키고결정하는 방법 및 시스템 KR20040062528A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30344701P 2001-07-06 2001-07-06
US60/303,447 2001-07-06
PCT/US2002/021376 WO2003005200A1 (en) 2001-07-06 2002-07-08 Method and system for correlating and determining root causes of system and enterprise events

Publications (1)

Publication Number Publication Date
KR20040062528A true KR20040062528A (ko) 2004-07-07

Family

ID=23172120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7000159A KR20040062528A (ko) 2001-07-06 2002-07-08 시스템 및 기업 이벤트의 근본 원인을 상관시키고결정하는 방법 및 시스템

Country Status (9)

Country Link
EP (1) EP1405187B1 (ko)
JP (1) JP2004535018A (ko)
KR (1) KR20040062528A (ko)
CN (1) CN1549969A (ko)
BR (1) BR0210881A (ko)
CA (1) CA2453127A1 (ko)
IL (1) IL159694A0 (ko)
WO (1) WO2003005200A1 (ko)
ZA (1) ZA200400131B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365170B1 (ko) * 2007-06-29 2014-03-12 삼성전자주식회사 화상형성장치 관리 서버, 관리 서버의 서비스 연속성 지수산출 방법 및 화상형성장치 관리 시스템
KR20190019493A (ko) * 2017-08-18 2019-02-27 주식회사 티맥스 소프트 구성정보 관리 데이터베이스 기반의 it 시스템 장애 분석 기법
US10860410B2 (en) 2017-09-13 2020-12-08 TmaxSoft Co., Ltd. Technique for processing fault event of IT system

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263632B2 (en) * 2003-05-07 2007-08-28 Microsoft Corporation Programmatic computer problem diagnosis and resolution and automated reporting and updating of the same
US9667552B2 (en) * 2003-09-26 2017-05-30 International Business Machines Corporation Real-time SLA impact analysis
US7552447B2 (en) 2004-05-26 2009-06-23 International Business Machines Corporation System and method for using root cause analysis to generate a representation of resource dependencies
SG128497A1 (en) * 2005-06-10 2007-01-30 E Cop Pte Ltd Method and system for anomaly detection using a collective set of unsupervised machine-learning algorithms
EP1785866A1 (en) * 2005-11-08 2007-05-16 Hewlett-Packard Development Company, L.P. Alarm consolidaton in IT infrastructures
US9568206B2 (en) 2006-08-15 2017-02-14 Schneider Electric It Corporation Method and apparatus for cooling
US8327656B2 (en) 2006-08-15 2012-12-11 American Power Conversion Corporation Method and apparatus for cooling
US8322155B2 (en) 2006-08-15 2012-12-04 American Power Conversion Corporation Method and apparatus for cooling
US7681404B2 (en) 2006-12-18 2010-03-23 American Power Conversion Corporation Modular ice storage for uninterruptible chilled water
US8425287B2 (en) 2007-01-23 2013-04-23 Schneider Electric It Corporation In-row air containment and cooling system and method
GB0707513D0 (en) 2007-04-18 2007-05-30 Zenulta Ltd Method of identifying a root cause of a network event
US20090138313A1 (en) 2007-05-15 2009-05-28 American Power Conversion Corporation Methods and systems for managing facility power and cooling
CN101393535B (zh) * 2007-09-19 2013-01-23 国际商业机器公司 将运行时事件与组件相关联的方法和系统
JP5266764B2 (ja) * 2008-01-15 2013-08-21 富士通株式会社 支援装置、支援プログラムおよび支援方法
JP5119935B2 (ja) * 2008-01-15 2013-01-16 富士通株式会社 管理プログラム、管理装置および管理方法
US8806037B1 (en) 2008-02-29 2014-08-12 Netapp, Inc. Remote support automation for a storage server
US8285668B2 (en) 2008-05-15 2012-10-09 Microsoft Corporation Building a knowledgebase of associated time-based events
US8365190B2 (en) 2008-06-16 2013-01-29 International Business Machines Corporation Correlated message identifiers for events
US8112378B2 (en) 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
US8086909B1 (en) * 2008-11-05 2011-12-27 Network Appliance, Inc. Automatic core file upload
US8219362B2 (en) 2009-05-08 2012-07-10 American Power Conversion Corporation System and method for arranging equipment in a data center
JP5385982B2 (ja) 2009-07-16 2014-01-08 株式会社日立製作所 障害の根本原因に対応した復旧方法を表す情報を出力する管理システム
JP5542398B2 (ja) * 2009-09-30 2014-07-09 株式会社日立製作所 障害の根本原因解析結果表示方法、装置、及びシステム
US8060782B2 (en) * 2010-03-01 2011-11-15 Microsoft Corporation Root cause problem identification through event correlation
US8839036B2 (en) * 2010-12-30 2014-09-16 Schneider Electric It Corporation System and method for root cause analysis
US20130063592A1 (en) * 2011-09-08 2013-03-14 Scott Michael Kingsley Method and system for associating devices with a coverage area for a camera
WO2013095494A1 (en) 2011-12-22 2013-06-27 Schneider Electric It Corporation System and method for prediction of temperature values in an electronics system
US9952103B2 (en) 2011-12-22 2018-04-24 Schneider Electric It Corporation Analysis of effect of transient events on temperature in a data center
US8930773B2 (en) 2012-04-16 2015-01-06 Hewlett-Packard Development Company, L.P. Determining root cause
US9390135B2 (en) * 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
CN103473370A (zh) * 2013-09-29 2013-12-25 贵州省广播电视信息网络股份有限公司 一种实现广电系统故障动态回溯的方法
JP6000495B2 (ja) 2014-02-26 2016-09-28 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
US11132620B2 (en) 2017-04-20 2021-09-28 Cisco Technology, Inc. Root cause discovery engine
CN109598393A (zh) * 2017-09-30 2019-04-09 北京国双科技有限公司 一种事件对企业产生的影响信息的分析方法及装置
CN107844572B (zh) * 2017-11-04 2022-02-22 公安部第三研究所 多维度事件关联分析方法
CN111125322B (zh) * 2019-11-19 2021-02-12 北京金堤科技有限公司 信息搜索方法和装置、电子设备和存储介质
CA3164859A1 (en) * 2020-01-17 2021-07-22 Andrew LOSCHMANN Systems and methods for network monitoring, reporting, and risk mitigation
US11269711B2 (en) 2020-07-14 2022-03-08 Juniper Networks, Inc. Failure impact analysis of network events
US11265204B1 (en) 2020-08-04 2022-03-01 Juniper Networks, Inc. Using a programmable resource dependency mathematical model to perform root cause analysis
US11888679B2 (en) * 2020-09-25 2024-01-30 Juniper Networks, Inc. Hypothesis driven diagnosis of network systems
US11947416B2 (en) 2021-12-14 2024-04-02 International Business Machines Corporation Fault diagnosis in complex systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488697A (en) * 1988-01-12 1996-01-30 Honeywell Inc. Problem state monitoring system
DE69113077T2 (de) * 1990-02-15 1996-05-30 Digital Equipment Corp Modellgestütztes deduktives System für Netzwerksfehlerdiagnose.
US5539877A (en) * 1994-06-27 1996-07-23 International Business Machine Corporation Problem determination method for local area network systems
US5864662A (en) * 1996-06-28 1999-01-26 Mci Communication Corporation System and method for reported root cause analysis

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365170B1 (ko) * 2007-06-29 2014-03-12 삼성전자주식회사 화상형성장치 관리 서버, 관리 서버의 서비스 연속성 지수산출 방법 및 화상형성장치 관리 시스템
KR20190019493A (ko) * 2017-08-18 2019-02-27 주식회사 티맥스 소프트 구성정보 관리 데이터베이스 기반의 it 시스템 장애 분석 기법
US10621027B2 (en) 2017-08-18 2020-04-14 TmaxSoft Co., Ltd. IT system fault analysis technique based on configuration management database
US10860410B2 (en) 2017-09-13 2020-12-08 TmaxSoft Co., Ltd. Technique for processing fault event of IT system

Also Published As

Publication number Publication date
JP2004535018A (ja) 2004-11-18
ZA200400131B (en) 2005-09-16
WO2003005200A1 (en) 2003-01-16
EP1405187A1 (en) 2004-04-07
CN1549969A (zh) 2004-11-24
IL159694A0 (en) 2004-06-20
BR0210881A (pt) 2004-06-22
EP1405187A4 (en) 2006-07-26
CA2453127A1 (en) 2003-01-16
EP1405187B1 (en) 2019-04-10

Similar Documents

Publication Publication Date Title
KR20040062528A (ko) 시스템 및 기업 이벤트의 근본 원인을 상관시키고결정하는 방법 및 시스템
US20220004546A1 (en) System for automatically discovering, enriching and remediating entities interacting in a computer network
US10616044B1 (en) Event based service discovery and root cause analysis
Chen et al. Towards intelligent incident management: why we need it and how we make it
Chen Path-based failure and evolution management
US7194445B2 (en) Adaptive problem determination and recovery in a computer system
US11269718B1 (en) Root cause detection and corrective action diagnosis system
US6792456B1 (en) Systems and methods for authoring and executing operational policies that use event rates
US7552447B2 (en) System and method for using root cause analysis to generate a representation of resource dependencies
US8245083B2 (en) Systems, methods, and apparatus to debug a network application
US8341014B2 (en) Recovery segments for computer business applications
US8181069B2 (en) Method and system for problem determination using probe collections and problem classification for the technical support services
US10489232B1 (en) Data center diagnostic information
Chuah et al. Diagnosing the root-causes of failures from cluster log files
US20080155336A1 (en) Method, system and program product for dynamically identifying components contributing to service degradation
US11886276B2 (en) Automatically correlating phenomena detected in machine generated data to a tracked information technology change
CN109716730A (zh) 生产应用的自动化性能调试
US7454761B1 (en) Method and apparatus for correlating output of distributed processes
Demirbaga et al. Autodiagn: An automated real-time diagnosis framework for big data systems
Li et al. An intelligent framework for timely, accurate, and comprehensive cloud incident detection
Joshi et al. Probabilistic model-driven recovery in distributed systems
Chen et al. Automatic root cause analysis via large language models for cloud incidents
Cook et al. Toward self-healing multitier services
Meng et al. Driftinsight: detecting anomalous behaviors in large-scale cloud platform
AT&T

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid