KR101824273B1 - 복잡한 분산 애플리케이션에서의 자동화된 복원 및 에스컬레이션 기법 - Google Patents

복잡한 분산 애플리케이션에서의 자동화된 복원 및 에스컬레이션 기법 Download PDF

Info

Publication number
KR101824273B1
KR101824273B1 KR1020127027419A KR20127027419A KR101824273B1 KR 101824273 B1 KR101824273 B1 KR 101824273B1 KR 1020127027419 A KR1020127027419 A KR 1020127027419A KR 20127027419 A KR20127027419 A KR 20127027419A KR 101824273 B1 KR101824273 B1 KR 101824273B1
Authority
KR
South Korea
Prior art keywords
alert
restoration
restore
mapped
specifier
Prior art date
Application number
KR1020127027419A
Other languages
English (en)
Other versions
KR20130069580A (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 KR20130069580A publication Critical patent/KR20130069580A/ko
Application granted granted Critical
Publication of KR101824273B1 publication Critical patent/KR101824273B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/0793Remedial or corrective actions
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Alarm Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

복잡한 분산된 애플리케이션 환경에서 검출된 하드웨어 및/또는 소프트웨어 문제에 기초한 경고가 자동으로 문제를 해결하기 위해 복원 동작으로 매핑된다. 매핑되지 않은 경고는, 지정된 개인 또는 팀으로부터의 확인 핸드오프 통지를 포함하는 주기적 에스컬레이션 방법을 통해 지정된 개인 또는 팀에게 에스컬레이션된다. 에스컬레이션 프로세스를 통해 각각의 경고에 대해 수집된 정보뿐만 아니라 해결책도 자동화된 해결책 지식 베이스를 확장하기 위해 기록될 수 있다.

Description

복잡한 분산 애플리케이션에서의 자동화된 복원 및 에스컬레이션 기법{AUTOMATED RECOVERY AND ESCALATION IN COMPLEX DISTRIBUTED APPLICATIONS}
오늘날의 네트워크된 통신 환경에서, 로컬에서 실행되는 애플리케이션에 의해 제공되었던 많은 서비스가 분산 서비스를 통해 제공된다. 예를 들어, 이메일 서비스, 캘린더/스케줄링 서비스, 및 유사한 서비스들이, 지리적 경계를 가로질러 많은 물리 및 가상 서버, 저장 장치 및 기타 컴포넌트가 관여되는 복잡한 네트워크된 시스템을 통해 제공된다. 기업 네트워크와 같은 조직의 시스템도 물리적으로 분리된 서버 팜(farm) 등을 통해 구현될 수 있다.
분산 서비스가 애플리케이션의 설치, 업데이트 및 유지보수의 관리를 용이하게 하지만(즉, 수백 또는 수천의 로컬 애플리케이션을 설치, 업데이트 및 유지보수하는 대신에, 중앙 관리 서비스가 이들 태스크를 관리할 수 있다), 이러한 서비스에는 여전히 다수의 서버상에서 실행되는 많은 애플리케이션이 관여된다. 이렇게 큰 스케일의 분산 애플리케이션을 연속적으로 관리하는 때에, 다양한 문제가 예상된다. 하드웨어 고장, 소프트웨어 문제 및 기타 예상치 못한 작은 문제들이 자주 일어날 수 있다. 이러한 문제들을 수동으로 관리하고 복원하려는 시도는, 비용상 감당할 수 없이 많은 수의 도메인 지식이 있는 담당 운영 엔지니어를 필요로 할 수 있다.
이 개요는 아래 상세한 설명에서 더 설명되는 개념 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 핵심 특징 또는 중요 특징을 배타적으로 식별하기 위한 것이 아니고, 청구된 주제의 범위를 결정하는데 도움을 주려는 것도 아니다.
실시형태들은 네트워크된 통신 환경에서 자동으로 문제를 해결하기 위한 복원 동작을 검출된 경고와 매핑시키는 것에 관한 것이다. 지정된 개인으로부터의 확인 핸드오프 통지를 포함하는 주기적 에스컬레이션(cyclic escalation) 방법을 통해 비매핑(Non-mapped) 경고가 지정된 개인에게 에스컬레이션될 수 있다. 일부 실시형태에 따르면, 에스컬레이션 프로세스를 통해 각각의 경고에 대해 수집된 정보뿐만 아니라 해결책도 자동화된 해결책 지식 베이스를 확장하기 위해 기록될 수 있다.
이들 및 다른 특징 및 장점이 아래의 상세한 설명의 독해 및 연관 도면의 검토로부터 명확해질 것이다. 위의 일반적 설명과 아래의 상세한 설명 모두 설명을 위한 것이고 청구된 태양을 제한하지 않음을 이해할 것이다.
도 1은 경고의 검출이 복구 동작 또는 경고의 에스컬레이션으로 이어질 수 있는 예시적인 환경을 도시하는 개념도이다.
도 2는 경고의 에스컬레이션 동안의 동작을 도시하는 동작도이다.
도 3은 다지역(multi-region) 환경에서의 경고 관리를 도시하는 다른 개념도이다.
도 4는 실시형태에 따른 시스템이 구현될 수 있는 네트워크 환경이다.
도 5는 실시형태가 구현될 수 있는 예시적인 연산 동작 환경의 블록도이다.
도 6은 실시형태에 따른 네트워크된 통신 환경에서의 경고의 자동화된 관리에 대한 논리 흐름도를 도시한다.
위에서 약술한 바와 같이, 네트워크된 시스템에서 경고가, 수동 해결을 위한 경고 및/또는 에스컬레이션으로 매핑된 동작을 사용하는 자동화된 동작/에스컬레이션 프로세스를 통해 관리될 수 있는 한편, 자동화된 동작 부분에 대한 지식 베이스를 확장하고 문제를 해결하는 임무를 맡은 지정된 개인에게 수집된 정보를 제공할 수 있다. 다음의 상세한 설명에서, 명세서의 일부를 이루는 첨부된 도면을 참조하며, 도면에서 구체적인 실시형태 또는 예가 예시의 방식으로 도시된다. 이들 태양이 결합될 수 있고, 다른 태양이 사용될 수 있으며, 본 개시의 사상 및 범위를 벗어나지 않고 구조적 변경이 이루어질 수 있다. 그러므로 다음의 상세한 설명은 제한적인 것으로 생각되어서는 안 되고, 본 발명의 범위는 첨부된 청구범위와 그 균등물에 의해서 정의된다.
개인용 컴퓨터상의 운영체제에서 실행되는 애플리케이션 프로그램과 결합하여 실행되는 프로그램 모듈의 일반적인 맥락에서 실시형태들이 설명되지만, 당업자는 다른 프로그램 모듈과 결합하여 태양들이 구현될 수도 있음을 인식할 것이다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조 및 기타 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 구조의 다른 유형을 포함한다. 또한, 당업자는, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 소비자 가전, 미니컴퓨터, 메인프레임 컴퓨터 및 유사한 연산 장치를 포함하는 다른 컴퓨터 시스템 구성으로 실시형태가 실시될 수 있음을 인식할 것이다. 실시형태는, 태스크가 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 모두에 위치할 수 있다.
실시형태는 컴퓨터 구현 프로세스(방법), 연산 시스템 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체와 같은 제품(article of manufacture)으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고 컴퓨터 또는 연산 시스템이 예시적 프로세스(들)를 수행하도록 하기 위한 명령을 포함하는 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는 예를 들어, 휘발성 컴퓨터 메모리, 비휘발성 메모리, 하드 드라이브, 플래시 드라이브, 플로피 디스크 또는 컴팩트 디스크 및 유사 매체 중 하나 이상을 통해 구현될 수 있다. 컴퓨터 프로그램 제품은 캐리어(예를 들어, 주파수 또는 위상 변조된 신호) 상의 전파되는 신호이거나 연산 시스템에 의해 판독가능하고 컴퓨터 프로세스를 수행하기 위한 명령의 컴퓨터 프로그램을 인코딩하는 매체일 수도 있다.
본 명세서에 걸쳐, 서비스를 언급한다. 서비스는 여기서 그 정규적인 동작의 일부로서 경고를 수신하고 그 정보를 처리(process)/저장(store)/전달(foward)할 수 있는 여하한 네트워크된/온라인 애플리케이션(들)을 말한다. 이러한 애플리케이션(들)은 단일의 연산 장치, 분산 방식으로 다수의 연산 장치 등에서 실행될 수 있다. 실시형태들은 복수의 서버 또는 유사한 시스템상에서 실행되는 호스팅된 서비스에서 구현될 수도 있다. 서버라는 용어는 널리 하나 이상의 소프트웨어 프로그램을 통상 네트워크된 환경에서 실행하는 연산 장치를 지칭한다. 그러나, 서버는 네트워크상에서 서버로 보이는 하나 이상의 연산 장치 상에서 실행되는 가상 서버(소프트웨어 프로그램)로서 구현될 수도 있다. 이들 기술 및 예시적인 동작에 대한 더 상세한 사항은 아래에 제공된다.
도 1을 참조하면, 개념도(100)는 경고의 검출이 복구 동작 또는 경고의 에스컬레이션(escalation)으로 이어질 수 있는 예시적인 환경을 도시한다. 위에서 약술한 바와 같이, 실시형태는 복구 동작 및 경고의 에스컬레이션의 자동화에 의해 기술적 지원 서비스의 복잡성을 처리한다. 예를 들어, 분산 기술 지원 서비스 시스템에서, 모니터링 엔진(103)은, 분산 시스템에서 하드웨어, 소프트웨어 또는 하드웨어/소프트웨어 결합 문제를 검출하는 때에 자동화 엔진(102)에 경고(113)를 보낼 수 있다. 자동화 엔진(102)은 경고(113)를 복구 동작(112)에 매핑하려고 시도할 수 있다. 자동화 엔진(102)이 경고(113)를 복구 동작(112)에 성공적으로 매핑하면, 자동화 엔진(102)은 복구 동작(112)을 실행할 수 있는데, 이는 검출된 문제를 처리하는 명령의 세트를 포함할 수 있다.
문제는 지리적으로 분산된 서비스 위치(105)의 하나 이상의 장치(104)와 연관될 수 있다. 장치는 데스크탑 컴퓨터, 서버, 스마트폰, 랩탑 컴퓨터 및 유사한 것과 같은 여하한 연산 장치를 포함할 수 있다. 장치(104)는 모니터, 오디오 장치, 텔레비전 세트, 비디오 캡처 장치 및 기타 유사한 장치와 같은 추가적인 원격 액세스가능 장치를 더 포함할 수 있다.
경고(113)는 장치의 메모리 컨텐츠, 센서 판독, 마지막 실행 명령 및 등과 같은 검출된 문제와 연관된 장치 또는 프로그램의 상태 정보를 포함할 수 있다. 경고(113)는 어떤 명령이 실행에 실패했는지, 어떤 실행이 사전정의된 한계를 넘는 결과를 나타내는지 등과 같은 문제 설명을 더 포함할 수 있다.
자동화 엔진(102)은 트러블슈팅 데이터베이스(troubleshoot database)(114)를 검색함으로써 경고(113)를 복구 동작(112)에 매핑하려고 시도할 수 있다. 트러블슈팅 데이터베이스(114)는 장치 또는 소프트웨어 프로그램에 의해 더 분류된 복구 동작에 매칭되는 경고의 프로파일을 저장할 수 있다. 예시적인 구현은, 통신 장치의 접속 없음(no connection) 경고가 통신 장치의 네트워크 인터페이스를 재시작하는 복구 동작에 매칭되는 것일 수 있다. 하나 이상의 복구 동작이 각각의 경고에 매핑될 수 있다. 또한, 하나 이상의 경고가 단일 복구 동작에 매핑될 수 있다.
자동화 엔진(102)이 하나의 경고에 대해 다수의 복구 동작을 결정한다면, 실행 우선순위는 복구 동작의 사전정의된 우선순위에 의존할 수 있다. 예를 들어, 위에서 논의한 시나리오에서 1차적인 복구 동작은 네트워크 인터페이스의 재시작일 수 있고, 통신 장치를 재부팅하는 2차적인 복구 동작이 그 뒤에 따를 수 있다. 사전정의된 복구 동작의 우선순위는 트러블슈팅 데이터베이스(114)에 수동으로 입력되거나 문제의 성공적인 교정에 대한 복구 동작 성공 평가 방식에 기초하여 자동으로 결정될 수 있다.
일부 실시형태에 따르면, 복구 동작(112)은 문제와 연관된 장치 및/또는 소프트웨어 프로그램으로부터 추가의 진단 정보를 수집하는 것을 포함할 수 있다. 추가의 진단 정보는 다른 실시형태에 따라 자동화된 사이클을 재시작하는 경고로서 모니터링 엔진에 송신될 수 있다. 경고에 응답하여, 추가의 진단 정보가 수집되고 시스템에 저장될 수도 있다. 저장된 정보는 문제 상태를 캡처하고 경고가 지정된 사람 또는 팀(예를 들어, 101)에게 에스컬레이션되는 때의 맥락을 제공하는데 사용될 수 있다.
매핑된 복구 동작이 트러블슈팅 데이터베이스(114)에서 자동화 엔진(102)에 의해 찾아지지 않는 때에, 경고(113)는 지정된 사람 또는 팀(101)에게 에스컬레이션될 수 있다. 지정된 사람 또는 팀(101)은 매핑되는 동작이 찾아지거나 실행되는 경우에도 정보제공의 목적으로 통지받을 수 있다. 경고(113)를 지정된 사람 또는 팀(101)에게 전송하는 것은 경고(113)의 명명 방식으로부터 결정될 수 있다. 경고 명명 방식은, 하드웨어 지원 팀, 소프트웨어 지원 팀 등과 같은 지원 담당자(support personnel) 중 어떤 자에게 경고가 에스컬레이션되어야 하는지를 나타낼 수 있다. 명명 방식 스키마는 경고를 복원 동작에 매핑하기 위해서도 사용될 수 있다. 예를 들어, 경고는 계층적인 방식으로(즉, 시스템/컴포넌트/경고 이름) 명명될 수 있고, 복원 동작은 하나의 시스템에 대한 모든 경고(시스템/*)에서부터 특정 경고에 대한 특수한 복구 동작까지 어느 곳에나 매핑될 수 있다. 일부 실시형태에 따르면, 각각의 특정 경고는 그와 관련된 지정된 팀을 가질 수 있는데, 그 팀은 모든 컴포넌트에 대해 특정 값으로 디폴트될 수 있기는 하다. 경고를 어떤 팀 멤버에게 보낼지에 대한 결정은 지원 팀 스케줄을 인지하기 위한 자동화 엔진 내에 상주하는 사전결정된 매핑 알고리즘에 의존할 수 있다. 사전결정된 매핑 알고리즘은 통합된 또는 외부의 스케줄링 시스템에 의해 자동으로 또는 수동으로 업데이트될 수 있다.
자동화 엔진(102)은 경고(113)를 이메일, 인스턴트 메시지, 텍스트 메시지, 페이지(page), 음성메일 또는 유사한 수단을 통해 제1 지정자 또는 지정팀에 에스컬레이션시킬 수 있다. 경고는 팀 이름에 매핑될 수 있고, 팀 이름은 사전정의된 인터벌(예를 들어, 하루, 일주일 등) 동안 대기 중인(on call)인 사람의 그룹에 매핑될 수 있다. 매핑의 일부는 인터벌 동안 어떤 사람이 대기중인지를 식별하는데 사용될 수 있다. 이러한 방식으로, 경고 매핑은 유동적일 수 있는 개별 팀 멤버로부터 추상화될 수 있다. 자동화 엔진(102)은 그 후 제1 지정자 또는 지정팀으로부터의 핸드오프 통지를 기다릴 수 있다. 핸드오프 통지는 경고가 전송된 방식으로 자동화 엔진(102)에 의해 수신될 수 있거나 다른 수단을 통해 수신될 수 있다. 자동화 엔진(102)이 사전결정된 시간 내에 핸드오프 통지를 수신하지 않으면, 자동화 엔진(102)은 경고(113)를 사전정의된 매핑 알고리즘에 의해 정의된 순서(rotation)로 다음 지정자 또는 지정팀에게 에스컬레이션시킬 수 있다. 자동화 알고리즘은 핸드오프 통지를 받을 때까지 순서대로 다음 지정자 또는 지정팀에게 경고를 계속 에스컬레이션시킬 수 있다.
모니터링 엔진(103)은, 복구 동작(112)의 실행 후에 장치 또는 소프트웨어 프로그램으로부터 피드백 응답(예를 들어, 동작의 형태)을 수신하여 자동화 엔진(102)에 응답을 전달할 수 있다. 자동화 엔진(102)은 그 후 트러블슈팅 데이터베이스(114)를 업데이트할 수 있다. 복구 동작의 성공률과 같은 통계적 정보가 복구 동작의 실행 우선순위를 변경하는데 사용될 수 있다. 또한, 지정자 또는 지정팀에 의해 수행된 동작과 관련된 피드백 응답도 트러블슈팅 데이터베이스(114)에 기록될 수 있어서, 동작의 목록을 확장하고, 새로운 경고를 기존 동작에 매핑하며, 기존 경고를 새로운 동작에 매핑하는 등을 위해 기계 학습 알고리즘(machine learning algorithm) 또는 유사한 메커니즘이 채용될 수 있다. 일부 실시형태에 따라 자동화 엔진 동작 및 지정자 동작이 감사(audit)될 수 있다. 시스템은 어떤 사람이 특정 동작을 언제 어떤 장치 또는 서버에 대해 실행했는지에 대한 로그를 유지할 수 있다. 그 후에 기록이 트러블슈팅, 시스템 내 변화 추적 및/또는 새로운 자동화 경고 응답 개발을 위해 사용될 수 있다.
다른 실시형태에 따르면, 자동화 엔진(102)은 트러블슈팅 데이터베이스(114)의 와일드 카드 검색을 수행하고 수신된 경고에 응답하여 다수의 복구 동작을 결정할 수 있다. 단일 복구 동작 또는 복구 동작 그룹의 실행은 복구 동작의 사전결정된 우선순위에 따를 수 있다. 복구 동작의 그룹은 경고의 그룹에 매핑될 수도 있다. 하나의 경고가 수개의 와일드카드 매핑에 매칭될 수 있지만, 가장 구체적인 매핑이 실제로 적용될 수 있다. 예를 들어, 경고 교환/전송/큐잉(exchange/transport/queuing)은 매핑 교환/*(exchange/*), 교환/전송/*(exchange/transport/*), 및 교환/전송/큐잉(exchange/transport/queuing)에 매칭될 수 있다. 그러나, 마지막 것이 가장 구체적인 것이므로 실제로 진정한 매핑일 수 있다.
도 2는 그림(200)에서 경고의 에스컬레이션 동안의 동작을 도시한다. 모니터링 엔진(202)은 자동화 엔진(204)에 경고(211)로서 검출된 문제를 제공할 수 있다. 자동화 엔진(204)은 동작 저장소(206)(도 1의 트러블슈팅 데이터베이스(114))로부터 가용 동작(212)을 체크할 수 있고 가용하면(213) 동작을 수행할 수 있다. 가용 동작이 없으면, 자동화 엔진(204)은 경고(214)를 프로세스 오너(208)에게 에스컬레이션시킬 수 있다. 경고는 다른 지정자(209)에게 또한 에스컬레이션될 수 있다(215). 이전에 논의된 바와 같이, 에스컬레이션은 결정된 동작의 실행과 병렬로 수행될 수도 있다.
프로세스 오너(208) 또는 다른 지정자(209)로부터 수행할 새로운 동작을 수신하면(216, 217), 자동화 엔진(204)은 새로운 동작을 수행하고(218) 미래의 사용을 위해 새로운 동작으로 기록을 업데이트한다(219). 그림(200)에서의 예시적인 상호작용은 제한된 시나리오를 설명한다. 지정된 사람과의 핸드오프, 장치/소프트웨어로부터의 문제를 보고하는 피드백 및 유사한 것들과 같은 다른 상호작용도, 실시형태에 따른 자동화된 복원 및 에스컬레이션 시스템의 동작에 포함될 수 있다.
도 3은 그림(300)에서 다지역(multi-region) 환경에서의 경고 관리를 도시하는 개념도이다. 분산 시스템에서, 경고의 에스컬레이션은 지리적 영역의 사전정의된 우선순위에 의존할 수 있다. 예를 들어, 두 지역에 대해 에스컬레이션이 하나의 지원팀에 의해 관리되는 경우에, 사전결정된 우선순위는 낮 시간인 지역으로부터의 경고를 에스컬레이션시키고 밤시간인 지역으로부터의 경고는 보류할 수 있다. 유사하게, 상이한 지역으로부터의 복구 동작은, 상이한 지역으로부터의 복구 동작이 검출된 문제를 처리하기 위해 동일한 하드웨어, 소프트웨어, 통신 리소스를 놓고 경쟁하는 때에, 사전결정된 우선순위에 기초하여 우선순위화될 수 있다.
그림(300)은 실시형태에 따른 시스템에 의해 상이한 지역으로부터의 경고가 처리될 수 있는 방법을 도시한다. 예시적인 시나리오에 따르면, 모니터링 엔진(303, 313, 323)은 각각 지역 1, 2 및 3(304, 314, 324)으로부터의 하드웨어 및/또는 소프트웨어 문제를 모니터링할 책임이 있을 수 있다. 문제를 검출하면, 모니터링 엔진 각각은 개별 자동화 엔진(302, 312, 322)에게 경고를 전송할 수 있고, 이들은 각각의 지역을 담당할 수 있다. 자동화 엔진에 대한 로직은 모니터링 로직과 동일한 방식으로 각 지역에 분산될 수 있다. 일부 실시형태에 따르면, 자동화는 전영역(full site) 고장 및 복원과 같이 범지역적으로(cross-region) 일어날 수 있다. 다른 실시형태에 따르면, 자동화 엔진은 다수의 지역을 담당할 수 있다. 유사하게, 에스컬레이션 타깃도 중앙집중화되거나 분산될 수 있다. 예를 들어, 시스템은 시각(time of day)에 기초하여 상이한 팀에게 에스컬레이션시킬 수 있다. 모니터링 엔진(303, 313, 323)은 모니터링 프로세스를 관리하기 위해 그들 자신의 개별 지역 데이터베이스를 가질 수 있다. 자동화 엔진(302, 312, 322)은 복구 동작으로 경고를 매핑하기 위해 (중앙 또는 분산) 트러블슈팅 데이터베이스에 질의할 수 있다.
해당 복구 동작(들)이 찾아지면, 자동화 엔진(302, 312, 322)은 지역(304, 314, 324) 내 장치 및/또는 프로그램상에서 복구 동작(들)을 실행할 수 있다. 글로벌 모니터링 데이터베이스(310)는 모든 지역에 대해 구현될 수도 있다. 자동화 엔진(302, 312, 322)이 매칭되는 복구 동작을 찾지못하면, 조직구조와 같은 사전정의된 지리적 우선순위에 기초하여 경고를 지정된 지원팀(301)에 에스컬레이션시킬 수 있다. 예를 들어, 지역(304)은 비즈니스 조직을 위한 기업 네트워크일 수 있는 한편, 지역(324)은 문서 지원 네트워크이다. 이 시나리오에서, 지역(304)에서 검출된 문제가 지역(324)에서 검출된 문제에 비해 우선순위를 가질 수 있다. 유사하게, 상이한 지역 사이의 시각 또는 영업일/휴일 구별 및 유사한 인자가 지역적 우선순위를 결정하는데 고려될 수 있다.
일부 실시형태에 따르면, 상기한 바와 같이, 다수의 자동화 엔진이 상이한 지역 및 자동화 엔진 사이의 컨센서스 알고리즘을 통해 결정된 복구 동작 우선순위의 에스컬레이션 및/또는 실행에 할당될 수 있다. 다르게는, 지역 자동화 엔진을 감시하는 프로세스가 우선순위 결정을 할 수 있다. 또한, 자동화 엔진(302, 312, 322)은 개별 지역에 대해 커스터마이즈된 복구 동작-경고 매핑을 포함하는 트러블슈팅 데이터베이스와 상호작용할 수 있다.
분산 시스템에서의 복구 및 에스컬레이션 프로세스의 자동화가 도 1, 2 및 3과 관련하여 예시적인 시나리오, 구체적인 복구 동작의 실행 및 경고의 에스컬레이션을 이용하여 상술되었으나, 실시행태는 그들에 제한되지 않는다. 경고의 복구 동작으로의 매핑, 복구 동작의 우선순위화, 경고의 에스컬레이션 및 기타 프로세스는 다른 동작, 우선순위, 평가 등을 채용하고, 여기 논의된 원리를 이용하여 구현될 수 있다.
도 4는 실시형태가 구현될 수 있는 예시적인 네트워크된 환경이다. 경고의 복구 동작으로의 매핑은 호스팅된 서비스와 같은 하나 이상의 서버(422) 상에서 실행되는 소프트웨어를 통해 구현될 수 있다. 서버(422)는 네트워크(들)(410)를 통해 셀룰러 폰(411), 이동 연산 장치(412), 스마트폰(413), 랩탑 컴퓨터(414) 및 데스크탑 컴퓨터(415)(클라이언트 장치)와 같은 개별 연산 장치 상의 클라이언트 애플리케이션과 통신할 수 있다. 클라이언트 장치(411-415) 상의 클라이언트 애플리케이션은 서버(들)(422) 상에서 실행되는 서비스와의 사용자 상호작용을 용이하게 하여 서비스와 연관된 소프트웨어 및/또는 하드웨어 문제의 자동화된 관리를 가능하게 할 수 있다. 자동화 및 모니터링 엔진(들)은 서버(422) 중 여하한 것 상에서 실행될 수 있다.
경고를 복구 동작에 매핑하는 것과 같은 동작과 연관된 데이터는 하나 이상의 데이터 저장소(예를 들어, 데이터 저장소(425 또는 426))에 저장될 수 있는데, 이는 서버(들)(422) 중 여하한 것 또는 데이터베이스 서버(424)에 의해 관리될 수 있다. 실시형태에 따라 검출된 문제의 복원 및 에스컬레이션을 자동화하는 것은 위의 예에서 논의된 바와 같이 모니터링 엔진에 의해 경고가 검출되는 때에 트리거될 수 있다.
네트워크(들)(410)는 서버, 클라이언트, 인터넷 서비스 제공자 및 통신 매체의 여하한 토폴로지(topology)를 포함할 수 있다. 실시형태에 따른 시스템은 정적인 또는 동적인 토폴로지를 가질 수 있다. 네트워크(들)(410)는 기업 네트워크와 같은 보안 네트워크, 무선 개방 네트워크와 같은 비보안 네트워크 또는 인터넷을 포함할 수 있다. 네트워크(들)(410)는 여기에 설명된 노드들 사이의 통신을 제공한다. 제한이 아니라 예시로서, 네트워크(들)(410)는 음향(acoustic), RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있다.
많은 다른 연산 장치, 애플리케이션, 데이터 소스 및 데이터 분배 시스템의 구성이 실시형태에 따라 분산 시스템 문제의 관리를 자동화하기 위한 시스템을 구현하는데 채용될 수 있다. 또한, 도 4에서 논의된 네트워크된 환경은 오직 예시의 목적이다. 실시형태는 예시적인 애플리케이션, 모듈 또는 프로세스에 제한되지 않는다.
도 5 및 연관된 논의는 실시형태가 구현될 수 있는 적당한 연산 환경의 간략하고 대체적인 설명을 제공하려는 것이다. 도 5를 참조하면, 연산 장치(500)와 같은, 실시형태에 따른 서비스 애플리케이션을 위한 예시적인 연산 동작 환경의 블록도가 도시된다. 기본적인 구성에서, 연산 장치(500)는 호스팅된 서비스 시스템의 서버일 수 있고 적어도 하나의 처리 유닛(502)과 시스템 메모리(504)를 포함할 수 있다. 연산 장치(500)는 프로그램을 실행하는데 협동하는 복수의 처리 유닛도 포함할 수 있다. 연산 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(504)는 휘발성(RAM 등), 비휘발성(ROM, 플래시 메모리 등) 또는 이 둘의 소정 결합일 수 있다. 시스템 메모리(504)는 통상, 워싱턴 레드먼드의 마이크로소프트 사(MICROSOFT CORPORATION)의 윈도우즈(WINDOWS) 운영체제와 같은, 플랫폼의 동작을 제어하기에 적당한 운영체제(505)를 포함한다. 시스템 메모리(504)는 하나 이상의 프로그램 모듈(506), 자동화 엔진(522) 및 모니터링 엔진(524)도 포함할 수 있다.
자동화 및 모니터링 엔진(522 및 524)은 상술한 바와 같이 시스템 경고를 처리하는 호스팅된 서비스의 별개 애플리케이션 또는 통합된 모듈일 수 있다. 이 기본 구성은 점선(508) 내의 컴포넌트에 의해 도 5에 도시된다.
연산 장치(500)는 추가의 특성 또는 기능을 가질 수 있다. 예를 들어, 연산 장치(500)는, 예를 들어, 자기 디스크, 광 디스크 또는 테이프와 같은 추가의 데이터 저장 장치(제거가능 및/또는 비제거가능)도 포함할 수 있다. 이러한 추가의 저장소는 도 5에서 제거가능 저장소(509) 및 비제거가능 저장소(510)로 도시된다. 컴퓨터 판독가능 저장 매체는, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 제거가능 및 비제거가능 매체를 포함할 수 있다. 시스템 메모리(504), 제거가능 저장소(509) 및 비제거가능 저장소(510)는 모두 컴퓨터 판독가능 저장 매체의 예이다. 컴퓨터 판독가능 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk), 또는 기타 광 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치, 또는 희망 정보를 저장하는데 사용될 수 있고 연산 장치(500)에 의해 액세스될 수 있는 여하한 기타 매체를 포함하지만 이에 제한되지 않는다. 여하한 이런 컴퓨터 판독가능 저장 매체는 연산 장치(500)의 일부일 수 있다. 연산 장치(500)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 및 유사한 입력 장치와 같은 입력 장치(들)(512)도 포함할 수 있다. 디스플레이, 스피커, 프린터 및 기타 유형의 출력 장치와 같은 출력 장치(들)(514)도 포함될 수 있다. 이들 장치는 기술분야에 잘 알려져 있으며 여기서 길게 설명할 필요가 없다.
연산 장치(500)는, 장치가 분산 컴퓨팅 환경의 무선 네트워크, 위성 링크, 셀룰러 링크 및 유사한 매커니즘 등을 통해 다른 장치(518)와 통신할 수 있도록 하는 통신 접속(516)도 포함한다. 다른 장치(518)는 분산된 애플리케이션을 실행하고 유사한 동작을 수행하는 컴퓨터 장치(들)를 포함할 수 있다. 통신 접속(들)(516)은 통신 매체의 일 예이다. 통신 매체는 그 안에, 반송파 또는 기타 전송 매커니즘과 같은 변조된 데이터 신호 내에 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 포함할 수 있고, 여하한 정보 전달 매체를 포함한다. 변조된 데이터 신호라는 용어는 그 특성 세트 중 하나 이상을 갖거나 신호 내에 정보를 인코딩하는 방식으로 변화되는 신호를 의미한다. 제한이 아니라 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다.
예시적인 실시형태는 방법도 포함한다. 이들 방법은 임의의 개수의 방법으로 구현될 수 있는데, 이 명세서에 설명되는 구조를 포함한다. 이러한 한 가지 방법은 이 명세서에서 설명된 유형의 장치의 기계 동작(machine operation)에 의한 것이다.
다른 선택적인 방법은 방법의 개별 동작 중 하나 이상이, 하나 이상의 운영자(human operator)가 일부를 수행하면서 함께 수행되는 것이다. 이들 운영자는 서로 같이 있을 필요는 없지만, 각각은 프로그램의 일부를 수행하는 기계와만 함께 있을 수 있다.
도 6은 실시형태에 따라 분산 시스템에서 문제 복원의 관리 및 에스컬레이션을 자동화하기 위한 논리 흐름도(600)를 도시한다. 프로세스(600)는 호스팅된 서비스의 일부로서의 서버에서 또는 이전에 설명된 것과 같은 서비스와 상호작용하기 위한 클라이언트 애플리케이션에서 구현될 수 있다.
프로세스(600)는 동작 602로 시작하는데, 여기서, 시스템 내 장치 및/또는 소프트웨어 애플리케이션 문제에 응답하여 모니터링 엔진에 의해 전송된 경고를 자동화 엔진이 검출한다. 동작 604에서, 모니터링 엔진으로부터 경고를 수신한 자동화 엔진은 경고와 연관된 정보를 수집하기 시작할 수 있다. 이에 후속하여, 동작 606에서의 하나 이상의 복구 동작으로 경고를 매핑하려고 시도할 수 있다.
경고로 매핑된 명시적 동작이 결정 동작 608에서 찾아지면, 동작 (또는 동작들)이 후속 동작 610에서 실행될 수 있다. 명시적인 동작이 매핑 프로세스 동안 결정되지 않으면, 동작 614에서 경고는 지정자 또는 지정팀에게 에스컬레이션될 수 있다. 동작 614에 선택적인 동작 616 및 618이 후속할 수 있는데, 여기서 새로운 동작이 지정자 또는 지정팀으로부터 수신되고 수행될 수 있다. 동작 612에서, 수행된 동작(매핑된 것 또는 새로운 것)으로 기록이 갱신될 수 있어서 매핑 데이터베이스가 확장될 수 있거나 성공률과 연관된 통계 정보가 미래의 모니터링 및 자동화된 응답 태스크를 위해 사용될 수 있다.
프로세스(600)에 포함된 동작은 예시를 위한 것이다. 복잡한 분산 애플리케이션에서 문제의 복원 및 에스컬레이션의 자동화는, 여기에 설명된 원리를 이용하여, 더 적거나 많은 단계로, 또한 동작의 상이한 순서로, 유사한 프로세스에 의해 구현될 수 있다.
위의 명세서, 예시 및 데이터는 실시형태의 조직의 제조 및 사용의 완전한 설명을 제공한다. 구조적 특징 및/또는 방법적 동작에 특정한 언어로 주제가 설명되었지만, 첨부된 청구범위에서 정의된 주제는 반드시 상술한 구체적 특징 또는 동작으로 제한되는 것이 아님을 인식할 것이다. 오히려, 상술한 구체적인 특징 및 동작은 청구범위 및 실시형태를 구현하는 예시적인 형태로서 개시된다.

Claims (20)

  1. 분산 시스템에서 자동화된 복원 및 경고(alert)의 에스컬레이션(escalation)을 위해 컴퓨팅 장치에서 적어도 부분적으로 실행되는 방법으로서,
    모니터링 엔진으로부터 검출된 문제와 연관된 경고를 수신하는 단계와,
    상기 경고에 매핑된 복원 동작을 결정하기 위해 동작 저장소의 와일드카드 검색을 수행하는 단계와,
    상기 경고와 연관된 특수성을 갖는 복원 동작을 적용함으로써 상기 경고를 상기 복원 동작 중 하나에 매핑하려고 시도하는 단계와,
    통합된 스케쥴링 시스템 및 외부 스케쥴링 시스템 중 적어도 하나로부터 상기 경고와 연관된 복수의 지정자(designees)의 스케쥴을 업데이트하는 단계와,
    상기 복수의 지정자 중에서 지정자를 대기 중(on call)인 것으로 식별하는 상기 지정자의 업데이트된 스케쥴에 기초하여 상기 경고를 전송할 상기 지정자를 결정하는 단계와,
    상기 경고가 상기 동작 저장소로부터의 복원 동작에 매핑되는 경우, 복원 동작의 사전결정된 우선순위에 따라 상기 복원 동작을 수행하는 단계와,
    상기 경고가 상기 복원 동작에 매핑되지 않으면, 새로운 동작을 수행하도록 상기 지정자에게 상기 경고를 에스컬레이션시키는 단계와,
    경고-복원 동작 매핑에 연관된 상기 새로운 동작으로 기록을 업데이트하고 상기 새로운 동작을 수행한 상기 지정자, 상기 새로운 동작이 수행된 시간 및 상기 새로운 동작이 수행된 장치 또는 서버의 로그를 유지하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 검출된 문제와 연관된 진단 정보를 수집하는 단계와,
    상기 경고가 에스컬레이션되는 경우 상기 지정자에게 상기 수집된 진단 정보를 제공하는 단계와,
    상기 기록을 업데이트하는데 있어 상기 수집된 진단 정보를 이용하는 단계
    를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 수집된 진단 정보는,
    장치의 메모리 컨텐츠, 센서 판독값, 마지막 실행 명령, 실패한 명령, 및 상기 검출된 문제와 연관된 실패 결과
    의 세트 중 적어도 하나를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 경고를 에스컬레이션시킨 후에 상기 지정자로부터의 핸드오프 응답을 기다리는 단계와,
    상기 핸드오프 응답이 사전정의된 기간 내에 수신되지 않으면, 상기 경고를 또 다른 지정자에게 에스컬레이션시키는 단계를 더 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 지정자는, 사전정의된 지정자의 목록과 상기 경고의 명명 방식 중 하나로부터 결정되고, 상기 지정자는 사람과 팀 중 하나를 포함하는
    방법.
  6. 제 1 항에 있어서,
    지정된 팀 내에서 상기 경고를 수신하는 팀 멤버는 상기 지정된 팀에 대한 스케쥴링 정보 및 회전 알고리즘 중 하나에 기초하여 결정되는
    방법.
  7. 제 1 항에 있어서,
    상기 복원 동작은 사전정의되거나 복구 동작 성공 평가 방식에 기초하여 자동으로 생성된 복수의 동작으로부터 선택되는
    방법.
  8. 제 1 항에 있어서,
    상기 경고를 에스컬레이션시키는 단계는,
    이메일, 인스턴트 메시지, 텍스트 메시지, 페이지(page) 및 음성메일
    의 세트 중 적어도 하나를 통해 상기 지정자에게 상기 경고를 전송하는 단계를 포함하는
    방법.
  9. 제 1 항에 있어서,
    추가의 진단 정보를 수집하는 단계와,
    상기 추가의 진단 정보에 기초하여 상기 경고를 상기 복원 동작에 매핑하려고 다시 시도하는 단계
    를 더 포함하는 방법.
  10. 제 1 항에 있어서,
    상기 복원 동작의 실행 시에 상기 검출된 문제와 연관된 프로그램 및 장치 중 하나로부터 피드백 동작을 수신하는 단계와,
    상기 복원 동작과 연관된 성공률 기록을 업데이트하는 단계
    를 더 포함하는 방법.
  11. 분산 시스템에서 자동화된 복원 및 경고의 에스컬레이션을 위한 시스템으로서,
    모니터링 엔진과 자동화 엔진을 실행하는 서버를 포함하되,
    상기 모니터링 엔진은
    복수의 개별적인 지리적인 영역과 연관된 개별 지역 데이터베이스 내에서 분산 시스템의 소프트웨어 애플리케이션 및 장치 중 적어도 하나와 연관된 프로세스를 모니터링하고,
    분산 시스템의 개별적인 지리적 영역 내의 상기 소프트웨어 애플리케이션 및 장치 중 적어도 하나와 연관된 문제를 검출하고,
    상기 검출된 문제에 기초하여 경고를 전송하도록
    구성되고,
    상기 자동화 엔진은
    상기 경고를 수신하고,
    상기 검출된 문제와 연관된 진단 정보를 수집하고,
    복원 동작 데이터베이스를 이용하여 상기 경고를 복원 동작에 매핑하려고 시도하고,
    커스터마이즈된 복구 동작(customized repair actions)을 포함하는 지역 트러블슈팅 데이터베이스와 상호작용하여 상기 경고를 상기 커스터마이즈된 복구 동작 중 하나에 매핑하여 상기 복원 동작을 커스터마이즈하고,
    상기 경고가 복원 동작에 매핑되면, 상기 복원 동작을 수행하고,
    상기 경고가 복원 동작에 매핑되지 않으면, 새로운 동작을 수행하도록 상기 수집된 진단 정보와 함께 상기 경고를 지정자에게 에스컬레이션시키고,
    상기 복원 동작 데이터베이스 내의 기록을 업데이트하여 상기 새로운 동작을 수행한 상기 지정자, 상기 새로운 동작이 수행된 시간 및 상기 새로운 동작이 수행된 장치 또는 서버의 로그를 유지시키고,
    학습 알고리즘을 사용하여 상기 복원 동작 데이터베이스 내의 복원 동작을 호스팅하는 동작 목록을 확장시키고, 새로운 경고를 상기 동작 목록 내의 기존 동작에 매핑하고, 새로운 경고를 상기 새로운 동작에 매핑하도록 구성된
    시스템.
  12. 제 11 항에 있어서,
    복수의 모니터링 엔진을 더 포함하고, 각각의 모니터링 엔진은 상기 분산 시스템 내 각각의 지리적 영역에 대한 시스템 스케일에 기초하여 각각의 개별적인 지리적 영역을 모니터링하고 그들 각각의 영역에서 검출된 문제에 기초하여 경고를 송신하도록 구성되고,
    상기 자동화 엔진은, 매핑된 복원 동작을 수행하는 것과 지역 우선순위에 기초하여 상이한 영역으로부터의 경고를 상기 지정자에게 에스컬레이션시키는 것 중 하나를 수행하도록 구성되는
    시스템.
  13. 제 12 항에 있어서,
    상기 지역 우선순위는 사전정의된 우선순위, 하루 중 시간, 평일, 휴일, 및 각 지역과 연관된 조직 구조의 세트 중 적어도 하나를 포함하는
    시스템.
  14. 제 13 항에 있어서,
    상기 지역 우선순위는
    지정된 지원팀, 하드웨어 리소스, 소프트웨어 리소스 및 통신 리소스
    의 세트 중 적어도 하나의 사용가능성(availability)에 기초하여 추가로 결정되는
    시스템.
  15. 제 11 항에 있어서,
    상기 경고는 복수의 복원 동작으로 매핑되고, 상기 복원 동작은 사전정의된 실행 우선순위에 따라 실행되는
    시스템.
  16. 제 15 항에 있어서,
    상기 실행 우선순위는 복원 동작의 기록된 성공률에 기초하여 조정되는
    시스템.
  17. 제 11 항에 있어서,
    상기 장치는
    데스크탑 컴퓨터, 랩탑 컴퓨터, 핸드헬드 컴퓨터, 서버, 스마트폰, 모니터, 오디오 장비, 텔레비전 세트 및 비디오 캡처 장치
    중 하나를 포함하는
    시스템.
  18. 분산 시스템에서 자동화된 복원 및 경고의 에스컬레이션을 위해 컴퓨팅 장치에서 실행되는 방법으로서,
    모니터링 엔진에서, 분산 시스템 내 소프트웨어 애플리케이션 및 장치 중 적어도 하나와 연관된 문제를 검출하는 단계와,
    상기 모니터링 엔진으로부터의 상기 검출된 문제에 기초하여 경고를 전송하는 단계와,
    복수의 자동화 엔진 중에서의 자동화 엔진에서 상기 경고를 수신하는 단계- 각 자동화 엔진은 다른 영역에 할당됨 -와,
    상기 검출된 문제와 연관된 진단 정보를 수집하는 단계와,
    복원 동작 데이터베이스의 와일드카드 검색을 수행하여 상기 경고에 매핑된 복원 동작을 결정하는 단계와,
    상기 경고와 연관된 특수성을 갖는 복원 동작을 적용함으로써 상기 복원 동작 데이터베이스로부터의 복원 동작들 중 하나에 상기 경고를 매핑하려고 시도하는 단계- 상기 복원 동작은 상기 검출된 문제를 처리하는 명령 세트를 포함함 -와,
    커스터마이즈된 복구 동작을 포함하는 지역 트러블슈팅 데이터베이스와 상호작용하여 상기 경고를 상기 커스터마이즈된 복구 동작 중 하나에 매핑하여 상기 복원 동작을 커스터마이즈하는 단계와,
    통합된 스케쥴링 시스템 및 외부 스케쥴링 시스템 중 적어도 하나로부터 상기 경고와 연관된 복수의 지정자의 스케쥴을 업데이트하는 단계와,
    상기 복수의 지정자 중에서 지정자를 대기 중(on call)인 것으로 식별하는 상기 지정자의 업데이트된 스케쥴에 기초하여 상기 경고를 전송할 상기 지정자를 결정하는 단계와,
    상기 경고가 단일의 복원 동작에 매핑되는 경우, 상기 복원 동작을 수행하는 단계와,
    상기 경고가 복수의 복원 동작에 매핑되는 경우, 사전정의된 실행 우선순위에 따라 상기 복수의 자동화 엔진 중 하나에서 상기 복원 동작을 수행하는 단계- 복원 동작의 상기 사전정의된 실행 우선순위는 상기 복수의 자동화 엔진 간의 합의 알고리즘을 통해 기술됨 -와,
    상기 경고가 복원 동작에 매핑되지 않으면, 새로운 동작을 수행하도록 상기 수집된 진단 정보와 함께 상기 경고를 지정자에게 에스컬레이션시키는 단계와,
    상기 지정자로부터 핸드오프 응답을 수신하는 단계와,
    상기 수집된 진단 정보 및 상기 수행된 복원 동작과 연관된 피드백 응답을 이용하여 상기 복원 동작 데이터베이스에서의 기록을 업데이트하여, 향후 모니터링 및 자동화된 응답 작업에 사용될 성공률과 연관된 통계 정보로 상기 복원 동작 데이터베이스를 확장시키는 단계와,
    학습 알고리즘을 사용하여 상기 복원 동작 데이터베이스 내의 복원 동작을 호스팅하는 동작 목록을 확장시키고, 새로운 경고를 상기 동작 목록 내의 기존 동작에 매핑하며, 새로운 경고를 상기 새로운 동작에 매핑하는 단계
    를 포함하는 방법.
  19. 제 18 항에 있어서,
    상기 복원 동작은
    단일의 경고 및 경고의 그룹
    중 하나에 매핑되는
    방법.
  20. 제 18 항에 있어서,
    상기 지정자는 상기 경고의 명명 방식 및 지원 담당자(support personnel)의 가용성에 기초한 회전 알고리즘(rotational algorithm) 중 하나로부터 결정되는
    방법.
KR1020127027419A 2010-04-21 2011-03-30 복잡한 분산 애플리케이션에서의 자동화된 복원 및 에스컬레이션 기법 KR101824273B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/764,263 US8823536B2 (en) 2010-04-21 2010-04-21 Automated recovery and escalation in complex distributed applications
US12/764,263 2010-04-21
PCT/US2011/030458 WO2011133299A2 (en) 2010-04-21 2011-03-30 Automated recovery and escalation in complex distributed applications

Publications (2)

Publication Number Publication Date
KR20130069580A KR20130069580A (ko) 2013-06-26
KR101824273B1 true KR101824273B1 (ko) 2018-01-31

Family

ID=44815335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127027419A KR101824273B1 (ko) 2010-04-21 2011-03-30 복잡한 분산 애플리케이션에서의 자동화된 복원 및 에스컬레이션 기법

Country Status (10)

Country Link
US (1) US8823536B2 (ko)
EP (1) EP2561444B1 (ko)
JP (1) JP5882986B2 (ko)
KR (1) KR101824273B1 (ko)
CN (1) CN102859510B (ko)
BR (1) BR112012026917B1 (ko)
ES (1) ES2716029T3 (ko)
HK (1) HK1179724A1 (ko)
RU (1) RU2589357C2 (ko)
WO (1) WO2011133299A2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097272A1 (en) * 2011-10-18 2013-04-18 International Business Machines Corporation Prioritized Alert Delivery In A Distributed Processing System
US9413893B2 (en) 2012-04-05 2016-08-09 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
US9483344B2 (en) 2012-04-05 2016-11-01 Assurant, Inc. System, method, apparatus, and computer program product for providing mobile device support services
KR101426382B1 (ko) 2013-03-29 2014-08-13 케이티하이텔 주식회사 분산 파일 시스템에서 파이프라인을 이용한 자료 복구 방법
US9292402B2 (en) * 2013-04-15 2016-03-22 Century Link Intellectual Property LLC Autonomous service management
US9361184B2 (en) 2013-05-09 2016-06-07 International Business Machines Corporation Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system
US9471474B2 (en) * 2013-08-19 2016-10-18 Microsoft Technology Licensing, Llc Cloud deployment infrastructure validation engine
US9602337B2 (en) 2013-09-11 2017-03-21 International Business Machines Corporation Event and alert analysis in a distributed processing system
US9389943B2 (en) 2014-01-07 2016-07-12 International Business Machines Corporation Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system
CN104915219B (zh) * 2014-03-12 2018-11-27 奇点新源国际技术开发(北京)有限公司 单片机程序升级方法及装置
CN104007996B (zh) * 2014-06-16 2016-07-06 南京融教科技有限公司 一种分布式控制系统的可靠固件升级实现方法
US9436553B2 (en) * 2014-08-04 2016-09-06 Microsoft Technology Licensing, Llc Recovering usability of cloud based service from system failure
US10108414B2 (en) 2014-10-09 2018-10-23 International Business Machines Corporation Maintaining the integrity of process conventions within an ALM framework
US10303538B2 (en) 2015-03-16 2019-05-28 Microsoft Technology Licensing, Llc Computing system issue detection and resolution
US10153992B2 (en) * 2015-04-28 2018-12-11 Unisys Corporation Identification of progress towards complete message system integration using automation degree of implementation metrics
US9686220B2 (en) * 2015-04-28 2017-06-20 Unisys Corporation Debug and verify execution modes for computing systems calculating automation degree of implementation metrics
US9667573B2 (en) * 2015-04-28 2017-05-30 Unisys Corporation Identification of automation candidates using automation degree of implementation metrics
US10296717B2 (en) * 2015-05-14 2019-05-21 Salesforce.Com, Inc. Automated prescription workflow for device management
US20170237602A1 (en) * 2016-02-16 2017-08-17 Microsoft Technology Licensing, Llc Computer system monitoring based on entity relationships
US10180869B2 (en) * 2016-02-16 2019-01-15 Microsoft Technology Licensing, Llc Automated ordering of computer system repair
WO2017156184A1 (en) * 2016-03-09 2017-09-14 Alibaba Group Holding Limited Cross-regional data transmission
CN108038043B (zh) * 2017-12-22 2021-04-23 郑州云海信息技术有限公司 一种分布式存储集群告警方法、系统及设备
US10868711B2 (en) * 2018-04-30 2020-12-15 Splunk Inc. Actionable alert messaging network for automated incident resolution
US10270644B1 (en) * 2018-05-17 2019-04-23 Accenture Global Solutions Limited Framework for intelligent automated operations for network, service and customer experience management
FI128647B (en) 2018-06-29 2020-09-30 Elisa Oyj Automatic monitoring and control of networks
FI129101B (en) * 2018-06-29 2021-07-15 Elisa Oyj Automatic monitoring and control of networks
US20210216389A1 (en) * 2018-10-02 2021-07-15 Hewlett-Packard Development Company, L.P. Automatic repairs via communications with peer devices across multiple networks
CN117093434B (zh) * 2023-10-20 2024-01-30 深圳品网科技有限公司 一种用于笔记本电脑的开关机自检测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064486A1 (en) 2004-09-17 2006-03-23 Microsoft Corporation Methods for service monitoring and control
US20080281607A1 (en) 2007-05-13 2008-11-13 System Services, Inc. System, Method and Apparatus for Managing a Technology Infrastructure
JP2009276929A (ja) 2008-05-13 2009-11-26 Hitachi Electronics Service Co Ltd 自動障害対応システム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0546339B1 (en) * 1991-12-09 1996-07-03 Yokogawa Electric Corporation Distributed control system
JP3449425B2 (ja) * 1993-02-23 2003-09-22 本田技研工業株式会社 コンピュータネットワーク監視支援システム
US5619656A (en) 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US6615240B1 (en) 1998-12-18 2003-09-02 Motive Communications, Inc. Technical support chain automation with guided self-help capability and option to escalate to live help
US6918059B1 (en) 1999-04-28 2005-07-12 Universal Music Group Method and system for handling errors in a distributed computer system
US6742141B1 (en) 1999-05-10 2004-05-25 Handsfree Networks, Inc. System for automated problem detection, diagnosis, and resolution in a software driven system
JP2003085003A (ja) * 2001-09-06 2003-03-20 Matsushita Electric Ind Co Ltd 障害復旧援助方法、及び、障害復旧援助システム
US7243124B1 (en) 2002-09-06 2007-07-10 Oracle International Corporation Architecture for general purpose near real-time business intelligence system with client devices and methods therefor
US7376969B1 (en) * 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7137040B2 (en) 2003-02-12 2006-11-14 International Business Machines Corporation Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
US7089220B2 (en) * 2003-06-24 2006-08-08 Palo Alto Research Center Incorporated Complexity-directed cooperative problem solving
JP4728565B2 (ja) * 2003-07-16 2011-07-20 日本電気株式会社 障害復旧装置および障害復旧方法ならびにプログラム
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7426661B2 (en) 2004-07-20 2008-09-16 Softricity, Inc. Method and system for minimizing loss in a computer application
EP1630710B1 (en) 2004-07-21 2019-11-06 Microsoft Technology Licensing, LLC Containment of worms
JP2006163509A (ja) * 2004-12-02 2006-06-22 Olympus Corp 障害通知システム
US7900201B1 (en) 2004-12-21 2011-03-01 Zenprise, Inc. Automated remedying of problems in software application deployments
JP2007079896A (ja) * 2005-09-14 2007-03-29 Nomura Research Institute Ltd 監視装置及び監視方法
JP2007141007A (ja) * 2005-11-21 2007-06-07 Hitachi Ltd システム運用監視での障害時のサポートシステム化
CN101039498B (zh) * 2007-05-09 2010-06-16 中兴通讯股份有限公司 带有分布式告警处理的基站系统及其告警处理方法
US8892719B2 (en) * 2007-08-30 2014-11-18 Alpha Technical Corporation Method and apparatus for monitoring network servers
JP2009099135A (ja) * 2007-09-28 2009-05-07 Fujitsu Ltd 支援管理方法、支援管理システム及び情報処理装置
JP2009087136A (ja) * 2007-10-01 2009-04-23 Nec Corp 障害修復システムおよび障害修復方法
US8103909B2 (en) * 2008-09-15 2012-01-24 Juniper Networks, Inc. Automatic hardware-based recovery of a compromised computer
US8074107B2 (en) * 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064486A1 (en) 2004-09-17 2006-03-23 Microsoft Corporation Methods for service monitoring and control
US20080281607A1 (en) 2007-05-13 2008-11-13 System Services, Inc. System, Method and Apparatus for Managing a Technology Infrastructure
JP2009276929A (ja) 2008-05-13 2009-11-26 Hitachi Electronics Service Co Ltd 自動障害対応システム

Also Published As

Publication number Publication date
KR20130069580A (ko) 2013-06-26
BR112012026917B1 (pt) 2021-04-20
EP2561444A4 (en) 2017-08-30
ES2716029T3 (es) 2019-06-07
RU2589357C2 (ru) 2016-07-10
US20110260879A1 (en) 2011-10-27
RU2012144650A (ru) 2014-04-27
US8823536B2 (en) 2014-09-02
WO2011133299A2 (en) 2011-10-27
EP2561444B1 (en) 2018-12-19
HK1179724A1 (en) 2013-10-04
BR112012026917A2 (pt) 2016-07-12
CN102859510A (zh) 2013-01-02
JP5882986B2 (ja) 2016-03-09
EP2561444A2 (en) 2013-02-27
CN102859510B (zh) 2015-07-15
WO2011133299A3 (en) 2012-03-01
JP2013527957A (ja) 2013-07-04

Similar Documents

Publication Publication Date Title
KR101824273B1 (ko) 복잡한 분산 애플리케이션에서의 자동화된 복원 및 에스컬레이션 기법
US9548886B2 (en) Help desk ticket tracking integration with root cause analysis
US8447859B2 (en) Adaptive business resiliency computer system for information technology environments
US8930395B2 (en) Proactive monitoring of database servers
JP2017062767A (ja) インテリジェントなクラウド計画立案およびデコミッショニングのための方法およびシステム
US20150280969A1 (en) Multi-hop root cause analysis
US9552229B2 (en) Systems and methods for task scheduling
JP2014528126A (ja) 複数のターゲットへのマルチソースプッシュ通知の分配
US9940349B2 (en) General, flexible, resilient ticketing interface between a device management system and ticketing systems
US20150281011A1 (en) Graph database with links to underlying data
US7877695B2 (en) Tailored object
US20200186594A1 (en) Rule-based action triggering in a provider network
US20180349179A1 (en) Centralized flexible deployment system
US10289528B2 (en) Targeted user notification of bug fixes
US8914798B2 (en) Production control for service level agreements
US20130166963A1 (en) Process integration alerting for business process management
US11403084B2 (en) System and method for implementing an orchestration engine
US9870542B2 (en) Managing information technology solution centers
US11803598B2 (en) Query language for selecting and addressing resources
US20200358648A1 (en) Continuous monitoring of network devices during maintenance
US7996522B2 (en) Persistent scheduling techniques
US9588861B2 (en) Method and apparatus for automatically identifying components to monitor in an enterprise environment
US9672489B1 (en) Inventory validator with notification manager
US20230342694A1 (en) System and method for providing resilient enterprise operation and management
Zohuri et al. Event Management Categories and Best Practices

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant