[go: up one dir, main page]

KR20060042100A - 컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및시스템 - Google Patents

컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및시스템 Download PDF

Info

Publication number
KR20060042100A
KR20060042100A KR1020050013743A KR20050013743A KR20060042100A KR 20060042100 A KR20060042100 A KR 20060042100A KR 1020050013743 A KR1020050013743 A KR 1020050013743A KR 20050013743 A KR20050013743 A KR 20050013743A KR 20060042100 A KR20060042100 A KR 20060042100A
Authority
KR
South Korea
Prior art keywords
value
suspect
sample
configuration
component
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020050013743A
Other languages
English (en)
Other versions
KR101114093B1 (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 KR20060042100A publication Critical patent/KR20060042100A/ko
Application granted granted Critical
Publication of KR101114093B1 publication Critical patent/KR101114093B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0748Error 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 remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)
  • Complex Calculations (AREA)

Abstract

바람직하지 않은 동작을 초래하는 오류 상태의 "손상" 컴퓨터 시스템의 컨피규레이션 파라미터를 다른 컴퓨터 시스템으로부터의 컨피규레이션 파라미터의 분석에 기초하여 식별하기 위한 방법 및 시스템을 제공한다. 일 실시예에서, 문제 해결 시스템은 바람직하지 않은 동작이 손상 컴퓨터 시스템에서 나타날 때 "손상" 어플리케이션에 의해 이용되는 "의심 대상" 컨피규레이션 파라미터의 "의심 대상" 값을 수집한다. 다음에 문제 해결 시스템은 의심 대상 값을 샘플 컴퓨터 시스템으로부터 검색된 의심 대상 컨피규레이션 파라미터의 샘플 값과 비교한다. 문제 해결 시스템은 이 비교를 이용하여 어플리케이션이 바람직하지 않은 동작을 나타내게 하는 오류 상태일 가능성이 있는 하나 이상의 의심 대상 컨피규레이션 파라미터를 식별한다.
문제 해결 시스템, 의심 대상 컴포넌트, 컨피규레이션 파라미터, 사전 확률, 사후 확률, 손상 컴퓨터 시스템, 샘플 컴퓨터 시스템

Description

컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및 시스템 {METHOD AND SYSTEM FOR TROUBLESHOOTING A MISCONFIGURATION OF A COMPUTER SYSTEM BASED ON CONFIGURATIONS OF OTHER COMPUTER SYSTEM}
도 1은 일 실시예에서 문제 해결 시스템의 컴포넌트를 설명하는 블럭도.
도 2는 일 실시예에서 추적자 기능의 처리를 설명하는 흐름도.
도 3은 다른 실시예에서 추적자 기능의 처리를 설명하는 흐름도.
도 4는 일 실시예에서 문제 해결 엔진의 처리를 설명하는 흐름도.
도 5는 일 실시예에서 정규화 컴포넌트의 처리를 설명하는 흐름도.
도 6은 일 실시예에서 샘플 세트 식별 컴포넌트의 처리를 설명하는 흐름도.
도 7은 일 실시예에서 의심 대상 랭크(rank) 컴포넌트의 처리를 설명하는 흐름도.
도 8은 문제 해결 엔진의 결과를 설명하는 디스플레이 페이지.
<도면의 주요 부분에 대한 간단한 설명>
110 : 문제 해결 시스템
111 : 문제 해결 엔진
112 : 정규화 컴포넌트
113 : 샘플 세트 식별 컴포넌트
114 : 의심 대상 랭크 컴포넌트
115 : 컨피규레이션 데이터베이스
120 : 컴퓨터 시스템
121 : 어플리케이션
122 : 컨피규레이션 데이터 저장소
123 : 추적자 프로그램
130 : 통신 링크
<관련 출원의 상호 참조>
본 출원은 본 발명에 참조로서 합체된, 2004년 2월 19일자로 "스트라이더: 프렌즈 문제 해결 네트워크"(STRIDER: FRIENDS TROUBLESHOOTING NETWORK)로 표제되어 출원된 미국 가출원 제60/545,799호 및 2004년 2월 24일자로 "컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및 시스템"으로 표제되어 출원된 미국 가출원 번호 제60/547,608호의 우선권을 주장한다.
본 발명은 일반적으로 그 값이 바람직하지 않은 동작을 초래하고 있는 컨피규레이션 파라미터를 식별하는 것에 관한 것이다.
퍼스널 컴퓨터의 사용자가 이용할 수 있는 여러 가지 특징을 갖는 어플리케이션(즉, 컴퓨터 소프트웨어)의 수는 계속 증가 추세에 있다. 사용자는 여러 컨피규레이션 파라미터를 명시하여 그들의 필요 조건에 맞추도록 이들 어플리케이션의 동작을 조절할 수가 있다. 예를 들어, 브라우저 어플리케이션은 이 브라우저 어플리케이션이 시작될 때마다 처음에 표시되는 웹 페이지(즉, "홈 페이지")의 URL을 제공하는 컨피규레이션 파라미터를 가질 수 있다. 브라우저 어플리케이션은 또한 특정 유형의 컨텐츠(예를 들어 "jpeg" 파일)를 처리하도록 불러지는 프로그램을 식별하고 어플리케이션이 여러 서버에 접속될 때 이용되는 패스워드를 지정하는 컨피규레이션 파라미터를 가질 수 있다. 컨피규레이션 파라미터의 값은 UNIX 리소스 파일과 같은 어플리케이션에 특정적인 컨피규레이션 파일 및 Window® 레지스트리 파일과 같은 중앙 레지스트리에 저장될 수 있다. 소정 어플리케이션에 대한 어플리케이션에 특정적인 컨피규레이션 파일은 그 어플리케이션에 특정적인 내부 포맷을 가질 수 있다. 중앙 레지스트리에서는, 많은 다른 어플리케이션이 동일한 컨피규레이션 파라미터를 공유할 수 있다. 어플리케이션은 이들 파일을 액세스하여 이들의 컨피규레이션 파라미터의 값을 검색한다.
특정한 컨피규레이션 파라미터가 부정확한 값을 갖게 되면, 어플리케이션은 바람직하지 않은 동작을 나타낼 수 있다. 예를 들어, 홈페이지 컨피규레이션 파라미터의 값이 정확하게 설정되어 있지 않으면, 브라우저 어플리케이션이 시작될 때, 홈페이지를 표시하지 않거나 잘못된 홈페이지를 표시하는 등 바람직하지 않은 동작 을 나타내게 된다. 특정한 텍스트 에디터를 불러내 그래픽 파일을 처리해야 하는 것을 컨피규레이션 파라미터가 부정확하게 지시하면, 이 때 바람직하지 않은 동작은 그래픽 컨텐츠의 부정확한 표시가 될 것이다.
어플리케이션의 복잡성과 이들의 다수의 컨피규레이션 파라미터로 인해, 어느 컨피규레이션 파라미터가 어플리케이션으로 하여금 바람직하지 않은 동작을 나타내게 하는 오류 상태인지를 문제 해결하는 데에 시간이 많이 소모될 수 있다. 대부분의 퍼스널 컴퓨터 사용자는 이 문제 해결을 행하는 데에 어려움을 갖는다. 결과적으로, 사용자는 문제 해결에 도움을 받기 위하여 기술 지원 요원에 전형적으로 의존한다. 이 문제 해결은 비용이 많이 들 뿐만 아니라 또한 사용자가 바람직하지 않은 동작을 나타내고 있는 어플리케이션을 효율적으로 이용할 수 없어 결과적으로 상당한 생산성의 손실을 겪게 될 수 있다.
통상, 기술 지원 요원은 컨피규레이션 문제를 해결하기 위해 임시적인 방법을 이용한다. 어떤 중앙 레지스트리는 200,000개 이상의 컨피규레이션 파라미터를 저장하고 어떤 컴퓨터 시스템은 100,000개 이상의 파일을 저장하기 때문에, 유사한 문제를 경험으로 얻은 지식을 이용하여 이 요원은 오류 상태의 컨피규레이션 파라미터를 좁히려고 한다. 이 임시적인 방법은 상당한 시간이 걸릴 수 있으며 그 값이 부정확한 컨피규레이션 파라미터의 조합인 경우 더 긴 시간이 걸릴 수도 있다. 어떤 경우에, 기술 지원 요원은 컨피규레이션 파라미터의 값을 그 어플리케이션의 "이상적인" 값과 비교할 수 있다. 어플리케이션에 의해 이용되는 컨피규레이션 파라미터를 식별하는 것은 매우 어려우며, 이 식별에는 어플리케이션에 대한 특정적 인 지식이 필요하다. 더구나, 다수의 컨피규레이션 파라미터가 이용 가능하고 각 컨피규레이션 파라미터에는 다수의 값이 가능하기 때문에, 많은 컨피규레이션 파라미터는 "이상적인" 값을 갖지 않는다. 따라서, 기술 지원 요원은 여전히 이상적인 값과는 다른 어플리케이션의 값을 고찰하지 않으면 안된다.
어플리케이션으로 하여금 바람직하지 않은 동작을 나타내게 하는 오류 상태에 있는 컨피규레이션 파라미터를 자동으로 식별하는 것이 요망되고 있다. 또한 이런 컨피규레이션 파라미터가 식별된 후에, 그 컨피규레이션 파라미터에 적당한 값을 식별하는 것이 요망되고 있다.
컴포넌트(예를 들어, 어플리케이션이나 하드웨어 장치)가 특정 동작을 나타내게 할 가능성이 있는 원인을 식별하기 위한 방법 및 시스템을 제공한다. 시스템은 특정 동작을 초래하고 있는 컨피규레이션 정보(예를 들어, 어플리케이션의 컨피규레이션 파라미터)를 수집하고 그 컴포넌트의 다른 출현(예를 들어, 동일한 어플리케이션을 호스트하는 다른 컴퓨터 시스템)시의 컨피규레이션 정보의 값을 검색하다. 수집된 값은 모든 컨피규레이션 정보 또는 특정 동작이 실제로 나타날 때 컴포넌트에 의해 실제로 액세스되는 컨피규레이션 정보의 서브세트에 대한 것일 수 있다. 다음에 시스템은 수집된 값과 검색된 값에 대해 통계적 분석을 행하여 어느 컨피규레이션 정보가 컴포넌트의 특정 동작을 초래하고 있을 가능성이 있는 지를 결정하다.
바람직하지 않은 동작을 초래하는 오류 상태의 "손상(sick)" 컴퓨터 시스템의 컨피규레이션 파라미터를 다른 컴퓨터 시스템으로부터의 컨피규레이션 파라미터의 분석에 기초하여 식별하기 위한 방법 및 시스템을 제공한다. 일 실시예에서, 문제 해결 시스템은 "손상" 컴퓨터 시스템에서 바람직하지 않은 동작이 나타날 때 손상 어플리케이션에 의해 이용되는 "의심 대상(suspect)" 컨피규레이션 파라미터의 "의심 대상" 값을 수집한다. 다음에 문제 해결 시스템은 이 의심 대상 값을 피어(peer) 컴퓨터 시스템일 수 있는 샘플 컴퓨터 시스템으로부터 검색된 의심 대상 컨피규레이션 파라미터의 샘플 값과 비교한다. 문제 해결 시스템은 이 비교를 이용하여 어플리케이션이 바람직하지 않은 동작을 나타내게 하는 이상 상태에 있을 가능성이 있는 하나 이상의 의심 대상 컨피규레이션 파라미터를 식별할 수 있게 된다. 예를 들어, 의심 대상 컨피규레이션 파라미터가, 다른 텍스트 에디터가 그래픽 파일을 처리하는 데에 이용되어야 한다는 것을 나타내는 값을 가지지만, 모든 샘플 컴퓨터 시스템에 대응하는 샘플 값이, 특정 화상 에디터가 이용되어야 하는 것을 나타내는 경우, 그 의심 대상 컨피규레이션 파라미터는 그래픽 파일이 부정확하게 표시되게 하는 오류 상태에 있을 수 있다. 이것은 그 외 모든 의심 대상 컨피규레이션 파라미터가 손상 컴퓨터 시스템과 샘플 컴퓨터 시스템에 대해 동일한 경우 특히 그렇다. 이 문제 해결 시스템은 오류 상태에 있을 가능성이 있는 의심 대상 컨피규레이션 파라미터를 식별할 때 여러 통계 분석 기술을 동일한 값에 적용할 수 있다. 예를 들어, 오류 상태에 있을 가능성을 나타내는 각 의심 대상 컨피규레이션 파라미터의 확률을 유도하기 위해 베이즈 법칙(Bayes' rule)을 적용한다. 일단 오류 상태일 가능성이 있는 의심 대상 컨피규레이션 파라미터가 식별되면, 문제 해결 시스템은 샘플 값의 분석에 기초하여 정확한 값을 식별할 수가 있다. 따라서, 문제 해결 시스템은 오류 상태의 컨피규레이션 파라미터에 대한 "이상적인" 값으로 "통상"의 샘플 값을 이용한다고 간주된다. 이런 식으로, 문제 해결 시스템은 오류 상태에 있을 가능성이 있는 컨피규레이션 파라미터를 신속하게 자동으로 식별하여 정확한 샘플 값을 제시할 수 있다.
일 실시예에서, 문제 해결 시스템은 바람직하지 않은 동작을 나타낼 때 어플리케이션의 실행을 모니터링하여 의심 대상 컨피규레이션 파라미터를 식별하게 된다. 추적자 프로그램은 어플리케이션의 컨피규레이션 파일이나 중앙 레지스트리에 저장될 수 있는 컨피규레이션 파라미터에의 어플리케이션 액세스를 추적하는 데에 이용될 수 있다. 추적자 프로그램은 어플리케이션에 의해 액세스된 컨피규레이션 파라미터 및 이들의 대응 값을 로그한다. 로그된 컨피규레이션 파라미터는 이들이 바람직하지 않은 동작을 나타낼 때 어플리케이션이 이용한 것이기 때문에 "의심 대상" 컨피규레이션 파라미터로 간주된다. 추적자 프로그램은 손상 컴퓨터 시스템 상에서 실행될 수 있으며 그 로그를 오류 상태인 의심 대상 컨피규레이션 파라미터의 식별을 위한 문제 해결 컴퓨터 시스템에 제공할 수 있다.
문제 해결 시스템은 손상 컴퓨터 시스템의 의심 대상 값이 수집되기 전이나 후에 샘플 컴퓨터 시스템으로부터 컨피규레이션 파라미터의 샘플 값을 검색할 수 있다. 샘플 컴퓨터 시스템은 이들이 몇가지 방법으로 관련된다는 뜻에서 "피어" 컴퓨터 시스템일 수 있다. 예를 들어, 피어 컴퓨터 시스템은 회사의 구내 정보 통 신망에서의 사용자 컴퓨터 시스템의 세트이거나 일반 특성(예를 들어, 세일즈 대표자가 이용함)을 공용하는 서브세트일 수 있다. 의심 대상 값이 수집되기 전에 샘플 값이 검색되면, 문제 해결 시스템은 컨피규레이션 데이터베이스에 샘플 값을 저장할 수 있다. 컨피규레이션 데이터베이스는 각 피어 컴퓨터 시스템에 대해, 그 컴퓨터 시스템으로부터 검색된 각 컨피규레이션 파라미터의 값을 포함하는 엔트리를 가질 수 있다. 부가하여, 문제 해결 시스템은 어느 피어 컴퓨터 시스템에 어느 어플리케이션이 설치되어 있는지에 대한 인덱스를 보유할 수 있다. 문제 해결 시스템은 인덱스를 이용하여 손상 어플리케이션이 설치되어 있는 피어 컴퓨터 시스템을 샘플 컴퓨터 시스템으로 신속하게 선택할 수 있다. 문제 해결 시스템은 그 분석시 의심 대상 컨피규레이션 파라미터의 샘플 값을 이용한다. 의심 대상 값이 수집되기 전에 샘플 값이 검색될 때에는, 문제 해결될 수 있는 많은 다른 어플리케이션에 대한 컨피규레이션 파라미터 값이 검색되어 저장되지 않으면 안된다. 부가하여, 이들 샘플 값은 샘플 컴퓨터 시스템의 현재 컨피규레이션을 반영하도록 주기적으로 검색되지 않으면 안된다.
의심 대상 값이 수집된 후에 샘플 값이 검색되면, 문제 해결 시스템은 추적자 프로그램에 의해 식별되어진 의심 대상 컨피규레이션 파라미터의 것으로 값의 검색을 제한할 수 있다. 이 검색은 분석시에 실행되기 때문에, 샘플 값은 의심 대상 컨피규레이션 파라미터의 현재 값을 나타낸다. 샘플 값의 검색을 가속화하기 위해서, 문제 해결 시스템은 어느 피어 컴퓨터 시스템에 손상 어플리케이션이 설치되어 있는지에 대한 인덱스를 보유할 수 있다. 문제 해결 시스템은 인덱스를 이용 하여 손상 어플리케이션이 설치되어 있는 피어 컴퓨터 시스템을 식별하여 그 컴퓨터 시스템으로부터만 의심 대상 컨피규레이션 파라미터의 값을 검색할 수 있다.
일 실시예에서, 문제 해결 시스템은 여러 컨피규레이션 파라미터를 미리 처리하여 이들을 정규형(canonical form) 또는 표준형(normal form)으로 배열한다. 몇몇 컨피규레이션 파라미터는 시스템에 특정적인(예를 들어, 모든 피어 컴퓨터 시스템에 대해 다름) 이름이나 값을 가질 수 있다. 이런 시스템에 특정적인 컨피규레이션 파라미터는 패스워드 파라미터, 사용자 이름/ID 파라미터, 기기 이름 파라미터, 장치 ID 파라미터 등을 포함할 수 있다. 문제 해결 시스템은 이들 파라미터 각각의 값을 사용자 이름 파라미터에 대한 "유저네임"과 같이, 정규형으로 설정할 수 있다. 다르게, 문제 해결 시스템은 그 분석을 실행할 때 시스템 특정 컨피규레이션 파라미터를 단순히 무시해도 된다. 다른 컨피규레이션 파라미터는 표준화되지 않으면 안되는 값을 가질 수 있다. 예를 들어, 그 값으로 URL을 갖는 컨피규레이션 파라미터는 대소문자 비구분(case-insensitive)으로 처리될 수 있으며, 이 경우 문제 해결 시스템은 값을 표준의 경우로 표준화하여 어느 값이 동일한지를 식별하는 것을 도와준다(즉, 동일한 리소스를 참조). 다른 예로, 단일 인용 부호('1')와 이중 인용 부호("1")로 나타낸 수자 값은 어플리케이션에 동일한 동작을 나타낼 수 있다. 이 경우, 문제 해결 시스템은 모든 이중 인용 부호를 단일 인용 부호로 대체하여 값을 표준화할 수 있다. 문제 해결 시스템은 의심 대상 값과 샘플 값 둘 다를 정규형 또는 표준형으로 배열할 수 있다.
당업자라면 많은 다른 수학적 분석 기술을 오류 상태의 컨피규레이션 파라미 터를 식별하는 데에 이용할 수 있다는 것이 이해될 것이다. 이들 기술은 가장 근접한 분석, 즉 베이즈 네트(Bayes net), 신경망(neural network), 판정 트리(decision tree), 서포트 벡터 머신(support vector machine) 등을 포함할 수 있다. 일 실시예에서, 문제 해결 시스템은 이하 더욱 상세히 설명하는 바와 같은 베이즈 법칙을 이용하여 각 의심 대상 컨피규레이션 파라미터가 오류 상태에 있을 확률을 연산한다.
도 1은 일 실시예의 문제 해결 시스템의 컴포넌트를 설명하는 블럭도이다. 문제 해결 시스템(110)은 통신 링크(130)를 통해 컴퓨터 시스템(120)에 접속된다. 문제 해결 시스템은 문제 해결 엔진(111), 정규화(canonicalize) 컴포넌트(112), 샘플 세트 식별 컴포넌트(113), 및 의심 대상 랭크 컴포넌트(114)를 포함한다. 문제 해결 시스템은 또한 컨피규레이션 데이터베이스(115)를 포함한다. 각 피어 컴퓨터 시스템은 하나 이상의 어플리케이션(121), 컨피규레이션 데이터 저장소(122), 및 추적자 프로그램(123)을 포함한다. 동작시, 손상 어플리케이션이 식별되면, 추적자 프로그램이 그 컴퓨터 시스템에서 실행되어 어플리케이션이 컨피규레이션 데이터 저장소로부터 액세스한 의심 대상 컨피규레이션 파라미터를 로그한다. 다음에 추적자 프로그램은 그 로그를 통신 링크(130)를 거쳐 문제 해결 시스템에 제공한다. 문제 해결 시스템이 의심 대상 컨피규레이션 파라미터와 이들 값을 수신하게 되면, 문제 해결 엔진을 불러낸다. 문제 해결 엔진은 정규화 컴포넌트를 불러내 시스템에 특정적인 컨피규레이션 파라미터의 값을 정규형으로 그리고 다른 컨피규레이션 파라미터의 값을 표준형으로 배열한다. 다음에 문제 해결 엔진은 샘플 세트 식별 컴포넌트를 불러낸다. 샘플 세트 식별 컴포넌트는 그 의심 대상 컨피규레이션 파라미터 값이 오류 상태인 의심 대상 컨피규레이션 파라미터를 식별하는 데에 이용되는 피어 컴퓨터 시스템을 식별한다. 샘플 세트 식별 컴포넌트는 인덱스를 이용하여 어느 피어 컴퓨터 시스템에 손상 어플리케이션이 설치되고 이에 따라 샘플 컴퓨터 시스템으로 적합한지를 식별할 수 있다. 상술한 바와 같이, 샘플 세트 식별 컴포넌트는 컨피규레이션 데이터베이스로부터 샘플 값을 검색하거나 몇 샘플 컴퓨터 시스템으로부터 샘플 값을 동적으로 검색할 수 있다. 샘플 값이 검색된 후에, 문제 해결 엔진은 의심 대상 랭크 컴포넌트를 불러낸다. 의심 대상 랭크 컴포넌트는 베이즈 법칙 분석을 실행하여 각 의심 대상 컨피규레이션 파라미터가 오류 상태일 확률을 연산하고 다음에 이 확률에 기초하여 의심 대상 리스트를 작성한다. 상위 랭크의 컨피규레이션 파라미터가 오류 상태일 가능성이 가장 높은 것이다.
문제 해결 시스템이 실행되고 있는 컴퓨팅 장치는 중앙 처리 유닛, 메모리, 입력 장치(예를 들어, 키보드 및 포인팅 장치), 출력 장치(예를 들어, 디스플레이 장치), 및 저장 장치(예를 들어, 디스크 드라이브)를 포함한다. 메모리 및 저장 장치는 문제 해결 시스템을 실행하는 명령을 포함할 수 있는 컴퓨터 판독 가능 매체이다. 부가하여, 데이터 구조 및 메시지 구조는 통신 링크 상의 신호와 같이, 데이터 전송 매체를 통해 저장되거나 전송될 수 있다. 인터넷, 근거리 통신망, 광역 통신망, 또는 2지점간 전화접속(point-to-point dial-up connection)과 같은 여러 통신 링크를 이용할 수 있다.
도 1은 문제 해결 시스템이 실행될 수 있는 적합한 운영 환경의 예를 도시한다. 운영 환경은 적합한 운영 환경의 일 예일 뿐으로 문제 해결 시스템의 사용이나 기능의 범위에 대해 제한하고자 하는 것이 아니다. 이용에 적합한 다른 공지의 컴퓨팅 시스템, 환경 및 컨피규레이션은 퍼스널 컴퓨터, 서버 컴퓨터, 휴대용 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서계 시스템, 프로그래머블 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치 등의 임의의 것을 포함하는 분산 연산 환경 등을 포함한다.
문제 해결 시스템은 하나 이상의 컴퓨터나 그 외 장치로 실행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반 컨텍스트로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 실행하거나 특정 앱스트랙트 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 통상, 프로그램 모듈의 기능은 여러 실시예에서 원하는 바와 같이 조합되거나 분산될 수 있다. 용어 "어플리케이션"은 드라이버, 커널 모드 코드, 운영 시스템, 시스템 유틸리티, 웹 서버, 데이터베이스 서버 등과 같은 소프트웨어를 실행하는 어느 유형이나 말하는 것이다. 문제 해결 시스템의 기능은 각 피어 컴퓨터 시스템에 의해서나 중앙 문제 해결 컴퓨터 시스템에 의해서 실행될 수 있거나, 피어 컴퓨터 시스템과 중앙 문제 해결 시스템 사이에 분산될 수 있다.
이름 의심 대상 샘플1 샘플2 샘플3 샘플4 샘플5
.jpg/contentType image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg
.htc/contentType null text/x-comp text/x-comp text/x-comp text/x-comp text/x-comp
url-visited yahoo hotmail Nytimes SFGate google friendster
표 1은 문제 해결 경우의 예를 나타낸다. 표는 여러 의심 대상 컨피규레이션 파라미터에 대한 의심 대상 값과 샘플 값을 나타낸다. 추적자 프로그램은 어플리케이션이 바람직하지 않은 동작을 나타낼 때 의심 대상 컨피규레이션 파라미터 및 그들의 의심 대상 값을 로그한다. 이 예에서, 추적자 프로그램은 세 개의 컨피규레이션 파라미터(예를 들어, ".jpeg/contentType")가 의심쩍은 것으로 식별한다. 문제 해결 시스템은 각 의심 대상 컨피규레이션 파라미터에 대해 5개의 샘플 컴퓨터 시스템으로부터 샘플 값을 검색한다. 샘플 값의 분석은 표에서 가장 오류 상태일 가능성이 있는 컨피규레이션 파라미터가 두번째 컨피규레이션 파라미터(즉, ".htc/contentType")라는 것을 나타낸다. 이 컨피규레이션 파라미터의 모든 샘플값은 동일하지만(즉, "text/x-comp") 의심 대상값은 다르다("널(null)"). 따라서, 제2 컨피규레이션 파라미터의 의심 대상 값은 부정확하다고 가정할 수 있다. 제1 컨피규레이션 파라미터의 의심 대상 값과 모든 샘플 값은 동일하기 때문에, 의심 대상 값은 대개는 정확하다. 더구나, 제3 컨피규레이션 파라미터의 의심 대상 값과 모든 샘플 값은 완전히 다르기 때문에, 샘플 값으로부터 의심 대상 값의 정확도를 얻기가 어려워진다. 제2 컨피규레이션 파라미터가 오류 상태라고 식별한 것에 부가하여, 정확한 값은 공통의 샘플 값(즉, "text/x-comp')이라고 추론될 수 있다.
표 1은 두 개의 다른 유형의 컨피규레이션 파라미터: 컨피규레이션 상태와 동작 상태를 나타낸다. 제1 및 제2 파라미터는 컨피규레이션 상태이고, 제3 파라미터가 동작 상태이다. 동작 상태 파라미터는 통상 어플리케이션 자체에 의해 설정되는 값을 가지며 타임스탬프, 사용 카운트, 캐시, 난수 생성기(random number generator)의 시드(seed), 윈도우 위치, 가장 최근에 이용되는 관련 정보 등을 포함한다. 컨피규레이션 상태 파라미터는 일반적으로 어플리케이션의 동작을 제어하도록 사용자에 의해 세트될 수 있고, 이에 따라 동작 상태 파라미터보다 바람직하지 않은 어플리케이션의 동작을 초래하는 오류 상태에 있게 될 가능성이 더 많다.
N 샘플 컴퓨터 시스템의 수
t 의심 대상 컨피규레이션 파라미터의 수
i 의심 대상 컨피규레이션 파라미터의 인덱스(1에서 t까지)
V 의심 대상 컨피규레이션 파라미터의 값
c 의심 대상 컨피규레이션 파라미터의 가능한 값의 수
m 의심 대상 값과 일치하는 샘플값의 수
P(S) 의심 대상 컨피규레이션 파라미터가 오류 상태일 사전 확률(즉, 손상에 "S")
P(H) 의심 대상 컨피규레이션 파라미터가 오류 상태가 아닐 사전 확률(즉, 양호에 "H")
P(S/V) 오류 상태인 의심 대상 컨피규레이션 파라미터가 값 V를 가질 확률
P(V/S) 값 V를 갖는 의심 대상 컨피규레이션 파라미터가 오류 상태일 확률
P(V/H) 값 V를 갖는 의심 대상 컨피규레이션 파라미터가 오류 상태가 아닐 확률
일 실시예에서, 문제 해결 시스템은 각 의심 대상 컨피규레이션 파라미터가 오류 상태일 확률을 연산할 때 베이즈 법칙을 이용한다. 베이즈 법칙은 다음과 같이 기재될 수 있다:
Figure 112005008786839-PAT00001
표 2는 이 수학식에 사용된 용어의 설명을 포함한다. 이 수학식을 간단히 하기 위 해, 의심 대상 컨피규레이션 파라미터의 인덱스 i를 이들 수학식에서 생략하였다(예를 들어, Pi(S/Vi)는 P(S/V)로 나타냄). 오류 상태인 의심 대상 컨피규레이션 파라미터가 하나만 있고 모든 의심 대상 컨피규레이션 파라미터가 오류 상태일 사전 확률(prior probability)이 동일한 경우,
Figure 112005008786839-PAT00002
Figure 112005008786839-PAT00003
의심 대상 컨피규레이션 파라미터의 모든 가능한 값이 오류 상태일 사전 확률이 동일한 경우,
Figure 112005008786839-PAT00004
이 된다. 일 예로, 컨피규레이션 파라미터가 적색, 녹색 또는 청색의 값을 가진다면, 이것은 세 개의 고유한 샘플 값을 갖는 것이다. 문제 해결 시스템은 의심 대상 컨피규레이션 파라미터에 대해 고유한 샘플 값(발생하는 경우 널 값을 포함함)의 수를 카운팅하고 여기에 샘플 세트에서 발생하지 않는 모든 가능한 값을 고려하도록 1을 더함으로써 기수(cardinality)를 연산할 수 있다. 이 예에서, 기수는 4(즉, 3+1)가 된다. 따라서, 수학식 4의 사전 확률은 1/4이다.
의심 대상 컨피규레이션 파라미터의 의심 대상 값이 오류 상태가 아닐 확률 은 샘플 값으로부터 유도될 수 있다. 특히, 이 확률은 의심 대상 값이 샘플 값에서 발생한 횟수를 샘플 값의 수로 나눈 것으로 가정될 수 있다. 이 확률의 최대 가능성은 다음 수학식으로 주어진다:
Figure 112005008786839-PAT00005
수학식 2 내지 수학식 5를 수학식 1로 대체하게 되면 다음의 수학식이 된다:
Figure 112005008786839-PAT00006
그러나, 최대 가능성은 샘플 컴퓨터 시스템의 수가 제한될 때 바람직하지 않은 특성을 가질 수 있다. 예를 들어, 샘플 값에서 V에 일치하는 값이 없을 때, m=0 및 P(S/V)=1이 되는데, 이는 부적당한 완전한 확실성을 표현하는 것이다. 예를 들어, 표 1에서, 최대 가능성은 제2 및 제3 컨피규레이션 파라미터 둘 다가 완전한 동일한 신뢰성으로 둘 다 오류 상태인 것을 나타낸다. 확률에 대한 베이지안 추정(Bayesian estimation)은 샘플의 수가 적을 때 더 적당하다. 베이지안 추정은 샘플 값이 조사되기 전에 P(V/H)의 사전 추정값을 이용하고 샘플 값이 조사된 후에 P(V/H)의 사후(posterior) 추정값을 만든다. 따라서, P(V/H)는 절대 0이거나 1이 아니다.
P(V/H)가 모든 가능한 값 V에 대해 다항 분포라고 가정하면, 다항은 파라미터 pj를 갖는다. 각 pj는 값 Vj가 발생할 확률이며
∑Pj=1
이 된다. 이 확률은 디리슈레(Dirichlet) 분포에서 나타낼 수 있는 사전 및 사후 값 pj를 갖는다. 디리슈레 분포는 다항에 결합된다. 즉, 사전 디리슈레를 갖는 다항으로부터의 관찰을 조합하여 사후 디리슈레를 만든다.
디리슈레 분포는 카운트 벡터 nj로 특성화되고, 이 벡터는 각 값 Vj에 가능한 카운트의 수에 대응한다. P(V/H)의 베이지안 추정을 실행하기 위해, 여러 값 Vj의 가능성에 대한 사전 확신을 반영하는 사전 세트의 카운트 n'j를 이용한다. 샘플 값으로부터의 각 고유 값에 대한 카운트 mj가 수집될 수 있으며 사후 디리슈레의 평균값은 다음 수학식의 사후 추정값을 만든다.
Figure 112005008786839-PAT00007
이 확률은 오직 의심 대상 값에만 요구되기 때문에, mj는 m, 즉 의심 대상 엔트리와 일치하는 샘플의 수로 대체될 수 있다. 더구나. 모든 값 Vj가 동일한 선험 확률(priori probability)를 가진다고 가정하면, n'j는 값 n으로 대체될 수 있으며 합 ∑jn'j는 cn으로 대체될 수 있다. 이들 가정에 의하면 결과적으로 다음의 수 학식이 나온다.
Figure 112005008786839-PAT00008
파라미터 n은 사전 확률을 압도하여 추정된 P(V/H) 확률이 pj가 1/c일 추정 확률에서 멀리 떨어지게 하는 데에 필요한 샘플 값의 수에 비례한다. 파라미터 n은 사전 값의 강도를 나타낸다. 다시 말해, n이 클수록 샘플 값에 두는 신뢰도는 작다. n이 클수록 사전 값은 더 강해지고, 이것은 사후 값을 변경하는 데에 더 많은 증거(즉, 샘플)를 필요로 한다. n=1이 균일한 사전 값과 동일한 사전 값으로 선택되면, 모든 다항 값 pj은 동일하게 선험 값이 되게 된다. 이것은 "무정보성(uninformative)" 사전 값으로 알려져 있다.
도 2 및 도 3은 일 실시예에서 컨피규레이션 파라미터 검색 기능 및 추적자 기능의 처리를 설명하는 흐름도이다. 도 2는 손상 어플리케이션이 불러내어 컨피규레이션 데이터 저장소로부터의 컨피규레이션 파라미터의 값을 검색하는 기능의 처리를 설명하는 흐름도이다. 이 기능에는 검색될 컨피규레이션 파라미터의 식별자가 전달된다. 블럭(201)에서, 이 기능은 식별된 컨피규레이션 파라미터의 엔트리를 컨피규레이션 데이터 저장소에 위치 결정한다. 판정 블럭(202)에서, 엔트리가 위치 결정되면, 이 기능은 블럭(203)으로 이어지고, 그렇지 않으면 블럭(204)으로 이어진다. 블럭(203)에서, 이 기능은 식별된 컨피규레이션 파라미터의 값을 검색한다. 블럭(204)에서, 이 기능은 추적자 기능을 불러내 컨피규레이션 파라미터 와 검색된 값의 식별을 전달한다. 컨피규레이션 파라미터가 위치 결정되지 않으면, 이 값은 널이 된다. 다음에 이 기능은 손상 어플리케이션에 검색 값을 돌려준다. 이 기능은 컨피규레이션 데이터 저장소의 어플리케이션 프로그래밍 인터페이스의 일부로 구현될 수 있다.
도 3은 일 실시예에서 추적자 기능의 처리를 설명하는 흐름도이다. 이 기능에는 컨피규레이션 파라미터의 식별자와 그 값이 전달된다. 이 기능은 전달된 식별자와 값을 로그한다. 블럭(301)에서, 이 기능은 검색되는 컨피규레이션 파라미터의 수를 인크리멘트한다. 일 실시예에서, 이 기능은 각 컨피규레이션 파라미터의 하나의 값만을 로그할 수 있다. 손상 어플리케이션이 동일한 컨피규레이션 파라미터를 다수회 액세스하게 되면, 이 기능은 마지막 컨피규레이션 파라미터와 값의 쌍을 로그한다. 이런 경우, 이 기능은 컨피규레이션 파라미터에의 이중 액세스를 체크하여 이중 액세스가 발견되지 않을 때에만 컨피규레이션 파라미터의 수를 인크리멘트할 필요가 있다. 블럭(302)에서, 이 기능은 의심 대상 컨피규레이션 파라미터 식별자를 저장한다. 블럭(303)에서, 이 기능은 의심 대상 컨피규레이션 파라미터 값을 저장한 다음에 돌아간다.
도 4 내지 도 7은 일 실시예의 문제 해결 시스템의 처리를 설명하는 흐름도이다. 도 4는 일 실시예의 문제 해결 엔진의 처리를 설명하는 흐름도이다. 문제 해결 엔진은 손상 어플리케이션에 호스팅하는 손상 컴퓨터 시스템으로부터 의심 대상 컨피규레이션 파라미터의 값을 수신한다. 블럭(401)에서, 엔진은 정규화 컴포넌트를 불러내어 의심 대상 컨피규레이션 파라미터 식별자 및 이들의 값을 전달한 다. 블럭(402)에서, 엔진은 샘플 세트 식별 컴포넌트를 불러내어 손상 어플리케이션의 식별자와 의심 대상 컨피규레이션 파라미터 식별자를 전달하고 그 대신에 샘플 값을 수신한다. 블럭(403)에서, 엔진은 의심 대상 랭크 컴포넌트를 불러내어 의심 대상 값과 샘플 값을 전달하고 각 의심 대상 값이 오류 상태일 확률에 기초하여 의심 대상 값의 랭킹을 수신한다. 의심 대상 랭크 컴포넌트는 수학식 9에 기초하여 확률을 연산한다. 다음에 엔진은 종료된다.
도 5는 일 실시예의 정규화 컴포넌트의 처리를 설명하는 흐름도이다. 이 컴포넌트에는 의심 대상 컨피규레이션 파라미터 식별자와 그 값이 전달된다. 컴포넌트는 시스템에 특정적인 컨피규레이션 파라미터의 의심 대상 값을 정규화한다. 컴포넌트는 또한 의심 대상 값을 표준화하는 데에 적합할 수 있다. 블럭(501)에서, 컴포넌트는 인덱스를 의심 대상 컨피규레이션 파라미터의 어레이로 초기화한다. 블럭(502-507)에서, 컴포넌트는 각 의심 대상 컨피규레이션 파라미터를 처리하는 과정을 반복한다. 블럭(502)에서, 컴포넌트는 다음 의심 대상 컨피규레이션 파라미터를 선택한다. 블럭(503)에서, 모든 의심 대상 컨피규레이션 파라미터가 이미 선택되면, 컴포넌트는 돌아가고, 그렇지 않으면 블럭(504)으로 이어진다. 블럭(504)에서, 컴포넌트는 다음 시스템 특정 컨피규레이션 파라미터를 선택한다. 판정 블럭(505)에서, 시스템에 특정적인 컨피규레이션 파라미터가 모두 이미 선택된 경우에, 컴포넌트는 블럭(502)으로 돌아가 다음 시스템 특정 컨피규레이션 파라미터를 선택하고, 그렇지 않으면, 블럭(506)으로 이어진다. 블럭(506)에서, 선택된 시스템에 특정적인 컨피규레이션 파라미터가 선택된 의심 대상 컨피규레이션 파라 미터와 동일한 경우, 컴포넌트는 블럭(507)으로 이어지고, 그렇지 않으면 컴포넌트는 블럭(504)으로 돌아가 다음 시스템에 특정적인 컨피규레이션 파라미터를 선택한다. 블럭(507)에서, 컴포넌트는 선택된 의심 대상 컨피규레이션 파라미터의 값을 선택된 시스템에 특정적인 컨피규레이션 파라미터의 정규화 값으로 세트한 다음에 블럭(502)으로 돌아가 다음 의심 대상 컨피규레이션 파라미터를 선택하게 한다.
도 6은 일 실시예의 샘플 세트 식별 컴포넌트의 처리를 설명하는 흐름도이다. 이 컴포넌트에는 손상 어플리케이션의 지시와 의심 대상 컨피규레이션 파라미터가 전달된다. 이 실시예에서, 컴포넌트는 피어 컴퓨터 시스템으로부터 이미 검색된 샘플 값을 포함하는 샘플 컨피규레이션 데이터베이스를 액세스한다. 검색 프로세스의 일부로, 문제 해결 시스템은 예를 들어, 도 5의 정규화 컴포넌트를 이용하여, 샘플 값을 정규형 또는 표준형으로 배열할 수 있다. 블럭(601)에서, 컴포넌트는 샘플 컴퓨터 시스템의 인덱스를 초기화한다. 블럭(602-607)에서, 컴포넌트는 지정된 수가 식별될 때까지 샘플 컴퓨터 시스템의 식별을 반복한다. 블럭(602)에서, 컴포넌트는 샘플 컨피규레이션 데이터베이스로부터 다음 피어 컴퓨터 시스템을 선택한다. 판정 블럭(603)에서, 모든 피어 컴퓨터 시스템이 이미 선택되면, 컴포넌트는 충분한 샘플 컴퓨터 시스템이 발견되지 않았다는 지시를 돌려주고, 그렇지 않으면 컴포넌트는 블럭(604)으로 이어진다. 판정 블럭(604)에서, 손상 어플리케이션이 선택된 피어 컴퓨터 시스템에 설치되어 있는 경우에, 이것이 샘플 컴퓨터 시스템이 되고 컴포넌트는 블럭(605)으로 이어지고, 그렇지 않으면 컴포넌트는 블럭(602)으로 돌아가 다음 피어 컴퓨터 시스템을 선택한다. 블럭(605)에서, 컴포넌 트는 식별된 샘플 컴퓨터 시스템의 인덱스를 인크리멘트한다. 블럭(606)에서, 컴포넌트는 선택된 피어 컴퓨터 시스템의 각 의심 대상 컨피규레이션 파라미터의 샘플 값을 검색한다. 판정 블럭(607)에서, 충분한 샘플 컴퓨터 시스템이 식별되면, 컴포넌트는 샘플 값을 돌려주고, 그렇지 않으면 컴포넌트는 블럭(602)으로 돌아가 다음 피어 컴퓨터 시스템을 선택한다.
도 7은 일 실시예의 의심 대상 랭크 컴포넌트의 처리를 설명하는 흐름도이다. 이 컴포넌트에는 의심 대상 값과 샘플 값이 전달된다. 컴포넌트는 각 의심 대상 컨피규레이션 파라미터가 오류 상태일 확률을 돌려주고 최고의 확률을 갖는 컨피규레이션 파라미터에 가능한 정확한 값의 지시를 돌려줄 수 있다. 블럭(701-708)에서, 컴포넌트는 각 의심 대상 컨피규레이션 파라미터를 선택하여 오류 상태에 있을 확률을 연산하는 것을 반복한다. 블럭(701)에서, 컴포넌트는 다음 의심 대상 컨피규레이션 파라미터 i를 선택한다. 블럭(702)에서, 모든 의심 대상 컨피규레이션 파라미터가 이미 선택되면, 컴포넌트는 돌아가고, 그렇지 않으면 컴포넌트는 블럭(703)으로 이어진다. 블럭(703)에서, 컴포넌트는 선택된 의심 대상 컨피규레이션 파라미터의 샘플에서, 다른 값의 수 ci를 카운트한다. 문제 해결 시스템은 컨피규레이션 파라미터가 피어 컴퓨터 시스템으로부터 검색될 때 이 카운트를 연산하여 저장할 수 있다. 블럭(704)에서, 컴포넌트는 의심 대상 컨피규레이션 파라미터의 수 t를 세트하는데, 이것은 손상 컴퓨터 시스템으로부터 수신될 수 있다. 블럭(705)에서, 컴포넌트는 샘플의 수 N를 세트하는데, 이것은 샘플 세트 식별 컴 포넌트로부터 얻어질 수 있다. 블럭(706)에서, 컴포넌트는 의심 대상 값 mij와 일치하는 선택된 의심 대상 컨피규레이션 파라미터의 샘플 값의 수를 세트한다. 문제 해결 시스템은 또한 피어 컴퓨터 시스템으로부터 검색된 각 컨피규레이션 파라미터의 각 샘플 값의 출현 회수를 연산하여 저장한다. 블럭(707)에서, 컴포넌트는 시스템이 샘플에서 갖는 신뢰도 n의 지시자를 세트한다. 블럭(708)에서, 컴포넌트는 수학식 9를 이용하여 의심 대상 컨피규레이션 파라미터 P(S/V)의 확률을 연산하고 블럭(701)으로 돌아가 다음 의심 대상 컨피규레이션 파라미터를 선택한다.
도 8은 문제 해결 엔진의 결과를 설명하는 디스플레이 페이지이다. 이 디스플레이 페이지는 손상 컴퓨터 시스템에 의해 표시되어 사용자가 오류 상태인 컨피규레이션 파라미터를 보정하는 것을 도와준다. 디스플레이 페이지는 각 의심 대상 컨피규레이션 파라미터의 열을 갖는 표(801)를 포함한다. 각 열은 의심 대상 컨피규레이션 파라미터의 식별, 의심 대상 컨피규레이션 파라미터가 오류 상태일 확률, 의심 대상 컨피규레이션 파라미터의 의심 대상 값, 및 정확한 샘플 값을 포함한다. 이들 샘플 값은 샘플 값 중에서 가장 일반적인 것이다. 디스플레이 페이지는 또한 의심 대상 컨피규레이션 파라미터의 값을 갱신하기 위한 버튼(802)을 포함한다. 사용자가 하나 이상의 의심 대상 컨피규레이션 파라미터에 대해 샘플 값을 선택한 다음에 갱신 버튼을 선택하면, 시스템은 손상 컴퓨터 시스템 상의 컨피규레이션 데이터 저장소 내의 의심 대상 컨피규레이션 파라미터의 값을 선택된 값으로 변경한다. 사용자는 다음에 어플리케이션을 실행하여 여전히 바람직하지 않은 동작을 나 타내고 있는지를 결정할 수 있다. 그렇다면, 사용자는 리세트 버튼(803)을 선택하여 의심 대상 컨피규레이션 파라미터를 이들의 의심 대상 값으로 리세트할 수 있다. 사용자는 이 어플리케이션이 더 이상 바람직하지 않은 동작을 나타내지 않을 때까지 의심 대상 컨피규레이션 파라미터와 이들의 값의 여러 조합에 대해 이 과정을 반복할 수 있다.
당업자라면 상기 문제 해결 시스템의 특정의 실시예는 설명의 목적으로 기재되어 있긴 하지만, 본 발명의 정신 및 영역에서 벗어나지 않고 여러 가지 변형이 행해질 수 있다는 것이 이해될 것이다. 문제 해결 시스템은 또한 하드웨어 컨피규레이션 문제를 식별하는 데에도 이용될 수 있다. 예를 들어, 피어 컴퓨터 시스템이 컨피규레이션 파라미터를 갖는 특수 목적의 신호 처리 하드웨어를 포함하면, 원하는 동작을 나타내고 있는 컴퓨터 시스템의 이들 컨피규레이션 파라미터의 의심 대상 값은 상기한 바와 같이 샘플 값과 비교될 수 있다. 더욱 일반적으로, 문제 해결 시스템은 텔레비젼 셋톱 박스용 세팅, 셀 폰, 자동차 등과 같이, 다수의 컨피규레이션 파라미터를 갖는 환경에서 이용될 수 있다. 문제 해결 시스템의 기술은 원하거나 원하지 않거나, 특정 동작을 초래하고 있을 수 있는 정보를 일반적으로 식별하는 데에 이용될 수 있다. 예를 들어, 어플리케이션의 실행은 이것이 실행하고 있는 컴퓨터 시스템의 전체 컨피규레이션에 의해 역효과를 받을 수 있다. 예로서, 바람직하지 않은 동작은 손실된 운영 시스템 컴포넌트, 구식 드라이버, 불충분한 메인 메모리, 사용자와의 인터랙션, URL 파라미터, API 파라미터 등으로 초래될 수 있다. 문제 해결 시스템의 기술은 동작의 원인을 식별하기 위해 샘플 시스템으 로부터 수집된 정보를 분석하는 데에 이용될 수 있다. 이 기술은 또한 바람직한 동작의 원인을 식별하는 데에도 이용될 수 있다. 예를 들어, 복합 시스템은 그 동작에 영향을 줄 수 있는 많은 다른 가능한 값을 갖는 수백개의 "파라미터"를 가질 수 있다. 이 경우 파라미터 값의 가능한 조합 각각의 동작을 예측하기란 비현실적이다. 그러나, 바람직한 동작이 일단 식별되면, 이 기술은 바람직한 동작을 초래할 가능성이 있는 파라미터와 그 값을 그 동작을 나타내고 있지 않은 샘플 세트(또는 그 동작을 보이고 있는 하나까지도)와 비교함으로써 이를 식별하는 데에 이용될 수가 있다. 기재된 기술은 2004년 2월 19일자 출원된 "프렌즈 문제 해결 네트워크: 개인 보유 자동 문제 해결에 관함"으로 표제된 미국 가출원 제60/545,799호(대리인 관리 번호 41826.8015 US), 및 2004년 2월 24일자 출원된 "신뢰 관계에 기초하여 컴퓨터 시스템으로부터의 정보를 수집하기 위한 방법 및 시스템"으로 표제된 미국 가출원 제60/547,607호(대리인 관리 번호 41826.8015 US1)에 관련되며, 이들은 본 발명에 참조로서 합체되어 있다. 이들 출원은 샘플 컨피규레이션 파라미터 값을 검색하는 데에 이용될 수 있는 기술을 개시하고 있다. 따라서, 본 발명은 첨부한 특허청구범위를 제외한 다른 것에 의해서는 제한 받지 않는다.
본 발명에 의하면 어플리케이션으로 하여금 바람직하지 않은 동작을 나타내게 하는 오류 상태에 있는 컨피규레이션 파라미터를 자동으로 식별할 수 있다. 또한 이런 컨피규레이션 파라미터가 식별된 후에, 그 컨피규레이션 파라미터에 적당한 값을 식별할 수 있다.

Claims (39)

  1. 컴포넌트가 바람직하지 않은 동작을 나타내게 할 가능성이 있는 컨피규레이션 파라미터를 식별하기 위한 컴퓨터 시스템의 방법으로서,
    상기 컴포넌트의 의심 대상 컨피규레이션 파라미터의 의심 대상 값을 수집하는 단계와,
    상기 의심 대상 컨피규레이션 파라미터의 샘플 값을 샘플 컴포넌트에 제공하는 단계와,
    의심 대상 값이 상기 컴포넌트가 상기 바람직하지 않은 동작을 나타내게 할 가능성이 있는 의심 대상 컨피규레이션 파라미터를 식별하도록 상기 의심 대상 값을 상기 샘플 값과 비교하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 비교하는 단계는 각 의심 대상 컨피규레이션 파라미터의 확률을 계산하는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 의심 대상 값은 상기 바람직하지 않은 동작이 나타나는 상기 컴포넌트의 실행 동안 수집되는 방법.
  4. 제1항에 있어서, 상기 값을 제공하는 단계는 각 샘플 컴포넌트로부터의 상기 의심 대상 컨피규레이션 파라미터의 상기 샘플 값을 검색하는 단계를 포함하는 방법.
  5. 제4항에 있어서, 상기 샘플 값을 검색하는 단계는 상기 의심 대상 값을 수집단계 전에 실행되고 상기 샘플 값은 상기 의심 대상 컨피규레이션 파라미터를 포함하는 컨피규레이션 파라미터에 대해 검색되는 방법.
  6. 제4항에 있어서, 상기 샘플 값을 검색하는 단계는 상기 의심 대상 값을 수집한 후에 실행되는 방법.
  7. 제6항에 있어서, 상기 샘플 값은 상기 컴포넌트가 설치되어 있는 샘플 컴퓨터 시스템으로부터 검색되는 방법.
  8. 제7항에 있어서, 상기 컴포넌트가 설치되어 있는 컴퓨터 시스템을 나타내는 인덱스가 보유되는 방법.
  9. 제1항에 있어서, 상기 수집하는 단계는 상기 컴포넌트가 컨피규레이션 데이터 저장소에 액세스하는 것을 인터셉트하여 기록하는 프로그램을 실행하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 컨피규레이션 데이터 저장소는 레지스트리 파일인 방법.
  11. 제9항에 있어서, 상기 컨피규레이션 데이터 저장소는 리소스 파일인 방법.
  12. 제1항에 있어서, 시스템 특정적인 컨피규레이션 파라미터의 값은 정규형(canonical form)으로 배치되는 방법.
  13. 제1항에 있어서, 컨피규레이션 파라미터의 값은 표준형(normal form)으로 배치되는 방법.
  14. 제1항에 있어서, 상기 컴포넌트는 하드웨어 장치인 방법.
  15. 제1항에 있어서, 상기 의심 대상 값과의 비교를 용이하게 하기 위해서 상기 의심 대상 값을 수집하기 전에 상기 샘플 값을 집합하는 단계를 포함하는 방법.
  16. 제15항에 있어서, 상기 집합하는 단계는 각 의심 대상 컨피규레이션 파라미터마다 다른 샘플 값의 수를 카운트하는 단계를 포함하는 방법.
  17. 제16항에 있어서, 상기 집합하는 단계는 각각 다른 값을 가지는 샘플 컴포넌 트의 수를 카운트하는 단계를 포함하는 방법.
  18. 제1항에 있어서, 상기 컴포넌트가 상기 바람직하지 않은 동작을 나타내게 할 가능성이 있는 것으로 식별된 상기 샘플 컨피규레이션 파라미터의 정확할 가능성이 있는 값을 식별하는 단계를 포함하는 방법.
  19. 제18항에 있어서, 상기 정확할 가능성이 있는 샘플 값은 가장 통상적인 값인 방법.
  20. 제18항에 있어서, 상기 컴포넌트가 상기 바람직하지 않은 동작을 나타내게 할 가능성이 있는 것으로 식별된 상기 의심 대상 컨피규레이션 파라미터의 상기 의심 대상 값을 상기 식별된 정확할 가능성이 있는 값으로 변경하는 단계를 포함하는 방법.
  21. 제18항에 있어서, 상기 컴포넌트가 상기 바람직하지 않은 동작을 나타내게 할 가능성이 있는 것으로 식별된 상기 의심 대상 컨피규레이션 파라미터의 정확할 가능성이 있는 값의 표시를 사용자에게 제시하는 단계를 포함하는 방법.
  22. 제18항에 있어서, 상기 컴포넌트가 상기 바람직하지 않은 동작을 나타내게 하고 있을 의심 대상 컨피규레이션 파라미터의 랭킹(ranking)을 사용자에게 제시하 는 단계를 포함하는 방법.
  23. 컴퓨터 시스템의 컨피규레이션 파라미터의 값을 저장하기 위한 방법으로서,
    상기 컴퓨터 시스템으로부터 컨피규레이션 파라미터의 샘플 값을 검색하는 단계와,
    상기 컨피규레이션 파라미터의 상기 샘플 값에 기초하여 집합 값을 생성하는 단계
    를 포함하는 방법.
  24. 제23항에 있어서, 상기 검색된 샘플 값 및 집합 값은 데이터 저장소에 저장되는 방법.
  25. 제23항에 있어서, 상기 검색된 값은 표준형으로 배치되는 방법.
  26. 제23항에 있어서, 집합 값은 각 컨피규레이션 파라미터마다 다른 샘플 값의 수를 카운트하여 생성되는 방법.
  27. 제26항에 있어서, 집합 값은 각각의 다른 샘플 값을 가지는 컴퓨터 시스템의 수를 카운트하여 생성되는 방법.
  28. 제23항에 있어서, 각 컨피규레이션 파라미터는 어플리케이션과 관련되며 각 컴퓨터 시스템은 하나 이상의 어플리케이션을 가지고 각 어플리케이션을 그 어플리케이션과 관련되는 상기 컴퓨터 시스템에 매핑하는 인덱스를 생성하는 단계를 포함하는 방법.
  29. 컴포넌트가 특정의 동작을 나타내고 있는 원인을 식별하기 위해 컴퓨터 시스템을 제어하는 명령어를 포함하는 컴퓨터 판독가능 매체로서,
    상기 컴포넌트의 인스턴스의 의심 대상 정보의 의심 대상 값을 수집하는 단계와,
    상기 의심 대상 정보의 샘플 값을 제공하는 단계 - 상기 샘플 값은 상기 컴포넌트의 다른 인스턴스로부터 수집됨 - 와,
    상기 샘플 값의 분석에 기초하여 의심 대상 정보의 의심 대상 값이 상기 특정의 동작을 초래하고 있을 가능성이 있는 상기 의심 대상 정보를 식별하는 단계
    를 포함하는 방법을 포함하는 컴퓨터 판독 가능 매체.
  30. 제29항에 있어서, 상기 컴포넌트는 어플리케이션이고 상기 정보는 상기 어플리케이션의 컨피규레이션 파라미터인 컴퓨터 판독 가능 매체.
  31. 제30항에 있어서, 상기 수집하는 단계는 상기 특정의 동작이 나타나는 상기 어플리케이션의 상기 인스턴스를 실행하는 단계와 상기 어플리케이션의 상기 컨피 규레이션 파라미터에의 액세스를 기록하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  32. 제31항에 있어서, 상기 동작은 바람직하지 않은 동작인 컴퓨터 판독 가능 매체.
  33. 제30항에 있어서, 상기 분석은 각 의심 대상 컨피규레이션 파라미터가 상기 특정의 동작을 초래하고 있을 확률을 계산하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  34. 제33항에 있어서, 상기 확률은 베이즈 법칙(Bayes' rule)에 기초하여 계산되는 컴퓨터 판독 가능 매체.
  35. 제30항에 있어서, 식별된 컨피규레이션 파라미터의 의심 대상 값을 변경하는 단계 및 상기 어플리케이션의 인스턴스를 실행하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  36. 제29항에 있어서, 상기 분석은 각 의심 대상 값이 상기 특정의 동작을 초래하고 있을 확률을 계산하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  37. 바람직하지 않은 동작을 초래하고 있는 어플리케이션의 컨피규레이션 파라미터를 식별하기 위한 컴퓨터 시스템으로서,
    의심 대상 컨피규레이션 파라미터의 의심 대상 값의 데이터 저장소 - 상기 의심 대상 값은 상기 바람직하지 않은 동작이 나타날 때 상기 어플리케이션의 실행으로 수집됨 - 와,
    의심 대상 파라미터의 샘플 값의 데이터 저장소 - 상기 샘플 값은 상기 어플리케이션의 다른 인스턴스들로부터 수집됨 - 와,
    상기 샘플 값의 분석에 기초하여 의심 대상 파라미터의 의심 대상 값이 상기 바람직하지 않은 동작을 초래하고 있을 가능성이 있는 상기 의심 대상 파라미터를 식별하기 위한 수단
    을 포함하는 컴퓨터 시스템.
  38. 제37항에 있어서, 상기 분석은 각 의심 대상 파라미터가 상기 바람직하지 않은 동작을 초래하고 있을 확률을 계산하는 단계를 포함하는 컴퓨터 시스템.
  39. 제38항에 있어서, 상기 확률은 베이즈 법칙에 기초하여 계산되는 컴퓨터 시스템.
KR1020050013743A 2004-02-19 2005-02-18 컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및시스템 Expired - Fee Related KR101114093B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US54579904P 2004-02-19 2004-02-19
US60/545,799 2004-02-19
US54760804P 2004-02-24 2004-02-24
US60/547,608 2004-02-24
US10/918,786 2004-08-13
US10/918,786 US7584382B2 (en) 2004-02-19 2004-08-13 Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems

Publications (2)

Publication Number Publication Date
KR20060042100A true KR20060042100A (ko) 2006-05-12
KR101114093B1 KR101114093B1 (ko) 2012-02-21

Family

ID=34714397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050013743A Expired - Fee Related KR101114093B1 (ko) 2004-02-19 2005-02-18 컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및시스템

Country Status (5)

Country Link
US (2) US7584382B2 (ko)
EP (1) EP1566734A3 (ko)
JP (2) JP4942939B2 (ko)
KR (1) KR101114093B1 (ko)
CN (1) CN1722102B (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7242574B2 (en) 2002-10-22 2007-07-10 Sullivan Jason A Robust customizable computer processing system
JP2006512691A (ja) 2002-10-22 2006-04-13 アイシス テクノロジーズ 改善された熱放散特性を有する非周辺処理制御モジュール
CA2503793A1 (en) 2002-10-22 2004-05-06 Jason A. Sullivan Systems and methods for providing a dynamically modular processing unit
US20040199828A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Method and apparatus for tracing troubleshooting events for aiding technical assistance
US7392295B2 (en) * 2004-02-19 2008-06-24 Microsoft Corporation Method and system for collecting information from computer systems based on a trusted relationship
US7584382B2 (en) * 2004-02-19 2009-09-01 Microsoft Corporation Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems
US20060047793A1 (en) * 2004-08-31 2006-03-02 Ibm Corporation Method for configuring computing devices using reference groups
US20060112126A1 (en) * 2004-11-16 2006-05-25 Carlos Soto Automatic screen pop showing troubleshooting information
US7614046B2 (en) * 2004-11-24 2009-11-03 Microsoft Corporation Method and system for analyzing the impact of a software update
US7624377B2 (en) * 2005-01-04 2009-11-24 Sap Ag Methods relating to configuration of software
US8234485B2 (en) * 2005-01-04 2012-07-31 Sap Ag Method relating to rule-regulated software configuration
US20060195750A1 (en) * 2005-02-25 2006-08-31 Oracle International Corporation Simplifying Troubleshooting of Errors in Configurable Parameter Values Associated with Computer Supported Business-flows
US7805752B2 (en) * 2005-11-09 2010-09-28 Symantec Corporation Dynamic endpoint compliance policy configuration
US7856100B2 (en) * 2005-12-19 2010-12-21 Microsoft Corporation Privacy-preserving data aggregation using homomorphic encryption
US7743123B2 (en) * 2005-12-19 2010-06-22 Microsoft Corporation Aggregating information from a cluster of peers
US7584182B2 (en) * 2005-12-19 2009-09-01 Microsoft Corporation Determining cardinality of a parameter using hash values
JP2007241533A (ja) * 2006-03-07 2007-09-20 Oki Electric Ind Co Ltd システム構成情報比較装置およびコンピュータプログラム
US8239915B1 (en) 2006-06-30 2012-08-07 Symantec Corporation Endpoint management using trust rating data
DE102006046399A1 (de) * 2006-09-29 2008-04-03 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerverwaltung
DE602006012492D1 (de) * 2006-10-06 2010-04-08 Hewlett Packard Development Co Verwaltung von Einstellungsdaten in einem Datenverarbeitungsbetriebsystem
EP1918817A1 (en) * 2006-10-31 2008-05-07 Hewlett-Packard Development Company, L.P. Software failure analysis
US7840854B2 (en) * 2006-12-01 2010-11-23 Ntt Docomo, Inc. Apparatus and associated methods for diagnosing configuration faults
US8117486B2 (en) * 2007-04-10 2012-02-14 Xerox Corporation Method and system for detecting an anomalous networked device
US8171347B2 (en) * 2007-07-11 2012-05-01 Oracle America, Inc. Method and apparatus for troubleshooting a computer system
US8019987B2 (en) * 2008-02-11 2011-09-13 International Business Machines Corporation System configuration analysis
US20090271663A1 (en) * 2008-04-24 2009-10-29 Vining Robert G Providing detailed program state information for error analysis
RU2379752C1 (ru) * 2008-06-26 2010-01-20 ООО "НеоБИТ" Способ сопоставления состояний безопасности операционных систем семейства windows
CN101650670B (zh) * 2008-08-14 2013-01-09 鸿富锦精密工业(深圳)有限公司 可共享应用程序配置参数的电子系统及其方法
JP5237034B2 (ja) * 2008-09-30 2013-07-17 株式会社日立製作所 イベント情報取得外のit装置を対象とする根本原因解析方法、装置、プログラム。
US8726391B1 (en) 2008-10-10 2014-05-13 Symantec Corporation Scheduling malware signature updates in relation to threat awareness and environmental safety
US20100229022A1 (en) * 2009-03-03 2010-09-09 Microsoft Corporation Common troubleshooting framework
JP5274652B2 (ja) * 2009-03-30 2013-08-28 株式会社日立製作所 原因分析構成変更のための方法および装置
DE102009043286A1 (de) * 2009-09-29 2011-03-31 Abb Technology Ag Verfahren und Vorrichtung zur Überprüfung der Konfigurierung eines Computersystems
TW201128539A (en) * 2010-02-03 2011-08-16 Jmicron Technology Corp Method for setting operating frequency of memory card and related card reader
IT1397985B1 (it) * 2010-02-08 2013-02-04 Prima Ind Spa Procedimento di monitoraggio della qualità di processi di lavorazione laser e relativo sistema
US8458525B2 (en) * 2010-03-19 2013-06-04 Hamilton Sundstrand Space Systems International, Inc. Bayesian approach to identifying sub-module failure
US8219854B2 (en) * 2010-03-24 2012-07-10 Microsoft Corporation Validating configuration of distributed applications
US20110307746A1 (en) * 2010-06-07 2011-12-15 Sullivan Jason A Systems and Methods for Intelligent and Flexible Management and Monitoring of Computer Systems
US20110314138A1 (en) * 2010-06-21 2011-12-22 Hitachi, Ltd. Method and apparatus for cause analysis configuration change
JP5533466B2 (ja) * 2010-09-07 2014-06-25 日本電気株式会社 パラメタ管理装置、パラメタ管理方法およびパラメタ管理プログラム
US20120117227A1 (en) * 2010-11-10 2012-05-10 Sony Corporation Method and apparatus for obtaining feedback from a device
US8862938B2 (en) * 2011-04-18 2014-10-14 General Electric Company System, method, and apparatus for resolving errors in a system
JP5681804B2 (ja) * 2011-09-20 2015-03-11 株式会社日立製作所 リスク判定方法及びリスク判定サーバ
US9003222B2 (en) 2011-09-30 2015-04-07 International Business Machines Corporation Configuration fault localization in shared resource environments
US8756459B2 (en) * 2011-10-31 2014-06-17 International Business Machines Corporation Fault detection based on diagnostic history
US20150084433A1 (en) * 2013-09-23 2015-03-26 Linkez Technologies Private LimitedHubli Standalone power cord to automate electrical appliances for home automation
US20160342453A1 (en) * 2015-05-20 2016-11-24 Wanclouds, Inc. System and methods for anomaly detection
JP6351545B2 (ja) * 2015-06-09 2018-07-04 三菱電機株式会社 パラメータ管理装置およびパラメータ管理プログラム
US9639411B2 (en) 2015-07-24 2017-05-02 Bank Of America Corporation Impact notification system
WO2017056218A1 (ja) * 2015-09-30 2017-04-06 株式会社日立製作所 ストレージ運用管理サービス提供装置、ストレージの運用管理サービス提供方法およびストレージ運用管理システム
US10133587B2 (en) 2015-10-28 2018-11-20 International Business Machines Corporation Generating component pages to render in a configuration page in a graphical user interface to configure a computing resource
JP6528669B2 (ja) * 2015-12-14 2019-06-12 富士通株式会社 予兆検知プログラム、装置、及び方法
US10176034B2 (en) * 2016-02-16 2019-01-08 International Business Machines Corporation Event relationship analysis in fault management
JP6696252B2 (ja) * 2016-03-24 2020-05-20 富士ゼロックス株式会社 通信プログラム、通信装置及び情報処理装置
US10230579B2 (en) * 2016-04-28 2019-03-12 Netapp, Inc. Techniques for computer system configuration analysis
US10255369B2 (en) * 2016-07-20 2019-04-09 Oath Inc. Device identification for multiple device IDS
US10749748B2 (en) 2017-03-23 2020-08-18 International Business Machines Corporation Ranking health and compliance check findings in a data storage environment
US10802904B2 (en) 2017-05-16 2020-10-13 Apple Inc. Techniques for repairing an inoperable auxiliary device using another device
CN108600704A (zh) * 2018-05-08 2018-09-28 深圳市智汇牛科技有限公司 一种自动厨房领域的监控系统架构
EP3608740A1 (en) 2018-08-07 2020-02-12 Siemens Aktiengesellschaft System and method for remotely managing configuration of industrial machines
DE102020202897A1 (de) 2020-03-06 2021-09-09 Siemens Mobility GmbH Verfahren zur Überprüfung eines Istzustands elektronischer Komponenten
KR20220138710A (ko) 2021-04-06 2022-10-13 제트정보기술(주) 시스템을 유지 관리하는 방법 및 장치

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9302225D0 (en) * 1993-02-05 1993-03-24 Int Computers Ltd Data processing system
US5996075A (en) 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US5867714A (en) * 1996-10-31 1999-02-02 Ncr Corporation System and method for distributing configuration-dependent software revisions to a computer system
US5822743A (en) * 1997-04-08 1998-10-13 1215627 Ontario Inc. Knowledge-based information retrieval system
US6047332A (en) 1997-06-30 2000-04-04 Sun Microsystems, Inc. Global file system-based system and method for rendering devices on a cluster globally visible
JPH11134018A (ja) * 1997-10-31 1999-05-21 Nec Corp 診断装置及びプログラムを記録した機械読み取り可能な記録媒体
US6084877A (en) 1997-12-18 2000-07-04 Advanced Micro Devices, Inc. Network switch port configured for generating an index key for a network switch routing table using a programmable hash function
US6108800A (en) * 1998-02-10 2000-08-22 Hewlett-Packard Company Method and apparatus for analyzing the performance of an information system
US6473659B1 (en) * 1998-04-10 2002-10-29 General Electric Company System and method for integrating a plurality of diagnostic related information
JP2000339188A (ja) * 1999-05-27 2000-12-08 Harness Syst Tech Res Ltd プログラム実行異常検出装置
US6880107B1 (en) * 1999-07-29 2005-04-12 International Business Machines Corporation Software configuration monitor
US6704752B1 (en) 1999-10-12 2004-03-09 Cisco Technology, Inc. Method and system for executing, tracking and restoring temporary router configuration change using a centralized database
US6671811B1 (en) * 1999-10-25 2003-12-30 Visa Internation Service Association Features generation for use in computer network intrusion detection
US6615367B1 (en) * 1999-10-28 2003-09-02 General Electric Company Method and apparatus for diagnosing difficult to diagnose faults in a complex system
EP1111550B1 (en) * 1999-12-23 2003-08-27 Abb Ab Method and system for monitoring the condition of an individual machine
WO2001065330A2 (en) 2000-03-03 2001-09-07 Sanctum Ltd. System for determining web application vulnerabilities
US6691249B1 (en) * 2000-03-22 2004-02-10 Agilent Technologies, Inc. Probabilistic diagnosis, in particular for embedded and remote applications
US6738811B1 (en) * 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
WO2001082571A2 (en) * 2000-04-19 2001-11-01 Teradyne, Inc. Pc configuration fault analysis
US6862696B1 (en) * 2000-05-03 2005-03-01 Cigital System and method for software certification
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US7002993B1 (en) 2000-08-18 2006-02-21 Juniper Networks, Inc. Method and apparatus providing media aggregation in a packet-switched network
EP1320960B1 (en) 2000-09-28 2013-11-06 Symantec Corporation System and method for analyzing protocol streams for a security-related event
US6970943B1 (en) 2000-10-11 2005-11-29 Nortel Networks Limited Routing architecture including a compute plane configured for high-speed processing of packets to provide application layer support
JP4608789B2 (ja) 2001-02-27 2011-01-12 日本電気株式会社 マルチアクセス通信システム及びデータ送受信装置
GB2372670B (en) 2001-02-27 2003-01-08 3Com Corp Optimisation of network configuration
US7203729B2 (en) 2001-04-20 2007-04-10 Motorola Inc. Method and apparatus for a communication network with nodes capable of selective cluster head operation
US6895534B2 (en) * 2001-04-23 2005-05-17 Hewlett-Packard Development Company, L.P. Systems and methods for providing automated diagnostic services for a cluster computer system
US20020169738A1 (en) * 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US6763482B2 (en) * 2001-06-19 2004-07-13 Xerox Corporation Printer diagnostics method
JP3579834B2 (ja) * 2001-06-29 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 管理可能なネットワークにおける事前対策オンライン診断
AU2002329611A1 (en) 2001-07-20 2003-03-03 Altaworks Corporation System and method for adaptive threshold determination for performance metrics
US6990602B1 (en) * 2001-08-23 2006-01-24 Unisys Corporation Method for diagnosing hardware configuration in a clustered system
US7003514B2 (en) 2001-09-13 2006-02-21 International Business Machines Corporation Method and apparatus for restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
JP2003114811A (ja) * 2001-10-05 2003-04-18 Nec Corp 自動障害復旧方法及びシステム並びに装置とプログラム
US6768721B1 (en) 2001-10-26 2004-07-27 Networks Associates Technology, Inc. Method and apparatus for monitoring different channels in an IEEE 802.11 wireless LAN
EP1315065B1 (en) * 2001-11-23 2007-10-10 Protegrity Research &amp; Development Method for intrusion detection in a database system
US7225343B1 (en) * 2002-01-25 2007-05-29 The Trustees Of Columbia University In The City Of New York System and methods for adaptive model generation for detecting intrusions in computer systems
US7320035B2 (en) * 2002-03-01 2008-01-15 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US7209932B2 (en) 2002-03-25 2007-04-24 International Business Machines Corporation Method, system, and program for allocating tasks to a plurality of processors
US7359962B2 (en) 2002-04-30 2008-04-15 3Com Corporation Network security system integration
US20030225899A1 (en) 2002-05-28 2003-12-04 Murphy Walter Vincent Enhancing system performance using a network-based multi-processing technique
JP2003345628A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 障害調査資料採取方法及びその実施システム並びにその処理プログラム
US20030237017A1 (en) * 2002-06-24 2003-12-25 Jibbe Mahmoud Khaled Component fault isolation in a storage area network
US20040019878A1 (en) * 2002-07-23 2004-01-29 Sreekrishna Kotnur Software tool to detect and restore damaged or lost software components
US7487543B2 (en) * 2002-07-23 2009-02-03 International Business Machines Corporation Method and apparatus for the automatic determination of potentially worm-like behavior of a program
US7171469B2 (en) 2002-09-16 2007-01-30 Network Appliance, Inc. Apparatus and method for storing data in a proxy cache in a network
US7386839B1 (en) * 2002-11-06 2008-06-10 Valery Golender System and method for troubleshooting software configuration problems using application tracing
US7058861B1 (en) * 2002-12-31 2006-06-06 Sprint Communications Company Llp Network model audit and reconciliation using state analysis
KR100427143B1 (ko) 2003-01-17 2004-04-14 엔에이치엔(주) 스트리밍 데이터 전송 및 다운로드 방법
US7492789B2 (en) 2003-02-28 2009-02-17 Freescale Semiconductor, Inc. Method and system for dynamic aggregation in a wireless network
US7246156B2 (en) * 2003-06-09 2007-07-17 Industrial Defender, Inc. Method and computer program product for monitoring an industrial network
US20040260678A1 (en) 2003-06-18 2004-12-23 Microsoft Corporation State based configuration failure detection using checkpoint comparison
US7506305B2 (en) * 2003-07-14 2009-03-17 Microsoft Corporation Dynamic contextual helper user interface
US7325185B1 (en) * 2003-08-04 2008-01-29 Symantec Corporation Host-based detection and prevention of malicious code propagation
US7134008B2 (en) * 2003-09-04 2006-11-07 Sun Microsystems, Inc. Utility for configuring and verifying data sources
US7441011B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Truth on client persistent caching
US7103874B2 (en) 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7117312B1 (en) 2003-11-17 2006-10-03 Sun Microsystems, Inc. Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7430598B2 (en) * 2003-11-25 2008-09-30 Microsoft Corporation Systems and methods for health monitor alert management for networked systems
FR2863127A1 (fr) * 2003-12-02 2005-06-03 Canon Kk Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
US7765592B2 (en) 2004-01-10 2010-07-27 Microsoft Corporation Changed file identification, software conflict resolution and unwanted file removal
US7584382B2 (en) 2004-02-19 2009-09-01 Microsoft Corporation Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems
US7392295B2 (en) 2004-02-19 2008-06-24 Microsoft Corporation Method and system for collecting information from computer systems based on a trusted relationship
US7694022B2 (en) 2004-02-24 2010-04-06 Microsoft Corporation Method and system for filtering communications to prevent exploitation of a software vulnerability
US7614046B2 (en) 2004-11-24 2009-11-03 Microsoft Corporation Method and system for analyzing the impact of a software update
JP2007025906A (ja) * 2005-07-13 2007-02-01 Konica Minolta Business Technologies Inc インストール支援方法、ワークフロー作成支援方法
US7804773B2 (en) 2005-10-25 2010-09-28 At&T Intellectual Property I, L.P. System and method of managing data flow in a network
US7856100B2 (en) 2005-12-19 2010-12-21 Microsoft Corporation Privacy-preserving data aggregation using homomorphic encryption
US7584182B2 (en) 2005-12-19 2009-09-01 Microsoft Corporation Determining cardinality of a parameter using hash values
US7743123B2 (en) 2005-12-19 2010-06-22 Microsoft Corporation Aggregating information from a cluster of peers

Also Published As

Publication number Publication date
US20050188268A1 (en) 2005-08-25
US7890807B2 (en) 2011-02-15
US7584382B2 (en) 2009-09-01
JP4942939B2 (ja) 2012-05-30
US20070300103A1 (en) 2007-12-27
KR101114093B1 (ko) 2012-02-21
JP2011258230A (ja) 2011-12-22
JP2005251191A (ja) 2005-09-15
EP1566734A3 (en) 2007-09-05
EP1566734A2 (en) 2005-08-24
CN1722102B (zh) 2010-04-28
CN1722102A (zh) 2006-01-18

Similar Documents

Publication Publication Date Title
KR101114093B1 (ko) 컴퓨터 시스템의 컨피규레이션 오류를 다른 컴퓨터 시스템의 컨피규레이션에 기초하여 문제 해결하기 위한 방법 및시스템
US7664986B2 (en) System and method for determining fault isolation in an enterprise computing system
US12050507B1 (en) System and method for data ingestion, anomaly detection and notification
US20220206886A1 (en) Root cause analysis of logs generated by execution of a system
US11775501B2 (en) Trace and span sampling and analysis for instrumented software
US7058953B2 (en) Managing a distributed computing system
US7409604B2 (en) Determination of related failure events in a multi-node system
US8849736B2 (en) Data quality management for profiling, linking, cleansing, and migrating data
US7984007B2 (en) Proactive problem resolution system, method of proactive problem resolution and program product therefor
US20190294485A1 (en) Multi-variant anomaly detection from application telemetry
US7159146B2 (en) Analyzing system error messages
US20160147585A1 (en) Performance anomaly diagnosis
US11144376B2 (en) Veto-based model for measuring product health
US12216527B1 (en) System and method for data ingestion, anomaly and root cause detection
US20100131315A1 (en) Resolving incident reports
US11221907B1 (en) Centralized software issue triage system
US8073946B1 (en) Monitoring of metrics to identify abnormalities in a large scale distributed computing environment
US11874728B2 (en) Software application diagnostic aid
US10516684B1 (en) Recommending and prioritizing computer log anomalies
US8898143B2 (en) Database comparison system and method
US7487181B2 (en) Targeted rules and action based client support
Ramakrishna et al. A platform for end-to-end mobile application infrastructure analytics using system log correlation
CN119961105A (zh) 信息展示方法、装置、设备、存储介质和程序产品
CN120743601A (zh) 数据库的根因分析方法、装置、计算机设备及存储介质
CN117170914A (zh) 故障定位方法、装置、计算机系统和可读存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20150202

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20150202

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000