KR102448263B1 - Robotic automation method and systen, and computing device for executing the method - Google Patents

Robotic automation method and systen, and computing device for executing the method Download PDF

Info

Publication number
KR102448263B1
KR102448263B1 KR1020220081782A KR20220081782A KR102448263B1 KR 102448263 B1 KR102448263 B1 KR 102448263B1 KR 1020220081782 A KR1020220081782 A KR 1020220081782A KR 20220081782 A KR20220081782 A KR 20220081782A KR 102448263 B1 KR102448263 B1 KR 102448263B1
Authority
KR
South Korea
Prior art keywords
script
user terminal
execution
error
computing device
Prior art date
Application number
KR1020220081782A
Other languages
Korean (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 KR1020220081782A priority Critical patent/KR102448263B1/en
Application granted granted Critical
Publication of KR102448263B1 publication Critical patent/KR102448263B1/en

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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • 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
    • 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/547Remote procedure calls [RPC]; Web services
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Abstract

Disclosed are a robotic automation method and system and a computing device for performing the same. According to a disclosed embodiment, the computing device for robotic automation comprises: one or more processors; and a memory storing one or more programs executed by one or more processors. In addition, the computing device includes: an automation processing engine executing one or more target works according to one or more scripts; and when a script change request is received from a preset user terminal, a script management module generating a work schedule according to pre-registered scripts and transmitting the same to the user terminal. The work schedule includes one or more of a work type, a work execution time, and a work execution characteristic that are performed by robotic automation processing according to the pre-registered scripts.

Description

로보틱 자동화 방법과 시스템 및 이를 수행하기 위한 컴퓨팅 장치{ROBOTIC AUTOMATION METHOD AND SYSTEN, AND COMPUTING DEVICE FOR EXECUTING THE METHOD}ROBOTIC AUTOMATION METHOD AND SYSTEN, AND COMPUTING DEVICE FOR EXECUTING THE METHOD

본 발명의 실시예는 로보틱 자동화 기술과 관련된다.Embodiments of the present invention relate to robotic automation technology.

RPA(Robotic Process Automation)는 사람이 컴퓨터로 하는 반복적인 업무를 로봇 소프트웨어를 통해 자동화하는 기술로서, 컴퓨터 상에서 자동화 하려는 대상 업무(작업)를 선정하고, 이를 수행할 스크립트를 생성하여 원하는 시간에 해당 대상 업무가 동작되도록 하는 기술이다. RPA (Robotic Process Automation) is a technology that automates repetitive tasks that humans do with computers through robot software. It selects the task (task) to be automated on the computer, creates a script to perform it, and selects the target at the desired time. It is the technology that makes work work.

그러나, 기존의 RPA 기술은 미리 등록되어 있지 않은 작업은 수행할 수 없으며, 기 등록된 작업의 스케줄을 변경하려고 하는 경우, 스크립트를 수행하는 컴퓨팅 장치에서 스케줄을 조정하는 작업이 필요하다. However, the conventional RPA technology cannot perform a task that is not registered in advance, and when trying to change the schedule of a previously registered task, it is necessary to adjust the schedule in the computing device executing the script.

또한, 스크립트가 동작하는 중에 사용자 선택이 요구되는 경우(예를 들어, 팝업 창 등을 통해 사용자의 선택에 대한 입력을 요구하는 경우), 사용자 선택이 입력되지 않으면 스크립트의 동작이 진행되지 못하고 중지된 상태에 있게 되므로, 사용자가 스크립트가 동작 중인 컴퓨팅 장치까지 가서 사용자 선택에 대한 입력을 해주어야 하는 번거로움이 있다. In addition, when user selection is required while the script is operating (for example, when user selection is requested through a pop-up window, etc.), if the user selection is not input, the operation of the script cannot proceed and is stopped. Since it is in the state, there is a hassle in that the user has to go to the computing device in which the script is running and input the user's selection.

또한, 스크립트를 실행하다 보면 스크립트를 실행하는 컴퓨팅 장치의 상황에 따라 스크립트와 맞지 않는 예외적인 상황이 발생하게 된다. 이에, 스크립트의 작성 시 스크립트의 실행에 따른 예외 상황을 미리 상정하여 예외 상황을 처리하기 위한 스크립트도 함께 작성하게 된다. In addition, when the script is executed, an exceptional situation that does not match the script occurs depending on the situation of the computing device executing the script. Accordingly, when writing the script, a script for handling the exception situation is also prepared by presuming an exception situation according to the execution of the script.

그러나, 예외 상황을 모두 예측하여 미리 스크립트로 만들어 놓는 것은 대단히 어렵고, 예측하지 못한 돌발적인 예외 상황도 발생할 수 있는데, 이 경우 스크립트를 몇 번 재시도하다가 결국 스크립트가 종료되게 된다. 이때, 종료된 스크립트를 재실행 한다고 해도, 작업의 연속성이 끊어지게 되어 자동화가 잘 수행되지 않거나 데이터가 중복되는 등 문제가 발생하므로, 결국 스크립트를 처음부터 다시 수행하는 상황이 빈번히 발생하게 된다.However, it is very difficult to predict all the exceptions and make them into scripts in advance, and unexpected and unexpected exceptions may occur. In this case, the script is terminated after retrying the script several times. At this time, even if the terminated script is re-executed, the continuity of the operation is broken, and there are problems such as automation not being performed well or data duplication.

공개특허공보 제10-2022-0004291호(2022.01.11)Laid-Open Patent Publication No. 10-2022-0004291 (202.01.11)

본 발명의 실시예는 새로운 기법의 로보틱 자동화를 위한 로보틱 자동화 방법과 시스템 및 이를 수행하기 위한 컴퓨팅 장치를 제공하기 위한 것이다.An embodiment of the present invention is to provide a robotic automation method and system for robotic automation of a new technique, and a computing device for performing the same.

개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비하고, 로보틱 자동화를 위한 컴퓨팅 장치로서, 하나 이상의 스크립트에 따라 하나 이상의 대상 업무를 실행시키는 자동화 처리 엔진; 및 기 설정된 사용자 단말로부터 스크립트 변경 요청을 수신하는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 상기 사용자 단말로 송신하는 스크립트 관리 모듈을 포함하고, 상기 업무 스케줄은, 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격 중 하나 이상을 포함한다.A computing device according to an embodiment of the disclosure includes one or more processors, and a memory for storing one or more programs executed by the one or more processors, as a computing device for robotic automation, in one or more scripts an automation processing engine that executes one or more target tasks according to it; and a script management module that generates and transmits a work schedule according to pre-registered scripts to the user terminal when receiving a script change request from a pre-set user terminal, wherein the work schedule is based on pre-registered scripts Accordingly, it includes one or more of the type of task performed by the robotic automation processing, the task execution time, and the nature of the task execution.

상기 스크립트 관리 모듈은, 상기 사용자 단말로부터 스크립트 변경 정보를 수신하고, 상기 스크립트 변경 정보에 따라 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가할 수 있다.The script management module may receive script change information from the user terminal, and may change or delete a previously registered script or add a new script according to the script change information.

상기 스크립트 관리 모듈은, 상기 스크립트의 실행에 따른 스크립트 실행 관련 정보를 상기 사용자 단말로 송신할 수 있다.The script management module may transmit script execution related information according to the execution of the script to the user terminal.

상기 스크립트 실행 관련 정보는, 스크립트 실행 상태, 스크립트 실행 결과, 및 스크립트 실행 시간 중 하나 이상을 포함할 수 있다.The script execution related information may include at least one of a script execution state, a script execution result, and a script execution time.

상기 컴퓨팅 장치는, 상기 사용자 단말과 채팅을 수행하는 챗봇 연동 모듈을 더 포함하고, 상기 챗봇 연동 모듈은, 상기 사용자 단말의 스크립트 수행 명령을 수신하는 경우, 해당 스크립트를 실행하고 스크립트 실행 관련 정보를 채팅 창을 통해 상기 사용자 단말로 송신할 수 있다.The computing device further includes a chatbot interworking module for chatting with the user terminal, wherein the chatbot interworking module executes the script and chats script execution related information when receiving a script execution command from the user terminal It can be transmitted to the user terminal through the window.

개시되는 일 실시예에 따른 로보틱 자동화 시스템은, 하나 이상의 스크립트에 따라 하나 이상의 대상 업무를 실행시켜 로보틱 자동화 처리를 수행하는 제1 사용자 단말; 원격에서 상기 제1 사용자 단말의 로보틱 자동화 처리를 제어하는 제2 사용자 단말; 및 상기 제2 사용자 단말이 상기 제1 사용자 단말의 로보틱 자동화 처리를 제어하는 것을 어시스턴스 하는 어시스턴스 서버를 포함하고, 상기 제1 사용자 단말은, 상기 어시스턴스 서버를 통해 스크립트 변경 요청을 수신하는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 상기 어시스턴스 서버로 송신하고, 상기 업무 스케줄은, 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격 중 하나 이상을 포함한다.A robotic automation system according to an embodiment of the present disclosure includes: a first user terminal that executes one or more target tasks according to one or more scripts to perform robotic automation processing; a second user terminal remotely controlling the robotic automation process of the first user terminal; and an assistance server assisting the second user terminal to control the robotic automation process of the first user terminal, wherein the first user terminal receives a script change request through the assistance server In this case, a task schedule according to the pre-registered scripts is generated and transmitted to the assistance server, and the task schedule is a task type, task execution time, and task performed by robotic automation according to the pre-registered scripts. Includes one or more of the executive personality.

상기 제1 사용자 단말은, 상기 어시스턴스 서버로부터 스크립트 변경 정보를 수신하고, 상기 스크립트 변경 정보에 따라 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가할 수 있다.The first user terminal may receive script change information from the assistance server, and may change or delete a pre-registered script or add a new script according to the script change information.

상기 제2 사용자 단말은, 상기 어시스턴스 서버로부터 상기 업무 스케줄을 수신하고, 상기 수신한 업무 스케줄에 기반하여 일정 기간 동안의 업무 스케줄 표를 생성하여 화면에 표시하며, 사용자로부터 상기 업무 스케줄 표를 통해 입력되는 스크립트 변경 정보를 상기 어시스턴스 서버로 송신할 수 있다.The second user terminal receives the work schedule from the assistance server, generates a work schedule table for a certain period based on the received work schedule, and displays it on the screen, from the user through the work schedule table The input script change information may be transmitted to the assistance server.

상기 제1 사용자 단말은, 상기 스크립트의 실행에 따른 스크립트 실행 관련 정보를 상기 어시스턴스 서버로 송신하고, 상기 제2 사용자 단말은, 상기 어시스턴스 서버로부터 상기 스크립트 실행 관련 정보를 수신할 수 있다.The first user terminal may transmit script execution related information according to the execution of the script to the assistance server, and the second user terminal may receive the script execution related information from the assistance server.

개시되는 일 실시예에 따른 로보틱 자동화 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 외부 기기로부터 스크립트 변경 요청이 수신되는지 여부를 확인하는 단계; 상기 스크립트 변경 요청이 수신되는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하는 단계; 및 상기 업무 스케줄을 상기 외부 기기로 송신하는 단계를 포함하고, 상기 업무 스케줄은, 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격 중 하나 이상을 포함한다.Robotic automation method according to an embodiment of the present disclosure is a method performed in a computing device having one or more processors, and a memory for storing one or more programs executed by the one or more processors, wherein the method is performed by a script from an external device. checking whether a change request is received; generating a work schedule according to pre-registered scripts when the script change request is received; and transmitting the task schedule to the external device, wherein the task schedule includes at least one of a task type, task execution time, and task execution nature performed by robotic automation processing according to pre-registered scripts. include

개시되는 실시예에 의하면, 제2 사용자 단말의 스크립트 변경 요청에 따라 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 전달하고, 제2 사용자 단말로부터 스크립트 변경 정보를 수신함으로써, 원격지에 위치하는 제2 사용자 단말을 통해 스크립트를 변경 또는 삭제 또는 추가할 수 있게 된다.According to the disclosed embodiment, by generating and delivering a work schedule according to previously registered scripts in response to a script change request from the second user terminal, and receiving script change information from the second user terminal, a second It becomes possible to change, delete, or add a script through the user terminal.

또한, 제1 사용자 단말에서 스크립트 실행 중 기 설정된 선택 이벤트가 발생하는 경우, 사용자 선택 요청을 제2 사용자 단말로 송신하고, 제2 사용자 단말로부터 사용자 선택 요청에 대응하는 사용자 입력을 수신함으로써, 스크립트 실행 중 사용자의 선택에 대한 입력이 필요한 경우에 실시간으로 대처하여 스크립트의 실행이 중단되지 않고 계속 실행되도록 할 수 있다. In addition, when a preset selection event occurs during script execution in the first user terminal, the script is executed by transmitting a user selection request to the second user terminal and receiving a user input corresponding to the user selection request from the second user terminal When an input for a user's selection is required, the script can be continuously executed without interruption by responding in real time.

또한, 스크립트 실행 중 에러가 발생하는 경우, 에러 알림을 통해 사용자가 에러를 처리하도록 할 수 있고, 에러 처리를 위한 사용자 입력을 녹화하여 에러 처리 스크립트를 생성함으로써, 예상치 못한 에러가 발생하였을 경우 기 생성된 에러 처리 스크립트를 이용하여 에러 처리를 수행할 수 있게 된다.In addition, when an error occurs during script execution, the user can handle the error through an error notification, and by recording the user input for error handling to generate an error handling script, a pre-creation when an unexpected error occurs Error handling can be performed using the error handling script.

도 1은 본 발명의 일 실시예에 따른 로보틱 자동화 시스템의 구성을 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 제1 사용자 단말의 구성을 나타낸 블록도
도 3은 본 발명의 일 실시예에 따른 에러 알림 정보 화면을 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 히스토리 정보에서 스크립트의 실행 화면에 대한 스크린 샷을 나타낸 도면
도 5는 본 발명의 일 실시예에 따른 히스토리 정보에서 이벤트 처리 정보를 나타낸 도면
도 6은 본 발명의 일 실시예에 따른 변수 편집 툴을 나타낸 도면
도 7은 본 발명의 일 실시예에 따른 재실행 위치 선택을 위한 이벤트 리스트를 나타낸 도면
도 8은 본 발명의 실시예에서 제1 사용자 단말의 화면에 녹화 툴이 표시된 상태를 나타낸 도면
도 9는 본 발명의 일 실시예에 따른 제2 사용자 단말의 구성을 나타낸 블록도
도 10은 본 발명의 일 실시예에 따른 업무 스케줄 표를 나타낸 도면
도 11은 본 발명의 일 실시예에서 제2 사용자 단말의 화면에 표시된 스크립트 실행 관련 정보를 나타낸 도면
도 12는 본 발명의 일 실시예에서 제2 사용자 단말의 화면에 표시된 메시지 선택 창을 나타낸 도면
도 13은 본 발명의 일 실시예에서 제2 사용자 단말의 화면에 에러 알림 정보가 표시된 상태를 나타낸 도면
도 14는 본 발명의 일 실시예에 따른 로보틱 자동화 방법을 설명하기 위한 흐름도
도 15는 본 발명의 다른 실시예에 따른 로보틱 자동화 방법을 설명하기 위한 흐름도
도 16은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a view showing the configuration of a robotic automation system according to an embodiment of the present invention;
2 is a block diagram illustrating a configuration of a first user terminal according to an embodiment of the present invention;
3 is a view showing an error notification information screen according to an embodiment of the present invention;
4 is a view showing a screen shot of an execution screen of a script in history information according to an embodiment of the present invention;
5 is a diagram illustrating event processing information in history information according to an embodiment of the present invention;
6 is a view showing a variable editing tool according to an embodiment of the present invention;
7 is a diagram illustrating an event list for re-execution location selection according to an embodiment of the present invention;
8 is a view showing a state in which a recording tool is displayed on the screen of the first user terminal in an embodiment of the present invention;
9 is a block diagram illustrating a configuration of a second user terminal according to an embodiment of the present invention;
10 is a view showing a work schedule table according to an embodiment of the present invention;
11 is a diagram illustrating script execution related information displayed on a screen of a second user terminal in an embodiment of the present invention;
12 is a diagram illustrating a message selection window displayed on a screen of a second user terminal according to an embodiment of the present invention;
13 is a diagram illustrating a state in which error notification information is displayed on a screen of a second user terminal according to an embodiment of the present invention;
14 is a flowchart illustrating a robotic automation method according to an embodiment of the present invention;
15 is a flowchart illustrating a robotic automation method according to another embodiment of the present invention;
16 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and/or systems described herein. However, this is merely an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing embodiments of the present invention only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.

이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다. In the following description, the terms "transmission", "communication", "transmission", "reception" and other similar meanings of a signal or information are not only directly transmitted from one component to another component, but also a signal or information This includes passing through other components. In particular, to “transmit” or “transmit” a signal or information to a component indicates the final destination of the signal or information and does not imply a direct destination. The same is true for "reception" of signals or information. In addition, in this specification, when two or more data or information are "related", it means that when one data (or information) is acquired, at least a part of other data (or information) can be acquired based thereon.

도 1은 본 발명의 일 실시예에 따른 로보틱 자동화 시스템의 구성을 나타낸 도면이다. 1 is a diagram showing the configuration of a robotic automation system according to an embodiment of the present invention.

도 1을 참조하면, 로보틱 자동화 시스템(100)은 제1 사용자 단말(102), 제2 사용자 단말(104), 및 어시스턴스 서버(106)를 포함할 수 있다. 제1 사용자 단말(102) 및 제2 사용자 단말(104)은 각각 통신 네트워크(150)를 통해 어시스턴스 서버(106)와 통신 가능하게 연결된다. Referring to FIG. 1 , the robotic automation system 100 may include a first user terminal 102 , a second user terminal 104 , and an assistance server 106 . The first user terminal 102 and the second user terminal 104 are each communicatively connected to the assistance server 106 via the communication network 150 .

여기서, 통신 네트워크(150)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wide area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.Here, the communication network 150 includes the Internet, one or more local area networks, wide area networks, cellular networks, mobile networks, other types of networks, or a combination of these networks. can do.

제1 사용자 단말(102)은 로보틱 자동화 처리가 수행되는 장치일 수 있다. 즉, 제1 사용자 단말(102)은 기 등록된 스크립트에 따라 하나 이상의 대상 업무를 수행하는 장치일 수 있다. 제1 사용자 단말(102)은 데스크 탑 PC 또는 노트북 컴퓨터 일 수 있으나, 이에 한정되는 것은 아니다. The first user terminal 102 may be a device in which robotic automation processing is performed. That is, the first user terminal 102 may be a device that performs one or more target tasks according to a pre-registered script. The first user terminal 102 may be a desktop PC or a notebook computer, but is not limited thereto.

도 2는 본 발명의 일 실시예에 따른 제1 사용자 단말(102)의 구성을 나타낸 블록도이다. 도 2를 참조하면, 제1 사용자 단말(102)은 자동화 처리 엔진(111), 스크립트 관리 모듈(113), 선택 처리 모듈(115), 및 에러 처리 모듈(117)을 포함할 수 있다. 2 is a block diagram showing the configuration of the first user terminal 102 according to an embodiment of the present invention. Referring to FIG. 2 , the first user terminal 102 may include an automation processing engine 111 , a script management module 113 , a selection processing module 115 , and an error processing module 117 .

자동화 처리 엔진(111)은 제1 사용자 단말(102)에서 로보틱 자동화 처리를 수행할 수 있다. 자동화 처리 엔진(111)은 스크립트에 따라 하나 이상의 대상 업무를 제1 사용자 단말(102)에서 실행시킬 수 있다. 예를 들어, 자동화 처리 엔진(111)은 스크립트에 따라 일정 시간에 특정 대상 업무를 반복 실행시킬 수 있다. 또한, 자동화 처리 엔진(111)은 스크립트에 따라 특정 이벤트가 발생하면 특정 대상 업무를 실행시킬 수 있다. The automation processing engine 111 may perform robotic automation processing in the first user terminal 102 . The automation processing engine 111 may execute one or more target tasks in the first user terminal 102 according to a script. For example, the automation processing engine 111 may repeatedly execute a specific target task at a predetermined time according to a script. In addition, the automation processing engine 111 may execute a specific target task when a specific event occurs according to a script.

스크립트 관리 모듈(113)은 로보틱 자동화 처리를 위한 스크립트를 관리할 수 있다. 스크립트 관리 모듈(113)은 제1 사용자 단말(102)을 통해 입력되는 스크립트를 등록할 수 있다. 스크립트 관리 모듈(113)은 어시스턴스 서버(106)를 통해 제2 사용자 단말(104)에서 입력되는 스크립트 변경 정보에 따라 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가할 수 있다. The script management module 113 may manage a script for robotic automation processing. The script management module 113 may register a script input through the first user terminal 102 . The script management module 113 may change or delete a previously registered script or add a new script according to script change information input from the second user terminal 104 through the assistance server 106 .

구체적으로, 어시스턴스 서버(106)를 통해 스크립트 변경 요청이 수신되는 경우, 스크립트 관리 모듈(113)은 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 어시스턴스 서버(106)로 송신할 수 있다. 여기서, 업무 스케줄은 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격을 포함할 수 있다. Specifically, when a script change request is received through the assistance server 106 , the script management module 113 may generate a task schedule according to pre-registered scripts and transmit it to the assistance server 106 . Here, the task schedule may include a task type, task execution time, and task execution characteristics performed by robotic automation processing according to pre-registered scripts.

즉, 업무 스케줄은 기 등록된 스크립트들에 따라 제1 사용자 단말(102)에서 실행되는 업무들이 무엇이고(업무 종류), 각 업무들이 언제 실행되며(업무 실행 시간), 각 업무들이 어떤 방식으로 실행되는지(예를 들어, 반복 수행인지 일회성 수행인지 등)(업무 실행 성격)에 대한 정보를 포함할 수 있다. 또한, 스크립트 관리 모듈(113)은 어시스턴스 서버(106)로부터 스크립트 변경 정보를 수신하고, 수신한 스크립트 변경 정보에 따라 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가할 수 있다. That is, in the task schedule, what tasks are executed in the first user terminal 102 according to the pre-registered scripts (task type), when each task is executed (task execution time), and in what manner each task is executed It may include information on whether it is performed (eg, whether it is a repetitive performance or a one-time performance, etc.) (the nature of the task execution). Also, the script management module 113 may receive script change information from the assistance server 106 , and may change or delete a previously registered script or add a new script according to the received script change information.

스크립트 관리 모듈(113)은 스크립트의 실행에 따른 정보(즉, 스크립트 실행 관련 정보)를 어시스턴스 서버(106)로 송신할 수 있다. 여기서, 스크립트 실행 관련 정보는 스크립트 실행 상태, 스크립트 실행 결과, 및 스크립트 실행 시간 등의 정보를 포함할 수 있다. 즉, 스크립트 관리 모듈(113)은 소정의 스크립트가 실행 중인지 여부에 대한 정보, 스크립트의 실행 결과가 성공인지 실패인지 강제 종료인지에 대한 정보, 스크립트의 실행 시간 등을 포함하는 스크립트 실행 관련 정보를 어시스턴스 서버(106)로 송신할 수 있다. The script management module 113 may transmit information according to the execution of the script (ie, script execution related information) to the assistance server 106 . Here, the script execution related information may include information such as a script execution state, a script execution result, and a script execution time. That is, the script management module 113 assists script execution-related information including information on whether a predetermined script is being executed, information on whether the execution result of the script is success, failure, or forced termination, and the execution time of the script. can be sent to the stealth server 106 .

선택 처리 모듈(115)은 제1 사용자 단말(102)에서 스크립트 실행 중 기 설정된 선택 이벤트가 발생하는지를 확인할 수 있다. 여기서, 선택 이벤트는 스크립트 실행 중 사용자의 선택에 대한 입력이 필요한 경우에 발생할 수 있다. 이때, 선택 이벤트는 선택 이벤트의 발생 여부도 해당 스크립트에 포함되어 작성된 것일 수 있다. 즉, 해당 스크립트에는 해당 스크립트에 의한 명령을 실행하는 도중 선택 이벤트를 발생시켜 사용자의 선택에 대한 입력을 받도록 하는 명령도 포함될 수 있으나, 이에 한정되는 것은 아니다. The selection processing module 115 may check whether a preset selection event occurs during script execution in the first user terminal 102 . Here, the selection event may occur when an input for a user's selection is required during script execution. In this case, the selection event may be written by including the occurrence of the selection event in the corresponding script. That is, the corresponding script may include, but is not limited to, a command for generating a selection event while executing a command by the corresponding script to receive an input for the user's selection.

예시적인 실시예에서, 선택 처리 모듈(115)은 스크립트가 실행 중인 제1 사용자 단말(102)의 화면에서 메시지 박스가 표시되는지 여부를 확인할 수 있다. 선택 처리 모듈(115)은 스크립트가 실행 중인 제1 사용자 단말(102)의 화면에 별도의 메시지 박스(예를 들어, 팝업 창)가 표시되는지 여부를 확인할 수 있다. In an exemplary embodiment, the selection processing module 115 may check whether a message box is displayed on the screen of the first user terminal 102 in which the script is being executed. The selection processing module 115 may check whether a separate message box (eg, a pop-up window) is displayed on the screen of the first user terminal 102 in which the script is being executed.

메시지 박스가 표시된 경우, 선택 처리 모듈(115)은 메시지 박스에 대한 속성 정보를 획득할 수 있다. 예를 들어, 선택 처리 모듈(115)은 제1 사용자 단말(102)의 운영체제(예를 들어, 윈도우 등)로부터 메시지 박스에 대한 속성 정보를 획득할 수 있다. 선택 처리 모듈(115)은 윈도우 API를 통해 메시지 박스에 대한 속성 정보를 획득할 수 있다. When the message box is displayed, the selection processing module 115 may obtain attribute information about the message box. For example, the selection processing module 115 may obtain attribute information about the message box from an operating system (eg, Windows, etc.) of the first user terminal 102 . The selection processing module 115 may obtain attribute information about the message box through the window API.

여기서, 메시지 박스에 대한 속성 정보에는 메시지 박스의 타이틀 및 메시지 박스 내의 버튼 정보를 포함할 수 있다. 선택 처리 모듈(115)은 메시지 박스에 대한 속성 정보를 분석하여 해당 메시지 박스가 선택 이벤트에 해당하는지 여부를 확인할 수 있다. 즉, 선택 처리 모듈(115)은 메시지 박스의 타이틀 및 메시지 박스 내의 버튼 정보에 대응하는 각 텍스트를 분석하여 해당 메시지 박스가 선택 이벤트에 해당하는지 여부를 확인할 수 있다.Here, the attribute information on the message box may include a title of the message box and button information in the message box. The selection processing module 115 may check whether the corresponding message box corresponds to a selection event by analyzing attribute information on the message box. That is, the selection processing module 115 may analyze each text corresponding to the title of the message box and button information in the message box to determine whether the corresponding message box corresponds to the selection event.

예를 들어, 메시지 박스의 타이틀이 "메시지 선택"이고, 메시지 박스 내에 2개의 버튼이 존재하며 각 버튼의 버튼 정보가 "YES" 및 "NO"인 경우, 선택 처리 모듈(115)은 해당 메시지 박스가 선택 이벤트에 해당하는 것으로 판단할 수 있다. 메시지 박스가 선택 이벤트에 해당하는 경우, 선택 처리 모듈(115)은 메시지 박스의 속성 정보를 포함하는 사용자 선택 요청을 어시스턴스 서버(106)로 송신할 수 있다. For example, if the title of the message box is "message selection", there are two buttons in the message box, and the button information of each button is "YES" and "NO", the selection processing module 115 sends the corresponding message box may be determined to correspond to the selection event. When the message box corresponds to the selection event, the selection processing module 115 may transmit a user selection request including attribute information of the message box to the assistance server 106 .

선택 처리 모듈(115)은 어시스턴스 서버(106)로부터 사용자 선택 요청에 대응하는 사용자 입력을 수신할 수 있다. 선택 처리 모듈(115)은 수신한 사용자 입력을 자동화 처리 엔진(111)으로 전달하여 스크립트에 따른 해당 업무를 계속 수행하도록 할 수 있다. The selection processing module 115 may receive a user input corresponding to the user selection request from the assistance server 106 . The selection processing module 115 may transmit the received user input to the automation processing engine 111 to continue performing the corresponding task according to the script.

에러 처리 모듈(117)은 자동화 처리 엔진(111)에서 스크립트를 실행시키는 도중 에러가 발생하는지 여부를 모니터링 할 수 있다. 에러 처리 모듈(117)은 스크립트 실행 중 에러가 발생하는 경우, 해당 스크립트를 잠시 멈춤(pause) 상태로 전환할 수 있다. The error processing module 117 may monitor whether an error occurs while executing the script in the automation processing engine 111 . When an error occurs during script execution, the error processing module 117 may switch the corresponding script to a paused state.

에러 처리 모듈(117)은 스크립트의 에러가 발생한 상황에 대해 에러 알림 정보를 생성할 수 있다. 에러 알림 정보에는 에러가 발생한 스크립트, 에러 이벤트 정보, 에러 발생 시간, 스크립트의 일시 중지 경과 시간 등이 포함될 수 있다. 에러 처리 모듈(117)은 에러 알림 정보를 제1 사용자 단말(102)의 화면에 알림창 등을 통해 표시할 수 있다. 도 3은 본 발명의 일 실시예에 따른 에러 알림 정보 화면을 나타낸 도면이다. 에러 알림 정보 화면에는 사용자가 오류(에러)를 처리하기 위한 오류 처리 탭과 에러를 확정하기 위한 에러 확정 탭이 마련될 수 있다. The error processing module 117 may generate error notification information for a situation in which an error in the script occurs. The error notification information may include a script in which an error has occurred, error event information, an error occurrence time, and an elapsed time of pause of the script. The error processing module 117 may display error notification information on the screen of the first user terminal 102 through a notification window or the like. 3 is a diagram illustrating an error notification information screen according to an embodiment of the present invention. An error handling tab for a user to process an error (error) and an error confirmation tab for confirming an error may be provided on the error notification information screen.

에러 알림 정보 화면에서 사용자가 오류 처리 탭을 선택한 경우, 에러 처리 모듈(117)은 스크립트의 실행 시점부터 에러 발생 시점까지의 히스토리 정보를 사용자에게 제공할 수 있다. 즉, 에러 처리 모듈(117)은 사용자가 에러 발생 원인을 파악할 수 있도록 스크립트의 실행 시점부터 에러 발생 시점까지의 히스토리 정보를 사용자에게 제공할 수 있다. 이를 위해, 에러 처리 모듈(117)은 스크립트가 실행되는 경우, 스크립트의 실행 시점부터 에러 발생 시점까지 히스토리 정보를 실시간으로 획득하여 저장할 수 있다.When the user selects the error handling tab on the error notification information screen, the error handling module 117 may provide the user with history information from the script execution time to the error occurrence time. That is, the error processing module 117 may provide the user with history information from the execution time of the script to the time of the error occurrence so that the user can determine the cause of the error occurrence. To this end, when the script is executed, the error processing module 117 may acquire and store history information in real time from the execution time of the script to the time of the error occurrence.

여기서, 히스토리 정보는 스크립트가 실행되면서 수집되는 정보, 스크립트가 실행되면서 생성되는 변수, 스크립트가 실행되면서 발생하는 이벤트 처리 정보, 및 스크립트의 실행 화면에 대한 스크린 샷 등이 포함될 수 있다. 도 4는 본 발명의 일 실시예에 따른 히스토리 정보에서 스크립트의 실행 화면에 대한 스크린 샷을 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 히스토리 정보에서 이벤트 처리 정보를 나타낸 도면이다. Here, the history information may include information collected while the script is executed, variables generated while the script is executed, event processing information generated while the script is executed, and a screen shot of an execution screen of the script. 4 is a diagram illustrating a screen shot of a script execution screen in history information according to an embodiment of the present invention, and FIG. 5 is a diagram illustrating event processing information in history information according to an embodiment of the present invention.

에러 처리 모듈(117)은 스크립트의 재실행 시 변수에 따른 오류가 발생하지 않도록 스크립트의 변수를 변경할 수 있는 변수 편집 툴을 사용자에게 제공할 수 있다. 도 6은 본 발명의 일 실시예에 따른 변수 편집 툴을 나타낸 도면이다. 변수 편집 툴은 해당 스크립트에 대한 변수 리스트를 제공하고, 각 변수에 대한 변수 값을 변경할 수 있도록 변수 입력 창을 제공할 수 있다. The error processing module 117 may provide the user with a variable editing tool capable of changing the variables of the script so that errors according to the variables do not occur when the script is re-executed. 6 is a diagram illustrating a variable editing tool according to an embodiment of the present invention. The variable editing tool may provide a variable list for the corresponding script and provide a variable input window to change the variable value for each variable.

에러 처리 모듈(117)은 에러가 발생한 스크립트에서 재실행 위치를 선택할 수 있도록 해당 스크립트에 대한 이벤트 리스트를 사용자에게 제공할 수 있다. 도 7은 본 발명의 일 실시예에 따른 재실행 위치 선택을 위한 이벤트 리스트를 나타낸 도면이다. 에러 처리 모듈(117)은 이벤트 리스트 중 사용자가 선택한 이벤트를 해당 스크립트의 재실행 위치로 설정할 수 있다. The error processing module 117 may provide an event list for the script to the user so that a re-execution location can be selected from the script in which the error has occurred. 7 is a diagram illustrating an event list for re-execution location selection according to an embodiment of the present invention. The error processing module 117 may set an event selected by the user from the event list as a re-execution location of the corresponding script.

여기서는, 에러 처리 모듈(117)이 제1 사용자 단말(102)에서 사용자를 통해 에러가 처리되도록 하는 경우를 예로 설명하였으나, 이에 한정되는 것은 아니며 어시스턴스 서버(106)를 통해 제2 사용자 단말(104)에서 에러가 처리되도록 할 수도 있다. 이 경우, 에러 처리 모듈(117)은 에러 알림 정보를 어시스턴스 서버(106)로 송신할 수 있다. 에러 처리 모듈(117)은 스크립트의 실행 시점부터 에러 발생 시점까지의 히스토리 정보를 어시스턴스 서버(106)로 송신할 수 있다. 에러 처리 모듈(117)은 해당 스크립트에 대한 이벤트 리스트를 어시스턴스 서버(106)로 제공하여 제2 사용자 단말(104)에서 해당 스크립트의 재실행 위치를 선택하도록 할 수 있다. Here, an example has been described in which the error processing module 117 causes an error to be processed through the user in the first user terminal 102 , but the present invention is not limited thereto and the second user terminal 104 through the assistance server 106 . ) to handle errors. In this case, the error processing module 117 may transmit error notification information to the assistance server 106 . The error processing module 117 may transmit history information from a script execution time to an error occurrence time to the assistance server 106 . The error processing module 117 may provide an event list for the corresponding script to the assistance server 106 so that the second user terminal 104 selects a re-execution location of the corresponding script.

한편, 에러 처리 모듈(117)은 스크립트 실행 중 에러가 발생하는 경우, 제1 사용자 단말(102)에서 사용자가 에러를 처리하기 위해 수행하는 사용자 입력을 녹화(기록)할 수 있다. 이때, 에러 처리 모듈(117)은 제1 사용자 단말(102)의 화면에 사용자 입력을 녹화하는 것을 나타내는 녹화 툴을 표시할 수 있다. 도 8은 본 발명의 실시예에서 제1 사용자 단말(102)의 화면에 녹화 툴이 표시된 상태를 나타낸 도면이다. 여기서, 녹화 툴에는 사용자가 녹화를 중지 또는 재개할 수 있도록 하는 입력 수단(예를 들어, 버튼)이 마련될 수 있다. Meanwhile, when an error occurs during script execution, the error processing module 117 may record (record) a user input performed by the user in the first user terminal 102 to handle the error. In this case, the error processing module 117 may display a recording tool indicating recording of the user input on the screen of the first user terminal 102 . 8 is a diagram illustrating a state in which a recording tool is displayed on the screen of the first user terminal 102 according to an embodiment of the present invention. Here, the recording tool may be provided with an input means (eg, a button) for allowing the user to stop or resume recording.

에러 처리 모듈(117)은 사용자가 에러를 처리하기 위해 수행하는 마우스 움직임(마우스 위치, 마우스 클릭 등) 또는 키보드 움직임(키보드 버튼에 따른 문자 및 숫자의 입력 등) 등의 사용자 입력을 녹화 할 수 있다. 에러 처리 모듈(117)은 녹화된 사용자 입력에 기반하여 에러 처리 스크립트를 생성할 수 있다. 즉, 에러 처리 모듈(117)은 사용자가 에러를 처리하기 위해 수행하는 사용자 입력에 기반하여 에러 처리 스크립트를 생성할 수 있다. 에러 처리 모듈(117)은 생성한 에러 처리 스크립트를 저장할 수 있다. 에러 처리 모듈(117)은 에러가 발생할 때마다 에러 처리 스크립트를 생성하고 저장할 수 있다. 에러 처리 모듈(117)은 해당 스크립트를 재실행할 때 사용자가 설정한 재실행 위치를 해당 에러 처리 스크립트와 매칭하여 저장할 수 있다. The error processing module 117 may record user input such as mouse movement (mouse position, mouse click, etc.) or keyboard movement (input of letters and numbers according to keyboard buttons, etc.) performed by the user to handle the error. . The error handling module 117 may generate an error handling script based on the recorded user input. That is, the error handling module 117 may generate an error handling script based on a user input performed by the user to process the error. The error handling module 117 may store the generated error handling script. The error handling module 117 may generate and store an error handling script whenever an error occurs. The error handling module 117 may match and store the re-execution location set by the user when re-executing the corresponding script with the corresponding error handling script.

에러 처리 모듈(117)은 스크립트의 실행 중 에러가 발생하는 경우, 에러가 발생한 스크립트의 히스토리 정보(현재 에러의 히스토리 정보)와 기존의 에러가 발생한 스크립트의 히스토리 정보(과거 에러의 히스토리 정보)를 비교할 수 있다. 이때, 에러 처리 모듈(117)은 현재 에러의 히스토리 정보와 과거 에러의 히스토리 정보들 간의 유사도를 산출할 수 있다. The error processing module 117 compares history information (history information of current errors) of a script in which an error occurs (history information of current errors) with history information (history information of past errors) of a script in which an error occurs (history information of past errors) when an error occurs during execution of the script. can In this case, the error processing module 117 may calculate a similarity between the history information of the current error and the history information of the past error.

에러 처리 모듈(117)은 현재 에러의 히스토리 정보와 가장 유사한 과거 에러의 히스토리 정보를 추출하고, 추출한 과거 에러의 히스토리 정보에 대응하는 에러 처리 스크립트를 추출할 수 있다. 에러 처리 모듈(117)은 추출한 에러 처리 스크립트를 실행하여 현재 에러를 처리할 수 있다. 에러 처리 모듈(117)은 에러 처리 스크립트를 실행한 후, 에러 처리 스크립트와 매칭되어 저장된 재실행 위치를 확인하고 확인된 위치에서 해당 스크립트를 재실행시킬 수 있다. The error processing module 117 may extract history information of a past error most similar to history information of a current error, and extract an error processing script corresponding to the history information of the extracted past error. The error handling module 117 may process the current error by executing the extracted error handling script. After executing the error handling script, the error handling module 117 may check a re-execution location stored by matching the error handling script and re-execute the corresponding script at the confirmed location.

에러 처리 모듈(117)은 과거 에러들의 에러 처리 스크립트로 해당 에러가 해결이 안 되는 경우, 사용자에게 에러 알림을 하고, 사용자가 에러를 처리하기 위해 수행하는 사용자 입력을 녹화(기록)하여 에러 처리 스크립트를 생성 및 저장할 수 있다. The error handling module 117 notifies the user of the error when the corresponding error is not resolved with the error handling script of past errors, and records (records) the user input performed by the user to handle the error, thereby creating an error handling script can be created and saved.

한편, 제1 사용자 단말(102)은 제2 사용자 단말(104)과 채팅을 수행하는 챗봇 연동 모듈(미도시)을 더 포함할 수 있다. 챗봇 연동 모듈(미도시)은 인공 지능 기반으로 제2 사용자 단말(104)의 사용자와 채팅을 수행하면서 스크립트 관리를 수행하도록 마련될 수 있다. 예를 들어, 챗봇 연동 모듈(미도시)은 채팅 창에서 제2 사용자 단말(104)의 스크립트 수행 명령을 수신하는 경우, 해당 스크립트를 실행하고, 스크립트의 실행에 따른 정보(스크립트 실행 관련 정보)(예를 들어, 스크립트 실행 상태, 스크립트 실행 결과, 및 스크립트 실행 시간 등의 정보를 포함)를 채팅 창을 통해 제2 사용자 단말(104)로 알려줄 수 있다. Meanwhile, the first user terminal 102 may further include a chatbot interworking module (not shown) for chatting with the second user terminal 104 . The chatbot interworking module (not shown) may be provided to perform script management while chatting with the user of the second user terminal 104 based on artificial intelligence. For example, when the chatbot interworking module (not shown) receives a script execution command from the second user terminal 104 in the chat window, it executes the script, and information (script execution related information) according to the execution of the script ( For example, information such as a script execution state, a script execution result, and a script execution time) may be informed to the second user terminal 104 through the chatting window.

또한, 챗봇 연동 모듈(미도시)은 채팅 창에서 제2 사용자 단말(104)의 스크립트 변경 요청을 수신하는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 채팅 창을 통해 제2 사용자 단말(104)로 송신하고, 제2 사용자 단말(104)로부터 스크립트 변경 정보를 수신하여 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가할 수 있다.In addition, when the chatbot interworking module (not shown) receives a script change request from the second user terminal 104 in the chatting window, it creates a work schedule according to the pre-registered scripts, and through the chatting window, the second user terminal ( 104), and by receiving script change information from the second user terminal 104, it is possible to change or delete a previously registered script or add a new script.

다시 도 1을 참조하면, 제2 사용자 단말(104)은 사용자가 소지하는 단말일 수 있다. 예를 들어, 제2 사용자 단말(104)은 스마트 폰 또는 태블릿 PC일 수 있다. 제2 사용자 단말(104)은 어시스턴스 서버(106)를 통해 원격에서 제1 사용자 단말(102)의 로보틱 자동화 처리를 제어하기 위한 것일 수 있다. Referring back to FIG. 1 , the second user terminal 104 may be a terminal possessed by the user. For example, the second user terminal 104 may be a smart phone or a tablet PC. The second user terminal 104 may be for controlling the robotic automated processing of the first user terminal 102 remotely via the assistance server 106 .

도 9는 본 발명의 일 실시예에 따른 제2 사용자 단말(104)의 구성을 나타낸 블록도이다. 도 9를 참조하면, 제2 사용자 단말(104)은 스크립트 관련 모듈(121), 선택 관련 모듈(123), 및 에러 관련 모듈(125)을 포함할 수 있다. 9 is a block diagram showing the configuration of the second user terminal 104 according to an embodiment of the present invention. Referring to FIG. 9 , the second user terminal 104 may include a script related module 121 , a selection related module 123 , and an error related module 125 .

스크립트 관련 모듈(121)은 사용자의 입력에 따라 스크립트 변경 요청을 어시스턴스 서버(106)로 송신할 수 있다. 그러면, 어시스턴스 서버(106)는 스크립트 변경 요청을 제1 사용자 단말(102)로 전달할 수 있다. The script-related module 121 may transmit a script change request to the assistance server 106 according to a user's input. Then, the assistance server 106 may transmit the script change request to the first user terminal 102 .

스크립트 관련 모듈(121)은 어시스턴스 서버(106)로부터 스크립트 변경 요청에 대응하는 업무 스케줄(기 등록된 스크립트들에 따른 업무 스케줄)을 수신할 수 있다. 스크립트 관련 모듈(121)은 수신한 업무 스케줄에 기반하여 일정 기간 동안의 업무 스케줄 표를 생성하고, 생성된 업무 스케줄 표를 제2 사용자 단말(104)의 화면에 표시할 수 있다. 도 10은 본 발명의 일 실시예에 따른 업무 스케줄 표를 나타낸 도면이다. 여기서는 주간 단위의 업무 스케줄 표를 나타내었다. The script-related module 121 may receive a task schedule (task schedule according to previously registered scripts) corresponding to the script change request from the assistance server 106 . The script-related module 121 may generate a work schedule table for a certain period based on the received work schedule, and display the generated work schedule table on the screen of the second user terminal 104 . 10 is a diagram illustrating a work schedule table according to an embodiment of the present invention. Here, the weekly work schedule table is shown.

사용자는 제2 사용자 단말(104)의 화면에 표시된 업무 스케줄 표를 통해 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가하기 위한 스크립트 변경 정보를 입력할 수 있다. 업무 스케줄 표에는 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가하기 위한 기능이 포함될 수 있다. 스크립트 관련 모듈(121)은 스크립트 변경 정보를 어시스턴스 서버(106)를 통해 제1 사용자 단말(102)로 송신할 수 있다. 이 경우, 제2 사용자 단말(104)을 통해 원격에 위치하는 제1 사용자 단말(102)의 로봇 자동화 처리의 작업 스케줄을 용이하게 변경할 수 있게 된다.The user may input script change information for changing or deleting a previously registered script or adding a new script through the work schedule table displayed on the screen of the second user terminal 104 . The task schedule table may include a function for changing or deleting a previously registered script or adding a new script. The script related module 121 may transmit script change information to the first user terminal 102 through the assistance server 106 . In this case, it is possible to easily change the work schedule of the robot automation process of the first user terminal 102 located remotely through the second user terminal 104 .

스크립트 관련 모듈(121)은 어시스턴스 서버(106)로부터 스크립트 실행 관련 정보를 수신할 수 있다. 스크립트 관련 모듈(121)은 수신한 스크립트 실행 관련 정보를 제2 사용자 단말(104)의 화면에 표시할 수 있다. 도 11은 본 발명의 일 실시예에서 제2 사용자 단말(104)의 화면에 표시된 스크립트 실행 관련 정보를 나타낸 도면이다. 이를 통해 사용자는 스크립트 변경 정보에 따라 변경된 스크립트의 실행 여부 및 실행 결과 등을 용이하게 확인할 수 있게 된다.The script related module 121 may receive script execution related information from the assistance server 106 . The script related module 121 may display the received script execution related information on the screen of the second user terminal 104 . 11 is a diagram illustrating script execution related information displayed on the screen of the second user terminal 104 in an embodiment of the present invention. Through this, the user can easily check whether the changed script is executed and the execution result according to the script change information.

선택 관련 모듈(123)은 어시스턴스 서버(106)로부터 사용자 선택 요청을 수신할 수 있다. 사용자 선택 요청에는 제1 사용자 단말(102)의 화면에 표시된 메시지 박스의 속성 정보가 포함될 수 있다. The selection related module 123 may receive a user selection request from the assistance server 106 . The user selection request may include attribute information of a message box displayed on the screen of the first user terminal 102 .

선택 관련 모듈(123)은 사용자 선택 요청에 포함된 메시지 박스의 속성 정보에 기반하여 메시지 박스에 대응하는 메시지 선택 창을 생성하고, 이를 제2 사용자 단말(104)의 화면에 표시할 수 있다. 도 12는 본 발명의 일 실시예에서 제2 사용자 단말(104)의 화면에 표시된 메시지 선택 창을 나타낸 도면이다. 메시지 선택 창에는 메시지 박스 내에 존재하는 하나 이상의 버튼이 포함될 수 있다. 사용자는 버튼을 클릭하여 사용자 선택을 입력할 수 있다. The selection related module 123 may generate a message selection window corresponding to the message box based on the attribute information of the message box included in the user selection request, and display it on the screen of the second user terminal 104 . 12 is a diagram illustrating a message selection window displayed on the screen of the second user terminal 104 according to an embodiment of the present invention. The message selection window may include one or more buttons present within the message box. The user can click a button to enter a user selection.

선택 관련 모듈(123)은 메시지 선택 창을 통한 사용자 입력을 어시스턴스 서버(106)를 통해 제1 사용자 단말(102)로 송신할 수 있다. 이 경우, 제1 사용자 단말(102)에서 스크립트 실행 중 선택 이벤트가 발생하여도 원격에서 사용자 선택에 대한 입력을 전달할 수 있으며, 그로 인해 스크립트가 중단되는 것을 방지할 수 있게 된다.The selection related module 123 may transmit a user input through the message selection window to the first user terminal 102 through the assistance server 106 . In this case, even if a selection event occurs during script execution in the first user terminal 102, an input for user selection can be transmitted remotely, thereby preventing the script from being interrupted.

에러 관련 모듈(125)은 어시스턴스 서버(106)로부터 에러 알림 정보를 수신할 수 있다. 에러 관련 모듈(125)은 에러 알림 정보를 제2 사용자 단말(104)의 화면에 표시할 수 있다. 도 13은 본 발명의 일 실시예에서 제2 사용자 단말(104)의 화면에 에러 알림 정보가 표시된 상태를 나타낸 도면이다.The error related module 125 may receive error notification information from the assistance server 106 . The error related module 125 may display error notification information on the screen of the second user terminal 104 . 13 is a diagram illustrating a state in which error notification information is displayed on the screen of the second user terminal 104 according to an embodiment of the present invention.

에러 관련 모듈(125)은 어시스턴스 서버(106)로부터 스크립트의 실행 시점부터 에러 발생 시점까지의 히스토리 정보를 수신하고 이를 제2 사용자 단말(104)의 화면에 표시할 수 있다. 에러 관련 모듈(125)은 제2 사용자 단말(104)에서 에러를 처리할 수 있도록 하는 에러 처리 툴을 사용자에게 제공할 수 있다. 에러 관련 모듈(125)은 에러 처리 툴을 통해 히스토리 정보를 화면에 표시할 수 있다.The error related module 125 may receive history information from the assistance server 106 from the execution time of the script to the error occurrence time and display it on the screen of the second user terminal 104 . The error related module 125 may provide the user with an error handling tool that allows the second user terminal 104 to process an error. The error-related module 125 may display history information on the screen through the error processing tool.

에러 관련 모듈(125)은 어시스턴스 서버(106)로부터 해당 스크립트에 대한 이벤트 리스트를 수신하고 이를 제2 사용자 단말(104)의 화면에 표시하여 사용자가 해당 스크립트의 재실행 위치를 선택하도록 할 수 있다. The error-related module 125 may receive an event list for the corresponding script from the assistance server 106 and display it on the screen of the second user terminal 104 so that the user may select a re-execution location of the corresponding script.

다시 도 1을 참조하면, 어시스턴스 서버(106)는 제2 사용자 단말(104)을 통해 제1 사용자 단말(102)의 로보틱 자동화 처리를 제어할 수 있도록 어시스턴스 하기 위한 서버 컴퓨팅 장치일 수 있다. 어시스턴스 서버(106)는 제2 사용자 단말(104)에서 제1 사용자 단말(102)의 스크립트를 변경할 수 있도록 어시스턴스 할 수 있다. Referring back to FIG. 1 , the assistance server 106 may be a server computing device for assisting to control the robotic automation processing of the first user terminal 102 via the second user terminal 104 . . The assistance server 106 may assist the second user terminal 104 to change the script of the first user terminal 102 .

어시스턴스 서버(106)는 제1 사용자 단말(102)에서 스크립트 실행 중 선택 이벤트가 발생하는 경우, 제2 사용자 단말(104)로부터 사용자 선택에 대한 입력을 받아 제1 사용자 단말(102)로 전달하여 스크립트가 계속 실행될 수 있도록 어시스턴스 할 수 있다. When a selection event occurs during script execution in the first user terminal 102 , the assistance server 106 receives an input for user selection from the second user terminal 104 and transmits it to the first user terminal 102 . You can assist so that the script can continue to run.

어시스턴스 서버(106)는 제1 사용자 단말(102)에서 스크립트 실행 중 에러가 발생한 경우, 제2 사용자 단말(104)로 에러 알림을 전송하고 제2 사용자 단말(104)에서 에러 처리를 할 수 있도록 어시스턴스 할 수 있다. When an error occurs during script execution in the first user terminal 102 , the assistance server 106 transmits an error notification to the second user terminal 104 so that the second user terminal 104 can process the error. can assist

개시되는 실시예에 의하면, 제2 사용자 단말의 스크립트 변경 요청에 따라 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 전달하고, 제2 사용자 단말로부터 스크립트 변경 정보를 수신함으로써, 원격지에 위치하는 제2 사용자 단말을 통해 스크립트를 변경 또는 삭제 또는 추가할 수 있게 된다.According to the disclosed embodiment, by generating and delivering a work schedule according to previously registered scripts in response to a script change request from the second user terminal, and receiving script change information from the second user terminal, a second It becomes possible to change, delete, or add a script through the user terminal.

또한, 제1 사용자 단말에서 스크립트 실행 중 기 설정된 선택 이벤트가 발생하는 경우, 사용자 선택 요청을 제2 사용자 단말로 송신하고, 제2 사용자 단말로부터 사용자 선택 요청에 대응하는 사용자 입력을 수신함으로써, 스크립트 실행 중 사용자의 선택에 대한 입력이 필요한 경우에 실시간으로 대처하여 스크립트의 실행이 중단되지 않고 계속 실행되도록 할 수 있다. In addition, when a preset selection event occurs during script execution in the first user terminal, the script is executed by transmitting a user selection request to the second user terminal and receiving a user input corresponding to the user selection request from the second user terminal When an input for a user's selection is required, the script can be continuously executed without interruption by responding in real time.

또한, 스크립트 실행 중 에러가 발생하는 경우, 에러 알림을 통해 사용자가 에러를 처리하도록 할 수 있고, 에러 처리를 위한 사용자 입력을 녹화하여 에러 처리 스크립트를 생성함으로써, 예상치 못한 에러가 발생하였을 경우 기 생성된 에러 처리 스크립트를 이용하여 에러 처리를 수행할 수 있게 된다.In addition, when an error occurs during script execution, the user can handle the error through an error notification, and by recording the user input for error handling to generate an error handling script, a pre-creation when an unexpected error occurs Error handling can be performed using the error handling script.

본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 "모듈"은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아니다.In this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the "module" may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean physically connected code or one type of hardware.

도 14는 본 발명의 일 실시예에 따른 로보틱 자동화 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.14 is a flowchart illustrating a robotic automation method according to an embodiment of the present invention. In the illustrated flowchart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, are performed together in combination with other steps, are omitted, are performed in sub-steps, or are not shown. One or more steps may be added and performed.

도 14를 참조하면, 제1 사용자 단말(102)은 스크립트 실행 중 제1 사용자 단말(102)의 화면에 메시지 박스가 표시되는지 여부를 확인할 수 있다(S 101). 제1 사용자 단말(102)의 화면에 메시지 박스가 표시된 경우, 제1 사용자 단말(102)은 메시지 박스의 속성 정보를 획득할 수 있다(S 103). Referring to FIG. 14 , the first user terminal 102 may check whether a message box is displayed on the screen of the first user terminal 102 during script execution ( S101 ). When the message box is displayed on the screen of the first user terminal 102, the first user terminal 102 may obtain attribute information of the message box (S103).

제1 사용자 단말(102)은 메시지 박스의 속성 정보를 분석하여 메시지 박스가 기 설정된 선택 이벤트에 해당하는지 여부를 확인할 수 있다(S 105). 메시지 박스가 기 설정된 선택 이벤트에 해당하는 경우, 제1 사용자 단말(102)은 메시지 박스의 속성 정보를 포함하는 사용자 선택 요청을 어시스턴스 서버(106)를 통해 제2 사용자 단말(104)로 송신할 수 있다(S 107).The first user terminal 102 may analyze the attribute information of the message box to determine whether the message box corresponds to a preset selection event (S105). When the message box corresponds to a preset selection event, the first user terminal 102 transmits a user selection request including attribute information of the message box to the second user terminal 104 through the assistance server 106. Can be (S 107).

다음으로, 제2 사용자 단말(104)은 사용자 선택 요청에 포함된 메시지 박스의 속성 정보에 기반하여 메시지 박스에 대응하는 메시지 선택 창을 생성하고 제2 사용자 단말(104)의 화면에 표시할 수 있다(S 109). Next, the second user terminal 104 may generate a message selection window corresponding to the message box based on the attribute information of the message box included in the user selection request and display it on the screen of the second user terminal 104 . (S 109).

제2 사용자 단말(104)은 메시지 선택 창을 통해 사용자 선택에 따른 입력(사용자 입력)을 받을 수 있다(S 111). 제2 사용자 단말(104)은 사용자 선택 요청에 대응하는 사용자 입력을 어시스턴스 서버(106)를 통해 제1 사용자 단말(102)로 송신할 수 있다(S 113).The second user terminal 104 may receive an input (user input) according to the user selection through the message selection window (S 111). The second user terminal 104 may transmit a user input corresponding to the user selection request to the first user terminal 102 through the assistance server 106 (S113).

다음으로, 제1 사용자 단말(102)은 수신한 사용자 입력에 따라 해당 스크립트에 따른 업무를 계속적으로 실행시킬 수 있다(S 115).Next, the first user terminal 102 may continuously execute the task according to the script according to the received user input (S115).

도 15는 본 발명의 다른 실시예에 따른 로보틱 자동화 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.15 is a flowchart illustrating a robotic automation method according to another embodiment of the present invention. In the illustrated flowchart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, are performed together in combination with other steps, are omitted, are performed in sub-steps, or are not shown. One or more steps may be added and performed.

도 15를 참조하면, 제1 사용자 단말(102)은 스크립트 실행 중 에러가 발생하는지 여부를 확인할 수 있다(S 201). 에러가 발생하는 경우, 제1 사용자 단말(102)은 에러 처리를 위해 수행하는 사용자 입력을 녹화(기록)할 수 있다(S 203). Referring to FIG. 15 , the first user terminal 102 may check whether an error occurs during script execution ( S201 ). When an error occurs, the first user terminal 102 may record (record) a user input performed for error processing (S203).

다음으로, 제1 사용자 단말(102)은 녹화된 사용자 입력에 기반하여 에러에 대한 에러 처리 스크립트를 생성할 수 있다(S 205). 제1 사용자 단말(102)은 해당 스크립트를 재실행할 때 사용자가 설정한 재실행 위치를 에러 처리 스크립트와 매칭하여 저장할 수 있다(S 207).Next, the first user terminal 102 may generate an error handling script for the error based on the recorded user input (S205). The first user terminal 102 may match and store the re-execution location set by the user when re-executing the corresponding script with the error handling script (S 207).

다음으로, 제1 사용자 단말(102)은 소정 스크립트의 실행 중 에러가 발생하는지 여부를 확인할 수 있다(S 209). 에러가 발생하는 경우, 제1 사용자 단말(102)은 에러가 발생한 스크립트의 히스토리 정보와 과거 에러의 히스토리 정보들 간의 유사도를 산출할 수 있다(S 211). Next, the first user terminal 102 may check whether an error occurs during execution of a predetermined script (S209). When an error occurs, the first user terminal 102 may calculate a similarity between the history information of the script in which the error occurred and the history information of the past error (S 211).

제1 사용자 단말(102)은 과거 에러의 히스토리 정보들 중 에러가 발생한 스크립트의 히스토리 정보와의 유사도가 가장 높은 과거 에러의 히스토리 정보에 대응하는 에러 처리 스크립트를 추출할 수 있다(S 213). 제1 사용자 단말(102)은 추출한 에러 처리 스크립트를 이용하여 에러가 처리되는지 여부를 확인할 수 있다(S 215). The first user terminal 102 may extract an error processing script corresponding to history information of a past error having the highest degree of similarity with history information of a script in which an error occurred among the history information of past errors (S213). The first user terminal 102 may check whether an error is processed using the extracted error processing script (S215).

단계 S 215의 확인 결과, 에러가 처리되는 경우, 제1 사용자 단말(102)은 에러 처리 스크립트와 매칭되어 저장된 재실행 위치를 확인하고 확인된 위치에서 해당 스크립트를 재실행시킬 수 있다(S 217).As a result of the check in step S215, if an error is processed, the first user terminal 102 may check the re-execution location stored by matching the error handling script, and re-execute the script at the checked location (S217).

단계 S 215의 확인 결과, 에러가 처리되지 않는 경우, 제1 사용자 단말(102)은 에러 처리를 위해 수행하는 사용자 입력을 녹화하고, 녹화된 사용자 입력에 기반하여 에러에 대한 에러 처리 스크립트를 생성 및 저장할 수 있다(S 219). As a result of checking in step S 215, if the error is not processed, the first user terminal 102 records a user input performed for error processing, and generates an error processing script for the error based on the recorded user input; It can be saved (S219).

그러나, 이에 한정되는 것은 아니며 과거 에러의 히스토리 정보들 중 유사도가 그 다음으로 높은 과거 에러의 히스토리 정보에 대응하는 에러 처리 스크립트를 추출하여 에러 처리를 수행하는 과정을 기 설정된 횟수까지 반복하여 수행할 수도 있다. However, the present invention is not limited thereto, and the process of extracting the error processing script corresponding to the history information of the past error having the next highest similarity among the history information of the past error and performing the error processing may be repeatedly performed up to a preset number of times. have.

도 16은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.16 is a block diagram illustrating and describing a computing environment 10 including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 제1 사용자 단말(102)일 수 있다. 또한, 컴퓨팅 장치(12)는 제2 사용자 단말(104)일 수 있다. 또한, 컴퓨팅 장치(12)는 어시스턴스 서버(106)일 수 있다. The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be first user terminal 102 . Also, the computing device 12 may be the second user terminal 104 . Computing device 12 may also be assistance server 106 .

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , computer readable storage medium 16 , and communication bus 18 . The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiments discussed above. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 . The one or more programs may include one or more computer-executable instructions that, when executed by the processor 14, configure the computing device 12 to perform operations in accordance with the exemplary embodiment. can be

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14 . In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other forms of storage medium that can be accessed by computing device 12 and store desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12 , including processor 14 and computer readable storage medium 16 .

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . The input/output interface 22 and the network communication interface 26 are coupled to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output device 24 may include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or imaging devices. input devices and/or output devices such as display devices, printers, speakers and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12 , and may be connected to the computing device 12 as a separate device distinct from the computing device 12 . may be

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those of ordinary skill in the art to which the present invention pertains will understand that various modifications are possible within the limits without departing from the scope of the present invention with respect to the above-described embodiments. . Therefore, the scope of the present invention should not be limited to the described embodiments, and should be defined by the claims described below as well as the claims and equivalents.

100 : 로보틱 자동화 시스템
102 : 제1 사용자 단말
104 : 제2 사용자 단말
106 : 어시스턴스 서버
111 : 자동화 처리 엔진
113 : 스크립트 관리 모듈
115 : 선택 처리 모듈
117 : 에러 처리 모듈
121 : 스크립트 관련 모듈
123 : 선택 관련 모듈
125 : 에러 관련 모듈
100: Robotic automation system
102: first user terminal
104: second user terminal
106: assistance server
111: automation processing engine
113: script management module
115: selection processing module
117: error handling module
121: Script related module
123: Select related module
125: error related module

Claims (10)

하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비하고, 로보틱 자동화를 위한 컴퓨팅 장치로서,
하나 이상의 스크립트에 따라 하나 이상의 대상 업무를 실행시키는 자동화 처리 엔진; 및
기 설정된 사용자 단말로부터 스크립트 변경 요청을 수신하는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 상기 사용자 단말로 송신하는 스크립트 관리 모듈을 포함하고,
상기 업무 스케줄은, 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격 중 하나 이상을 포함하는, 컴퓨팅 장치.
one or more processors, and
A computing device for robotic automation comprising a memory storing one or more programs executed by the one or more processors, the computing device comprising:
an automation processing engine that executes one or more target tasks according to one or more scripts; and
When receiving a script change request from a preset user terminal, including a script management module that generates a task schedule according to the pre-registered scripts and transmits to the user terminal,
The work schedule includes at least one of a type of work performed by robotic automation processing according to pre-registered scripts, a task execution time, and a task execution characteristic, a computing device.
청구항 1에 있어서,
상기 스크립트 관리 모듈은,
상기 사용자 단말로부터 스크립트 변경 정보를 수신하고, 상기 스크립트 변경 정보에 따라 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가하는, 컴퓨팅 장치.
The method according to claim 1,
The script management module,
A computing device for receiving script change information from the user terminal, and changing or deleting a previously registered script or adding a new script according to the script change information.
청구항 1에 있어서,
상기 스크립트 관리 모듈은,
상기 스크립트의 실행에 따른 스크립트 실행 관련 정보를 상기 사용자 단말로 송신하는, 컴퓨팅 장치
The method according to claim 1,
The script management module,
Computing device for transmitting script execution related information according to the execution of the script to the user terminal
청구항 3에 있어서,
상기 스크립트 실행 관련 정보는,
스크립트 실행 상태, 스크립트 실행 결과, 및 스크립트 실행 시간 중 하나 이상을 포함하는, 컴퓨팅 장치.
4. The method of claim 3,
The script execution related information,
A computing device comprising one or more of a script execution status, a script execution result, and a script execution time.
청구항 1에 있어서,
상기 컴퓨팅 장치는,
상기 사용자 단말과 채팅을 수행하는 챗봇 연동 모듈을 더 포함하고,
상기 챗봇 연동 모듈은, 상기 사용자 단말의 스크립트 수행 명령을 수신하는 경우, 해당 스크립트를 실행하고 스크립트 실행 관련 정보를 채팅 창을 통해 상기 사용자 단말로 송신하는, 컴퓨팅 장치.
The method according to claim 1,
The computing device is
Further comprising a chatbot interworking module for chatting with the user terminal,
The chatbot interworking module, upon receiving a script execution command from the user terminal, executes the script and transmits script execution related information to the user terminal through a chatting window.
하나 이상의 스크립트에 따라 하나 이상의 대상 업무를 실행시켜 로보틱 자동화 처리를 수행하는 제1 사용자 단말;
원격에서 상기 제1 사용자 단말의 로보틱 자동화 처리를 제어하는 제2 사용자 단말; 및
상기 제2 사용자 단말이 상기 제1 사용자 단말의 로보틱 자동화 처리를 제어하는 것을 어시스턴스 하는 어시스턴스 서버를 포함하고,
상기 제1 사용자 단말은, 상기 어시스턴스 서버를 통해 스크립트 변경 요청을 수신하는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하여 상기 어시스턴스 서버로 송신하고,
상기 업무 스케줄은, 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격 중 하나 이상을 포함하는, 로보틱 자동화 시스템.
a first user terminal for performing robotic automation processing by executing one or more target tasks according to one or more scripts;
a second user terminal remotely controlling the robotic automation process of the first user terminal; and
and an assistance server that assists the second user terminal to control the robotic automation process of the first user terminal,
The first user terminal, when receiving a script change request through the assistance server, generates a task schedule according to pre-registered scripts and transmits it to the assistance server,
The task schedule includes at least one of a task type, task execution time, and task execution characteristics performed by robotic automation processing according to pre-registered scripts.
청구항 6에 있어서,
상기 제1 사용자 단말은,
상기 어시스턴스 서버로부터 스크립트 변경 정보를 수신하고, 상기 스크립트 변경 정보에 따라 기 등록된 스크립트를 변경 또는 삭제하거나 스크립트를 새로 추가하는, 로보틱 자동화 시스템.
7. The method of claim 6,
The first user terminal,
A robotic automation system that receives script change information from the assistance server and changes or deletes a previously registered script or adds a new script according to the script change information.
청구항 6에 있어서,
상기 제2 사용자 단말은,
상기 어시스턴스 서버로부터 상기 업무 스케줄을 수신하고, 상기 수신한 업무 스케줄에 기반하여 일정 기간 동안의 업무 스케줄 표를 생성하여 화면에 표시하며, 사용자로부터 상기 업무 스케줄 표를 통해 입력되는 스크립트 변경 정보를 상기 어시스턴스 서버로 송신하는, 로보틱 자동화 시스템.
7. The method of claim 6,
The second user terminal,
Receives the work schedule from the assistance server, generates and displays a work schedule table for a certain period based on the received work schedule, and displays script change information input from the user through the work schedule table. A robotic automation system that sends to the assistance server.
청구항 6에 있어서,
상기 제1 사용자 단말은, 상기 스크립트의 실행에 따른 스크립트 실행 관련 정보를 상기 어시스턴스 서버로 송신하고,
상기 제2 사용자 단말은, 상기 어시스턴스 서버로부터 상기 스크립트 실행 관련 정보를 수신하는, 로보틱 자동화 시스템.
7. The method of claim 6,
The first user terminal transmits script execution related information according to the execution of the script to the assistance server,
The second user terminal receives the script execution related information from the assistance server, a robotic automation system.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
외부 기기로부터 스크립트 변경 요청이 수신되는지 여부를 확인하는 단계;
상기 스크립트 변경 요청이 수신되는 경우, 기 등록된 스크립트들에 따른 업무 스케줄을 생성하는 단계; 및
상기 업무 스케줄을 상기 외부 기기로 송신하는 단계를 포함하고,
상기 업무 스케줄은, 기 등록된 스크립트들에 따라 로보틱 자동화 처리로 수행되는 업무 종류, 업무 실행 시간, 및 업무 실행 성격 중 하나 이상을 포함하는, 로보틱 자동화 방법.
one or more processors, and
A method performed in a computing device having a memory storing one or more programs to be executed by the one or more processors, the method comprising:
checking whether a script change request is received from an external device;
generating a work schedule according to pre-registered scripts when the script change request is received; and
Transmitting the work schedule to the external device,
The task schedule includes one or more of a task type, task execution time, and task execution characteristics performed by robotic automation processing according to pre-registered scripts.
KR1020220081782A 2022-03-29 2022-07-04 Robotic automation method and systen, and computing device for executing the method KR102448263B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220081782A KR102448263B1 (en) 2022-03-29 2022-07-04 Robotic automation method and systen, and computing device for executing the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220039025A KR102418739B1 (en) 2022-03-29 2022-03-29 Robotic automation method and computing device for executing the method
KR1020220081782A KR102448263B1 (en) 2022-03-29 2022-07-04 Robotic automation method and systen, and computing device for executing the method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220039025A Division KR102418739B1 (en) 2022-03-29 2022-03-29 Robotic automation method and computing device for executing the method

Publications (1)

Publication Number Publication Date
KR102448263B1 true KR102448263B1 (en) 2022-09-28

Family

ID=82407333

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020220039025A KR102418739B1 (en) 2022-03-29 2022-03-29 Robotic automation method and computing device for executing the method
KR1020220081782A KR102448263B1 (en) 2022-03-29 2022-07-04 Robotic automation method and systen, and computing device for executing the method
KR1020220081781A KR102453289B1 (en) 2022-03-29 2022-07-04 Robotic automation method and systen, and computing device for executing the method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220039025A KR102418739B1 (en) 2022-03-29 2022-03-29 Robotic automation method and computing device for executing the method

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220081781A KR102453289B1 (en) 2022-03-29 2022-07-04 Robotic automation method and systen, and computing device for executing the method

Country Status (1)

Country Link
KR (3) KR102418739B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020047040A1 (en) * 2018-08-29 2020-03-05 Ernst & Young U.S. Llp Automated software script remediation methods and systems
US20200233707A1 (en) * 2019-01-16 2020-07-23 Epiance Software Pvt. Ltd. Process discovery and automatic robotic scripts generation for distributed computing resources
KR20210044685A (en) * 2019-10-14 2021-04-23 유아이패스, 인크. Naming robotic process automation activities according to automatically detected target labels
KR20210082622A (en) * 2019-12-26 2021-07-06 주식회사 포스코아이씨티 System for Searching Object for Robot Process Automation
KR20220004291A (en) 2020-07-03 2022-01-11 한국전력공사 Integrated middleware apparatus for robotic process automation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10235192B2 (en) * 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
JP2020009279A (en) * 2018-07-11 2020-01-16 富士ゼロックス株式会社 Information processing program, information processing device and information processing method
KR102160344B1 (en) * 2018-12-31 2020-09-25 주식회사 포스코아이씨티 System and Method for Robot Process Automation
KR102254850B1 (en) * 2018-12-31 2021-05-21 주식회사 포스코아이씨티 Process Editor Apparatus and Robot Process Automation including thereof
JP7299499B2 (en) * 2019-09-30 2023-06-28 富士通株式会社 Information processing program, information processing method, and information processing apparatus
KR20210048865A (en) * 2019-10-24 2021-05-04 삼성에스디에스 주식회사 Robot process automation apparatus and method for detecting changes thereof
KR102299657B1 (en) * 2019-12-19 2021-09-07 주식회사 포스코아이씨티 Key Input Virtualization System for Robot Process Automation
KR102322885B1 (en) * 2021-05-31 2021-11-05 시와소프트 주식회사 Robotic process automation system for recommending improvement process of automated work flow

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020047040A1 (en) * 2018-08-29 2020-03-05 Ernst & Young U.S. Llp Automated software script remediation methods and systems
US20200233707A1 (en) * 2019-01-16 2020-07-23 Epiance Software Pvt. Ltd. Process discovery and automatic robotic scripts generation for distributed computing resources
KR20210044685A (en) * 2019-10-14 2021-04-23 유아이패스, 인크. Naming robotic process automation activities according to automatically detected target labels
KR20210082622A (en) * 2019-12-26 2021-07-06 주식회사 포스코아이씨티 System for Searching Object for Robot Process Automation
KR20220004291A (en) 2020-07-03 2022-01-11 한국전력공사 Integrated middleware apparatus for robotic process automation

Also Published As

Publication number Publication date
KR102453289B1 (en) 2022-10-11
KR102418739B1 (en) 2022-07-08

Similar Documents

Publication Publication Date Title
US11541548B2 (en) Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US9383903B2 (en) Systems and methods for providing programmable macros
US11919165B2 (en) Process evolution for robotic process automation and workflow micro-optimization
CN108427616B (en) Background program monitoring method and monitoring device
CN114556245A (en) Man-machine looped robot training for robot process automation
US20130117738A1 (en) Server Upgrades with Safety Checking and Preview
KR102446521B1 (en) Screen Response Verification of Robot Execution for Robotic Process Automation
US10095608B2 (en) Application test automation transmitting data via phone/voice calls
CN111984476A (en) Test method and device
KR20220079834A (en) Artificial intelligence layer-based process extraction for robotic process automation
JP2023545253A (en) Training artificial intelligence/machine learning models to recognize applications, screens, and user interface elements using computer vision
JP2023545644A (en) Interaction sequencing, process extraction, and robot generation using artificial intelligence/machine learning models
KR102448263B1 (en) Robotic automation method and systen, and computing device for executing the method
JP2022527874A (en) Text detection, caret tracking, and active element detection
US10984003B2 (en) Report generation for a digital task
US20230009201A1 (en) Image pattern matching to robotic process automations
KR20220056396A (en) System and method for auto-completing roboting processing automation based on history
CN115917446A (en) System and method for robotic process automation
KR102326608B1 (en) Apparaus and method for checking mobile application based on robotic process automation
CN117742700A (en) Automatic operation execution method, device, apparatus, medium, and program product
US20240004781A1 (en) Network status simulation for remote device infrastructure
CN112465466B (en) Method, device, computer equipment and storage medium for executing flow task
WO2022062612A1 (en) Determining diagnostic information utilizing program code
CN116954795A (en) Page view component control method and device, storage medium and computer equipment
CN117742834A (en) Method and device for configuring page component of low-code platform

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant