KR20230056524A - 로봇 프로세스 자동화 데이터 커넥터 - Google Patents

로봇 프로세스 자동화 데이터 커넥터 Download PDF

Info

Publication number
KR20230056524A
KR20230056524A KR1020217039438A KR20217039438A KR20230056524A KR 20230056524 A KR20230056524 A KR 20230056524A KR 1020217039438 A KR1020217039438 A KR 1020217039438A KR 20217039438 A KR20217039438 A KR 20217039438A KR 20230056524 A KR20230056524 A KR 20230056524A
Authority
KR
South Korea
Prior art keywords
rpa
related data
data source
data associated
source
Prior art date
Application number
KR1020217039438A
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 유아이패스, 인크.
Publication of KR20230056524A publication Critical patent/KR20230056524A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

로봇 프로세스 자동화(robotic process automation; RPA)를 평가하기 위한 시스템 및 방법이 제공된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터가 수신된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환된다. 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 결합된 RPA 데이터를 생성하기 위해 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련지어진다. 결합된 RPA 데이터에 기초하여 하나 이상의 관심 측정치가 계산된다.

Description

로봇 프로세스 자동화 데이터 커넥터
본 출원은 2020년 8월 28일에 출원된 미국 특허 출원 제17/005,349호의 우선권을 청구하며, 이 미국 특허 출원의 개시내용은 그 전체가 참조로서 본 명세서 내에서 원용된다.
본 발명은 일반적으로 로봇 프로세스 자동화(robotic process automation; RPA)에 관한 것이며, 보다 구체적으로는 관심 척도(measure)들을 계산하기 위한 상이한 RPA 관련 데이터 소스들과 연관된 RPA 데이터를 변환하기 위한 RPA 데이터 커넥터에 관한 것이다.
로봇 프로세스 자동화(RPA)는 소프트웨어 로봇들을 사용하여 워크플로우들을 자동화하는 프로세스 자동화의 형태이다. RPA는 비용을 감소시키고 효율성을 증가시키기 위해 반복적이고 및/또는 노동 집약적인 작업들을 자동화하도록 구현될 수 있다. RPA는 비용 절약 및 시간 절약과 같은 다양한 분석적 척도들을 계산함으로써 평가될 수 있다. 그러나, 오늘날의 RPA 평가 기술들은 특정 RPA 제품과 연관된 RPA 데이터만을 기초로 하며, 상이한 RPA 제품들로부터 획득된 RPA 데이터를 고려할 수 없다.
하나 이상의 실시예에 따르면, 로봇 프로세스 자동화(RPA)를 평가하기 위한 시스템 및 방법이 제공된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터가 수신된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환된다. 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 결합된 RPA 데이터를 생성하기 위해 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련지어진다. 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도가 계산된다.
일 실시예에서, 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행된 액션들과 연관시킴으로써 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련지어진다. 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 상기 연관에 기초하여 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 결합된다.
일 실시예에서, 하나 이상의 관심 척도는 비용 절약 메트릭(metric) 또는 시간 절약 메트릭 중 적어도 하나를 포함한다. 일 실시예에서, 하나 이상의 관심 척도는 제1 RPA 관련 데이터 소스와 제2 RPA 관련 데이터 소스의 성능을 비교하기 위해 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터에 기초하여 제1 관심 척도를 그리고 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 제2 관심 척도를 계산함으로써 계산된다. 다른 실시예에서, 하나 이상의 관심 척도는 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 및 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산함으로써 계산된다.
일 실시예에서, 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 미리 정의된 시간 간격들에서 또는 스케쥴링된 시간에서 수신된다.
일 실시예에서, 제2 RPA 관련 데이터 소스와 연관된 포맷은 표(tabular) 포맷이다.
본 발명의 이러한 장점들 및 기타 장점들이 아래의 상세한 설명과 첨부 도면들을 참조하여 당업자에게 명백해질 것이다.
도 1은 본 발명의 실시예에 따른, 로봇 프로세스 자동화(RPA) 시스템을 나타내는 아키텍처 다이어그램이다.
도 2는 본 발명의 실시예에 따른, 배치된 RPA 시스템의 예시를 나타내는 아키텍처 다이어그램이다.
도 3은 본 발명의 실시예에 따른, RPA 시스템의 단순화된 배치 예시를 나타내는 아키텍처 다이어그램이다.
도 4는 본 발명의 실시예에 따른, 상이한 RPA 관련 데이터 소스들로부터의 RPA 데이터에 기초하여 RPA를 평가하기 위한 방법을 도시한다.
도 5는 본 발명의 실시예에 따른 컴퓨팅 시스템의 블록도이다.
로봇 프로세스 자동화(RPA)는 워크플로우들과 프로세스들을 자동화하는 데 사용된다. 도 1은 하나 이상의 실시예에 따른, RPA 시스템(100)의 아키텍처 다이어그램이다. 도 1에서 도시된 바와 같이, 개발자가 자동화 프로세스들을 설계하도록 해주는 디자이너(102)를 포함한다. 보다 구체적으로, 디자이너(102)는 프로세스들에서 액티비티(activity)들을 수행하기 위한 RPA 프로세스들 및 로봇들의 개발과 배치를 용이하게 한다. 디자이너(102)는 제3자 애플리케이션들, 관리 정보 기술(IT) 작업들, 및 컨택트 센터 운영을 위한 비즈니스 프로세스들의 자동화뿐만 아니라, 애플리케이션 통합을 위한 솔루션을 제공할 수 있다. 디자이너(102)의 실시예의 하나의 상용 예는 UiPath Studio™이다.
규칙 기반 프로세스들의 자동화를 설계할 때, 개발자는 본원에서 "액티비티"로서 정의되는, 프로세스에서 개발된 커스텀한 단계들의 세트 간의 관계 및 실행 순서를 제어한다. 각 액티비티는, 버튼 클릭, 파일 읽기, 로그 패널에 기록하기 등과 같은 액션을 포함할 수 있다. 일부 실시예들에서, 프로세스들은 중첩(nested)되거나 임베딩될 수 있다.
일부 유형들의 프로세스들은, 비제한적인 예시로서, 시퀀스, 플로우차트, 유한 상태 머신(Finite State Machine; FSM), 및/또는 전역적 예외 핸들러를 포함할 수 있다. 시퀀스는 선형 프로세스에 특히 적합할 수 있어서, 프로세스를 난잡스럽게 하지 않으면서 하나의 액티비티로부터 다른 액티비티로의 플로우를 가능케 한다. 플로우차트는 더 복잡한 비즈니스 로직에 특히 적합할 수 있어서, 여러 분기 로직 연산자들을 통해 보다 다양한 방식으로 의사결정들의 통합과 액티비티의 연결을 가능케 한다. FSM은 대규모 워크플로우들에 특히 적합할 수 있다. FSM은, 그 실행 시 유한한 수의 상태들을 사용할 수 있으며, 이는 조건(즉, 전이) 또는 액티비티에 의해 트리거링된다. 전역적 예외 핸들러는 실행 오류가 발생할 때 워크플로우 거동을 결정하고 프로세스들을 디버깅하는 데 특히 적합할 수 있다.
디자이너(102) 내에서 프로세스가 개발되면, 비즈니스 프로세스의 실행은, 디자이너(102) 내에서 개발된 프로세스들을 실행하는 하나 이상의 로봇(106)을 통제(orchestrate)하는 컨덕터(conductor)(104)에 의해 통제된다. 컨덕터(104)의 실시예의 하나의 상용 예는 UiPath Orchestrator™이다. 컨덕터(220)는 RPA 환경 내의 자원들의 생성, 모니터링, 및 배치의 관리를 용이하게 한다. 일 예시에서, 컨덕터(104)는 웹 애플리케이션이다. 컨덕터(104)는 또한 제3자 솔루션 및 애플리케이션과의 통합 지점으로서 기능할 수 있다.
컨덕터(104)는 중앙화된 지점으로부터 로봇(106)을 연결하고 실행시킴으로써 RPA 로봇(106)의 무리(fleet)를 관리할 수 있다. 컨덕터(120)는 비제한적인 예시로서, 프로비저닝(provisioning), 배치, 구성, 큐잉, 모니터링, 로깅, 및/또는 상호연결성 제공을 비롯한 다양한 능력들을 가질 수 있다. 프로비저닝은 로봇(106)과 컨덕터(104)(예컨대, 웹 애플리케이션) 사이의 연결들의 생성 및 유지보수를 포함할 수 있다. 배치는 실행을 위해 할당된 로봇(106)으로의 패키지 버전의 올바른 전달을 보장하는 것을 포함할 수 있다. 구성은 로봇 환경 및 프로세스 구성의 유지보수 및 전달을 포함할 수 있다. 큐잉은 큐 및 큐 항목의 관리를 제공하는 것을 포함할 수 있다. 모니터링은, 로봇 식별 데이터를 지속적으로 추적하고 사용자 권한을 유지보수하는 것을 포함할 수 있다. 로깅은, 로그를 데이터베이스(예컨대, SQL 데이터베이스) 및/또는 다른 저장 메커니즘(예컨대, 대규모 데이터세트를 저장하고 이를 신속하게 질의(query)할 수 있는 능력을 제공하는 ElasticSearch®)에 저장하고 이를 인덱싱하는 것을 포함할 수 있다. 컨덕터(104)는 제3자 솔루션 및/또는 애플리케이션에 대한 중앙화된 통신 지점으로서의 역할을 함으로써 상호연결성을 제공할 수 있다.
로봇(106)은 디자이너(102) 내에서 빌드된 프로세스들을 실행시키는 실행 에이전트이다. 로봇(106)의 일부 실시예들의 하나의 상용 예는 UiPath Robots™이다. 로봇(106)의 유형들은 비제한적인 예시로서, 유인형 로봇(attended robot)(108)과 무인형 로봇(unattended robot)(110)을 포함할 수 있다. 유인형 로봇(108)은 사용자 또는 사용자 이벤트에 의해 트리거링되고 동일한 컴퓨팅 시스템 상에서 인간 사용자와 함께 동작한다. 유인형 로봇(108)은 인간 사용자가 다양한 작업들을 완수하는 것을 도울 수 있고, 인간 사용자에 의해 및/또는 사용자 이벤트에 의해 직접 트리거링될 수 있다. 유인형 로봇의 경우, 컨덕터(104)는 중앙화된 프로세스 배치 및 로깅 매체를 제공할 수 있다. 특정 실시예들에서, 유인형 로봇(108)은 오직 "로봇 트레이"로부터 또는 웹 애플리케이션 내 명령 프롬프트로부터만 작동될 수 있다. 무인형 로봇(110)은 가상 환경 내에서 무인 모드로 동작하고, 많은 프로세스들, 예를 들어, 대용량의 백엔드 프로세스들 등을 자동화하는 데 사용될 수 있다. 무인형 로봇(110)은 원격 실행, 모니터링, 스케줄링, 및 워크 큐(work queue)에 대한 지원 제공을 담당할 수 있다. 유인형 및 무인형 로봇 둘 다는 비제한적인 예시로서, 메인프레임, 웹 애플리케이션, VM, 엔터프라이즈 애플리케이션(예컨대, SAP®, SalesForce®, Oracle® 등에 의해 생산되는 것들), 및 컴퓨팅 시스템 애플리케이션(예컨대, 데스크톱 및 랩톱 애플리케이션, 모바일 디바이스 애플리케이션, 웨어러블 컴퓨터 애플리케이션 등)을 비롯한 다양한 시스템 및 애플리케이션을 자동화할 수 있다.
일부 실시예들에서, 로봇(106)은 Microsoft Windows® Service Control Manager(SCM)-관리 서비스를 디폴트로서 인스톨한다. 결과로서, 그러한 로봇(106)은 로컬 시스템 계정 하에서 인터랙티브 Windows® 세션들을 열고 Windows® 서비스의 권한을 가질 수 있다. 일부 실시예들에서, 로봇(106)은 주어진 로봇(106)을 인스톨했던 사용자와 동일한 권한을 갖고 사용자 모드로 인스톨될 수 있다.
일부 실시예들에서 로봇(106)은 여러 컴포넌트들로 분할되고, 각 컴포넌트는 특정 작업에 전용된다. 일부 실시에에서 로봇 컴포넌트들은, 비제한적인 예시로서, SCM-관리형 로봇 서비스, 사용자 모드 로봇 서비스, 실행기, 에이전트, 및 명령 라인을 포함한다. SCM-관리형 로봇 서비스는 Windows® 세션들을 관리 및 모니터링하고, 컨덕터(104)와 실행 호스트(즉, 로봇(106)이 실행되는 컴퓨팅 시스템) 사이의 프록시(proxy)로서의 역할을 한다. 이러한 서비스들은 로봇(106)에 대한 크리덴셜(credential)로 신뢰받고 이를 관리한다. 로컬 시스템 하에서 SCM에 의해 콘솔 애플리케이션이 런칭된다. 일부 실시예들에서 사용자 모드 로봇 서비스들은 Windows® 세션들을 관리 및 모니터링하고, 컨덕터(104)와 실행 호스트 사이의 프록시로서의 역할을 한다. 사용자 모드 로봇 서비스들은 로봇(106)에 대한 크리덴셜로 신뢰받고 이를 관리할 수 있다. SCM-관리형 로봇 서비스가 인스톨되어 있지 않다면 Windows® 애플리케이션이 자동으로 런칭될 수 있다. 실행기는 Windows® 세션 하에서 주어진 작업을 실행시킬 수 있고(예컨대, 실행기는 워크플로우들을 실행시킬 수 있음), 실행기는 모니터별 DPI(dot per inch) 설정을 인지하고 있을 수 있다. 에이전트는 시스템 트레이 창 내에 이용가능한 작업들을 디스플레이하는 Windows® Presentation Foundation(WPF) 애플리케이션일 수 있다. 에이전트는 서비스의 클라이언트일 수 있다. 에이전트는 작업을 시작 또는 정지하고 설정을 변경할 것을 요청할 수 있다. 명령 라인은 서비스의 클라이언트이며, 작업을 시작하고 그 출력을 대기할 것을 요청할 수 있는 콘솔 애플리케이션이다. 로봇 컴포넌트들을 분할시키는 것은 각 로봇 컴포넌트가 실행 중인 것을 보다 쉽게 실행하고, 식별하고, 추척하도록 개발자를 돕고, 사용자를 지원하고, 컴퓨팅 시스템을 인에이블시킬 수 있다. 예를 들어, 실행기와 서비스에 대해 상이한 방화벽 규칙들을 설정하는 것과 같이, 로봇 컴포넌트별 특수한 거동들이 구성될 수 있다. 추가 예로서, 실행기는 일부 실시예에서 모니터별 DPI 설정을 인지할 수 있으며, 결과적으로 워크플로우는 워크플로우를 생성했던 컴퓨팅 시스템의 구성에 관계없이 임의의 DPI에서 실행될 수 있다.
도 2는 하나 이상의 실시예에 따른 RPA 시스템(200)을 도시한다. RPA 시스템(200)은 도 1의 RPA 시스템(100)일 수 있거나 또는 그 일부일 수 있다. "클라이언트측", "서버측", 또는 둘 다는 본 발명의 범위로부터 벗어나지 않으면서 임의의 원하는 수의 컴퓨팅 시스템들을 포함할 수 있다는 점에 유의해야 한다.
이 실시예에서 클라이언트측 상에서 도시된 바와 같이, 컴퓨팅 시스템(202)은 하나 이상의 실행기(204), 에이전트(206), 및 디자이너(208)를 포함한다. 다른 실시예들에서, 디자이너(208)는 동일한 컴퓨팅 시스템(202) 상에서 실행되고 있지 않을 수 있다. 실행기(204)(상기 설명된 로봇 컴포넌트일 수 있음)는 프로세스를 실행하고, 일부 실시예들에서, 다중 비즈니스 프로세스들이 동시에 실행될 수 있다. 이 예시에서, 에이전트(206)(예컨대, Windows® 서비스)는 실행기(204)를 관리하기 위한 단일 접점이다.
일부 실시예들에서, 로봇은 머신 이름과 사용자이름 사이의 연관을 나타낸다. 로봇은 다중 실행기들을 동시에 관리할 수 있다. 동시에 실행되는 다중 인터랙티브 세션들을 지원하는 컴퓨팅 시스템(예컨대, Windows® Server 2012) 상에서, 다중 로봇들은 각각 고유한 사용자이름을 사용하여 별개의 Windows® 세션 내에서, 동시에 실행되고 있을 수 있다.
에이전트(214)는 또한 로봇의 상태를 전송하고(예컨대, 로봇이 여전히 기능하고 있다는 것을 표시하는 "하트비트(heartbeat)" 메시지를 주기적으로 전송), 실행될 패키지의 요구되는 버전을 다운로드하는 것을 담당한다. 일부 실시예들에서 에이전트(206)와 컨덕터(212) 사이의 통신은 에이전트(206)에 의해 개시된다. 통지 시나리오의 예시에서, 에이전트(206)는 명령(예컨대, 시작, 정지 등)을 로봇에 전송하기 위해 컨덕터(212)에 의해 이후에 사용되는 WebSocket 채널을 열 수 있다.
이 실시예에서 서버측 상에서 도시된 바와 같이, 표현 계층은 웹 애플리케이션(214), OData(Open Data Protocol) REST(Representative State Transfer) API(Application Programming Interface) 엔드포인트(216), 및 통지 및 모니터링 API(218)를 포함한다. 서버측 상의 서비스 계층은 API 구현/비즈니스 로직(220)을 포함한다. 서버측 상의 영속 계층은 데이터베이스 서버(222) 및 인덱서 서버(224)를 포함한다. 컨덕터(212)는 웹 애플리케이션(214), OData REST API 엔드포인트(216), 통지 및 모니터링 API(218), API 구현/비즈니스 로직(220)을 포함한다.
다양한 실시예들에서, 컨덕터(212)의 인터페이스에서(예컨대, 브라우저(210)를 통해) 사용자가 수행하는 대부분의 액션들은 다양한 API들을 호출함으로써 수행된다. 그러한 액션들은 비제한적인 예시로서, 로봇 상에서의 작업의 시작, 큐 내의 데이터의 추가/제거, 무인 상태로 실행될 작업의 스케줄링 등을 포함할 수 있다. 웹 애플리케이션(214)은 서버 플랫폼의 시각적 계층이다. 이 실시예에서, 웹 애플리케이션(214)은 HTML(Hypertext Markup Language) 및 JS(JavaScript)를 사용한다. 그러나, 본 발명의 범위로부터 벗어나지 않으면서 임의의 원하는 마크업 언어, 스크립트 언어, 또는 임의의 다른 포맷들이 사용될 수 있다. 이 실시예에서 사용자는 컨덕터(212)를 제어하기 위한 다양한 액션들을 수행하기 위해 브라우저(210)를 통해 웹 애플리케이션(214)으로부터 웹 페이지와 상호작용한다. 예를 들어, 사용자는 로봇 그룹들을 생성하고, 로봇들에 패키지들을 할당하고, 로봇별 및/또는 프로세스별 로그들을 분석하고, 로봇들을 작동 및 정지시키는 것 등을 할 수 있다.
웹 애플리케이션(214)에 더하여, 컨덕터(212)는 또한, OData REST API 엔드포인트(216)를 노출시키는 서비스 계층을 포함한다(또는, 본 발명의 범위로부터 벗어나지 않으면서 다른 엔드포인트들이 구현될 수 있다). REST API는 웹 애플리케이션(214)과 에이전트(206) 둘 다에 의해 소비된다. 이 예시적인 구성에서 에이전트(206)는 클라이언트 컴퓨터 상의 하나 이상의 로봇의 수퍼바이저이다.
이 실시예에서 REST API는 구성, 로깅, 모니터링, 및 큐잉 기능을 커버한다. 일부 실시예들에서 구성 REST 엔드포인트는 애플리케이션 사용자, 허가, 로봇, 자산, 릴리스, 및 환경을 정의하고 구성하는 데 사용될 수 있다. 로깅 REST 엔드포인트는 예를 들어, 오류, 로봇에 의해 전송된 명시적 메시지, 및 다른 환경 특유적 정보와 같은 상이한 정보를 로깅하는 데 유용될 수 있다. 배치 REST 엔드포인트는 컨덕터(212) 내에서 작업 시작 명령이 사용된다면 실행되어야 하는 패키지 버전을 질의하기 위해 로봇들에 의해 사용될 수 있다. 큐잉 REST 엔드포인트는 큐에 데이터를 추가하는 것, 큐로부터 트랜잭션(transaction)을 획득하는 것, 및 트랜잭션의 상태를 설정하는 것 등과 같은, 큐 및 큐 항목 관리를 담당할 수 있다. 모니터링 REST 엔드포인트는 웹 애플리케이션(214) 및 에이전트(206)를 모니터링한다. 통지 및 모니터링 API(218)는 에이전트(206)를 등록하고, 구성 설정을 에이전트(206)에 전달하고, 서버 및 에이전트(206)로부터의 통지들을 전송/수신하기 위해 사용되는 REST 엔드포인트일 수 있다. 일부 실시예들에서 통지 및 모니터링 API(218)는 또한 WebSocket 통신을 사용할 수 있다.
이 예시적인 실시예에서 서버측 상의 영속 계층은 서버들의 쌍 - 데이터베이스 서버(222)(예컨대, SQL 서버)와 인덱서 서버(224) - 을 포함한다. 이 실시예에서 데이터베이스 서버(222)는 로봇의 구성, 로봇 그룹, 연관된 프로세스, 사용자, 역할, 스케쥴 등을 저장한다. 일부 실시예들에서 이 정보는 웹 애플리케이션(214)을 통해 관리된다. 데이터베이스 서버(222)는 또한 큐 및 큐 항목을 관리할 수 있다. 일부 실시예들에서, 데이터베이스 서버(222)는 (인덱서 서버(224)에 더하여 또는 이를 대신하여), 로봇들에 의해 로깅된 메시지들을 저장할 수 있다. 인덱서 서버(224)는 로봇들에 의해 로깅된 정보를 저장하고 인덱싱하는데, 이는 일부 실시예들에서 선택적이다. 특정 실시예들에서, 인덱서 서버(224)는 구성 설정을 통해 디스에이블링될 수 있다. 일부 실시예들에서, 인덱서 서버(224)는 오픈 소스 프로젝트 전체 텍스트 검색 엔진인 ElasticSearch®를 사용한다. (예컨대, 메시지의 로깅 또는 라인의 기록과 같은 액티비티들을 사용하여) 로봇들에 의해 로깅된 메시지들은 로깅 REST 엔드포인트(들)을 통해 인덱서 서버(224)에 전송될 수 있으며, 이것들은 향후의 이용을 위해 인덱싱된다.
도 3은 하나 이상의 실시예에 따른, RPA 시스템(300)의 단순화된 배치 예시를 나타내는 아키텍처 다이어그램이다. 일부 실시예에서, RPA 시스템(300)은 도 1과 도 2의 RPA 시스템(100 및/또는 200) 각각일 수 있거나 또는 이를 포함할 수 있다. RPA 시스템(300)은 로봇들을 실행시키는 다중 클라이언트 컴퓨팅 시스템들(302)을 포함한다. 컴퓨팅 시스템(302)은 컨덕터 컴퓨팅 시스템(304) 상에서 구동 중에 있는 웹 애플리케이션을 통해 컨덕터 컴퓨팅 시스템(304)과 통신할 수 있다. 컨덕터 컴퓨팅 시스템(304)은 이어서, 데이터베이스 서버(306) 및 선택적인 인덱서 서버(308)와 통신할 수 있다. 도 2 및 도 4와 관련하여, 이들 실시예들에서는 웹 애플리케이션이 사용되지만, 본 발명의 범위로부터 벗어나지 않으면서 임의의 적합한 클라이언트/서버 소프트웨어가 사용될 수 있다는 점에 유의해야 한다. 예를 들어, 컨덕터는 클라이언트 컴퓨팅 시스템 상의 비 웹 기반 클라이언트 소프트웨어 애플리케이션과 통신하는 서버측 애플리케이션을 실행시킬 수 있다.
일 실시예에서, RPA 시스템(300)은 특정 RPA 제품에 따라 엔티티(예를 들어, 조직, 회사, 또는 사용자)에 대해 구현되어 다양한 워크플로우들 또는 프로세스들을 자동화함으로써, 비용을 감소시키고 효율성을 증가시킬 수 있다. RPA 시스템(300)의 성능은 특정 RPA 제품과 연관된 포맷의 RPA 데이터로부터, 예를 들어 비용 절약 및 시간 절약 메트릭들과 같은, 다양한 관심 척도를 계산함으로써 평가될 수 있다.
여기에 설명된 실시예들에 따르면, 상이한 RPA 관련 데이터 소스들과 연관된 RPA 데이터에 기초하여 RPA의 평가를 가능하게 하기 위해 RPA 데이터 커넥터가 제공된다. 일 실시예에서, RPA 관련 데이터 소스들 각각은 RPA 플랫폼의 상이한 RPA 제품과 연관되며, 여기서 각각의 RPA 제품은 예를 들어, 프로세스 마이닝, 작업 캡처, 또는 자동화와 같은 상이한 RPA 기능을 수행한다. 다른 실시예에서, 각각의 RPA 관련 데이터 소스들은 상이한 RPA 플랫폼들과 연관될 수 있다. RPA 데이터 커넥터는 제1 RPA 관련 데이터 소스로부터 수신된 RPA 데이터를 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환시킨다. 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 결합된 RPA 데이터를 생성하기 위해 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련지어지며, RPA를 평가하기 위해 관심 척도들이 상기 결합된 RPA 데이터에 기초하여 계산될 수 있다. 유리하게는, 여기에 설명된 실시예들은 상이한 RPA 관련 데이터 소스들과 연관된 RPA 데이터에 기초한 RPA의 종단간 평가를 제공하여, 상이한 RPA 제품들에 걸쳐 RPA를 구현하는 비용 및 이점을 식별하는 전체론적 보고서의 생성을 가능하게 한다.
도 4는 하나 이상의 실시예에 따른, 상이한 RPA 관련 데이터 소스들과 연관된 RPA 데이터에 기초하여 RPA를 평가하기 위한 방법(400)을 도시한다. 방법(400)은 예를 들어, 도 5의 컴퓨터(500)와 같은 하나 이상의 적절한 컴퓨팅 디바이스에 의해 수행될 수 있다.
단계(402)에서, 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터가 수신된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 제1 RPA 관련 데이터 소스와 연관된 임의의 데이터를 포함할 수 있다. 일 실시예에서, 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 하나 이상의 RPA 로봇에 의한 워크플로우들의 실행에 관한 데이터를 포함한다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터의 포맷은 예를 들어, CSV(comma-separated values) 포맷, TSV(tab-separated values) 포맷, JSON(JavaScript Object Notation) 포맷, 엑셀 포맷 등과 같은 임의의 적절한 포맷일 수 있다.
제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 사용자(예를 들어, RPA 개발자 또는 RPA 고객)가 RPA 데이터를 수동으로 전송하는 것에 응답하여 수신될 수 있거나 또는 스케쥴링된 시간 또는 미리 정의된 시간 간격들로 자동으로 수신될 수 있다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 사용자로부터 수신될 수 있거나 또는 RPA 제품 또는 RPA 플랫폼으로부터 직접 수신될 수 있다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 컴퓨터 시스템의 저장소 또는 메모리로부터 이전에 저장되었던 RPA 데이터를 로딩함으로써 또는 원격 컴퓨터 시스템으로부터 전송된 RPA 데이터를 수신함으로써 수신될 수 있다.
단계(404)에서, 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환된다. 일 실시예에서, 제2 RPA 관련 데이터 소스와 연관된 포맷은 예를 들어, CSV 포맷, TSV 포맷, 또는 엑셀 포맷과 같은 표 데이터 포맷이다. 그러나, 제2 RPA 관련 데이터 소스와 연관된 포맷은 제1 RPA 관련 데이터 소스와 연관된 포맷과는 상이한 임의의 다른 적절한 포맷(예를 들어, JSON 포맷)일 수 있다.
일 실시예에서, 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 사용자에 의해 정의된 테이블 이름을 갖는 하나 이상의 테이블을 생성함으로써 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터 내 열(column)들을 정의하는 헤더들에 기초하여 상기 생성된 테이블 내에 삽입된다. 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터는 임의의 다른 적절한 접근법을 사용하여 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환될 수 있다.
일 실시예에서, 제1 및 제2 RPA 관련 데이터 소스들은 RPA 플랫폼의 상이한 RPA 제품들과 연관되며, 각각의 RPA 제품은 예를 들어, 프로세스 마이닝, 작업 캡처, 또는 자동화와 같은 상이한 RPA 기능을 수행한다. 다른 실시예에서, 제1 및 제2 RPA 관련 데이터 소스들은 상이한 RPA 제품들과 연관된다.
단계(406)에서, 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 결합된 RPA 데이터를 생성하기 위해 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 관련지어진다. 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터의 생성된 테이블을 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터의 테이블과 링크 또는 합병시킴으로써 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 관련지어질 수 있다. 일 실시예에서, 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행되는 액션들과 연관된다. 그런 후 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행된 액션들과 상기 변환된 RPA 데이터 간의 연관에 기초하여 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터는 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 결합된다.
단계(408)에서, 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도가 계산된다. 관심 척도는 RPA를 평가하기 위한 임의의 척도일 수 있다. 예를 들어, 관심 척도는 비용 절약 메트릭 및 시간 절약 메트릭을 포함할 수 있다. 다른 예시에서, 관심 척도는 RPA 로봇들의 운영 액티비티와 관련된 핵심 성능 지표들을 포함할 수 있다.
일 실시예에서, 관심 척도는 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터에 기초하여 계산된 메트릭들을 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 계산된 메트릭들과 비교하도록 계산될 수 있다. 예를 들어, 비용 절약 메트릭 또는 시간 절약 메트릭이 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터와 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터 둘 다에 대해 계산될 수 있고, 비용 절약 메트릭 또는 시간 절약 메트릭은 제1 RPA 관련 데이터 소스와 제2 RPA 관련 데이터 소스 간의 성능 변화를 평가하기 위해 비교될 수 있다.
일 실시예에서, 관심 척도는 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터와 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터 둘 다를 사용하여 메트릭들을 결정하도록 계산될 수 있다.
단계(410)에서, 하나 이상의 계산된 관심 척도가 출력된다. 계산된 관심 척도들은, 예를 들어, 계산된 관심 척도를 컴퓨터 시스템의 디스플레이 디바이스 상에 디스플레이함으로써, 또는 계산된 관심 척도를 컴퓨터 시스템의 메모리 또는 저장소 상에 저장함으로써 출력될 수 있다.
일 예시에서, 계산된 관심 척도는 하나 이상의 대시보드 상에서 디스플레이된다. 대시보드는 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터와 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터 사이의 관계를 시각화할 수 있다.
도 5는 본 발명의 실시예에 따른, 도 4를 포함하여 본 명세서에서 설명된 방법, 워크플로우, 및 프로세스를 실행하도록 구성된 컴퓨팅 시스템(500)을 나타내는 블록도이다. 일부 실시예들에서, 컴퓨팅 시스템(500)은 본 명세서에서 도시되고 및/또는 설명된 컴퓨팅 시스템들 중 하나 이상일 수 있다. 컴퓨팅 시스템(500)은 정보의 통신을 위한 버스(502) 또는 다른 통신 메커니즘, 및 정보의 프로세싱을 위해 버스(502)에 커플링된 프로세서(들)(5040)을 포함한다. 프로세서(들)(504)은 CPU(Central Processing Unit), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), GPU(Graphics Processing Unit), 이들의 다중 인스턴스들, 및/또는 이들의 임의의 조합을 비롯한 임의의 유형의 범용 프로세서 또는 특수 목적 프로세서일 수 있다. 프로세서(들)(504)은 또한 다중 프로세싱 코어들을 가질 수 있으며, 코어들 중 적어도 일부는 특수 기능들을 수행하도록 구성될 수 있다. 일부 실시예들에서 다중 병렬 프로세싱이 사용될 수 있다.
컴퓨팅 시스템(500)은 프로세서(들)(504)에 의해 실행될 명령어 및 정보를 저장하기 위한 메모리(506)를 더 포함한다. 메모리(506)는 RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리, 캐시, 자기 또는 광학 디스크와 같은 정적 저장장치, 또는 임의의 다른 유형의 비일시적 컴퓨터 판독가능 매체 또는 이들의 조합의 임의의 조합을 포함할 수 있다. 비일시적 컴퓨터 판독가능 매체는 프로세서(들)(504)에 의해 액세싱될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 매체, 비휘발성 매체, 또는 둘 다를 포함할 수 있다. 매체는 또한 탈착식, 비탈착식, 또는 둘 다일 수 있다.
추가적으로, 컴퓨팅 시스템(500)은 현재 존재하거나 미래에 구현되는 통신 표준 및/또는 프로토콜에 따라 무선 및/또는 유선 연결을 통해 통신 네트워크에 대한 액세스를 제공하기 위해 트랜스시버와 같은 통신 디바이스(508)를 포함한다.
프로세서(들)(504)은 또한 사용자에게 정보를 디스플레이하기에 적절한 디스플레이(510)에 버스(502)를 통해 커플링된다. 디스플레이(510)는 또한 터치 디스플레이 및/또는 임의의 적절한 햅틱 I/O 디바이스로서 구성될 수 있다.
키보드(512), 및 컴퓨터 마우스, 터치패드 등과 같은 커서 제어 디바이스(514)가 또한 사용자가 컴퓨팅 시스템과 인터페이싱할 수 있도록 버스(502)에 커플링된다. 그러나, 특정 실시예들에서, 물리적 키보드 및 마우스가 존재하지 않을 수 있고, 사용자는 디스플레이(510) 및/또는 터치패드(도시되지 않음)만을 통해 디바이스와 상호작용할 수 있다. 임의의 유형 및 조합의 입력 디바이스들이 설계 선택의 사항으로서 사용될 수 있다. 특정 실시예들에서, 물리적 입력 디바이스 및/또는 디스플레이가 존재하지 않는다. 예를 들어, 사용자는 컴퓨팅 시스템(500)과 통신하는 다른 컴퓨팅 시스템을 통해 컴퓨팅 시스템(500)과 원격으로 상호작용할 수 있거나, 또는 컴퓨팅 시스템(500)은 자율적으로 동작할 수 있다.
메모리(506)는 프로세서(들)(504)에 의해 실행될 때 기능을 제공하는 소프트웨어 모듈들을 저장한다. 모듈들은 컴퓨팅 시스템(500)을 위한 운영 체제(516), 및 본 명세서에서 설명된 프로세스들의 전부 또는 일부 또는 그 파생물들을 수행하도록 구성된 하나 이상의 추가적인 기능 모듈(518)을 포함한다.
당업자는 "시스템"이 본 발명의 범위로부터 벗어나지 않으면서 서버, 임베디드 컴퓨팅 시스템, 개인용 컴퓨터, 콘솔, PDA(personal digital assistant), 셀 폰, 태블릿 컴퓨팅 디바이스, 양자 컴퓨팅 시스템, 또는 임의의 다른 적절한 컴퓨팅 디바이스, 또는 디바이스들의 조합으로서 실시될 수 있다는 것을 알 것이다. 전술한 기능들이 "시스템"에 의해 수행되는 것으로서 표현한 것은 본 발명의 범위를 어떠한 식으로든지 제한시키려는 의도는 없으며, 본 발명의 많은 실시예들 중 하나의 예시를 제공하려고 의도된 것이다. 실제로, 본 명세서에서 개시된 방법, 시스템, 및 장치는 클라우드 컴퓨팅 시스템을 비롯한 컴퓨팅 기술과 일치하는 로컬화되고 분산된 형태들로 구현될 수 있다.
본 명세서에서 설명된 시스템 특징들 중 일부는 그 구현 독립성을 더 특별히 강조하기 위해, 모듈들로서 표현되었다는 점에 유의해야 한다. 예컨대, 모듈은 커스텀 VLSI(very large scale integration) 회로 또는 게이트 어레이, 로직 칩과 같은 상용 반도체, 트랜지스터, 또는 다른 개별 컴포넌트를 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한 필드 프로그래밍가능 게이트 어레이, 프로그래밍가능 어레이 로직, 프로그래밍가능 로직 디바이스, 그래픽 프로세싱 유닛 등과 같은 프로그래밍가능 하드웨어 디바이스로 구현될 수 있다. 모듈은 또한 다양한 유형들의 프로세서들에 의한 실행을 위해 적어도 부분적으로 소프트웨어로 구현될 수 있다. 예를 들어, 실행가능 코드의 식별되는 단위는 예를 들어, 객체, 프로시저, 또는 함수로서 조직화될 수 있는 컴퓨터 명령어들의 하나 이상의 물리적 또는 논리적 블록을 포함할 수 있다. 그럼에도 불구하고, 식별되는 모듈의 실행가능자들은 물리적으로 함께 위치될 필요는 없지만, 논리적으로 함께 결합될 때 해당 모듈을 포함하고 해당 모듈에 대한 서술된 목적을 달성하는, 상이한 위치들에 저장된 별개의 명령어들을 포함할 수 있다. 또한, 모듈들은 본 발명의 범위로부터 벗어나지 않으면서, 예를 들어, 하드 디스크 드라이브, 플래시 디바이스, RAM, 테이프, 및/또는 데이터를 저장하기 위해 사용되는 임의의 다른 그러한 비일시적 컴퓨터 판독가능 매체일 수 있는 컴퓨터 판독가능 매체 상에 저장될 수 있다. 실제로, 실행가능 코드의 모듈은 단일 명령어 또는 많은 명령어들일 수 있고, 여러 상이한 코드 세그먼트들에 걸쳐서, 상이한 프로그램들 간에, 그리고 여러 메모리 디바이스들에 걸쳐서 분산될 수도 있다. 마찬가지로, 동작 데이터는 본 명세서에서 모듈들 내에 있는 것으로 식별되고 예시될 수 있으며, 임의의 적절한 형태로 실시되고 임의의 적절한 유형의 데이터 구조 내에서 조직화될 수 있다. 동작 데이터는 단일 데이터 세트로서 수집될 수 있거나, 상이한 저장 디바이스들에 걸쳐 있는 것을 비롯하여 상이한 위치들에 걸쳐 분산될 수 있고, 적어도 부분적으로 단지 시스템 또는 네트워크 상의 전자 신호로서만 존재할 수 있다.
앞의 내용은 본 발명개시의 원리들을 단순히 나타낸 것이다. 따라서, 당업자는, 비록 여기서는 명시적으로 설명되거나 또는 도시되지는 않았지만, 본 발명의 원리들을 구현하며 본 개시의 사상과 범위 내에 포함되는 다양한 구성들을 고안해낼 수 있을 것이라는 것을 이해할 것이다. 또한, 본 명세서에서 언급된 모든 예시들과 조건어들은 원칙적으로 독자가 본 개시의 원리들과 발명자에 의해 본 기술을 발전시키는데 기여한 개념들을 이해하는 것을 돕기 위한 교육학적 목적용으로 의도된 것일 뿐이며, 이렇게 구체적으로 언급된 예시들과 조건들로 제한되지 않도록 해석되어야 한다. 게다가, 여기서 본 발명개시의 원리들, 양태들, 및 실시예들 뿐만이 아니라 특정 예시들을 언급한 모든 진술들은 그 구조적 및 기능적 등가물들도 망라하는 것으로 한다. 추가적으로, 그러한 등가물들은 현재 알려진 등가물들뿐만이 아니라 미래에 개발될 등가물들 둘 다를 포함하도록 의도된 것이다.

Claims (20)

  1. 컴퓨터 구현(computer-implemented) 방법에 있어서,
    제1 로봇 프로세스 자동화(robotic process automation; RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 단계;
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환시키는 단계;
    결합된 RPA 데이터를 생성하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련시키는 단계; 및
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도(measure)를 계산하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 결합된 RPA 데이터를 생성하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련시키는 단계는,
    상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행되는 액션들과 연관시키는 단계; 및
    상기 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행된 액션들과 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 간의 연관에 기초하여 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 결합시키는 단계
    를 포함한 것인 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 단계는,
    상기 제1 RPA 관련 데이터 소스와 상기 제2 RPA 관련 데이터 소스의 성능을 비교하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터에 기초하여 제1 관심 척도를 그리고 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 제2 관심 척도를 계산하는 단계
    를 포함한 것인 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 단계는,
    상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 및 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 상기 하나 이상의 관심 척도를 계산하는 단계
    를 포함한 것인 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 단계는,
    비용 절약 메트릭 또는 시간 절약 메트릭 중 적어도 하나를 계산하는 단계
    를 포함한 것인 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 제1 로봇 프로세스 자동화(RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 단계는,
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 미리 정의된 시간 간격들에서 수신하는 단계
    를 포함한 것인 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 제1 로봇 프로세스 자동화(RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 단계는,
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 스케쥴링된 시간에서 수신하는 단계
    를 포함한 것인 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 제2 RPA 관련 데이터 소스와 연관된 포맷은 표(tabular) 포맷인 것인 컴퓨터 구현 방법.
  9. 장치에 있어서,
    컴퓨터 명령어들을 저장한 메모리; 및
    상기 컴퓨터 명령어들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 컴퓨터 명령어들은 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하도록 구성되며,
    상기 동작들은,
    제1 로봇 프로세스 자동화(RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 동작;
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환시키는 동작;
    결합된 RPA 데이터를 생성하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련시키는 동작; 및
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작
    인 것인 장치.
  10. 제9항에 있어서,
    상기 결합된 RPA 데이터를 생성하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련시키는 동작은,
    상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행되는 액션들과 연관시키는 동작; 및
    상기 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행된 액션들과 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 간의 연관에 기초하여 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 결합시키는 동작
    을 포함한 것인 장치.
  11. 제9항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작은,
    상기 제1 RPA 관련 데이터 소스와 상기 제2 RPA 관련 데이터 소스의 성능을 비교하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터에 기초하여 제1 관심 척도를 그리고 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 제2 관심 척도를 계산하는 동작
    을 포함한 것인 장치.
  12. 제9항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작은,
    상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 및 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 상기 하나 이상의 관심 척도를 계산하는 동작
    을 포함한 것인 장치.
  13. 제9항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작은,
    비용 절약 메트릭 또는 시간 절약 메트릭 중 적어도 하나를 계산하는 동작
    을 포함한 것인 장치.
  14. 비일시적 컴퓨터 판독가능 매체 상에 수록된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하도록 구성되고, 상기 동작들은,
    제1 로봇 프로세스 자동화(RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 동작;
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 제2 RPA 관련 데이터 소스와 연관된 포맷으로 변환시키는 동작;
    결합된 RPA 데이터를 생성하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련시키는 동작; 및
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작
    을 포함한 것인 컴퓨터 프로그램.
  15. 제14항에 있어서,
    상기 결합된 RPA 데이터를 생성하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 관련시키는 동작은,
    상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행되는 액션들과 연관시키는 동작; 및
    상기 제2 RPA 관련 데이터 소스와 연관된 RPA 로봇들에 의해 수행된 액션들과 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 간의 연관에 기초하여 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터를 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터와 결합시키는 동작
    을 포함한 것인 컴퓨터 프로그램.
  16. 제14항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작은,
    상기 제1 RPA 관련 데이터 소스와 상기 제2 RPA 관련 데이터 소스의 성능을 비교하기 위해 상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터에 기초하여 제1 관심 척도를 그리고 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 제2 관심 척도를 계산하는 동작
    을 포함한 것인 컴퓨터 프로그램.
  17. 제14항에 있어서,
    상기 결합된 RPA 데이터에 기초하여 하나 이상의 관심 척도를 계산하는 동작은,
    상기 제1 RPA 관련 데이터 소스와 연관된 상기 변환된 RPA 데이터 및 상기 제2 RPA 관련 데이터 소스와 연관된 RPA 데이터에 기초하여 상기 하나 이상의 관심 척도를 계산하는 동작
    을 포함한 것인 컴퓨터 프로그램.
  18. 제14항에 있어서,
    상기 제1 로봇 프로세스 자동화(RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 동작은,
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 미리 정의된 시간 간격들에서 수신하는 동작
    을 포함한 것인 컴퓨터 프로그램.
  19. 제14항에 있어서,
    상기 제1 로봇 프로세스 자동화(RPA) 관련 데이터 소스와 연관된 RPA 데이터를 수신하는 동작은,
    상기 제1 RPA 관련 데이터 소스와 연관된 RPA 데이터를 스케쥴링된 시간에서 수신하는 동작
    을 포함한 것인 컴퓨터 프로그램.
  20. 제14항에 있어서,
    상기 제2 RPA 관련 데이터 소스와 연관된 포맷은 표 포맷인 것인 컴퓨터 프로그램.
KR1020217039438A 2020-08-28 2020-11-12 로봇 프로세스 자동화 데이터 커넥터 KR20230056524A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/005,349 2020-08-28
US17/005,349 US20220066794A1 (en) 2020-08-28 2020-08-28 Robotic process automation data connector
PCT/US2020/060075 WO2022046142A1 (en) 2020-08-28 2020-11-12 Robotic process automation data connector

Publications (1)

Publication Number Publication Date
KR20230056524A true KR20230056524A (ko) 2023-04-27

Family

ID=80353806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217039438A KR20230056524A (ko) 2020-08-28 2020-11-12 로봇 프로세스 자동화 데이터 커넥터

Country Status (6)

Country Link
US (1) US20220066794A1 (ko)
EP (1) EP4205054A1 (ko)
JP (1) JP2023538978A (ko)
KR (1) KR20230056524A (ko)
CN (1) CN114430825A (ko)
WO (1) WO2022046142A1 (ko)

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200348662A1 (en) * 2016-05-09 2020-11-05 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
US10802453B2 (en) * 2017-06-02 2020-10-13 Bank Of America Corporation Robotics process automation macro bot
US10489502B2 (en) * 2017-06-30 2019-11-26 Accenture Global Solutions Limited Document processing
US11003796B2 (en) * 2017-06-30 2021-05-11 Accenture Global Solutions Limited Artificial intelligence based document processor
US10449670B2 (en) * 2017-07-17 2019-10-22 Bank Of America Corporation Event processing using robotic entities
WO2019034991A1 (en) * 2017-08-14 2019-02-21 Patil Rajeev Shant AUTOMATED VISA REQUESTING PROCESS SYSTEM AND METHOD THEREOF
US10686684B2 (en) * 2017-11-02 2020-06-16 Bank Of America Corporation Individual application flow isotope tagging within a network infrastructure
US10606687B2 (en) * 2017-12-04 2020-03-31 Bank Of America Corporation Process automation action repository and assembler
AU2019201632A1 (en) * 2018-03-15 2019-10-03 Accenture Global Solutions Limited Artificial intelligence based document processor
WO2019195121A1 (en) * 2018-04-03 2019-10-10 Walmart Apollo, Llc Digital worker management system
US11669914B2 (en) * 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US11526695B2 (en) * 2018-07-13 2022-12-13 Accenture Global Solutions Limited Evaluating impact of process automation on KPIs
TWI692735B (zh) * 2018-10-12 2020-05-01 台北富邦商業銀行股份有限公司 企業財務曝險管理系統
JP2022506459A (ja) * 2018-10-29 2022-01-17 ストロング フォース ティエクス ポートフォリオ 2018,エルエルシー エネルギー、計算、ストレージ、およびその他のリソースのスポットおよびフォワード市場における分散型台帳およびその他の取引の実行を自動化する機械およびシステムを改善する方法、並びにシステム
US11790262B2 (en) * 2019-01-22 2023-10-17 Accenture Global Solutions Limited Data transformations for robotic process automation
US20200262063A1 (en) * 2019-02-15 2020-08-20 Roots Automation, Inc. Multi-tenant dashboard for robotic process automation systems
US11301224B1 (en) * 2019-04-30 2022-04-12 Automation Anywhere, Inc. Robotic process automation system with a command action logic independent execution environment
US11113095B2 (en) * 2019-04-30 2021-09-07 Automation Anywhere, Inc. Robotic process automation system with separate platform, bot and command class loaders
JP2022531919A (ja) * 2019-05-06 2022-07-12 ストロング フォース アイオーティ ポートフォリオ 2016,エルエルシー 産業用モノのインターネットシステムにおけるインテリジェンスの開発を促進するためのプラットフォーム
US11227176B2 (en) * 2019-05-16 2022-01-18 Bank Of Montreal Deep-learning-based system and process for image recognition
US20210004711A1 (en) * 2019-07-02 2021-01-07 International Business Machines Corporation Cognitive robotic process automation
US20220285009A1 (en) * 2019-08-16 2022-09-08 Z Imaging Systems and methods for real-time multiple modality image alignment
US11442837B2 (en) * 2019-11-01 2022-09-13 UiPath, Inc. Monitoring long running workflows for robotic process automation
US11110601B2 (en) * 2019-11-20 2021-09-07 UiPath, Inc. Scheduling robots for robotic process automation
US11233861B2 (en) * 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
US20210334817A1 (en) * 2020-04-28 2021-10-28 The Toronto-Dominion Bank Management of queued appointment workflow using robotic process automation and template-based documents
US20210349450A1 (en) * 2020-05-06 2021-11-11 UiPath, Inc. Hierarchical assessment of processes for implementing robotic process automation
US11501549B2 (en) * 2020-05-13 2022-11-15 Accenture Global Solutions Limited Document processing using hybrid rule-based artificial intelligence (AI) mechanisms
US11442964B1 (en) * 2020-07-30 2022-09-13 Tableau Software, LLC Using objects in an object model as database entities

Also Published As

Publication number Publication date
CN114430825A (zh) 2022-05-03
WO2022046142A1 (en) 2022-03-03
US20220066794A1 (en) 2022-03-03
EP4205054A1 (en) 2023-07-05
JP2023538978A (ja) 2023-09-13

Similar Documents

Publication Publication Date Title
US11334465B2 (en) Long running workflows for robotic process automation
US11494291B2 (en) System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA)
US11738453B2 (en) Integration of heterogeneous models into robotic process automation workflows
JP2021064353A (ja) ロボティックプロセスオートメーションを使用するドキュメント処理のための長時間実行ワークフロー
US20210191367A1 (en) System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
US11442837B2 (en) Monitoring long running workflows for robotic process automation
KR102412237B1 (ko) 로봇 프로세스 자동화를 위한 테스트 자동화
JP2022511240A (ja) ロボティックプロセスオートメーションのためのロボットのスケジューリング
JP2023508784A (ja) ロボティックプロセスオートメーションのためのオンデマンドクラウドロボット
CN114586016A (zh) 在机器人流程自动化的确定性工作流中插入概率性模型和监管系统
CN114556391A (zh) 用于机器人流程自动化的基于人工智能层的过程提取
KR20230074651A (ko) Rpa 데이터를 나타내기 위한 기업 프로세스 그래프
US11494713B2 (en) Robotic process automation analytics platform
US20220066794A1 (en) Robotic process automation data connector
CN113168169A (zh) 用于机器人过程自动化的测试自动化
CN114127696A (zh) 用于机器人过程自动化的测试自动化
US20220091908A1 (en) Filter instantiation for process graphs of rpa workflows
US20230101948A1 (en) Generation of rpa platform design components for configuring rpa platforms
US20230102809A1 (en) Preconfigured robots for robotic process automation
US20220191167A1 (en) Organizational modelling for routing rpa related services of an rpa cloud suite
KR20230168611A (ko) 로봇 프로세스 자동화를 위한 오토스케일링 전략