KR102271007B1 - 시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법 - Google Patents

시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법 Download PDF

Info

Publication number
KR102271007B1
KR102271007B1 KR1020177002968A KR20177002968A KR102271007B1 KR 102271007 B1 KR102271007 B1 KR 102271007B1 KR 1020177002968 A KR1020177002968 A KR 1020177002968A KR 20177002968 A KR20177002968 A KR 20177002968A KR 102271007 B1 KR102271007 B1 KR 102271007B1
Authority
KR
South Korea
Prior art keywords
cloud
based service
customer
failure
recovery operation
Prior art date
Application number
KR1020177002968A
Other languages
English (en)
Other versions
KR20170041715A (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 KR20170041715A publication Critical patent/KR20170041715A/ko
Application granted granted Critical
Publication of KR102271007B1 publication Critical patent/KR102271007B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • 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
    • G06F11/3414Workload generation, e.g. scripts, playback
    • 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/3438Recording 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 monitoring of user actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

클라우드 기반 서비스의 사용성은 시스템 장애로부터 복구된다. 고객 경험과 연관된 고객 트랜잭션은 클라우드 기반 서비스에서 고객 경험을 시뮬레이트하도록 실행된다. 클라우드 기반 서비스와 연관된 장애는 고객 트랜잭션의 출력으로부터 검출된다. 복구 동작은 장애와 연관된 것으로 판정된다. 복구 동작은 서브시스템 상에서 실행되고, 성공 상태를 판정하기 위해 모니터링된다.

Description

시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법{RECOVERING USABILITY OF CLOUD BASED SERVICE FROM SYSTEM FAILURE}
분산형 컴퓨팅 기술은 다수의 컴퓨팅 리소스가 통합 솔루션 및 개별 솔루션을 제공할 수 있게 하였다. 분산형 컴퓨팅의 예인 클라우드 컴퓨팅은 다수의 시스템을 결합하여 사용자 요구에 대한 솔루션을 제공한다. 클라우드 컴퓨팅은 수많은 컴퓨팅 리소스를 포괄할 수 있다. 클라우드 컴퓨팅 애플리케이션 및 서비스에 이용되는 컴퓨팅 리소스는 네트워크 및 지역에 걸쳐 분산되어 있다. 분산되어 있는 컴퓨팅 리소스는 원격으로 제어 및 관리된다. 일반적으로, 수동 솔루션은 클라우드 컴퓨팅 자산에 설치 및 구성 지원을 제공한다. 광범위하게 분산되는 컴퓨팅 리소스의 인적 구성요소(human components)에 의한 수동 설치 솔루션은 비용면에서 효율적이지 않다.
클라우드 컴퓨팅 시스템에 대한 종래의 복구 솔루션은 제약을 갖는다. 종래의 복구 솔루션은 통상적으로 클라우드 컴퓨팅 시스템의 개개의 구성요소에서 장애를 처리한다. 개개의 구성요소의 상태는 국부적으로 모니터링된다. 개개의 구성요소의 상태에 대한 통지는 중앙 제어기로 전송된다. 종래의 복구 솔루션은 또한 구성요소 클러스터를 모니터링한다. 복구 동작은 클러스터로 전송 및 실행되어, 클러스터의 개개의 것들과 연관된 장애를 해결한다.
본 개요는 상세한 설명에서 이하에 추가로 설명되는 개념들의 모음을 단순화된 형태로 도입하는 데 제공된다. 본 개요는 청구대상의 핵심 특징 또는 필수 특징을 배타적으로 식별하기 위한 것이 아니며, 청구대상의 범위를 결정함에 있어서 도움이 되기 위한 것도 아니다.
실시예는 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 것에 관한 것이다. 일부 실시예에서, 클라우드 기반 서비스의 관리 애플리케이션은 고객 경험과 연관된 고객 트랜잭션(a customer transaction)을 시뮬레이트할 수 있다. 고객 경험은 클라우드 기반 서비스와 연관된 사용 시나리오를 형성하는 하나 이상의 고객 트랜잭션을 포함할 수 있다. 클라우드 기반 서비스와 연관된 장애는 시뮬레이트된 고객 트랜잭션의 출력으로부터 검출될 수 있다. 장애를 복구 동작에 맵핑함으로써 복구 동작을 결정하도록 장애가 분석될 수 있다. 복구 동작은 성공 상태를 판정하기 위해 실행 및 모니터링될 수 있다.
이들 및 다른 특징과 이점은 이하의 상세한 설명을 읽고 또한 연관된 도면의 검토함으로써 자명해질 것이다. 이전의 일반적인 설명과 이하의 상세한 설명의 양쪽이 설명되어 있으며 이들이 청구되는 측면을 제한하지 않음을 이해해야 한다.
도 1은 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스의 예시적인 복구를 나타내는 개념도이다.
도 2는 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스를 복구하는 방식의 구성요소를 나타낸다.
도 3은 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스를 복구하는 방식의 추가적인 구성요소를 나타낸다.
도 4는 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스를 복구하는 방식의 보고 특징을 나타낸다.
도 5는 실시예에 따른 시스템이 구현될 수 있는 단순화된 네트워크 환경을 나타낸다.
도 6은 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하도록 구성될 수 있는 범용 컴퓨팅 디바이스를 나타낸다.
도 7은 실시예에 따라 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 프로세스에 대한 논리 흐름도를 나타낸다.
간략히 상기한 바와 같이, 클라우드 기반 서비스와 연관된 관리 애플리케이션에 의해 시스템 장애로부터 클라우드 기반 서비스의 사용성이 복구될 수 있다. 고객 경험과 연관된 고객 트랜잭션은 고객 경험을 시뮬레이트하도록 될 수 있다. 클라우드 기반 서비스와 연관된 장애는 고객 트랜잭션의 출력으로부터 검출될 수 있다. 복구 동작은 장애와 연관되도록 결정될 수 있다. 복구 동작은 성공 상태를 판정하기 위해 실행 및 모니터링될 수 있다.
이하의 상세한 설명에서는, 그 일부를 형성하는 첨부 도면에 대한 참조가 이루어지며, 이는 특정 실시예 또는 예로써 도시된다. 이들 측면들은 결합될 수 있고, 다른 측면들이 이용될 수 있으며, 또한 본 발명의 정신 또는 범위를 벗어나지 않고서 구조적 변경이 이루질 수 있다. 따라서, 이하의 상세한 설명은 제한적인 의미로 취해지지 않아야 하며, 본 발명의 범위는 첨부되는 청구항 및 그 등가물에 의해 정의된다.
컴퓨팅 디바이스에서의 오퍼레이팅 시스템에서 실행되는 애플리케이션 프로그램과 함께 실행되는 프로그램 모듈의 일반적인 맥락으로 실시예가 설명될 것이지만, 당업자는 측면들이 다른 프로그램 모듈과 결합하여 구현될 수도 있음을 인지할 것이다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 구성요소, 데이터 구조, 및 특정한 작업을 수행하거나 특정한 추상 데이터 타입을 구현하는 다른 타입의 구조를 포함한다. 게다가, 당업자는 실시예가 핸드헬드 디바이스, 멀티 프로세서 시스템, 마이크로 프로세서 기반 또는 프로그래밍 가능 가전 제품, 미니 컴퓨터, 메인프레임 컴퓨터, 및 그에 상당한 컴퓨팅 디바이스를 포함해서 다른 컴퓨터 시스템 구성으로 실시될 수 있음을 이해할 것이다. 또한, 실시예는 통신 네트워크를 통해 링크되는 원격 프로세싱 디바이스에 의해 작업이 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 로컬 메모리 저장 디바이스 및 원격 메모리 저장 디바이스의 양쪽에 위치될 수 있다.
실시예는 컴퓨터-구현 프로세스(방법), 컴퓨팅 시스템, 혹은 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체와 같은 제조물로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하며, 컴퓨터 또는 컴퓨팅 시스템으로 하여금 예시적인 프로세스(들)를 수행하도록 하게 하기 위한 인스트럭션을 포함하는 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 메모리 디바이스이다. 컴퓨터 판독가능 저장 매체는 예를 들어 휘발성 컴퓨터 메모리, 비휘발성 메모리, 하드 드라이브, 및 플래시 드라이브 중 하나 이상을 거쳐서 구현될 수 있다.
본 명세서 전체에 걸쳐서 "플랫폼"의 용어는 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 소프트웨어 및 하드웨어 구성요소의 결합일 수 있다. 플랫폼의 예는 복수의 서버 상에서 실행되는 호스팅 서비스, 단일 컴퓨팅 디바이스에서 실행되는 애플리케이션, 및 그에 상당한 시스템을 포함하지만 이로 제한되지 않는다. "서버"의 용어는 일반적으로 네트워크 환경에서 하나 이상의 소프트웨어 프로그램을 실행하는 컴퓨팅 디바이스를 보통 지칭한다. 그러나, 서버는 네트워크 상의 서버로서 간주되는 하나 이상의 컴퓨팅 디바이스에서 실행되는 가상 서버(소프트웨어 프로그램)로서 구현될 수도 있다. 이러한 기술 및 실시예에 대한 보다 상세한 것은 이하의 설명에서 발견될 수 있다.
도 1은 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스의 예시적인 복구를 나타내는 개념도이다.
도면 100에서, 클라우드 기반 서비스(106)는 클라이언트 디바이스(102)를 통해 고객(108)에게 서비스를 제공할 수 있다. 클라우드 기반 서비스(106)는 클라이언트 디바이스(102)의 클라이언트 인터페이스를 통해 광범위하게 다양한 서비스를 제공할 수 있다. 서비스는 문서 공유, 이메일 서비스, 저장 서비스, 등을 포함할 수 있다. 또한, (클라이언트 디바이스(102)와 상호작용할 권한을 갖는) 고객(108)은 사람, 다수의 사람, 사람들의 그룹, 조직, 등을 포함하는 개체일 수 있다.
클라우드 기반 서비스(106)는 분산형 애플리케이션의 하나 이상의 구성요소를 실행하는 하나 이상의 컴퓨팅 디바이스를 통해 서비스를 제공하는 분산형 애플리케이션일 수 있다. 하나 이상의 컴퓨팅 디바이스는 유선 또는 무선 인프라스트럭처를 사용하는 하나 이상의 네트워크를 통해 접속될 수 있다. 클라우드 기반 서비스(106)의 예는 이메일 서비스를 포함할 수 있다. 이메일 서비스는 다수의 컴퓨팅 디바이스에서 호스팅될 수 있다. 이메일 서비스는 각 컴퓨팅 디바이스의 이용가능한 처리 용량에 기초하여 컴퓨팅 디바이스들 사이에서 나누어질 수 있다. 다른 예시적인 시나리오에서, 클라우드 기반 서비스(106)는 문서 공유 서비스를 포함할 수 있다. 문서 공유 서비스는 각 컴퓨팅 디바이스의 이용가능한 저장 용량에 기초하여 다수의 컴퓨팅 디바이스를 가로질러 저장된 문서를 분산시킬 수 있다. 이메일 서비스 및 문서 공유 서비스와 같은 클라우드 기반 서비스(106)의 예는 제한적인 의미로 제공되지 않는다. 클라우드 기반 서비스(106)는 고객(108)과 같은 하나 이상의 고객들에게 서비스를 제공하는 임의의 분산형 컴퓨팅 솔루션을 포함할 수 있다.
고객(108)은 클라이언트 디바이스(102)를 통해 클라우드 기반 서비스(106)와 상호작용하게 될 수 있다. 클라이언트 디바이스(102)는 데스크탑 컴퓨터, 스마트폰, 노트북 컴퓨터, 태블릿 컴퓨터, 등과 같은 다수의 컴퓨팅 디바이스를 포함할 수 있다. 고객(108)은 클라이언트 디바이스(102)에 의해 제공되는 클라우드 기반 서비스(106)의 클라이언트 인터페이스를 통해 클라우드 기반 서비스(106)와 상호작용할 수 있다. 이와 달리, 클라우드 기반 서비스(106)는 클라이언트 인터페이스를 제공할 수 있고, 클라이언트 디바이스(102)는 클라이언트 애플리케이션 내에서 클라이언트 인터페이스를 렌더링할 수 있다. 고객(108)은 터치 기반 동작(110), 키보드 기반 입력, 마우스 기반 입력, 등을 포함할 수 있는 다수의 입력 양식을 통해서 클라이언트 인터페이스와 상호작용할 수 있다. 터치 기반 동작(110)은 터치 동작, 스와이프 동작, 등과 같은 다수의 제스처를 포함할 수 있다.
클라우드 기반 서비스(106)의 클라이언트 인터페이스와 고객(108)의 하나 이상의 상호작용은 고객 경험(104) 내에 포함될 수 있다. 고객 경험(104)은 하나 이상의 고객 작업을 위한 컨테이너일 수 있다. 고객 경험(104)의 예는 고객(108)이 이메일 서비스의 클라이언트 인터페이스를 시작하고, 고객(108)의 사용자 계정과 연관된 하나 이상의 이메일을 읽는 것을 포함할 수 있다. 고객 경험(104)의 다른 예는 고객(108)이 문서를 편집하기 위해 문서 공유 서비스의 편집 클라이언트 인터페이스를 시작하는 것을 포함할 수 있다. 또한, 고객 경험(104)은 고객(108)이 문서를 편집하고 문서를 저장하는 것을 포함할 수 있다.
도 1에서의 예시적인 시스템이 클라우드 기반 서비스(106) 및 고객 경험(104)을 포함하는 특정 구성요소로 설명되었지만, 실시예는 이들 구성요소 또는 시스템 구성으로 제한되지 않으며 적은 또는 추가적인 구성요소를 이용하는 다른 시스템 구성으로 구현될 수 있다.
도 2는 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스를 복구하는 방식의 구성요소를 나타낸다.
도면 200에서, 고객 경험(204)에 기초하여 클라우드 기반 서비스(206)를 복구하는 방식이 설명될 수 있다. 관리 애플리케이션(210)은 클라우드 기반 서비스(206)의 서브시스템(208)과 연관된 장애(212)를 판정하기 위해 고객 트랜잭션(202)을 시뮬레이트할 수 있다.
관리 애플리케이션(210)은 클라우드 기반 서비스(206)를 모니터링 및 관리하는 애플리케이션을 포함할 수 있다. 관리 애플리케이션(210)은 클라우드 기반 서비스(206)의 구성요소일 수 있다. 이와 달리, 관리 애플리케이션(210)은 클라우드 기반 서비스(206)와 상호작용하도록 권한을 가질 수 있는 독립형 애플리케이션일 수 있다.
관리 애플리케이션(210)은 클라우드 기반 서비스(206)의 헬스(health) 모니터링과 연관된 고객 경험들의 세트로부터 고객 경험을 선택할 수 있다. 클라우드 기반 서비스(206)의 헬스 모니터링은 클라우드 기반 서비스(206)에 의해 제공된 연속 동작들에 대한 (중단된 기능의 모니터링 및 해결과 같은) 프로세스를 포함할 수 있다. 또한, 고객 경험(204)은 사용 빈도, 사용 이력 분포, 및 고객 경험(204)의 사용의 최근성을 포함하는 기준에 기초하여 선택될 수 있다. 예시적인 시나리오에서, 관리 애플리케이션(210)은 사용 빈도에 기초하여 정렬되는 고객 경험들의 세트로부터 가장 빈번하게 사용된 고객 경험(204)을 선택할 수 있다. 다른 예시적인 시나리오에서, 관리 애플리케이션(210)은 고객 경험들의 세트 중 사용 이력 분포의 최상위에 있는 고객 경험(204)을 선택할 수 있다. 또 다른 예시적인 시나리오에서, 관리 애플리케이션(210)은 사용의 최근성에 기초하여 정렬되는 고객 경험들의 세트로부터 가장 최근에 사용된 고객 경험(204)을 선택할 수 있다.
이와 달리, 관리 애플리케이션(210)은 클라우드 기반 서비스(206)의 헬스 모니터링과 연관된 고객 경험들의 세트로부터 고객 경험(204)의 선택을 수신할 수 있다. 선택은 고객 경험(204)과 연관된 고객 또는 클라우드 기반 서비스(206)의 관리자를 포함한 이해 관계자(a stakeholder)에 의해 이루어질 수 있다.
또한, 고객 경험(204)은 고객 트랜잭션(202)을 저장할 수 있다. 고객 트랜잭션(202)은 서브시스템(208)을 통해 클라우드 기반 서비스(206)에 의해 실행될 수 있는 하나 이상의 명령을 포함할 수 있다. 서브시스템(208)은 고객 트랜잭션(202)의 시뮬레이션 동안에 출력을 생성할 수 있다. 출력은 고객 트랜잭션(202)과 연관된 장애를 판정하는 데 사용될 수 있다.
또한, 관리 애플리케이션(210)은 고객 경험(204)이 고객 트랜잭션(202)과 함께 하나 이상의 다른 고객 트랜잭션을 저장할 수 있다고 결정할 수 있다. 하나 이상의 다른 고객 트랜잭션은 클라우드 기반 서비스(206)와 연관된 하나 이상의 다른 장애들 또는 장애(212)를 검출하도록 시뮬레이트될 수도 있다. 예는 클라우드 기반 서비스(206)의 예와 같은 이메일 서비스에서의 고객 경험(204)의 시뮬레이션을 포함할 수 있다. 고객 트랜잭션(202)은 이메일 인터페이스 개시 동작을 포함할 수 있다. 하나 이상의 다른 고객 트랜잭션은 이메일의 검색 및 고객 경험(204)과 연관된 이메일의 렌더링을 포함할 수 있다.
클라우드 기반 서비스(206)의 서브시스템(208)은 고객 트랜잭션(202)을 시뮬레이트할 수 있다. 장애(212)는 고객 트랜잭션(202)의 시뮬레이션 동안에 검출될 수 있다. 서브시스템(208)은 고객 트랜잭션(202)의 출력을 통해 장애(212)를 보고할 수 있다.
이와 달리, 장애(212)는 사용 데이터로부터 추정될 수도 있다. 사용 데이터는 패시브 데이터(passive data)로 지칭될 수도 있다. 사용 데이터는 클라우드 기반 서비스(206)의 사용 시나리오의 하나 이상의 고객 트랜잭션의 측정을 포함할 수 있다. 측정은 클라우드 기반 서비스(206)의 시나리오와 연관된 에러를 캡처할 수 있다. 클라우드 기반 서비스(206)와 연관된 클라이언트 디바이스는 사용 데이터를 캡처하고, 관리 애플리케이션(210)과 같은 분석 애플리케이션에 사용 데이터를 전송할 수 있다. 관리 애플리케이션(210)은 임계치를 초과하는 사용 데이터에 의해 보고된 다수의 에러에 기초하여 장애(212)를 검출하도록 사용 데이터를 처리할 수 있다. 임계치는 클라우드 기반 서비스(206)의 이해 관계자에 의해 구성될 수 있다. 개인 데이터는 사용 데이터를 익명화하기 위해 사용 데이터로부터 제거될 수도 있다. 개인 데이터의 예는 고객 위치 등을 포함할 수 있다. 또한, 사용 데이터는 무엇보다도 장애가 발생한 클라우드 기반 서비스(206)와 연관된 하나 이상의 서브시스템의 식별 정보와 같은 공통 기준에 기초하여 집약될 수 있다.
사용 데이터는 클라이언트 디바이스에 의해 로그 파일에 캡처되어, 관리 애플리케이션(210)에 전송될 수 있다. 관리 애플리케이션(210)은 장애(212)와 연관된 정보를 추출하도록 로그 파일을 파싱할 수 있다. 관리 애플리케이션(210)은 클라우드 기반 서비스(206)의 디바이스와 같은 다른 소스들로부터 사용 데이터를 검색할 수도 있다. 클라우드 기반 서비스(206)는 고객과 연관된 사용 시나리오의 측정을 캡처하는 데 리소스를 할당할 수 있다. 측정은 사용 데이터로서 저장될 수 있고, 장애(212)의 모니터링 및 분석을 위해 관리 애플리케이션(210)과 같은 분석 애플리케이션에 이용가능하게 될 수 있다.
도 3은 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스를 복구하는 방식의 추가적인 구성요소를 나타낸다.
도면 300에서, 관리 애플리케이션(310)은 클라우드 기반 서비스(306)에서 시뮬레이트된 고객 트랜잭션의 출력(314)로부터 장애(312)를 판정할 수 있다. 출력(314)은 무엇보다도 장애가 발생한 클라우드 기반 서비스(306)와 연관된 하나 이상의 서브시스템의 식별 정보와 같은 공통의 기준에 기초하여 집약될 수도 있다. 장애(312)는 장애(312)와 연관된 서브시스템(308) 상에서 실행될 수 있는 복구 동작(316)에 맵핑될 수 있다. 복구 동작(316)은 복구 동작(316)의 성공 상태(318)를 판정하기 위해 모니터링될 수 있다.
관리 애플리케이션(310)은 서브시스템(308)을 정상 상태로 회복시키도록 서브시스템(308) 상에서 복구 동작(316)을 실행할 수 있다. 이와 달리, 복구 동작(316)은 서브시스템(308)(장애가 발생한 서브시스템)과 연관된 하나 이상의 프로세스를 장애 극복 기능을 제공하는 정상적인 서브시스템으로 재라우팅하도록 실행될 수 있다.
일부 예에 의하면, 고객 경험과 연관된 하나 이상의 메트릭은 복구 동작(316)을 모니터링할 때에 추적될 수 있다. 하나 이상의 메트릭은 클라우드 기반 서비스(306)의 하나 이상의 서브시스템에서 시뮬레이트된 하나 이상의 고객 트랜잭션과 연관된 측정을 포함할 수 있다. 하나 이상의 메트릭이 성공 상태(318)와 연관된 하나 이상의 임계치 이상이라고 판정하기 위해 메트릭은 복구 동작(316) 동안에 모니터링될 수 있다.
고객 경험을 시뮬레이트할 수 있는 서브시스템(308)과 연관된 메트릭으로부터 가용성 수치(availability number)가 생성될 수 있다. 메트릭은 출력(314)으로부터 판정될 수 있다. 가용성 수치가 임계치 미만이라는 다른 판정에 응답하여 장애(312)가 판정될 수 있다. 임계치는 클라우드 기반 서비스(306)의 관리자에 의해 구성가능할 수 있다.
관리 애플리케이션(310)은 성공 상태(318)가 부정적이라는 판정에 응답하여 장애(312)와 연관된 다른 복구 동작을 결정할 수도 있다. 복구 동작(312)이 서브시스템(308)을 정상 상태로 회복시키지 못하면, 관리 애플리케이션(310)은 장애(312)에 대응하는 복구 동작들의 리스트로부터 다른 복구 동작을 검색하여 그 다른 복구 동작을 실행할 수 있다. 다른 복구 동작은 서브시스템(308)을 정상적인 상태로 회복시키기 위해 성공 상태(318)를 판정하도록 모니터링될 수 있다. 복구 동작(316)은 제 1 복구 동작일 수 있다. 다른 복구 동작은 제 2 복구 동작일 수 있다.
다른 예에 의하면, 관리 애플리케이션(310)은 하나 이상의 기준을 판정하기 위해 출력(314)을 분석할 수 있다. 기준은 장애가 발생한 클라우드 기반 서비스(306)와 연관된 하나 이상의 서브시스템의 식별 정보, 장애가 발생한 하나 이상의 서브시스템의 개수, 장애가 발생한 하나 이상의 서브시스템과 연관된 패턴, 등을 포함할 수 있다. 기준은 장애(312)에 포함될 수 있다. 장애(312)는 기준에 기초하여 복구 동작(316)에 맵핑될 수 있다.
도 4는 실시예에 따라, 고객 경험에 기초하여 클라우드 기반 서비스를 복구하는 방식의 보고 특징을 나타낸다.
도면 400에서, 관리 애플리케이션(410)은 클라우드 기반 서비스에서의 하나 이상의 장애를 판정하기 위해 클라우드 기반 서비스에서의 고객 경험의 시뮬레이션에 기초하여 보고(420)를 생성할 수 있다. 보고(420)는 장애(412), 복구 동작(416), 또는 성공 상태(418)과 연관된 정보를 포함할 수 있다. 보고(420)는 이해 관계자(422)에 의해 요청된 바와 같은 보고 포맷에 일치하도록 포맷화될 수 있다.
이해 관계자(422)는 고객 경험과 연관된 고객을 포함할 수 있다. 이해 관계자(422)는 클라우드 기반 시스템의 관리를 포함할 수도 있다. 보고(420)는 스케쥴에 기초하여 전송될 수 있다. 이와 달리, 보고(420)는 사용자 경험의 시뮬레이션 및 장애(412)의 해결에 기초하여 동적으로 전송될 수 있다.
시스템 장애로부터 클라우드 기반 서비스의 사용성 복구의 기술적 효과는, 서비스의 하나 이상의 서브시스템을 갖는 장애 조건이 검출될 때에 클라우드 기반 서비스의 회복 개선을 포함할 수 있다.
도 2 및 4에서의 예시적인 시나리오 및 방식은 특정 구성요소, 데이터 타입, 및 구성으로 도시되어 있다. 실시예는 이들 예시적인 구성에 따른 시스템으로 한정되지 않는다. 시스템 장애로부터 클라우드 기반 서비스의 사용성 복구는 애플리케이션 및 사용자 인터페이스에 보다 적은 구성요소 또는 추가적인 구성요소를 이용하는 구성으로 구현될 수 있다. 또한, 도 2 및 4에 도시된 예시적인 방식 및 구성요소와 그들의 서브구성요소는 여기서 설명되는 원리를 이용해서 다른 값과 유사한 방식으로 구현될 수 있다.
도 5는 실시예가 구현될 수 있는 예시적인 네트워크 환경이다. 클라우드 기반 서비스의 고객 기반 복구를 제공하도록 구성된 관리 애플리케이션은 호스트 서비스와 같은 하나 이상의 서버들(514) 상에서 실행되는 소프트웨어를 통해서 구현될 수 있다. 플랫폼은 네트워크(들)(510)를 통해서 스마트폰(513), 랩탑 컴퓨터(512), 또는 데스크탑 컴퓨터(511)('클라이언트 디바이스')와 같은 개개의 컴퓨팅 디바이스 상의 클라이언트 애플리케이션과 통신할 수 있다.
클라이언트 디바이스들(511-513) 중 임의의 디바이스 상에서 실행되는 클라이언트 애플리케이션은 서버들(514)에 의해, 또는 개개의 서버(516) 상에서 실행되는 애플리케이션(들)을 통해 통신을 가능하게 할 수 있다. 관리 애플리케이션은 클라우드 기반 서비스에서의 하나 이상의 장애를 판정하기 위해 고객 경험을 시뮬레이트할 수 있다. 장애는 복구 동작의 성공 상태를 판정하기 위해 실행 및 모니터링될 수 있는 복구 동작에 맵핑될 수 있다. 관리 애플리케이션은 장애 및 복구 동작과 연관된 데이터를 데이터 저장소(들)(519)에 직접 또는 데이터베이스 서버(518)를 통해 저장할 수 있다.
네트워크(들)(510)는 서버, 클라이언트, 인터넷 서비스 제공자, 및 통신 매체의 임의의 토폴로지를 포함할 수 있다. 실시예에 따른 시스템은 정적 또는 동적 토폴로지를 가질 수 있다. 네트워크(들)(510)는 기업 네트워크와 같은 보안 네트워크, 무선 개방형 네트워크와 같은 비보안형 네트워크, 또는 인터넷을 포함할 수 있다. 네트워크(들)(510)는 PSTN(Public Switched Telephone Network) 또는 셀룰러 네트워크와 같은 다른 네트워크 상에서 통신을 조정할 수도 있다. 또한, 네트워크(들)(510)는 불루투스 또는 그와 유사한 것 등의 근거리 무선 네트워크를 포함할 수 있다. 네트워크(들)(510)는 여기서 설명되는 노드들 사이에 통신을 제공한다. 제한되지 않는 예로써, 네트워크(들)(510)는 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다.
컴퓨팅 디바이스, 애플리케이션, 데이터 소스, 및 데이터 분산형 시스템의 다수의 다른 구성은 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 데 이용될 수 있다. 또한, 도 5에 논의된 네트워크 환경은 단지 예시를 위한 것이다. 실시예는 예시적인 애플리케이션, 모듈, 또는 프로세스로 제한되지 않는다.
도 6은 여기서 설명되는 적어도 일부의 실시예에 따라 구성되며, 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하도록 구성될 수 있는 범용 컴퓨팅 디바이스를 도시한다.
예컨대, 컴퓨팅 디바이스(600)는 시스템 장애로부터 클라우드 기반 서비스의 유요성을 복구하는 데 사용될 수 있다. 기본 구성(602)의 예에서, 컴퓨팅 디바이스(600)는 하나 이상의 프로세서(604) 및 시스템 메모리(606)를 포함할 수 있다. 메모리 버스(608)는 프로세서(604)와 시스템 메모리(606) 간의 통신에 사용될 수 있다. 기본 구성(602)은 내부 점선 내의 구성요소로 도 6에 도시될 수 있다.
원하는 구성에 따라, 프로세서(604)는 마이크로프로세서(μP), 마이크로제어기(μC), 디지털 신호 처리기(DSP), 또는 이들의 임의의 조합을 포함하지만 이로 제한되지 않는 임의의 타입일 수 있다. 프로세서(604)는 레벨 캐시 메모리(612), 프로세서 코어(614), 및 레지스터(616)와 같은 하나 이상의 캐싱 레벨을 포함할 수 있다. 프로세서 코어(614)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어, 또는 이들의 임의의 조합을 포함할 수 있다. 메모리 제어기(618)는 프로세서(604)와 함께 사용될 수도 있거나, 또는 일부 구현예에서 메모리 제어기(618)는 프로세서(604)의 내부 부품일 수 있다.
원하는 구성에 따라, 시스템 메모리(606)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리, 등과 같은) 비휘발성 메모리, 또는 이들의 임임의 조합을 포함하지만 이로 제한되지 않는 임의의 타입일 수 있다. 시스템 메모리(606)는 오퍼레이팅 시스템(620), 관리 애플리케이션(622), 및 프로그램 데이터(624)를 포함할 수 있다. 관리 애플리케이션(622)은 클라우드 기반 서비스에서의 하나 이상의 장애를 판정하기 위해 고객 경험을 시뮬레이트할 수 있다. 관리 애플리케이션(622)은 장애와 연관된 서브시스템을 회복시키기 위해 복구 동작에 장애를 맵핑하고 그 복구 동작을 실행할 수 있다. 프로그램 데이터(624)는 다른 데이터 중에서, 여기서 설명되는 바와 같은 시뮬레이이션 데이터(628) 등을 포함할 수 있다. 시뮬레이션 데이터(628)는 장애 및 복구 동작과 연관된 정보를 포함할 수 있다.
컴퓨팅 디바이스(600)는 추가적인 특징 또는 기능, 및 기본 구성(602)과 임의의 원하는 디바이스 및 인터페이스 사이에서 통신을 가능하게 하는 추가적인 인터페이스를 가질 수 있다. 예컨대, 버스/인터페이스 제어기(630)는 저장 인터페이스 버스(634)를 통해서 기본 구성(602)과 하나 이상의 데이터 저장 디바이스(632) 사이의 통신을 가능하게 하는 데 사용될 수 있다. 데이터 저장 디바이스(632)는 하나 이상의 이동식 저장 디바이스(636), 하나 이상의 비이동식 저장 디바이스(638), 또는 이들의 조합일 수 있다. 이동식 저장 및 비이동식 저장 디바이스의 예는, 몇 가지 예를 들면 플렉서블 디스크 드라이브 및 HDD와 같은 자기 디스크 디바이스, CD 드라이브 또는 DVD 드라이브와 같은 광학 디스크 드라이브, SSD(solid state drives), 및 테이프 드라이브를 포함할 수 있다. 예시적인 컴퓨터 저장 매체는 컴퓨터 판독가능 인스트럭션, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성의 이동식 및 비이동식 매체를 포함할 수 있다.
시스템 메모리(606), 이동식 저장 디바이스(636), 및 비이동식 저장 디바이스(638)는 컴퓨터 저장 매체의 예일 수 있다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD, SSD, 또는 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는 데 사용될 수 있으며 컴퓨팅 디바이스(600)에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있지만, 이로 제한되지 않는다. 임의의 이러한 컴퓨터 저장 매체는 컴퓨팅 디바이스(600)의 부분일 수 있다.
컴퓨팅 디바이스(600)는 버스/인터페이스 제어기(630)를 통해 다수의 인터페이스 디바이스(예를 들어, 하나 이상의 출력 디바이스(642), 하나 이상의 주변 인터페이스(644), 및 하나 이상의 통신 디바이스(666))로부터 기본 구성(602)으로의 통신을 가능하게 하기 위한 인터페이스 버스(640)를 포함할 수도 있다. 예시적인 출력 디바이스(642)의 일부는 그래픽 처리 유닛(648) 및 오디오 처리 유닛(650)을 포함할 수 있으며, 이들은 하나 이상의 A/V 포트(652)를 거쳐서 디스플레이 또는 스피커와 같은 다수의 외부 디바이스와 통신하도록 구성될 수 있다. 하나 이상의 예시적인 주변 인터페이스(644)는 직렬 인터페이스 제어기(654) 또는 병렬 인터페이스 제어기(656)를 포함할 수 있으며, 이들은 하나 이상의 I/O 포트(658)를 거쳐서 입력 디바이스(예를 들어, 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 등) 또는 다른 주변 디바이스(예를 들어, 프린터, 스캐너, 등)와 같은 외부 디바이스와 통신하도록 구성될 수 있다. 예시적인 통신 디바이스(666)는 네트워크 제어기(660)를 포함할 수 있고, 이는 하나 이상의 통신 포트(664)를 거쳐서 네트워크 통신 링크 상에서 하나 이상의 다른 컴퓨팅 디바이스(662)와의 통신을 가능하게 하도록 구성될 수 있다. 하나 이상의 다른 컴퓨팅 디바이스(662)는 서버, 클라이언트 장비, 및 그에 상당한 디바이스를 포함할 수 있다.
네크워크 통신 링크는 통신 매체의 일례일 수 있다. 통신 매체는 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호의 컴퓨터 판독가능 인스트럭션, 데이터 구조, 프로그램 모듈, 또는 다른 데이터에 의해 구현될 수 있고, 또한 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 변조된 데이터 신호 특성들의 세트 중 하나 이상을 갖는 신호일 수 있거나, 혹은 신호의 정보를 인코드하는 방식으로 변경될 수 있다. 비제한적인 예로써, 통신 매체는 유선 네트워크 또는 직접-유선(direct-wired) 접속과 같은 유선 매체와, 음향, 무선 주파수(RF), 마이크로파, 적외선(IR), 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용되는 용어인 컴퓨터 판독가능 매체는 저장 매체 및 통신 매체의 양쪽을 포함할 수 있다.
컴퓨팅 디바이스(600)는 상기 기능들 중 임의의 기능을 포함하는 범용 또는 특화된 서버, 메인프레임, 또는 유사 컴퓨터의 일부로서 구현될 수 있다. 컴퓨팅 디바이스(600)는 랩탑 컴퓨터 및 비랩탑 컴퓨터 구성의 양쪽을 포함하는 퍼스널 컴퓨터로서 구현될 수도 있다.
실시예는 시스템 장애로부터 클라우드 기반 서비스의 사용성의 복구를 포함할 수도 있다. 이들 방법은 여기서 설명되는 구조를 포함해서 많은 방식으로 구현될 수 있다. 한 가지 이러한 방식은 본 발명에서 설명되는 타입의 디바이스를 이용하는 기계 동작에 의한 것일 수 있다. 다른 선택적인 방식은, 동작들 중 일부를 하나 이상의 인간 오퍼레이터가 수행하는 반면에 다른 동작들은 기계에 의해 수행될 수 있는 것에 협력하여 수행되어야 하는 방법들의 개개의 동작들 중 하나 이상의 동작에 대한 것일 수 있다. 이들 인간 오퍼레이터는 서로 함께 위치되지 않아도 되지만, 각각은 프로그램의 일부를 수행하는 기계와 함께 있을 수 있다. 다른 예에서, 인간 상호작용은 예를 들어 기계 자동화될 수 있는 사전 선택 기준에 의해 자동화될 수 있다.
도 7은 실시예에 따라, 시스템 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 프로세스의 논리 흐름도를 나타낸다. 프로세스(700)는 클라우드 기반 서비스의 관리 애플리케이션 상에서 구현될 수 있다.
프로세스(700)는 고객 경험과 연관된 고객 트랜잭션이 시뮬레이트될 수 있는 동작(710)으로 시작된다. 고객 트랜잭션은 클라우드 기반 서비스에서 고객 경험을 시뮬레이트하기 위한 하나 이상의 명령을 포함할 수 있다. 동작 720에서, 클라우드 기반 서비스와 연관된 장애는 고객 트랜잭션의 출력으로부터 검출될 수 있다. 장애와 연관된 복구 동작은 동작 730에서 판정될 수 있다. 복구 동작들의 리스트에 기초하여 장애가 복구 동작에 맵핑될 수 있다. 다음에, 복구 동작은 동작 740에서 실행될 수 있다. 동작 750에서, 복구 동작과 연관된 성공 상태를 판정하기 위해 복구 동작이 모니터링될 수 있다.
프로세스(700)에 포함된 동작들은 예시를 위한 것이다. 실시예에 따른 관리 애플리케이션은 적은 단계들 또는 추가적인 단계들을 갖는 유사한 프로세서에 의해서뿐만 아니라 여기서 설명되는 원리를 이용하는 동작들의 상이한 순서로 구현될 수 있다.
일부 예에 의하면, 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 컴퓨팅 디바이스 상에서 실행되는 방법이 설명될 수 있다. 방법은 고객 경험과 연관된 고객 트랜잭션을 시뮬레이트하는 단계와, 고객 트랜잭션의 출력으로부터 클라우드 기반 서비스와 연관된 장애를 검출하는 단계와, 장애와 연관된 복구 동작을 결정하는 단계와, 복구 동작을 실행하는 단계와, 복구 동작과 연관된 성공 상태를 판정하기 위해 복구 동작을 모니터링하는 단계를 포함할 수 있다.
다른 예에 의하면, 고객 경험은 클라우드 기반 서비스의 헬스 모니터링과 연관된 고객 경험들의 세트로부터 선택될 수 있고, 상기 고객 경험은 사용 빈도, 사용 이력 분포, 및 사용의 최근성(recentness of use)의 세트 중 적어도 하나를 포함하는 기준에 기초하여 선택된다. 클라우드 기반 서비스의 헬스 모니터링과 연관된 고객 경험들의 세트로부터 고객 경험의 선택이 수신될 수 있고, 여기서 선택은 고객 경험과 연관된 고객 및 클라우드 기반 서비스의 관리자의 세트 중 하나를 포함한 이해 관계자에 의해 이루어질 수 있다. 고객 경험은 고객 트랜잭션을 하나 이상의 다른 고객 트랜잭션과 함께 저장하도록 판정될 수 있다. 하나 이상의 다른 고객 트랜잭션은 클라우드 기반 서비스와 연관된 장애 또는 하나 이상의 다른 장애를 검출하도록 시뮬레이트될 수 있다.
다른 예에 의하면, 방법은 클라우드 기반 서비스와 연관된 서브시스템에 장애를 맵핑하는 단계와, 서브시스템을 정상적인 상태로 회복시키도록 서브시스템 상에서 복구 동작을 실행하는 단계를 더 포함할 수 있다. 방법은 클라우드 기반 서비스와 연관된 장애가 발생한 서브시스템에 장애를 맵핑하는 단계와, 장애가 발생한 서브시스템과 연관된 하나 이상의 프로세스를 장애 극복 기능을 제공하는 정상적인 서브시스템으로 재라우팅하도록 복구 동작을 실행하는 단계를 더 포함할 수 있다. 하나 이상의 메트릭이 성공 상태와 연관된 하나 이상의 임계치를 초과함을 판정하기 위해, 복구 동작을 모니터링하는 동안에 고객 경험과 연관된 하나 이상의 메트릭을 추적할 수 있다. 장애는 복구 동작들의 리스트의 복구 동작에 대응될 수 있다.
다른 예에 의하면, 방법은 성공 상태가 부정적이라는 판정에 응답하여, 장애와 연관된 다른 복구 동작을 결정하고 다른 복구 동작을 실행하는 단계를 더 포함할 수 있다. 다른 복구 동작은 다른 복구 동작과 연관된 성공 상태를 판정하기 위해 모니터링될 수 있다. 장애는 클라우드 기반 서비스와 연관된 하나 이상의 장애가 발생한 서브시스템들을 구별하기 위해 출력을 분석함으로써 그 출력으로부터 생성될 수 있다.
일부 예에 의하면, 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 컴퓨팅 디바이스가 설명될 수 있다. 컴퓨팅 디바이스는 메모리, 메모리에 결합된 프로세서를 포함할 수 있다. 프로세서는 메모리에 저장된 인스트럭션과 함께 관리 애플리케이션을 실행하도록 구성될 수 있다. 관리 애플리케이션은 고객 경험과 연관된 고객 트랜잭션을 시뮬레이트하도록 구성될 수 있고, 상기 고객 경험은 고객 트랜잭션을 저장하고, 고객 트랜잭션의 출력으로부터 클라우드 기반 서비스와 연관된 장애를 검출하고, 장애와 연관된 복구 동작을 결정하고, 복구 동작을 실행하고, 복구 동작과 연관된 성공 상태를 판정하기 위해 복구 동작을 모니터링한다.
다른 예에 의하면, 관리 애플리케이션은 장애와 연관된 정보를 포함한 보고를 생성하고, 클라우드 기반 시스템과 연관된 이해 관계자에게 보고를 전송하도록 또한 구성되고, 상기 이해 관계자는 고객 경험과 연관된 고객 및 클라우드 기반 시스템의 관리자를 포함한다. 관리 애플리케이션은 복구 동작 및 성공 상태와 연관된 정보를 포함한 보고를 생성하고, 클라우드 기반 시스템과 연관된 이해 관계자에게 보고를 전송하도록 또한 구성되고, 상기 이해 관계자는 고객 경험과 연관된 고객 및 클라우드 기반 시스템의 관리자를 포함한다.
일부 예에 의하면, 관리 애플리케이션은 장애가 발생한 클라우드 기반 서비스와 연관된 하나 이상의 서브시스템, 장애가 발생한 하나 이상의 서브시스템의 개수, 및 장애가 발생한 하나 이상의 서브시스템과 연관된 패턴의 세트 중 적어도 하나를 포함하는 하나 이상의 기준을 결정하기 위해 출력을 분석하도록 또한 구성된다. 하나 이상의 기준은 장애에 포함될 수 있고, 장애는 기준에 기초하여 복구 동작에 맵핑될 수 있다. 가용성 수치는 출력 내에서의 클라우드 기반 서비스의 하나 이상의 서브시스템과 연관된 메트릭으로부터 생성될 수 있다. 장애는 가용성 수치가 임계치 미만이라는 판정에 응답하여 판정될 수 있고, 상기 임계치는 클라우드 기반 서비스의 관리자에 의해 구성가능할 수 있다.
일부 예에 의하면, 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 인스트럭션치 저장되어 있는 컴퓨터 판독가능 메모리 디바이스가 설명될 수 있다. 인스트럭션은 상기한 방법과 유사한 동작을 포함할 수 있다.
상기 명세서, 예들, 및 데이터는 실시예들의 구성에 대한 제조 및 사용의 완벽한 설명을 제공한다. 청구대상이 구조적 특징 및/또는 방법론적 동작에 특정하게 설명되었지만, 첨부된 청구항에 정의된 청구대상이 상기한 특정 특징 또는 동작에 반드시 한정되지 않음을 이해해야 한다. 또한, 상기한 특정 특징 및 동작은 청구항 및 실시예를 구현하는 예시적인 형태로서 개시된다.

Claims (19)

  1. 컴퓨팅 디바이스 상에서 실행되는, 장애로부터 클라우드 기반 서비스의 사용성(usability)을 복구하는 방법으로서,
    고객 경험과 연관된 고객 트랜잭션(a customer transaction)을 시뮬레이트하는 단계와,
    상기 고객 트랜잭션의 출력으로부터 상기 클라우드 기반 서비스와 연관된 장애를 검출하는 단계와,
    상기 장애와 연관된 복구 동작을 결정하는 단계와,
    상기 복구 동작을 실행하는 단계와,
    상기 복구 동작과 연관된 성공 상태를 판정하기 위해 상기 복구 동작을 모니터링하는 단계와,
    상기 클라우드 기반 서비스의 헬스(health) 모니터링과 연관된 고객 경험들의 세트로부터 상기 고객 경험을 선택하는 단계를 포함하고,
    상기 고객 경험은 사용 빈도, 사용 이력 분포, 및 사용의 최근성(recentness of use)의 세트 중 적어도 하나를 포함하는 기준(a criteria)에 기초하여 선택되는
    방법.
  2. 제 1 항에 있어서,
    상기 클라우드 기반 서비스의 헬스 모니터링과 연관된 고객 경험들의 세트 중에서 상기 고객 경험의 선택을 수신하는 단계를 더 포함하고,
    상기 선택은 상기 고객 경험과 연관된 고객 및 상기 클라우드 기반 서비스의 관리자의 세트 중 하나를 포함하는 이해 관계자(a stakeholder)에 의해 이루어지는
    방법.
  3. 제 1 항에 있어서,
    상기 고객 경험이 상기 고객 트랜잭션을 하나 이상의 다른 고객 트랜잭션과 함께 저장함을 판정하는 단계와,
    상기 클라우드 기반 서비스와 연관된 상기 장애 또는 하나 이상의 다른 장애를 검출하도록 상기 하나 이상의 다른 고객 트랜잭션을 시뮬레이트하는 단계를 더 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 클라우드 기반 서비스와 연관된 서브시스템에 상기 장애를 맵핑하는 단계와,
    상기 서브시스템을 정상적인 상태(healthy status)로 회복시키기 위해 상기 서브시스템 상에서 상기 복구 동작을 실행하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 클라우드 기반 서비스와 연관된 장애가 발생한 서브시스템에 상기 장애를 맵핑하는 단계와,
    상기 장애가 발생한 서브시스템과 연관된 하나 이상의 프로세스를 장애 극복 기능을 제공하는 정상적인 서브시스템으로 재라우팅하도록 상기 복구 동작을 실행하는 단계를 더 포함하는
    방법.
  6. 제 1 항에 있어서,
    하나 이상의 메트릭이 상기 성공 상태와 연관된 하나 이상의 임계치를초과함을 판정하기 위해, 상기 복구 동작을 모니터링하는 동안에 상기 고객 경험과 연관된 상기 하나 이상의 메트릭을 추적하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    복구 동작들의 리스트로부터 상기 장애를 상기 복구 동작에 대응시키는 단계를 더 포함하는
    방법.
  8. 제 1 항에 있어서,
    상기 성공 상태가 부정적이라는 판정에 응답하여, 상기 장애와 연관된 다른 복구 동작을 결정하는 단계와,
    상기 다른 복구 동작을 실행하는 단계를 더 포함하는
    방법.
  9. 제 8 항에 있어서,
    상기 다른 복구 동작과 연관된 성공 상태를 판정하기 위해 상기 다른 복구 동작을 모니터링하는 단계를 더 포함하는
    방법.
  10. 제 1 항에 있어서,
    상기 클라우드 기반 서비스와 연관된 하나 이상의 장애가 발생한 서브시스템들을 구별하기 위해 상기 출력을 분석함으로써 상기 출력으로부터 상기 장애를 생성하는 단계를 더 포함하는
    방법.
  11. 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 컴퓨팅 디바이스로서,
    메모리와,
    상기 메모리에 결합되며, 상기 메모리에 저장된 인스트럭션과 함께 관리 애플리케이션을 실행하는 프로세서를 포함하되,
    상기 관리 애플리케이션은,
    고객 경험과 연관된 고객 트랜잭션을 시뮬레이트하고 - 상기 고객 경험은 상기 고객 트랜잭션을 저장함 - ,
    상기 고객 트랜잭션의 출력으로부터 상기 클라우드 기반 서비스와 연관된 장애를 검출하고,
    상기 장애와 연관된 복구 동작을 결정하고,
    상기 복구 동작을 실행하고,
    상기 복구 동작과 연관된 성공 상태를 판정하기 위해 상기 복구 동작을 모니터링하고,
    상기 클라우드 기반 서비스의 헬스 모니터링과 연관된 고객 경험들의 세트로부터 고객 경험을 선택하도록 구성되고,
    상기 고객 경험은 사용 빈도, 사용 이력 분포, 및 사용의 최근성의 세트 중 적어도 하나를 포함하는 기준에 기초하여 선택되는
    컴퓨팅 디바이스.
  12. 제 11 항에 있어서,
    상기 관리 애플리케이션은,
    상기 장애와 연관된 정보를 포함하는 보고를 생성하고,
    상기 클라우드 기반 서비스와 연관된 이해 관계자에게 상기 보고를 전송하도록 또한 구성되고,
    상기 이해 관계자는 상기 고객 경험과 연관된 고객 및 상기 클라우드 기반 서비스의 관리자를 포함하는
    컴퓨팅 디바이스.
  13. 제 11 항에 있어서,
    상기 관리 애플리케이션은,
    상기 복구 동작 및 상기 성공 상태와 연관된 정보를 포함하는 보고를 생성하고,
    상기 클라우드 기반 서비스와 연관된 이해 관계자에게 상기 보고를 전송하도록 또한 구성되고,
    상기 이해 관계자는 상기 고객 경험과 연관된 고객 및 상기 클라우드 기반 서비스의 관리자를 포함하는
    컴퓨팅 디바이스.
  14. 제 11 항에 있어서,
    상기 관리 애플리케이션은,
    장애가 발생한 클라우드 기반 서비스와 연관된 하나 이상의 서브시스템의 식별 정보, 장애가 발생한 하나 이상의 서브시스템의 개수, 및 장애가 발생한 하나 이상의 서브시스템과 연관된 패턴의 세트 중의 적어도 하나를 포함하는 하나 이상의 기준을 결정하기 위해 상기 출력을 분석하도록 또한 구성되는
    컴퓨팅 디바이스.
  15. 제 14 항에 있어서,
    상기 관리 애플리케이션은,
    상기 하나 이상의 기준을 상기 장애에 포함시키고,
    상기 기준에 기초하여 상기 장애를 상기 복구 동작에 맵핑하도록 또한 구성되는
    컴퓨팅 디바이스.
  16. 제 11 항에 있어서,
    상기 관리 애플리케이션은,
    상기 출력 내에서 상기 클라우드 기반 서비스의 하나 이상의 서브시스템과 연관된 메트릭으로부터 가용성 수치(an availability number)를 생성하고,
    상기 가용성 수치가 임계치 미만이라는 판정에 응답하여 장애 결정을 내리도록 또한 구성되고,
    상기 임계치는 상기 클라우드 기반 서비스의 관리자에 의해 구성가능한
    컴퓨팅 디바이스.
  17. 장애로부터 클라우드 기반 서비스의 사용성을 복구하는 인스트럭션이 저장되어 있는 컴퓨터 판독가능 메모리 디바이스로서,
    상기 인스트럭션은,
    고객 경험과 연관된 고객 트랜잭션을 시뮬레이트하는 것 - 상기 고객 경험은 상기 고객 트랜잭션을 저장함 - 과,
    상기 고객 트랜잭션의 출력으로부터 상기 클라우드 기반 서비스와 연관된 장애를 검출하는 것과,
    상기 장애와 연관된 복구 동작을 결정하는 것과,
    상기 복구 동작을 실행하는 것과,
    상기 복구 동작과 연관된 성공 상태를 판정하기 위해 상기 복구 동작을 모니터링하는 것과,
    상기 장애, 상기 복구 동작, 및 상기 성공 상태와 연관된 정보를 포함하는 보고를 생성하는 것과,
    상기 클라우드 기반 서비스와 연관된 이해 관계자에게 상기 보고를 전송하는 것 - 상기 이해 관계자는 상기 고객 경험과 연관된 고객 및 상기 클라우드 기반 서비스의 관리자를 포함함 - 과,
    하나 이상의 메트릭이 상기 성공 상태와 연관된 하나 이상의 임계치를초과함을 판정하기 위해, 상기 복구 동작을 모니터링하는 동안에 상기 고객 경험과 연관된 상기 하나 이상의 메트릭을 추적하는 것을 포함하는
    컴퓨터 판독가능 메모리 디바이스.
  18. 제 17 항에 있어서,
    상기 인스트럭션은,
    상기 성공 상태가 부정적이라는 판정에 응답하여, 상기 장애와 연관된 다른 복구 동작을 결정하는 것과,
    상기 다른 복구 동작을 실행하는 것을 더 포함하는
    컴퓨터 판독가능 메모리 디바이스.
  19. 제 17 항에 있어서,
    상기 인스트럭션은,
    장애가 발생한 클라우드 기반 서비스와 연관된 하나 이상의 서브시스템의 식별 정보, 장애가 발생한 하나 이상의 서브시스템의 개수, 및 장애가 발생한 하나 이상의 서브시스템과 연관된 패턴의 세트 중의 적어도 하나를 포함하는 하나 이상의 기준을 결정하기 위해 상기 출력을 분석하는 것과,
    상기 하나 이상의 기준을 상기 장애에 포함시키고,
    상기 기준에 기초하여 상기 장애를 상기 복구 동작에 맵핑하는 것을 더 포함하는
    컴퓨터 판독가능 메모리 디바이스.
KR1020177002968A 2014-08-04 2015-08-04 시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법 KR102271007B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/451,369 2014-08-04
US14/451,369 US9436553B2 (en) 2014-08-04 2014-08-04 Recovering usability of cloud based service from system failure
PCT/US2015/043514 WO2016022506A2 (en) 2014-08-04 2015-08-04 Recovering usability of cloud based service from system failure

Publications (2)

Publication Number Publication Date
KR20170041715A KR20170041715A (ko) 2017-04-17
KR102271007B1 true KR102271007B1 (ko) 2021-06-29

Family

ID=53879798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177002968A KR102271007B1 (ko) 2014-08-04 2015-08-04 시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법

Country Status (19)

Country Link
US (1) US9436553B2 (ko)
EP (1) EP3178004B1 (ko)
JP (1) JP6581648B2 (ko)
KR (1) KR102271007B1 (ko)
CN (1) CN106663041B (ko)
AU (1) AU2015301284B2 (ko)
BR (1) BR112017001171B1 (ko)
CA (1) CA2955216C (ko)
CL (1) CL2017000264A1 (ko)
CO (1) CO2017000695A2 (ko)
IL (1) IL249855B (ko)
MX (1) MX2017001515A (ko)
MY (1) MY185933A (ko)
NZ (1) NZ728138A (ko)
PH (1) PH12017500024A1 (ko)
RU (1) RU2699054C2 (ko)
SG (1) SG11201700531SA (ko)
WO (1) WO2016022506A2 (ko)
ZA (1) ZA201700255B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639412B1 (en) 2014-03-11 2017-05-02 Apteligent, Inc. Application performance management tools with a service monitor for collecting network breadcrumb data
US10048994B2 (en) * 2014-10-20 2018-08-14 Teachers Insurance And Annuity Association Of America Identifying failed customer experience in distributed computer systems
KR102549605B1 (ko) * 2016-03-04 2023-06-30 삼성전자주식회사 Raid 스토리지 장치의 리커버리 방법
US10061652B2 (en) 2016-07-26 2018-08-28 Microsoft Technology Licensing, Llc Fault recovery management in a cloud computing environment
US10616378B2 (en) * 2017-02-21 2020-04-07 Netscout Systems, Inc. Adaptive session intelligence extender
EP3699766A1 (en) * 2019-02-25 2020-08-26 Zcaler, Inc. Systems and methods for monitoring, analyzing, and improving digital user experience
CN111245648A (zh) * 2020-01-06 2020-06-05 华云数据(厦门)网络有限公司 一种云手机故障告警与自动恢复的方法
US11409618B2 (en) 2020-09-14 2022-08-09 International Business Machines Corporation Transaction recovery

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487677B1 (en) 1999-09-30 2002-11-26 Lsi Logic Corporation Methods and systems for dynamic selection of error recovery procedures in a managed device
JP2007072545A (ja) 2005-09-05 2007-03-22 Nomura Research Institute Ltd 監視装置及び監視方法
US20120124193A1 (en) 2010-11-12 2012-05-17 International Business Machines Corporation Identification of Critical Web Services and their Dynamic Optimal Relocation
JP2012174232A (ja) 2011-02-24 2012-09-10 Fujitsu Ltd 監視装置、監視システムおよび監視方法
US20130086203A1 (en) 2011-09-29 2013-04-04 Microsoft Corporation Multi-level monitoring framework for cloud based service
JP2013520746A (ja) 2010-02-26 2013-06-06 シマンテック コーポレーション クラスタシステムにおいてクラスタ非対応アプリケーションをフェールオーバーするためのシステムおよび方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138226A1 (en) * 2001-03-26 2002-09-26 Donald Doane Software load tester
US7774402B2 (en) * 2005-06-29 2010-08-10 Visa U.S.A. Adaptive gateway for switching transactions and data on unreliable networks using context-based rules
US8326971B2 (en) * 2007-11-30 2012-12-04 International Business Machines Corporation Method for using dynamically scheduled synthetic transactions to monitor performance and availability of E-business systems
US7996723B2 (en) * 2009-12-22 2011-08-09 Xerox Corporation Continuous, automated discovery of bugs in released software
US8823536B2 (en) * 2010-04-21 2014-09-02 Microsoft Corporation Automated recovery and escalation in complex distributed applications
US8719627B2 (en) 2011-05-20 2014-05-06 Microsoft Corporation Cross-cloud computing for capacity management and disaster recovery
US8418000B1 (en) 2012-03-13 2013-04-09 True Metrics LLC System and methods for automated testing of functionally complex systems
US9015289B2 (en) * 2012-04-12 2015-04-21 Netflix, Inc. Method and system for evaluating the resiliency of a distributed computing service by inducing a latency
CN102710757B (zh) * 2012-05-21 2014-11-05 北京航空航天大学 一种分布式云存储数据完整性保护方法
US8839042B2 (en) * 2012-08-31 2014-09-16 Ca, Inc. Dynamic load calculation and predictive scaling
EP3011454A4 (en) * 2013-06-20 2017-02-08 Hewlett-Packard Enterprise Development LP Generating a fingerprint representing a response of an application to a simulation of a fault of an external service
US8910294B1 (en) * 2013-12-18 2014-12-09 State Farm Mutual Automobile Insurance Company System and method for application failure testing in a cloud computing environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487677B1 (en) 1999-09-30 2002-11-26 Lsi Logic Corporation Methods and systems for dynamic selection of error recovery procedures in a managed device
JP2007072545A (ja) 2005-09-05 2007-03-22 Nomura Research Institute Ltd 監視装置及び監視方法
JP2013520746A (ja) 2010-02-26 2013-06-06 シマンテック コーポレーション クラスタシステムにおいてクラスタ非対応アプリケーションをフェールオーバーするためのシステムおよび方法
US20120124193A1 (en) 2010-11-12 2012-05-17 International Business Machines Corporation Identification of Critical Web Services and their Dynamic Optimal Relocation
JP2012174232A (ja) 2011-02-24 2012-09-10 Fujitsu Ltd 監視装置、監視システムおよび監視方法
US20130086203A1 (en) 2011-09-29 2013-04-04 Microsoft Corporation Multi-level monitoring framework for cloud based service

Also Published As

Publication number Publication date
CN106663041A (zh) 2017-05-10
RU2699054C2 (ru) 2019-09-03
EP3178004B1 (en) 2018-05-16
US9436553B2 (en) 2016-09-06
WO2016022506A3 (en) 2016-03-31
JP2017528807A (ja) 2017-09-28
WO2016022506A2 (en) 2016-02-11
IL249855A0 (en) 2017-03-30
CA2955216A1 (en) 2016-02-11
EP3178004A2 (en) 2017-06-14
CL2017000264A1 (es) 2017-09-08
KR20170041715A (ko) 2017-04-17
CO2017000695A2 (es) 2017-02-09
PH12017500024B1 (en) 2017-05-15
RU2017103444A (ru) 2018-08-02
SG11201700531SA (en) 2017-02-27
NZ728138A (en) 2022-04-29
RU2017103444A3 (ko) 2019-02-21
BR112017001171A2 (pt) 2017-11-14
MY185933A (en) 2021-06-14
US20160034355A1 (en) 2016-02-04
IL249855B (en) 2020-03-31
JP6581648B2 (ja) 2019-09-25
AU2015301284B2 (en) 2020-07-16
ZA201700255B (en) 2019-05-29
BR112017001171B1 (pt) 2023-04-11
CN106663041B (zh) 2020-01-10
CA2955216C (en) 2023-08-22
AU2015301284A1 (en) 2017-02-09
MX2017001515A (es) 2017-05-09
PH12017500024A1 (en) 2017-05-15

Similar Documents

Publication Publication Date Title
KR102271007B1 (ko) 시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법
KR102301946B1 (ko) 분산 시스템에서 결함을 분석하기 위한 비주얼 툴
US10462027B2 (en) Cloud network stability
US9645629B2 (en) Providing energy consumption analytics of cloud based service
US9684534B2 (en) Monitoring and modifying allocated computing resources
US10992559B2 (en) Diagnostic and recovery signals for disconnected applications in hosted service environment
US9785507B2 (en) Restoration of consistent regions within a streaming environment
US10073726B2 (en) Detection of outage in cloud based service using usage data based error signals
US9444708B2 (en) Detection of outage in cloud based service using synthetic measurements and anonymized usage data
US11410049B2 (en) Cognitive methods and systems for responding to computing system incidents
US11055177B2 (en) Correlating operational information with an error condition in a dispersed storage network
US9692665B2 (en) Failure analysis in cloud based service using synthetic measurements
US20230236922A1 (en) Failure Prediction Using Informational Logs and Golden Signals

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant