KR20220037839A - 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법 - Google Patents

마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법 Download PDF

Info

Publication number
KR20220037839A
KR20220037839A KR1020200120772A KR20200120772A KR20220037839A KR 20220037839 A KR20220037839 A KR 20220037839A KR 1020200120772 A KR1020200120772 A KR 1020200120772A KR 20200120772 A KR20200120772 A KR 20200120772A KR 20220037839 A KR20220037839 A KR 20220037839A
Authority
KR
South Korea
Prior art keywords
software
unit function
module
stored
modules
Prior art date
Application number
KR1020200120772A
Other languages
English (en)
Other versions
KR102519132B1 (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 한국전자기술연구원
Priority to KR1020200120772A priority Critical patent/KR102519132B1/ko
Publication of KR20220037839A publication Critical patent/KR20220037839A/ko
Application granted granted Critical
Publication of KR102519132B1 publication Critical patent/KR102519132B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

마이크로서비스 기반의 자가성장형 소프트웨어 운영방법이 제공된다. 상기 방법은 소정의 서비스를 제공하는 시스템(이하, 서비스 제공 시스템)에서 운영되는 적어도 하나의 소프트웨어의 단위 기능을 식별하는 단계; 상기 식별된 단위 기능별로 상기 소프트웨어를 모듈화(이하 단위 기능별 모듈)하는 단계; 상기 단위 기능별 모듈을 저장소에 저장하는 단계; 상기 저장소에 저장된 일부의 단위 기능별 모듈만을 독출하여 상기 소프트웨어에 상응하는 서비스를 제공하는 단계; 상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계; 및 상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계를 포함한다.

Description

마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법{SYSTEM AND METHOD FOR OPERATING SELF-GROWING SOFTWARE BASED ON MICROSERVICE}
본 발명은 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법에 관한 것이다.
종래에는 IoT나 생산시설 또는 각종 무인 운영 시스템에 대하여 변화된 요구사항이나 결함 등의 돌발 상황이 발생한 경우, 운영자의 즉각적인 개입이 어려운 상황에서, 중요도나 긴급성에 따라 결함이 존재하는 상태로 운영하거나 일정 시간동안 시스템을 중단해야 하는 문제가 있었다.
또한, 기존의 자동 업데이트 기술은 새로운 소프트웨어의 전송 및 적용까지 시스템의 가동을 중단해야 하는 경우가 일반적이었다. 이 또한, 소프트웨어의 부분적인 요소의 성장형 아키텍처가 아닌 소프트웨어 전체를 새로운 것으로 대체하는 방식으로 이루어지므로 네트워크의 상황이나 적용 시스템의 환경에 따라 많은 한계점이 존재하였다.
본 발명의 실시예는 소프트웨어를 탑재하고 구동하는 IT 시스템의 운영에 있어서, 오류, 결함, 신규 기능에 대한 요구사항 등 다양한 이슈가 발생하는 경우, 이를 해결하기 위한 관리자의 개입이나 시스템 운영 중단을 최소화하면서 이슈를 해결할 수 있도록 하는 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 마이크로서비스 기반의 자가성장형 소프트웨어 운영 방법은 소정의 서비스를 제공하는 시스템(이하, 서비스 제공 시스템)에서 운영되는 적어도 하나의 소프트웨어의 단위 기능을 식별하는 단계; 상기 식별된 단위 기능별로 상기 소프트웨어를 모듈화(이하 단위 기능별 모듈)하는 단계; 상기 단위 기능별 모듈을 저장소에 저장하는 단계; 상기 저장소에 저장된 일부의 단위 기능별 모듈만을 독출하여 상기 소프트웨어에 상응하는 서비스를 제공하는 단계; 상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계; 및 상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계를 포함한다. 이때, 상기 운영상태 데이터는 상기 서비스 제공 시스템의 리소스 사용량, 메모리 사용량 및 입출력 데이터를 포함한다.
본 발명의 일부 실시예에서, 상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계는, 상기 운영상태 데이터에 기초하여 상기 서비스 제공 시스템의 운영상황의 변화 및 상기 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되는지 여부를 탐색하는 단계; 상기 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생된 경우 상기 운영상태 데이터를 분석하여 상기 소프트웨어의 결함 여부를 판단하는 단계; 및 상기 소프트웨어의 결함이 존재하는 것으로 판단한 경우 상기 자율 대응할 것을 결정하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 운영상태 데이터를 분석하여 상기 소프트웨어의 결함 여부를 판단하는 단계는, 상기 운영상태 데이터를 기반으로 분석된, 소정의 제1 시간 구간 및 상기 제1 시간 구간 이후에 연속되는 소정의 제2 시간 구간에서의 상기 서비스 제공 시스템의 각 리소스 사용량이 소정의 제1 오차 범위를 초과하되, 상기 소프트웨어에 대응하여 수집 또는 처리 중인 데이터의 상기 제1 및 제2 시간 구간에서의 수집량 또는 처리량의 변화가 소정의 제2 오차 범위 내인 경우 상기 소프트웨어에 결함이 존재하는 것으로 판단할 수 있다.
본 발명의 일부 실시예에서, 상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는, 상기 저장소에 저장된 단위 기능별 모듈 중 상기 소프트웨어의 결함에 상응하는 단위 기능별 모듈이 저장되어 있는지 여부를 탐색하는 단계; 및 상기 탐색된 단위 기능별 모듈을 다운로드하여 상기 메모리에 적재시키는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는, 상기 탐색 결과에 따른 단위 기능별 모듈의 다운로드 가능 여부를 판단하는 단계; 및 상기 단위 기능별 모듈의 다운로드가 불가능할 경우, 상기 저장소에 저장된 단위 기능별 모듈을 동적으로 로드(load)하거나 호출(Remote Procedure Call)하여 상기 소프트웨어에 적용시키는 단계를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는, 상기 탐색된 단위 기능별 모듈을 다운로드하기로 결정함에 따라, 상기 저장소에 저장된 단위 기능별 모듈의 기능을 동적으로 로드(load)하거나 호출(Remote Procedure Call)하여 상기 소프트웨어에 적용시키는 단계를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계는, 상기 운영상태 데이터에 기초하여 상기 서비스 제공 시스템의 운영상황의 변화 및 상기 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되는지 여부를 탐색하는 단계; 상기 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생된 경우 상기 운영상태 데이터로부터 샘플 데이터 및 메타 데이터 중 적어도 하나의 추출 가능 여부를 판단하는 단계; 및 상기 샘플 데이터 또는 메타 데이터의 추출이 가능한 경우 상기 자율 대응할 것으로 결정하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는, 상기 저장소에 단위 기능별 모듈 중 상기 샘플 데이터 또는 메타 데이터에 상응하는 상기 단위 기능별 모듈이 저장되어 있는지 여부를 탐색하는 단계; 및 상기 탐색된 단위 기능별 모듈을 다운로드하여 상기 메모리에 적재시키는 단계를 포함할 수 있다.
또한, 본 발명의 제2 측면에 따른 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템은 소정의 서비스를 제공하는 소프트웨어의 단위 기능별 모듈이 저장된 저장소, 상기 단위 기능별 모듈을 독출하여 상기 서비스를 제공하는 위한 프로그램이 저장된 메모리, 상기 저장소에 저장된 단위 기능별 모듈을 독출하여 상기 메모리에 전송하는 통신모듈 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하되, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 저장소에 저장된 일부의 단위 기능별 모듈만을 독출하여 상기 서비스를 제공하고, 상기 소프트웨어와 관련된 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하며, 상기 자율 대응 여부에 따라 상기 저장소에 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키고, 상기 운영상태 데이터는 리소스 사용량, 메모리 사용량 및 입출력 데이터를 포함한다.
본 발명의 일부 실시예에서, 상기 프로세서는 상기 운영상태 데이터에 기초하여 상기 소프트웨어의 운영상황의 변화 및 상기 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되는지 여부를 탐색하여, 상기 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생된 경우 상기 운영상태 데이터를 분석하여 상기 자율 대응할 것인지를 결정하되, 상기 운영상태 데이터를 분석하여 상기 소프트웨어의 결함 여부를 판단하여 상기 소프트웨어의 결함이 존재하는 것으로 판단한 경우, 상기 운영상태 데이터로부터 샘플 데이터 및 메타 데이터 중 적어도 하나를 추출 가능한 경우 상기 자율 대응할 것으로 결정할 수 있다.
본 발명의 일부 실시예에서, 상기 프로세서는 상기 저장소에 저장된 단위 기능별 모듈 중 상기 소프트웨어의 결함에 상응하는 단위 기능별 모듈, 상기 샘플 데이터 및 메타 데이터 중 적어도 하나에 상응하는 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈이 저장되어 있는지 여부를 탐색하고, 상기 탐색된 단위 기능별 모듈을 다운로드하여 상기 메모리에 적재시킬 수 있다.
본 발명의 일부 실시예에서, 상기 프로세서는 상기 탐색 결과에 따른 단위 기능별 모듈의 다운로드 가능 여부를 판단하고, 상기 단위 기능별 모듈의 다운로드가 불가능할 경우, 상기 저장소에 저장된 단위 기능별 모듈을 호출(Remote Procedure Call)하여 상기 소프트웨어에 적용시킬 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같은 본 발명에 따르면, 서비스 제공 시스템의 여러가지 운영상 이슈 발생시 관리자의 개입 전까지, 또는 경우에 따라서는 관리자의 개입이 필요 없는 신속한 대응이 가능하도록 하여 서비스 제공의 안전성 및 안정성을 향상시킬 수 있다.
또한, 소프트웨어의 모듈화 및 모듈의 동적 연결과 호출이 가능하도록 하는 한편, 소프트웨어 모듈을 직접적으로 보유하고 있지 않은 상태에서도 원격지에 존재하는 모듈의 기능 호출이 가능하도록 하여 다양한 운영상의 필요와 상황에 대응이 가능하다는 장점이 있다. 즉, 자가성장 트리거 이후 단위 기능별 모듈 수신 완료 전에도 새로운 단위 기능별 모듈을 사용하거나, IoT 등과 같은 제한적인 리소스를 갖는 컴퓨팅 환경에서도 자가성장 적용이 가능하다는 장점이 있다.
이와 더불어, 관리자의 개입과 시스템 운영 중단을 반드시 동반할 필요가 없도록 함으로써, 자동 업데이트 기술보다 더욱 진보한 시스템 유지 관리가 가능하게끔 할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 자가성장형 소프트웨어 운영방법의 순서도이다.
도 2는 본 발명의 일 실시예에서의 자율 대응 여부에 따른 프로세스를 설명하기 위한 도면이다.
도 3a 내지 도 3d는 본 발명의 일 실시예에서 단위 기능별 모듈을 독출하는 일 예시를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 자가성장형 소프트웨어 운영 시스템을 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명은 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템(100) 및 방법에 관한 것이다.
본 발명의 일 실시예는 적절한 인공지능 기술에 의하여 자가성장이 필요한 시점 및 요구사항을 파악할 수 있으며, 이를 기반으로 하여 이후의 소프트웨어의 구조적인 성장을 지원할 수 있다.
본 발명의 일 실시예는 필요에 따라 스스로의 구성요소를 자율적으로 추가 또는 변경함으로써 성능이나 기능을 향상시킬 수 있는 지능형 소프트웨어 기술인 자가성장 소프트웨어 기술을 적용하는 것을 특징으로 하고 있다. 본 발명의 일 실시예에서의 자가성정 소프트웨어 기술은 소프트웨어의 구동 상황을 인지하고 개선이나 추가 등의 변화가 필요한 사항을 도출할 수 있는 인공지능 기술과, 자가 생성 또는 외부로부터 획득한 모듈을 구동 중인 소프트웨어에 추가할 수 있는 소프트웨어 아키텍처 기술로 구성된다.
이하 도 1 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 마이크로서비스 기반의 자가성장형 소프트웨어 운영방법(이하, 자가성장형 소프트웨어 운영방법)에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 자가성장형 소프트웨어 운영방법의 순서도이다.
한편, 도 1에 도시된 단계들은 자가성장형 소프트웨어 운영 시스템(100)에 의해 운영되는 서버(이하, 서버)에 의해 수행되는 것으로 이해될 수 있지만, 이에 제한되는 것은 아니다.
먼저, 서버는 소정의 서비스를 제공하는 시스템(이하 서비스 제공 시스템)에서 운영되는 적어도 하나의 소프트웨어의 단위 기능을 식별하고(S110), 식별된 단위 기능별로 소프트웨어를 모듈화(이하, 단위 기능별 모듈)한다(S120).
일 실시예로, 서버는 소프트웨어의 제1 단위 기능과 제2 단위 기능을 식별하고, 식별된 제1 단위 기능에 상응하는 부분을 모듈화하여 제1 단위 기능 모듈을 생성하고, 제2 단위 기능에 상응하는 부분을 모듈화하여 제2 단위 기능 모듈을 생성한다.
이때, 제1 및 제2 단위 기능은 설명의 편의를 위해 지칭한 것으로 소프트웨어를 구성하는 전체 단위 기능으로 한정되는 것은 아니다. 즉, 소프트웨어는 식별되는 단위 기능에 따라 적어도 하나의 단위 기능별 모듈로 모듈화될 수 있다.
또한, 본 발명의 일 실시예에서의 단위 기능은 복수 개의 단위 기능의 조합으로 구성되거나, 복수 개의 단위 기능이 그룹화되어 구성된 후 단위 기능별 모듈로 모듈화될 수도 있음은 물론이다.
한편, 본 발명의 일 실시예에서 서비스 제공 시스템과 소프트웨어 운영 시스템(100)은 각각 독립적인 서버 컴퓨터에서 실행되거나, 하나의 서버로 구현되어 서버 컴퓨터에 서버 프로그램(server program)으로 탑재되어 서비스될 수 있다. 바람직하게는, 서비스 제공 시스템은 본 발명에서의 소프트웨어 운영 시스템(100)과 원격지에 있어 별개로 운영될 수 있다.
다음으로, 서버는 단위 기능별 모듈을 저장소에 저장한 후(S130), 저장소에 저장된 일부의 단위 기능별 모듈만을 독출하여 소프트웨어에 상응하는 서비스를 제공한다(S140).
즉, 서버는 각 단위 기능을 담당하는 모듈을 컴파일 시점에 링크하지 않고, 구동 중 필요한 시점에 서비스 제공 시스템의 메모리에 적재하고 호출할 수 있도록 하되, 단위 기능별 모듈은 저장소에서 관리하도록 하여 자가성장의 요구사항에 신속한 대응이 가능하도록 할 수 있다.
한편, 서버는 소프트웨어에 상응하는 단위 기능이 추가됨에 따라, 추가된 부분에 상응하는 단위 기능을 식별하여 단위 기능별 모듈을 생성하고, 이를 저장소에 저장할 수도 있다.
다음으로, 서버는 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 서비스에 상응하는 자율 대응 여부를 결정하고(S150), 자율 대응 여부에 따라 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 소프트웨어에 적용시킨다(S160).
일 실시예로, 운영상태 데이터는 서비스 제공 시스템의 CPU 부하와 같은 리소스 사용량, 메모리 사용량 및 입출력 데이터를 포함할 수 있다. 이러한 운영상태 데이터는 미리 학습된 기계학습 알고리즘을 통해 지속적으로 학습될 수 있다. 일 예로, 운영상태 데이터를 기계학습 알고리즘의 입력 데이터로 설정하고, 자율 대응 필요 여부를 출력 데이터로 설정하여 학습을 수행할 수 있으며, 서버는 학습된 기계학습 알고리즘을 이용하여 자율 대응 여부를 결정할 수 있다.
일 실시예로, 서버는 소정의 제1 시간 구간 동안에서의 운영상태 데이터를 트래킹 및 분석하고, 제1 시간 구간 이후에 연속되는 소정의 제2 시간 구간 동안에서의 운영상태 데이터를 트래킹 및 분석한다. 이때, 본 발명에서는 편의상 제1 시간 구간은 서비스 제공 시스템의 평소 운영상태에 대응하며, 제2 시간 구간은 평소 운영상태와는 달리 특정한 이슈가 발생하여 자율 대응이 필요한 상태로 판단되는 시간 구간인 것으로 가정하도록 한다.
도 2는 본 발명의 일 실시예에서의 자율 대응 여부에 따른 프로세스를 설명하기 위한 도면이다.
먼저, 서버는 운영상태 데이터에 기초하여 서비스 제공 시스템의 운영상황의 변화 및 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되었는지 여부를 탐색한다(S205).
그 다음, 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생한 경우, 서버는 운영상태 데이터를 분석하여 소프트웨어의 결함 여부를 판단한다(S210). 그리고 서버는 소프트웨어의 결함이 존재하는 것으로 판단한 경우 자율 대응할 것으로 결정한다.
일 예로, 서버는 운영상태 데이터를 기반으로 분석된, 소정의 제1 시간 구간 및 제1 시간 구간 이후에 연속되는 소정의 제2 시간 구간에서의 서비스 제공 시스템의 각 리소스 사용량이 소정의 제1 오차 범위를 초과한는 반면, 소프트웨어에 대응하여 수집 또는 처리 중인 데이터의 제1 및 제2 시간 구간에서의 수집량 또는 처리량의 변화가 소정의 제2 오차 범위 내인 경우 소프트웨어에 결함이 존재하는 것으로 판단할 수 있다.
즉, 서버는 서비스 제공 시스템의 CPU 부하나 메모리의 사용량이 비정상적으로 늘어나는 경우, 해당 상황을 촉발하는 제1 단위 기능별 모듈에 대하여 개선할 사항이 있는지 여부를 후술하는 저장소의 탐색을 통해 제2 단위 기능별 모듈을 적용할 수 있다.
다른 실시예로, 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생한 경우, 서버는 운영상태 데이터로부터 샘플 데이터 및 메타 데이터 중 적어도 하나의 추출 가능 여부를 판단하고(S215, S225), 추출 가능한 것으로 판단한 경우 샘플 데이터나 메타 데이터를 추출한 후(S220, S230) 이를 기반으로 자율 대응할 것으로 결정할 수 있다.
즉, 서버는 운영상태 데이터를 기반으로 서비스 제공 시스템이 평소 수집 및 처리하던 것과 다른 패턴의 데이터가 수집되는 것을 탐색하고, 수집된 데이터의 샘플을 저장소로 전달하여 이에 사응하는 단위 기능별 모듈이 있는지를 탐색한 후, 탐색된 단위 기능별 모듈을 소프트웨어에 적용시킬 수 있다.
또는, 운영상태 데이터를 기반으로 서비스에 상응하는 소프트웨어에 필요한 모듈의 기능 등에 대한 기초 정보를 명시한 메타 데이터를 추출하고, 저장소에 추출된 메타 데이터에 상응하는 단위 기능별 모듈이 있는지를 탐색한 후, 탐색된 단위 기능별 모듈을 소프트웨어에 적용시킬 수 있다.
이때, 본 발명의 일 실시예는 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생한 경우, 소프트웨어에 결함이 있는지 여부, 샘플 데이터를 추출 가능한지 여부 및 메타 데이터를 추출 가능한지 여부에 대하여 도 2에 도시된 바와 같이 순차적으로 판단할 수 있고, 도 2와는 달리 각각 독립적으로 판단하여 어느 하나에 해당하는지 여부에 따라 자율 대응 여부를 결정할 수도 있다.
도 3a 내지 도 3d는 본 발명의 일 실시예에서 단위 기능별 모듈을 독출하는 일 예시를 도시한 도면이다.
서버는 소프트웨어에 결함이 존재하는 경우, 이를 기반으로 저장소에 저장된 단위 기능별 모듈 중 소프트웨어의 결함에 상응하는 단위 기능별 모듈이 저장되어 있는지 여부를 탐색한다(S235).
그리고, 소프트웨어의 결함에 상응하는 단위 기능별 모듈이 존재하는 경우(S240), 탐색된 단위 기능별 모듈을 다운로드하여 서비스 제공 시스템의 메모리에 적재시킬 수 있다(S250).
일 실시예로, 서버는 서비스 제공 시스템의 리소스나 네트워크 상황 등에 기초하여 탐색된 단위 기능별 모듈을 다운로드 또는 메모리에 적재시킬 수 있는지 그 가능 여부를 판단할 수 있다.
만약, 단위 기능별 모듈의 다운로드나 서비스 제공 시스템의 메모리 상에 적재가 불가능한 것으로 판단된 경우(S245-N), 서버는 도 3a 내지 도 3c와 같이 저장소에 저장된 단위 기능별 모듈을 동적으로 로드(load)하거나 호출(Remote Procedure Call)하여 소프트웨어(Application Core Module)에 적용시킬 수 있다. 이때, 서버는 단위 기능별 모듈을 동적으로 로드하여 적용시키거나(도 3a), 단위 기능별 모듈을 호출하여 적용시킬 수 있다(도 3b). 또는, 적용 대상인 단위 기능별 모듈이 복수 개인 경우 도 3c와 같이 이를 동시에 독출하여 적용시킬 수도 있다.
이에 따라, 서비스 제공 시스템은 메모리 상에 직접적으로 필요로 하는 단위 기능 모듈을 보유하고 있지 않더라도, 추가 또는 변경되는 기능의 동적 로드 또는 호출을 통한 적용이 가능한 자가성장 구현이 가능하다는 장점이 있다. 또한, 서비스 제공 시스템의 컴퓨팅 환경이 제한적인 경우 등에도 자가성장형 소프트웨어 구현이 가능하다는 장점이 있다.
또 다른 실시예로, 서버는 탐색된 단위 기능별 모듈을 다운로드하기로 결정함에 따라, 저장소에 저장된 단위 기능별 모듈을 호출하여 소프트웨어에 적용시킬 수 있다.
즉, 도 3d와 같이 서버는 단위 기능별 모듈을 다운로드하는 중에도 다운로드 중인 단위 기능별 모듈을 동적 로드 또는 호출할 수 있으며, 이와 상이한 새로운 단위 기능별 모듈에 대한 기능에 대해서도 동적 로드 또는 호출할 수 있다. 이를 통해 IoT 등 제한적인 컴퓨팅 환경에서 새로운 단위 기능별 모듈의 다운로드 없이 RPC를 통해 새로운 기능의 호출 및 이용이 가능하다는 장점이 있다.
일 예로, 서버는 네트워크의 리소스 등의 상황 정보, 다운로드될 단위 기능별 모듈의 데이터 크기 정보에 기초하여 단위 기능별 모듈의 다운로드 시간 및 적용 완료 시간을 산출하고(이하 제 1 시간), 동일한 단위 기능별 모듈에 대한 동적 로드 또는 호출하여 적용시 소요되는 총 시간(이하 제2 시간)을 산출한 후, 제1 시간이 제2 시간을 초과하는 경우, 다운로드와 동시에 단위 기능별 모듈에 대한 동적 로드 또는 호출하여 소프트웨어에 적용시킬 수도 있다.
이와 같이, 본 발명의 일 실시예에 따른 자가성장형 소프트웨어 운영 방법은 자가성장 기술이 적용된 소프트웨어의 전반적인 운영, 즉 단위 기능별 모듈의 설치와 구동 등의 관리, 단위 기능별 모듈의 연결 및 호출에 관여하며, 단위 기능별 모듈을 전체 소프트웨어의 컴파일시 미리 소프트웨어에 연결시키는 것이 아니라, 필요한 시점에 동적으로 서비스 제공 시스템의 메모리에 적재하고 호출하는 방식으로 소프트웨어에 연동되도록 할 수 있다.
한편, 본 발명의 일 실시예는 서비스 제공 시스템에서의 운영상황이나 데이터의 패턴 발생 변화를 탐지한 이후, 소프트웨어의 결함이 없고, 샘플 데이터 및 메타 데이터의 추출이 불가능한 경우, 또는 이에 해당되는 경우라 하더라도 저장소에 상응하는 단위 기능별 모듈이 존재하지 않는 경우 최종적으로 관리자에게 통지할 수 있다(S260). 즉, 본 발명의 일 실시예에서 관리자의 개입은 가장 마지막 과정에서 이루어지게 된다.
한편, 상술한 설명에서, 단계 S110 내지 단계 S260 은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 3d에 기술된 내용은 도 4의 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템(100)에도 적용된다.
이하에서는 본 발명의 일 실시예에 따른 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템(100, 이하 자가성장형 소프트웨어 운영 시스템이라 한다)에 대하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 자가성장형 소프트웨어 운영 시스템(100)을 설명하기 위한 도면이다.
도 4를 참조하면, 자가성장형 소프트웨어 운영 시스템(100)는 저장소(110), 메모리(120), 통신모듈(130) 및 프로세서(140)를 포함한다.
저장소(110)는 소정의 서비스를 제공하는 소프트웨어의 단위 기능별 모듈이 저장되고, 메모리(120)에는 단위 기능별 모듈을 독출하여 서비스를 제공하기 위한 프로그램이 저장된다.
통신모듈(130)은 저장소(110)에 저장된 단위 기능별 모듈을 독출하여 메모리(120)에 전송하며, 프로세서(140)는 메모리(120)에 저장된 프로그램을 실행시킨다.
프로세서(140)는 저장소(110)에 저장된 일부의 단위 기능별 모듈만을 독출하여 서비스를 제공하고, 소프트웨어와 관련된 리소스 사용량, 메모리 사용량 및 입출력 데이터를 포함하는 운영상태 데이터를 트래킹하여 서비스에 상응하는 자율 대응 여부를 결정하며, 자율 대응 여부에 따라 저장소(110)에 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 소프트웨어에 적용시킨다.
이상에서 전술한 본 발명의 일 실시예에 따른 자가성장형 소프트웨어 운영 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100: 자가성장형 소프트웨어 운영 시스템
110: 저장소
120: 메모리
130: 통신모듈
140: 프로세서

Claims (12)

  1. 컴퓨터에 의해 수행되는 방법에 있어서,
    소정의 서비스를 제공하는 시스템(이하, 서비스 제공 시스템)에서 운영되는 적어도 하나의 소프트웨어의 단위 기능을 식별하는 단계;
    상기 식별된 단위 기능별로 상기 소프트웨어를 모듈화(이하 단위 기능별 모듈)하는 단계;
    상기 단위 기능별 모듈을 저장소에 저장하는 단계;
    상기 저장소에 저장된 일부의 단위 기능별 모듈만을 독출하여 상기 소프트웨어에 상응하는 서비스를 제공하는 단계;
    상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계; 및
    상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계를 포함하되,
    상기 운영상태 데이터는 상기 서비스 제공 시스템의 리소스 사용량, 메모리 사용량 및 입출력 데이터를 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  2. 제1항에 있어서,
    상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계는,
    상기 운영상태 데이터에 기초하여 상기 서비스 제공 시스템의 운영상황의 변화 및 상기 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되는지 여부를 탐색하는 단계;
    상기 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생된 경우 상기 운영상태 데이터를 분석하여 상기 소프트웨어의 결함 여부를 판단하는 단계; 및
    상기 소프트웨어의 결함이 존재하는 것으로 판단한 경우 상기 자율 대응할 것을 결정하는 단계를 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  3. 제2항에 있어서,
    상기 운영상태 데이터를 분석하여 상기 소프트웨어의 결함 여부를 판단하는 단계는,
    상기 운영상태 데이터를 기반으로 분석된, 소정의 제1 시간 구간 및 상기 제1 시간 구간 이후에 연속되는 소정의 제2 시간 구간에서의 상기 서비스 제공 시스템의 각 리소스 사용량이 소정의 제1 오차 범위를 초과하되,
    상기 소프트웨어에 대응하여 수집 또는 처리 중인 데이터의 상기 제1 및 제2 시간 구간에서의 수집량 또는 처리량의 변화가 소정의 제2 오차 범위 내인 경우 상기 소프트웨어에 결함이 존재하는 것으로 판단하는 것인,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  4. 제2항에 있어서,
    상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는,
    상기 저장소에 저장된 단위 기능별 모듈 중 상기 소프트웨어의 결함에 상응하는 단위 기능별 모듈이 저장되어 있는지 여부를 탐색하는 단계; 및
    상기 탐색된 단위 기능별 모듈을 다운로드하여 상기 메모리에 적재시키는 단계를 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  5. 제4항에 있어서,
    상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는,
    상기 탐색 결과에 따른 단위 기능별 모듈의 다운로드 가능 여부를 판단하는 단계; 및
    상기 단위 기능별 모듈의 다운로드가 불가능할 경우, 상기 저장소에 저장된 단위 기능별 모듈을 동적으로 로드(load)하거나 호출(Remote Procedure Call)하여 상기 소프트웨어에 적용시키는 단계를 더 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  6. 제4항에 있어서,
    상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는,
    상기 탐색된 단위 기능별 모듈을 다운로드하기로 결정함에 따라, 상기 저장소에 저장된 단위 기능별 모듈의 기능을 동적으로 로드(load)하거나 호출(Remote Procedure Call)하여 상기 소프트웨어에 적용시키는 단계를 더 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  7. 제1항에 있어서,
    상기 서비스 제공 시스템의 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하는 단계는,
    상기 운영상태 데이터에 기초하여 상기 서비스 제공 시스템의 운영상황의 변화 및 상기 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되는지 여부를 탐색하는 단계;
    상기 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생된 경우 상기 운영상태 데이터로부터 샘플 데이터 및 메타 데이터 중 적어도 하나의 추출 가능 여부를 판단하는 단계; 및
    상기 샘플 데이터 또는 메타 데이터의 추출이 가능한 경우 상기 자율 대응할 것으로 결정하는 단계를 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  8. 제7항에 있어서,
    상기 자율 대응 여부에 따라 상기 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키는 단계는,
    상기 저장소에 단위 기능별 모듈 중 상기 샘플 데이터 또는 메타 데이터에 상응하는 상기 단위 기능별 모듈이 저장되어 있는지 여부를 탐색하는 단계; 및
    상기 탐색된 단위 기능별 모듈을 다운로드하여 상기 메모리에 적재시키는 단계를 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영방법.
  9. 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템에 있어서,
    소정의 서비스를 제공하는 소프트웨어의 단위 기능별 모듈이 저장된 저장소,
    상기 단위 기능별 모듈을 독출하여 상기 서비스를 제공하는 위한 프로그램이 저장된 메모리,
    상기 저장소에 저장된 단위 기능별 모듈을 독출하여 상기 메모리에 전송하는 통신모듈 및
    상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하되,
    상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 저장소에 저장된 일부의 단위 기능별 모듈만을 독출하여 상기 서비스를 제공하고, 상기 소프트웨어와 관련된 운영상태 데이터를 트래킹하여 상기 서비스에 상응하는 자율 대응 여부를 결정하며, 상기 자율 대응 여부에 따라 상기 저장소에 저장된 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈을 독출하여 상기 소프트웨어에 적용시키고,
    상기 운영상태 데이터는 리소스 사용량, 메모리 사용량 및 입출력 데이터를 포함하는,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템.
  10. 제9항에 있어서,
    상기 프로세서는 상기 운영상태 데이터에 기초하여 상기 소프트웨어의 운영상황의 변화 및 상기 운영상태 데이터의 패턴 변화 중 적어도 하나가 발생되는지 여부를 탐색하여, 상기 운영상황의 변화 및 패턴 변화 중 적어도 하나가 발생된 경우 상기 운영상태 데이터를 분석하여 상기 자율 대응할 것인지를 결정하되,
    상기 운영상태 데이터를 분석하여 상기 소프트웨어의 결함 여부를 판단하여 상기 소프트웨어의 결함이 존재하는 것으로 판단한 경우, 상기 운영상태 데이터로부터 샘플 데이터 및 메타 데이터 중 적어도 하나를 추출 가능한 경우 상기 자율 대응할 것으로 결정하는 것인,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템.
  11. 제10항에 있어서,
    상기 프로세서는 상기 저장소에 저장된 단위 기능별 모듈 중 상기 소프트웨어의 결함에 상응하는 단위 기능별 모듈, 상기 샘플 데이터 및 메타 데이터 중 적어도 하나에 상응하는 단위 기능별 모듈 중 적어도 하나의 단위 기능별 모듈이 저장되어 있는지 여부를 탐색하고, 상기 탐색된 단위 기능별 모듈을 다운로드하여 상기 메모리에 적재시키는 것인,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템.
  12. 제11항에 있어서,
    상기 프로세서는 상기 탐색 결과에 따른 단위 기능별 모듈의 다운로드 가능 여부를 판단하고, 상기 단위 기능별 모듈의 다운로드가 불가능할 경우, 상기 저장소에 저장된 단위 기능별 모듈을 호출(Remote Procedure Call)하여 상기 소프트웨어에 적용시키는 것인,
    마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템.
KR1020200120772A 2020-09-18 2020-09-18 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법 KR102519132B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200120772A KR102519132B1 (ko) 2020-09-18 2020-09-18 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200120772A KR102519132B1 (ko) 2020-09-18 2020-09-18 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220037839A true KR20220037839A (ko) 2022-03-25
KR102519132B1 KR102519132B1 (ko) 2023-04-07

Family

ID=80935548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200120772A KR102519132B1 (ko) 2020-09-18 2020-09-18 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102519132B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605173B1 (ko) * 2022-11-09 2023-11-22 신경희 서비스 유형 및 기능별 플랫폼 모듈화 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070046963A (ko) * 2004-09-30 2007-05-03 인텔 코오퍼레이션 네트워크를 통한 펌웨어의 셀프-모니터링 및 업데이팅
KR101064737B1 (ko) * 2009-03-20 2011-09-16 주식회사 케이티 모듈 형태로 관리 및 업데이트가 이루어지는 모바일 플랫폼이 탑재된 이동통신 단말, 그 모바일 플랫폼 구동 방법, 모듈 관리 방법 및 모듈 업데이트 방법
US20200089215A1 (en) * 2017-08-02 2020-03-19 Strong Force Iot Portfolio 2016, Llc Systems for self-organizing data collection and storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070046963A (ko) * 2004-09-30 2007-05-03 인텔 코오퍼레이션 네트워크를 통한 펌웨어의 셀프-모니터링 및 업데이팅
KR101064737B1 (ko) * 2009-03-20 2011-09-16 주식회사 케이티 모듈 형태로 관리 및 업데이트가 이루어지는 모바일 플랫폼이 탑재된 이동통신 단말, 그 모바일 플랫폼 구동 방법, 모듈 관리 방법 및 모듈 업데이트 방법
US20200089215A1 (en) * 2017-08-02 2020-03-19 Strong Force Iot Portfolio 2016, Llc Systems for self-organizing data collection and storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605173B1 (ko) * 2022-11-09 2023-11-22 신경희 서비스 유형 및 기능별 플랫폼 모듈화 시스템

Also Published As

Publication number Publication date
KR102519132B1 (ko) 2023-04-07

Similar Documents

Publication Publication Date Title
US8868623B2 (en) Enhanced garbage collection in a multi-node environment
CN110955431B (zh) 编译环境的处理方法及装置
US11579856B2 (en) Multi-chip compatible compiling method and device
US11184452B2 (en) System and method for selecting proxy computer
CN112882718B (zh) 编译处理方法、装置、设备及存储介质
US8752056B2 (en) Running native code across single or multi-core hybrid processor achitecture
CN112068896A (zh) Dts修改的方法、装置及计算机可读存储介质
CN111679852B (zh) 一种冲突依赖库的检测方法及装置
US8230406B2 (en) Compiler option consistency checking during incremental hardware design language compilation
KR102519132B1 (ko) 마이크로서비스 기반의 자가성장형 소프트웨어 운영 시스템 및 방법
Cunha et al. Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds
CN111427943A (zh) 一种etl系统中任务管理方法和装置
CN111240728A (zh) 应用程序更新方法、装置、设备和存储介质
CN115114284A (zh) 一种表变更处理方法及系统
CN113986495A (zh) 一种任务执行方法、装置、设备及存储介质
CN113392016A (zh) 对程序异常情况处理的规约生成方法、装置、设备及介质
US6496975B1 (en) Method, system, and program for performing conditional program operations
CN113326039B (zh) 医疗代码流程建模的异步代码生成方法及系统
CN117826618B (zh) 基于冷轧机控制系统的自适应性控制方法及系统
JP3747663B2 (ja) データベース制御方式
CN116069504B (zh) 自动驾驶仿真中多核处理器的调度方法及装置
US20240202585A1 (en) Machine learning failure recovery apparatus and control method thereof
CN117851151A (zh) 大型人工智能语言模型接口调用用量监控分析平台
CN114528071A (zh) 一种应用检测方法、装置、设备和存储介质
CN116185445A (zh) 一种基于pipeline的自动化部署方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant