KR101737777B1 - 컴퓨팅 장치 성능 모니터 - Google Patents

컴퓨팅 장치 성능 모니터 Download PDF

Info

Publication number
KR101737777B1
KR101737777B1 KR1020157034682A KR20157034682A KR101737777B1 KR 101737777 B1 KR101737777 B1 KR 101737777B1 KR 1020157034682 A KR1020157034682 A KR 1020157034682A KR 20157034682 A KR20157034682 A KR 20157034682A KR 101737777 B1 KR101737777 B1 KR 101737777B1
Authority
KR
South Korea
Prior art keywords
computing device
counting
output
sequence
specified
Prior art date
Application number
KR1020157034682A
Other languages
English (en)
Other versions
KR20160009611A (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 KR20160009611A publication Critical patent/KR20160009611A/ko
Application granted granted Critical
Publication of KR101737777B1 publication Critical patent/KR101737777B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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/30Monitoring
    • 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/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
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/81Threshold
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)

Abstract

컴퓨팅 장치의 성능 모니터에 유효한 시스템, 장치 및 방법에 대한 기술이 일반적으로 설명된다. 컴퓨팅 장치는 명시된 카운팅 속도를 수신할 수 있다. 컴퓨팅 장치는 명시된 카운팅 속도로 카운팅하여 카운팅 수의 시퀀스를 생성할 수 있다. 컴퓨팅 장치는, 데이터 상에서 수행된 계산으로부터의 결과와 같은, 프로세스의 제1 출력을 식별할 수 있고, 제1 출력이 식별되는 경우 제1 카운팅 수를 식별할 수 있다. 컴퓨팅 장치는 계산으로부터의 추가적인 출력과 같은, 프로세스의 제2 출력을 식별할 수 있고, 제2 출력이 식별되는 경우 제2 카운팅 수를 식별할 수 있다. 컴퓨팅 장치는 제1 및 제2 카운팅 수의 차이가 기준 값을 초과하는 것과 같은 경우에 제1 및 제2 카운팅 수에 기초하여 경고과 생성되어야 하는지 이후 결정할 수 있다.

Description

컴퓨팅 장치 성능 모니터{COMPUTING DEVICE PERFORMANCE MONITOR}
여기에서 달리 지적되지 않는다면, 본 섹션에서 설명되는 내용은 본 출원에서 청구범위에 대한 종래 기술이 아니며, 본 섹션에 포함함으로써 선행 기술로 인정되지 않는다.
클라우드 컴퓨팅 환경에서, 컴퓨팅 리소스는 네트워크를 통해 고객에게 서비스로 제공될 수 있다. 고객은 네트워크에 의해 제공되는 다양한 소프웨어 및 인프라(infrastructure)에 대한 접근을 가질 수 있다. 그러한 클라우드 컴퓨팅 환경에서의 네트워크 제공자는 서비스 레벨 협정(service level agreement; SLA)에 동의할 수 있다. 고객은 SLA에 따라 네트워크에 의해 제공되는 서비스를 이용하도록 고안된 시스템을 구성할 수 있다.
일 예시에서, 컴퓨팅 장치의 성능을 모니터링하기 위한 방법이 일반적으로 설명된다. 방법은 컴퓨팅 장치에서 명시된 카운팅 속도(counting rate)를 수신하는 단계를 포함할 수 있다. 방법은, 컴퓨팅 장치에서, 명시된 카운팅 속도로 카운팅하여 카운팅 수의 시퀀스를 생성하는 단계를 더 포함할 수 있다. 방법은 컴퓨팅 장치에서 프로세스의 제1 출력을 식별하는 단계를 포함할 수 있다. 방법은 제1 출력이 컴퓨팅 장치에서 식별되는 경우 제1 카운팅 수를 식별하는 단계를 포함할 수 있다. 방법은 컴퓨팅 장치에서 프로세스의 제2 출력을 식별하는 단계를 포함할 수 있다. 방법은 제2 출력이 컴퓨팅 장치에서 식별되는 경우 제2 카운팅 수를 식별하는 단계를 포함할 수 있다. 방법은 컴퓨팅 장치에서 제1 및 제2 카운팅 수에 기초하여 경고(alert)가 생성되어야 하는지 결정하는 단계를 포함할 수 있다.
일 예시에서, 컴퓨팅 장치가 일반적으로 설명된다. 컴퓨팅 장치는 명령어를 갖는 메모리를 포함할 수 있다. 컴퓨팅 장치는 메모리와 통신하도록 구성되는 프로세서를 더 포함할 수 있다. 프로세서는 명시된 카운팅 속도을 수신하도록 구성될 수 있다. 프로세서는 명시된 카운팅 속도로 카운팅하여 카운팅 수의 시퀀스를 생성하도록 더 구성될 수 있다. 프로세서는 컴퓨팅 장치에서 프로세서의 제1 출력을 식별하도록 더 구성될 수 있다. 프로세서는 컴퓨팅 장치에서 제1 출력이 식별되는 경우 제1 카운팅 수를 식별하도록 더 구성될 수 있다. 프로세서는 컴퓨팅 장치에서 프로세스의 제2 출력을 식별하도록 더 구성될 수 있다. 프로세서는 제2 출력이 컴퓨팅 장치에서 식별되는 경우 제2 카운팅 수를 식별하도록 더 구성될 수 있다. 프로세서는 컴퓨팅 장치에서 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 하는지 결정하도록 더 구성될 수 있다.
일 예시에서, 하나 이상의 컴퓨팅 장치의 성능을 모니터링하는 데에 유효한 시스템이 일반적으로 기술된다. 시스템은 제어 장치, 네트워크 및 제1 컴퓨팅 장치 및 제2 컴퓨팅 장치를 포함할 수 있다. 제1 컴퓨팅 장치는 네트워크를 통해 제어 장치와 통신하도록 구성될 수 있다. 제2 컴퓨팅 장치는 네트워크를 통해 제어 장치 및 제1 컴퓨팅 장치와 통신하도록 구성될 수 있다. 제어 장치는 제1 및 제2 컴퓨팅 장치에서 명시된 카운팅 속도을 발송하는 데에 유효할 수 있다. 제1 컴퓨팅 장치는 제1 명령어를 갖는 제1 메모리 및 제1 메모리와 통신하도록 구성된 제1 프로세서를 포함할 수 있다. 제1 프로세서는 명시된 카운팅 속도를 수신하도록 구성될 수 있다. 제1 프로세서는 명시된 카운팅 속도로 카운팅하여 카운팅 수의 제1 시퀀스를 생성하도록 더 구성될 수 있다. 제1 프로세서는 프로세스의 제1 출력을 식별하도록 더 구성될 수 있다. 제1 프로세서는 컴퓨팅 장치에서 제1 출력이 식별되는 경우 제1 카운팅 수를 식별하도록 더 구성될 수 있다. 제1 프로세서는 제1 컴퓨팅 장치에서 프로세서의 제2 출력을 식별하도록 더 구성될 수 있다. 제1 프로세서는 제1 컴퓨팅 장치에서 제2 출력이 식별되는 경우 제2 카운팅 수를 식별하도록 더 구성될 수 있다. 제1 프로세서는 제1 컴퓨팅 장치에서 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 하는지 결정하도록 더 구성될 수 있다. 제2 컴퓨팅 장치는 제2 명령어를 갖는 제2 메모리와 제2 메모리와 통신하도록 구성된 제2 프로세서를 포함할 수 있다. 제2 프로세서는 명시된 카운팅 속도를 수신하고 명시된 카운팅 속도로 카운팅하여 카운팅 수의 제2 시퀀스를 생성하도록 구성될 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상기 설명된 예시적인 양태, 실시예, 그리고 특징에 더하여, 추가적인 양태, 실시예, 그리고 특징 또한 명확해질 것이다.
도 1은 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시하고,
도 2는 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시하고,
도 3은 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시하고,
도 4는 컴퓨팅 장치 성능 모니터를 구현하기 위한 예시적인 프로세스를 위한 흐름도를 도시하고,
도 6은 컴퓨팅 장치 성능 모니터를 구현하기 위한 컴퓨터 프로그램 제품을 도시하고,
도 7은 컴퓨팅 장치 성능 모니터를 구현하도록 배열되는 예시적인 컴퓨팅 장치를 도시하는 블록도이고, 모두 여기에서 기술되는 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서 본 개시의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 통상적으로, 도면에서 유사한 부호는 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면, 그리고 청구범위에 설명되는 예시적인 예시는 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서도 다른 예시가 이용되거나, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 도시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있음과 이 모두가 여기에서 암시적으로 고려됨이 기꺼이 이해될 것이다.
본 개시는, 특히, 컴퓨팅 장치 성능 모니터에 관련되는 방법, 장치, 시스템, 기구 및 컴퓨터 프로그램 제품에 일반적으로 관련된다.
간략하게 설명하여, 컴퓨팅 장치의 성능을 모니터링하는 데에 유효한 시스템, 장치 및 방법이 일반적으로 기술된다. 컴퓨팅 장치는 명시된 카운팅 속도을 수신할 수 있다. 컴퓨팅 장치는 명시된 카운팅 속도로 카운팅하여 카운팅 수의 시퀀스를 생성할 수 있다. 컴퓨팅 장치는 데이터에서 수행되는 계산으로부터의 결과와 같은, 프로세스의 제1 출력을 식별할 수 있고, 제1 출력이 식별되는 경우 제1 카운팅 수를 식별할 수 있다. 컴퓨팅 장치는, 계산으로부터의 추가적인 결과와 같은, 프로세스의 제2 출력을 식별할 수 있고, 제2 출력이 식별되는 경우 제2 카운팅 수를 식별할 수 있다. 컴퓨팅 장치는 제1 및 제2 카운팅 수 사이의 차이가 기준 값을 초과하는 것과 같은 경우, 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 하는지 이후 결정할 수 있다.
도 1은 여기에서 기술되는 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시한다. 아래에서 더 상세하게 논의되는 바와 같이, 일부 예시에서, 시스템(100)은 제어 장치(102), 및 네트워크(146)를 통해 서로 통신하도록 구성되는 하나 이상의 컴퓨팅 장치(104 및/또는 106)을 포함할 수 있다. 컴퓨팅 장치(104)는 프로세서(110), 메모리(108) 및 고유 클록(118)을 포함할 수 있다. 고유 클록(118)은 예컨대, 상대적인 높고 낮은 값 사이를 교류하는 신호 펄스를 진동시킬 수 있다. 하나 이상의 프로그램(144)은 메모리(108) 내부에 저장될 수 있다. 컴퓨팅 장치(106)는 프로세서(111), 메모리(109) 및 고유 클록(119)을 포함할 수 있다. 하나 이상의 프로그램(145)은 메모리(109) 내부에 저장될 수 있다.
아래에서 더 상세히 논의되는 바와 같이, 제어 장치(102)는 제1 및 제2 컴퓨팅 장치(104, 106)로 명시된 카운팅 속도(142)를 발송할 수 있다. 명시된 카운팅 속도(142)는 고유 클록(118, 119)에 기초하여 제어 장치(102)에 의해 선택될 수 있고 고유 클록(118, 119)보다 더 작은 하나 이상의 자릿수일 수 있다. 명시된 카운팅 속도(142)는 특정 속도로 수행될 프로세스를 식별할 수 있다. 특정 속도는 시스템(100) 내 장치 사이에서 데이터 통신 속도와 유사한 값을 가질 수 있고 또는 모니터링될 하나 이상의 프로세스에 맞춰진 속도일 수 있다. 일 예시에서, 아래에서 더 상세히 설명되는 바와 같이, 프로세스의 각각의 반복은 카운팅 또는 카운팅 수를 증가시킬 수 있다. 프로세스는, 다음에는, 특정 수까지의 카운팅의 각각의 반복이 카운팅 또는 카운팅 수를 증가시킬 수 있도록 특정 수까지 반복적으로 카운팅하는 것을 포함할 수 있다.
제어 장치(102)는 명시된 카운팅 속도(142)을 발송하도록 구성될 수 있다. 명시된 카운팅 속도(142)는, 예컨대, 프로세서가 그 수까지 카운팅하기 위한 수 및 시간 간격일 수 있다. 예컨대, 명시된 카운팅 속도(142)는 2ms의 시간 간격에서 수 1,120까지 카운팅하는 것을 포함할 수 있다. 명시된 카운팅 속도(142)는 임의의 시간에서 변경될 수 있다. 프로세서(110)는, 프로그램(144) 내 명령어에 기초하여, 명시된 카운팅 속도(142)을 수신하도록 구성될 수 있다. 명시된 카운팅 속도(142) 및 고유 클록(118)에 기초하여, 프로그램(144)은 루프 사이즈(112)를 계산할 수 있다. 루프 사이즈(112)는 고유 클록(118)의 계산된 카운팅 속도에 대한 명시된 카운팅 속도(142)의 비율을 반영할 수 있다.
루프 사이즈(112)는 루프를 정의하도록 컴퓨팅 장치(104)에 의해 사용될 수 있다. 루프 사이즈(112)까지 카운팅하는 고유 클록(118)의 각각의 반복은 하나씩 카운팅 수(158)를 증가시킬 수 있다. 루트 사이즈(112)까지 카운팅 하는 것의 다수의 반복은 카운팅 수(158)의 시퀀스를 생성할 수 있다. 예시에서, 루프 사이즈는 500일 수 있다. 500까지 카운팅하는 고유 클록(118)의 각각의 반복에 대해, 카운팅 수(158)는 하나씩 증가될 수 있다. 루프 사이즈(112)는 그러므로 구체화된 컴퓨팅 속도(142)로 컴퓨팅 장치(104)가 카운팅할 수 있도록 사용될 수 있다. 카운팅 수(158)는 컴퓨팅 장치(104)가 루프 사이즈(112)까지 카운팅하는 횟수를 추적한다. 다른 예시에서, 고유 클록(118)은 48MHz의 주파수를 가질 수 있다. 제어 장치(102)는 1초당 1024 수를 카운팅하기 위한 명시된 카운팅 속도(142)을 발송할 수 있다. 프로세서(110)는, 프로그램(144) 내 명령어에 기초하여, 46,875의 루프 사이즈(112)를 계산할 수 있다. 컴퓨팅 장치(104)는 이후 1초당 1024 수의 구체화된 카운팅 속도로 카운팅 수(158)을 증가시킬 수 있다.
유사하게, 프로세서(111)는 프로그램(145) 내 명령어에 기초하여, 명시된 카운팅 속도(142)를 수신하도록 구성될 수 있다. 명시된 카운팅 속도(142) 및 고유 클록(119)에 기초하여, 프로그램(145)은 루프 사이즈(113)를 계산할 수 있다. 루프 사이즈(113)는 고유 클록(119)의 카운팅 속도에 대한 명시된 카운팅 속도(142)의 비율을 반영할 수 있다.
루프 사이즈(113)는 루프를 정의하도록 컴퓨팅 장치(106)에 의해 사용될 수 있다. 루프 사이즈(113)까지 카운팅하는 고유 클록(119)의 각각의 반복은 하나씩 카운팅 수(159)를 증가시킬 수 있다. 루프 사이즈(113)까지 카운팅하는 것의 다수의 반복은 카운팅 수(159)의 시퀀스를 생성할 수 있다. 루프 사이즈(113)는 그러므로 컴퓨팅 장치(104)가 명시된 카운팅 속도(142)로 카운팅하도록 사용될 수 있다. 컴퓨팅 장치(104)는 시작 신호에 응답하여 명시된 카운팅 속도(142)로 카운팅을 시작할 수 있다. 시작 신호는 프로세서(110), 프로세서(111), 제어 장치(102) 또는 다른 신호 생성 장치에 의해 생성될 수 있다. 시작 신호를 사용하는 장치는 동일한 시간 또는 다른 시간에서 시작 신호를 모두 수신할 수 있다. 카운팅 수(159)는 루프 사이즈(113)까지 컴퓨팅 장치(106)가 카운팅하는 횟수를 추적한다. 일 예시에서, 프로세서(110) 및 프로세서(111)는 명시된 카운팅 속도(142)로 이제 카운팅할 수 있으며, 이는 컴퓨팅 장치(104) 및 컴퓨팅 장치(106) 사이의 스케일링된 비교를 허용한다. 카운팅 수(158, 159)는 다른 주파수에서 고유 클록이 동작하는 예시에서도 동일한 속도로 증가시킬 수 있다. 예시에서, 컴퓨팅 장치(104, 106)가 다른 고유 클록(118, 119)을 가질 수 있음에도, 카운팅 수(158, 159)는 둘 다 0.1μS마다 증가시킬 수 있다.
컴퓨팅 장치(104)는 하나 이상의 명령어를 처리하라는 요청(114)을 이후 수신할 수 있다. 요청(114)은 컴퓨팅 장치(106), 제어 장치(102) 또는 다른 장치(124)에 의해 발행될 수 있다. 요청(114)에 따라, 하나 이상의 명령어는 출력(180)을 생성하도록 프로세서(110)에 의해 처리될 수 있다. 출력(180)을 식별한 후, 컴퓨팅 장치(104)는 카운팅 수(158)를 식별할 수 있다.
유사하게, 컴퓨팅 장치(106)는 하나 이상의 명령어를 처리하라는 요청(115)을 수신할 수 있다. 요청(115)은 컴퓨팅 장치(104), 제어 장치(102) 또는 다른 장치(124)에 의해 발행될 수 있다. 요청(115)에 따라, 하나 이상의 명령어는 출력(181)을 생성하도록 프로세서(111)에 의해 처리될 수 있다. 출력(181)을 식별한 후, 컴퓨팅 장치(106)는 카운팅 수(159)를 식별할 수 있다.
프로세서(110)는 출력(180) 및 카운팅 수(158)를 식별할 수 있다. 카운팅 수(158)는 분석기(160)에 의해 분석될 수 있다. 분석기(160)는 예컨대, 컴퓨팅 장치(104, 106), 제어 장치(102) 및/또는 다른 장치와 연관될 수 있다. 또한, 시스템(100) 내부에서 예시화되는 분석기(160)의 하나의 인스턴스보다 더 많을 수 있다. 아래에서 더 상세하게 설명되는 바와 같이, 분석기(160)는 둘 이상의 카운팅 수(158, 159)를 비교하도록 구성될 수 있다. 분석기(160)는 비교에 기초하여 경고(122)가 생성되어야 하는지 결정할 수 있다. 경고(122)는 예컨대, 이메일, 텍스트 메시지, 온 스크린 표시자 또는 시스템의 사용자 또는 관리자에게 발송될 경고의 다른 방식일 수 있다.
유사하게, 프로세서(111)는 출력(181) 및 카운팅 수(159)를 식별할 수 있다. 출력(181)은 분석기(160)에 의해 분석될 수 있다. 아래에서 더 상세하게 설명되는 바와 같이, 분석기(160)는 둘 이상의 카운팅 수를 비교하도록 구성될 수 있다. 분석기(160)는 비교에 기초하여 경고(123)가 생성되어야 하는지 결정할 수 있다.
도 2는 여기에서 기술되는 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시한다. 도 1의 컴포넌트와 동일하게 표시된 도 2의 컴포넌트는 명확성의 목적을 위해 다시 기술되지 않을 것이다.
일 예시에서, 프로세스(114)로의 요청은 컴퓨팅 장치(106), 제어 장치(102) 또는 다른 장치(124)에 의해 발행될 수 있다. 요청(114)에 따라, 하나 이상의 명령어가 둘 이상의 출력(180)(1801, 1802, 1803 등)을 생성하도록 프로세서(110)에 의해 처리될 수 있다. 출력(180)이 식별되는 경우, 대응 카운팅 수(158)(1581, 1582, 1583 등)가 또한 식별될 수 있다. 일 예시에서, 컴퓨팅 장치(104)는 제1 카운팅 수(1581)를 제1 프로세스 출력(1801)에 대한 태그로서, 제2 카운팅 수(1582)를 제2 프로세스 출력(1802)에 대한 태그로서, 그리고 제3 카운팅 수(1583)를 제3 프로세스 출력(180-3)에 대한 태그로서 추가할 수 있다.
추가된 카운팅 수(158)(1581, 1582, 1583 등을 포함함)를 갖는 출력(180)(1801, 1802, 1803 등을 포함함)은 이후 분석기(160)로 발송될 수 있다. 분석기(160)는, 전술된 바와 같이, 제어 장치(102), 컴퓨팅 장치(104, 106) 또는 다른 장치와 연관될 수 있다. 분석기(160)는 카운팅 수(1581, 1582, 1583 등)를 비교하도록 구성될 수 있다. 일 예시에서, 분석기(160)는 가자 최근 출력(180)과 추가된 장치 카운팅 수를 이전 프로세스 출력에 추가된 장치 카운팅 수를 비교할 수 있다.
분석기(160)는 카운팅 수를 비교하기 위한 하나 이상의 기법을 사용할 수 있다. 예컨대, 제3 카운팅 수(1583)(제3 출력 1803에 추가될 수 있음)는 제1 카운팅 수(1581)(제1 출력 1801에 추가될 수 있음)에 비교될 수 있다. 다른 예시에서, 분석기(160)는 시퀀셜 프로세스 출력의 카운팅 수를 비교할 수 있다. 예컨대, 제2 카운팅 수(1582)(제2 출력 1802에 추가됨)는 제1 카운팅 수(1581)(제1 출력 1801에 추가됨)에 비교될 수 있다.
다른 예시에서, 분석기(160)는 카운팅 수(158)(1581, 1582, 1583 등)를 컴퓨팅 장치(106)로부터 수신된 카운팅 수(159)에 비교하도록 구성될 수 있다. 예시에서, 두 컴퓨팅 장치(104) 및 컴퓨팅 장치(106)는 명시된 카운팅 속도(142)로 카운팅한다. 컴퓨팅 장치(104)는 컴퓨팅 장치(106)로부터 출력을 수신할 수 있다. 컴퓨팅 장치(104)의 카운팅 수는 컴퓨팅 장치(106)의 출력에 추가될 수 있다. 컴퓨팅 장치(106)로부터의 출력의 수신 시, 제1 컴퓨팅 장치(104)는 제2 컴퓨팅 장치(106)로부터 수신된 카운팅 수와 컴퓨팅 장치(104)의 카운팅 수를 비교할 수 있다.
또 다른 예시에서, 분석기(106)는 컴퓨팅 장치(106)로부터 출력의 수신 시 식별된 컴퓨팅 장치(104)로부터의 카운팅 수(158)의 값을 비교하도록 구성될 수 있다. 그 예시에서, 두 컴퓨팅 장치(104) 및 컴퓨팅 장치(106)는 명시된 컴퓨팅 속도(142)로 카운팅한다. 컴퓨팅 장치(104)는 컴퓨팅 장치(106)로부터 출력을 수신할 수 있다. 컴퓨팅 장치(106)로부터의 출력의 수신 시, 컴퓨팅 장치(104)는 제1 출력의 수신 시 식별된 제1 장치 카운팅 수(1581)을 제2 출력의 수신 시 식별된 제2 장치 카운팅 수(1582)와 비교할 수 있다.
분석기(160)는 카운팅 수(158, 159)가 하나 이상의 출력(180)에 연관되는지와 상관 없이 카운팅 수(158, 159)를 비교하도록 구성될 수 있다. 카운팅 수를 비교한 후, 분석기(160)는 이후 비교된 카운팅 수 사이의 차이 값(162)을 계산하도록 구성될 수 있다. 일 예시에서, 분석기(160)는 제1 카운팅 수(1581 = 13) 및 제2 카운팅 수(1582 = 64)를 수신할 수 있다. 분석기는 51의 차이 값(64-13 = 51)을 계산할 수 있다.
차이 값(162)은 분석기(160)에 의해 비교되는 각각의 카운팅 수의 식별 사이의 시간 간격에 비례할 수 있다. 일 예시에서, 2000의 차이 값(162)은 5μ초의 시간 간격에 대응할 수 있는 한편, 4000의 차이 값은 10μ초의 시간 간격에 대응할 수 있다.
분석기(160)는 둘 이상의 차이 값(162) 사이의 변화에 기초하여 통계를 계산할 수 있다. 예시로써, 분석기(160)는 시간 주기에 따른 평균 차이 값(162)과, 평균 차이 값(162)으로부터 표준 편차를 계산할 수 있다. 그러한 통계 분석은 각각의 차이 값(162) 또는 차이 값(162)의 샘플에 대해 계속적으로 또는 주기적으로 수행될 수 있다.
예시로써, 요청(114)은 각각의 카운팅 수(158) "45", "100", "160" 및 500"에서 출력(180) "W", "X", "Y" 및 "Z"를 생성할 수 있는 명령어를 처리하기 위한 요청일 수 있다. 그 예시에서, 분석기(160)는 제2 카운팅 수("100")를 제1 카운팅 수("45")에 비교하여 "55"의 차이 값(162)(즉, 100-45 = 55)를 생성할 수 있다. 분석기(160)는 이후 제3 카운팅 수 "160"을 제2 카운팅 수 "100"에 비교하여 "60"의 차이 값(162)(즉, 160-100 = 60)을 생성할 수 있다. 분석기(160)는 이후 제4 카운팅 수 "500"을 제3 카운팅 수 "160"에 비교하여 "340"의 차이 값(162)(즉, 500-160 = 340)을 생성할 수 있다. 그 예시에서, "340"의 차이 값(162)은 기준을 위반할 수 있고 분석기(160)는 경고(122)를 생성할 수 있다.
도 3은 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시한다. 도 1 및 2의 컴포넌트와 동일하게 표시된 도 3의 컴포넌트는 명확성의 목적을 위해 다시 기술되지 않을 것이다.
일 예시에서, 컴퓨팅 장치(106)는 통신 채널(134)을 통해 컴퓨팅 장치(104)에 연결될 수 있다. 프로세서(111)는 통신 채널(134)을 통해 컴퓨팅 장치(104)로 하나 이상의 패킷(156)을 발송함으로써 통신 프로세스를 수행하도록 구성될 수 있다. 패킷(156)은 그러한 통신 프로세스의 출력일 수 있다. 통신 프로세스로부터의 출력 패킷은 프로세서(110)에 의해 식별될 수 있다. 아래에서 더 상세하게 논의되는 바와 같이, 출력 패킷(156)은 통신 프로세스의 성능을 모니터링하도록 사용될 수 있다.
일 예시에서, 아래에서 더 상세하게 설명되는 바와 같이, 분석기(160)는 카운팅 수(158, 159)를 비교하도록 구성될 수 있다. 분석기(160)는 이후 비교에 기초하여 경고(132)를 생성하도록 구성될 수 있다. 경고(132)는 예시로써, 이메일, 텍스트 메시지, 온 스크린 표시자 또는 시스템(100)의 사용자 또는 관리자로 발송되는 경고의 임의의 다른 방식일 수 있다.
도 4는 여기에서 기술되는 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하도록 이용될 수 있는 일부 예시적인 시스템을 도시한다. 도 1, 2 및 3의 컴포넌트와 동일하게 표시된 도 4의 컴포넌트는 명확성의 목적을 위해 다시 기술되지 않을 것이다.
일 예시에서, 프로세서(111)은 통신 채널(134)을 통해 컴퓨팅 장치(104)로 하나 이상의 패킷(156)을 발송할 수 있다. 프로세서(111)는 제1 카운팅 수(1591)를 제1 패킷(1561)에 대한 태그로서, 제2 카운팅 수(1592)을 제2 패킷(1562)에 대한 태그로서, 그리고 제3 카운팅 수(1593)을 제3 패킷(1563)에 대한 태그로서 추가할 수 있다. 프로세서(111)는 패킷(156) 및 카운팅 넘버(158)를 식별할 수 있다. 다른 예시에서, 컴퓨팅 장치(104)의 프로세서(110)는 제1 패킷(1561)의 수신 시, 제1 카운팅 수(1581)을 식별할 수 있고, 제2 패킷(1562)의 수신 시, 제2 카운팅 수(1582)를 식별할 수 있고, 제3 패킷(1563)의 수신 시, 제3 카운팅 수(1583) 등을 식별할 수 있다.
카운팅 수(158, 159)(1581, 1582, 1583, 1591, 1592, 1593 등을 포함함)를 갖는 패킷(156)(1561, 1562, 1563 등을 포함함)은 분석기(160)에게 이후 발송될 수 있다. 분석기(160)는, 전술된 바와 같이, 제어 장치(102), 컴퓨팅 장치(104, 106) 또는 다른 장치와 연관될 수 있다. 분석기(160)는 컴퓨팅 수(158, 159)(1581, 1582, 1583, 1591, 1592, 1593 등을 포함함)을 비교하도록 이후 구성될 수 있다. 일 예시에서, 분석기(160)는 수신된 가장 최근 패킷과 함께 식별된 카운팅 수를 이전에 수신된 패킷과 함께 식별된 카운팅 수에 비교할 수 있다.
분석기(160)는 카운팅 수를 비교하기 위한 하나 이상의 기법을 사용할 수 있다. 예컨대, 제3 카운팅 수(1593)(제3 패킷(1563)에 추가될 수 있음)는 제1 카운팅 수(1591(제1 패킷(1561)에 추가됨)에 비교될 수 있다. 다른 예시에서, 분석기(160)는 시퀀셜 패킷의 카운팅 수를 비교할 수 있다. 예컨대, 분석기(160)는 제2 카운팅 수(1592)(제2 패킷(1562)에 추가됨)를 제1 카운팅 수에 비교할 수 있다.
다른 예시에서, 분석기(160)는 카운팅 수(158)(1581, 1582, 1583 등을 포함함)를 컴퓨팅 장치(106)로부터 수신된 카운팅 수(159)에 비교하도록 구성될 수 있다. 예컨대, 컴퓨팅 장치(104)는 컴퓨팅 장치(106)로부터 패킷을 수신할 수 있다. 컴퓨팅 장치(106)로부터의 카운팅 수(159)(1591, 1592, 1593 등을 포함함)는 컴퓨팅 장치(106)에 의해 컴퓨팅 장치(104)로 발송된 하나 이상의 패킷(156)으로 추가될 수 있다. 하나 이상의 패킷(156)의 수신 시, 컴퓨팅 장치(104)는 컴퓨팅 장치(104) 내 현재 카운팅 수(158)(1581, 1582, 1583 등을 포함함)를 수신된 카운팅 수(159)(1591, 1592, 1593 등을 포함함)과 비교할 수 있다.
또 다른 예시에서, 분석기(160)는 컴퓨팅 장치(106)로부터 패킷의 수신 시 식별된 컴퓨팅 장치(104)로부터 카운팅 수(158)의 값을 비교하도록 구성될 수 있다. 예컨대, 컴퓨팅 장치(104)는 컴퓨팅 장치(106)로부터 출력 패킷을 수신할 수 있다. 컴퓨팅 장치(106)로부터 출력 패킷의 수신 시, 컴퓨팅 장치(104)는 제1 패킷(예컨대, 1581)의 수신 시 식별된 제 장치 카운팅 수를 제2 패킷(예컨대, 1582)의 수신 시 식별된 제2 장치 카운팅 수와 비교할 수 있다.
분석기(160)는 카운팅 수(158, 159)가 하나 이상의 패킷(156)에 관련되는 지와 상간 없이, 카운팅 수(158, 159)를 비교할 수 있다. 카운팅 수를 비교한 후, 분석기(160)는 이후 비교된 카운팅 수 사이의 차이 값(162)를 계산하도록 구성될 수 있다. 차이 값(162)은 분석기(160)에 의해 비교되는 각각의 카운팅 수의 식별 사이의 시간 간격에 비례할 수 있다.
분석기(160)는 이후 둘 이상의 차이 값(162) 사이의 변화에 기초하여 통계를 계산할 수 있다. 예시로써, 분석기(160)는 시간의 주기에 따라 평균 차이 값(162) 및 평균 차이 값(162)으로부터 표준 편차를 계산할 수 있다. 그러한 통계 분석은 차이 값(162)의 샘플에 대하여 또는 각각의 차이 값(162)에 대해 계속적으로 또는 주기적으로 수행될 수 있다.
전술된 바와 같이, 분석기(160)는 경고(132)를 생성할 수 있다. 경고(132)는 예시로써, 이메일, 텍스트 메시지, 온 스크린 표시자, 또는 시스템(100)의 사용자 또는 관리자에게 발송된 경고의 임의의 다른 방식일 수 있다. 그러한 경고는 차이 값(162)에 기초하여 계산된 통계에 응답할 수 있다. 예컨대, 기준 치 값을 위반하는 차이 값(162), 평균, 또는 표준 편자가 생성될 수 있다. 예시에서, 분석기(160)는 107, 113, 99, 104, 103, 121, 94, 105, 101 및 98의 열 개의 차이 값을 검출할 수 있다. 그러한 값은 104.5의 평균 값과 7.80669의 표준 편자를 갖는다. 기준 표준 편차는 10.00000일 수 있다. 뒤따르는 차이 값 162은 표준 편차를 10.00000 이상으로 증가하게 하고, 경고(132)가 생성될 수 있다.
기준 값은 예컨대, 차이 값(162)이 초과하면 안 되는 수 및/또는 차이 값(162)이 그 이하로 떨어지면 안 되는 수일 수 있다. 예컨대, 시스템과 연관된 임의의 컴퓨팅 장치(100)는 평균 차이 값(162) 및 표준 편차를 계속적으로 계산할 수 있다. 평균 차이 값이 특정 미리 정의된 허용 오차(예컨대, 10%)보다 더 크게 변화하지 않는 경우, 현재 계산된 차이 값(162)이 기준 값으로 사용될 수 있다.
차이 값(162)은 특정 태스크와 연관되거나 연관되지 않을 수 있다. 태스크는, 예컨대, 쓰레드 프로세스, 통신 변화, 패킷 전송, 메모리 쓰기 또는 읽기 등일 수 있다. 예시에서, 기준 값을 초과하는 특정 태스크와 연관되는 차이 값(162)은 태스크 신행 시간에서의 변화를 나타낼 수 있다. 다른 예시에서, 기준 값을 초과하는, 특정 태스크와 연관되지 않은 차이 값(162)은 컴퓨팅 장치의 고유 클록이 더 느려졌음을 나타낼 수 있다. 예시에서, 비교적 높은 기준 값을 초과하는 차이 값(162)은 차이 값(162)이 연관된 컴퓨팅 장치 중 하나 이상이 명시된 카운팅 속도(142)로 카운팅하지 않음을 나타낼 수 있다.
분석기(160)는 장치에 관련된 차이 값(162)에 기초하여 특정 장치가 SLA(service level agreement)에 의해 요구되는 서비스의 정도 아래로 떨어지는 위험에 있음을 결정할 수 있다. 분석기(160)는 이후, 잠재적으로 잘 못 동작할 장치를 명시할 수 있고, 장치의 성능과 관련된 통계를 제공할 수 있고 그리고/또는 개선책 방침을 제안할 수 있다.
다른 잠재적인 이익 중에서, 본 개시에 따른 시스템은 사용자로 하여금 네트워크를 통한 통신에서 컴퓨팅 장치의 성능 저하를 검출하는 것을 허용할 수 있다. 성능 저하는 하드웨어 장치 실패 또는 저하, 소프트웨어 실패 또는 성능 저하(예컨대, 가비지 콜렉션 기능 불량, 버터 오버플로우 등), 프로세스 로드로 인한 운영 가능한 동작 저하 및/또는 승인되지 않은 동작으로 인한 프로세스 저하를 포함할 수 있다. 클라우드 컴퓨팅 환경에서, 본 개시에 따른 시스템의 사용자는 성능 문제를 갖는 특정 장치를 정확히 찾아내는 것이 가능할 수 있다. 추가적으로, 사용자는 변화하는 차이 값으로부터 계산된 통계에 기초하여 성능 저하의 원인을 식별하는 것이 가능할 수 있다. 컴퓨팅 장치는 각각의 장치에게 집중된 클록과 동기화될 것을 요구하지 않고도 모니터링될 수 있다.
서비스 제공자는 요구되는 바에 따라 리소스를 레버리지하고 성능에서 더 나은 능력을 갖기 위한 본 개시에 따른 시스템을 구현할 수 있다. 데이터 센터는 소프트웨어를 더 잘 제어하고 실패를 방지하기 위해 개시된 시스템을 구현할 수 있다. 애플리케이션 제공자는 서비스 레벨을 보장하도록 기술된 시스템을 사용할 수 있다. 사용자는 그들이 그들의 요청된 성능을 수신하는 것을 포장하도록 시스템을 구현할 수 있다.
도 5는 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하기 위한 예시적인 프로세스를 위한 흐름도를 도시한다. 도 5의 프로세스는, 예컨대, 전술된 시스템(100)을 사용하여 구현될 수 있고, 컴퓨팅 장치의 성능을 모니터링하도록 사용될 수 있다. 예시적인 프로세스는 블록(S2, S4, S6, S8, S10, S12 및/또는 S14) 중 하나 이상에 의해 도시되는 하나 이상의 동작, 작동 또는 기능을 포함할 수 있다. 분리된 블록으로 도시되었으나, 요구되는 구현예에 따라 다양한 블록이 추가적인 블록으로 분할될 수 있거나, 더 적은 블록으로 조합될 수 있거나, 제거될 수 있다.
블록(S2), "컴퓨팅 장치에서 명시된 카운팅 속도를 수신"에서 시작할 수 있다. 블록(S2)에서, 컴퓨팅 장치는 명시된 카운팅 속도를 수신할 수 있다.
프로세싱은 블록(S2)에서 블록(S4), "명시된 카운팅 속도로 카운팅하여 컴퓨팅 수의 시퀀스를 생성"으로 계속할 수 있다. 블록(S4)에서, 컴퓨팅 장치의 프로세서는 명시된 카운팅 속도로 카운팅하여 카운팅 수의 시퀀스를 생성할 수 있다. 예시에서, 명시된 속도로 카운팅하여 카운팅 수의 시퀀스를 생성하는 것은 컴퓨팅 장치에 대한 루프 사이즈를 계산하는 것을 포함할 수 있으며, 루프 사이즈는 컴퓨팅 장치의 클록 속도와 명시된 카운팅 속도에 기초한다. 명시된 카운팅 속도로 카운팅하여 카운팅 수의 시퀀스를 생성하는 것은 컴퓨팅 장치가 루프 사이즈와 동일한 사이즈의 루프를 통해 카운팅하는 각각의 시간에서 카운팅 수를 증가시키는 것을 더 포함할 수 있다.
프로세싱은 블록(S4)에서 블록(S6), "컴퓨팅 장치에서 프로세스의 제1 출력을 식별"으로 계속할 수 있다. 일 예시에서, 제1 출력은 컴퓨팅 장치에서 하나 이상의 명령어를 처리하는 것으로부터의 출력일 수 있다. 다른 예시에서, 제1 출력은 통신 채널을 통해 수신된 하나 이상의 패킷일 수 있고, 통신 채널은 컴퓨팅 장치와 다른 컴퓨팅 장치 사이에 있다.
프로세싱은 블록(S6)에서 블록(S8), "제1 출력이 컴퓨팅 장치에서 식별되는 경우 제1 카운팅 수를 식별"로 계속할 수 있다. 블록(S8)에서, 제1 카운팅 수는 제1 출력이 컴퓨팅 장치에서 식별되는 경우 식별될 수 있다.
프로싱은 블록(S8)에서 블록(S10), "컴퓨팅 장치에서 프로세스의 제2 출력을 식별"으로 계속할 수 있다. 일 예시에서, 제2 출력은 컴퓨팅 장치에서 하나 이상의 명령어를 처리하는 것으로부터의 출력일 수 있다. 다른 예시에서, 제2 출력은 통신 채널을 통해 수신된 하나 이상의 패킷일 수 있고, 통신 채널을 컴퓨팅 장치와 다른 컴퓨팅 장치 사이에 있다.
프로세싱은 블록(S10)에서 블록(S12), "제2 출력이 컴퓨팅 장치에서 식별되는 경우 제2 카운팅 수를 식별"로 계속할 수 있다. 블록(S12)에서, 제2 카운팅 수는 제2 출력이 컴퓨팅 장치에서 식별되는 경우 식별될 수 있다.
프로세싱은 블록(S12)에서 블록(S14), "컴퓨팅 장치에서 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 하는지 결정"으로 계속할 수 있다. 블록(S14)에서, 컴퓨팅 장치에서 제1 및 제2 카운팅 수에 기초하여 경고를 생성할 것인지에 대한 결정이 이루어진다. 결정은 각각의 제1 카운팅 수와 각각의 제2 카운팅 수를 비교함으로써 적어도 하나의 차이 값을 계산하는 것을 포함할 수 있고, 제2 카운팅 수는 다른 컴퓨팅 장치로부터 수신될 수 있다. 결정은 둘 이상의 차이 값 사이의 변화를 계산하는 것을 포함할 수 있다. 결정은 둘 이상의 차이 값 사이의 변화에 기초한 하나 이상의 통계를 계산하는 것을 포함할 수 있다. 일부 예시에서, 결정은 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초할 수 있다.
도 6은 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하기 위한 컴퓨터 프로그램 제품(300)을 도시한다. 프로그램 제품(300)은 신호 베어링 매체(302)를 포함할 수 있다. 신호 베어링 매체(302_는 예컨대, 프로세서에 의해 실행되는 경우, 도 1-5에 관해 전술된 기능을 제공할 수 있는 하나 이상의 명령어(304)를 포함할 수 있다. 그러므로, 예컨대, 시스템(100)을 참조하여, 컴퓨팅 장치(104) 또는 컴퓨팅 장치(106)는 매체(302)에 의해 시스템(100)으로 전달되는 명령어(304)에 응답하여 도 6에 도시된 블록 중 하나 이상을 수행할 수 있다.
일부 구현예에서, 신호 베어링 매체(302)는 하드 디스크 드라이브, CD(Compact Disk), DVD(Digital Video Disk), 디지털 테이프, 메모리 등과 같은 컴퓨터 판독 가능 매체(306)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(302)는 메모리, 읽기/쓰기(R/W) CD, R/W DVD 등과 같은 기록 가능 매체(308)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(302)는 디지털 및/또는 아날로그 통신 매체(예컨대, 광섬유 케이블, 도파관(waveguide), 유선 통신 링크, 무선 통신 링크 등)와 같은 통신 매체(310)를 포함할 수 있으나, 이에 제한되지는 않는다. 따라서, 예컨대, 컴퓨터 프로그램 제품(300)은, 신호 베어링 매체(302)가 통신 매체(3100)(예컨대, IEEE 802.11 표준에 따르는 무선 통신 매체)에 의해 전달되는 RF 신호 베어링 매체(302)에 의하여 시스템(100)의 하나 이상의 모듈로 전달될 수 있다.
도 7는 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 컴퓨팅 장치 성능 모니터를 구현하도록 배열되는 예시적인 컴퓨터 장치(400)의 블록도이다. 매우 기본적인 구성(402)에서, 컴퓨팅 장치(400)는 하나 이상의 프로세서(404) 및 시스템 메모리(406)를 통상적으로 포함한다. 메모리 버스(408)는 프로세서(404) 및 시스템 메모리(406) 사이를 통신하도록 사용될 수 있다.
요구되는 구성에 따라, 프로세서(404)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(404)는 레벨 1 캐시(410) 및 레벨 2 캐시(412)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(414) 및 레지스터(416)를 포함할 수 있다. 프로세서 코어(414)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 그 임의의 조합을 포함할 수 있다. 메모리 컨트롤러(418)는 또한 프로세서(404)와 사용될 수 있거나, 또는 몇몇 구현예에서, 메모리 컨트롤러(418)는 프로세서(404)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(406)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(406)는 운영 체제(420), 하나 이상의 애플리케이션(422), 및 프로그램 데이터(424)를 포함할 수 있다.
애플리케이션(422)은 도 1-6에 대해 전술된 것을 포함하는 여기에서 기술된 기능을 수행하도록 배열되는 컴퓨팅 장치 성능 모니터 알고리즘을 포함할 수 있다. 프로그램 데이터(424)는 여기에서 기술된 컴퓨팅 장치 성능 모니터를 구현하기 위해 유용할 수 있는 컴퓨팅 장치 성능 모니터 데이터(428)를 포함할 수 있다. 일부 실시예에서, 애플리케이션(422)은 컴퓨팅 장치 성능 모니터가 제공될 수 있도록 운영 체제(420)상에서 프로그램 데이터(424)와 동작하도록 배열될 수 있다. 이러한 기술된 기본 구성(402)은 파선 내의 컴포넌트에 의해 도 7에 도시된다.
컴퓨팅 장치(400)는 추가적인 특징 또는 기능, 및 기본 구성(402)과 임의의 요구되는 장치와 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들면, 버스/인터페이스 컨트롤러(430)는 저장 인터페이스 버스(434)를 통한 기본 구성(402)과 하나 이상의 데이터 저장 장치(432) 간의 통신을 용이하게 하는데 사용될 수 있다. 데이터 저장 장치(432)는 분리형 저장 장치(436), 비분리형 저장 장치(438), 또는 그들의 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD), 및 테이프 드라이브가 포함된다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(406), 분리형 저장 장치(436) 및 비분리형 저장 장치(438)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(400)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 장치(400)의 일부일 수 있다.
컴퓨팅 장치(400)는 버스/인터페이스 컨트롤러(430)를 통한 다양한 인터페이스 장치(예를 들면, 출력 장치(442), 주변 인터페이스(444) 및 통신 장치(446))로부터 기본 구성(402)으로의 통신을 용이하게 하기 위한 인터페이스 버스(640)도 포함할 수 있다. 예시적인 출력 장치(442)는 그래픽 처리 유닛(448) 및 오디오 처리 유닛(450)을 포함하며, 이는 하나 이상의 A/V 포트(452)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(444)는 직렬 인터페이스 컨트롤러(454) 또는 병렬 인터페이스 컨트롤러(456)를 포함하며, 이는 하나 이상의 I/O 포트(458)를 통해 입력 장치(예를 들면, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예를 들면, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(446)는 네트워크 컨트롤러(460)를 포함하며, 이는 하나 이상의 통신 포트(464)를 통해 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(462)와의 통신을 용이하게 하도록 배치될 수 있다. 일부 구현예에서, 다른 컴퓨팅 장치(462)는 인터페이스 버스(440)를 통해 호스트 프로세스(404)와 통신할 수 있는, 멀티 코어 프로세서를 포함할 수 있다.
통신 연결은 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용되는 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(400)는, 휴대 전화, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 특수 용도 장치, 또는 위 기능 중 임의의 것을 포함하는 하이브리드 장치 같은 소형 폼 팩터(small-form factor)의 휴대용(또는 모바일) 전자 장치의 일부로서 구현될 수 있다. 컴퓨팅 장치(400)는 또한 랩톱 컴퓨터 및 랩톱이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다. 또한, 컴퓨팅 장치(400)는 두 개의 랩탑 컴퓨터 및 랩탑이 아닌 컴퓨터 구성 모두를 포함하는 개인용 컴퓨터로서 또한 구현될 수 있다.
본 개시는 다양한 태양의 예시로서 의도된 본 출원에 기술된 특정 예시들에 제한되지 않을 것이다. 당업자에게 명백할 바와 같이, 많은 수정과 변형이 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 장치가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항의 용어에 의해서만, 그러한 청구항에 부여된 균등물의 전 범위와 함께, 제한될 것이다. 본 개시가 물론 다양할 수 있는 특정 방법, 시약, 합성 구성 또는 생물학적 시스템에 제한되지 않는 것으로 이해될 것이다. 또한, 여기에서 사용된 용어는 단지 특정 예시들을 기술하기 위한 목적이고, 제한하는 것으로 의도되지 않음이 이해될 것이다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 예시들로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 전형적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 전형적으로 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 전형적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). "A, B 또는 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
추가적으로, 개시의 특징 또는 양태가 마쿠시(Markush) 그룹으로 기술되는 경우, 개시는 마쿠시 그룹의 임의의 개별 요소 또는 요소들의 하위 그룹 역시 포함하고 있다는 것을 당업자는 인식할 것이다.
당업자에게 이해될 것과 같이, 임의의 그리고 모든 목적에서든, 기술 내용을 제공하는 것 등에 있어서, 여기에 개시되어 있는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그러한 하위범위의 조합을 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시가능하게 하는 것으로서 쉽게 인식될 수 있다. 제한하지 않는 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3, 상위 1/3 등으로 나누어질 수 있다. 또한, "까지", "적어도", "보다 많은", "보다 적은" 등과 같은 언어는 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭함이 당업자에게 이해되어야 한다. 마지막으로, 범위는 각각의 개별 요소를 포함함이 이해되어야 한다. 따라서, 예를 들어, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 의미한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 의미한다.
다양한 양상 및 예시들이 여기에서 개시되었지만, 다른 양상 및 예시들이 가능하다. 본 개시에 기재된 다양한 양상 및 예시는 예시의 목적으로 제시된 것이고, 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에 의해 나타낸다.

Claims (21)

  1. 컴퓨팅 장치의 성능을 모니터링하기 위한 방법으로서,
    제어 장치로부터 상기 컴퓨팅 장치에서 명시된 카운팅 속도(specified counting rate)를 수신하는 단계 - 상기 명시된 카운팅 속도는 상기 컴퓨팅 장치에 의해 카운팅 프로세스가 수행될 특정 속도를 식별하고, 상기 명시된 카운팅 속도는 수(number) 및 상기 수까지 카운팅하기 위한 시간 간격을 포함함 -;
    카운팅 수의 시퀀스(sequence of counting numbers)를 생성하도록 상기 컴퓨팅 장치에서 상기 명시된 카운팅 속도로 상기 카운팅 프로세스를 수행하는 단계;
    상기 컴퓨팅 장치에서 모니터링된 프로세스의 제1 출력을 식별하는 단계;
    상기 컴퓨팅 장치에서 상기 제1 출력이 식별되는 경우 상기 카운팅 수의 시퀀스에서 제1 카운팅 수를 식별하는 단계;
    상기 컴퓨팅 장치에서 상기 모니터링된 프로세스의 제2 출력을 식별하는 단계;
    상기 컴퓨팅 장치에서 상기 제2 출력이 식별되는 경우 상기 카운팅 수의 시퀀스에서 제2 카운팅 수를 식별하는 단계; 및
    상기 컴퓨팅 장치에서 상기 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 할지 결정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 카운팅 수의 시퀀스를 생성하도록 상기 컴퓨팅 장치에서 상기 명시된 카운팅 속도로 상기 카운팅 프로세스를 수행하는 단계는,
    상기 컴퓨팅 장치를 위한 루프 사이즈(loop size)를 계산하는 단계 - 상기 루프 사이즈는 상기 명시된 카운팅 속도 및 상기 컴퓨팅 장치의 클록 속도에 기초함 -; 및
    상기 컴퓨팅 장치가 상기 루프 사이즈와 동일한 사이즈의 루프를 통해 카운팅하는 각각의 시간에서 상기 카운팅 수를 증가시키는 단계
    를 포함하는 것인, 방법.
  3. 제1항에 있어서,
    상기 제1 및 제2 출력은 상기 컴퓨팅 장치에서 하나 이상의 명령어를 처리하는 것으로부터의 출력인 것인, 방법.
  4. 제1항에 있어서,
    상기 제1 및 제2 출력은 통신 채널을 통해 수신된 패킷이고, 상기 통신 채널은 상기 컴퓨팅 장치와 다른 컴퓨팅 장치 사이에 있는 것인, 방법.
  5. 제1항에 있어서,
    경고가 생성되어야 하는지 결정하는 단계는,
    각각의 제1 카운팅 수와 각각의 제2 카운팅 수를 비교함으로써 적어도 하나의 차이 값(different value)을 계산하는 단계;
    두 개 이상의 차이 값 사이의 변화를 계산하는 단계;
    상기 두 개 이상의 차이 값 사이의 변화에 기초하여 하나 이상의 통계를 계산하는 단계; 및
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 경고가 생성되어야 하는지 결정하는 단계
    를 포함하는 것인, 방법.
  6. 제1항에 있어서,
    상기 제2 카운팅 수는 다른 컴퓨팅 장치로부터 수신되는 것인, 방법.
  7. 제1항에 있어서,
    상기 제2 카운팅 수는 다른 컴퓨팅 장치에서 수신되고;
    경고가 생성되어야 하는지 결정하는 단계는,
    각각의 제1 카운팅 수와 각각의 제2 카운팅 수를 비교함으로써 적어도 하나의 차이 값을 계산하는 단계;
    두 개 이상의 차이 값 사이의 변화를 계산하는 단계;
    상기 두 개 이상의 차이 값 사이의 변화에 기초하여 하나 이상의 통계를 계산하는 단계; 및
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 경고가 생성되어야 하는지 결정하는 단계
    를 포함하는 것인, 방법.
  8. 컴퓨팅 장치로서,
    명령어를 갖는 메모리; 및
    상기 메모리와 통신하도록 구성되는 프로세서를 포함하고, 상기 프로세서는,
    제어 장치로부터 명시된 카운팅 속도를 수신하고 - 상기 명시된 카운팅 속도는 카운팅 프로세스가 수행될 특정 속도를 식별하고, 상기 명시된 카운팅 속도는 수 및 상기 수까지 카운팅하기 위한 시간 간격을 포함함 -;
    카운팅 수의 시퀀스를 생성하도록 상기 명시된 카운팅 속도로 상기 카운팅 프로세스를 수행하고;
    상기 컴퓨팅 장치에서 모니터링된 프로세스의 제1 출력을 식별하고;
    상기 컴퓨팅 장치에서 상기 제1 출력이 식별되는 경우 상기 카운팅 수의 시퀀스에서 제1 카운팅 수를 식별하고;
    상기 컴퓨팅 장치에서 상기 모니터링된 프로세스의 제2 출력을 식별하고;
    상기 컴퓨팅 장치에서 상기 제2 출력이 식별되는 경우 상기 카운팅 수의 시퀀스에서 제2 카운팅 수를 식별하고; 그리고
    상기 컴퓨팅 장치에서 상기 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 하는지 결정하도록 구성되는 것인, 컴퓨팅 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 컴퓨팅 장치를 위한 루프 사이즈를 계산하고 - 상기 루프 사이즈는 상기 명시된 카운팅 속도 및 상기 컴퓨팅 장치의 클록 속도에 기초함 -; 그리고
    상기 컴퓨팅 장치가 상기 루프 사이즈와 동일한 사이즈의 루프를 통해 카운팅하는 각각의 시간에서 상기 카운팅 수를 증가시키도록 더 구성되는 것인, 컴퓨팅 장치.
  10. 제8항에 있어서,
    상기 제1 및 제2 출력은 컴퓨팅 장치에서 하나 이상의 명령어를 처리하는 것으로부터의 출력인 것인, 컴퓨팅 장치.
  11. 제8항에 있어서,
    상기 제1 및 제2 출력은 통신 채널을 통해 수신된 패킷이고, 상기 통신 채널은 상기 컴퓨팅 장치와 다른 컴퓨팅 장치 사이에 있는 것인, 컴퓨팅 장치.
  12. 제8항에 있어서,
    상기 프로세서는,
    각각의 제1 카운팅 수와 상기 각각의 제2 카운팅 수의 비교에 의해 적어도 하나의 차이 값을 계산하고;
    두 개 이상의 차이 값 사이의 변화를 계산하고;
    상기 두 개 이상의 차이 값 사이의 변화에 기초하여 하나 이상의 통계를 계산하고; 그리고
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 경고가 생성되어야 하는지 결정하도록 더 구성되는 것인, 컴퓨팅 장치.
  13. 제8항에서,
    상기 제2 카운팅 수는 다른 컴퓨팅 장치로부터 수신되는 것인, 컴퓨팅 장치.
  14. 제8항에 있어서,
    상기 제2 카운팅 수는 다른 컴퓨팅 장치로부터 수신되고; 그리고
    상기 프로세서는,
    각각의 제1 카운팅 수와 상기 각각의 제2 카운팅 수의 비교에 의해 적어도 하나의 차이 값을 계산하고;
    두 개 이상의 차이 값 사이의 변화를 계산하고;
    상기 두 개 이상의 차이 값 사이의 변화에 기초하여 하나 이상의 통계를 계산하고; 그리고
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 경고가 생성되어야 하는지 결정하도록 더 구성되는 것인, 컴퓨팅 장치.
  15. 하나 이상의 컴퓨팅 장치의 성능을 모니터링하는데 유효한 시스템으로서,
    제어 장치;
    네트워크;
    상기 네트워크를 통해 상기 제어 장치와 통신하도록 구성되는 제1 컴퓨팅 장치; 및
    상기 네트워크를 통해 상기 제어 장치와 상기 제1 컴퓨팅 장치와 통신하도록 구성되는 제2 컴퓨팅 장치를 포함하고,
    상기 제어 장치는 상기 제1 및 제2 컴퓨팅 장치로 명시된 카운팅 속도를 발송하는 데에 유효하고, 상기 명시된 카운팅 속도는 카운팅 프로세스가 수행될 특정 속도를 식별하며, 상기 명시된 카운팅 속도는 수 및 상기 수까지 카운팅하기 위한 시간 간격을 포함함,
    상기 제1 컴퓨팅 장치는,
    제1 명령어를 갖는 제1 메모리; 및
    상기 제1 메모리와 통신하도록 구성되는 제1 프로세서를 포함하고, 상기 제1 프로세서는,
    상기 명시된 카운팅 속도를 수신하고;
    카운팅 수의 제1 시퀀스를 생성하도록 상기 명시된 카운팅 속도로 상기 카운팅 프로세스를 수행하고;
    모니터링된 프로세스의 제1 출력을 식별하고;
    상기 제1 컴퓨팅 장치에서 상기 제1 출력이 식별되는 경우 상기 카운팅 수의 시퀀스에서 제1 카운팅 수를 식별하고;
    상기 제1 컴퓨팅 장치에서 상기 모니터링된 프로세스의 제2 출력을 식별하고;
    상기 제1 컴퓨팅 장치에서 상기 제2 출력이 식별되는 경우 상기 카운팅 수의 시퀀스에서 제2 카운팅 수를 식별하고; 그리고
    상기 제1 컴퓨팅 장치에서 상기 제1 및 제2 카운팅 수에 기초하여 경고가 생성되어야 하는지 결정하도록 구성되고,
    상기 제2 컴퓨팅 장치는,
    제2 명령어를 갖는 제2 메모리; 및
    상기 제2 메모리와 통신하도록 구성되는 제2 프로세서를 포함하고, 상기 제2 프로세서는,
    상기 명시된 카운팅 속도를 수신하고; 그리고
    카운팅 수의 제2 시퀀스를 생성하기 위해 상기 명시된 카운팅 속도로 상기 카운팅 프로세스를 수행하도록 구성되는 것인, 시스템.
  16. 제15항에 있어서,
    상기 제1 컴퓨팅 장치의 상기 제1 프로세서는,
    상기 카운팅 수의 제1 시퀀스 내의 각각의 제1 카운팅 수와 상기 카운팅 수의 제1 시퀀스 내의 적어도 제2 카운팅 수의 비교에 의해 적어도 하나의 차이 값을 계산하고;
    두 개 이상의 차이 값 사이의 변화를 계산하고;
    상기 두 개 이상의 차이 값의 변화에 기초하여 하나 이상의 통계를 계산하고; 그리고
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 상기 경고를 생성할 것인지 결정하도록 더 구성되는 것인, 시스템.
  17. 제15항에 있어서,
    상기 제1 컴퓨팅 장치의 상기 제1 프로세서는,
    상기 카운팅 수의 제1 시퀀스 내의 적어도 제1 카운팅 수와 상기 카운팅 수의 제2 시퀀스 내의 적어도 제2 카운팅 수의 비교에 의해 적어도 하나의 차이 값을 계산하고;
    두 개 이상의 차이 값 사이의 변화에 기초하여 하나 이상의 통계를 계산하고; 그리고
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 상기 경고를 생성할 것인지 결정하도록 더 구성되는 것인, 시스템.
  18. 제15항에 있어서,
    상기 제1 컴퓨팅 장치의 상기 제1 프로세서는,
    상기 카운팅 수의 제2 시퀀스 내의 적어도 제1 카운팅 수와 상기 카운팅 수의 제2 시퀀스 내의 적어도 제2 카운팅 수의 비교에 의해 적어도 하나의 차이 값을 계산하고;
    두 개 이상의 차이 값 사이의 변화에 기초하여 하나 이상의 통계를 계산하고; 그리고
    상기 통계 또는 차이 값 중 적어도 하나가 기준 값을 초과하는지에 기초하여 상기 경고를 생성할 것인지 결정하도록 더 구성되는 것인, 시스템.
  19. 제15항에 있어서,
    상기 제1 및 제2 출력은 통신 채널을 통해 수신된 패킷이고, 상기 통신 채널은 상기 제1 컴퓨팅 장치 및 다른 컴퓨팅 장치 사이에 있는 것인, 시스템.
  20. 제15항에 있어서,
    상기 제1 컴퓨팅 장치의 상기 제1 프로세서는,
    상기 제1 컴퓨팅 장치를 위한 루프 사이즈를 계산하고 - 상기 루프 사이즈는 상기 명시된 카운팅 속도 및 상기 제1 컴퓨팅 장치의 클록 속도에 기초하는 것임 -; 그리고
    카운팅 수를 증가시켜 상기 제1 컴퓨팅 장치가 상기 루프 사이즈와 동일한 사이즈의 루프를 통해 카운팅하는 각각의 시간에서 상기 카운팅 수의 제1 시퀀스를 생성하도록 구성되는 것인, 시스템.
  21. 제15항에 있어서,
    상기 제1 프로세서는 제1 주파수를 갖는 제1 클록 속도를 가지고; 그리고
    상기 제2 프로세서는 상기 제1 주파수와 다른 제2 주파수를 갖는 제2 클록 속도를 가지는 것인, 시스템.
KR1020157034682A 2013-05-06 2013-05-06 컴퓨팅 장치 성능 모니터 KR101737777B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/039641 WO2014182275A1 (en) 2013-05-06 2013-05-06 Computing device performance monitor

Publications (2)

Publication Number Publication Date
KR20160009611A KR20160009611A (ko) 2016-01-26
KR101737777B1 true KR101737777B1 (ko) 2017-05-29

Family

ID=51842116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157034682A KR101737777B1 (ko) 2013-05-06 2013-05-06 컴퓨팅 장치 성능 모니터

Country Status (4)

Country Link
US (1) US10079743B2 (ko)
KR (1) KR101737777B1 (ko)
TW (1) TWI556601B (ko)
WO (1) WO2014182275A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565046B2 (en) * 2016-09-01 2020-02-18 Intel Corporation Fault detection using data distribution characteristics
CN109800124B (zh) * 2018-12-15 2023-04-11 中国平安人寿保险股份有限公司 Cpu使用率监控方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047919A (en) * 1986-04-03 1991-09-10 Harris Corporation Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
WO1992011589A1 (en) * 1990-12-17 1992-07-09 Eastman Kodak Company Programmable divider up/down counter with hysteresis
US20060212263A1 (en) * 2004-11-18 2006-09-21 International Business Machines Corporation Derivative performance counter mechanism
US20110161524A1 (en) * 2008-09-02 2011-06-30 Chongning Na method for synchronizing clocks in a communication network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384635B1 (en) 1989-02-24 1997-08-13 AT&T Corp. Adaptive job scheduling for multiprocessing systems
US5781703A (en) * 1996-09-06 1998-07-14 Candle Distributed Solutions, Inc. Intelligent remote agent for computer performance monitoring
US6480966B1 (en) 1999-12-07 2002-11-12 International Business Machines Corporation Performance monitor synchronization in a multiprocessor system
US6937961B2 (en) * 2002-09-26 2005-08-30 Freescale Semiconductor, Inc. Performance monitor and method therefor
US7321942B2 (en) * 2002-11-12 2008-01-22 Arm Limited Performance counter for adding variable work increment value that is dependent upon clock frequency
EP1734666A1 (en) 2005-06-17 2006-12-20 Fujitsu Limited Resource management in multi-hop communication system
EP1734667B1 (en) 2005-06-17 2011-08-10 Fujitsu Limited Multi-hop communication system
US8051162B2 (en) * 2006-07-28 2011-11-01 Hewlett-Packard Development Company, L.P. Data assurance in server consolidation
US8873426B2 (en) 2008-07-10 2014-10-28 Nec Laboratories America, Inc. Wireless network connectivity in data centers
US8572581B2 (en) 2009-03-26 2013-10-29 Microsoft Corporation Measurement and reporting of performance event rates
TW201140313A (en) * 2010-05-05 2011-11-16 Univ Nat Taiwan Virtual performance monitoring apparatus and method for using to monitor system performance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047919A (en) * 1986-04-03 1991-09-10 Harris Corporation Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
WO1992011589A1 (en) * 1990-12-17 1992-07-09 Eastman Kodak Company Programmable divider up/down counter with hysteresis
US20060212263A1 (en) * 2004-11-18 2006-09-21 International Business Machines Corporation Derivative performance counter mechanism
US20110161524A1 (en) * 2008-09-02 2011-06-30 Chongning Na method for synchronizing clocks in a communication network

Also Published As

Publication number Publication date
US10079743B2 (en) 2018-09-18
KR20160009611A (ko) 2016-01-26
WO2014182275A1 (en) 2014-11-13
TWI556601B (zh) 2016-11-01
TW201505395A (zh) 2015-02-01
US20140330958A1 (en) 2014-11-06

Similar Documents

Publication Publication Date Title
US9870255B2 (en) Hardware acceleration wait time awareness in central processing units with multi-thread architectures
KR102312354B1 (ko) 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체
WO2021259013A1 (zh) 数据处理方法、装置、电子设备及计算机可读介质
US11611634B2 (en) Method and device for timeout monitoring
CN104572167B (zh) 启动和管理无人参与的应用程序的方法和计算机系统
US20210049281A1 (en) Reducing risk of smart contracts in a blockchain
WO2014003921A1 (en) Application-provided context for potential action prediction
CN112468406B (zh) 流量阈值的确定方法及装置
CN112379982B (zh) 任务处理方法、装置、电子设备及计算机可读存储介质
CN110766348B (zh) 一种组合拣货任务的方法和装置
KR101737777B1 (ko) 컴퓨팅 장치 성능 모니터
US9584882B1 (en) Communication generation using sparse indicators and sensor data
US20230163998A1 (en) Data processing method, device, electronic device and computer readable medium
US10268218B2 (en) Decreasing the internal temperature of a computer in response to corrosion
US8656368B1 (en) System, method, and computer program product for abstract software performance profiling
CN111385150A (zh) 用于获取信息的方法及装置
WO2023138923A1 (en) Failure prediction using informational logs and golden signals
CN114661562A (zh) 一种数据告警方法、装置、设备及介质
CN109688177B (zh) 一种数据同步方法及装置、设备、存储介质
CN113010571A (zh) 数据检测方法、装置、电子设备、存储介质和程序产品
US9971721B2 (en) Method and apparatus for controlling performance of electronic device
US10089262B2 (en) Reduced overhead safepoint mechanism using signals
CN109240878B (zh) 数据处理方法和装置
US20240020172A1 (en) Preventing jitter in high performance computing systems
CN117873818A (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