KR101021411B1 - 처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법 - Google Patents

처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법 Download PDF

Info

Publication number
KR101021411B1
KR101021411B1 KR1020040036306A KR20040036306A KR101021411B1 KR 101021411 B1 KR101021411 B1 KR 101021411B1 KR 1020040036306 A KR1020040036306 A KR 1020040036306A KR 20040036306 A KR20040036306 A KR 20040036306A KR 101021411 B1 KR101021411 B1 KR 101021411B1
Authority
KR
South Korea
Prior art keywords
signature
weighting factor
weighting
learning
computer
Prior art date
Application number
KR1020040036306A
Other languages
English (en)
Other versions
KR20040101058A (ko
Inventor
아시빈쿠마자얀틸랄 산그비
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20040101058A publication Critical patent/KR20040101058A/ko
Application granted granted Critical
Publication of KR101021411B1 publication Critical patent/KR101021411B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Alarm Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명은 변수들을 모니터하고 비정상성들을 탐지하기 위해서 컴퓨팅 환경에서의 이용을 위한 방법 및 시스템에 관한 것이다. 처리 과정을 모니터하기 위한 모니터 시스템은 처리 과정을 나타내는 시그너쳐를 생성하기 위한 시그너쳐 생성 모듈, 상기 생성된 시그너쳐를 계속적으로 갱신하기 위한 시그너쳐 갱신 모듈, 및 상기 갱신된 시그너쳐로부터의 편차들에 기초한 비정상성들을 탐지하기 위한 비정상성 탐지 모듈을 포함할 수 있다. 상기 시스템은 처리 과정을 나타내는 계속적으로 갱신된 시그너쳐에 기초하여 처리 과정동안 비정상성들을 탐지하기 위한 방법을 실행할 수 있다. 상기 방법은 시스템 변수를 계속적으로 모니터하고 상기 계속적으로 갱신된 시그너쳐에 기초하여 상기 시스템 변수에 대한 정상 범위의 값들을 계산하는 단계를 포함할 수 있다. 상기 방법은 상기 모니터된 시스템 변수가 상기 정상 범위내에 있는 지를 판단하고 상기 모니터된 시스템 변수가 상기 정상범위를 벗어나 있으면 비정상성의 존재를 표시하는 단계를 더 포함할 수 있다.
비정상성, 시그너쳐 갱신 모듈, 시스템 변수

Description

처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법{SELF-LEARNING METHOD AND SYSTEM FOR DETECTING ABNORMALITIES}
도 1은 본 발명이 실행되는 예시적인 컴퓨팅 환경을 도시하는 도면.
도 2는 본 발명의 실시예의 시스템의 구성 부분들을 도시하는 블록도.
도 3은 본 발명의 실시예에 따른 방법을 도시하는 흐름도.
도 4a는 본 발명의 실시예에 따른 시그너쳐를 생성하기 위한 방법의 일부분을 도시하는 흐름도.
도 4b는 본 발명의 실시예에 따른 시그너쳐를 생성하기 위한 방법에 포함된 다른 과정들을 도시하는 흐름도.
도 5는 본 발명의 실시예에 따른 시그너쳐를 갱신하기 위한 방법을 도시하는 흐름도.
도 6은 본 발명의 실시예에 따른 시그너쳐 요소를 획득하기 위한 방법을 도시하는 흐름도.
도 7은 본 발명의 실시예에 따른 다른 시그너쳐 요소를 획득하기 위한 방법을 도시하는 흐름도.
도 8은 본 발명의 실시예에 따른 비정상성들을 탐지하기 위한 방법을 도시하는 흐름도.
도 9a는 시그너쳐 갱신 처리 과정을 도시하는 도면.
도 9b는 샘플 신호와 비교되는 이전에 계산된 시그너쳐를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
121: 시스템 버스
130: 시스템 메모리
131: ROM
132: RAM
133: BIOS
135: 애플리케이션 프로그램
본 발명의 실시예들은 시스템 관리를 용이하도록 주기적이거나 다른 형태의 처리 과정동안 비정상성(abnormality)들을 탐지하기 위한 자동화 기술들에 관한 것이다. 특히, 본 발명의 실시예들은 컴퓨팅 시스템 또는 처리 과정에 의해서 비정상성들을 탐지하고 비즈니스 핵심 성과 지표들(business key performance indicator)을 추적하기 위한 것이다.
네트워크화된 컴퓨팅 장치들 및 시스템들의 사용이 증가함에 따라, 시스템에 대해 장애들이 매우 큰 영향을 미칠 수 있기 때문에 장애들에 대하여 이들 시스템들을 모니터하는 것이 필요하게 되었다. 종래 방법에서 수동으로 이러한 시스템들 을 모니터하는 것은 비현실적이고 많은 경우 불가능하다.
숙련된 전문가들은 공장에서 엔진이나 수백개의 기계들의 '윙윙' 소리를 듣고 기계들이 제대로 작동하는지 판단할 수 있다. 이런 기술은 서버들이나 데이터 센터들에서는 효율적으로 사용될 수 없다. 서버 또는 데이터 센터에서의 분석은 결론에 도달하기 전에 전문가가 수백 번의 측정이 가능할 정도로 해당 서버에 대한 특정 영향 및 비즈니스 주기들의 정상적인 상하의 흐름(ebb and tide)을 잘 아는 해당 분야의 전문가를 요구한다. 데이터 센터에서 또는 기업내에서의 수백개의 서버에 대하여 수동으로 이런 분석을 실행하는 것은 매우 부담스럽고 아마도 불가능한 일이다.
따라서, 비정상성들에 대해서 컴퓨팅 시스템들을 모니터하기 위한 기술들이 개발되어왔다. 이들중 한 기술에서는 샘플링을 위한 변수들을 표시하고 고정된 임계값에 대하여 샘플링된 결과들을 비교한다. 고정된 임계값보다 초과하면, 이 기술에서는 비정상성을 표시한다. 이 기술에서는 종종 잘못된 결과들이 얻어진다. 서로 다른 두 시스템들이 동일한 구성, 조건들, 및 사용 패턴들을 가질 수 없기 때문에, 임계값들을 설정하기가 어렵다. 임계값이 너무 높게 설정되면, 많은 부분의 비정상성들이 탐지되지 않고 임계값이 너무 낮게 설정되면, 상기 기술은 정상 상태에서 과도한 수의 경고를 초래한다. 그러므로, 가격 및 복잡성에도 불구하고, 상기 기술은 어떤 영역에서는 과도한 보고를 초래하면서 다른 어떤 영역에서는 너무 적은 보고를 초래하고 이러한 영역들조차도 하루에 걸쳐서 변한다.
현재, 에이전트(agent)로부터 수집되는 데이터의 상당 부분은 수치 데이터(numeric data)이다. 이 부분은 추적된 변수들의 수 및 필요한 해상도가 증가함에 따라 10 내지 100 이상으로 증가할 수 있다. 이 데이터는 마지막으로 군집화(aggregation), 추세 분석(trending), 및 필요 자원의 계획과 보고에 사용될 것이다. 대부분의 경우에서, 처리안된 수집된 데이터는 사용되지 않는다. 상기 데이터 수집의 적재는 확장성을 크게 제한한다.
이러한 장애들로 인해, 고객들은 임계값들의 미세 조정을 위한 서비스 상담을 요구하게 되었다. 고객들은 또한 관리자들이 주문(custom) 변경을 행할 수 있도록 지식 저작(knowledge authoring) 환경에 대한 요구 및 그룹과 서버 레벨에서 충돌 해결 대책들(conflict resolution policies)을 포함하는 규칙들을 번복하는 규정들(provisions)에 대한 요구를 증가시켰다. 또한, 고객들은 인스턴스(instance) 레벨 하나에서의 개인화(personalization)를 위한 속성들의 깊은 발견에 대한 요구들을 증가시켰다.
불행하게도, 이런 요구들은 해결되기 어려웠다. 대부분의 관리자들은 그들의 시스템에서 관련된 변수들을 이해할 수 없었고 또한 임계값들을 적당하게 설정할 정도로 충분히 그들 자신의 설비들을 이해할 수 없다. 또한, 많은 수의 서버들에 대한 개인화는 심지어 전문가들에 대한 작업으로도 너무 크다. 시스템 변수들만을 기초로 한 상담은 주기적 비즈니스 리듬을 설명하지 못하면서 대다수의 비정상성들을 간과하기 쉽다. 마지막으로, 컨설턴트들은 초기에는 특정 시스템에서의 요구들을 해결할 수 있겠지만, 임계값들은 비즈니스 주기들 및 구성들이 변하는 것에 따라서 빠르게 쓸모없어진다.
상담 에이전트를 사용하는 현존재 기술들은 많은 양의 데이터 수집 및 저장을 포함한다. 데이터의 양은 변수들이 시간에 따라 추적됨에 따라서 빠르게 증가될 수 있다. 수집된 데이터 중 많은 양은 사용되지 않으며 과도한 데이터의 보유는 시스템 확장성을 제한한다.
상기 장애들을 피하면서 비정상성 탐지를 자동적으로 제공하는 기술이 필요하다. 이 기술은 과도한 데이터 보유를 피하고 다양한 환경과 처리 과정들에서 기능하는 것에 적응될 수 있어야 한다.
한가지 측면에서, 본 발명은 처리 과정을 모니터하는 방법에 관한 것이다. 이 방법은 상기 처리 과정을 나타내는 시그너쳐(signature)를 생성하는 단계, 상기 생성된 시그너쳐를 계속적으로 갱신하는 단계, 및 상기 계속적으로 갱신된 시그너쳐에 기초하여 비정상성들을 탐지하는 단계를 포함한다.
다른 측면에서, 본 발명은 처리 과정을 나타내는 계속적으로 갱신된 시그너쳐에 기초하여 처리 과정 동안에 발생하는 비정상성들을 탐지하기 위한 방법을 포함한다. 상기 방법은 시스템 변수를 계속적으로 모니터하는 단계, 상기 계속적으로 갱신된 시그너쳐에 기초하여 시스템 변수에 대한 정상 범위의 값들을 계산하는 단계, 상기 모니터된 시스템 변수가 상기 정상 범위 사이에 있는지 결정하는 단계, 및 상기 모니터된 시스템 변수가 상기 정상 범위를 벗어나 있다면 비정상성의 존재를 표시하는 단계를 포함한다.
또 다른 측면에서, 본 발명은 컴퓨팅 시스템 환경에서 비정상성들을 탐지하 는데 유용한 시그너쳐를 생성하기 위한 방법을 포함한다. 상기 방법은 학습 반응 상수(learning responsiveness constant)를 설정하는 단계, 시스템 변수를 모니터하는 단계 및 상기 학습 반응 상수를 희망된 값에 도달할 때까지 일정 간격마다 조정하는 단계를 포함한다. 상기 방법은 또한 각 간격에 대한 평균 및 표준 편차를 계산하는 단계 및 시그너쳐를 생성하기 위해서 평균, 표준 편차 및 학습 반응 상수를 이용하는 단계를 포함한다.
다른 측면에서, 본 발명은 컴퓨팅 환경에서 비정상적 활동을 탐지하기 위한 시스템을 포함한다. 상기 시스템은 시스템 변수, 상기 시스템 변수의 정상 값들을 나타내는 계속적으로 갱신된 시그너쳐 및, 상기 계속적으로 갱신된 시그너쳐에 기초해 계산된 비정상성 표시를 계속적으로 모니터하는 모니터링 도구들을 포함하고, 상기 비정상성 표시는 상기 시스템 변수에 대한 정상값들의 범위를 포함한다.
또 다른 측면에서, 본 발명은 처리 과정을 모니터하는 모니터링 시스템을 포함한다. 상기 모니터링 시스템은 상기 처리 과정을 나타내는 시그너쳐를 생성하기 위한 시그너쳐 생성 모듈, 상기 생성된 시그너쳐를 계속적으로 갱신하기 위한 시그너쳐 갱신 모듈, 및 상기 갱신된 시그너쳐에서의 편차들에 기초하여 비정상성들을 탐지하기 위한 비정상성 탐지 모듈을 포함한다.
본 발명의 실시예들은 컴퓨팅 시스템 또는 비즈니스 과정에서 비정상성들을 탐지하기 위한 방법 및 시스템에 관한 것이다. 본 발명의 실시예들은 컴퓨팅 시스템 또는 비즈니스 과정들을 계속적으로 모니터하고, 상기 시스템 또는 처리 과정을 나타내는 시그너쳐를 생성하고 계속적으로 갱신하며, 상기 갱신된 시그너쳐에 기초해서 상기 컴퓨팅 시스템 또는 비즈니스 과정에서의 비정상적 발생들을 탐지하는 능력을 가진다.
본 발명의 시스템 및 방법은 일정한 비즈니스 주기를 쫓는 시간-변화 신호의 시그너쳐를 구성하고 계속적으로 갱신한다. 상기 시그너쳐는 (1)비정상성이 발생할 때 비정상성을 확인하고; (2)가장 마지막의 비즈니스 주기로부터의 샘플들로부터 갱신된 시그너쳐를 계산하는 것을 포함하는 적어도 두가지의 목적들을 가진다. 시스템은 과거의 처리 안된 데이터를 저장할 필요성을 제거한다.
본 발명의 실시예들은 본 발명의 개요를 간략하게 설명하는 것이기 때문에, 도 1 내지 도 9를 참조하여 설명될 것이다. 본 발명에 대한 예시적인 동작 환경은 이하에서 설명된다.
예시적 동작 환경
도 1은 본 발명이 구현되는 적당한 컴퓨팅 시스템 환경(100)의 예를 도시한다. 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 한가지 예일 뿐이며 본 발명의 이용 또는 기능의 범위에 대한 한계를 제시하지 않는다. 컴퓨팅 환경(100)은 예시적인 동작 환경(100)에서 도시된 구성 성분들의 하나 또는 조합에 대해 어떠한 의존 또는 필요도 가지는 것으로 해석되서는 안된다.
본 발명은 컴퓨터에 의해서 실행되는, 프로그램 모듈과 같은, 컴퓨터-실행가능한 명령어들에 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈들은 특정 업무들을 실행하거나 특정한 추상적 데이터 형태들을 이행하는 루틴(routine)들, 프로그램들, 객체(object)들, 컴포넌트들, 데이터 구조 등을 포함한다. 또한, 본 분야에서 숙련된 당업자는 본 발명이 포켓용 장치들, 다중처리 시스템(multiprocessor system)들, 마이크로프로세서-기반(microprocessor-based) 또는 프로그래밍가능한 가전 제품들, 미니컴퓨터들, 메인프레임 컴퓨터들 등을 포함하는, 다른 컴퓨팅 시스템 구성들로 실행될 수 있다는 것을 알 수 있을 것이다. 본 발명은 또한 업무들이 통신 네트워크를 통해 연결된 원격 처리 장치에 의해서 실행될 수 있는 분산 컴퓨팅 환경들에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 저장 장치들을 포함하는 로컬(local) 및 원격 컴퓨터 저장 매체 모두에 위치될 수 있다.
도 1을 참조하여, 본 발명을 구현하기 위한 예시적인 시스템(100)은 처리 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함한 다양한 시스템 구성요소들을 처리 유닛(120)에 연결하는 시스템 버스(121)를 포함하는 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다.
컴퓨터(110)는 일반적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 예로써 , 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 그에 국한되지는 않는다. 시스템 메모리(130)는 읽기용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 기동 시간동안, 컴퓨터(110)내의 구성요소들 사이에서 정보를 전송하는 것을 돕는 기본 루틴들을 포함하는, 기본 입출력 시스템(BIOS)(133)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 즉시 접근할 수 있고/있거나 처리 유닛(120)에서 현재 동작되고 있는 데이터 및/또는 프로그램을 포함한다. 예로써, 도 1은 오퍼레이팅 시스템(134), 애플리케이션 프로그램들(135), 다른 프로그램 모듈들(136), 및 프로그램 데이터(137)를 도시하고 있지만 그에 국한되는 것은 아니다.
컴퓨터(110)는 또한 분리형/비분리형, 휘발성/비휘발성의 컴퓨터 저장 매체를 포함할 수 있다. 오직 예로써, 도 1은 비분리형, 비휘발성 자기 매체를 판독하거나 기록하는 하드 디스크(141), 분리형, 비휘발성 자기 디스크(152)에 대해 판독하거나 기록할 수 있는 자기 디스크 드라이브(151), 및 CD ROM 또는 다른 광 매체와 같은 분리형, 비휘발성 광학 디스크(156)에 대해 판독하거나 기록할 수 있는 광 디스크 드라이브(155)를 도시한다. 상기 예시적인 동작 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성의 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD, 디지털 비디오 테이프, 고상 RAM, 고상 ROM등을 포함하지만 이에 국한되는 것은 아니다. 하드디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통하여 시스템 버스(121)에 연결되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 일반적으로 인터페이스(150)와 같은, 삭제가능한 메모리 인터페이스를 통해서 시스템 버스(121)에 연결된다.
상기 설명되고 도 1에 도시된, 드라이브 및 드라이브 관련 컴퓨터 저장 매체는 컴퓨터(110)를 위한 컴퓨터 판독가능한 명령어들, 데이터 구조들, 프로그램 모듈들 및 다른 데이터를 저장한다. 도 1에서, 예를 들면, 하드 디스크 드라이브(141)가 오퍼레이팅 시스템, 애플리케이션 프로그램들(145), 다른 프로그램 모듈들(146), 및 프로그램 데이터(137)을 저장하는 것으로 도시된다. 이러한 컴포넌트들은 오퍼레이팅 시스템(134), 애플리케이션 프로그램들(135), 다른 프로그램 모듈들(136), 및 프로그램 데이터(137)와 같거나 또는 다를 수 있음을 주의해야 한다. 오퍼레이팅 시스템(144), 애플리케이션 프로그램들(145), 다른 프로그램 모듈들(146), 및 프로그램 데이터(147)는 최소한도에서, 그것들이 다른 사본들임을 도시하기 위해서 다른 번호들이 부여된다. 사용자는 키보드(162) 및 일반적으로 마우스, 트랙볼 또는 터치 패드(touch pad)로 불리는, 포인팅 장치(161)와 같은 입력 장치들을 통하여 명령 및 정보를 컴퓨터(110)에 기입한다. 다른 입력 장치들(도시되지 않음)은 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너등을 포함할 수 있다. 이런 장치들 및 다른 입력 장치들은 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통해서 처리 유닛(120)에 대개 연결되지만, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 버스 구조들 및 다른 인터페이스에 의해 연결될 수도 있다. 모니터(191) 또는 디스플레이 장치의 다른 형태는 또한 비디오 인터페이스(190)와 같은 인터페이스를 경유하여 시스템 버스(121)에 연결된다. 모니터이외에도, 컴퓨터들은 또한 출력 주변 장치 인터페이스(195)를 통해서 연결될 수 있는, 스피커들(197) 및 프린터(196)와 같은 다른 주변 장치 출력 장치들을 포함할 수 있다.
본 발명에서의 컴퓨터(110)는 원격 컴퓨터(180)와 같은, 하나 이상의 원격 컴퓨터로의 로직(logical) 연결들을 이용하는 네트워크화된 환경에서 동작할 것이다. 원격 컴퓨터(180)는 도 1에서는 메모리 저장 장치(181)만이 도시되었지만, 개인 컴퓨터일 수도 있고, 컴퓨터(110)에 관하여 앞서 설명된 많은 구성요소들을 포함할 수 있다. 도 1에서 묘사된 로직 연결들은 근거리 네트워크(LAN)(171) 및 광역 네트워크(WAN)(173)를 포함하지만, 다른 네트워크들을 또한 포함할 수 있다.
LAN 네트워크 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 즉 어댑터(170)를 통해서 LAN(171)에 연결된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터(110)는 인터넷과 같은, WAN(173)을 통해서 통신 연결을 달성하기 위해서 일반적으로 모뎀(172) 또는 다른 수단들을 포함한다. 내장형 또는 외장형일 수 있는, 모뎀(172)은 사용자 입력 인터페이스(160)을 경유하여 시스템 버스(121), 또는 다른 적당한 매카니즘에 연결될 수 있다. 네트워크화된 환경에서, 컴퓨터(110)에 관하여 서술된 프로그램 모듈들, 또는 그것의 일부들이 원격 메모리 저장 장치내에 저장될 수 있다. 예로써, 도 1은 원격 애플리케이션 프로그램들(185)을 메모리 장치(181)에 속하는 것으로 도시하지만, 그것에 국한되지는 않는다. 도시된 네트워크 연결들은 예시적임을 이해해야 하며 컴퓨터들 사이의 통신 연결을 성립시키는 다른 수단이 사용될 수도 있다.
컴퓨터(110)의 다른 많은 내부 구성 요소들이 도시되지는 않았지만, 본 분야에서 숙련된 당업자는 그러한 구성요소들 및 내부 연결이 공지되어 있음을 이해할 것이다. 따라서, 컴퓨터(110)의 내부 구성에 관한 추가적 상세는 본 발명과 관련하여 설명되지는 않는다.
시스템의 실시예
도 2는 본 발명의 실시예의 시스템의 구성요소들을 도시하는 블록도이다. 모니터 시스템(10)은 선택된 변수들을 모니터하기 위해서 시스템(40)에 연결된다. 모니터 시스템(10)은 처리기(12), 네트워크 인터페이스(14), 동작기 인터페이스(16) 및 메모리(20)를 포함할 수 있다. 처리기(12), 네트워크 인터페이스(14), 및 메모리(20)는 도 1에 대하여 앞에서 설명된 것들과 실질적으로 유사하다. 메모리(20)는 시그너쳐 생성 모듈(22), 시그너쳐 갱신 모듈(24), 및 비정상성 탐지 모듈(26)을 포함한다.
상기 설명된 구성요소들은 다수의 시스템 관련 변수들을 측정하도록 작동한다. 변수들 중 일부는 시간-변화 수치 변수들이다. 측정될 수 있는 변수는 트랜잭션(transaction)들의 숫자 또는 동시 세션(simultaneous session)들을 측정하기 위한 사용량(usage) 변수이다. 사용량 변수들은 고객들로부터 시스템에 가해진 스트레스(stress)를 표시한다. 사용량 변수들의 예들은 (1)동시에 접속한 사용자의 수; (2)초당 트랜잭션 요청의 수; (3)요청 도달의 비율; (4)초당 수신된 패킷들; 및 (5)초당 웹 히트(hit)를 포함한다. 대부분의 생산 환경에서, 이용량은 업무 시간에 상승하고 업무외 시간 및 주말등에는 떨어지는 비지니스 주기 패턴을 따른다. 일주일 주기는 보통 매우 일정한 패턴을 가진다. 보통, 정상을 크게 초과하거나 정상 미만으로 떨어지는 사용량 측정은 장애 또는 비정상성의 표시이다.
시스템 변수들의 다른 집합은 사용 효율(utilization)에 관한 것이다. 이 변수들은 가해진 스트레스의 결과로서 시스템내의 스트레인(strain)을 표시한다. 이 변수들의 예들은 (1)CPU 사용 효율; (2)큐(queue) 길이; (3)초당 작업 전환(task switches); (4)메모리 사용효율등을 포함한다. 사용 효율은 보통 사용량의 함수이고 따라서 또한 상기 설명된 비즈니스 주기를 따른다. 하지만, 이 변수들은 모든 면에서 사용량과 동일하게 다루어질 수 없다. 예를 들면, 클러스터내의 모든 노드들 상에서 큐 길이들 또는 CPU 사용효율의 합은 의미가 없다. 보통 정상을 크게 초과하거나 정상 미만으로 떨어지는 사용 효율은 장해 또는 비정상성의 표시이다.
시스템 변수들의 다른 집합은 오류 또는 경고를 포함한다. 대부분의 경우에 이들 오류들 또는 경고들은 기능불량 또는 잘못된 배치의 결과이다. 오류 또는 경고의 예들은 (1)잘못된 요청; (2)패리티(parity) 오류; (3) 404 오류; (4) 치명적 이벤트(critical event); (5) 접속(logon) 오류등을 포함한다. 일부 오류들은 '정상'이다. '정상' 오류들의 예는 (1)과부하됐을 때 설계에 의한 라우터 패킷 제거(router dropping packets); (2)WAN의 용인된 비트 오류율; (3)일정하게 변하는 웹 콘텐츠로 인한 404오류를 주는 페이지들; 및 (4)접속할 때 사용자이름/비밀번호를 잘못기입하는 모집단(population)의 비율을 포함한다. 그러므로 오류조차도 '정상' 패턴을 가진다.
상기 설명된 변수들은 서비스 요청에 대한 응답 시간에 대한 측정이다. 그러한 서비스들 및 요청의 예들은 (1)핑(ping) 반응 횟수; (2) 트랜잭션 반응 횟수; (3) 디스크 기록 반응 횟수등을 포함한다. 고객들은 응답 시간을 용인될 만한 레벨로 유지하기 위해서 서비스 제공자를 가지고 운영 레벨 협정(OLA :Operation Level Agreement)으로 등록할 수 있다. 반응 횟수는 사용량에 관계있지만 그 관계 는 일정하지 않다. 반응 횟수는 또한 오류율에 따라 빠르게 증가할 수 있다.
도 3은 본 발명의 실시예에 따른 방법을 도시하는 흐름도이다. 절차 A에서, 모니터 시스템(10)은 시그너쳐를 생성한다. 절차 B에서, 모니터 시스템(10)은 시그너쳐를 갱신한다. 절차 C에서, 모니터 시스템(10)은 비정상성들을 탐지하고 보고한다.
상기 설명된 시그너쳐는 비정상성들을 탐지하는 데 있어서 공지된 임계값 기술보다 더 정확한 체계로 만드는 요소들을 포함한다. 시그너쳐의 한가지 요소는 '평균'값이다. 평균값을 사용하는 한가지 기술은 모든 관련 변수들의 샘플들을 단순히 취해서고 그들의 유동적(running) 평균을 유지하는 것을 포함한다. 새로운 샘플들이 이 평균의 '이해할 만한 범위'사이에 있지 않다면 새로운 샘플들은 비정상성을 드러낸다. 하지만, 최대 사용량 기간과 한가한 시간 사이의 평균값들의 큰 차이 때문에, 시스템은 희망된 정확성을 얻기 위해서는 평균값의 더 정교한 개념을 사용한다.
시그너쳐는 그러므로 시간에 의한 평균의 개념을 활용할 것이다. 시간에 의한 평균의 개념은 주기적으로 변수들을 샘플링하고 다양한 간격들에서 평균을 계산하는 것을 포함한다. 예를 들면, 모니터 시스템은 매 3분마다 변수들을 샘플링하고, 일주일동안 15분 간격으로 평균을 계산한다. 시스템은 정보를 저장하고 시그너쳐에서 상기 정보를 사용한다.
시스템이 새로운 샘플을 획득함에 따라서, 15분에 걸친 평균을 계산하고 그것을 '시그너쳐'와 비교한다. 그 비교는 시스템이 비정상성을 표시(flag)하는 것 을 가능하게 한다. 시간에 민감한 평균화는 비즈니스 주기에서의 변동성을 설명한다. 하지만, 시스템은 추가적으로 어떤 비정상성도 생기지 않을 것이라고 생각되는 평균 주변의 이해할만한 범위를 결정해야한다.
일정한 값이 '이해할만한 범위'를 위해서 사용될 수 있지만, 일정한 값의 사용은 어려움으로 이끌수 있다. 예를 들면, 은행은 매일 오후 7시에 닫는다. 은행 직원은 퇴근 전에 야간 작업을 수행한다. 어떤 날은 다른 날들에 비해서 더 많은 잔무를 가질 수 있다. 그러므로 7:30-8:00 사이의 처리능률은 매우 예측하기 어렵다. 이해할만한 범위로서의 일정한 값의 사용은 엉뚱한 시간에 많은 경고를 발생할 수 있고, 그 횟수의 증가는 그외의 부분에서 적절한 불일치를 놓치는 효과를 가져온다. 평균 주변의 일정한 엔벨로프(envelope)는 그러한 상황에서 부정확하다.
따라서, 시그너쳐는 이해할만한 범위를 측정하기 위해서 표준 편차를 사용한다. 시그너쳐는 모든 간격에 대해서 표준 편차를 사용하고 엔벨로프 즉 이해할만한 범위를 다수로 표시한다. 따라서, 엔벨로프 즉 이해할만한 범위는 매주 비즈니스 주기 중 격동적인 시기에는 더 관대하고, 정상적인 시간에는 더 촘촘하다. 표준 편차는 다음과 같이 표현될 수 있다.
(1) Sigma 2 = 1/N *((Xi-X평균)2의 합) 여기에서, N은 샘플들의 수이고, Xi는 현 평균, X평균는 계산된 평균이다.
이 경우에서, 시그너쳐는 평균 및 표준 편차의 비즈니스 주기의 매시간 간격에 대한 배열로 표현된다. 엔벨로프는 다음과 같이 표현된다.
(2) 엔벨로프 = X평균 +/- F * Sigma2 여기에서 F는 허용오차(tolerance)이다.
방법의 실시예
도 4a 및 4b는 또한 도 3의 절차 A에서 수행되는 시그너쳐의 생성을 도시한다. 시그너쳐의 생성은 두 개의 동시적으로 사용된 방법들을 사용하면서 성립된다. 두 방법들은 가속 학습 요소(accelerated learning component) 및 훼이크 반복 요소(fake repeats component)를 포함한다. 도 4a는 가속 학습 요소를 도시하고 도 4b는 훼이크 반복 요소를 도시한다.
도 4a는 본 발명의 실시예에 따라서 시그너쳐를 생성하기 위한 방법의 요소를 도시하는 흐름도이다. 단계 A10에서 모니터 시스템(10)은 학습 반응 비율을 설정한다. 단계 A12에서, 학습 반응 비율은 사전에 설정된 간격으로 증가된다. 학습 반응 비율의 희망된 값이 단계 A14에서 도달되면, 과정은 종료한다. 희망된 값이 도달되지 않으면, 학습 반응 비율은 단계 12에서 설정 간격으로 다시 증가된다. 학습 반응 비율이 희망된 값에 도달하면 과정은 종료한다. 예를 들면, 첫 번째 학습 일주일동안, 모니터 시스템은 "1/학습 반응 상수"를 0으로 설정한다. 다음 일주일에, 희망된 설정 비율이 도달될 때까지 모니터 반응 시스템은 비율을 1, 그 후 2 등등으로 설정한다. 이 처리 과정은 불충분한 히스토리가 존재할 때 학습을 가속한다. 충분한 히스토리가 생성될 때, 비율은 희망된 타깃으로 자동적으로 조절된다.
도 4b는 본 발명의 실시예에 따른 시그너쳐를 생성하기 위한 방법에서 포함된 다른 절차를 도시하는 흐름도이다. 단계 A20에서, 모니터 시스템(10)의 시그너쳐 생성 모듈(22)은 데이터를 선택하고 설정 간격에 대한 평균 데이터 값을 계산한다. 단계 A22에서, 시그너쳐 생성 모듈(22)은 설정 간격에 대한 표준 편차를 계산한다. 단계 A24에서, 시그너쳐 생성 모듈(22)은 계산된 평균 및 표준 편차를 사용하여 시그너쳐 생성한다. 단계 A26에서, 시그너쳐 생성 모듈(22)은 학습 기간을 위해서 생성된 시그너쳐를 사용한다.
초기에, 유동적 평균 및 편차는 그날의 시그너쳐 전반에 걸쳐(throughout) 반복되고, 첫날 이후, 그날의 시그너쳐는 일주일내내 반복되고, 그 이후로 정상 시그너쳐 갱신은 계속된다. 첫 일주일동안에, 시그너쳐는 하루 동안 일직선에 가까운 것처럼 보일 것이고, 둘째날은 매일 반복되는 엔벨로프처럼 보이고, 일주일의 끝무렵, 보통 시그너쳐의 형태를 취할 것이다(During the first week, the signature will appear to approximate a straight band for a day, a daily repeated envelope the second day, and will take the form of a typical signature at the end of a week). 초기 시그너쳐는 약간의 오탐률(false-positive)을 초래할 수 있지만, 전개됨에 따라 더 정확한 정보를 제공할 것이다.
도 5는 본 발명의 실시예에 따른 시그너쳐를 갱신하는 방법을 도시하는 흐름도이다. 단계 B02에서, 시그너쳐 갱신 모듈(24)은 설정 간격에 걸쳐서 선택된 변수를 샘플링한다. 단계 B04에서, 시그너쳐 갱신 모듈(24)은 설정 간격에 대한 평균을 계산한다. 단계 B06에서, 시그너쳐 갱신 모듈(24)은 설정 간격에 대한 표준 편차를 계산한다. 단계 B08에서, 시그너쳐 갱신 모듈(24)은 전의 시그너쳐, 계산된 평균 및 표준 편차에 기초해서 새로운 시그너쳐를 생성한다.
시간에 대한 학습의 상기 설명된 과정은 시간에 따른 비즈니스 규모에서의 변화를 고려한다. 하지만, 어떤 시간들은 일정한 상황에서 다른 상황들보다 더 가중치가 주어지는 것이 필요하다. 예를 들면, 3개월 마다 한번씩 금요일에 발생하는 "트리플 위칭 아워(triple witching hour)"로 불리는 시기 동안에 증권 중개소(security brokerage)는 큰 거래 규모를 경험한다. 다른 예로써, 최근 개장한 가게는 작은 비즈니스 규모로 시작한다. 하지만, 가게 이름이 알려짐에 따라, 가게는 더 많은 비즈니스를 한다. 시그너쳐는 최신의 데이터가 전의 데이터보다 더 많은 영향을 가지는 것이 확실해야 한다. 따라서, 시스템은 긴 시간의 기간 동안에 자신을 학습하고 조정해야 한다.
시스템은 시그너쳐의 값들과 현재 데이터 사이에서 가중 평균을 사용함으로써 이 목적을 달성한다. 수요일 4시와 4시 15분 사이의 평균 및 표준 편차가 각각 XC평균 및 SigmaC이고 수요일 4시에서 4시15분의 시그너쳐는 XS평균 및 SigmaS라면, 새로운 시그너쳐값은 다음과 같이 표현된다.
(3) 새로운 XS평균 = W1* (XS평균) + W2*(XC평균)
(4) 새로운 Sigma2 = W1 * (SigmaS2 + XS평균 2) + W2(SigmaC 2 + XC평균 2) - (새로운 XS평균 2)
상기 모델은 W1+W2=1로 설정하며 여기에서 W1은 시그너쳐의 가중치(weight)이고 W2는 현재 데이터의 가중치이다. W2/W1은 상기 설명된 학습 반응 상수 비율이다. 값이 클수록, 학습은 더 빨리 발생하고 과거의 기억은 더 희미해진다. 예 를 들어, W1=2/3이고 W2=1/3이라면, 오늘의 데이터의 영향은 오늘 1/3rd이고, 다음 주는 2/9th이고 그이후는 4/27th가 될 것이다.
상기 설명된 기술은 오직 현재의 데이터만을 사용하는 시그너쳐의 갱신을 허용하기 때문에 전산적으로 매우 효율적이다. 시스템은 많은 양의 과거 데이터의 보유를 필요로하지 않는다.
도 6은 본 발명의 실시예에 따른 시그너쳐 요소를 획득하기 위해서 상기 설명된 방법을 도시하는 흐름도이다. 단계 B10에서, 모니터 시스템(10)은 시그너쳐 평균을 제1 가중치 인자로 곱한다. 단계 B12에서 모니터 시스템은 새롭게 계산된 평균을 제2 가중치 인자로 곱한다. 단계 B14에서, 모니터 시스템(10)은 단계 B12 및 단계 B10에서의 결과를 더한다.
도 7은 본 발명의 실시예에 따른 다른 시그너쳐 요소를 획득하기 위한 방법을 도시하는 흐름도이다. 단계 B20에서, 모니터 시스템은 제곱 시그너쳐 평균 및 제곱 표준 편차를 더한다. 단계 B22에서, 모니터 시스템(10)은 단계 B20의 합을 제1 가중치 인자로 곱한다. 단계 B22에서, 모니터 시스템(10)은 현재의 제곱 평균 및 현재의 제곱 표준 편차를 더한다. 단계 B26에서, 모니터 시스템은 B24의 합을 제2 가중치 인자로 곱한다. 단계 B28에서, 모니터 시스템은 단계 B24에서의 인자와 시그너쳐 인자를 더한다. 단계 B30에서, 모니터 시스템은 새로운 시그너쳐 평균의 제곱을 뺀다.
상기 설명된 인자들은 진폭에서의 변화를 설명하기 위해서 시그너쳐를 미세 조정하는 것을 돕는다. 다른 특징들이 시그너쳐가 발생 시간들에서의 변화를 정확히 반영하도록 제공될 수 있다. 이벤트들은 자주 예상보다 빠르게 또는 더 늦게 발생한다. 예를 들면, 눈보라가 30분 모든 도착을 지연시킨다면, 초과적인 횟수의 경고가 기록될 것이다. 시스템은 일정 시간 간격에 걸친 유동적 평균들 및 편차들을 계산하여 현재의 간격에 걸쳐있는 더 넓은 간격에 대해서도 계산된 시그너쳐에서의 것과 비교함으로써 이 문제를 해결한다.
예를 들면, 시스템이 3분마다 데이터를 샘플링하면, 4시 15분에, 시스템은 (3시 45분부터 4시 15분까지) 지난 10개의 샘플들에 대한 유동적 평균을 계산하고 4시 30분에 (3시 30분부터 4시 30분까지 계산된) 20개의 샘플들에 대하여 계산된 시그너쳐 값들에 비교한다. 이러한 방식으로, 간격사이에서 시간 앞뒤로의 어떠한 전이도 오탐률을 제공하지 않는 반면에, 현존하고 지속하는 불일치만이 표시될 것이다. 두 개의 상수들, 지터 스프레드(jitter spread) 및 지터 오프셋은 제어용으로 도입된다. 이 경우에, 스프레드는 30분이고 오프셋은 15분이다. 이 경우에서 시간 허용오차는 한시간(지터 스프레드 + 2배의 오프셋)으로 선택된다. 따라서, 시그너쳐에 의해서 예상했던 것보다 30분 더 빠르게 또는 더 느리게 오는 큰 스파이크(spike)는 오탐률 비정상성을 초래하지 않는다. 정밀하게 조직화된 비즈니스에서, 시간 허용오차는 촘촘할 수 있다.
도 8은 본 발명의 실시예에 따른 비정상성들을 탐지하기 위한 방법을 도시하는 흐름도이다. 단계 C10에서, 비정상성 탐지 모듈(26)은 정상값들의 범위를 계산한다. 단계 C12에서, 비정상성 탐지 모듈(26)은 계산된 범위와 유동적 평균을 비 교한다. 단계 C14에서, 비정상성 탐지 모듈은 유동적 평균이 정상 범위를 벗어나 있는지 결정한다. 단계 C14에서 평균이 정상 범위를 벗어나 있다면, 비정상성 탐지 모듈(26)은 비정상성을 표시하고 과정은 반복된다. 평균이 단계 C14에서 정상 범위를 벗어나 있지 않다면, 과정은 반복된다.
정상성 및 비정상성은 주관적이다. 고객들은 고객이 다룰 수 있는 레벨까지만 비정상 값들을 표시하는 감쇠(attenuation) 제어를 원한다. 선처리(proactive) 학습된 모니터기술이 발달함에 따라서, 고객들은 존재하는 비정상성들을 수정하는 것에서 순향적인 모니터링으로 더 많은 관리 리소스(resource)를 전환시킬 수 있다.
본 발명의 시스템 및 방법은 통계적으로 고객들에게 시간에 대하여 그들이 원하는 경고들을 보장할 수 있다. 예를 들면, 매 15분마다 샘플링된 100개의 카운터를 가지고, 1000개의 컴퓨터들을 가진 설비는 하루에 약 10,000,000(천만) 정도의 경고 기회가 있다. 고객이 경고를 하루당 100으로 제한하기를 원하면, 고객들은 허용오차 F를 그에 따라서 설정하는 것이 필요하다.
어떤 고객들은 정보로써 유용한(informational), 경고적인(warning) 및 위험한(critical)과 같은 다른 엔벨로프들에 대하여 F1, F2, 및 F3을 사용하는 다수의 엔벨로프들을 선호할 수도 있다. 다른 고객들은 다른 오버슈트(overshoot) 및 언더슈트(undershoot) 엔벨로프들을 가지는 것으로 선택할 수도 있다.
대부분 계측에 의해 생성된 처리안된 변수들은 그들 자신의 특질을 가진다. 상기 특질들은 다음 세 개의 카테고리안에 들어간다: (1)롤오버(rollover)를 가진 유동 카운터; (2)버스트(bursty) 샘플링된 데이터; 및 (3)단조롭게 증가/감소하는 절대값 데이터.
롤오버를 가진 유동 카운트의 제1 경우에서, 카운터들은 오직 유동 카운트를 제공할 것이다. 상기 데이터의 고객은 시간에 대한 두 개의 스냅샷을 취하고, 그 차이 및 비율을 계산할 것으로 요구된다. 이러한 계산에서 가장 큰 수에서 다시 0으로 롤오버할 수 있기 때문에 1 비트 콤플렉스(complex)를 얻는다.
버스트 샘플링된 데이터의 제2의 경우에서, 수집된 데이터는 극단적으로 뾰족하다(spiky). 상기 데이터를 사용하는 유일한 방법은 고정된 시간 사이에서 곡선아래의 영역을 계산하는 것이다.
단조롭게 증가 또는 감소하는 절대값 데이터의 경우에서, 어떤 변수들은 일주일 단위의 비즈니스 주기들이 의미가 없을 정도로 일정하게 증가 또는 감소하는 경향이 있다. 이러한 경우에서, 사전 처리는 예를 들면, 폭주(runaway) 프로그램이 갑자기 디스크 공간을 채우는지 탐지하기 위해서 시간에 대한 변화의 비율을 기록해야 한다.
상기 언급된 변수들 및 방법들에 기초해서, 시그너쳐 모델은 식 5 및 6에 의해서 기술된다.
(5) 새로운 XS(t) = (L/1 + L) * XS(t) + (1/1 + L) * (XC유동적 평균(t, 시간 허용오차))
(6) (새로운 SigmaS(t))2 = (L/1 + L)* (SigmaS(t)2 + XS(t)2) + (1/1 + L)* ((SigmaC(t, 시간 허용오차))2 + (XC유동적 평균(t, 시간 허용오차))2) - 새로운 XS(t)2
상기 제공된 시그너쳐에서, XC(t)는 시간-변화 수치 변수이다. XS(t) 및 SigmaS(t)는 변수 XC(t)에 대해서 미리 계산된 시그너쳐의 두 개의 요소이다. XC유동적 평균(t,deltaT)는 t-deltaT 와 t 사이의 기간에 대하여 취해진 XC(t)의 유동적 평균이다. SigmaC(t, deltaT)는 XC(t)에 대한 기간 t-deltaT 및 t에서의 표준 편차이다. 1/L은 상기 설명된 학습 반응비율이다.
비정상성들은 시그너쳐와 관련된 다음의 식들에 기초하여 계산된다.
(7) XC유동적 평균(t, 지터 스프레드) < [XS(t + 지터오프셋) - F * SigmaS(t + 지터오프셋)] 또는
(8) XC유동적 평균(t, 지터 스프레드) > [XS(t + 지터오프셋) + F * SigmaS(t + 지터오프셋)] 이면, XC(t)는 비정상이다.
식 (7)에서 기술된 제1 위반은 언더슈트라고 불리고 식(8)에서 기술된 제2 위반은 오버슈트라고 불린다. 지터스프레드는 상기 설명된 지터 스프레드이고 지터오프셋은 상기 설명된 지터 오프셋이다. 시간 허용오차는 (2*지터오프셋 + 지터스프레드)와 같고 F는 허용오차이다.
도 9a는 시그너쳐 갱신 과정을 도시한다. 도 9a는 샘플 판독 2를 포함한다. 샘플링된 판독 2는 샘플링된 값 XC(t)를 표시하는 곡선(202)을 포함한다. 도 9a는 또한 시그너쳐 4를 포함한다. 중앙의 곡선(204)은 XS(t), 평균 시그너쳐 값을 나 타낸다. 상부 곡선(206)은 최상단 정상값들을 나타내고 하부 곡선(208)은 최하단 정상값들을 나타낸다. 갱신된 시그너쳐 6은 샘플링된 값들 XS(t)의 고려한 후의 XS(t)를 나타내는 곡선(210) 및, 곡선(212)에 의해서 표시되는 상단부 정상 제한선, 곡선(214)에 의해서 표시되는 하단부 정상 제한선을 포함한다.
도 9b는 샘플 신호(218)와 비교된 사전에 계산된 신호(216)을 도시한다. 샘플 신호(218)는 두 지점에서 상단부 정상 제한선을 초과하고 한 지점에서 하단부 정상 제한선(222)을 초과한다. 도시된 바와 같이, 이러한 비교는 오버슈트 및 언더슈트를 식별하는 것을 돕는다.
비정상성의 원인 판단
상기 설명된 바와 같이, 본 발명의 방법 및 시스템의 실시예들은 비정상성들을 위해서 시스템 변수들을 모니터한다. 시스템 및 방법은 수치 데이터 흐름들을 어떤 과정을 위해서 정상 또는 비정상 행동 중 하나를 나타내는 상태로 변환한다. 또한, 이하에서의 표 1에서 도시되는 바와 같이, 4 개의 하부 상태들은 추적된 과정 변수의 형태에 따라서 찾아질 수 있다.
모니터하는 방법은 또한 비정상성들이 탐지될 때, 근본 원인을 판단하고 수정하는 것에 의해서 제거되도록 근본 원인 분석을 용이하게 한다. 근본 원인 분석은 시스템 또는 하부시스템에서 다른 하부시스템들 및 시스템들로의 일련의 잘못된/비정상적 모니터링을 추적하는 것에 의존한다. 근본 원인 분석은 다음과 같은 규칙 타입을 가진다: (1)타입 1의 시스템에서 타입 F1의 비정상성은 동일한 시스템 상에서의 타입 F2의 비정상성에 의해서 초래되고; (2)타입 1의 시스템에서 의 타입 F1의 비정상성은 시스템 1 및 시스템 2가 타입 R1과 관련있으면 타입 2의 시스템 상의 타입 F2의 비정상성에 의해서 초래될 수 있다.
근본 원인 분석은 어떤 시스템의 어떤 측면이 비정상인지 확인하는 것에 의존한다. 특히, 시스템 내부에서, 비정상성을 탐지하기 위한 시스템이 특정 상태에서의 사용량, 사용효율, 오류, 및 반응을 포함한 변수들을 탐지했다면, 순수 지식 규칙(pure knowledge rules)들은 근본 원인들은 해석할 수 있다. 이 순수 지식 규칙들의 예들은 이하 표 1에서 기술된다.
사용 사용 효율 오류 응답 해석
N N N N 모든 것이 정상이거나 허용오차가 너무 느슨하게 설정되었다.
N N N A 반응 시간만이 비정상적으로 높고, 그밖의 모든 것은 정상이면, 반응 지연은 외부 시스템에 의해서 초래된 것이다. 즉, 외부 데이터베이스가 반응면에서 너무 늦기 때문에 애플리케이션이 느리게 실행된다.
N N A N 비정상 오류들은 비정상 오류 다운스트림, 잘못된 구성 또는 잘못 형성된/불규칙적 요청에 의해서 초래될 수 있다.
N N A A 재시도를 초래하는 오류들은 또한 반응 지연을 초래한다.
N A N N 비정상적으로 낮은 사용효율이고 그 외의 것은 정상인 것은 어떤 과도한 상승없이 트랜잭션이 완수되는 '고갈됨(running dry)'의 표시이다. 비정상적으로 높은 사용효율이고 그 외의 것은 정상인 것은 리소스 관리 구성에서의 잘못을 표시한다.즉 100대신에 설정된 10 meg 이더넷(Ethernet).
N A N A '니(knee)' 밑으로의 사용효율은 일정치 않은 반응 성능저하를 초래한다. 이 경우에서, 근본 원인은 사용량보다는 잘못된 구성 리소스 관리이다.
N A A N 내부의(inbuilt) 체계가 재시도하면 사용량은 정상이라도 비정상 오류 비율은 사용 효율을 증가시킬 수 있다. 비정상 내부 오류 비율은 특히 스트레스를 다루는 내부 체계가 요청의 제거와 같은 오류들을 초래할 때 비정상으로 높은 사용효율에 의해서 초래될 수 있다.
N A A A 비정상 오류 비율은 재시도 로직 때문에 사용효율 및 반응 횟수를 증가시킬 수 있다.
A N N N 시스템에서의 비정상 사용량은 비정상적인 외부 상황에 의해 크게 초래된 비정상 사용량 업스트림에 의해서 초래될 수 있다. 비정상적으로 낮은 사용량 또한 문제들의 표시이고, 업스트림 노드는 아마도 정지된 것이다(dead).
A N N A 아마도 연결안됨
A N A N 비정상적으로 높은 사용량 및 오류 비율은 악용/해킹의 표시일 수 있다.
A N A A 사용효율이 비정상이거나 오류들이 비정상이라면 반응은 비정상이다.
A A N N 비정상 사용량은 비정상 사용효율을 초래한다. 이것은 니(knee) 앞에서 잔잔하고 그러므로 반응 또는 오류들에 영향을 주지 않는다.
A A N A 사용효율이 비정상이라면 반응은 비정상일 수 있다. '니(knee)'를 넘어선 사용효율은 일정치 않은 반응 성능저하를 초래한다.
A A A N 비정상 사용량은 비정상 사용효율 및 오류들을 초래한다. 이것은 레이더 이하에서 잔잔하고 반응에 영향을 주지 않지만, 이후 반응에 영향을 초래할 수도 있다.
A A A A 모든 것이 비정상이다. 시그너쳐가 초기화되지 않았거나 허용오차가 너무 낮게 설정된 것일수 있다.

본 발명은 변수들을 모니터하고 비정상성들을 탐지하기 위해서 컴퓨팅 환경에서의 이용을 위한 방법 및 시스템에 관한 것으로, 처리 과정을 모니터하는 방법, 처리 과정을 나타내는 계속적으로 갱신된 시그너쳐에 기초하여 처리 과정 동안에 발생하는 비정상성들을 탐지하기 위한 방법 및 컴퓨팅 시스템 환경에서 비정상성들을 탐지하는데 유용한 시그너쳐를 생성하기 위한 방법을 제공하며, 상기 방법들과 함께, 컴퓨팅 환경에서 비정상적 활동을 탐지하기 위한 시스템 및 처리 과정을 모니터하는 모니터 시스템을 제공한다.
본 발명이 제공하는 방법 및 시스템을 통해서, 네트워크화된 컴퓨팅 장치들 및 시스템들의 증가된 사용에 따라서, 시스템들을 모니터해야할 필요성을 만족시킨다. 즉, 본 발명은 기존 기술에서의 장애들을 피하면서 비정상성 탐지를 자동적으로 제공하고, 과도한 데이터 보유를 피하고 다양한 환경과 처리 과정들에서 기능하는 것에 적응하는 것을 제공한다.
본 발명의 특정한 실시예들이 본 명세서에서 상세히 도시되고 설명되었지만, 다양한 변화들 및 수정이 본 발명의 한계의 의도에서 벗어나지 않고 행해질 수 있음을 이해해야한다. 본 명세서에서 설명된 실시예들은 이에 제한적이기보다는 예시적인 것으로 의도된다. 본 발명의 범위에서 벗어나지 않고 본 발명에 속하는 다른 실시예들은 본 분야에서의 당업자에게 명백할 것이다.
상기 설명으로부터 본 발명은 시스템 및 방법에 명백하고 고유한, 다른 장점들과 함께, 모든 목적들을 달성하도록 잘 조정될 수 있다. 다른 특징들 및 하부 구조들에 대한 언급하지 않았지만 다른 특징들 및 하부 구조들이 사용될 수 있음을 이해해야한다. 본 발명은 수반된 청구항들과 함께 고려되며 청구항의 범위내에서 존재한다.

Claims (44)

  1. 처리 과정(process)을 모니터링하는 방법을 수행하기 위한 컴퓨터-사용 가능 명령어들이 구현된 하나 이상의 컴퓨터 판독가능한 저장 매체로서, 상기 방법은,
    상기 처리 과정을 나타내는 시그너쳐(signature)를 생성하는 단계;
    상기 생성된 시그너쳐를 가중 기법(weighting scheme)으로 계속적으로 갱신하는 단계; 및
    상기 계속적으로 갱신되는 시그너쳐에 기초하여 비정상성(abnormality)들을 탐지하는 단계를 포함하고,
    상기 처리 과정은 데이터 센터에서 네트워킹된 컴퓨팅 장치(networked computing devices)의 사용에 관련되고,
    상기 시그너쳐는 비즈니스 주기에서의 변화를 설명하는 시간-민감형 평균화(time-sensitive averaging)와 관련된 정보를 포함하고,
    상기 가중 기법은 계속적으로 갱신되는 시그너쳐 가중치를 나타내는 제1 가중치 인자 및 현재 데이터 가중치를 나타내는 제2 가중치 인자로 구성되고,
    상기 시그너쳐를 생성하는 단계는 학습 반응 비율(learning responsiveness ratio)을 설정하고 상기 학습 반응 비율이 희망 값에 도달할 때까지 상기 학습 반응 비율을 점증적으로(incrementally) 증가시키는 것을 통한 가속 학습을 포함하고,
    상기 학습 반응 비율은 상기 제1 가중치 인자로 나눈 상기 제2 가중치 인자와 같아지는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  2. 제1항에 있어서,
    상기 시그너쳐를 생성하는 단계는 평균 및 표준 편차를 계산하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  3. 삭제
  4. 제2항에 있어서,
    상기 시그너쳐를 생성하는 단계는 다수의 간격들에 걸친(through) 유동적 평균(running average) 및 표준 편차를 초기에 반복하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  5. 제1항에 있어서,
    상기 생성된 시그너쳐를 갱신하는 단계는 상기 제2 가중치 인자를 상기 제1 가중치 인자보다 큰 값으로 설정함으로써 최근에 기록된 데이터가 전의(older) 데이터보다 더 큰 영향(impact)을 가지는 것을 보장하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  6. 제1항에 있어서,
    상기 생성된 시그너쳐를 갱신하는 단계는 예상치 않은 시간에(at unexpected times) 발생하는 이벤트를 설명하기 위해서 시간에 대한(over a time) 유동적 평균(moving average)을 활용하는 단계를 포함하는, 하나 이상의 컴퓨터 판독가능한 저장 매체.
  7. 제1항에 있어서,
    상기 비정상성들을 탐지하는 단계는 측정된 값이 상위 임계값보다 큰지 또는 하위 임계값보다 작은지 판정하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  8. 제1항에 있어서,
    상기 방법은, 지터 오프셋(jitter offset)에 기초하여 상위 임계값 한계 및 하위 임계값 한계를 계산하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  9. 삭제
  10. 처리 과정을 나타내는 계속적으로 갱신되는 시그너쳐에 기초해서 상기 처리 과정동안 발생하는 비정상성들을 탐지하기 위한 방법을 수행하기 위한 컴퓨터-사용 가능 명령어들이 구현된 하나 이상의 컴퓨터 판독가능한 저장 매체로서, 상기 방법은,
    상기 처리 과정을 나타내는 시그너쳐를 생성하는 단계;
    상기 생성된 시그너쳐를 가중 기법으로 계속적으로 갱신하는 단계;
    시스템 변수(parameter)를 계속적으로 모니터링하는 단계;
    상기 계속적으로 갱신되는 시그너쳐에 기초하여 상기 시스템 변수에 대한 정상 범위의 값을 계산하는 단계;
    상기 모니터링된 시스템 변수가 상기 정상 범위내에 있는지를 판단하는 단계; 및
    상기 모니터링된 시스템 변수가 상기 정상 범위를 벗어나 있다면 비정상성의 존재를 표시하는 단계를 포함하고,
    상기 처리 과정은 데이터 센터에서 네트워킹된 컴퓨팅 장치의 사용에 관련되고,
    상기 가중 기법은 계속적으로 갱신되는 시그너쳐 가중치를 나타내는 제1 가중치 인자 및 현재 데이터 가중치를 나타내는 제2 가중치 인자로 구성되고,
    상기 시그너쳐를 생성하는 단계는 학습 반응 비율을 설정하고 상기 학습 반응 비율이 희망 값에 도달할 때까지 상기 학습 반응 비율을 점증적으로 증가시키는 것을 통한 가속 학습을 포함하고,
    상기 학습 반응 비율은 상기 제1 가중치 인자로 나눈 상기 제2 가중치 인자와 같아지는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  11. 제10항에 있어서,
    상기 방법은, 평균 및 표준 편차를 계산함으로써 시그너쳐를 생성하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  12. 삭제
  13. 제11항에 있어서,
    상기 시그너쳐를 생성하는 단계는 다수의 간격들에 걸친 유동적 평균(running average) 및 표준 편차를 초기에 반복하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  14. 제10항에 있어서,
    상기 정상 범위의 값을 계산하는 단계는 상기 제2 가중치 인자를 상기 제1 가중치 인자보다 큰 값으로 설정함으로써 최근에 기록된 데이터가 전의 데이터보다 더 많은 영향을 가지는 것을 보장하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  15. 제10항에 있어서,
    상기 정상 범위의 값을 계산하는 단계는 예상치 않은 시간에 발생하는 이벤트를 설명하기 위해서 시간에 대한 유동적 평균(moving average)을 활용하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  16. 제10항에 있어서,
    상기 모니터링된 시스템 변수가 정상 범위의 값들 내에 있는지 판단하는 단계는 모니터링된 시스템 변수들이 상위 임계값보다 큰지 또는 하위 임계값보다 작은지 판단하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  17. 제16항에 있어서,
    상기 방법은, 지터 오프셋에 기초하여 상위 임계값 제한 및 하위 임계값 제한을 계산하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  18. 삭제
  19. 컴퓨팅 시스템 환경에서 비정상성들을 탐지하는 데 유용한 시그너쳐를 생성하기 위한 방법을 수행하기 위한 컴퓨터-사용 가능 명령어들이 구현된 하나 이상의 컴퓨터 판독가능한 저장 매체로서, 상기 방법은,
    학습 반응 비율을 설정하는 단계;
    시스템 변수를 모니터링하는 단계;
    상기 학습 반응 비율을 희망 값에 도달할 때까지 일정한 간격으로 조정하는 단계;
    각 간격에 대해서 평균 및 표준 편차를 계산하는 단계; 및
    상기 평균, 표준 편차, 및 학습 반응 비율을 사용하여 상기 시그너쳐를 생성하는 단계를 포함하고,
    상기 학습 반응 비율은 현재 데이터를 나타내는 가중치 인자를 상기 시그너쳐를 나타내는 가중치 인자로 나눈 값과 같아지고,
    상기 컴퓨팅 시스템 환경에서의 상기 비정상성들은 데이터 센터에서 네트워킹된 컴퓨팅 장치의 사용에 관련되고,
    상기 시그너쳐는 비즈니스 주기에서의 변화를 설명하는 시간-민감형 평균화와 관련된 정보를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  20. 제19항에 있어서,
    상기 방법은, 상기 생성된 시그너쳐를 가중 기법을 통해 계속적으로 갱신하는 단계를 더 포함하고,
    상기 가중 기법은 계속적으로 갱신되는 시그너쳐 가중치를 나타내는 제1 가중치 인자 및 현재 데이터 가중치를 나타내는 제2 가중치 인자로 구성되는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  21. 제20항에 있어서,
    상기 방법은, 상기 갱신되는 시그너쳐에 기초하여 비정상성들을 탐지하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  22. 제19항에 있어서,
    상기 시그너쳐를 생성하는 단계는 다수의 간격들에 걸친 유동적 평균(running average) 및 표준 편차를 초기에 반복하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  23. 제20항에 있어서,
    상기 생성된 시그너쳐를 갱신하는 단계는 상기 제2 가중치 인자를 상기 제1 가중치 인자보다 큰 값으로 설정함으로써 최근에 기록된 데이터가 전의 데이터보다 더 큰 영향을 가지는 것을 보장하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  24. 제20항에 있어서,
    상기 생성된 시그너쳐를 갱신하는 단계는 예상치 않은 시간에 발생하는 이벤트를 설명하기 위해서 시간에 대한 유동적 평균(moving average)을 활용하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  25. 제21항에 있어서,
    상기 비정상성들을 탐지하는 단계는 측정된 값들이 상위 임계값보다 큰지 또는 하위 임계값보다 작은지를 판단하는 단계를 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  26. 제21항에 있어서,
    상기 방법은, 지터 오프셋에 기초하여 상위 임계값 제한 및 하위 임계값 제한을 계산하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  27. 삭제
  28. 전산화된(computerized) 환경에서 비정상적 활동을 탐지하기 위한 하나 이상의 컴퓨터 저장 매체를 포함하는 전산화된 시스템으로서,
    시스템 변수를 계속적으로 모니터링하기 위한 상기 컴퓨터 저장 매체에 저장된 모니터링 도구(monitoring tool),
    상기 시스템 변수의 전형적인 값들을 나타내는 계속적으로 갱신되는 시그너쳐, 및
    상기 계속적으로 갱신되는 시그너쳐에 기초해서 계산된 비정상성 표시자(abnormaltiy indicator)를 포함하며,
    상기 비정상성 표시자는 상기 시스템 변수에 대한 전형적인 값들의 범위를 포함하고,
    상기 시그너쳐는 가중 기법으로 계속적으로 갱신되고,
    상기 가중 기법은 상기 계속적으로 갱신되는 시그너쳐의 가중치를 나타내는 제1 가중치 인자 및 현재 데이터의 가중치를 나타내는 제2 가중치 인자로 구성되고,
    상기 비정상적 활동은 데이터 센터에서 네트워킹된 컴퓨팅 장치의 비정상적 사용에 관련되고,
    상기 시그너쳐는 비즈니스 주기에서의 변화를 설명하는 시간-민감형 평균화와 관련된 정보를 포함하고,
    상기 시그너쳐는, 학습 반응 비율을 설정하고 상기 학습 반응 비율이 희망 값에 도달할 때까지 상기 학습 반응 비율을 점증적으로 증가시키는 것을 통한 가속 학습에 의해 생성되고,
    상기 학습 반응 비율은 상기 제1 가중치 인자로 나눈 상기 제2 가중치 인자와 같아지는 전산화된 시스템.
  29. 제28항에 있어서,
    상기 계속적으로 갱신되는 시그너쳐는 평균 및 표준 편차를 포함하는 전산화된 시스템.
  30. 제28항에 있어서,
    상기 계속적으로 갱신되는 시그너쳐는 최근에 기록된 데이터가 전의 데이터보다 더 큰 영향을 가지는 것을 보장하기 위해 상기 제1 가중치 인자보다 큰 값을 갖는 상기 제2 가중치 인자를 포함하는 전산화된 시스템.
  31. 제28항에 있어서,
    상기 계속적으로 갱신되는 시그너쳐는 예상치 않은 시간에 발생하는 이벤트를 설명하기 위해서 시간에 대한 유동적 평균(moving average)을 포함하는 전산화된 시스템.
  32. 제28항에 있어서,
    상기 비정상성 표시자는 모니터링된 시스템 변수가 정상 범위의 값들 내에 있는지 및 모니터링된 시스템 변수들이 상위 임계값보다 큰지 또는 하위 임계값보다 작은지를 판단하는 전산화된 시스템.
  33. 제28항에 있어서,
    상기 비정상성 표시자는 지터 오프셋에 기초하여 상위 임계값 제한 및 하위 임계값 제한을 계산하는 전산화된 시스템.
  34. 처리 과정을 모니터링하는 하나 이상의 컴퓨터 저장 매체를 포함하는 전산화된(computerized) 모니터링 시스템으로서,
    상기 처리 과정을 나타내는 시그너쳐를 생성하기 위한, 상기 하나 이상의 컴퓨터 저장 매체에 저장된, 시그너쳐 생성 모듈,
    상기 생성된 시그너쳐를 계속적으로 갱신하기 위한, 상기 하나 이상의 컴퓨터 저장 매체에 저장된, 시그너쳐 갱신 모듈, 및
    상기 갱신되는 시그너쳐에서의 편차들에 기초하여 비정상성들을 탐지하기 위한, 상기 하나 이상의 컴퓨터 저장 매체에 저장된, 비정상성 탐지 모듈을 포함하고,
    상기 시그너쳐는 가중 기법으로 계속적으로 갱신되고,
    상기 가중 기법은 계속적으로 갱신되는 시그너쳐 가중치를 나타내는 제1 가중치 인자 및 현재 데이터 가중치를 나타내는 제2 가중치 인자로 구성되고,
    상기 시그너쳐 생성 모듈은 학습 반응 비율이 희망 값에 도달할 때까지 상기 학습 반응 비율을 점증적으로 증가시키는 것을 통한 가속 학습을 수행하기 위한 도구(tools)를 포함하고,
    상기 학습 반응 비율은 상기 제1 가중치 인자로 나눈 상기 제2 가중치 인자와 같아지고,
    상기 처리 과정은 컴퓨터상에서 수행되고 데이터 센터에서 네트워킹된 컴퓨팅 장치의 사용에 관련되고,
    상기 시그너쳐는 비즈니스 주기에서의 변화를 설명하는 시간-민감형 평균화와 관련된 정보를 포함하는 전산화된 모니터링 시스템.
  35. 제34항에 있어서,
    상기 시그너쳐 생성 모듈은 평균 및 표준 편차를 계산하기 위한 도구들을 포함하는 전산화된 모니터링 시스템.
  36. 삭제
  37. 제35항에 있어서,
    상기 시그너쳐를 생성하는 것은 다수의 간격들에 걸친 유동적 평균(running average) 및 표준 편차를 초기에 반복하는 것을 포함하는 전산화된 모니터링 시스템.
  38. 제34항에 있어서,
    상기 시그너쳐 갱신 모듈은, 상기 제2 가중치 인자를 상기 제1 가중치 인자보다 큰 값으로 설정함으로써 최근에 기록된 데이터가 전의 데이터보다 더 큰 영향을 가지는 것을 보장하기 위한 도구들을 포함하는 전산화된 모니터링 시스템.
  39. 제34항에 있어서,
    상기 시그너쳐 갱신 모듈은 예상치 않은 시간에 발생하는 이벤트를 설명하기 위해서 시간에 대한 유동적 평균(moving average)을 계산하기 위한 도구들을 포함하는 전산화된 모니터링 시스템.
  40. 제34항에 있어서,
    상기 비정상성 탐지 모듈은 모니터링된 시스템 변수들이 상위 임계값보다 큰지 또는 하위 임계값보다 작은지를 판단하는 전산화된 모니터링 시스템.
  41. 제34항에 있어서,
    상기 비정상성 탐지 모듈은 지터 오프셋에 기초하여 상위 임계값 제한 및 하위 임계값 제한들을 계산하기 위한 매카니즘을 포함하는 전산화된 모니터링 시스템.
  42. 처리 과정 동안에 정상 활동과 비정상 활동을 구별하기 위한 방법을 수행하기 위한 컴퓨터-사용 가능 명령어들이 구현된 하나 이상의 컴퓨터 판독가능한 저장 매체로서, 상기 방법은,
    상기 처리 과정을 나타내는 시그너쳐를 생성하는 단계;
    상기 생성된 시그너쳐를 가중 기법으로 계속적으로 갱신하는 단계; 및
    시스템 변수를 모니터링하는 단계,
    상기 모니터링된 시스템 변수를 나타내는 수치적 데이터 스트림(numeric data stream)을 상기 처리 과정을 위한 상태(state)로 변환하는 단계, 및
    상기 상태에 기초해서 정상 활동과 비정상 활동을 구별하는 단계를 포함하고,
    상기 처리 과정은 데이터 센터에서 네트워킹된 컴퓨팅 장치의 사용에 관련되고,
    상기 가중 기법은 계속적으로 갱신되는 시그너쳐 가중치를 나타내는 제1 가중치 인자 및 현재 데이터 가중치를 나타내는 제2 가중치 인자로 구성되고,
    상기 시스템 변수는 사용량 변수, 사용 효율, 오류, 및 응답 시간(turn around time) 중 적어도 하나를 포함하고,
    상기 정상 활동과 비정상 활동을 구별하는 단계는 비즈니스 주기에서의 변화를 설명하는 시간-민감형 평균화를 이용하는 단계를 포함하고,
    상기 시그너쳐는, 학습 반응 비율을 설정하고 상기 학습 반응 비율이 희망 값에 도달할 때까지 상기 학습 반응 비율을 점증적으로 증가시키는 것을 통한 가속 학습에 의해 생성되고,
    상기 학습 반응 비율은 상기 제1 가중치 인자로 나눈 상기 제2 가중치 인자와 같아지는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  43. 제42항에 있어서,
    상기 방법은, 상기 수치적 데이터 스트림을 다수의 하부 상태들(sub-states)로 변환하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
  44. 제42항에 있어서,
    상기 방법은, 상기 상태에 기초하여 비정상성의 근본 원인을 판단하는 단계를 더 포함하는 하나 이상의 컴퓨터 판독가능한 저장 매체.
KR1020040036306A 2003-05-22 2004-05-21 처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법 KR101021411B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US47251203P 2003-05-22 2003-05-22
US60/472,512 2003-05-22
US10/685,472 2003-10-16
US10/685,472 US7624174B2 (en) 2003-05-22 2003-10-16 Self-learning method and system for detecting abnormalities

Publications (2)

Publication Number Publication Date
KR20040101058A KR20040101058A (ko) 2004-12-02
KR101021411B1 true KR101021411B1 (ko) 2011-03-14

Family

ID=33101527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040036306A KR101021411B1 (ko) 2003-05-22 2004-05-21 처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법

Country Status (5)

Country Link
US (1) US7624174B2 (ko)
EP (1) EP1480126B1 (ko)
JP (1) JP4965064B2 (ko)
KR (1) KR101021411B1 (ko)
CN (1) CN100533399C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101491844B1 (ko) * 2011-11-14 2015-02-11 엔에이치엔엔터테인먼트 주식회사 신속한 장애 처리를 위한 동시 접속자 급감 인지 시스템 및 그 방법

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082349B1 (en) * 2005-10-21 2011-12-20 Entrust, Inc. Fraud protection using business process-based customer intent analysis
US7324922B2 (en) * 2005-10-26 2008-01-29 International Business Machines Corporation Run-time performance verification system
US7577888B2 (en) * 2006-02-01 2009-08-18 Microsoft Corporation Self learning signatures
US8260622B2 (en) * 2007-02-13 2012-09-04 International Business Machines Corporation Compliant-based service level objectives
US8655623B2 (en) 2007-02-13 2014-02-18 International Business Machines Corporation Diagnostic system and method
US20080198754A1 (en) * 2007-02-20 2008-08-21 At&T Knowledge Ventures, Lp Method and system for testing a communication network
JP4369961B2 (ja) * 2007-03-23 2009-11-25 株式会社日立製作所 異常検知装置及び異常検知プログラム
FR2916879A1 (fr) * 2007-05-30 2008-12-05 France Telecom Dispositif et methode de traitement d'images pour determiner une signature d'un film.
US20090031180A1 (en) * 2007-07-26 2009-01-29 Ibm Corporation Method for Discovering and Isolating Failure of High Speed Traces in a Manufacturing Environment
US7903746B2 (en) * 2007-07-26 2011-03-08 International Business Machines Corporation Calibrating parameters in a storage subsystem with wide ports
US7949489B2 (en) * 2007-07-26 2011-05-24 International Business Machines Corporation Detecting cable length in a storage subsystem with wide ports
JP5277667B2 (ja) * 2008-03-07 2013-08-28 日本電気株式会社 障害分析システム、障害分析方法、障害分析サーバおよび障害分析プログラム
JP5155909B2 (ja) * 2009-03-06 2013-03-06 Sky株式会社 操作監視システム及び操作監視プログラム
US7962797B2 (en) * 2009-03-20 2011-06-14 Microsoft Corporation Automated health model generation and refinement
TWI416313B (zh) * 2009-07-31 2013-11-21 Via Tech Inc 可省電之電腦系統及其省電方法、可省電之電源管理單元
US20110098973A1 (en) * 2009-10-23 2011-04-28 Computer Associates Think, Inc. Automatic Baselining Of Metrics For Application Performance Management
JP5388122B2 (ja) * 2009-12-16 2014-01-15 Kddi株式会社 サーバ監視装置およびそのサーバ障害判定方法
US9092962B1 (en) 2010-04-16 2015-07-28 Kontek Industries, Inc. Diversity networks and methods for secure communications
JP5480447B2 (ja) 2011-03-28 2014-04-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 異常検知システム、異常検知方法、およびそのプログラム
US20130282331A1 (en) * 2012-04-24 2013-10-24 Ira Cohen Detecting abnormal behavior
US9038043B1 (en) * 2012-06-21 2015-05-19 Row Sham Bow, Inc. Systems and methods of information processing involving activity processing and/or optimization features
US10185582B2 (en) * 2012-11-28 2019-01-22 Red Hat Israel, Ltd. Monitoring the progress of the processes executing in a virtualization environment
CN103678090A (zh) * 2013-12-11 2014-03-26 北京国双科技有限公司 数据处理的监控方法和装置
JP6417742B2 (ja) * 2014-06-18 2018-11-07 富士通株式会社 データ管理プログラム、データ管理装置及びデータ管理方法
US11190400B2 (en) 2014-08-06 2021-11-30 Belkin International, Inc. Identifying and automating a device type using image data
US10003497B2 (en) * 2014-11-21 2018-06-19 Belkin International Inc. System for utility usage triggering action
CN104318435A (zh) * 2014-09-25 2015-01-28 同济大学 电子交易过程用户行为模式检测的免疫方法
JP6405851B2 (ja) 2014-09-30 2018-10-17 富士通株式会社 予兆検知支援プログラム、方法、装置、及び予兆検知プログラム、
US9804951B2 (en) * 2014-10-08 2017-10-31 Signalfx, Inc. Quantization of data streams of instrumented software
JP7023113B2 (ja) * 2014-10-08 2022-02-21 スプランク インコーポレイテッド ソフトウェアの計測に基づいたリアルタイム報告
US20160110277A1 (en) * 2014-10-16 2016-04-21 Siemens Aktiengesellshaft Method for Computer-Aided Analysis of an Automation System
WO2016100534A1 (en) * 2014-12-19 2016-06-23 Signalfx, Inc. Data stream processing language for analyzing instrumented software
US9760353B2 (en) * 2014-12-19 2017-09-12 Signalfx, Inc. Dynamically changing input data streams processed by data stream language programs
US10394692B2 (en) 2015-01-29 2019-08-27 Signalfx, Inc. Real-time processing of data streams received from instrumented software
US10387988B2 (en) * 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
US10771369B2 (en) * 2017-03-20 2020-09-08 International Business Machines Corporation Analyzing performance and capacity of a complex storage environment for predicting expected incident of resource exhaustion on a data path of interest by analyzing maximum values of resource usage over time
DE102017108496B4 (de) * 2017-04-21 2023-06-29 Windmöller & Hölscher Kg Verfahren und Vorrichtungen sowie System zum Auf- und Abwickeln eines Wickels
US10425345B2 (en) * 2017-09-29 2019-09-24 Juniper Networks, Inc. Methods and apparatus for detecting a signal degradation using the pre-forward error correction bit error rate at an optical transponder
GB2582953B (en) * 2019-04-10 2022-12-21 Siemens Ind Software Inc Performance profiling
US10977075B2 (en) 2019-04-10 2021-04-13 Mentor Graphics Corporation Performance profiling for a multithreaded processor
US11526422B2 (en) 2019-11-18 2022-12-13 Bmc Software, Inc. System and method for troubleshooting abnormal behavior of an application
JP7333748B2 (ja) 2019-12-13 2023-08-25 株式会社日立製作所 電子機器および電子機器の攻撃検知方法
EP4068724A1 (fr) * 2021-04-01 2022-10-05 Bull SAS Procédé de détection d'anomalies dans un système d'information, programme informatique et système de détection d'anomalies mettant en oeuvre un tel procédé
US11762371B1 (en) * 2022-05-02 2023-09-19 Rockwell Automation Technologies, Inc. Device control using processed sensor data corresponding to unexpected operations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602761A (en) * 1993-12-30 1997-02-11 Caterpillar Inc. Machine performance monitoring and fault classification using an exponentially weighted moving average scheme

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835902A (en) 1994-11-02 1998-11-10 Jannarone; Robert J. Concurrent learning and performance information processing system
US6216119B1 (en) 1997-11-19 2001-04-10 Netuitive, Inc. Multi-kernel neural network concurrent learning, monitoring, and forecasting system
US6182022B1 (en) 1998-01-26 2001-01-30 Hewlett-Packard Company Automated adaptive baselining and thresholding method and system
JP2000041039A (ja) * 1998-07-24 2000-02-08 Hitachi Electronics Service Co Ltd ネットワーク監視装置および方法
US6591255B1 (en) 1999-04-05 2003-07-08 Netuitive, Inc. Automatic data extraction, error correction and forecasting system
US6597777B1 (en) * 1999-06-29 2003-07-22 Lucent Technologies Inc. Method and apparatus for detecting service anomalies in transaction-oriented networks
JP3506068B2 (ja) * 1999-09-29 2004-03-15 日本電気株式会社 外れ値度計算装置
JP2002098672A (ja) * 2000-09-27 2002-04-05 Mitsubishi Electric Corp 電力用機器内部の異常過熱診断方法
US6876988B2 (en) 2000-10-23 2005-04-05 Netuitive, Inc. Enhanced computer performance forecasting system
WO2002044901A2 (en) 2000-11-29 2002-06-06 Netuitive Inc. Computer performance forecasting system
US20020087679A1 (en) * 2001-01-04 2002-07-04 Visual Insights Systems and methods for monitoring website activity in real time
WO2002101643A2 (en) 2001-06-08 2002-12-19 Netuitive, Inc. Automated analyzers for estimation systems
WO2003009140A2 (en) 2001-07-20 2003-01-30 Altaworks Corporation System and method for adaptive threshold determination for performance metrics
US7280988B2 (en) * 2001-12-19 2007-10-09 Netuitive, Inc. Method and system for analyzing and predicting the performance of computer network using time series measurements
US7099799B2 (en) 2003-10-27 2006-08-29 Netuitive, Inc. Computer performance estimation system configured to take expected events into consideration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602761A (en) * 1993-12-30 1997-02-11 Caterpillar Inc. Machine performance monitoring and fault classification using an exponentially weighted moving average scheme

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101491844B1 (ko) * 2011-11-14 2015-02-11 엔에이치엔엔터테인먼트 주식회사 신속한 장애 처리를 위한 동시 접속자 급감 인지 시스템 및 그 방법

Also Published As

Publication number Publication date
JP4965064B2 (ja) 2012-07-04
CN1573709A (zh) 2005-02-02
US20050125710A1 (en) 2005-06-09
JP2004348740A (ja) 2004-12-09
EP1480126A3 (en) 2007-08-22
US7624174B2 (en) 2009-11-24
EP1480126B1 (en) 2013-10-23
CN100533399C (zh) 2009-08-26
KR20040101058A (ko) 2004-12-02
EP1480126A2 (en) 2004-11-24

Similar Documents

Publication Publication Date Title
KR101021411B1 (ko) 처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법
US8000932B2 (en) System and method for statistical performance monitoring
US7444263B2 (en) Performance metric collection and automated analysis
US7076695B2 (en) System and methods for adaptive threshold determination for performance metrics
US8352867B2 (en) Predictive monitoring dashboard
US7050936B2 (en) Failure prediction apparatus and method
US7412448B2 (en) Performance degradation root cause prediction in a distributed computing system
US7421351B2 (en) Monitoring and fault detection in dynamic systems
US7788198B2 (en) Method for detecting anomalies in server behavior using operational performance and failure mode monitoring counters
US7502844B2 (en) Abnormality indicator of a desired group of resource elements
US9152530B2 (en) Telemetry data analysis using multivariate sequential probability ratio test
US20070005761A1 (en) Predictive monitoring and problem identification in an information technology (it) infrastructure
US7577888B2 (en) Self learning signatures
WO2003005279A9 (en) System and methods for monitoring performance metrics
US20070030853A1 (en) Sampling techniques
Han et al. Robust data preprocessing for machine-learning-based disk failure prediction in cloud production environments
US7254515B1 (en) Method and apparatus for system management using codebook correlation with symptom exclusion
Breitgand et al. Efficient control of false negative and false positive errors with separate adaptive thresholds
CN114531338A (zh) 一种基于调用链数据的监控告警和溯源方法及系统
US9054995B2 (en) Method of detecting measurements in service level agreement based systems
GB2390447A (en) Fault prediction in logical networks
CN116992245B (zh) 一种分布式时序数据分析处理方法
CN113992496B (zh) 基于四分位算法的异动告警方法、装置及计算设备
US20230308461A1 (en) Event-Based Machine Learning for a Time-Series Metric
CN116992245A (zh) 一种分布式时序数据分析处理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 8