KR102583146B1 - 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법 - Google Patents

이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법 Download PDF

Info

Publication number
KR102583146B1
KR102583146B1 KR1020210096995A KR20210096995A KR102583146B1 KR 102583146 B1 KR102583146 B1 KR 102583146B1 KR 1020210096995 A KR1020210096995 A KR 1020210096995A KR 20210096995 A KR20210096995 A KR 20210096995A KR 102583146 B1 KR102583146 B1 KR 102583146B1
Authority
KR
South Korea
Prior art keywords
rpa
script
heterogeneous multi
meta
task
Prior art date
Application number
KR1020210096995A
Other languages
English (en)
Other versions
KR20230015626A (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 KR1020210096995A priority Critical patent/KR102583146B1/ko
Publication of KR20230015626A publication Critical patent/KR20230015626A/ko
Priority to KR1020230125673A priority patent/KR20230141680A/ko
Application granted granted Critical
Publication of KR102583146B1 publication Critical patent/KR102583146B1/ko

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • 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/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

통일된 스크립트 언어를 이종의 멀티 RPA 각각의 고유 스크립트 언어로 변환시키는 메타 스크립트 언어 변환기는 이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 상기 메타스크립트 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받는, 메타 스크립트 언어 작성부, 및 상기 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부를 포함한다.

Description

이종 타입의 멀티 RPA 통합 운영관리 시스템 및 방법{DIFFERENT TYPES OF MULTI-RPA INTEGRATED MANAGEMENT SYSTEMS AND METHODS}
본 발명은 RPA(Robot Process Automation)에 관한 것으로, 더욱 상세하게는 서로 상이한 타입의 RPA들을 관리하는 시스템 및 방법에 관한 것에 관한 것이다.
RPA(로봇 프로세스 자동화)는 전산 상에서 사람이 하던 반복적인 태스크를 소프트웨어 로봇이 대신하는 것이다.
선행기술인 한국특허공개공보 10-2021-0064186호는 로봇 프로세스 자동화(RPA) 워크플로우를 수행하기 위한 시스템 및 방법을 제공한다. 사용자 그룹과 연관된 사용자에 대해 RPA 워크플로우를 수행하기 위해 스케줄링된 작업을 실행하라는 지시가 수신된다. 작업과 연관되고 사용자 그룹과 동일한 액세스 권한을 갖는 로봇 그룹으로부터 로봇이 식별된다. 로봇은 RPA 워크플로우를 수행하기 위한 작업을 실행하기 위해 컴퓨팅 디바이스로 디스패치된다. 그러나, 한국특허공개공보 10-2021-0064186호는 같은 회사의 RPA 제품별 작업실행을 위한 개별 모니터링 시스템에서만 가능하고, 회사별 RPA마다 프로그래밍 언어 및 파일 포멧이 다르기 때문에, 다른 회사의 제품의 RPA에 대해서는 스케줄링이 불가능하였다.
현재 국내외 RPA 시장이 급성장하고 있고, 여러 국산 및 외산 RPA 제품들(UiPath, AutomateOne, Checkmate, Automation Anywhere 등)이 판매되고 있다. 각 RPA 제품별로 제공하는 기능이 다르기 때문에, 자동화 업무를 다양하게 적용하기 위해서는 여러 RPA 제품을 동시에 운영하여야 하였다.
RPA는 기능 및 스크립트 등 자동화 관련 국제 표준이 존재하지 않으므로 호환성이 없다. 따라서, 업무 자동화를 위해서는 각 RPA 제품의 고유 스크립트 언어를 익혀 작업 스크립트를 각각 제작하여야 하였다. RPA를 도입하기 희망하는 회사에서 하나의 RPA 스크립트 언어를 익혀 업무에 적용하기 위해서는 약 2개월 이상의 오랜 기간이 걸리는 어려움이 있으며, 로그인 등 일부 기능의 경우 중복 작성해야 하는 부분도 있었다.
따라서, 이종의 멀티 RPA를 운영하는 경우 업무별로 지원이 가능한 RPA를 자동으로 배치하고, 이종의 멀티 RPA 각각의 고유의 스크립트를 쉽게 작성하며, 실행결과를 관리해야 하는 매니지먼트 시스템이 필요하게 되었다.
상술한 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 메타 스크립트 언어 변환기는 통일된 스크립트 언어를 고유의 이종의 멀티 RPA 각각의 고유 스크립트 언어로 변환시킬 수 있다.
구체적으로 이종의 멀티 RPA 각각으로 스크립트를 변환시키는 메타 스크립트 언어 변환기는 이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 메타스크립트 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받는, 메타 스크립트 언어 작성부, 및 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부를 포함할 수 있다.
본 발명의 다른 실시예에서, 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위에 대응하는 메타 스크립트 언어 구성요소들을 포함하고, 메타 스크립트 언어 변환부는 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라 RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함할 수 있다.
본 발명의 다른 실시 예에서, 이종 타입의 멀티 RPA 통합 운영관리 장치는 사용자로부터 이종의 멀티 RPA 실행에 관한 스케줄을 등록받는 스케줄러, 스케줄러로부터 정해진 시간에 작업 시나리오를 실행하도록 수행될 멀티 RPA 각각의 작업의 순서를 등록받는 이종의 멀티 RPA 작업큐, 및 이종의 멀티 RPA 작업 스크립트들을 포함하고, 스케줄러로부터 정해진 시간에 RPA 작업 시작을 알리는 신호를 전송받고, 자신에 맞는 해당 유형의 작업을 이종의 멀티 RPA 작업큐로 요청하며, 요청된 해당 유형의 작업이 이종의 멀티 RPA 작업큐에 있는 경우 해당 유형의 작업을 전송받고, 해당작업을 실행하는 RPA 에이전트를 포함할 수 있다.
본 발명의 다른 실시 예에서, RPA 에이전트는 사용자 PC에서 해당작업을 실행한 후에 실행한 작업결과를 수집할 수 있다.
본 발명의 다른 실시 예에서, 이종 타입의 멀티 RPA 통합 운영관리 장치는 이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 메타스크립트 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받는, 메타 스크립트 언어 작성부, 및 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부를 더 포함하고, RPA 에이전트는 메타 스크립트 언어 변환부로부터 생성된 작업 시나리오를 입력받고, 스케줄러가 등록한 이종의 RPA 작업큐의 작업 순서에 따라 RPA를 실행할 수 있다.
본 발명의 다른 실시 예에서, 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위에 대응하는 메타 스크립트 언어 구성요소들을 포함하고, 메타 스크립트 언어 변환부는 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라 RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함할 수 있다.
본 발명의 다른 실시 예에서, 이종 타입의 멀티 RPA 통합 운영관리 방법은 a) 사용자가 이종의 멀티 RPA 실행에 관한 스케줄을 스케줄러에 등록하는 단계, b) 스케줄러가 정해진 시간에 RPA 작업 시나리오를 실행하도록 이종의 멀티 RPA 작업큐에 수행될 멀티 RPA 각각의 작업의 순서를 등록하는 단계, c) 정해진 시간에 스케줄러가 RPA 에이전트에 RPA 작업의 시작을 알리는 신호를 전송하는 단계, d) RPA 에이전트가 자신에 맞는 해당 유형의 작업을 이종의 멀티 RPA 작업큐로 요청하는 단계, e) 요청된 해당 유형의 작업이 이종의 멀티 RPA 작업큐에 있는 경우 이종의 멀티 RPA 작업큐가 해당 유형의 작업을 RPA 에이전트로 전송하는 단계, f) RPA 에이전트가 해당 유형의 작업을 실행하는 단계, 및 g) 이종의 멀티 RPA 작업큐에 존재하는 작업이 완료될 때까지 d) 내지 f)단계를 반복하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에서, 이종 타입의 멀티 RPA 통합 운영관리 방법은 f) 단계 후에 실행한 작업결과를 RPA 에이전트가 수집하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에서, 이종 타입의 멀티 RPA 통합 운영관리 방법은 a) 메타 스크립트 언어 변환기로 생성된 작업 시나리오를 RPA 에이전트에 전달하는 단계, b) 사용자가 이종의 멀티 RPA 실행에 관한 스케줄을 스케줄러에 등록하는 단계, c) 스케줄러가 정해진 시간에 RPA 작업 시나리오를 실행하도록 이종의 멀티 RPA 작업큐에 수행될 멀티 RPA 각각의 작업의 순서를 등록하는 단계, d) 정해진 시간에 스케줄러가 RPA 에이전트에 RPA 작업의 시작을 알리는 신호를 전송하는 단계, e) RPA 에이전트가 전달받은 작업 시나리오 중 자신에 맞는 해당 유형의 작업을 이종의 멀티 RPA 작업큐로 요청하는 단계, f) 요청된 해당 유형의 작업이 이종의 멀티 RPA 작업큐에 있는 경우 이종의 멀티 RPA 작업큐가 해당 유형의 작업을 RPA 에이전트로 전송하는 단계, g) RPA 에이전트가 해당 유형의 작업을 실행하는 단계, 및 h) 이종의 멀티 RPA 작업큐에 존재하는 작업이 완료될 때까지 e) 내지 g)단계를 반복하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에서, 이종 타입의 멀티 RPA 통합 운영관리 방법은 h) 단계 후에 실행한 작업결과를 RPA 에이전트가 수집하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시 예에서, 컴퓨터를 이용하여 이종 타입의 멀티 RPA를 통합하여 운영하는 방법을 수행하는 명령들을 실행하도록 프로그래밍된 프로그램을 저장한 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 다른 실시 예에서, 이종 타입의 멀티 RPA 통합 운영관리 시스템은 시스템은 RPA 에이전트를 포함하는 사용자 PC; 및 IT운영관리시스템을 포함하는 서버를 포함하고, 서버는 사용자로부터 이종의 멀티 RPA 실행에 관한 스케줄을 등록받는 스케줄러, 및 스케줄러로부터 정해진 시간에 작업 시나리오를 실행하도록 사용자 PC에서 수행될 RPA 작업들의 순서를 등록하는 이종의 멀티 RPA 작업큐로서, 스케줄러로부터 정해진 시간에 작업 시나리오를 실행하도록 작업을 등록받는, 이종의 멀티 RPA 작업큐를 포함하고, 사용자 PC는 이종의 멀티 RPA 작업 스크립트들을 포함하고, 서버로부터 정해진 시간에 웹소켓 통신으로 RPA 작업 시작을 알리는 신호를 전송받고, 자신에 맞는 해당 유형의 작업을 서버의 이종의 멀티 RPA 작업큐로 요청하며, 요청된 해당 유형의 작업이 이종의 멀티 RPA 작업큐에 있는 경우 해당 유형의 작업을 전송받고, 사용자 PC에서 해당 유형의 작업을 실행하는 RPA 에이전트를 포함할 수 있다.
본 발명의 다른 실시예에서, 이종 타입의 멀티 RPA 통합 운영관리 시스템은 사용자 PC는 이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 메타 스크립트 언어 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받는, 메타 스크립트 언어 작성부, 및 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부를 더 포함할 수 있다.
본 발명의 다른 실시예에서, 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위에 대응하는 메타 스크립트 언어 구성요소들을 포함하고, 메타 스크립트 언어 변환부는 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라 RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함할 수 있다.
본 발명의 다른 실시예에서, RPA 에이전트는 사용자 PC에서 해당작업을 실행한 후에 실행한 작업결과를 수집할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 방법을 실행하기 위한 컴퓨터 프로그램이 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명은 기존의 이종의 멀티-RPA들간의 문제점을 해결하기 위해, 매니지먼트 시스템에서 각 RPA의 단위업무 스크립트를 Task로 관리하며, 특정 업무를 동시에 여러종류의 RPA를 통해 실행하고자 할 경우, 해당 Task들을 서로 조합하여 해당 RPA의 스크립트를 작성하고, RPA가 최종 스크립트를 실행할 수 있도록 할 수 있다. 즉, 사용자는 메타태그 등의 통일된 스크립트 언어로 된 스크립트를 통해 한번만 스크립트를 작성하면 각 RPA의 스크립트가 자동으로 생성되어 실행되도록 할 수 있다.
본원 발명의 이종 타입의 멀티 RPA 매니지먼트 시스템 및 방법을 이용하면, 이종의 여러 RPA를 통합 운영하여, RPA 제품별 기능의 제약을 넘어설 수 있다. 또한, 이종의 RPA를 대상으로 통합 모니터링 및 제어가 가능함에 따라 RPA 제품별 작업실행을 위한 개별 모니터링 시스템 구매(제품별 연간 1천5백만원 수준) 불필요하다. 회사에서 RPA 사용자는 RPA 스크립트 통합 동적구성 및 자동변환을 통해 개별 스크립트 개발 및 RPA 전문지식 불필요하다.
또한, 이종의 RPA 통합 매니지먼트에 따라 업무에 따라 가능한 RPA가 자동배정 및 실행되므로 번번히 어떤 RPA 제품을 사용해야할지 고민해야 하는 번거로움 없게 할 수 있다.
도 1a는 시판되는 RPA 제품별 기능지원 제약을 정리한 표이다.
도 1b 내지 도 1d는 시중에서 시판되는 RPA 제품별 독자적인 스크립트 에디팅 환경의 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 서로 다른 이종 타입의 멀티 RPA 스크립트를 실행하는 장치의 예시도이다.
도 3a는 본 발명의 일 실시 예에 따른 RPA 스크립트 자동변환 프로세스의 예시도이다.
도 3b는 도 3a의 메타 스크립트 언어 작성부를 구현한 RPA 시나리오 등록창에 대한 예시도이다.
도 3c는 구글 검색사이트에서 특정 사이트를 검색하는 RPA 시나리오에 대한 메타 스크립트 언어 작성부의 예시도이다.
도 3d 내지 도 3f는 도 3c에 따라 작성된 메타 스크립트 언어 작성부에서 작성된 메타 스크립트를 메타 스크립트 언어 변환부에서 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 코드들의 예시이다.
도 4는 본 발명의 일 실시 예에 따른 메타 스크립트 작성에서 변환 및 각 RPA의 스크립트 실행까지 준비하는 과정의 예시적인 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 이종의 멀티 RPA 통합 운영 장치(110) 또는 IT운영관리시스템(200)에서의 서로 다른 이종의 타입의 멀티 RPA로 작업하는 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 서로 다른 이종 타입의 멀티 RPA를 통합 운영하는 시스템의 이종 타입의 멀티 RPA를 실행하는 과정의 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1a는 시판되는 RPA 제품별 기능지원 제약을 정리한 표이다.
도 1a에 도시된 바와 같이, 각 RPA 제품들은 명령어 순차 실행지원(SSH Sequence 지원), Web 객체 인공지능 인식(Web Object 인식), 관리장비에 Agent 비설치(Agentless RDP), 보안문자 인공지능 인식(CAPTCHA 인식) 등에서 제품별로 기능지원의 제약이 있다. 여기서, CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)는 사람과 컴퓨터를 구분 짓기 위한 일종의 테스트로서, 현재는 로봇이 접근할 수 없도록 숫자 등을 배경과 혼합하여 사람만이 이를 인지하고 입력할 수 있도록 하는 구별방법으로 사용된다.
도 1a의 표를 참조하면, 보안문자 인공지능 인식이 필요한 RPA 기능이 필요한 경우, 사용자는 AutomateOne 또는 CheckMate 제품을 사용해야 하지만, 관리장비에 에이전트 비설치한 경우에는 UiPath 제품을 사용해야 한다. 또한, CheckMate 제품으로 보안문자 인공지능 인식을 수행하려고 하지만, CheckMate 제품이 이미 다른 작업에 사용되고 있는 경우 CheckMate 제품을 보안문자 인공지능 인식에 사용할 수 없으므로, AutomateOne 제품을 사용해야 한다. 이와같이, 사용자는 특정 기능을 수행하기 위해 또는 현재 사용중이기 때문에 같은 RPA를 사용할 수 없는 경우, 사용자 PC에 이종의 멀티 RPA를 실행할 필요가 있다.
도 1b 내지 도 1d는 시중에서 시판되는 RPA 제품별 독자적인 스크립트 에디팅 환경의 예시도이다.
도 1b, 도 1c, 및 도 1d는 각각 구글검색을 실행하는 RPA를 작성하는 UiPath 에딩터 화면, 구글검색을 실행하는 RPA를 Checkmate 에디터화면, 그리고 구글검색을 실행하는 RPACA 데이터 화면이다.
이와 같이, 각 제품별로 에디팅 환경이 다르기 때문에, 회사에서 RPA 사용자는 RPA 스크립트 통합 동적구성 및 자동변환을 통해 개별 스크립트 개발 및 RPA 전문지식 필요하고, 운용 인원이 각 제품마다 사용법을 익히는데 짧게는 몇주, 길게는 몇 개월의 기간이 소요된다. 또한, RPA들은 표준 규약이 없기 때문에, RPA 제품별 작업실행을 위한 개별 모니터링 시스템을 구매(제품별 연간 1천5백만원 수준)해야 한다.
도 2는 본 발명의 일 실시 예에 따른 이종 타입의 멀티 RPA 통합 운영 장치(110)의 블록도이다.
본 발명의 일 실시예에서, 이종 타입의 멀티 RPA 통합 운영 장치(110)는 IT운영관리시스템(200)의 서버 없이 사용자 PC(100) 내에 이종 타입의 멀티 RPA를 통합 운영 장치로 구축될 수 있다.
이종 타입의 멀티 RPA 통합 운영 장치(110)는 스케줄을 등록하는 스케줄러(112), 예를 들어 웹소켓과 같이 외부 장치와 통신하는 통신부(113), 및 메모리(114)를 포함하며, 이종 타입의 RPA에서 실행될 메타 스크립트 시나리오를 작성하는 메타 스크립트 언어 작성부(115), 작성된 메타 스크립트를 각 RPA에서 작동하는 스크립트로 변환하는 메타 스크립트 언어 변환부(116), 각 RPA의 작업순서를 기록한 이종의 RPA 작업큐(118) 및 RPA 에이전트(117)를 포함할 수 있다.
본 발명에서 메타 스크립트란 이종의 멀티 RPA 스크립트로 변환할 목적으로 간략하게 공통으로 작성되는 업무 스크립트를 의미하는 것이다. 상기 언급한 바와 같이 개별 RPA의 스크립트를 작성하기 위해서는 해당 RPA에 대한 수개월 이상의 학습을 수행한 실시간 전문인력의 배치가 필요하다는 어려움이 있다. 메타 스크립트 언어 작성부(115)를 통해 업무를 간략하게 작성하면 메타 스크립트 언어 변환부(116)에서 개별 RPA의 스크립트로 자동으로 변환 및 생성할 수 있다. 각 RPA 스크립트는 표준 규격없이 각 개발사가 필요에 의해 임의로 정의한 방법으로 작성되는데, 각 RPA 스크립트의 분석을 통해 업무와 관련없이 공통적인 스크립트 파트와 업무에 따라 변경되는 스크립트 파트의 패턴을 지식으로 축적하고 이를 매핑 테이블 등으로 정보화할 수 있다. 개별 업무에 대한 메타 스크립트 작성 및 변환을 통해 개별 RPA 스크립트들을 자동으로 작성할 수 있도록 하여 각 RPA 전문지식이 없이도 메타 스크립트 한번의 작성으로 이종의 여러 RPA 스크립트를 작성할 수 있다는 장점이 있다.
스케줄을 등록하는 스케줄러(112)는 이종의 RPA 작업큐(118)에 스케줄의 등록을 알리고, 정해진 시간에 사용자 PC 화면(120) 에서 스케줄의 시작을 알리는 기능을 할 수 있다. 스케줄러(112)는 이종의 RPA 작업큐(118)에 RPA 작업 순서를 등록할 수 있으며, RPA 에이전트(117)에 RPA 작업을 지시할 수 있다.
또한, 스케줄러(112)는 현재 RPA 제품들의 작업 상태를 모니터링하고, 적합한 RPA 제품을 찾기 위해, 특정 RPA 제품이 다른 작업을 실행되고 있거나, 수행할 기능을 가지고 있지 않은 RPA 제품을 제외하는 기능을 수행할 수 있으며, 작업 가능한 RPA에 작업 순서를 이종의 RPA 작업큐(118)에 등록할 수 있다.
본 발명의 일 실시예에서, 100대의 PC에 3개의 업무(패스워드 변경, 인터넷 검색, 보고서 작성)이 있고 이종의 RPA 3개 제품이 있을 경우, 스케줄러(112)는 정해진 시각에 각 PC에서 수행되어야 하는 작업을 생성하고 이를 이종의 RPA 작업큐(118)에 넣을 수 있다. 즉 PC 100대에 대해 패스워드 변경 업무를 수행할 각각의 작업 100개를 생성 후 작업큐(118)에 넣고, 인터넷 검색 및 보고서 작성 업무에 대해서도 각각 100개의 작업을 생성하여 작업큐(118)에 넣게 된다.
이종의 RPA 작업큐(118)는 생성된 모든 작업을 개별 RPA에 할당하는데, 만약 패스워드 변경 기능이 RPA A(231)에 없는 경우 해당 작업들은 RPA B(232)와 RPA C(233)를 대상으로만 할당되며, 이때에도 RPA B(232)에 이미 향후 수행한 작업들이 상당히 쌓여있는 경우(queueing) 해당 작업들 수만큼 RPA C(233)에 할당된 후 나머지 작업들에 대해서는 RPA B와 RPA C에 라운드로빈 방법으로 할당되어, 많은 작업들이 비슷한 시점에 종료될 수 있도록 한다.
메타 스크립트 언어 작성부(115)는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받고, 서로 호환되지 않는 이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 자동으로 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성할 수 있는 사용자 인터페이스일 수 있다.
메타 스크립트 언어 변환부(116)는 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 자동으로 변환시킬 수 있다.
이종의 멀티 RPA 작업큐(118)는 스케줄러(112)로부터 정해진 시간에 작업 시나리오를 실행하도록 수행될 RPA 작업들의 순서를 등록 받고 정해진 시간에 작업 시나리오를 실행하도록 RPA 에이전트(117)에 신호를 출력한다.
RPA 에이전트(117)는 메타 스크립트 언어 변환부(116)로부터 실행할 시나라오의 각 RPA 별 스크립트를 입력받고, 스케줄러(112)로부터 정해진 시간에 RPA 작업 시작을 알리는 신호를 전송받으며, 자신에 맞는 해당 유형의 신규작업을 이종의 멀티 RPA 작업큐로 요청하며, 요청된 해당 유형의 신규작업이 이종의 멀티 RPA 작업큐에 있는 경우 해당 유형의 신규작업을 전송받고 이를 실행할 수 있다.
본 발명의 다른 실시예에서, RPA 에이전트(117)는 사용자로부터 실행할 시나리오의 각 RPA 별 스크립트를 입력받고, 정해진 시간에 RPA 작업 시작을 알리는 신호를 전송받으며, 자신에 맞는 해당 유형의 신규작업을 이종의 멀티 RPA 작업큐(118)로 요청하며, 요청된 해당 유형의 신규작업이 이종의 멀티 RPA 작업큐(118)에 있는 경우 해당 유형의 신규작업을 전송받을 수 있다.
이종 타입의 멀티 RPA를 통합 운영 장치(110)가 사용자 단말, 노트북, 데스크탑 컴퓨터에 프로그램 또는 앱 형태로 실행되는 방법으로 포함되어 있다면, 이종 타입의 멀티 RPA를 통합 운영 장치(110)는 통신부(113)를 통해 사용자 단말, 노트북, 데스크탑 컴퓨터의 통신부(113)를 이용하여 서버와 같은 외부 기기와 통신할 수 있다.
다른 실시예에서, 이종 타입의 멀티 RPA를 통합 운영 장치(110)는 사용자 PC의 외부에 있는 IT운영관리시스템에 접속하여 IT운영관리시스템의 이종의 RPA 작업큐 및 스케줄러로부터 신호를 전송받고 멀티-RPA를 실행할 수 있다. 이 경우 이종의 RPA 작업큐(118) 및 스케줄러(112) 대신 IT운영관리시스템의 이종의 RPA 작업큐(230) 및 스케줄러(210)로부터 신호를 전송받을 수 있다.
도 3a는 본 발명의 일 실시 예에 따른 RPA 메타 스크립트 언어 변환기의 예시도이다.
메타 스크립트 언어 변환기는 메타스크립트 작성부(115) 및 메타 스크립트 변화부(116)을 포함할 수 있다.
사용자가 메타 스크립트 언어 작성부(115)에서 메타스크립트를 작성하면 메타 스크립트 언어 변환부(116)에서 각 제품별 RPA 스크립트로 자동변환할 수 있다.
메타 스크립트 언어 작성부(115)는 일 실시예에서 사용자가 서로 호환되지 않는 이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 자동으로 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성할 수 있는 편집기일 수 있다. 사용자는 메타 스크립트 언어 작성부(115)에서 실행하고자 하는 작업의 RPA 시나리오를 메타 스크립트를 이용해서 작성할 수 있다. 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위인 액티비티에 대응하는 메타 스크립트 언어 구성요소들을 포함할 수 있다. 액티비티는 오브젝트를 파악하고 이벤트를 발생시키도록 구현한 각 RPA의 작업 구성요소들이다.
메타스크립트 작성부(115)는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 코드 또는 GUI 형식으로 입력받을 수 있다.
메타 스크립트 언어 변환부(116)는 상기 메타 스크립트 (시나리오) 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 변환 규칙에 따라 이종의 멀티 RPA 각각의 고유의 스크립트로 자동으로 변환시킬 수 있다. 변환 규칙은 메타 스크립트의 구성요소들인 액티비티들의 코드 소스 및 이에 대응하는 각 RPA 제품별 액티비디들의 트랜스코딩 소스로 구성되는 매핑 테이블을 이용할 수 있다. 매핑 테이블의 변환 규칙은 각 RPA의 업무마다 공통된 패턴을 분석하여 작성될 수 있으며, 각 RPA의 공통된 패턴이 없는 경우에는 각 RPA 제품마다의 특유의 액티비티 또는 태스크들을 개별적으로 트랜스코딩하여 변환 규칙으로 미리 작성될 수 있다.
메타 스크립트 언어 변환부(116)는 RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 상기 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함할 수 있다. 메타 스크립트 언어 변환부(116)는 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라 RPA 실행 단위인 액티비티 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 대응하는 각 RPA의 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함할 수 있다. 메타 스크립트가 트랜스코딩하는 방식은 개별 RPA 스크립트의 공통 부분 및 업무에 따른 변동 부분을 분석하고 이를 매핑 테이블 등으로 관리하여 메타 스크립트가 작성된 경우 해당 메타 스크립트를 개별 RPA의 매핑 테이블을 참조하여 개별 RPA의 스크립트를 생성할 수 있다. 따라서, 메타 스크립트를 구성하는 메타 스크립트 언어 구성요소들이 미리 정해진 변환규칙에 따라 RPA 실행 단위별인 액티비티 별로 이종의 멀티 RPA 각각에서 실행될 수 있다.
예를 들면, 구글 검색창에서 "인포플라" 홈페이지를 검색하는 메타 스크립트를 작성하는 경우, 사용자가 검색을 하는 메타 스크립트 언어 구성요소인 액티비티 SearchGoogle 및 구글 검색창에 "인포플라"를 입력하는 메타 스크립트 언어 구성요소인 액티비티 urlClick를 선택하여 작성할 있다(도 2c 참조). 메타 스크립트 언어 변환기는 메타 스크립트 언어 구성요소인 액티비티 SearchGoogle 및 액티비티 urlClick에 대응하는 각 RPA 제품의 액티비티들로 변환시킨다. 이 경우 각 제품별 고유의 RPA 스크립트를 자동으로 생성하는 본원 발명의 메타 스크립트 언어 변환기를 사용하면, RPA를 운용하는 사용자는 RPA 스크립트 통합 동적구성 및 자동변환을 통해 개별 스크립트를 변환할 수 있기 때문에, 각 제품별 RPA에 대한 전문지식이 불필요하다.
도 3b는 도 3a의 메타 스크립트 언어 작성부를 구현한 RPA 시나리오 등록창에 대한 예시도이다.
RPA 시나리오 등록창(130)은 메타 스크립트 언어 작성부(115)에서 패스워드를 업데이트하는 일 실시예를 포함한다.
RPA 시나리오 등록창(130)은 제목 입력란(140), 메타 스크립트 설명 입력란(150), 및 시나리오(액티비티) 편집란(160)을 포함한다. RPA 시나리오 등록창(130)은 사용자가 각 RPA 제품의 RPA 시나리오 작성하기 위한 사용자 그래픽 인터페이스(GUI) 및 코딩창 중 하나 이상을 제공할 수 있다.
시나리오 편집란(160)은 사용자가 직접 스크립트를 코팅하는 불편을 덜 수 있도록 액티비티들인 메타 스크립트 언어 구성요소들인 액티비티들을 배열함으로써 메타 스크립트를 완성할 수 있는 도구를 제공할 수 있다.
예를 들어, 패스워드를 업데이트하는 RPA 메타 스크립트를 작성하는 경우, 시나리오 편집란(160)에 도시된 바와 같이, 액티비티인 메타스크립트 구성요소들 checkTarget(161), getloginIdPw(162), checkPwAlready(163), updatePw(164), end(165)로 구성될 수 있다. checkTarget(161)는 특정 사이트의 URL을 오픈하고, getloginIdPw(162)는 필요한 아이디 패스워드 위치를 획득하고, checkPwAlready(163)는 기존 패스워드를 체크하고, updatePw(164)는 패스워드를 업데이트하고, end(165)는 메타 스크립트를 종료한다.
도 3c는 구글 검색사이트에서 특정 사이트를 검색하는 RPA 시나리오에 대한 메타 스크립트 언어 작성부의 예시도이다.
구글 검색창에서 "인포플라" 홈페이지를 검색하는 메타 스크립트를 시나리오 편집란(160)에서 작성하는 경우, 사용자가 검색을 하는 메타 스크립트 언어 구성요소 SearchGoogle(166) 및 구글 검색창에 "인포플라"를 입력하는 메타 스크립트 언어 구성요소인 urlClick(167)를 선택하여 작성할 있다. urlClick(167)을 사용자가 메뉴에서 드래그 방식으로 시나리오 편집창에 가져오는 경우, 메타 스크립트 언어 작성부(115)는 url을 입력할 단어란(168)에 "인포플라"를 입력하게 할 수 있다.
사용자는 빌드(170)을 클릭함으로써 시나리오 작성란(116)에서 작성된 메타 스크립트를 각 RPA 스크립트로 변환시킬 수 있다. 변환시킨 결과 코드는 도 3d 내지 도 3f에 표시된다.
도 3d 내지 도 3f는 도 3c에 따라 작성된 메타 스크립트 언어 작성부에서 작성된 메타 스크립트를 메타 스크립트 언어 변환부에서 이종의 멀티 RPA 각각의 고유의 스크립트로 변환된 코드들의 예시이다.
도 3d 내지 도 3f는 각각 시판되고 있는 제품인 UiPath(.xaml), Checkmate(.task), 및 RPACA(.py) RPA로 변환된 스크립트 파일이다. 이들은 도 2c에 따라 메타 스크립트 언어 작성부에서 작성된 인포플라를 구글검색창에서 검색하는 메타 스크립트를 메타 스크립트 언어 변환부(116)에서 이종의 멀티 RPA 각각의 고유의 스크립트로 변환된 3종 스크립트 파일들이다.
사용자는 도 3c의 메타 스크립트만을 작성함으로써, UiPath(.xaml), Checkmate(.task), 및 RPACA(.py)의 3개의 제품별 스크립트들을 만들 수 있다.
도 4는 본 발명의 일 실시 예에 따른 메타 스크립트 작성에서 변환 및 각 RPA의 스크립트 실행까지 준비하는 과정의 예시적인 순서도이다.
도 4를 참조하면, 메타 스크립트를 이종 타입의 멀티 RPA의 스크립트로 코드 변환하기 위한 절차를 설명한다.
사용자가 메타스크립트 작성부(115)에서 특정 업무에 대한 메타 스크립트를 작성된다(S110).
메타 스크립트 언어 변환부(116)에서 작성된 메타 스크립트를 각 RPA의 스크립트로 변환된다(S120). 전술한 바와 같이, 메타 스크립트 언어 변환부(116)는 상기 메타 스크립트 (시나리오) 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 변환 규칙에 따라 이종의 멀티 RPA 각각의 고유의 스크립트로 자동으로 변환시킬 수 있다. 변환 규칙은 메타 스크립트의 구성요소들인 액티비티들 및 이에 대응하는 각 RPA 제품별 액티비디들로 구성되는 데이터 세트일 수 있다.
메타 스크립트 언어 변환부(116)에서 작성된 메타 스크립트를 각 RPA의 스크립트로 변환되면, RPA 에이전트(117) 또는 RPA 에이전트(117)에 각 RPA의 스크립트를 전송한다(S130).
각 RPA의 스크립트가 전송이 완료되면 RPA 에이전트(117) 또는 RPA 에이전트(117)에서 각 RPA의 스크립트를 실행할 준비가 완료된다(S140).
사용자는 스케줄러(112, 210)에 RPA의 작업 시간 및 작업 내용을 등록함으로써, S140에서 실행준비된 각 RPA의 스크립트 중 하나 이상을 실행할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 이종의 멀티 RPA 통합 운영 장치(110)에서의 서로 다른 이종의 타입의 멀티 RPA로 작업하는 순서도이다.
이종의 멀티 RPA 통합 운영 장치(110)에서 서로 다른 이종 타입의 멀티 RPA로 작업을 시작하면, 이종의 멀티 RPA 통합 운영 장치(110)는 외부 서버와 통신하여 자동으로 또는 사용자에 의해 스케줄러(112)에 스케줄을 등록할 수 있다(S210).
스케줄의 등록에 따라 이종의 멀티 RPA 통합 운영 장치(110)은 정해진 시간에 동작하여서 정해진 스케줄러 기능을 실행할 수 있다(S220).
스케줄러(112)는 해당작업의 실행기능이 있는 RPA를 선정하여 해당 RPA를 이종의 RPA 작업큐(118)에 신규 작업을 등록할 수 있다(S230).
이종의 RPA 작업큐(230)에서 작업큐에 작업이 존재하는지 판단된다(S240).
작업큐에 작업이 존재하면 스케줄러(112)가 저장한 이종 타입의 RPA의 작업 순서에 따라 RPA 에이전트(117)에 RPA 작업 실행을 요청할 수 있다(S250).
RPA 에이전트(117)는 해당 작업을 완료하고 다시 추가적인 작업이 존재하는지 이종의 RPA 작업큐(230)에 실행여부를 알려줄 것을 요청할 수 있고(S260), 작업큐의 작업 순서가 끝날 때까지 추가적인 작업을 반복한다.
작업이 작업큐에 작업이 존재하지 않으면 주어진 과정 모든 처리 완료시 또는 에러시에 로그를 작성하고(S270), 이종의 멀티 RPA 작업을 종료한다.
도 6은 본 발명의 일 실시 예에 따른 서로 다른 이종 타입의 멀티 RPA를 통합 운영하는 시스템의 이종 타입의 멀티 RPA를 실행하는 과정의 예시도이다.
이종 타입의 멀티 RPA를 통합 운영하는 시스템은 사용자 PC(100) 및 서버로 구성될 수 있다.
사용자 PC(100)는 디스플레이에 표시되는 사용자 PC 화면(120) 및 RPA 에이전트(Agent)(110)를 포함할 수 있다. RPA 에이전트(Agent)(110)는 웹소켓(111)를 포함할 수 있다.
IT운영관리시스템(200)은 스케줄을 등록할 수 있는 스케줄러(210)의 홈페이지, 웹소켓(222), 이종의 RPA 작업큐(230)를 포함할 수 있다. 이종의 RPA 작업큐(230)는 이종의 멀티 RPA 타입들(231, 232, 233)에 대한 작업 시나리오를 포함할 수 있다.
본 발명의 일 실시예에서, IT운영관리시스템(200)은 웹기반 IT운영관리시스템 플랫폼일 수 있다. 웹기반 IT운영관리시스템 플랫폼은 웹상에서 원격으로 사용자 PC들에서 사용자들에게서 스케줄을 등록받고, 사용자 PC와 웹소켓(111, 222)을 통해 통신하고, 스케줄러(210)가 생성한 이종의 RPA 작업큐(230)에 따라 RPA 에이전트(117)에 RPA 작업을 지시할 수 있다.
본 발명의 일 실시예에서, IT운영관리시스템(200)의 스케줄러(210) 및 이종의 RPA 작업큐(230)는 이종 타입의 멀티 RPA 통합 운영 장치(110)의 스케줄러(112) 및 이종의 RPA 작업큐(118)와 동일한 기능을 수행할 수 있다.
서버는 클라우드 서버일 수 있으며, 일반적인 독립 서버일 수 있다. IT운영관리시스템(200)은 아이톰즈(ITOMS)일 수 있고 이는 (주)인포플라의 IT운영관리시스템(200)이다.
사용자 PC(100)는 자동으로 또는 사용자의 스케줄러의 활성화로 서버에 예를 들어 복수 개의 작업이 있을 경우에 접속하여 스케줄러를 등록할 수 있다.
스케줄러(210)는 사용자가 등록한 스케줄 및 RPA 에이전트의 작업 상황을 기초로 이종 타입의 멀티 RPA들 중 해당 작업의 실행기능이 있는 RPA를 선정하여서 필요한 작업을 실행할 RPA의 작업순서를 이종의 RPA 작업큐(230)에 등록할 수 있다(S302).
스케줄이 등록되면 스케줄러(210)는 IT운영관리시스템(200)의 웹소켓(222)에 스케줄의 등록을 알릴 수 있다(S304). 스케줄의 등록에 따라 IT운영관리시스템(200)은 정해진 시간에 동작하여서 정해진 스케줄러 기능을 실행할 수 있다. IT운영관리시스템(200)은 웹소켓(222)으로부터 정해진 시간에 사용자 PC(100)의 RPA 에이전트(117)에 있는 웹소켓(111)으로 통신을 통해 스케줄의 시작을 알리는 신호를 전송할 수 있다(S306).
RPA 에이전트(117)는 IT운영관리시스템(200)의 이종의 RPA 작업큐(230)에 실행할 작업을 요청할 수 있다(S308).
이종의 RPA 작업큐(230)는 작업큐에 작업이 존재하는지 판단하고, 작업큐에 작업이 존재하면 스케줄러(210)가 저장한 이종 타입의 RPA의 작업 순서(RPA A타입, RPA B타입, RPA C타입)에 따라 RPA 에이전트(117)에 첫번째 작업 RPA A타입(231)의 실행을 요청할 수 있다. RPA 에이전트(117)는 해당 작업(첫번째 작업 RPA A타입)을 완료하고(S312 및 S314) 다시 추가적인 작업이 존재하는지 이종의 RPA 작업큐(230)에 실행여부를 알려줄 것을 요청할 수 있고(S308), 이종의 RPA 작업큐(230)는 추가적인 작업이 있을 경우(두번째 작업 RPA B타입) RPA 에이전트(117)에 추가 작업 사항을 일릴 수 있고(S310), 작업큐의 작업 순서(RPA A타입, RPA B타입, RPA C타입)가 끝날 때까지 추가적인 작업을 반복한다(S308, S312, S314, 및 S310).
RPA 에이전트(117)은 해당 RPA 작업 또는 추가적인 RPA 작업을 수행하고 있음을 사용자가 확인하도록 사용자 PC화면에 표시할 수 있다(S312 및 S314).
작업이 작업큐에 작업이 존재하지 않으면 주어진 과정 모든 처리 완료시 또는 에러시에 로그를 작성하고, 이종의 멀티 RPA 작업을 종료한다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (15)

  1. 통일된 스크립트 언어를 이종의 멀티 RPA 각각의 고유 스크립트 언어로 변환시키는 메타 스크립트 언어 변환기로서,
    이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 상기 메타 스크립트 언어 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받는, 메타 스크립트 언어 작성부; 및
    상기 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부;를 포함하고,
    상기 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위에 대응하는 메타 스크립트 언어 구성요소들을 포함하고,
    상기 메타 스크립트 언어 변환부는, 상기 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라, RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 상기 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함하는,
    통일된 스크립트 언어를 이종의 멀티 RPA 각각의 고유 스크립트 언어로 변환시키는 메타 스크립트 언어 변환기.
  2. 이종 타입의 멀티 RPA 통합 운영관리 장치로서,
    이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 상기 메타스크립트 언어 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 시나리오를 입력받는, 메타 스크립트 언어 작성부;
    상기 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부;
    사용자로부터 이종의 멀티 RPA 실행에 관한 스케줄을 등록받는 스케줄러;
    상기 스케줄러로부터 정해진 시간에 작업 시나리오를 실행하도록 수행될 멀티 RPA 각각의 작업의 순서를 등록받는 이종의 멀티 RPA 작업큐; 및
    이종의 멀티 RPA 각각에서 실행될 작업 스크립트들을 포함하고, 스케줄러로부터 정해진 시간에 RPA 작업 시작을 알리는 신호를 전송받고, 자신에 맞는 해당 유형의 작업을 이종의 멀티 RPA 작업큐로 요청하며, 요청된 해당 유형의 작업이 이종의 멀티 RPA 작업큐에 있는 경우 해당 유형의 작업을 전송받고, 해당작업을 실행하는 RPA 에이전트;를 포함하고,
    상기 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위에 대응하는 메타 스크립트 언어 구성요소들을 포함하고,
    상기 메타 스크립트 언어 변환부는, 상기 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라, RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 상기 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함하고,
    상기 RPA 에이전트는 메타 스크립트 언어 변환부로부터 생성된 작업 시나리오를 포함하는 이종의 멀티 RPA 각각의 고유의 스크립트를 입력받고, 스케줄러가 등록한 이종의 RPA 작업큐의 작업 순서에 따라 RPA를 실행하는,
    이종 타입의 멀티 RPA 통합 운영관리 장치.
  3. 제 2 항에 있어서,
    RPA 에이전트는 사용자 PC에서 해당작업을 실행한 후에 실행한 작업결과를 수집하는,
    이종 타입의 멀티 RPA 통합 운영관리 장치.
  4. 이종 타입의 멀티 RPA 통합 운영관리 방법으로서,
    a) 상기 제 1 항에 따른 메타 스크립트 언어 변환기로 생성된 작업 시나리오를 포함하는 이종의 멀티 RPA 각각의 고유의 스크립트를 RPA 에이전트에 전달하는 단계;
    b) 사용자가 이종의 멀티 RPA 실행에 관한 스케줄을 스케줄러에 등록하는 단계;
    c) 스케줄러가 정해진 시간에 RPA 작업 시나리오를 실행하도록 이종의 멀티 RPA 작업큐에 수행될 멀티 RPA 각각의 작업의 순서를 등록하는 단계;
    d) 정해진 시간에 스케줄러가 RPA 에이전트에 RPA 작업의 시작을 알리는 신호를 전송하는 단계;
    e) RPA 에이전트가 전달받은 작업 시나리오 중 자신에 맞는 해당 유형의 작업을 이종의 멀티 RPA 작업큐로 요청하는 단계;
    f) 요청된 해당 유형의 작업이 이종의 멀티 RPA 작업큐에 있는 경우 이종의 멀티 RPA 작업큐가 해당 유형의 작업을 RPA 에이전트로 전송하는 단계;
    g) RPA 에이전트가 해당 유형의 작업을 실행하는 단계; 및
    h) 이종의 멀티 RPA 작업큐에 존재하는 작업이 완료될 때까지 e) 내지 g)단계를 반복하는 단계;를 포함하는,
    이종 타입의 멀티 RPA 통합 운영관리 방법.
  5. 제 4 항에 있어서,
    h) 단계 후에 실행한 작업결과를 RPA 에이전트가 수집하는 단계;를 더 포함하는
    이종 타입의 멀티 RPA 통합 운영관리 방법.
  6. 컴퓨터를 이용하여 제 4 항 또는 제 5 항에 따른 이종 타입의 멀티 RPA 통합 운영관리 방법을 수행하는 명령들을 실행하도록 프로그래밍된 프로그램을 저장한 컴퓨터 판독 가능한 기록매체.
  7. 이종 타입의 멀티 RPA 통합 운영관리 시스템으로서,
    상기 시스템은 RPA 에이전트를 포함하는 사용자 PC; 및 IT운영관리시스템을 포함하는 서버;를 포함하고,
    사용자 PC는
    이종의 멀티 RPA 작업 스크립트들을 포함하고, 서버로부터 정해진 시간에 웹소켓 통신으로 RPA 작업 시작을 알리는 신호를 전송받고, 자신에 맞는 해당 유형의 작업을 서버의 이종의 멀티 RPA 작업큐로 요청하며, 요청된 해당 유형의 작업이 상기 이종의 멀티 RPA 작업큐에 있는 경우 해당 유형의 작업을 전송받고, 사용자 PC에서 해당 유형의 작업을 실행하는 RPA 에이전트;
    이종의 멀티 RPA 각각에서 작업들을 실행할 각 RPA 고유의 스크립트를 생성하기 위한 통일된 스크립트 언어로 된 스크립트를 작성하는 메타 스크립트 언어 작성부로서, 상기 메타 스크립트 언어 작성부는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 작업 시나리오를 포함하는 이종의 멀티 RPA 각각의 고유의 스크립트를 입력받는, 메타 스크립트 언어 작성부; 및
    상기 메타 스크립트 언어 작성부에서 작성된 통일된 스크립트 언어로 된 스크립트를 이종의 멀티 RPA 각각의 고유의 스크립트로 변환시키는 메타 스크립트 언어 변환부;를 포함하고,
    서버는
    사용자로부터 이종의 멀티 RPA 실행에 관한 스케줄을 등록받는 스케줄러; 및
    상기 스케줄러로부터 정해진 시간에 상기 작업 시나리오를 실행하도록 사용자 PC에서 수행될 RPA 작업들의 순서를 등록하는 이종의 멀티 RPA 작업큐로서, 스케줄러로부터 정해진 시간에 작업 시나리오를 실행하도록 작업을 등록받는, 이종의 멀티 RPA 작업큐;를 포함하고,
    상기 통일된 스크립트 언어로 된 스크립트는 사용자로부터 이종의 멀티 RPA 각각에서 실행될 스크립트의 실행단위에 대응하는 메타 스크립트 언어 구성요소들을 포함하고,
    상기 메타 스크립트 언어 변환부는, 상기 메타 스크립트 언어 구성요소들이 미리 정해진 변환 규칙에 따라, RPA 실행 단위 별로 이종의 멀티 RPA 각각에서 실행될 수 있도록 상기 메타 스크립트 언어 구성요소들에 대응하는 고유의 스크립트 코드로 변환시키는 트랜스코딩 소스를 포함하는,
    이종 타입의 멀티 RPA 통합 운영관리 시스템.
  8. 제 7 항에 있어서,
    RPA 에이전트는 사용자 PC에서 해당작업을 실행한 후에 실행한 작업결과를 수집하는,
    이종 타입의 멀티 RPA 통합 운영관리 시스템.


  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020210096995A 2021-07-23 2021-07-23 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법 KR102583146B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210096995A KR102583146B1 (ko) 2021-07-23 2021-07-23 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법
KR1020230125673A KR20230141680A (ko) 2021-07-23 2023-09-20 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210096995A KR102583146B1 (ko) 2021-07-23 2021-07-23 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230125673A Division KR20230141680A (ko) 2021-07-23 2023-09-20 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20230015626A KR20230015626A (ko) 2023-01-31
KR102583146B1 true KR102583146B1 (ko) 2023-09-26

Family

ID=85109398

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210096995A KR102583146B1 (ko) 2021-07-23 2021-07-23 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법
KR1020230125673A KR20230141680A (ko) 2021-07-23 2023-09-20 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230125673A KR20230141680A (ko) 2021-07-23 2023-09-20 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법

Country Status (1)

Country Link
KR (2) KR102583146B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100802889B1 (ko) * 2007-02-27 2008-02-13 주식회사 엔케이 오존공급장치와 반응탱크를 갖는 밸러스트수 처리장치
US10589357B2 (en) * 2017-05-15 2020-03-17 Iscar, Ltd. Cutting insert having a split cutting edge with leading and trailing component cutting edges

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
미국공개특허 제2020-0004798호(2020.01.02.) 1부.*
미국등록특허 제10802889호(2020.10.13.) 1부.*

Also Published As

Publication number Publication date
KR20230015626A (ko) 2023-01-31
KR20230141680A (ko) 2023-10-10

Similar Documents

Publication Publication Date Title
US11429433B2 (en) Process discovery and automatic robotic scripts generation for distributed computing resources
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US7313564B2 (en) Web-interactive software testing management method and computer system including an integrated test case authoring tool
US20210327545A1 (en) System and method for building intuitive clinical trial applications
Gronau et al. KMDL-Capturing, Analysing and Improving Knowledge-Intensive Business Processes.
CN103336705B (zh) 脚本处理和工作流系统间的自动转码和语义自适应
US20190227778A1 (en) One-click deployment of industrial software
US20080148231A1 (en) Computer-implemented system for analysis, administration, control, management and monitoring of a complex hardware/software architecture
US11977470B2 (en) Monitoring long running workflows for robotic process automation
CN101180598A (zh) 用于提供过程指南的方法和装置
CN111798216A (zh) 一种机器人流程自动化多工具集成方法和系统
US8752030B1 (en) Process abstraction and tracking, systems and methods
JP2023070148A (ja) ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法
CN112435072A (zh) 一种模型创建方法、装置、电子设备及存储介质
KR20240009526A (ko) 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
KR102583146B1 (ko) 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법
Christie A practical guide to the technology and adoption of software process automation
US8301273B2 (en) Method for providing functions in an industrial automation system, control program and industrial automation system
Rodríguez-Lera et al. Traceability and accountability in autonomous agents
US20100235839A1 (en) Apparatus and method for automation of a business process
KR20230100260A (ko) 업무 처리 자동화 시스템의 업무 처리 상황 관리 시스템 및 그 구동방법
Onoma et al. Software maintenance—an industrial experience
JP6988997B2 (ja) 情報処理装置、並びに、テスト管理方法及びプログラム
US9367358B2 (en) Virtualizing a set of managers to form a composite manager in an autonomic system
Maier et al. Efficient implementation of task automation to support multidisciplinary engineering of cps

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