KR20220079833A - 로봇 프로세스 자동화 및 워크플로 미세 최적화를 위한 프로세스 진화 - Google Patents
로봇 프로세스 자동화 및 워크플로 미세 최적화를 위한 프로세스 진화 Download PDFInfo
- Publication number
- KR20220079833A KR20220079833A KR1020227010705A KR20227010705A KR20220079833A KR 20220079833 A KR20220079833 A KR 20220079833A KR 1020227010705 A KR1020227010705 A KR 1020227010705A KR 20227010705 A KR20227010705 A KR 20227010705A KR 20220079833 A KR20220079833 A KR 20220079833A
- Authority
- KR
- South Korea
- Prior art keywords
- rpa
- robot
- computing system
- workflow
- business
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39371—Host and robot controller
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Automation & Control Theory (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Manufacturing & Machinery (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
로봇 프로세스 자동화(RPA) 및 RPA 워크플로우 마이크로 최적화를 위한 프로세스 진화가 개시된다. 초기에, RPA 구현은 잠재적으로 인공 지능(AI)을 사용하여 과학적으로 계획될 수 있다. 임베디드 분석을 사용하여 RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞줘 조정할 수 있다. 그 후 RPA는 로봇의 RPA 워크플로우를 위한 AI를 원활하게 적용, 확장, 관리하는 AI 패브릭을 통해 (예컨대, 머신 학습(ML) 모델의 형태의) AI 기술을 구축함으로써 구현될 수 있다. 이러한 계획, 측정, 및 보고 주기는 비즈니스를 위한 RPA의 효과를 반복적으로 개선하기 위해, 반복되고, 잠재적으로는 보다 더 많은 AI에 의해 유도될 수 있다. RPA 구현은 또한 추정된 투자 수익률(return on investment)(ROI)에 기반하여 식별 및 구현될 수 있다.
Description
본 출원은 2019년 12월 9일에 출원된 미국 임시 특허 출원 제16/708,132호 및 2019년 10월 15일에 출원된 미국 임시 특허 출원 제62/915,442호의 이익을 주장한다. 이들 선행 출원의 발명의 대상은 그 전체가 본원에 참고로 포함된다.
본 발명은 일반적으로 로봇 프로세스 자동화(RPA)에 관한 것으로, 보다 구체적으로는 RPA 및/또는 RPA 워크플로우 마이크로 최적화(workflow micro-optimization)를 위한 프로세스 진화에 관한 것이다.
RPA 자동화의 구현이, 단일 구현예로 계획되고 구현되는 경우, 종종 단편적으로 수행된다. 그러나, 이러한 일관성이 없는 프로세스(disjointed process)는 최적이 아니다. 또한, 로봇이 항상 최적일 수는 없다. 따라서, 개선된 프로세스가 유용할 수 있다.
본 발명의 특정 실시예는 현재 RPA 기술에 의해 아직 완전히 식별, 인식 또는 해결되지 않은 본 기술 분야의 문제 및 요구에 대한 솔루션을 제공할 수 있다. 예를 들어, 본 발명의 일부 실시예는 RPA 및/또는 RPA 워크플로우 마이크로 최적화를 위한 프로세스 진화에 관한 것이다.
일 실시예에서, 컴퓨터 구현 방법은, 컴퓨팅 시스템에 의해, RPA 구현을 위한 계획을 수신하는 단계를 포함한다. 계획은 비즈니스 데이터를 포함한다. 컴퓨터 구현 방법은 또한, 컴퓨팅 시스템에 의해, 계획과 연관된 비즈니스 데이터에 대한 분석을 수행하여, RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞춰 조정하는 단계를 포함한다. 컴퓨터 구현 방법은, 컴퓨팅 시스템에 의해, 분석에 기반하여 자동화를 구현하는 하나 이상의 RPA 워크플로우를 생성하는 단계, 및 컴퓨팅 시스템에 의해, RPA 로봇을 통해 하나 이상의 RPA 워크플로우를 생성 및 구축하는 단계를 더 포함한다.
다른 실시예에서, 컴퓨터 구현 방법은 컴퓨팅 시스템에 의해, RPA 구현을 위한 계획과 연관된 비즈니스 데이터에 대한 분석을 수행하여, RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞춰 조정하는 단계를 포함한다. 컴퓨터 구현 방법은 또한, 컴퓨팅 시스템에 의해, 분석에 기반하여 자동화를 구현하는 하나 이상의 RPA 워크플로우를 생성하는 단계, 및 컴퓨팅 시스템에 의해, RPA 로봇을 통해 하나 이상의 RPA 워크플로우를 생성 및 구축하는 단계를 포함한다.
또 다른 실시예에서, 컴퓨터 구현 방법은, 컴퓨팅 시스템에 의해, 성능 기준에 기반하여 RPA 워크플로우에서의 각 활동을 분석하고 우선 순위를 지정하는 단계를 포함한다. 컴퓨터 구현 방법은 또한, 컴퓨팅 시스템에 의해, RPA 워크플로우에 활동을 추가하거나 RPA 워크플로우에서 활동을 삭제하여, 수정된 RPA 워크플로우를 생성하는 단계, 및 컴퓨팅 시스템에 의해, 수정된 RPA 워크플로우를 구현하는 RPA 로봇을 생성 및 실행하는 단계를 포함한다. 컴퓨터 구현 방법은, 컴퓨팅 시스템에 의해, 생성된 RPA 로봇을 테스팅하여, RPA 로봇이 목표를 달성하고 성능 기준의 개선을 실현하는지 여부를 결정하는 단계를 더 포함한다.
본 발명의 특정의 실시예의 이점이 용이하게 이해될 수 있도록, 첨부된 도면에 예시된 특정 실시예를 참조하여 위에서 간략하게 기술된 본 발명에 대한 보다 구체적인 설명이 제공될 것이다. 이들 도면은 본 발명의 전형적인 실시예만을 도시하고 따라서 그 범위를 제한하는 것으로 간주되어서는 안 된다는 것을 이해해야 하지만, 본 발명은 첨부 도면의 사용을 통해 추가적으로 구체적이고 상세하게 기술되고 설명될 것이다.
도 1은 본 발명의 일 실시예에 따른 RPA 시스템을 예시하는 아키텍처 다이어그램이다.
도 2는 본 발명의 일 실시예에 따라 구축된 RPA 시스템을 예시하는 아키텍처 다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 디자이너, 활동, 드라이버 간의 관계를 예시하는 아키텍처 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 RPA 시스템을 예시하는 아키텍처 다이어그램이다.
도 5는 본 발명의 일 실시예에 따라 RPA를 위한 프로세스 진화를 수행하도록 구성된 컴퓨팅 시스템을 예시하는 아키텍처 다이어그램이다.
도 6은 본 발명의 일 실시예에 따라 RPA 및/또는 RPA 워크플로우 마이크로 최적화를 위한 프로세스 진화를 구현하도록 구성된 시스템을 예시하는 아키텍처 다이어그램이다.
도 7은 본 발명의 일 실시예에 따라 RPA를 위한 프로세스 진화를 구현하기 위한 프로세스를 예시하는 플로우차트이다.
도 8은 본 발명의 일 실시예에 따른 RPA 워크플로우 마이크로 최적화를 수행하기 위한 프로세스를 예시하는 플로우차트이다.
도 1은 본 발명의 일 실시예에 따른 RPA 시스템을 예시하는 아키텍처 다이어그램이다.
도 2는 본 발명의 일 실시예에 따라 구축된 RPA 시스템을 예시하는 아키텍처 다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 디자이너, 활동, 드라이버 간의 관계를 예시하는 아키텍처 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 RPA 시스템을 예시하는 아키텍처 다이어그램이다.
도 5는 본 발명의 일 실시예에 따라 RPA를 위한 프로세스 진화를 수행하도록 구성된 컴퓨팅 시스템을 예시하는 아키텍처 다이어그램이다.
도 6은 본 발명의 일 실시예에 따라 RPA 및/또는 RPA 워크플로우 마이크로 최적화를 위한 프로세스 진화를 구현하도록 구성된 시스템을 예시하는 아키텍처 다이어그램이다.
도 7은 본 발명의 일 실시예에 따라 RPA를 위한 프로세스 진화를 구현하기 위한 프로세스를 예시하는 플로우차트이다.
도 8은 본 발명의 일 실시예에 따른 RPA 워크플로우 마이크로 최적화를 수행하기 위한 프로세스를 예시하는 플로우차트이다.
일부 실시예는 RPA 및/또는 RPA 워크플로우 마이크로 최적화를 위한 프로세스 진화에 관한 것이다. 일반적으로, 자동화를 고려할 경우, 통합 시스템을 고려해야 한다. 이 통합 시스템은 계획 컴포넌트, 측정 컴포넌트, 및 구현 컴포넌트와 같은 여러 컴포넌트를 결합할 수 있다.
초기에, RPA 구현은 잠재적으로 인공 지능(AI)을 사용하여 과학적으로 계획될 수 있다. 임베디드 분석을 사용하여 RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞줘 조정할 수 있다. 그 후 RPA는 로봇의 RPA 워크플로우를 위한 AI를 원활하게 적용, 확장, 관리하는 AI 패브릭을 통해 (예컨대, 머신 학습(ML) 모델의 형태의) AI 기술을 구축함으로써 구현될 수 있다. 이러한 계획, 측정, 및 보고 주기는 비즈니스를 위한 RPA의 효과를 반복적으로 개선하기 위해, 반복되고, 잠재적으로는 보다 더 많은 AI에 의해 유도될 수 있다. RPA 구현은 또한 추정된 투자 수익률(return on investment)(ROI)에 기반하여 식별 및 구현될 수 있다.
일부 실시예에서, 주제 전문가(subject matter expert)(SME)는 특정 프로세스가 실행되는 방법을 표시하고 레코딩할 수 있다. 그 후 SME는 이러한 프로세스에 기반하여 로봇을 생성할 수 있다. 특정 실시예에서, 수신기(예컨대, 사용자 동작과 관련한 데이터를 채굴하는 로봇)는 사용자 컴퓨팅 시스템 상에 구축되어, 컴퓨팅 시스템의 사용자가 어떤 경로를 취하고 있는지, 사용자가 어떤 애플리케이션을 사용하고 있는지, 사용자가 애플리케이션을 어떻게 사용하고 있는지 등을 결정할 수 있다.
일부 실시예에서, 프로세스를 탐색하고 문서화하는 다양한 방법이 있다. 예를 들어, 컴퓨팅 시스템의 사용자는 자동화를 위한 아이디어를 제출할 수 있다. 또 다른 예에서, 사용자는 자동화를 위한 아이디어를 공동으로 구축하거나 기업을 위한 자동화 라이브러리를 공동으로 구축할 수 있다. 개발된 로봇은 다른 사용자에 의해 액세스되고 사용될 수 있는 포트폴리오에 추가될 수 있다. 일부 실시예에서, 로봇은 다른 로봇의 포트폴리오에 액세스할 수 있다.
특정 실시예에서, 사용자가 어떤 프로세스를 자동화하기 원하는지 알고 있다면, 사용자는 이 프로세스를 (예컨대, 자신의 컴퓨팅 시스템을 사용하여 사용자의 비디오를 레코딩함으로써) 레코딩할 수 있다. 그 후 비디오를 분석하여 자동화가 가능한지 여부를 결정할 수 있다. 특정 실시예에서, 사용자는 지도식 문서화 도구를 사용하여 사용 사례를 정의할 수 있으며, 그 후 이 도구는 문서화될 수 있다.
일부 실시예는 프로세스의 마이크로 최적화를 제공한다. 예를 들어 사용자가 20개의 단계로 RPA 로봇을 위한 워크플로우를 구축하지만 실제로는 2개의 단계가 불필요한 사례가 고려된다. 시스템은 하나 이상의 단계를 삭제할 수 있고, 수정된 워크플로우를 구현하는 로봇을 생성하여 워크플로우 중단 여부를 확인할 수 있다. 만약 중단되지 않으면, 수정된 워크플로우를 사용하여 새로운 버전의 로봇을 생성할 수 있고, 그 후 이 로봇은 이전 버전을 대체하도록 구축될 수 있다.
특정 실시예에서, 특정의 단계는 다른 단계보다 우선할 수 있다. 예를 들어, 시스템은 각 단계를 실행하고 및 단계를 제거하는 데 걸리는 시간을 결정하고, 수정된 워크플로우를 최장 완료 시간에서 최단 완료 시간의 순서로 테스팅할 수 있다. 따라서 시스템은 제거될 수 있는 단계를 결정할 수 있고, 또한 총 워크플로우 실행 시간에도 상당한 영향을 미칠 수 있다.
일부 실시예에서, 시스템은 실현된 ROI가 보상 기능(예컨대, 강화 학습을 위한 보상 기능)에 기반하여 개선되는지 여부를 확인하기 위해 단계를 추가 및/또는 제거할 수 있다. 이는 발생되는 수익의 증가, 처리 시간의 감소, 직원 생산성의 개선 등에 의해 결정될 수 있다. 하나 이상의 단계를 추가 및/또는 제거하여 개선이 이루어지면, 수정된 워크플로우를 구현하는 로봇이 생성 및 구축될 수 있다.
도 1은 본 발명의 일 실시예에 따른 RPA 시스템(100)을 예시하는 아키텍처 다이어그램이다. RPA 시스템(100)은 개발자가 워크플로우를 설계하고 구현할 수 있게 하는 디자이너(110)를 포함한다. 디자이너(110)는 제3자 애플리케이션, 관리 정보 기술(IT) 작업, 및 비즈니스 IT 프로세스를 자동화할 뿐만 아니라 애플리케이션 통합을 위한 솔루션을 제공할 수 있다. 디자이너(110)는 비즈니스 프로세스의 그래픽 표현인 자동화 프로젝트의 개발을 가능하게 할 수 있다. 간단히 말해서, 디자이너(110)는 워크플로우 및 로봇의 개발 및 구축을 가능하게 한다.
자동화 프로젝트는, 개발자에게, 본원에서 "활동"으로 정의된, 워크플로우에서 개발된 사용자 지정 단계 세트 간의 실행 순서 및 관계에 대한 제어권을 제공함으로써 규칙 기반 프로세스의 자동화를 가능하게 한다. 디자이너(110)의 일 실시예의 상업적 예는 UiPath Studio™이다. 각 활동은 버튼 클릭, 파일 판독, 로그 패널에 대한 기입 등과 같은 동작을 포함할 수 있다. 일부 실시예에서, 워크플로우는 중첩되거나 내장될 수 있다.
일부 타입의 워크플로우는 시퀀스, 플로우차트, 유한 상태 머신(Finite State Machine)(FSM), 및/또는 전역적 예외 처리기(global exception handler)를 포함할 수 있지만, 이에 제한되지는 않는다. 시퀀스는 워크플로우를 복잡하게 하지 않고 한 활동에서 다른 활동으로의 흐름을 가능하게 하는 선형 프로세스에 특히 적합할 수 있다. 플로우차트는 특히 보다 복잡한 비즈니스 로직에 적합할 수 있으며, 다수의 분기 로직 연산자를 통해 보다 다양한 방식으로 의사결정 및 활동 연결을 통합할 수 있다. FSM은 대규모 워크플로우에 특히 적합할 수 있다. FSM은 조건(즉, 전환) 또는 활동에 의해 트리거되는 유한 개수의 상태를 실행에 사용할 수 있다. 전역 예외 처리기는 실행 오류가 발생할 때 워크플로우 행위를 결정하고 프로세스를 디버깅하는 데 특히 적합할 수 있다.
일단 디자이너(110)에서 워크플로우가 개발되면, 비즈니스 프로세스의 실행은 관리자(conductor)(120)에 의해 조정되고, 관리자(120)는 디자이너(110)에서 개발된 워크플로우를 실행하는 하나 이상의 로봇(130)을 조정한다. 관리자(120)의 일 실시예의 한 상업적 예는 UiPath Orchestrator™이다. 관리자(120)는 환경에서 리소스에 대한 생성, 모니터링, 및 구축의 관리를 가능하게 한다. 관리자(120)는 제3자 솔루션 및 애플리케이션과의 통합 포인트로서 작용할 수 있다.
관리자(120)는 전체 로봇(130)을 관리하여 중앙 집중 포인트로부터의 로봇(130)을 연결하고 실행할 수 있다. 관리될 수 있는 로봇(130)의 타입은 유인 로봇(132), 무인 로봇(134), 개발 로봇(무인 로봇(134)과 유사하지만 개발 및 테스팅 목적으로 사용됨) 및 비생산 로봇(유인 로봇(132)과 유사하지만 개발 및 테스팅 목적으로 사용됨)을 포함하지만, 이에 제한되지는 않는다. 유인 로봇(132)은 사용자 이벤트에 의해 트리거되고, 동일한 컴퓨팅 시스템 상에서 인간과 함께 동작한다. 유인 로봇(132)은 중앙 집중식 프로세스 구축 및 로깅 매체(centralized process deployment and logging medium)를 위해 관리자(120)와 함께 사용될 수 있다. 유인 로봇(132)은 인간 사용자가 다양한 작업을 수행하는 것을 도울 수 있고, 사용자 이벤트에 의해 트리거될 수 있다. 일부 실시예에서, 프로세스는 이러한 타입의 로봇에서 관리자(120)로부터는 시작될 수 없고/없거나 잠금 화면에서는 실행될 수 없다. 특정 실시예에서, 유인 로봇(132)은 로봇 트레이로부터 또는 명령 프롬프트로부터만 시작될 수 있다. 일부 실시예에서 유인 로봇(132)은 인간의 감독 하에 실행되어야 한다.
무인 로봇(134)은 가상 환경에서 무인으로 실행되며, 많은 프로세스를 자동화할 수 있다. 무인 로봇(134)은 원격 실행, 모니터링, 스케줄링, 및 작업 큐에 대한 지원 제공을 담당할 수 있다. 일부 실시예에서 모든 로봇 타입에 대한 디버깅은 디자이너(110)에서 실행될 수 있다. 유인 로봇과 무인 로봇은 모두 메인프레임, 웹 애플리케이션, VM, 기업 애플리케이션(예컨대, SAP®, SalesForce®, Oracle® 등에서 생산된 것), 및 컴퓨팅 시스템 애플리케이션(예컨대, 데스크톱 및 랩톱 애플리케이션, 모바일 디바이스 애플리케이션, 웨어러블 컴퓨터 애플리케이션 등)을 포함하지만 이에 제한되지 않는 다양한 시스템 및 애플리케이션을 자동화할 수 있다.
관리자(120)는 프로비저닝(provisioning), 구축(deployment), 구성(configuration), 큐잉(queueing), 모니터링(monitoring), 로깅(logging), 및/또는 상호 연결성(interconnectivity) 제공을 포함하지만, 이에 제한되지는 않는 다양한 능력을 가질 수 있다. 프로비저닝은 로봇(130)과 관리자(120)(예컨대, 웹 애플리케이션) 간의 연결의 생성 및 유지 관리를 포함할 수 있다. 구축은 실행을 위해 지정된 로봇으로의 패키지 버전의 정확한 전달을 보장하는 것을 포함할 수 있다. 구성은 로봇 환경 및 프로세스 구성의 유지 및 전달을 포함할 수 있다. 큐잉은 큐(queues) 및 큐 아이템(queue items)의 관리를 제공하는 것을 포함할 수 있다. 모니터링은 로봇 식별 데이터를 추적하고 사용자 허가(user permissions)를 유지하는 것을 포함할 수 있다. 로깅은 데이터베이스(예컨대, SQL 데이터베이스) 및/또는 다른 스토리지 메커니즘(예컨대, 대규모 데이터 세트를 저장하고 빠르게 쿼리하는 능력을 제공하는 ElasticSearch®)에 로그를 저장 및 인덱싱하는 것을 포함할 수 있다. 관리자(120)는 제3자 솔루션 및/또는 애플리케이션을 위한 중앙 통신 포인트로서 기능함으로써 상호 연결성을 제공할 수 있다.
로봇(130)은 디자이너(110)에 내장된 워크플로우를 실행하는 실행 에이전트이다. 로봇(들)(130)의 일부 실시예의 한 상업적 예는 UiPath Robots™이다. 일부 실시예에서, 로봇(130)은 Microsoft Windows® 서비스 제어 관리자(SCM) 관리형 서비스를 디폴트로 설치한다. 결과적으로, 이러한 로봇(30)은 로컬 시스템 계정으로 대화형 Windows® 세션을 열 수 있으며, Windows® 서비스의 권한을 가질 수 있다.
일부 실시예에서, 로봇(130)은 사용자 모드로 설치될 수 있다. 이러한 로봇(130)의 경우, 이는 주어진 로봇(130)이 설치된 사용자와 동일한 권한을 갖는다는 것을 의미한다. 이 특징은 또한 고밀도(High Density)(HD) 로봇에도 이용 가능할 수 있으며, 이 로봇은 최대 성능으로 각 머신을 최대로 활용할 수 있다. 일부 실시예에서, 임의의 타입의 로봇(130)은 HD 환경에서 구성될 수 있다.
일부 실시예에서 로봇(130)은 여러 컴포넌트로 분할되고, 각각의 컴포넌트는 특정의 자동화 작업에 전용된다. 일부 실시예에서 로봇 컴포넌트는 SCM 관리형 로봇 서비스, 사용자 모드 로봇 서비스, 실행자, 에이전트, 및 명령줄(command line)을 포함하지만, 이에 제한되지는 않는다. SCM 관리형 로봇 서비스는 Windows® 세션을 관리 및 모니터링하고, 관리자(120)와 실행 호스트(즉, 로봇(130)이 실행되는 컴퓨팅 시스템) 간의 프록시로서 작용한다. 이들 서비스는 로봇(130)에 대한 크리덴셜로 신뢰되고 이를 관리한다. 콘솔 애플리케이션은 로컬 시스템 하의 SCM에 의해 시작된다.
일부 실시예에서 사용자 모드 로봇 서비스는 Windows® 세션을 관리 및 모니터링하며, 관리자(120)와 실행 호스트 간의 프록시로서 작용한다. 사용자 모드 로봇 서비스는 로봇(130)에 대한 크리덴셜로 신뢰될 수 있고 이를 관리할 수 있다. Windows® 애플리케이션은 SCM 관리 로봇 서비스가 설치되지 않은 경우 자동으로 시작될 수 있다.
실행자는 Windows® 세션 하에서 주어진 작업(given jobs)을 실행할 수 있다(즉, 실행자는 워크플로우를 실행할 수 있다). 실행자는 모니터마다의 인치당 도트 수(DPI) 설정을 인지할 수 있다. 에이전트는 시스템 트레이 창에서 이용 가능한 작업을 표시하는 WPF(Windows® Presentation Foundation) 애플리케이션일 수 있다. 에이전트는 서비스의 클라이언트일 수 있다. 에이전트는 작업 시작 또는 중지 및 설정 변경을 요청할 수 있다. 명령줄은 서비스의 클라이언트이다. 명령줄은, 작업 시작을 요청할 수 있고 그 출력을 기다리는 콘솔 애플리케이션이다.
로봇(130)의 컴포넌트를 위에서 설명된 바와 같이 분할하게 되면 개발자, 지원 사용자, 및 컴퓨팅 시스템이 각 컴포넌트가 무엇을 실행하고 있는지를 보다 쉽게 실행, 식별, 및 추적하는 데 도움이 된다. 실행자와 서비스에 대해 서로 다른 방화벽 규칙을 설정하는 등의 방식으로 컴포넌트별로 특수한 행위가 구성될 수 있다. 일부 실시예에서 실행자는 모니터마다의 DPI 설정을 항상 인지할 수 있다. 그 결과, 워크플로우는 워크플로우를 생성한 컴퓨팅 시스템의 구성과는 관계없이 임의의 DPI에서 실행될 수 있다. 일부 실시예에서 디자이너(110)로부터의 프로젝트는 또한 브라우저 줌 레벨과는 독립적일 수 있다. DPI를 인지하지 못하거나 의도적으로 인지하지 못하는 것으로 표시된 애플리케이션의 경우, DPI는 일부 실시예에서 디스에이블될 수 있다.
도 2는 본 발명의 일 실시예에 따라 구축된 RPA 시스템(200)을 예시한 아키텍처 다이어그램이다. 일부 실시예에서, RPA 시스템(200)은 도 1의 RPA 시스템(100)일 수 있거나 그 일부일 수 있다. 주목해야 하는 것은 클라이언트 측, 서버 측, 또는 둘 모두가 본 발명의 범위를 벗어나지 않은 임의의 원하는 수의 컴퓨팅 시스템을 포함할 수 있다는 것이다. 클라이언트 측에서, 로봇 애플리케이션(210)은 실행자(212), 에이전트(214), 및 디자이너(216)를 포함한다. 그러나, 일부 실시예에서, 디자이너(216)는 컴퓨팅 시스템(210) 상에서 실행되지 않을 수 있다. 실행자(212)는 프로세스를 실행하고 있다. 도 2에 도시된 바와 같이, 여러 개의 비즈니스 프로젝트가 동시에 실행될 수 있다. 에이전트(214)(예컨대, Windows® 서비스)는 이 실시예에서 모든 실행자(212)에 대한 단일 연락 포인트가 된다. 이 실시예의 모든 메시지는 관리자(230) 내에 로그(log)되며, 관리자(230)는 이들을 데이터베이스 서버(240), 인덱서 서버(250), 또는 둘 모두를 통해 추가로 처리한다. 도 1과 관련하여 위에서 논의된 바와 같이, 실행자(212)는 로봇 컴포넌트일 수 있다.
일부 실시예에서, 로봇은 머신 이름과 사용자 이름 간의 연관성을 나타낸다. 로봇은 다수의 실행자를 동시에 관리할 수 있다. 동시에 실행되는 다수의 대화형 세션을 지원하는 컴퓨팅 시스템(예컨대, Windows® Server 2012) 상에서는, 각각이 별도의 Windows® 세션에서 고유한 사용자 이름을 사용하는 다수의 로봇이 동시에 실행될 수 있다. 이것은 위의 HD 로봇이라고 지칭된다.
에이전트(214)는 또한 로봇의 상태를 전송하고(예컨대, 로봇이 여전히 기능하고 있음을 나타내는 "하트비트" 메시지를 주기적으로 전송하고), 실행될 필수 버전의 패키지를 다운로딩하는 것을 담당한다. 에이전트(214)와 관리자(230) 간의 통신은 일부 실시예에서 항상 에이전트(214)에 의해 개시된다. 통지 시나리오에서, 에이전트(214)는 로봇에 명령(예컨대, 시작, 중지 등)을 전송하기 위해 나중에 관리자(230)에 의해 사용되는 WebSocket 채널을 열 수 있다.
서버 측에는 프리젠테이션 계층(웹 애플리케이션(232), 오픈 데이터 프로토콜(Open Data Protocol)(OData) 대표 상태 전송(Representative State Transfer)(REST) 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)(API) 엔드포인트(234), 및 통지 및 모니터링(236)), 서비스 계층(API 구현/비즈니스 로직(238)), 및 지속 계층(데이터베이스 서버(240) 및 인덱서 서버(250))이 포함된다. 관리자(230)는 웹 애플리케이션(232), OData REST API 엔드포인트(234), 통지 및 모니터링(236), 및 API 구현/비즈니스 로직(238)을 포함한다. 일부 실시예에서, 사용자가 관리자(230)의 인터페이스에서 (예컨대, 브라우저(220)를 통해) 수행하는 대부분의 동작은 다양한 API를 호출함으로써 수행된다. 이러한 동작은 본 발명의 범위를 벗어나지 않고, 로봇 상에서 작업을 시작하는 것, 큐에 데이터를 추가/제거하는 것, 무인으로 실행하도록 작업을 스케줄링하는 것 등을 포함할 수 있지만, 이에 제한되지는 않는다. 웹 애플리케이션(232)은 서버 플랫폼의 시각적 계층이다. 이 실시예에서, 웹 애플리케이션(232)은 하이퍼텍스트 마크업 언어(Hypertext Markup Language)(HTML) 및 자바스크립트(JavaScript)(JS)를 사용한다. 그러나, 임의의 원하는 마크업 언어, 스크립트 언어, 또는 임의의 다른 포맷이 본 발명의 범위를 벗어나지 않고 사용될 수 있다. 사용자는 이 실시예에서 브라우저(220)를 통해 웹 애플리케이션(232)의 웹 페이지와 상호작용하여, 관리자(230)를 제어하기 위한 다양한 동작을 수행한다. 예를 들어, 사용자는 로봇 그룹을 생성하고, 로봇에 패키지를 할당하고, 로봇마다의 및/또는 프로세스마다의 로그를 분석하고, 로봇을 시작 및 중지하는 등의 작업을 수행할 수 있다.
웹 애플리케이션(232) 외에도, 관리자(230)는 또한 OData REST API 엔드포인트(234)를 노출하는 서비스 계층을 포함한다. 그러나, 본 발명의 범위를 벗어나지 않고 다른 엔드포인트가 포함될 수 있다. REST API는 웹 애플리케이션(232)과 에이전트(214) 모두에서 사용된다. 에이전트(214)는 이 실시예에서 클라이언트 컴퓨터 상의 하나 이상의 로봇의 감독자이다.
이 실시예에서 REST API는 구성, 로깅, 모니터링, 및 큐잉 기능을 포함하고 있다. 구성 엔드포인트는 일부 실시예에서 애플리케이션 사용자, 허가, 로봇, 자산, 릴리스, 및 환경을 정의하고 구성하는 데 사용될 수 있다. 로깅 REST 엔드포인트는, 예를 들어, 오류, 로봇이 전송한 명시적 메시지, 및 기타 환경별 정보와 같은 다양한 정보를 로깅하는 데 사용될 수 있다. 구축 REST 엔드포인트는, 작업 시작 명령이 관리자(230)에서 사용되는 경우 실행되어야 하는 패키지 버전을 쿼리하기 위해 로봇에 의해 사용될 수 있다. 큐잉 REST 엔드포인트는 큐 및 큐 항목 관리, 예를 들어, 큐에 데이터를 추가하는 것, 큐로부터 트랜잭션을 획득하는 것, 트랜잭션의 상태를 설정하는 것 등을 담당할 수 있다.
모니터링 REST 엔드포인트는 웹 애플리케이션(232) 및 에이전트(214)를 모니터링할 수 있다. 통지 및 모니터링 API(236)는, 에이전트(214)를 등록하고, 구성 설정을 에이전트(214)에 전달하고, 그리고 서버 및 에이전트(214)로부터 통지를 전송/수신하는 데 사용되는 REST 엔드포인트일 수 있다. 통지 및 모니터링 API(236)는 또한 일부 실시예에서 WebSocket 통신을 사용할 수 있다.
지속 계층은 이 실시예에서 한 쌍의 서버, 즉 데이터베이스 서버(240)(예컨대, SQL 서버) 및 인덱서 서버(250)를 포함한다. 이 실시예에서 데이터베이스 서버(240)는 로봇, 로봇 그룹, 관련 프로세스, 사용자, 역할, 스케줄 등의 구성을 저장한다. 이러한 정보는 일부 실시예에서 웹 애플리케이션(232)을 통해 관리된다. 데이터베이스 서버(240)는 큐 및 큐 항목을 관리할 수 있다. 일부 실시예에서, 데이터베이스 서버(240)는 (인덱서 서버(250)에 추가로 또는 이를 대신하여) 로봇에 의해 로깅된 메시지를 저장할 수 있다.
일부 실시예에서 선택적인 인덱서 서버(250)는 로봇에 의해 로깅된 정보를 저장하고 인덱싱한다. 특정 실시예에서, 인덱서 서버(250)는 구성 설정을 통해 디스에이블될 수 있다. 일부 실시예에서, 인덱서 서버(250)는 오픈 소스 프로젝트 전체 텍스트 검색 엔진인 ElasticSearch®를 사용한다. 로봇에 의해 (예컨대, 로그 메시지 또는 기입 라인과 같은 활동을 사용하여) 로깅된 메시지는 로깅 REST 엔드포인트(들)를 통해 인덱서 서버(250)로 전송될 수 있으며, 여기서 메시지는 향후 활용을 위해 인덱싱된다.
도 3은 본 발명의 일 실시예에 따른 디자이너(310), 활동(320, 330), 및 드라이버(340) 사이의 관계(300)를 예시하는 아키텍처 다이어그램이다. 위의 내용에 따라 개발자는 디자이너(310)를 사용하여 로봇에 의해 실행되는 워크플로우를 개발한다. 워크플로우는 사용자 정의된 활동(320) 및 UI 자동화 활동(330)을 포함할 수 있다. 일부 실시예는 본원에서 컴퓨터 비전(CV)이라고 지칭되는 이미지의 비텍스트 시각적 컴포넌트를 식별할 수 있다. 이러한 컴포넌트와 관련된 일부 CV 활동은 클릭, 타입, 텍스트 입수, 호버, 요소 존재, 리프레시 범위, 강조 표시 등을 포함할 수 있지만, 이에 제한되지는 않는다. 일부 실시예에서 클릭은, 예를 들어, CV, 광학 문자 인식(OCR), 퍼지 텍스트 매칭, 및 멀티 앵커를 사용하여 요소를 식별하고, 이를 클릭한다. 타입은 위의 내용을 사용하여 요소를 식별하고 요소 내의 타입을 식별할 수 있다. 텍스트 입수는 특정 텍스트의 위치를 식별하고 이를 OCR을 사용하여 스캔할 수 있다. 호버는 요소를 식별하고 그 위로 호버링할 수 있다. 요소 존재는 앞서 설명된 기법을 사용하여 화면 상에 요소가 존재하는지 여부를 확인할 수 있다. 일부 실시예에서, 디자이너(310)에서 구현될 수 있는 수백 또는 심지어는 수천 개의 활동이 있을 수 있다. 그러나, 본 발명의 범위를 벗어나지 않은 임의의 수 및/또는 타입의 활동이 이용 가능할 수 있다.
UI 자동화 활동(330)은, 하위 레벨 코드(예컨대, CV 활동)로 작성되고 화면과의 상호작용을 가능하게 하는 특별한 하위 레벨 활동의 서브 세트이다. UI 자동화 활동(330)은, 로봇이 원하는 소프트웨어와 상호작용할 수 있게 하는 드라이버(340)를 통해 이러한 상호작용을 가능하게 한다. 예를 들어, 드라이버(340)는 OS 드라이버(342), 브라우저 드라이버(344), VM 드라이버(346), 기업 애플리케이션 드라이버(348) 등을 포함할 수 있다.
드라이버(340)는 OS와 로우 레벨에서 상호작용하여, 후크를 찾고, 키를 모니터링하는 등을 수행할 수 있다. 이들 드라이버는 Chrome®, IE®, Citrix®, SAP® 등과의 통합을 가능하게 할 수 있다. 예를 들어, "클릭" 활동은 드라이버(340)를 통해 이러한 서로 다른 애플리케이션에서 동일한 역할을 수행한다.
도 4는 본 발명의 일 실시예에 따른 RPA 시스템(400)을 예시하는 아키텍처 다이어그램이다. 일부 실시예에서, RPA 시스템(400)은 도 1 및/또는 도 2의 RPA 시스템(100 및/또는 200)일 수 있거나 이를 포함할 수 있다. RPA 시스템(400)은 로봇을 실행하는 다수의 클라이언트 컴퓨팅 시스템(410)을 포함한다. 컴퓨팅 시스템(410)은 컴퓨팅 시스템(410) 상에서 실행되는 웹 애플리케이션을 통해 관리자 컴퓨팅 시스템(420)과 통신할 수 있다. 관리자 컴퓨팅 시스템(420)은 차례로 데이터베이스 서버(430) 및 선택적인 인덱서 서버(440)와 통신할 수 있다.
도 1 및 도 3과 관련하여, 주목해야 하는 것은 이들 실시예에서 웹 애플리케이션이 사용되지만, 본 발명의 범위를 벗어나지 않은 임의의 적합한 클라이언트/서버 소프트웨어가 사용될 수 있다는 것이다. 예를 들어, 관리자는 클라이언트 컴퓨팅 시스템 상에서 웹 기반이 아닌 클라이언트 소프트웨어 애플리케이션과 통신하는 서버 측 애플리케이션을 실행할 수 있다.
도 5는 본 발명의 일 실시예에 따라 RPA를 위한 프로세스 진화를 수행하도록 구성된 컴퓨팅 시스템(500)을 예시하는 아키텍처 다이어그램이다. 일부 실시예에서, 컴퓨팅 시스템(500)은 본원에 도시 및/또는 기술된 컴퓨팅 시스템 중 하나 이상일 수 있다. 컴퓨팅 시스템(500)은 정보를 통신하기 위한 버스(505) 또는 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(505)에 연결된 프로세서(들)(510)를 포함한다. 프로세서(들)(510)는 중앙 처리 유닛(CPU), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 그래픽 처리 유닛(GPU), 이들의 다수의 인스턴스, 및/또는 이들의 임의의 조합을 포함하는 임의의 타입의 범용 또는 특정 목적 프로세서일 수 있다. 프로세서(들)(510)는 또한 다수의 처리 코어를 가질 수 있고, 이들 코어 중 적어도 일부는 특정 기능을 수행하도록 구성될 수 있다. 일부 실시예에서는 다중 병렬 처리가 사용될 수 있다. 특정 실시예에서, 적어도 하나의 프로세서(들)(510)는 생물학적 뉴런을 모방하는 처리 요소를 포함하는 뉴로모픽 회로(neuromorphic circuit)일 수 있다. 일부 실시예에서, 뉴로모픽 회로는 폰 노이만(Von Neumann) 컴퓨팅 아키텍처의 전형적인 컴포넌트를 필요로 하지 않을 수 있다.
컴퓨팅 시스템(500)은 프로세서(들)(510)에 의해 실행될 정보 및 인스트럭션을 저장하기 위한 메모리(515)를 더 포함한다. 메모리(515)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 캐시, 정적 스토리지, 예컨대, 자기 또는 광 디스크, 또는 임의의 다른 타입의 비일시적 컴퓨터 판독 가능 매체 또는 그 조합 중 임의의 조합으로 구성될 수 있다. 비일시적 컴퓨터 판독 가능 매체는 프로세서(들)(510)에 의해 액세스될 수 있는 임의의 이용 가능 매체일 수 있고, 휘발성 매체, 비휘발성 매체 등을 포함할 수 있다. 이러한 매체는 또한 착탈식, 비착탈식, 또는 둘 모두일 수 있다.
추가적으로, 컴퓨팅 시스템(500)은 무선 및/또는 유선 연결을 통해 통신 네트워크에 대한 액세스를 제공하기 위한, 트랜시버와 같은 통신 디바이스(520)를 포함한다. 일부 실시예에서, 통신 디바이스(520)는 주파수 분할 다중 액세스(FDMA), 단일 캐리어 FDMA (SC-FDMA), 시분할 다중 액세스(TDMA), 코드 분할 다중 액세스(CDMA), 직교 주파수 분할 다중화(OFDM), 직교 주파수 분할 다중 액세스(OFDMA), GSM (Global System for Mobile) 통신, GPRS (General Packet Radio Service), UMTS (Universal Mobile Telecommunications System), cdma2000, 광대역 CDMA (W-CDMA), 고속 다운링크 패킷 액세스(HSDPA), 고속 업링크 패킷 액세스(HSUPA), 고속 패킷 액세스(HSPA), 롱텀에볼루션(LTE), LTE Advanced (LTE-A), 802.11x, Wi-Fi, Zigbee, UWB (Ultra-WideBand), 802.16x, 802.15, 홈 노드 B (HnB), 블루투스(Bluetooth), 무선 주파수 식별(RFID), 적외선 데이터 연결(IrDA), 근거리 통신(NFC), 5 세대(5G), 새로운 라디오(NR), 이들의 임의의 조합, 및/또는 본 발명의 범위를 벗어나지 않은 임의의 다른 현재 존재하거나 미래에 구현되는 통신 표준 및/또는 프로토콜을 사용하도록 구성될 수 있다. 일부 실시예에서, 통신 디바이스(520)는 단일, 어레이, 위상, 스위칭, 빔포밍, 빔스티어링, 이들의 조합, 및/또는 본 발명의 범위를 벗어나지 않은 임의의 다른 안테나 구성인 하나 이상의 안테나를 포함할 수 있다.
프로세서(들)(510)는 버스(505)를 통해 디스플레이(525), 예를 들어, 플라즈마 디스플레이, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 전계 방출 디스플레이(FED), 유기 발광 다이오드(OLED) 디스플레이, 플렉서블 OLED 디스플레이, 플렉서블 기판 디스플레이, 프로젝션 디스플레이, 4K 디스플레이, 고선명 디스플레이, 레티나® 디스플레이, IPS(In-Plane Switching) 디스플레이, 또는 사용자에게 정보를 표시하기 위한 임의의 다른 적합한 디스플레이에 추가로 연결된다. 디스플레이(525)는 저항성, 용량성, 표면 음향파(surface-acoustic wave)(SAW) 용량성, 적외선, 광학 이미징, 분산 신호 기술, 음향 펄스 인식, 좌절형 내부 전반사(frustrated total internal reflection) 등을 사용하여, 터치(햅틱) 디스플레이, 3차원(3D) 터치 디스플레이, 멀티 입력 터치 디스플레이, 멀티 터치 디스플레이 등으로서 구성될 수 있다. 본 발명의 범위를 벗어나지 않은 임의의 적합한 디스플레이 디바이스 및 햅틱 I/O가 사용될 수 있다.
키보드(530) 및 커서 제어 디바이스(535), 예를 들어, 컴퓨터 마우스, 터치패드 등은 사용자가 컴퓨팅 시스템과 인터페이스할 수 있도록 버스(505)에 추가로 연결된다. 그러나, 특정 실시예에서, 물리적 키보드 및 마우스가 존재하지 않을 수 있고, 사용자는 디스플레이(525) 및/또는 터치패드(도시되지 않음)를 통해서만 디바이스와 상호작용할 수 있다. 입력 디바이스의 임의의 타입 및 조합을 설계 선택 사항으로 사용할 수 있다. 특정 실시예에서, 물리적 입력 디바이스 및/또는 디스플레이가 존재하지 않는다. 예를 들어, 사용자는 통신 상태에 있는 다른 컴퓨팅 시스템을 통해 컴퓨팅 시스템(500)과 원격으로 상호작용할 수 있거나, 컴퓨팅 시스템(500)은 자율적으로 동작할 수 있다.
메모리(515)는 프로세서(들)(510)에 의해 실행될 때 기능을 제공하는 소프트웨어 모듈을 저장한다. 모듈은 컴퓨팅 시스템(500)을 위한 운영 체제(540)를 포함한다. 모듈은 본원에 기술된 프로세스 또는 그 파생물의 전체 또는 일부를 수행하도록 구성된 프로세스 자동화 모듈(545)을 더 포함한다. 컴퓨팅 시스템(500)은 추가 기능을 포함하는 하나 이상의 추가 기능 모듈(550)을 포함할 수 있다.
본 기술 분야의 기술자는 "시스템"이 서버, 임베디드 컴퓨팅 시스템, 퍼스널 컴퓨터, 콘솔, 개인 휴대 정보 단말기(PDA), 셀폰, 태블릿 컴퓨팅 디바이스, 양자 컴퓨팅 시스템, 또는 임의의 다른 적합한 컴퓨팅 디바이스, 또는 본 발명의 범위를 벗어나지 않은 디바이스의 조합으로서 구현될 수 있다는 것을 이해할 것이다. 전술한 기능을 "시스템"에 의해 수행되는 것으로 제시하는 것은 어떤 식으로든 본 발명의 범위를 제한하도록 의도되지 않고, 본 발명의 많은 실시예의 하나의 예를 제공하도록 의도된다. 실제로, 본원에 개시된 방법, 시스템, 및 장치는 클라우드 컴퓨팅 시스템을 포함하는 컴퓨팅 기술을 따르는 로컬화된 형태 및 분산된 형태로 구현될 수 있다.
주목해야 하는 것은 본 명세서에 기술된 시스템 기능 중 일부가 구현 독립성을 보다 구체적으로 강조하기 위해 모듈로 제시되었다는 것이다. 예를 들어, 모듈은 주문형 초대규모 집적(very-large scale integration)(VLSI) 회로 또는 게이트 어레이, 기성품 반도체, 예를 들어, 로직 칩, 트랜지스터, 또는 다른 개별 컴포넌트를 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한 프로그래머블 하드웨어 디바이스, 예를 들어, 필드 프로그래머블 게이트 어레이, 프로그래머블 어레이 로직, 프로그래머블 로직 디바이스, 그래픽 처리 유닛 등으로 구현될 수 있다.
모듈은 또한 다양한 타입의 프로세서에 의한 실행을 위해 소프트웨어로 적어도 부분적으로 구현될 수 있다. 식별된 실행 가능 코드의 유닛은, 예를 들어, 객체, 절차, 또는 기능으로 조직화될 수 하나 이상의 물리적 또는 논리적 블록의 컴퓨터 인스트럭션을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행 가능 파일은 물리적으로 함께 위치될 필요는 없지만, 논리적으로 함께 결합될 때 모듈을 포함하고, 그 모듈에 대한 명시된 목적을 달성하는 서로 다른 위치에 저장된 서로 다른 인스트럭션을 포함할 수 있다. 또한, 모듈은 컴퓨터 판독 가능 매체 상에 저장될 수 있으며, 이러한 컴퓨터 판독 가능 매체는, 예를 들어, 하드 디스크 드라이브, 플래시 디바이스, RAM, 테이프, 및/또는 본 발명의 범위를 벗어나지 않고 데이터를 저장하는 데 사용되는 임의의 다른 비일시적 컴퓨터 판독 가능 매체일 수 있다.
실제로, 실행 가능 코드의 모듈은 단일 인스트럭션 또는 다수의 인스트럭션일 수 있고, 심지어는 여러 개의 서로 다른 코드 세그먼트에, 서로 다른 프로그램 사이에, 그리고 여러 개의 메모리 디바이스에 걸쳐 분산될 수도 있다. 유사하게, 동작 데이터는 본원에서 모듈들 내에서 식별되고 도시될 수 있으며, 임의의 적합한 형태로 구현될 수 있고 임의의 적합한 타입의 데이터 구조 내에 조직화될 수 있다. 동작 데이터는 단일 데이터 세트로서 수집될 수 있거나, 서로 다른 저장 디바이스 위에 분산되는 것을 포함하여 서로 다른 위치에 분산될 수 있으며, 적어도 부분적으로는 시스템 또는 네트워크 상에서 단지 전자 신호로서만 존재할 수 있다.
도 6은 본 발명의 일 실시예에 따라 RPA 및/또는 RPA 워크플로우 마이크로 최적화를 위한 프로세스 진화를 구현하도록 구성된 시스템(600)을 예시하는 아키텍처 다이어그램이다. 시스템(600)은 데스크톱 컴퓨터(602), 태블릿(604), 및 스마트폰(606)과 같은 사용자 컴퓨팅 시스템을 포함한다. 그러나, 스마트 시계, 랩톱 컴퓨터, 사물 인터넷(IoT) 디바이스, 차량 컴퓨팅 시스템 등을 포함하지만, 이에 제한되지 않는 임의의 원하는 컴퓨팅 시스템이 본 발명의 범위를 벗어나지 않고 사용될 수 있다.
각 컴퓨팅 시스템(602, 604, 606)은 해당 컴퓨팅 시스템 상에 설치된 수신기(listener)(610)를 갖는다. 수신기(610)는 RPA 디자이너 애플리케이션, 운영 체제의 일부, 퍼스널 컴퓨터(PC) 또는 스마트폰을 위한 다운로딩 가능한 애플리케이션, 또는 본 발명의 범위를 벗어나지 않은 임의의 다른 소프트웨어 및/또는 하드웨어를 통해 생성된 로봇일 수 있다. 실제로, 일부 실시예에서, 하나 이상의 수신기(610)의 로직은 부분적으로 또는 완전히 물리적 하드웨어를 통해 구현된다.
수신기(610)는 각각의 컴퓨팅 시스템(602, 604, 606)과의 사용자 상호작용의 로그 및/또는 해당 컴퓨팅 시스템 상에서 실행되는 로봇의 동작에 관한 로그 데이터를 생성한다. 그 후 수신기(610)는 로그 데이터를 네트워크(620)(예컨대, 근거리 통신망(LAN), 모바일 통신 네트워크, 위성 통신 네트워크, 인터넷, 이들의 임의의 조합 등)를 통해 서버(630)로 전송한다. 로깅되는 데이터는 어떤 버튼을 클릭했는지, 마우스를 어디에 이동했는지, 필드에 입력한 텍스트, 하나의 창은 최소화되고 다른 창은 열려 있다는 것, 창과 연관된 애플리케이션 등을 포함할 수 있지만, 이에 제한되지 않는다. 일부 실시예에서, 서버(630)는 관리자 애플리케이션을 실행할 수 있고, 데이터는 하트비트 메시지의 일부로서 주기적으로 전송될 수 있다. 특정 실시예에서, 로그 데이터는, 미리 결정된 양의 로그 데이터가 수집되면, 미리 결정된 시간 기간이 경과한 후, 또는 둘 모두인 경우, 서버(630)로 전송될 수 있다. 서버(630)는 수신기(610)로부터 수신된 로그 데이터를 데이터베이스(640)에 저장한다.
인간 사용자(예컨대, RPA 엔지니어 또는 데이터 과학자)의 지시가 있는 경우, 미리 결정된 양의 로그 데이터가 수집된 경우, 최종 분석 이후 미리 결정된 양의 시간이 경과한 등의 경우, 서버(630)는 데이터베이스(640)로부터 다양한 사용자로부터 수신기(610)에 의해 수집된 로그 데이터에 액세스하고, 다수의 AI 계층(632)을 통해 로그 데이터를 실행한다. AI 계층(632)은 로그 데이터를 처리하고 그 내부의 ROI 개선을 위한 하나 이상의 잠재적 프로세스를 식별하거나, 기존 프로세스에 대한 개선을 식별하거나, 둘 모두를 수행한다. AI 계층(632)은 통계적 모델링(예컨대, 은닉 마르코프 모델(hidden Markov model)(HMM))을 수행하고, 심층 학습 기법(예컨대, 장단기 메모리(long short term memory)(LSTM) 심층 학습, 이전 은닉 상태의 인코딩 등)을 활용하고, 그리고 사례 식별을 수행하여 프로세스의 원자적 인스턴스를 식별할 수 있다. 예를 들어, 인보이스 처리의 경우, 하나의 인보이스의 완료가 사례일 수 있다. 따라서 시스템은 하나의 사례가 끝나는 곳과 다음 사례가 시작되는 곳을 결정한다. 예를 들어, 이메일을 여는 것이 사례의 시작일 수 있고, 사례의 패턴을 분석하여 변형과 공통점을 결정할 수 있다.
유사한 프로세스가 이미 존재하는 경우, 서버(630)는 이 유사성을 식별할 수 있고, 식별된 프로세스가 덜 최적으로 동작하는 동일하거나 유사한 자동화를 위한 기존 프로세스를 대체해야 한다는 것을 알 수 있다. 예를 들어, 프로세스 간의 유사성은 공통 시작 및 종료와, 그 사이에서 취한 단계에서 일정 양의 통계적 공통성에 의해 결정될 수 있다. 공통성은 엔트로피, 프로세스 검출 목적 함수의 최소화 등에 의해 결정될 수 있다. 목적 함수 임계치는 일부 실시예에서 자동으로 설정될 수 있으며, 이는, 시스템에 의해 유사하지 않은 것으로 식별된 프로세스가 사용자에 의해 유사한 것으로 표시되는 경우, 트레이닝 중에 수정될 수 있다. 그 후 서버(630)는 식별된 프로세스를 포함하는 워크플로우를 자동으로 생성하고, 워크플로우를 구현하는 로봇(또는 대체 로봇)을 생성하고, 그리고 생성된 로봇을 사용자 컴퓨팅 시스템(602, 604, 606)으로 푸시 아웃하여 그러한 컴퓨팅 시스템 상에서 실행되도록 할 수 있다.
대안적으로, 특정 실시예에서, AI 계층(632)으로부터 제안된 프로세스는 컴퓨팅 시스템(650) 상의 디자이너 애플리케이션(652)을 통해 RPA 엔지니어에게 제시될 수 있다. 그 후 RPA 엔지니어는 워크플로우를 검토하고, 임의의 원하는 변경을 수행한 다음, 로봇을 통해 워크플로우를 컴퓨팅 시스템(602, 604, 606)에 구축하거나 로봇이 구축되도록 할 수 있다. 예를 들어, 구축은 서버(630) 또는 다른 서버 상에서 실행되는 관리자 애플리케이션을 통해 발생할 수 있으며, 이러한 서버는 프로세스를 구현하는 로봇을 사용자 컴퓨팅 시스템(602, 604, 606)으로 푸시 아웃할 수 있다. 일부 실시예에서, 이러한 워크플로우 구축은 디자이너 애플리케이션의 자동화 관리자 기능을 통해 실현될 수 있고, RPA 엔지니어는 단순히 버튼을 클릭하여 로봇에 프로세스를 구현할 수 있다.
수신기
컴퓨팅 시스템(602, 604, 606) 상에서 사용자가 취한 동작에 관한 데이터를 추출하기 위해, 수신기(610)는 드라이버 레벨(예컨대, 도 3의 드라이버(340))의 클라이언트 측에서 사용되어, 화이트리스트 애플리케이션(whitelisted application)으로부터 데이터를 추출할 수 있다. 예를 들어, 수신기(610)는 사용자가 화면 상에서 클릭한 위치, 어떤 애플리케이션에서의 키스트로크인지, 어떤 버튼이 클릭되었는지, 애플리케이션 간에 전환하는 사용자의 인스턴스, 포커스 변경, 이메일이 전송된 위치, 및 이메일이 관련된 것 등을 레코딩할 수 있다. 추가적으로 또는 대안적으로, 수신기(610)는 컴퓨팅 시스템(602, 604, 606) 상에서 동작하는 로봇에 관한 데이터를 수집할 수 있다. 일부 실시예에서, 워크플로우를 구현하는 다양한 작업을 수행하는 로봇은 자신의 자체 동작을 위한 수신기로서 역할을 할 수 있다. 그러한 데이터는 컴퓨팅 시스템(602, 604, 606)과의 사용자의 상호작용 및/또는 컴퓨팅 시스템 상에서 실행되는 로봇의 동작(들)에 대한 고충실도 로그를 생성하는 데 사용될 수 있다.
프로세스 추출을 위한 로그 데이터를 생성하는 것 외에도 또는 이에 대한 대안으로, 일부 실시예는 사용자가 실제로 무엇을 하고 있는지에 대한 통찰력을 제공할 수 있다. 예를 들어, 수신기(610)는 사용자가 실제로 어떤 애플리케이션을 사용하고 있는지, 사용자가 주어진 애플리케이션에 대해 어떠한 백분율의 시간을 사용하는지, 사용자가 애플리케이션 내에서 사용 중인 기능 및 사용자가 사용하지 않는 기능 등을 결정할 수 있다. 이 정보는 관리자에 제공되어, 애플리케이션에 대한 라이센스를 갱신할지 여부, 기능에 대한 라이센스를 갱신하지 않을지 또는 해당 기능이 없는 더 저렴한 버전으로 다운그레이드할지 여부, 사용자가 다른 직원을 보다 생산적이게 만들어 사용자가 적절히 트레이닝될 수 있도록 하는 경향이 있는 애플리케이션을 사용하지 않는지 여부, 사용자가 업무 외 활동(예컨대, 개인 이메일 확인 또는 웹 서핑)을 수행하는 데 많은 시간을 보내는지 또는 자신의 책상에서 떨어져 있는지(예컨대, 컴퓨팅 시스템과 상호 작용하지 않는지) 여부와 관련하여 정보에 입각한 결정을 내릴 수 있다.
일부 실시예에서, 검출 업데이트를 수신기에 푸시하여, 드라이버 레벨 사용자 상호작용 및/또는 로봇 동작 검출 및 캡처 프로세스를 개선할 수 있다. 특정 실시예에서, 수신기(610)는 검출에 AI를 활용할 수 있다. 특정 실시예에서, 자동화 워크플로우로부터의 프로세스를 구현하는 로봇은 각각의 수신기(610)를 통해 컴퓨팅 시스템(602, 604, 606)에 자동으로 푸시될 수 있다.
도 7은 본 발명의 일 실시예에 따라 RPA를 위한 프로세스 진화를 구현하기 위한 프로세스를 예시하는 플로우차트(700)이다. 프로세스는 710에서 RPA 구현을 위한 계획을 수신하는 것으로 시작된다. 이러한 계획은, 컴퓨팅 시스템과의 직원 상호작용, 재무 정보, 로봇 동작 및/또는 워크플로우 단계를 수행하는 데 걸리는 시간 등을 포함할 수 있지만, 이에 제한되지 않는 비즈니스 데이터를 포함한다. 일부 실시예에서, 이러한 계획은 AI를 사용하여 로봇이 수집한 데이터로부터 자동으로 식별되는 프로세스로부터 도출될 수 있다. 그 후 720에서 비즈니스 데이터에 대해 분석을 수행하여, RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞춰 조정한다. 예를 들어, 분석을 활용하여, 직원 및/또는 로봇에 의해 발생되는 수익, 로봇이 워크플로우 동작을 수행하는 데 걸리는 시간, 직원이 비즈니스 프로세스를 완료하는 데 걸리는 시간 등을 결정할 수 있다.
그 후 730에서 원하는 자동화를 구현하는 RPA 워크플로우를 생성하고, 이는 740에서 RPA 로봇의 형태로 구축된다. 일부 실시예에서, RPA 로봇은 AI 패브릭을 통해 AI 기술에 액세스할 수 있다. 구현 후, 750에서 비즈니스 컴퓨팅 시스템으로부터 데이터를 수집 및 분석하고, 760에서 ML 모델을 통해 잠재적 자동화를 위한 새로운 프로세스를 자동으로 식별하고 제안한다. 그 후 프로세스를 반복적으로 되풀이하여 기업에서의 RPA 효과를 증가시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 RPA 워크플로우 마이크로 최적화를 수행하기 위한 프로세스(800)를 예시하는 플로우차트이다. 프로세스는 810에서 성능 기준에 기반하여 RPA 워크플로우 내의 각 활동을 분석하고 우선 순위를 지정하는 것으로 시작(또는 도 7로부터 진행)한다. 성능 기준은 처리 속도, 발생된 수익, 직원 생산성(예컨대, 속도) 등을 포함할 수 있지만, 이에 제한되지는 않는다. 820에서 RPA 워크플로우에 활동을 추가하거나 RPA 워크플로우로부터 활동을 제거하여, 수정된 RPA 워크플로우를 생성한다. 일부 실시예에서, 추가할 활동은 워크플로우가 달성하도록 의도된 목표의 타입(예컨대, 송장 처리, 리드 생성 지원, 직원이 취한 동작 자동화 등)에 의해 분류된 활동의 풀에서 선택될 수 있다. 그 후 830에서 수정된 RPA 워크플로우를 구현하는 RPA 로봇을 생성 및 실행한다.
그 후 840에서 생성된 RPA 로봇을 테스팅하여, 로봇이 목표를 달성하고 성능 기준의 개선을 실현하는지 여부를 확인한다. 850에서, RPA 로봇이 목표를 달성하지 못하거나, 성능 기준의 개선을 실현하지 못하거나, 둘 모두인 경우, 시스템은 수정 전에 원래 RPA 워크플로우로 되돌아가고, 단계 820으로 돌아가서 다른 활동을 추가하거나 제거한다. 그러나, RPA 로봇이 목표를 달성하고 850에서 성능 기준의 개선을 실현하는 경우, 870에서 RPA 로봇을 구축하고, 잠재적으로 이전 버전의 RPA 로봇을 대체한다.
도 7 및 도 8에서 수행되는 프로세스 단계는 본 발명의 실시예에 따라 프로세서(들)가 도 7 및 도 8에서 기술된 프로세스(들)의 적어도 일부를 수행하기 위한 인스트럭션을 인코딩하는 컴퓨터 프로그램에 의해 수행될 수 있다. 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체 상에 구현될 수 있다. 컴퓨터 판독 가능 매체는 하드 디스크 드라이브, 플래시 디바이스, RAM, 테이프, 및/또는 임의의 다른 그러한 매체 또는 데이터를 저장하는 데 사용되는 매체의 조합일 수 있지만, 이에 제한되지는 않는다. 컴퓨터 프로그램은 도 7 및 도 8에 기술된 프로세스 단계의 전부 또는 일부를 구현하기 위해 컴퓨팅 시스템의 프로세서(들)(예컨대, 도 5의 컴퓨팅 시스템(500)의 프로세서(들)(510))를 제어하기 위한 인코딩된 인스트럭션을 포함할 수 있으며, 또한 컴퓨터 판독 가능 매체 상에 저장될 수 있다.
컴퓨터 프로그램은 하드웨어, 소프트웨어, 또는 하이브리드 구현예로 구현될 수 있다. 컴퓨터 프로그램은 서로 동작 가능하게 통신하는 모듈로 구성될 수 있으며, 이들 모듈은 정보 또는 인스트럭션을 디스플레이에 전달하도록 설계되었다. 컴퓨터 프로그램은 범용 컴퓨터, ASIC, 또는 임의의 다른 적합한 디바이스 상에서 동작하도록 구성될 수 있다.
본 발명의 다양한 실시예의 컴포넌트는 본원의 도면에 일반적으로 기술되고 예시된 바와 같이, 광범위한 다양한 상이한 구성으로 배열 및 설계될 수 있음을 쉽게 이해할 것이다. 따라서, 첨부된 도면에 나타낸 바와 같은 본 발명의 실시예의 상세한 설명은 청구된 바와 같은 본 발명의 범위를 제한하려는 것이 아니라, 단지 본 발명의 선택된 실시예를 대표하는 것이다.
본 명세서의 전체에 걸쳐 기술되는 본 발명의 특징, 구조, 또는 특성은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다. 예를 들어, 본 명세서 전체에 걸쳐 "특정 실시예", "일부 실시예", 또는 유사한 언어에 대한 언급은 해당 실시예와 관련하여 기술된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 나타나는 "특정 실시예에서", "일부 실시예에서", "다른 실시예에서", 또는 다른 유사한 언어의 구문이 반드시 동일한 그룹의 실시예를 모두 나타내는 것은 아니며, 기술된 특징, 구조, 또는 특성은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다.
주목해야 하는 것은 본 명세서 전반에 걸쳐 특징, 이점, 또는 유사한 언어에 대한 언급이 본 발명으로 실현될 수 있는 모든 특징 및 이점이 본 발명의 임의의 단일 실시예 내에 있어야 한다는 것을 의미하는 것이 아니라는 것이다. 오히려, 특징 및 이점을 나타내는 언어는, 일 실시예와 관련하여 기술된 특정의 특징, 이점, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미하는 것으로 이해된다. 따라서, 본 명세서 전반에 걸쳐 특징 및 이점, 및 유사한 언어에 대한 논의는 동일한 실시예를 참조할 수 있지만 반드시 그런 것은 아니다.
또한, 본 발명의 기술된 특징, 이점, 및 특성은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다. 관련 기술 분야의 기술자는 본 발명이 특정 실시예의 하나 이상의 특정의 특징 또는 이점없이 실시될 수 있음을 인식할 것이다. 다른 경우에, 본 발명의 모든 실시예에 존재하지 않을 수도 있는 소정의 실시예에서 추가적인 특징 및 이점이 인식될 수 있다.
본 기술 분야의 통상의 기술자는 위에서 논의된 발명이 개시된 것과는 서로 다른 순서의 단계로 실시될 수 있고, 및/또는 개시된 것과는 상이한 구성의 하드웨어 요소로 실시될 수 있음을 쉽게 이해할 것이다. 그러므로, 본 발명이 이러한 바람직한 실시예에 기반하여 기술되었지만, 본 기술 분야의 기술자에게는 본 발명의 사상 및 범위 내에서 특정 수정, 변형, 및 대안적인 구성이 분명할 것이라는 것이 명백할 것이다.
Claims (20)
- 컴퓨터 구현 방법에 있어서,
컴퓨팅 시스템에 의해, 로봇 프로세스 자동화(RPA; robotic process automation) 구현을 위한 계획을 수신하는 단계 ― 상기 계획은 비즈니스 데이터를 포함함 ―;
상기 컴퓨팅 시스템에 의해, 상기 계획과 연관된 비즈니스 데이터에 대한 분석을 수행하여, RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞춰 조정하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 분석에 기반하여 자동화를 구현하는 하나 이상의 RPA 워크플로우를 생성하는 단계; 및
상기 컴퓨팅 시스템에 의해, RPA 로봇을 통해 상기 하나 이상의 RPA 워크플로우를 생성 및 구축하는 단계
를 포함하는, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 비즈니스 데이터는 컴퓨팅 시스템과의 직원 상호작용, 재무 정보, 로봇 동작 및/또는 워크플로우 단계를 수행하는 데 걸린 시간, 또는 이들의 임의의 조합을 포함하는 것인, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 계획은 인공 지능(AI; artificial intelligence)을 사용하여 로봇에 의해 수집된 데이터로부터 자동으로 식별된 프로세스로부터 도출되는 것인, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 분석은 직원 및/또는 로봇에 의해 발생되는 수익, 로봇이 워크플로우 동작을 수행하는 데 걸리는 시간, 직원이 비즈니스 프로세스를 완료하는 데 걸리는 시간, 또는 이들의 임의의 조합을 결정하는 것인, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 컴퓨팅 시스템에 의해, 비즈니스 컴퓨팅 시스템으로부터의 데이터를 수집 및 분석하는 단계; 및
하나 이상의 머신 학습(ML; machine learning) 모델을 통해 잠재적 자동화를 위한 하나 이상의 새로운 프로세스를 자동으로 식별 및 제안하는 단계
를 더 포함하는, 컴퓨터 구현 방법. - 제5항에 있어서,
RPA의 효과를 증가시키기 위해, 상기 계획과 연관된 비즈니스 데이터에 대한 분석을 수행하고, 상기 분석에 기반하여 자동화를 구현하는 RPA 워크플로우를 생성하고, RPA 로봇을 통해 생성된 워크플로우를 생성 및 구축하고, 비즈니스 컴퓨팅 시스템으로부터의 데이터를 수집 및 분석하고, 잠재적 자동화를 위한 하나 이상의 새로운 프로세스를 자동으로 식별 및 제안하는 프로세스를 반복적으로 되풀이하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 컴퓨팅 시스템에 의해, 성능 기준(performance criteria)에 기반하여, RPA 워크플로우에서의 각 활동을 분석하고 우선 순위를 지정하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 제7항에 있어서,
상기 컴퓨팅 시스템에 의해, 상기 RPA 워크플로우에 활동을 추가하거나 상기 RPA 워크플로우에서 활동을 삭제하여, 수정된 RPA 워크플로우를 생성하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 수정된 RPA 워크플로우를 구현하는 RPA 로봇을 생성 및 실행하는 단계; 및
상기 컴퓨팅 시스템에 의해, 상기 생성된 RPA 로봇을 테스팅하여, 상기 RPA 로봇이 목표를 달성하고 상기 성능 기준의 개선을 실현하는지 여부를 결정하는 단계
를 더 포함하는, 컴퓨터 구현 방법. - 제8항에 있어서,
상기 RPA 로봇이 상기 목표를 달성하고 상기 성능 기준의 개선을 실현하는지 여부에 대한 결정은 보상 함수에 기반하는 것인, 컴퓨터 구현 방법. - 제7항에 있어서,
상기 RPA 로봇이 상기 목표를 달성하지 못하거나, 상기 성능 기준의 개선을 실현하지 못하거나, 또는 둘 모두인 경우, 상기 방법은:
수정 전의 RPA 워크플로우로 되돌아가는 단계; 및
상기 컴퓨팅 시스템에 의해, 상기 RPA 워크플로우에 다른 활동을 추가하거나 상기 RPA 워크플로우에서 다른 활동을 삭제하고, 수정된 RPA 워크플로우를 구현하는 RPA 로봇을 생성하고, 그리고 상기 생성된 RPA 로봇을 테스팅하는 단계를 더 포함하는 것인, 컴퓨터 구현 방법. - 제7항에 있어서,
상기 RPA 로봇이 상기 목표를 달성하고 상기 성능 기준의 개선을 실현하는 경우, 상기 방법은:
상기 컴퓨팅 시스템에 의해, 상기 RPA 로봇을 구축하는 단계를 더 포함하는 것인, 컴퓨터 구현 방법. - 컴퓨터 구현 방법에 있어서,
컴퓨팅 시스템에 의해, 로봇 프로세스 자동화(RPA) 구현을 위한 계획과 연관된 비즈니스 데이터에 대한 분석을 수행하여, RPA 동작을 측정, 보고, 및 전략적 비즈니스 결과에 맞춰 조정하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 분석에 기반하여 자동화를 구현하는 하나 이상의 RPA 워크플로우를 생성하는 단계; 및
상기 컴퓨팅 시스템에 의해, RPA 로봇을 통해 상기 하나 이상의 RPA 워크플로우를 생성 및 구축하는 단계
를 포함하는, 컴퓨터 구현 방법. - 제12항에 있어서,
상기 비즈니스 데이터는 컴퓨팅 시스템과의 직원 상호작용, 재무 정보, 로봇 동작 및/또는 워크플로우 단계를 수행하는 데 걸린 시간, 또는 이들의 임의의 조합을 포함하는 것인, 컴퓨터 구현 방법. - 제12항에 있어서,
상기 계획은 인공 지능(AI)을 사용하여 로봇에 의해 수집된 데이터로부터 자동으로 식별된 프로세스로부터 도출되는 것인, 컴퓨터 구현 방법. - 제12항에 있어서,
상기 분석은 직원 및/또는 로봇에 의해 발생되는 수익, 로봇이 워크플로우 동작을 수행하는 데 걸리는 시간, 직원이 비즈니스 프로세스를 완료하는 데 걸리는 시간, 또는 이들의 임의의 조합을 결정하는 것인, 컴퓨터 구현 방법. - 제12항에 있어서,
상기 컴퓨팅 시스템에 의해, 비즈니스 컴퓨팅 시스템으로부터의 데이터를 수집 및 분석하는 단계; 및
하나 이상의 머신 학습(ML) 모델을 통해 잠재적 자동화를 위한 하나 이상의 새로운 프로세스를 자동으로 식별 및 제안하는 단계
를 더 포함하는, 컴퓨터 구현 방법. - 제16항에 있어서,
RPA의 효과를 증가시키기 위해, 상기 계획과 연관된 비즈니스 데이터에 대한 분석을 수행하고, 상기 분석에 기반하여 자동화를 구현하는 RPA 워크플로우를 생성하고, RPA 로봇을 통해 생성된 워크플로우를 생성 및 구축하고, 비즈니스 컴퓨팅 시스템으로부터의 데이터를 수집 및 분석하고, 잠재적 자동화를 위한 하나 이상의 새로운 프로세스를 자동으로 식별 및 제안하는 프로세스를 반복적으로 되풀이하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 컴퓨터 구현 방법에 있어서,
컴퓨팅 시스템에 의해, 성능 기준에 기반하여, 로봇 프로세스 자동화(RPA) 워크플로우에서의 각 활동을 분석하고 우선 순위를 지정하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 RPA 워크플로우에 활동을 추가하거나 상기 RPA 워크플로우에서 활동을 삭제하여, 수정된 RPA 워크플로우를 생성하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 수정된 RPA 워크플로우를 구현하는 RPA 로봇을 생성 및 실행하는 단계; 및
상기 컴퓨팅 시스템에 의해, 상기 생성된 RPA 로봇을 테스팅하여, 상기 RPA 로봇이 목표를 달성하고 상기 성능 기준의 개선을 실현하는지 여부를 결정하는 단계
를 포함하는, 컴퓨터 구현 방법. - 제18항에 있어서,
상기 RPA 로봇이 상기 목표를 달성하지 못하거나, 상기 성능 기준의 개선을 실현하지 못하거나, 또는 둘 모두인 경우, 상기 방법은:
수정 전의 RPA 워크플로우로 되돌아가는 단계; 및
상기 컴퓨팅 시스템에 의해, 상기 RPA 워크플로우에 다른 활동을 추가하거나 상기 RPA 워크플로우에서 다른 활동을 삭제하고, 수정된 RPA 워크플로우를 구현하는 RPA 로봇을 생성하고, 상기 생성된 RPA 로봇을 테스팅하는 단계
를 더 포함하는 것인, 컴퓨터 구현 방법. - 제18항에 있어서,
상기 RPA 로봇이 상기 목표를 달성하고 상기 성능 기준의 개선을 실현하는 경우, 상기 방법은:
상기 컴퓨팅 시스템에 의해, 상기 RPA 로봇을 구축하는 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962915442P | 2019-10-15 | 2019-10-15 | |
US62/915,442 | 2019-10-15 | ||
US16/708,132 US11571811B2 (en) | 2019-10-15 | 2019-12-09 | Process evolution for robotic process automation and workflow micro-optimization |
US16/708,132 | 2019-12-09 | ||
PCT/US2020/046954 WO2021076229A1 (en) | 2019-10-15 | 2020-08-19 | Process evolution for robotic process automation and workflow micro-optimization |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220079833A true KR20220079833A (ko) | 2022-06-14 |
Family
ID=75382545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227010705A KR20220079833A (ko) | 2019-10-15 | 2020-08-19 | 로봇 프로세스 자동화 및 워크플로 미세 최적화를 위한 프로세스 진화 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11571811B2 (ko) |
EP (1) | EP4046100A4 (ko) |
JP (1) | JP7573305B2 (ko) |
KR (1) | KR20220079833A (ko) |
CN (1) | CN114556244A (ko) |
WO (1) | WO2021076229A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113095B2 (en) | 2019-04-30 | 2021-09-07 | Automation Anywhere, Inc. | Robotic process automation system with separate platform, bot and command class loaders |
US20210117895A1 (en) * | 2019-10-18 | 2021-04-22 | ASG Technologies Group, Inc. dba ASG Technologies | Systems and Methods for Cross-Platform Scheduling and Workload Automation |
US11481304B1 (en) | 2019-12-22 | 2022-10-25 | Automation Anywhere, Inc. | User action generated process discovery |
US12111646B2 (en) * | 2020-08-03 | 2024-10-08 | Automation Anywhere, Inc. | Robotic process automation with resilient playback of recordings |
US11928521B2 (en) * | 2021-04-17 | 2024-03-12 | UiPath, Inc. | Bring your own machine (BYOM) |
CN113344355B (zh) * | 2021-05-28 | 2024-06-14 | 中国农业银行股份有限公司 | 业务的机器人流程自动化需求评估方法及相关装置 |
US11968182B2 (en) | 2021-07-29 | 2024-04-23 | Automation Anywhere, Inc. | Authentication of software robots with gateway proxy for access to cloud-based services |
US12097622B2 (en) | 2021-07-29 | 2024-09-24 | Automation Anywhere, Inc. | Repeating pattern detection within usage recordings of robotic process automation to facilitate representation thereof |
US11816621B2 (en) | 2021-10-26 | 2023-11-14 | Bank Of America Corporation | Multi-computer tool for tracking and analysis of bot performance |
CN114615334B (zh) * | 2022-02-25 | 2024-07-12 | 来也科技(北京)有限公司 | 结合rpa和ai的无人值守机器人的部署方法及装置 |
CN115019029B (zh) * | 2022-08-08 | 2022-11-04 | 杭州实在智能科技有限公司 | 一种基于神经自动机的rpa元素智能定位方法 |
US20240220898A1 (en) * | 2022-12-29 | 2024-07-04 | International Business Machines Corporation | Automated generation of workflows |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108022A1 (en) | 2003-11-13 | 2005-05-19 | Kamal Bhattacharya | System and mechanism to create autonomic business process solutions |
US20050165822A1 (en) | 2004-01-22 | 2005-07-28 | Logic Sight, Inc. | Systems and methods for business process automation, analysis, and optimization |
US7793154B2 (en) * | 2006-11-30 | 2010-09-07 | International Business Machines Corporation | Method and implementation for automating processes using data driven pre-recorded transactions |
JP4872702B2 (ja) | 2007-02-16 | 2012-02-08 | 日本電気株式会社 | 分散ワークフローシミュレーションシステム、方法、及び、プログラム |
US20110231353A1 (en) * | 2010-03-17 | 2011-09-22 | James Qingdong Wang | Artificial intelligence application in human machine interface for advanced information processing and task managing |
US8831208B2 (en) | 2011-09-23 | 2014-09-09 | Synchronoss Technologies, Inc. | System and method for optimizing call flows of a spoken dialog system |
US10402749B2 (en) * | 2014-08-25 | 2019-09-03 | Shl Us Llc | Customizable machine learning models |
US10402763B2 (en) * | 2014-12-11 | 2019-09-03 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Total manufacturing planning management control system |
EP3133539A1 (en) * | 2015-08-19 | 2017-02-22 | Tata Consultancy Services Limited | Method ans system for process automation in computing |
WO2017176944A1 (en) | 2016-04-05 | 2017-10-12 | Fractal Industries, Inc. | System for fully integrated capture, and analysis of business information resulting in predictive decision making and simulation |
US11107090B2 (en) * | 2016-06-06 | 2021-08-31 | Epiance Software Pvt. Ltd. | System and method for automated content generation |
CA2971784A1 (en) | 2016-06-23 | 2017-12-23 | Radicalogic Technologies, Inc. | Healthcare workflow system |
US10112298B2 (en) * | 2016-08-09 | 2018-10-30 | International Business Machines Corporation | Assigning tasks to a robot device for execution |
WO2018061033A1 (en) | 2016-09-29 | 2018-04-05 | Vasudevamurthy Adithya | System for business process automation recommendations and a method thereof |
US10134006B2 (en) * | 2016-12-07 | 2018-11-20 | Invia Robotics, Inc. | Workflow management system and methods for coordinating simultaneous operation of multiple robots |
US11157855B2 (en) * | 2017-01-09 | 2021-10-26 | Sutherland Global Services Inc. | Robotics process automation platform |
US10682761B2 (en) * | 2017-06-21 | 2020-06-16 | Nice Ltd | System and method for detecting and fixing robotic process automation failures |
US11074528B2 (en) | 2017-08-31 | 2021-07-27 | Accenture Global Solutions Limited | Robotic operations control system for a blended workforce |
US12085901B2 (en) * | 2017-11-21 | 2024-09-10 | Accenture Global Solutions Limited | Bot management framework for robotic process automation systems |
US20190244149A1 (en) * | 2017-11-27 | 2019-08-08 | Sankar Krishnaswamy | Cognitive Intelligent Automation Systems for Actionable Business intelligence (CIASFABI©) |
US10452674B2 (en) | 2017-12-07 | 2019-10-22 | Accenture Global Solutions Limited | Artificial intelligence and robotic process automation for automated data management |
US10425295B1 (en) | 2018-03-08 | 2019-09-24 | Accenture Global Solutions Limited | Transformation platform |
US10908950B1 (en) * | 2018-04-20 | 2021-02-02 | Automation Anywhere, Inc. | Robotic process automation system with queue orchestration and task prioritization |
US11693923B1 (en) * | 2018-05-13 | 2023-07-04 | Automation Anywhere, Inc. | Robotic process automation system with hybrid workflows |
US10802889B1 (en) * | 2018-07-18 | 2020-10-13 | NTT DATA Services, LLC | Systems and methods of virtual resource monitoring for robotic processes |
JP2022549974A (ja) * | 2019-09-30 | 2022-11-30 | ユーアイパス,インコーポレイテッド | ロボティックプロセスオートメーションのための文書処理フレームワーク |
US10963231B1 (en) * | 2019-10-15 | 2021-03-30 | UiPath, Inc. | Using artificial intelligence to select and chain models for robotic process automation |
-
2019
- 2019-12-09 US US16/708,132 patent/US11571811B2/en active Active
-
2020
- 2020-08-19 WO PCT/US2020/046954 patent/WO2021076229A1/en unknown
- 2020-08-19 JP JP2022520188A patent/JP7573305B2/ja active Active
- 2020-08-19 EP EP20876256.7A patent/EP4046100A4/en active Pending
- 2020-08-19 KR KR1020227010705A patent/KR20220079833A/ko unknown
- 2020-08-19 CN CN202080072324.XA patent/CN114556244A/zh active Pending
-
2023
- 2023-02-06 US US18/164,919 patent/US11919165B2/en active Active
-
2024
- 2024-03-04 US US18/595,227 patent/US20240208049A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240208049A1 (en) | 2024-06-27 |
JP7573305B2 (ja) | 2024-10-25 |
US20230182291A1 (en) | 2023-06-15 |
JP2022552468A (ja) | 2022-12-16 |
CN114556244A (zh) | 2022-05-27 |
EP4046100A4 (en) | 2023-09-27 |
US11919165B2 (en) | 2024-03-05 |
WO2021076229A1 (en) | 2021-04-22 |
EP4046100A1 (en) | 2022-08-24 |
US11571811B2 (en) | 2023-02-07 |
US20210107140A1 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11648686B2 (en) | Artificial intelligence-based process identification, extraction, and automation for robotic process automation | |
US11919165B2 (en) | Process evolution for robotic process automation and workflow micro-optimization | |
KR20220079836A (ko) | 머신 러닝을 사용한 로봇 프로세스 자동화 워크플로들의 자동 완성 | |
US11836626B2 (en) | Artificial intelligence layer-based process extraction for robotic process automation | |
CN114556245A (zh) | 针对机器人流程自动化的人机回圈机器人训练 | |
CN114600141A (zh) | 使用人工智能来选择和链接用于机器人流程自动化的模型 | |
US20210110318A1 (en) | Automatic analysis, prioritization, and robot generation for robotic process automation | |
CN114793454A (zh) | 用于托管、监控和重训练机器学习模型的机器人流程自动化架构和流程 | |
CN114586016A (zh) | 在机器人流程自动化的确定性工作流中插入概率性模型和监管系统 | |
KR102502324B1 (ko) | 로봇 프로세스 자동화를 위한 머신 학습 모델 재훈련 파이프라인 | |
KR20220079838A (ko) | 로봇 프로세스 자동화의 강화 학습 | |
CN116529032A (zh) | 用于机器人流程自动化(rpa)的支持机器人的任务自动化 | |
CN114556387A (zh) | 针对机器人过程自动化工作流的可重新配置工作台流水线 | |
JP2023523374A (ja) | ロボティックプロセスオートメーションのための機械学習モデル再訓練パイプライン |