KR20220161015A - 메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법 - Google Patents

메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법 Download PDF

Info

Publication number
KR20220161015A
KR20220161015A KR1020210069375A KR20210069375A KR20220161015A KR 20220161015 A KR20220161015 A KR 20220161015A KR 1020210069375 A KR1020210069375 A KR 1020210069375A KR 20210069375 A KR20210069375 A KR 20210069375A KR 20220161015 A KR20220161015 A KR 20220161015A
Authority
KR
South Korea
Prior art keywords
target
message
service module
message delivery
state values
Prior art date
Application number
KR1020210069375A
Other languages
English (en)
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 삼성에스디에스 주식회사
Priority to KR1020210069375A priority Critical patent/KR20220161015A/ko
Priority to US17/751,769 priority patent/US20220383144A1/en
Publication of KR20220161015A publication Critical patent/KR20220161015A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법이 개시된다. 일 실시예에 따른 상태 값 예측 장치는, 복수의 서비스 모듈 중 적어도 일부의 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출하는 패턴 추출부; 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 서비스 모듈 중 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 상기 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택하고, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 상태 값에 기초한 학습을 통해 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성하는 제1 학습부; 및 사전 설정된 복수의 이벤트와 상기 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 상기 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택하고, 상기 하나 이상의 타겟 메시지 전달 패턴, 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 이벤트에 기초하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성하는 제2 학습부를 포함한다.

Description

메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법{APPARATUS AND METHOD FOR PREDICTING STATUS VALUE OF SERVICE MODULE BASED ON MESSAGE DELIVERY PATTERN}
개시되는 실시예들은 모듈화된 시스템에서 서비스 모듈의 상태 값을 예측하기 위한 기술과 관련된다.
마이크로 서비스 아키텍처(Micro Service Architecture)와 같이 세부적으로 모듈화된 시스템에서는 각각 특정 기능만을 수행하는 복수의 서비스 모듈이 서로 메시지를 주고받으며 운영된다. 종래에는 이러한 시스템의 모니터링을 위해 별도의 에이전트(agent)를 서비스 모듈별로 설치하고 이를 통해 특정 서비스 모듈의 상태 값을 측정하였다. 이러한 방식은 에이전트로 인한 각 서비스 모듈의 부담이 증가되고, 측정되는 상태 값은 특정 서비스 모듈에 국한된 데이터이기 때문에 예측 범위가 좁고 타 서비스 모듈과 연관된 분석이 어렵다.
대한민국 공개특허공보 제10-2020-0126766호 (2020.11.09. 공개)
개시되는 실시예들은 메시지 전달 패턴에 기초하여 서비스 모듈의 상태 값 예측하기 위한 장치 및 방법을 제공하기 위한 것이다.
일 실시예에 따른 상태 값 예측 장치는, 복수의 서비스 모듈 중 적어도 일부의 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출하는 패턴 추출부; 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 서비스 모듈 중 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 상기 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택하고, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 상태 값에 기초한 학습을 통해 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성하는 제1 학습부; 및 사전 설정된 복수의 이벤트와 상기 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 상기 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택하고, 상기 하나 이상의 타겟 메시지 전달 패턴, 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 이벤트에 기초하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성하는 제2 학습부를 포함한다.
상기 패턴 추출부는, 동일한 트랜잭션(transaction) 내에 발생한 하나 이상의 사용자 요청을 처리하기 위해 상기 적어도 일부의 서비스 모듈 사이에 순차적으로 전달된 메시지에 기초하여 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스를 생성하고, 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 상기 하나 이상의 타겟 메시지 전달 패턴을 추출할 수 있다.
상기 패턴 추출부는, 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 기 설정된 횟수 이상 출현한 하나 이상의 서브 시퀀스를 상기 하나 이상의 타겟 메시지 전달 패턴으로 추출할 수 있다.
상기 제1 학습부는, 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 상태 값 사이의 상관 계수를 산출하고, 상기 복수의 상태 값 중 상기 상관 계수가 기 설정된 값 이상인 하나 이상의 상태 값을 상기 하나 이상의 타겟 상태 값으로 선택할 수 있다.
상기 제1 학습부는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점의 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 메시지 전달 패턴을 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델에 대한 학습을 수행할 수 있다.
상기 제2 학습부는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지의 발생 시점의 상기 하나 이상의 타겟 상태 값, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 이벤트를 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습할 수 있다.
상기 패턴 추출부는, 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델이 생성된 이후, 상기 하나 이상의 타겟 메시지 전달 패턴 중 하나의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지를 식별할 수 있다.
상기 상태 값 예측 장치는, 상기 하나 이상의 타겟 이벤트 중 상기 식별된 메시지와 연관된 하나 이상의 타겟 이벤트를 식별하고, 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 이용하여, 상기 하나의 타겟 메시지 전달 패턴, 상기 식별된 하나 이상의 타겟 이벤트 및 상기 식별된 메시지가 발생한 시점에서 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성하는 예측부를 더 포함할 수 있다.
일 실시예에 따른 상태 값 예측 방법은, 복수의 서비스 모듈 중 적어도 일부의 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출하는 단계; 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 서비스 모듈 중 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 상기 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택하는 단계; 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 상태 값에 기초한 학습을 통해 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성하는 단계; 사전 설정된 복수의 이벤트와 상기 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 상기 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택하는 단계; 및 상기 하나 이상의 타겟 메시지 전달 패턴, 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 이벤트에 기초하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성하는 단계를 포함한다.
상기 추출하는 단계는, 동일한 트랜잭션(transaction) 내에 발생한 하나 이상의 사용자 요청을 처리하기 위해 상기 적어도 일부의 서비스 모듈 사이에 순차적으로 전달된 메시지에 기초하여 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스를 생성하는 단계; 및 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 상기 하나 이상의 타겟 메시지 전달 패턴을 추출하는 단계를 포함할 수 있다.
상기 추출하는 단계는, 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 기 설정된 횟수 이상 출현한 하나 이상의 서브 시퀀스를 상기 하나 이상의 타겟 메시지 전달 패턴으로 추출할 수 있다.
상기 하나 이상의 타겟 상태 값을 선택하는 단계는, 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 상태 값 사이의 상관 계수를 산출하는 단계; 및 상기 복수의 상태 값 중 상기 상관 계수가 기 설정된 값 이상인 하나 이상의 상태 값을 상기 하나 이상의 타겟 상태 값으로 선택하는 단계를 포함할 수 있다.
상기 제1 변화량 예측 모델을 생성하는 단계는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점의 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 메시지 전달 패턴을 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델에 대한 학습을 수행할 수 있다.
상기 제2 변화량 예측 모델을 생성하는 단계는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지의 발생 시점의 상기 하나 이상의 타겟 상태 값, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 이벤트를 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습할 수 있다.
상기 상태 값 예측 방법은, 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델이 생성된 이후, 상기 하나 이상의 타겟 메시지 전달 패턴 중 하나의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지를 식별하는 단계를 더 포함할 수 있다.
상기 상태 값 예측 방법은, 상기 하나 이상의 타겟 이벤트 중 상기 식별된 메시지와 연관된 하나 이상의 타겟 이벤트를 식별하는 단계; 및 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 이용하여, 상기 하나의 타겟 메시지 전달 패턴, 상기 식별된 하나 이상의 타겟 이벤트 및 상기 식별된 메시지가 발생한 시점에서 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성하는 단계를 더 포함할 수 있다.
개시되는 실시예들에 따르면, 복수의 서비스 모듈 사이의 메시지 전달 패턴에 기초하여 타겟 서비스 모듈에 대한 보다 정확한 상태 값 예측이 가능하고, 타겟 서비스 모듈에 추가적인 에이전트 설치가 필요하지 않아 시스템의 부담을 증가시키지 않는다.
도 1은 일 실시예에 따른 메시지 흐름 분석을 통한 자원 사용량 예측 방법 적용되는 예시적인 대상 시스템의 구성도
도 2는 일 실시예에 따른 상태 값 예측 장치의 구성도
도 3은 메시지 전달 패턴과 상태 값 사이의 상관 관계의 일 예를 나타낸 도면
도 4 및 도 5는 일 실시예에 따른 제1 변화량 예측 모델의 일 예를 나타낸 도면
도 6은 이벤트와 타겟 서비스 모듈의 상태 값 사이의 상관 관계의 일 예를 나타낸 도면
도 7 및 도 8은 일 실시예에 따른 제2 변화량 예측 모델의 일 예를 나타낸 도면
도 9는 추가적인 실시예에 따른 상태 값 예측 장치의 구성도
도 10은 일 실시예에 따른 상태 값 예측 방법의 순서도
도 11은 추가적인 실시예에 따른 상태 값 예측 방법의 순서도
도 12는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 메시지 흐름 분석을 통한 자원 사용량 예측 방법 적용되는 예시적인 대상 시스템의 구성도이다.
도 1을 참조하면, 일 실시예에 따른 대상 시스템(100)은 복수의 서비스 모듈(110), 메시지 중개부(120) 및 관리 모듈(130)을 포함한다.
일 실시예에서, 대상 시스템(100)은 서비스를 기능별로 분류한 후 복수의 서비스 모듈(110) 각각이 분류된 기능들 중 특정 기능을 수행하도록 구성된 시스템일 수 있다. 이때, 복수의 서비스 모듈(110)은 예를 들어, 마이크로서비스 아키텍처(MicroService Architecture)에 기반하여 설계될 수 있다.
구체적으로, 복수의 서비스 모듈(110)은 각각 서비스 제공을 위해 요구되는 복수의 기능 중 특정한 기능을 수행하기 위해 구성된 컴포넌트일 수 있다. 예를 들어, 사용자 요청에 따라 복수의 서비스 모듈(110) 각각에 의해 제공되는 기능 중 일부 기능이 순차적으로 처리되어야 하는 경우, 사용자 요청은 복수의 서비스 모듈(110) 중 각 기능을 담당하는 서비스 모듈에 의해 순차적으로 처리될 수 있다. 이때, 각 기능을 담당하는 서비스 모듈 사이의 순차적 처리 결과는 메시지 중개부(120)를 통해 메시지의 형태로 전달될 수 있다.
메시지 중개부(120)는 복수의 서비스 모듈(110) 사이에 전달되는 메시지를 중개하기 위한 모듈이다. 일 실시예에 따르면, 메시지 중개부(110)는 각 서비스 모듈(110)로부터 수신되는 메시지를 큐(Queue) 형태로 저장했다가 메시지의 목적지인 서비스 모듈로 전달할 수 있다. 이때, 메시지 중개부(120)를 통해 복수의 서비스 모듈(110) 사이에 전달되는 메시지는 대상 시스템(100) 내에서 미리 약속된 형태로 전달될 수 있으며, 예를 들어, 메시지의 식별 정보(예를 들어, 메시지 아이디), 메시지의 출발지 정보(예를 들어, 메시지를 전송한 서비스 모듈의 식별 정보), 메시지의 목적지 정보(예를 들어, 메시지를 수신할 서비스 모듈의 식별 정보), 메시지의 발생 시간 정보, 사용자 정보(예를 들어, 사용자 나이, 성별 등) 등을 포함할 수 있다. 그러나, 메시지에 포함되는 정보는 반드시 상술한 예에 한정되는 것은 아니며, 실시예에 따라 상술한 예 외에도 다양한 정보를 포함할 수 있다.
관리 모듈(130)은 각 서비스 모듈(110)에 대한 복수의 상태 값을 모니터링하고, 각 서비스 모듈(110)에 대한 제어를 수행할 수 있다.
이때, 일 실시예에 따르면, 복수의 상태 값은 각 서비스 모듈(110)이 특정한 기능을 수행하기 위해 이용할 수 있는 자원의 상태를 나타내는 값일 수 있다. 예를 들어, 복수의 상태 값은 CPU(Central Processing Unit) 사용량, GPU(Graphics Processing Unit) 사용량, 메모리 사용량, IOPS(Input/Output Operation Per Second), 스토리지 사용량, 실행 중인 프로세서의 개수, 생성된 소켓(socket)의 개수 등을 포함할 수 있다. 그러나, 복수의 상태 값은 반드시 상술한 예에 한정되는 것은 아니다.
한편, 도 1에 도시된 대상 시스템(100)의 구성은 예시적인 것이며, 기능 별로 모듈화되어 각 모듈 사이의 메시지 통신을 통해 운영되는 시스템이라면 대상 시스템이 반드시 특정한 형태의 시스템으로 한정되는 것은 아니다.
도 2는 일 실시예에 따른 상태 값 예측 장치의 구성도이다.
도 2를 참조하면, 일 실시예에 따른 상태 값 예측 장치(200)는 패턴 추출부(210), 제1 학습부(220) 및 제2 학습부(230)를 포함한다.
패턴 추출부(210)는 복수의 서비스 모듈(110) 중 적어도 일부의 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출한다.
일 실시예에 따르면, 패턴 추출부(210)는 메시지 중개부(120)를 통해 각 서비스 모듈(120) 사이에 전달되는 메시지를 획득할 수 있다. 또한, 패턴 추출부(210)는 획득된 각 메시지에 포함된 메시지의 출발지 정보, 목적지 정보, 메시지 발생 시간 정보에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출할 수 있다.
구체적으로, 일 실시예에 따르면, 패턴 추출부(210)는 동일한 트랜잭션 내에서 사용자 요청을 처리하기 위해 메시지 중개부(120)를 통해 복수의 서비스 모듈(120) 중 적어도 일부 서비스 모듈 사이에 전달된 메시지에 기초하여 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스를 생성할 수 있다. 이때, 메시지 전달 시퀀스는 하나의 트랜잭션 내에서 하나 이상의 사용자 요청을 처리하기 위해 복수의 서비스 모듈(110) 중 하나 이상의 서비스 모듈 사이에 메시지가 전달된 순서를 나타낼 수 있다.
한편, 일 실시예에 따르면, 패턴 추출부(210)는 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 기 설정된 횟수 이상 출현한 하나 이상의 서브 시퀀스(subsequence)를 각각 타겟 메시지 전달 패턴으로 추출할 수 있다. 이때, 서브 시퀀스 추출은 예를 들어, GSP(Generalized Sequential Pattern) 알고리즘, PrefixSpan 알고리즘, SPADE(Sequential Pattern Discovery using Equivalence classes) 알고리즘 등과 같은 공지된 다양한 순차 패턴 마이닝(Sequential Pattern Mining) 기술을 이용하여 수행될 수 있다.
구체적인 예로, 첫 번째 트랜잭션에서 사용자의 로그인 요청을 처리하기 위해 메시지 중개부(120)를 통해 서비스 모듈 1(110-1)에서 서비스 모듈 2(110-2)로 메시지가 전달되었고, 두 번째 트랜잭션에서 사용자의 로그인 요청과 상품 추천 요청을 처리하기 위해 메시지 중개부(120)를 통해 서비스 모듈 1(110-1)에서 서비스 모듈 2(110-2)로 메시지가 전달된 후, 서비스 모듈 2(110-2)에서 서비스 모듈 3(110-3)으로 메시지가 전달되었으며, 세 번째 트랜잭션에서 사용자의 로그인 요청과 로그아웃 요청을 처리하기 위해 메시지 중개부(120)를 통해 서비스 모듈 1(110-1)에서 서비스 모듈 2(110-2)로 메시지가 전달된 후, 서비스 모듈 2(110-2)에서 서비스 모듈 n(110-n)으로 메시지가 전달된 것으로 가정하자. 이 경우, 패턴 추출부(210)는 아래의 표 1과 같이 각 트랜잭션에 대응하는 3개의 메시지 전달 시퀀스를 생성할 수 있다.
시퀀스 메시지 전달 시퀀스
1 {서비스 모듈 1, 서비스 모듈 2}
2 {서비스 모듈 1, 서비스 모듈 2, 서비스 모듈 3}
3 {서비스 모듈 1, 서비스 모듈 2, 서비스 모듈 n}
또한, 타겟 메시지 전달 패턴으로 추출하기 위한 서브 시퀀스의 출현 빈도가 2인 것으로 가정하면, 패턴 추출부(210)는 시퀀스 1, 시퀀스 2 및 시퀀스 3 각각에 포함된 서브 시퀀스인 {서비스 모듈 1, 서비스 모듈 2}를 타겟 메시지 전달 패턴으로 추출할 수 있다. 한편, 일 실시예에 따르면, 패턴 추출부(210)는 추출된 하나 이상의 타겟 메시지 전달 패턴 각각에 고유한 식별 정보를 부여한 후, 각 타겟 메시지 전달 패턴을 부여된 식별 정보와 함께 저장할 수 있다.
제1 학습부(220)는 하나 이상의 타겟 메시지 전달 패턴과 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택한다.
이때, 일 실시예에 따르면, 타겟 메시지 전달 패턴과 타겟 서비스 모듈의 상태 값 사이의 상관 관계는 타겟 메시지 전달 패턴을 통해 타겟 서비스 모듈로 전달된 메시지가 타겟 서비스 모듈의 상태 값의 변화량에 어느 정도의 관련성을 가지는지 여부를 나타낼 수 있다.
구체적으로, 일 실시예에 따르면, 타겟 메시지 전달 패턴과 타겟 서비스 모듈의 상태 값 사이의 상관 관계는 예를 들어, 피어슨 상관 계수(Pearson Correlation Coefficient)를 이용하여 산출될 수 있으며, 제1 학습부(220)는 타겟 서비스 모듈의 복수의 상태 값 중 산출된 상관 관계가 기 설정된 제1 기준 값 이상인 상태 값을 타겟 상태 값으로 선택할 수 있다.
도 3은 메시지 전달 패턴과 상태 값 사이의 상관 관계의 일 예를 나타낸 도면이다.
구체적으로, 도 3에서는, 타겟 서비스 모듈의 상태 값이 각각 CPU 사용량, GPU 사용량, 메모리 사용량, IOPS, 스토리지 사용량, 실행 중인 프로세스의 개수 및 생성된 소켓의 개수일 때, 각 상태 값과 패턴 추출부(210)에 의해 부여된 식별 정보가 'ADC01'인 타겟 메시지 전달 패턴 사이에 산출된 피어슨 상관 계수의 일 예를 도시하고 있다.
도 3에 도시된 예에서, 기 설정된 제1 기준 값이 0.5인 것으로 가정하면, 제1 학습부(220)는 상관 관계가 0.5 이상인 CPU 사용량, 메모리 사용량 및 실행 중인 프로세스의 개수를 각각 타겟 상태 값으로 선택할 수 있다.
한편, 하나 이상의 타겟 상태 값이 선택된 경우, 제1 학습부(220)는 하나 이상의 타겟 메시지 전달 패턴과 하나 이상의 타겟 상태 값에 기초한 학습을 통해 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성한다.
이때, 일 실시예에 따르면, 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델은 인공 신경망(Artificial Neural Network)에 기반한 예측 모델로서 타겟 서비스 모듈로 전달되는 메시지의 메시지 전달 패턴과 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 중 특정 타겟 상태 값에 대한 변화량을 예측하도록 학습될 수 있다.
구체적으로, 일 실시예에 따르면, 제1 학습부(220)는 타겟 메시지 전달 패턴 및 타겟 메시지 전달 패턴에 따라 타겟 서비스 모듈로 전달된 메시지가 발생한 시점에서 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각을 독립 변수로 이용하고, 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각에 대한 변화량을 종속 변수로 이용하여 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델에 대한 학습을 수행할 수 있다. 이때, 타겟 서비스 모듈의 하나 이상의 타겟 상태 값은 예를 들어, 대상 시스템(100)의 관리 모듈(130)로부터 획득될 수 있으며, 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각에 대한 변화량은 해당 시점 이후 관리 모듈(130)로부터 획득된 하나 이상의 상태 값으로부터 산출될 수 있다.
구체적인 예로, 학습을 위한 독립 변수와 종속 변수가 각각 아래 표 2와 같은 경우, 타겟 서비스 모듈의 메모리 사용량에 대한 제1 변화량 예측 모델은 예를 들어, 도 4에 도시된 인공 신경망(400)에 기반한 학습을 통해 생성될 수 있으며, 타겟 서비스 모듈의 CPU 사용량에 대한 제1 변화량 예측 모델은 예를 들어, 도 5에 도시된 인공 신경망(500)에 기반한 학습을 통해 생성될 수 있다.
변수 구분 변수명 속성
독립 변수 MC 타겟 메시지 전달 패턴에 따른 메시지 수신 시 타겟 서비스 모듈의 메모리 사용량
독립 변수 CC 타겟 메시지 전달 패턴에 따른 메시지 수신 시 타겟 서비스 모듈의 CPU 사용량
독립 변수 PC 타겟 메시지 전달 패턴에 따른 메시지 수신 시 타겟 서비스 모듈에서 실행 중인 프로세스의 개수
독립 변수 MSG 타겟 메시지 전달 패턴
종속 변수 BM 타겟 메시지 전달 패턴에 따른 메시지 수신 후 타겟 서비스 모듈의 메모리 사용량의 변화량
종속 변수 BC 타겟 메시지 전달 패턴에 따른 메시지 수신 후 타겟 서비스 모듈의 CPU 사용량의 변화량
한편, 도 4 및 도 5에 도시된 예에서는 제1 변화량 예측 모델(400, 500)이 3개의 신경망 레이어로 구성된 것으로 예시하고 있으나, 인경 신경망 구조는 반드시 특정한 예로 한정되는 것은 아니며 실시예에 따라 다양하게 구성될 수 있다.제2 학습부(230)는 사전 설정된 복수의 이벤트와 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택한다.
이때, 일 실시예에 따르면, 복수의 이벤트는 타겟 서비스 모듈로 전달되는 메시지가 발생한 시점과 관련된 이벤트, 타겟 서비스 모듈로 전달되는 메시지에 포함된 사용자 정보와 연관된 이벤트, 대상 시스템(100)에 의해 제공되는 서비스와 관련된 이벤트 등을 포함할 수 있다. 이때, 메시지가 발생한 시점과 관련된 이벤트는 예를 들어, 메시지가 발생한 시점이 속하는 분기, 요일, 월, 시간대 등을 포함할 수 있다. 또한, 사용자 정보와 관련된 이벤트는 예를 들어, 사용자의 성별, 나이 등을 포함할 수 있다. 또한, 서비스와 관련된 이벤트는 예를 들어, 메시지가 발생한 시점에 제공된 할인 행사, 프로모션, 신규 상품 출시 등을 포함할 수 있다.
한편, 복수의 이벤트는 상술한 예 외에도 대상 시스템(100)의 복수의 서비스 모듈(110) 사이에 전달되는 메시지에 기초하여 식별 가능한 다양한 종류의 이벤트를 포함할 수 있으며, 실시예에 따라 다양하게 설정될 수 있다.
일 실시예에 따르면, 이벤트와 타겟 상태 값 사이의 상관 관계는 이벤트가 타겟 서비스 모듈의 타겟 상태 값의 변화량에 어느 정도의 관련성을 가지는지 여부를 나타낼 수 있다. 구체적으로, 일 실시예에 따르면, 특정 이벤트와 타겟 서비스 모듈의 특정 타겟 상태 값 사이의 상관 관계는 예를 들어, 피어슨 상관 계수를 이용하여 산출될 수 있으며, 제2 학습부(230)는 복수의 이벤트 중 산출된 상관 관계가 기 설정된 제2 기준 값 이상인 이벤트를 타겟 이벤트로 선택할 수 있다.
도 6은 이벤트와 타겟 서비스 모듈의 상태 값 사이의 상관 관계의 일 예를 나타낸 도면이다.
구체적으로, 도 6에서는, 타겟 서비스 모듈의 상태 값이 각각 CPU 사용량, GPU 사용량, 메모리 사용량, IOPS, 스토리지 사용량, 실행 중인 프로세스의 개수 및 생성된 소켓의 개수이고, 기 설정된 이벤트가 6개의 이벤트(즉, 'Event 1' 내지 'Event 6')를 포함할 때, 각 상태 값과 각 이벤트 사이에 산출된 피어슨 상관 계수의 일 예를 도시하고 있다.
도 6에 도시된 예에서, 타겟 상태 값이 'CPU 사용량', '메모리 사용량' 및 '실행 중인 프로세스의 개수'이고, 제2 기준 값이 0.5인 것으로 가정하면, 제2 학습부(230)는 6개의 이벤트 중 'CPU 사용량', '메모리 사용량' 및 '실행 중인 프로세스의 개수' 각각과의 상관 계수가 0.5 이상인 'Event 2', 'Event 3' 및 'Event 5'를 각각 타겟 이벤트로 선택할 수 있다.
한편, 하나 이상의 타겟 이벤트가 선택된 경우, 제2 학습부(230)는 선택된 하나 이상의 타겟 이벤트, 하나 이상의 타겟 메시지 전달 패턴 및 하나 이상의 타겟 상태 값에 기초하여, 제1 학습부(220)에 의해 생성된 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성한다.
이때, 일 실시예에 따르면, 하나 이상의 타겟 상태 값 중 특정 타겟 상태 값에 대한 제2 변화량 예측 모델은 타겟 서비스 모듈로 전달되는 메시지의 메시지 전달 패턴, 해당 메시지와 관련된 하나 이상의 타겟 이벤트 및 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 중 특정 타겟 상태 값에 대한 변화량을 예측하도록 제1 변화량 예측 모델을 추가 학습함으로써 생성될 수 있다.
구체적으로, 일 실시예에 따르면, 제2 학습부(230)는 하나 이상의 타겟 이벤트를 학습을 위한 독립 변수로 추가하여 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델에 대한 추가 학습을 수행할 수 있다.
구체적인 예로, 제1 변화량 예측 모델을 학습하기 위한 독립 변수와 종속 변수가 상술한 표 2과 같고, 제2 학습부(230)에 의해 선택된 타겟 이벤트가 'Event 1'인 경우, 제1 변화량 예측 모델의 추가 학습을 위한 독립 변수와 종속 변수는 표 3과 같을 수 있다.
변수 구분 변수명 속성
독립 변수 MC 타겟 메시지 전달 패턴에 따른 메시지 수신 시 타겟 서비스 모듈의 메모리 사용량
독립 변수 CC 타겟 메시지 전달 패턴에 따른 메시지 수신 시 타겟 서비스 모듈의 CPU 사용량
독립 변수 PC 타겟 메시지 전달 패턴에 따른 메시지 수신 시 타겟 서비스 모듈에서 실행 중인 프로세스의 개수
독립 변수 MSG 타겟 메시지 전달 패턴
독립 변수 EV1 타겟 이벤트
종속 변수 BM 타겟 메시지 전달 패턴에 따른 메시지 수신 후 타겟 서비스 모듈의 메모리 사용량의 변화량
종속 변수 BC 타겟 메시지 전달 패턴에 따른 메시지 수신 후 타겟 서비스 모듈의 CPU 사용량의 변화량
이때, 타겟 서비스 모듈의 메모리 사용량에 대한 제1 변화량 예측 모델이 도 4에 도시된 예와 같은 경우, 제2 학습부(230)는 도 7에 도시된 예와 같이 제1 변화량 예측 모델(400)에 'EV1'(710)을 독립 변수로 추가한 후 추가 학습을 통해 타겟 서비스 모듈의 메모리 사용량에 대한 제2 변화량 예측 모델(700)을 생성할 수 잇다.또한, 타겟 서비스 모듈의 CPU 사용량에 대한 제1 변화량 예측 모델이 도 5에 도시된 예와 같은 경우, 제2 학습부(230)는 도 8에 도시된 예와 같이 제1 변화량 예측 모델(500)에 'EV1'(810)을 독립 변수로 추가한 후 추가 학습을 통해 타겟 서비스 모듈의 CPU 사용량에 대한 제2 변화량 예측 모델(800)을 생성할 수 잇다.
도 9는 추가적인 실시예에 따른 상태 값 예측 장치의 구성도이다.
도 9를 참조하면, 추가적인 실시예에 따른 예측 장치(900)는 패턴 추출부(910), 제1 학습부(920), 제2 학습부(930) 및 예측부(940)를 포함한다.
도 9에 도시된 실시예에서, 패턴 추출부(910), 제1 학습부(920) 및 제2 학습부(930)는 도 2에 도시된 패턴 추출부(210), 제1 학습부(220) 및 제2 학습부(230)와 동일한 구성이므로, 이에 대한 중복적인 설명은 생략한다.
패턴 추출부(910)는 제2 학습부(230)에 의해 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델이 생성된 이후, 하나 이상의 타겟 메시지 전달 패턴 중 특정 타겟 메시지 전달 패턴에 따라 타겟 서비스 모듈로 전달되는 메시지를 식별할 수 있다.
예측부(940)는 하나 이상의 타겟 이벤트 중 패턴 추출부(910)에 의해 식별된 메시지와 연관된 하나 이상의 타겟 이벤트를 식별할 수 있다. 또한, 예측부(940)는 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 이용하여, 식별된 메시지의 메시지 전달 패턴, 식별된 하나 이상의 타겟 이벤트 및 식별된 메시지가 발생한 시점에서 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성할 수 있다.
이때, 일 실시예에 따르면, 식별된 메시지와 연관된 하나 이상의 타겟 이벤트는 예를 들어, 식별된 메시지에 포함된 발생 시간 정보, 사용자 정보 등에 기초하여 이용하여 식별될 수 있으며, 식별된 메시지가 발생한 시점에서 타겟 서비스 모듈의 하나 이상의 타겟 상태 값은 대상 시스템(100)의 관리 모듈(130)로부터 획득될 수 있다.
한편, 일 실시예에 따르면, 예측부(940)는 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성한 후, 생성한 예측 결과를 대상 시스템(100)의 관리 모듈(130)로 제공할 수 있다. 이 경우, 관리 모듈(130)은 제공받은 예측 결과에 기초하여 타겟 서비스 모듈에 대한 사전 설정된 제어 동작을 수행할 수 있다.
또한, 일 실시예에 따르면, 예측부(940)는 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과와 실제 변화량을 비교하여 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델 중 예측 결과와 실제 변화량 사이의 차이가 기 설정된 기준 이상인 제2 변화량 예측 모델을 재학습 대상을 결정할 수 있다. 이 경우, 제2 학습부(930)는 예측부(940)에 의해 재학습 대상으로 결정된 제2 변화량 예측 모델에 대한 재학습을 수행할 수 있다.
도 10은 일 실시예에 따른 상태 값 예측 방법의 순서도이다.
도 10에 도시된 방법은 예를 들어, 도 2 또는 도 9에 도시된 상태 값 예측 장치(200, 900)에 의해 수행될 수 있다.
도 10을 참조하면, 상태 값 예측 장치(200, 900)는 복수의 서비스 모듈(110) 중 적어도 일부 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출한다(1010).
이후, 상태 값 예측 장치(200, 900)는 하나 이상의 타겟 메시지 전달 패턴과 복수의 서비스 모듈(100) 중 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 타겟 서비스 모듈의 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택한다(1020).
이후, 상태 값 예측 장치(200, 900)는 하나 이상의 타겟 메시지 전달 패턴 및 하나 이상의 타겟 상태 값에 기초한 학습을 통해 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성한다(1030).
이후, 상태 값 예측 장치(200, 900)는 사전 설정된 복수의 이벤트와 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택한다(1040).
이후, 상태 값 예측 장치(200, 900)는 하나 이상의 타겟 메시지 전달 패턴, 하나 이상의 타겟 상태 값 및 하나 이상의 타겟 이벤트에 기초하여 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성한다(1050).
한편, 도 10에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 11은 추가적인 실시예에 따른 상태 값 예측 방법의 순서도이다.
도 11에 도시된 방법은 예를 들어, 도 10에 도시된 방법에 의해 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델이 생성된 이후, 도 9에 도시된 상태 값 예측 장치(900)에 의해 수행될 수 있다.
도 11을 참조하면, 상태 값 예측 장치(900)는 하나 이상의 타겟 메시지 전달 패턴 중 하나를 통해 타겟 서비스 모듈로 전달된 메시지를 식별한다(1110).
이후, 상태 값 예측 장치(900)는 하나 이상의 타겟 이벤트 중 식별된 메시지와 연관된 하나 이상의 타겟 이벤트를 식별한다(1120).
이후, 상태 값 예측 장치(900)는 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 이용하여, 식별된 메시지의 타겟 메시지 전달 패턴, 식별된 하나 이상의 타겟 이벤트 및 식별된 메시지가 발생한 시점에서 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성한다(1130).
한편, 도 11에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 12는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 컴퓨팅 장치(12)는 일 실시예에 따른 상태 값 예측 장치(200, 900)에 포함된 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 대상 시스템
110: 서비스 모듈
120: 메시지 중개부
130: 관리 모듈
200, 900: 상태 값 예측 장치
210, 910: 패턴 추출부
220, 920: 제1 학습부
230, 930: 제2 학습부
940: 예측부

Claims (16)

  1. 복수의 서비스 모듈 중 적어도 일부의 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출하는 패턴 추출부;
    상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 서비스 모듈 중 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 상기 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택하고, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 상태 값에 기초한 학습을 통해 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성하는 제1 학습부; 및
    사전 설정된 복수의 이벤트와 상기 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 상기 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택하고, 상기 하나 이상의 타겟 메시지 전달 패턴, 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 이벤트에 기초하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성하는 제2 학습부를 포함하는, 상태 값 예측 장치.
  2. 청구항 1에 있어서,
    상기 패턴 추출부는, 동일한 트랜잭션(transaction) 내에 발생한 하나 이상의 사용자 요청을 처리하기 위해 상기 적어도 일부의 서비스 모듈 사이에 순차적으로 전달된 메시지에 기초하여 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스를 생성하고, 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 상기 하나 이상의 타겟 메시지 전달 패턴을 추출하는, 상태 값 예측 장치.
  3. 청구항 2에 있어서,
    상기 패턴 추출부는, 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 기 설정된 횟수 이상 출현한 하나 이상의 서브 시퀀스를 상기 하나 이상의 타겟 메시지 전달 패턴으로 추출하는, 상태 값 예측 장치.
  4. 청구항 1에 있어서,
    상기 제1 학습부는, 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 상태 값 사이의 상관 계수를 산출하고, 상기 복수의 상태 값 중 상기 상관 계수가 기 설정된 값 이상인 하나 이상의 상태 값을 상기 하나 이상의 타겟 상태 값으로 선택하는, 상태 값 예측 장치.
  5. 청구항 1에 있어서,
    상기 제1 학습부는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점의 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 메시지 전달 패턴을 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델에 대한 학습을 수행하는, 상태 값 예측 장치.
  6. 청구항 1에 있어서,
    상기 제2 학습부는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지의 발생 시점의 상기 하나 이상의 타겟 상태 값, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 이벤트를 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하는, 상태 값 예측 장치.
  7. 청구항 1에 있어서,
    상기 패턴 추출부는, 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델이 생성된 이후, 상기 하나 이상의 타겟 메시지 전달 패턴 중 하나의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지를 식별하는, 상태 값 예측 장치.
  8. 청구항 7에 있어서,
    상기 하나 이상의 타겟 이벤트 중 상기 식별된 메시지와 연관된 하나 이상의 타겟 이벤트를 식별하고, 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 이용하여, 상기 하나의 타겟 메시지 전달 패턴, 상기 식별된 하나 이상의 타겟 이벤트 및 상기 식별된 메시지가 발생한 시점에서 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성하는 예측부를 더 포함하는, 상태 값 예측 장치.
  9. 복수의 서비스 모듈 중 적어도 일부의 서비스 모듈 사이에 전달된 메시지에 기초하여 하나 이상의 타겟 메시지 전달 패턴을 추출하는 단계;
    상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 서비스 모듈 중 타겟 서비스 모듈의 복수의 상태 값 사이의 상관 관계에 기초하여 상기 복수의 상태 값 중 하나 이상의 타겟 상태 값을 선택하는 단계;
    상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 상태 값에 기초한 학습을 통해 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 생성하는 단계;
    사전 설정된 복수의 이벤트와 상기 하나 이상의 타겟 상태 값 사이의 상관 관계에 기초하여 상기 복수의 이벤트 중 하나 이상의 타겟 이벤트를 선택하는 단계; 및
    상기 하나 이상의 타겟 메시지 전달 패턴, 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 이벤트에 기초하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 생성하는 단계를 포함하는, 상태 값 예측 방법.
  10. 청구항 9에 있어서,
    상기 추출하는 단계는, 동일한 트랜잭션(transaction) 내에 발생한 하나 이상의 사용자 요청을 처리하기 위해 상기 적어도 일부의 서비스 모듈 사이에 순차적으로 전달된 메시지에 기초하여 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스를 생성하는 단계; 및
    상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 상기 하나 이상의 타겟 메시지 전달 패턴을 추출하는 단계를 포함하는, 상태 값 예측 방법.
  11. 청구항 10에 있어서,
    상기 추출하는 단계는, 상기 복수의 트랜잭션 각각에 대한 메시지 전달 시퀀스에서 기 설정된 횟수 이상 출현한 하나 이상의 서브 시퀀스를 상기 하나 이상의 타겟 메시지 전달 패턴으로 추출하는, 상태 값 예측 방법.
  12. 청구항 9에 있어서,
    상기 하나 이상의 타겟 상태 값을 선택하는 단계는, 상기 하나 이상의 타겟 메시지 전달 패턴과 상기 복수의 상태 값 사이의 상관 계수를 산출하는 단계; 및
    상기 복수의 상태 값 중 상기 상관 계수가 기 설정된 값 이상인 하나 이상의 상태 값을 상기 하나 이상의 타겟 상태 값으로 선택하는 단계를 포함하는, 상태 값 예측 방법.
  13. 청구항 9에 있어서,
    상기 제1 변화량 예측 모델을 생성하는 단계는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점의 상기 하나 이상의 타겟 상태 값 및 상기 하나 이상의 타겟 메시지 전달 패턴을 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델에 대한 학습을 수행하는, 상태 값 예측 방법.
  14. 청구항 9에 있어서,
    상기 제2 변화량 예측 모델을 생성하는 단계는, 상기 하나 이상의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지의 발생 시점의 상기 하나 이상의 타겟 상태 값, 상기 하나 이상의 타겟 메시지 전달 패턴 및 상기 하나 이상의 타겟 이벤트를 독립 변수로 이용하고, 상기 타겟 서비스 모듈로 전달된 메시지가 발생한 시점 이후 상기 하나 이상의 타겟 상태 값 각각의 변화량을 종속 변수로 이용하여 상기 하나 이상의 타겟 상태 값 각각에 대한 제1 변화량 예측 모델을 추가 학습하는, 상태 값 예측 방법.
  15. 청구항 9에 있어서,
    상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델이 생성된 이후, 상기 하나 이상의 타겟 메시지 전달 패턴 중 하나의 타겟 메시지 전달 패턴에 따라 상기 타겟 서비스 모듈로 전달된 메시지를 식별하는 단계를 더 포함하는, 상태 값 예측 방법.
  16. 청구항 15에 있어서,
    상기 하나 이상의 타겟 이벤트 중 상기 식별된 메시지와 연관된 하나 이상의 타겟 이벤트를 식별하는 단계; 및
    상기 하나 이상의 타겟 상태 값 각각에 대한 제2 변화량 예측 모델을 이용하여, 상기 하나의 타겟 메시지 전달 패턴, 상기 식별된 하나 이상의 타겟 이벤트 및 상기 식별된 메시지가 발생한 시점에서 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값으로부터 상기 타겟 서비스 모듈의 하나 이상의 타겟 상태 값 각각의 변화량에 대한 예측 결과를 생성하는 단계를 더 포함하는, 상태 값 예측 방법.
KR1020210069375A 2021-05-28 2021-05-28 메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법 KR20220161015A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210069375A KR20220161015A (ko) 2021-05-28 2021-05-28 메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법
US17/751,769 US20220383144A1 (en) 2021-05-28 2022-05-24 Apparatus and method for predicting status value of service module based on message delivery pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069375A KR20220161015A (ko) 2021-05-28 2021-05-28 메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20220161015A true KR20220161015A (ko) 2022-12-06

Family

ID=84193103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069375A KR20220161015A (ko) 2021-05-28 2021-05-28 메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법

Country Status (2)

Country Link
US (1) US20220383144A1 (ko)
KR (1) KR20220161015A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200126766A (ko) 2019-04-30 2020-11-09 한국전자통신연구원 Ict 인프라의 운용 관리 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200126766A (ko) 2019-04-30 2020-11-09 한국전자통신연구원 Ict 인프라의 운용 관리 장치 및 방법

Also Published As

Publication number Publication date
US20220383144A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
CN108089921B (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
US9576248B2 (en) Record linkage sharing using labeled comparison vectors and a machine learning domain classification trainer
US20210042628A1 (en) Building a federated learning framework
US11514347B2 (en) Identifying and remediating system anomalies through machine learning algorithms
CN109478263A (zh) 用于体系结构评估和策略执行的***和设备
CN110597719B (zh) 一种用于适配测试的图像聚类方法、装置及介质
US11271957B2 (en) Contextual anomaly detection across assets
CN111966361A (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
KR102118588B1 (ko) 전용 인공 지능 시스템
CN111209930B (zh) 一种生成授信策略的方法、装置和电子设备
CN116684330A (zh) 基于人工智能的流量预测方法、装置、设备及存储介质
KR102394900B1 (ko) 인공지능 기반 상품 재고량 정보 동기화 방법, 장치 및 시스템
US20200401399A1 (en) Application division device, method and program
CN111159241A (zh) 一种点击转化预估方法及装置
CN114253605A (zh) 机器学习数据处理流水线的运行时间估计
CN112948275A (zh) 测试数据生成方法、装置、设备及存储介质
CN112288128A (zh) 信息预测方法和装置
KR102430989B1 (ko) 인공지능 기반 콘텐츠 카테고리 예측 방법, 장치 및 시스템
KR20220161015A (ko) 메시지 전달 패턴에 기초한 서비스 모듈의 상태 값 예측 장치 및 방법
WO2023154538A1 (en) System and method for reducing system performance degradation due to excess traffic
US20230206114A1 (en) Fair selective classification via a variational mutual information upper bound for imposing sufficiency
CN111651555B (zh) 业务处理方法、***和计算机可读存储介质
US11704222B2 (en) Event log processing
Dehnokhalaji et al. Constructing a strict total order for alternatives characterized by multiple criteria: an extension
CN115545248A (zh) 目标对象预测方法、装置、设备及介质