CN113334371B - 用于机器人流程自动化的自动化窗口 - Google Patents
用于机器人流程自动化的自动化窗口 Download PDFInfo
- Publication number
- CN113334371B CN113334371B CN202010894023.7A CN202010894023A CN113334371B CN 113334371 B CN113334371 B CN 113334371B CN 202010894023 A CN202010894023 A CN 202010894023A CN 113334371 B CN113334371 B CN 113334371B
- Authority
- CN
- China
- Prior art keywords
- session
- robot
- rpa
- window
- parent
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000004801 process automation Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims description 70
- 230000008569 process Effects 0.000 claims description 51
- 230000000694 effects Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 17
- 238000011161 development Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013461 design Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 239000003795 chemical substances by application Substances 0.000 description 17
- 238000012360 testing method Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013024 troubleshooting Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100391182 Dictyostelium discoideum forI gene Proteins 0.000 description 1
- 101100001347 Mus musculus Akt1s1 gene Proteins 0.000 description 1
- 208000014633 Retinitis punctata albescens Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
- G06Q10/103—Workflow collaboration or project management
-
- 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/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13144—GUI graphical user interface, icon, function bloc editor, OI operator interface
-
- 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/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23258—GUI graphical user interface, icon, function bloc editor, labview
-
- 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/31—From computer integrated manufacturing till monitoring
- G05B2219/31124—Interface between communication network and process control, store, exchange data
-
- 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/32—Operator till task planning
- G05B2219/32128—Gui graphical user interface
-
- 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/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Economics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了用于有人值守或无人值守的机器人的机器人流程自动化(RPA)的自动化窗口。子会话被创建并被托管为包括与父会话相关联的窗口的应用的用户界面(UI)的窗口。运行多个会话允许在用户与父会话交互时机器人在该子会话中操作。用户可以因此能够与机器人没有正在使用的应用交互,或者用户和机器人可以能够与相同应用交互(如果该应用具有该功能的话)。用户和机器人两者都与相同的应用实例和文件系统交互。经由机器人和用户在应用中进行的改变将被做出,如同单个用户做出改变一样,而不是使用户和机器人各自对应用和文件系统的单独的版本起作用。
Description
技术领域
本发明总体上涉及机器人流程自动化(RPA),并且更具体地涉及用于有人值守或无人值守的机器人的RPA的自动化窗口。
背景技术
有人值守的自动化机器人运行在由用户操作的计算系统上。在有人值守的自动化情形中可能出现的问题是机器人可以在用户试图与计算系统交互时“接管”用户的计算系统。换言之,机器人通过用户界面(UI)以与用户相同的方式(例如,模拟鼠标点击和键盘输入)控制应用。
存在创建操作系统或运行在其上的应用的完全或部分副本的各种技术。仿真器已经存在了数十年并且可以为开发者提供测试并调试应用的能力。例如,仿真器可以为开发者提供测试并调试使用不支持直接运行开发工具的操作系统的移动应用的能力。和两者都提供了可以从开发机器运行以测试并调试或应用的仿真器,因为开发者工具不能本机运行在那些移动操作系统上。
模拟器允许开发者在他或她的本地机器上托管窗口,该窗口允许难以或不可能在开发机器上执行的应用的开发者测试和调试行为。例如,模拟器允许开发者点击按钮以旋转模拟器,其告诉运行在模拟器内部的应用设备已经出于测试并调试对这些事件做出响应的应用行为的目的而被旋转。另一常见示例是多触摸。许多开发者机器不支持触摸,因此模拟器使开发者测试并调试应用如何对多个触摸点做出响应。和仿真器还提供模拟能力。另外,提供用于它们的通用Windows平台(UWP)应用的模拟器。
虚拟机在机器上托管第二操作系统并且能够通过窗口被打开和监测。这运行完全不同的操作系统并与托管机器共享硬件。“游客”机器必须安装有它自己的应用的副本并且不与用户机器共享公共资源或文件。
容器在概念上是虚拟机的混合形式。需要被执行的所有应用被封装成直接执行在主机操作系统上的不可变封装。封装不是另一操作系统的完整副本,但是其默认不共享或能够访问托管机器上的应用或资源中的任何。因此,从用户体验角度,容器感觉类似于虚拟机,但是在技术上,容器不执行在完全分离的操作系统上。
发明内容
本发明的某些实施例可以提供对本领域中的尚未通过当前RPA技术被完全标识、认识到或解决的问题和需求的解决方案。例如,本发明的一些实施例涉及用于有人值守或无人值守的机器人的PRA的自动化窗口。
在实施例中,一种计算机程序被体现于非瞬态计算机可读介质上。程序被配置为使至少一个处理器启动子会话窗口和子窗口。子会话是针对操作系统的父会话的子代,并且子窗口位于父会话的父窗口内。程序还被配置为使至少一个处理器在用户计算系统上启动用户会话窗口,将用于机器人会话的机器人会话窗口启动为用户会话窗口的子窗口,在机器人子会话中将RPA机器人初始化为过程,并且执行RPA机器人。在执行期间,RPA机器人执行包括子会话窗口内的多个活动的RPA工作流。父会话和子会话能够访问共用文件系统。
在另一实施例中,一种用于在设计时执行用于RPA的有人值守的自动化的计算机实现的方法包括:从集成开发环境(IDE)启动子会话窗口和子会话。子会话是针对操作系统的父会话的子代,并且子窗口位于父会话的父窗口内。计算机实现的方法还包括在子会话中将RPA机器人初始化为过程并执行RPA机器人。在执行期间,RPA机器人执行包括子会话窗口内的多个活动的RPA工作流。父会话和子会话能够访问共用文件系统。
在又一实施例中,一种用于RPA中的自动化监测的计算机实现的方法包括:在与计算系统相关联的父会话中初始化并执行监测和故障排除应用。计算机实现的方法还包括启动子会话窗口和子会话。子会话是针对操作系统的父会话的子代。计算机实现的方法还包括在子会话中将无人值守的RPA机器人初始化并执行为过程,从监测和故障排除应用的用户接收命令以终止无人值守的RPA机器人的操作,并且响应于接收到命令而暂停或终止无人值守的RPA机器人的操作。父会话和子会话能够访问共用文件系统。
附图说明
为了本发明的某些实施例的优点将被容易理解,以上简单描述的本发明的更具体的描述将通过参考在附图中图示的特定实施例来呈现。尽管应当理解这些附图仅仅描绘本发明的典型实施例并且因此不被认为是对其范围的限制,但是本发明利用在对附图的使用中的额外的特异性和细节来描述并解释,在附图中:
图1是图示了根据本发明的实施例的机器人流程自动化(RPA)系统的架构图;
图2是图示了根据本发明的实施例的部署的RPA系统的架构图;
图3是图示了根据本发明的实施例的设计器、活动以及驱动程序之间的关系的架构图;
图4是图示了根据本发明的实施例的RPA系统的架构图;
图5是图示了根据本发明的实施例的被配置为运行RPA的自动化窗口的计算系统的架构图;
图6图示了根据本发明的实施例的运行与也运行在用户计算系统上的一些应用的用户会话和有人值守的自动化机器人会话的用户计算系统的一些应用。
图7A-K是图示了根据本发明的实施例的RPA的针对用户和机器人的单独的会话的示例的屏幕截图。
图8是图示了根据本发明的实施例的用于使得机器人和用户能够同时使用有人值守自动化窗口来操作计算系统的过程的流程图。
图9是图示了根据本发明的实施例的用于使得机器人和RPA开发者能够同时使用有人值守自动化窗口来操作计算系统的过程的流程图。
图10是图示了根据本发明的实施例的用于使用用户的自动化窗口来执行有人值守或无人值守的自动化的过程的流程图。
图11是图示了根据本发明的实施例的用于使用RPA开发者的自动化窗口来执行有人值守或无人值守的自动化的过程的流程图。
图12是图示了根据本发明的实施例的用于执行自动化监测的过程的流程图。
除非另行指示,相似的附图标记表示贯穿附图一致的对应特征。
具体执行方式
一些实施例涉及用于有人值守或无人值守的机器人的RPA的自动化窗口。在一些实施例中,自动化窗口用于有人值守的自动化。然而,在一些实施例中,并且如下文所讨论的,自动化窗口可以用于监测无人值守的机器人,诸如当运营工程师远程地监测服务器上运行的一个或多个机器人时。用于自动化窗口的应用包括但不限于仿真器、模拟器、VM和提供OS层虚拟化(例如,容器)的混合VM。一些实施例创建并托管第二(例如,子)会话作为窗口,该窗口包括由有人值守的自动化过程控制的应用的UI。如本文所使用的,“窗口”可以应用于表示在主UI、计算系统的第二显示器的第二屏幕、虚拟桌面、隔离的环境内显示的UI的窗口(例如,绘制在环境(被称为“子代”)内部启动的所有应用的UI并且在主机会话的背景下运行所有应用的窗口(被称为“主机”))等而不偏离本发明的范围。
运行多个会话允许机器人在用户与第一会话(例如,父会话)交互时在该第二会话中操作。备选地,机器人可以在第一会话中操作而用户在第二会话中操作。用户可以因此能够与机器人没有正在使用的应用交互(例如,用户可以使用而机器人正在将数据从移动到网络浏览器),或者用户和机器人可以能够与相同应用交互(如果该应用具有该功能的话)(例如,机器人正在与网络浏览器中的一个实例交互,而用户与另一实例交互)。
用户和机器人两者都能与相同的应用安装和文件系统交互。经由机器人和用户在应用中进行的改变将被做出,如同单个用户做出改变一样,而不是使用户和机器人各自对应用和文件系统的单独的版本起作用。换言之,应用是用户的本地等。而且,本地文件系统可以在没有附加配置的情况下被利用。这不同于容器,例如,其要求附加配置步骤以能够访问文件系统。
在一些实施例中,针对任何数目的机器人的任何期望数目的会话可以被创建并使用而不偏离本发明的范围。例如,用户可以与第一会话交互,第一机器人可以与第二会话交互,第二机器人可以与第三会话交互,等等。在某些实施例中,多个机器人可以与单个会话交互。
用于创建会话的功能可以经由例如终端服务子会话(其可以在无需用户注销的情况下将会话创建回到用户自己的机器中)来实现。新创建的会话显现为子窗口,并且包含和启动存在于用户的会话中的应用。换言之,用户与机器人之间的分离发生在UI层。例如,如果文件被删除,则这跨运行在计算系统上的所有会话发生。
某些实施例可以用于机器人流程自动化(RPA)。图1是图示了根据本发明的实施例的RPA系统100的架构图。RPA系统100包括允许开发者设计并实现工作流的设计器110。设计器110可以提供用于应用集成以及使第三方应用、管理信息技术(IT)任务以及业务IT过程自动化的解决方案。设计器110可以促进对自动化项目的开发,其是业务过程的图形表示。简言之,设计器110促进对工作流和机器人的开发和部署。
自动化项目通过向开发者给出对执行顺序的控制和在工作流中开发的一组自定义步骤(在本文被定义为“活动”)之间的关系来实现对基于规则的过程的自动化。设计器110的实施例的一个业务示例是UiPath StudioTM。每个活动可以包括动作,诸如点击按钮、读取文件、写入到登录面板、等等。在一些实施例中,工作流可以被嵌套或嵌入。
一些类型的工作流可以包括但不限于序列、流程图、FSM和/或全局异常处理机(handler)。序列可以特别适合于线性过程,从而使能从一个活动到另一个的流而不使工作流杂乱无章。流程图可以特别地适合于更复杂的业务逻辑,从而通过多分支逻辑运算符以更多样化的方式使能决策的整合和活动的连接。FSM可以特别适合于大型工作流。FSM可以在它们的执行中使用有限数量的状态,其通过条件(即,转变)或活动触发。全局异常处理机可以特别适合于在遇到运行错误时确定工作流行为以及用于调试过程。
一旦工作流在设计器110中被开发,业务过程的运行由指挥器120精心安排,其精心安排执行在设计器110中所开发的工作流的一个或多个机器人130。指挥器120的实施例的一个业务示例是UiPath OrchestratorTM。指挥器120促进对在环境中对资源的创建、监测和部署的管理。指挥器120可以充当与第三方解决方案和应用的整合点或聚集点之一。
指挥器120可以管理一群机器人130,从集中点连接并执行机器人130。可以被管理的机器人130的类型包括但不限于有人值守的机器人132、无人值守的机器人134、开发机器人(类似于无人值守的机器人134,但是用于开发和测试目的)、以及非生产机器人(类似于有人值守的机器人132,但是用于开发和测试目的)。有人值守的机器人132可以由用户事件触发或者被调度为自动发生,并且在相同计算系统上与人类并行地操作。有人值守的机器人132可以由指挥器120用于集中化过程部署和日志记录介质。有人值守的机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,过程不能从这种类型的机器人上的指挥器120开始和/或它们不能在锁屏下运行。在某些实施例中,有人值守的机器人132可以仅仅从机器人托盘或从命令提示开始。在一些实施例中,有人值守的机器人132应当在人类监督下运行。
无人值守的机器人134无人值守地运行在虚拟环境中并且能够使许多过程自动化。无人值守的机器人134可以负责远程执行、监测、调度、以及提供针对工作队列的支持。在一些实施例中,针对所有机器人类型的调试可以从设计器110运行。有人值守的机器人和无人值守的机器人两者可以自动化各种系统和应用,包括但不限于大型机、web应用、VM、企业应用(例如,由Sales等生产的那些)以及计算系统应用(例如,桌面和膝上型应用、移动设备应用、可穿戴计算机应用等)。
指挥器120可以具有各种能力,包括但不限于预置、部署、版本管理、配置、排队、监测、日志记录、和/或提供相互连接性。预置可以包括创建并维护机器人130与指挥器120之间的连接(例如,web应用)。部署可以包括确保正确递送封装版本到所分配的机器人130以用于执行。在一些实施例中,版本管理可以包括管理一些过程或配置的唯一实例。配置可以包括对机器人环境和过程配置的维护和递送。排队可以包括提供对队列和队列项的管理。监测可以包括跟踪机器人标识数据并维护用户权限。日志记录可以包括将日志存储并索引到数据库(例如,SQL数据库)和/或另一存储机制(例如,Elastic其提供存储并快速查询大数据集的能力)。指挥器120可以通过充当针对第三方解决方案和/或应用的集中通信点来提供相互连接性。
机器人130是运行在设计器110中所建立的工作流的执行代理。(多个)机器人130的一些实施例的一个业务示例是UiPath机器人。在一些实施例中,机器人130默认安装微软Windows服务控制管理器(SCM)管理的服务。因此,这样的机器人130可以在本地系统账户下打开交互式会话并且具有服务的权利。
在一些实施例中,机器人130可以以用户模式被安装。对于这样的机器人130,这意味着它们与在其下给定机器人130已经被安装的用户具有相同的权利。该特征也可以可用于高密度(HD)机器人,其确保以其最大可能对每个机器的完全利用。在一些实施例中,任何类型的机器人130可以被配置在HD环境中。
在一些实施例中,机器人130被拆分成若干组件,每个组件专用于特定自动化任务。在一些实施例中,机器人组件包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理以及命令行。SCM管理的机器人服务管理并监测会话并充当指挥器120与执行主机(即,机器人130被执行在其上的计算系统)之间的代理方。这些服务利用针对机器人130的证书受信任并管理该证书。控制台应用由本地系统下的SCM启动。
在一些实施例中,用户模式机器人服务管理并监测Windows会话并充当指挥器120与执行主机之间的代理方(proxy)。用户模式机器人服务利用针对机器人130的证书受信任并管理该证书。如果SCM管理的机器人服务未被安装,应用可以被自动启动。
执行器可以在会话下运行给定作业(即,它们可以执行工作流)。执行器可以意识到每个监视器的每英寸点数(DPI)设置。代理可以是显示系统托盘窗口中的可用作业的展示架构(WPF)。代理可以是服务的客户端。代理可以请求开始或停止作业并改变设置。命令行是服务的客户端。命令行是可以请求开始作业并等待它们的输出的控制台应用。
使机器人130的组件如以上所解释的拆分帮助开发者、支持用户和计算系统更容易地运行,标识并跟踪每个组件正在执行什么。特殊行为可以针对每个组件以这种方式被配置,诸如建立针对执行器和服务的不同防火墙规则。在一些实施例中,执行器可以总是知道每个监视器的DPI设置。因此,工作流可以在任何DPI被执行,不管它们被创建在其上的计算系统的配置如何。在一些实施例中,来自设计器110的项目也可以独立于浏览器缩放水平。对于不知道DPI或有意标记为不知道DPI的应用,在一些实施例中,DPI可以被禁用。
图2是图示了根据本发明的实施例的所部署的RPA系统200的架构图。在一些实施例中,RPA系统200可以是图1的RPA系统100或可以是其部分。应当指出,客户端侧、服务器侧、或两者可以包括任何期望数目的计算系统而不偏离本发明的范围。在客户端侧,机器人应用210包括执行器212、代理214和设计器216。然而,在一些实施例中,设计器216可以没有正在运行在计算系统210上。执行器212正在运行过程。若干业务项目可以同时运行,如图2所示。在该实施例中,代理214(例如,服务)是针对所有执行器212的单个接触点。在该实施例中,所有消息被日志记录到指挥器230中,其经由数据库服务器240、索引器服务器250或两者进一步处理它们。如以上参考图1所讨论的,执行器212可以是机器人组件。
在一些实施例中,机器人表示机器名与用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行的多个交互式会话的计算系统(例如,服务器2012)上,多个机器人可以正在同时运行,各自在单独的会话中使用唯一的用户名。这被称为上述HD机器人。
代理214还负责发送机器人的状态(例如,周期性地发送指示机器人仍然正在起作用的“心跳”消息)并下载要被执行的封装的所需版本。在一些实施例中,代理214与指挥器230之间的通信总是由代理214发起。在通知的情形中,代理214可以打开稍后由指挥器230用来将命令发送给机器人(例如,开始、停止等)的WebSocket通道。
在服务器侧上,包括:表示层(web应用232、开放数据协议(OData)表示状态转移(REST)应用编程接口(API)端点234、以及通知和监测236)、服务层(API实现/业务逻辑238)、以及持久层(数据库服务器240和索引器服务器250)。指挥器230包括web应用232、OData REST API端点234、通知和监测236以及API实现/业务逻辑238。在一些实施例中,通过调用各种API来执行用户(例如,经由浏览器220)在指挥器230的界面中执行的大多数动作。这样的动作可以包括但不限于:开始机器人上的作业、在队列中添加/移除数据、调度作业以无人值守地运行等等,而不偏离本发明的范围。web应用232是服务器平台的视觉层。在该实施例中,web应用232使用超文本标记语言(HTML)和JavaScript(JS)。然而,任何期望的标记语言、脚本语言或任何其他格式可以被使用而不偏离本发明的范围。在该实施例中,用户经由浏览器220与来自web应用232的网页进行交互以便执行各种动作来控制指挥器230。例如,用户可以创建机器人组、将封装分配给机器人、分析针对每个机器人和/或每个过程的日志,开始和停止机器人,等。
除了web应用232,指挥器230还包括公开OData REST API端点234的服务层。然而,其他端点可以被包括而不偏离本发明的范围。REST API由web应用232和代理214耗用。在该实施例中,代理214是客户端计算机上的一个或多个机器人的监督者。
在该实施例中,REST API覆盖配置、日志记录、监测、和排队功能。在一些实施例中,配置端点可以用于限定并配置应用用户、权限、机器人、资产、发布和环境。例如,日志记录REST端点可以用于日志记录不同的信息,例如,诸如错误、由机器人发送的显式消息、以及其他特定于环境的信息。部署REST端点可以由机器人用于查询如果在指挥器230中使用开始作业命令应当被执行的封装版本。队列REST端点可以负责队列和队列项管理,诸如将数据添加到队列,获得来自队列的事务,设置事务的状态,等等。
监测REST端点可以监测web应用232和代理214。通知和监测API 236可以是用于注册代理214、将配置设置递送到代理214、并且用于发送/接收来自服务器和代理214的通知的REST端点。在一些实施例中,通知和监测API 236还可以使用WebSocket通信。
在该实施例中,持久层包括一对服务器,数据库服务器240(例如,SQL服务器)和索引器服务器250。在该实施例中,数据库服务器240存储机器人、机器人组、相关联的过程、用户、角色(role)、调度等的配置。在一些实施例中,该信息通过web应用232来管理。数据库服务器240可以管理队列和队列项。在一些实施例中,数据库服务器240可以存储由机器人日志记录的消息(除了或代替索引器服务器250)。
索引器服务器250,其在一些实施例中是可选的,存储并索引由机器人日志记录的信息。在某些实施例中,索引器服务器250可以通过配置设置被禁用。在一些实施例中,索引器服务器250使用Elastic其是开源项目全文本搜索引擎。由机器人日志记录的消息(例如,使用如日志消息或写入行的活动)可以通过(多个)日志记录的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等。
图4是图示了根据本发明的实施例的RPA系统400的架构图。在一些实施例中,RPA系统400可以是或包括图1和/或图2的RPA系统100和/或200。RPA系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由运行在其上的web应用与指挥器计算系统420通信。指挥器计算系统420继而能够与数据服务器430和可选的索引器服务器400通信。
关于图1和图3,应当指出,尽管web应用被使用在这些实施例中,但是任何合适的客户端/服务器软件可以被使用而不偏离本发明的范围。例如,指挥器可以运行与客户端计算系统上的非基于web的客户端软件应用通信的服务器侧应用。
图5是图示了根据本发明的实施例的被配置为执行针对RPA的自动化窗口的计算系统500的架构图。在一些实施例中,计算系统500可以是本文描绘和/或描述的计算系统中的一个或多个。计算系统500包括总线505或用于通信信息的其他通信机制、以及耦合到总线505的用于处理信息的(多个)处理器510。(多个)处理器510可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、其多个实例、和/或其任何组合。(多个)处理器510还可以具有多个处理核心,并且核心中的至少一些可以被配置为执行特定功能。多并行处理可以被使用在一些实施例中。在某些实施例中,(多个)处理器510中的至少一个可以是包括模拟生物神经元的处理元件的神经形态电路。在一些实施例中,神经形态电路可以不要求冯诺依曼计算架构的典型组件。
计算系统500还包括用于存储要由(多个)处理器510执行的信息和指令的存储器515。存储器515可以包括以下中的任何组合:随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、高速缓存、诸如磁盘或光盘的静态存储装置、或任何其他类型的非瞬态计算机可读介质或其任何组合。非瞬态计算机可读介质可以是可以由(多个)处理器510访问的任何可用介质,并且可以包括易失性介质、非易失性介质、或两者。介质还可以是可移除的、不可移除的或两者。
另外,计算系统500包括通信设备520,诸如收发器,以提供经由无线和/或有线通信对通信网络的访问。在一些实施例中,通信设备520可以被配置为使用频分多址(FDMA)、单载波FDMA(SC-FDMA)、时分多址(TDMA)、码分多址(CDMA)、正交频分复用(OFDM)、正交频分多址(OFDMA)、全球移动通信(GSM)、通用分组无线业务(GPRS)、通用移动电信系统(UMTS)、cdma2000、宽带CDMA(W-CDMA)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、高速分组接入(HSPA)、长期演进(LTE)、LTE高级(LTE-A)、802.11x、Wi-Fi、Zigbee、超宽带(UWB)、802.16x、802.15、家庭节点-B(HnB)、蓝牙、射频识别(RFID)、红外数据协会(IrDA)、近场通信(NFC)、第五代(5G)、新无线电(NR)、其任何组合和/或任何其他当前存在或未来实现的通信标准和/或协议而不偏离本发明的范围。在一些实施例中,通信设备520可以包括一个或多个天线,其是单一的、阵列的、相控的、交换的、波束形成的、波束操纵的、其组合和或任何其他天线配置而不偏离本发明的范围。
(多个)处理器510还经由总线505被耦合到用于将信息显示给用户的显示器525,诸如等离子显示器、液晶显示器(LCD)、发光二极管(LED)显示器、场发射显示器(FED)、有机发光二极管(OLED)显示器、柔性OLED显示器、柔性基板显示器、投影显示器、4K显示器、高清显示器、显示器、面内交换(IPS)显示器、或任何其他合适的显示器。显示器525可以被配置为使用电阻性、电容性、表面声波(SAW)电容性、红外、光学成像、色散信号技术、声学脉冲识别、受抑全内反射等的触摸(触觉)显示器、三维(3D)触摸显示器、多输入触摸显示器、多触摸显示器等。任何合适的显示设备和触觉I/O可以被使用而不偏离本发明的范围。
键盘530和光标控制设备535(诸如计算机鼠标、触摸板等)还被耦合到总线505以使得用户能够与计算系统500接口连接。然而,在某些实施例中,物理键盘和鼠标可以不存在,并且用户可以仅仅通过显示器525和/或触摸板(未示出)与设备交互。任何类型和组合的输入设备可以被用作设计选择的问题。在某些实施例中,没有物理输入设备和/或显示器存在。例如,用户可以经由与之通信的另一计算系统远程地与计算系统500交互,或者计算系统500可以自主操作。
存储器515存储提供当由(多个)处理器510执行时提供功能的软件模块。模块包括针对计算系统500的操作系统540。模块还包括自动化窗口模块545,其被配置为执行本文描述的过程中的全部或部分或其衍生物。计算系统500可以包括包含附加功能的一个或多个附加功能模块550。
本领域技术人员将认识到,“系统”可以被体现为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、量子计算系统或任何其他适当的计算设备、或设备的组合而不偏离本发明的范围。将上述功能呈现为由“系统”执行不旨在以任何方式限制本发明的范围而是旨在提供本发明的许多实施例的一个示例。实际上,本文中公开的方法、系统和装置可以以与包括云计算系统的计算技术一致的本地和分布式形式执行。
应当注意,本说明书中描述的系统特征中的一些已经被呈现为模块,以便更具体地强调它们的实现独立性。例如,模块可以被实现为硬件电路,包括定制超大规模集成(VLSI)电路或门阵列、现货半导体(诸如逻辑芯片、晶体管或其他分立组件)。模块还可以被实现在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件、图形处理单元等等的可编程硬件设备中。
模块还可以至少部分以用于由各种类型的处理器执行的软件来实现。可执行代码的所标识的单元可以例如包括可以例如被组织为对象、过程或函数的计算机指令的一个或多个物理或逻辑块。然而,所标识的模块的可执行件不需要物理上定位在一起而是可以包括存储在不同位置中的不同指令,其当在逻辑上一起联接时,包括该模块并实现该模块的所陈述的目的。另外,模块可以被存储在计算机可读介质上,计算机可读介质可以例如为硬盘驱动器、闪速设备、RAM、磁带、和/或用于存储数据的任何其他这样的非瞬态计算机可读介质而不偏离本发明的范围。
实际上,可执行代码的模块可以是单个指令、或许多指令,并且可以甚至被分布在若干不同代码段上、在不同程序中、和跨若干存储器设备分布。类似地,操作数据可以在本文中在模块内被标识和图示并且可以以任何适当的形式体现并组织在任何适当类型的数据结构内。操作数据可以被收集为单个数据集或可以被分布在不同位置上,包括在不同存储设备上,并且可以至少部分地仅仅作为电子信号存在于系统或网络上。
用于用户的有人值守的自动化(运行时)
按照上文,在有人值守的自动化中,机器人与用户在相同计算系统上并行工作。由于RPA中的机器人常常以类似方式与计算系统交互(例如,生成鼠标点击和按键事件,经由API(例如,使用窗口消息)模拟这些事件等),一些实施例创建第二会话来托管并运行其中的有人值守的自动化。不像现有RPA系统,用户可以受益于在机器人正在第二会话中运行有人值守的自动化时与他们的计算系统交互的能力。用户可以仍然监测机器人正在做什么并且通过用于第二会话的托管自动化窗口与机器人交互。这将RPA机器人从仅仅比用户更快且更可靠地做任务有效地演变到成为可以与用户并行执行工作的真正数字助理,从而提供甚至更大的生产力提升。在一些实施例中,第一会话和第二会话可以正在运行在由用户的计算系统控制的远程机器上。
在某些实施例中,RPA机器人可以正在运行在用户的计算系统上并且通过远程运行时(例如,经由UiPath远程运行时TM)驱动远程计算系统。UiPath远程运行时TM是促进远程应用(诸如Citrix虚拟应用和DesktopsTM)或桌面与专用扩展(例如,用于的扩展或用于远程桌面的扩展)之间的通信的组件。UiPath远程运行时TM收集与远程应用的靶向UI元素有关的信息并将该信息发送到对应的扩展使得选择器被直接生成在UI ExplorerTM中。
如之前所陈述的,用户和机器人两者都正在与相同的应用实例和文件系统交互。图6图示了根据本发明的实施例的运行用户会话610的用户计算系统600以及有人值守的自动化机器人会话620(其中一些应用也运行在用户计算系统600上)的一些应用。如可以在图6中看出的,web浏览器应用630、电子数据表应用640、以及电子邮件应用650可由用户会话610和有人值守的自动化机器人会话620两者访问。用户会话610和有人值守的自动化机器人会话620可以同时与网络浏览器应用630和电子邮件应用650交互。
然而,当机器人正在与电子数据表应用640的相同文件交互时,用户不能与该应用交互(例如,用户可以仅仅能够打开“只读”视图或者用户可以被完全阻止打开文件)。用户可以接收指示电子数据表应用640被锁定、正由另一“用户”(即,机器人)访问等的消息。用户会话610和有人值守的自动化机器人过程620两者也可以与文件系统660交互。因此,经由机器人和用户经由它们各自的会话在应用中进行的改变将被做出,如同单个用户做出改变一样,而不是使用户和机器人各自对应用和文件系统的单独的版本起作用。
图7A-K是图示了根据本发明的实施例的RPA的针对用户和机器人的单独的会话的示例的屏幕截图。在图7A中,用户会话窗口700被示出,其中用户能够与UI中的应用交互并且没有机器人当前正在执行。在图7B中,用户拉起机器人托盘710(例如,通过点击屏幕的右下方的图标)并选择机器人来在他或她的计算系统上执行。在选择要被执行的机器人之后,如图7C所示,机器人会话窗口720在屏幕上显现为子窗口。机器人将在机器人会话窗口720中操作。
转到图7D和7E(其是图7D的一部分的放大视图),在该示例中,机器人启动应用730并开始在其中输入文本732。在这正在发生时,用户可以在用户会话窗口700中与应用交互、对机器人会话窗口720进行移动、调整大小、或最小化等。如图7F所示,机器人托盘710指示机器人正在运行。
在图7G中,用户已经在用户会话窗口700内打开了Google机器人会话窗口720在前景中可见。在图7H和图7I中示出的其放大部分中,当用户使用Google浏览网络时,机器人与用户的网络浏览并行地继续在应用730中输入文本732。
图7J图示了具有用于机器人的RPA工作流750的部分的UiPath Studio 740。如可以在图7K中看出的,开发者能够使用UiPath Studio740步进通过RPA工作流750。UiPathStudio 740和机器人会话窗口720两者都在用户会话窗口700中可见。利用每个步骤,文本732被输入在应用730中。
图8是图示了根据本发明的实施例的用于使得机器人和用户能够同时使用有人值守的自动化窗口来操作计算系统的过程800的流程图。过程在810处开始启动用户会话窗口。例如,这可以是与运行在用户计算系统上的操作系统相关联的主窗口。在820处,机器人会话窗口然后被启动为用于用户会话窗口的子窗口。在一些实施例中,例如,机器人会话窗口可以响应于机器人被初始化或以其他方式启动而被启动。机器人然后在830处在机器人会话中被启动,并且在840处,机器人在机器人会话中执行其工作流。在一些实施例中,在850处,机器人会话被结束并且机器人会话窗口被自动关闭。
在一些实施例中,子会话可以经由操作系统的子会话API来创建。由操作系统提供的终止服务子会话或另一子会话可以在一些实施例中用于创建第二会话而不偏离本发明的范围。机器人托盘应用(例如,机器人代理桌面)可以然后利用合适的参数使用操作系统中的创建过程来在该子会话中启动机器人过程。机器人托盘应用可以然后使用合适的协议(例如,在命名的管线上建立的协议)与机器人过程通信。
在两个会话之间与机器人通信可以使用IPC协议来完成。这些协议可以促进经由网络、管线、组件对象模型(COM)、远程过程调用(RPC)、套接字等的通信。在支持的情况下,合适的会话创建机制和IPC协议可以也用于其他操作系统。当用户点击机器人托盘上的按钮时,机器人托盘应用可以使用IPC协议将该命令发送到机器人过程。机器人可以也经由IPC协议将状态通知发送回到机器人托盘应用(例如,指示机器人正在启动、运行、暂停等)。
用于RPA开发者的有人值守的自动化(设计时)
在一些实施例中,有人值守的自动化窗口可以创建第二会话来托管并运行其中的有人值守的自动化,以便当在设计时从开发环境使用时测试并调试自动化。这可以使得RPA开发者能够确保在机器人有人值守的自动化窗口内部运行的有人值守的自动化如期望地运转。
RPA开发者还可以使用该功能来创建有人值守的自动化,其提供用户可以在机器人正在运行时根据需要访问应用的平滑体验。如果有人值守的自动化使用户难以在运行时与他或她的计算系统交互,或者如果难以使从集成开发环境(IDE)启动有人值守的自动化的RPA开发者在有人值守的自动化正在运行时查看并访问IDE,则可能期望RPA开发者将机器人修改为以较少干扰的方式运行。例如,如果自动化将应用带到IDE前面的前景,则开发者丧失查看从过程实时流传输的日志信息的能力。RPA开发者可以因此改变来自IDE的启动设置,使得这不再发生。
图9是图示了根据本发明的实施例的用于使得机器人和RPA开发者能够同时使用有人值守自动化窗口来操作计算系统的过程900的流程图。过程以在910处启动开发者会话窗口开始。例如,这可以是与运行在RPA开发者计算系统上的操作系统相关联的主窗口。接下来,在920处启动IDE,并且在930处,RPA开发者发出命令以开始有人值守的自动化。这使机器人会话窗口在940处启动并且在950处在机器人会话中初始化机器人。机器人然后在960处在机器人会话中执行其工作流以执行有人值守的自动化逻辑。如果开发者不满意机器人的操作,则开发者可以命令执行在IDE中停止,其在970处结束机器人会话并关闭机器人会话窗口。过程然后返回到步骤930。
用于RPA的自动化监测
在一些实施例中,第二会话可以用于自动化监测和故障排除。例如,负责服务器(其托管无人值守的自动化)的运营工程师(即,不存在用户正在监测运行的自动化过程的许可要求或期望)可以期望介入以校正错误。运营工程师可以经由第二会话窗口来完成这一点。例如,运营工程师可以涉足并杀死错误正在发生时的(多个)机器人的操作。
在一些实施例中,运营工程师可以使用远程桌面技术来访问计算系统。例如,运营工程师可以登录到计算系统(例如,生产机器)中并且能够在他或她自己的计算系统上看到其用户界面。因此,运营工程师可以能够看到UI并根据需要控制远程计算系统。
机器人可以正在生产机器上在第二会话中运行并控制UI。这意味着运营工程师自由进行诸如监测来自机器人的流传输日志和视觉地监测由机器人驱动的UI(如果有的话)而不丧失对机器的控制之类的事情。因为机器人控制软件正在第一会话或父会话中运行,所以如果问题发生,则工程师能够从他或她登录到的父会话暂停/终止/恢复执行。在一些实施例中,机器人可以正在父会话中运行而监测可以从子会话执行。
通用窗口平台(UWP)模拟器提供模拟诸如地理位置、多触摸、旋转等的行为的能力。这样的行为可能难以或不可能在开发者机器上测试。例如,如果开发者想要测试取决于不同位置的应用(诸如地图程序)的测试行为,则开发者携带他或她的计算机到全国或全世界各地进行测试是很不方便的。不是集中于将“UI接管”与用户隔离,或排外地与RPA相关,UWP应用而是包含在单个窗口中的单个应用。因此,隔离UI控制的需要不应成为问题。UWP模拟器因此可以解决针对单个应用的“模拟场景”。
图10是图示了根据本发明的实施例的用于使用用户的自动化窗口来执行有人值守或无人值守的自动化的过程1000的流程图。过程以在1010处启动子会话窗口和子会话开始。子会话是针对操作系统的父会话的子代,并且子窗口位于父会话的父窗口内。RPA机器人在1020处在子会话中被初始化为过程,并且RPA机器人在1030处被执行。在执行期间,RPA机器人执行包括子会话窗口内的多个活动的RPA工作流。父会话和子会话能够访问共用文件系统。
如果在1040处用户尝试与RPA机器人访问相同的应用,则在1050处在父会话窗口中向用户显示指示RPA机器人当前正在访问应用的消息。在1060处,在RPA机器人完成对RPA工作流的运行之后,子会话被自动结束并且子会话窗口被自动关闭。步骤1010-1060可以顺序或并行地针对运行子会话的任何期望数目的机器人进行重复。
在一些实施例中,当执行RPA工作流中的多个活动时,RPA机器人与运行在计算系统上的经由父会话和子会话两者都可访问的一个或多个共用应用交互。在某些实施例中,RPA机器人是有人值守的机器人,并且用户经由父会话与应用的实例交互不干扰RPA机器人经由子会话与应用的不同实例或不同应用的实例交互。在一些实施例中,子会话窗口由父会话窗口中的机器人托盘应用启动。在某些实施例中,在机器人托盘应用与RPA机器人之间的通信使用IPC协议来完成,并且机器人托盘应用被配置为经由IPC协议将命令发送到RPA机器人过程。在一些实施例中,RPA机器人被配置为经由IPC协议将状态通知发送到机器人托盘应用。
在一些实施例中,父会话和子会话在设计时被启动,RPA机器人执行有人值守的自动化,并且IDE应用执行在与父会话相关联的计算系统上并且被配置为启动有人值守的自动化。在某些实施例中,父会话和子会话运行在不同计算系统上。在一些实施例中,父窗口、子窗口、或两者包括表示在主UI、计算系统的第二显示器的第二屏幕、虚拟桌面、或隔离的环境内显示的UI的窗口。
在一些实施例中,RPA机器人是有人值守的机器人,并且RPA机器人在用户与父会话交互时被初始化并执行在父会话中。在某些实施例中,对子会话窗口和子会话的启动、在子会话中对RPA机器人的初始化、以及对RPA机器人的执行是经由远程计算系统执行的。在一些实施例中,RPA机器人是无人值守的机器人。
图11是图示了根据本发明的实施例的用于使用RPA开发者的自动化窗口来执行有人值守或无人值守的自动化的过程1100的流程图。过程在1110处以从IDE启动子会话窗口和子会话开始。子会话是针对操作系统的父会话的子代,并且子窗口位于父会话的父窗口内。在1120处RPA机器人在子会话中被初始化为过程,并且RPA机器人在1130处被执行。在执行期间,RPA机器人执行包括子会话窗口内的多个活动的RPA工作流。父会话和子会话能够访问共用文件系统。
在1140处,在机器人操作期间从RPA机器人接收状态消息并且在IDE中显示所接收的状态消息。如果机器人没有正在如期望的进行操作,则用户(例如,RPA开发者)可能想要结束其操作。当用户提供命令以终止RPA机器人的操作时,由IDE终止RPA机器人、子会话、子窗口的操作。
图12是图示了根据本发明的实施例的用于执行自动化监测的过程1200的流程图。过程以在1210处在与计算系统相关联的父会话中初始化并执行监测和故障排除应用开始。在1220处启动子会话窗口和子会话。子会话是针对操作系统的父会话的子代。
在1230处,无人值守的RPA机器人在子会话中被初始化并执行为过程。在1240处,从监测和故障排除应用的用户接收命令以终止无人值守的RPA机器人的操作。无人值守的RPA机器人的操作然后在1250处被暂停或终止,并且子会话和子会话窗口在1260处响应于接收到命令而被杀死。父会话和子会话能够访问共用文件系统。
在一些实施例中,子会话窗口被显示在与父会话正在运行于其上计算系统不同的计算系统上。在某些实施例中,当执行RPA工作流中的多个活动时,无人值守的RPA机器人与经由父会话和子会话两者都可访问的一个或多个共用应用交互。在一些实施例中,用户经由父会话与应用的实例的交互不干扰无人值守的RPA机器人经由子会话与应用的不同实例或不同应用的实例交互。在某些实施例中,在无人值守的RPA机器人完成对RPA工作流的执行之后,子会话被自动结束并且子会话窗口被自动关闭。
在一些实施例中,任何期望数目的附加机器人可以在与步骤1220的子会话顺序或并行的相应子会话中被执行。在某些实施例中,当用户尝试与无人值守的RPA机器人正在与之交互的应用交互时,指示无人值守的RPA机器人当前正在访问应用的消息可以在父会话窗口中被显示给用户。在一些实施例中,父会话和子会话运行在不同计算系统上。在某些实施例中,父窗口、子窗口、或两者包括表示在主UI、计算系统的第二显示器的第二屏幕、虚拟桌面、或隔离的环境内显示的UI的窗口。在一些实施例中,对子会话窗口和子会话的启动、在子会话中对无人值守的RPA机器人的初始化、以及对无人值守的RPA机器人的执行是经由远程计算系统执行的。
根据本发明的实施例,图8-12中执行的过程步骤可以由计算机程序执行,计算机程序编码用于(多个)处理器执行图8-12中描述的(多个)过程的至少部分的指令。计算机程序可以被体现于非瞬态计算机可读介质上。计算机可读介质可以为但不限于硬盘驱动器、闪速设备、RAM、磁带、和/或任何其他这样的介质或用于存储数据的介质的组合。计算机程序可以包括用于控制计算系统的(多个)处理器(例如,图5的计算系统500的(多个)处理器510)实现图8-12中描述的过程步骤中的全部或部分的编码指令,其也可以被存储于计算机可读介质上。
计算机程序可以以硬件、软件或混合实现来实现。计算机程序可以由与彼此操作性通信、并且被设计为传递信息或指令以显示的模块组成。计算机程序可以被配置为在通用计算机、ASIC或任何其他合适的设备上进行操作。
将容易理解如在本文的附图中大体描述的和说明的本发明的各种实施例的组件可以以各种各样的不同配置来布置和设计。因此,如附图中表示的本发明的实施例的详细描述不旨在限制所要求保护的本发明的范围而是仅仅表示本发明的选定实施例。
贯穿本说明书描述的本发明的特征、结构或特性可以以任何适当的方式被组合在一个或多个实施例中。例如,贯穿本说明书对“某些实施例”、“一些实施例”或“类似语言的引用意味着结合实施例描述的特定特征、结构或特性被包含在本发明的至少一个实施例中。因此,短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或类似语言在整个说明书中的出现不必全部指代同一组实施例,并且所描述的特征、结构或特性可以以任何适当的方式被组合在一个或多个实施例中。
应当指出,贯穿本说明书对特征、优点或类似语言的引用不暗示可以利用本发明实现的特征和优点中的全部应当在本发明的任何单个实施例中或者是在本发明的任何单个实施例中。相反,涉及特征和优点的语言被理解为意味着结合实施例描述的特定特征、优点或特性被包含在本发明的至少一个实施例中。因此,贯穿本说明书对特征和优点以及类似语言的讨论可以但不必指代相同实施例。
另外,本发明的上述特征、优点和特性可以以任何适当的方式被组合在一个或多个实施例中。相关领域技术人员将意识到能够在没有具体实施例的指定特征或优点中的一个或多个情况下实践本发明。在其他实例中,在可以不存在于本发明的所有实施例中的某些实施例中意识到额外的特征和优点。
本领域普通技术人员将容易理解,可以利用以不同顺序的步骤和/或利用以不同于所公开的那些的配置的硬件元件来实践如以上讨论的本发明。因此,尽管已经基于优选实施例描述了本发明,但是对本领域技术人员将显而易见的是,某些修改、变型和备选结构将是显而易见的,同时保持在本发明的精神和范围内。为了确定本发明的范围,因此,应当对随附权利要求进行参考。
Claims (15)
1.一种非瞬态计算机可读介质,其上存储有计算机程序,所述计算机程序被至少一个处理器执行,以执行以下步骤:
启动子会话窗口和子会话,其中所述子会话是针对操作系统的父会话的子代,并且所述子会话窗口位于所述父会话的父窗口内;
在所述子会话中将机器人流程自动化RPA机器人初始化为过程;以及
执行所述RPA机器人,其中
在执行期间,所述RPA机器人执行RPA工作流,所述RPA工作流包括所述子会话窗口内的多个活动,并且
所述父会话和所述子会话能够访问共用文件系统,其中
当执行所述RPA工作流中的所述多个活动时,所述RPA机器人与运行在计算系统上的、经由所述父会话和所述子会话两者都能够访问的一个或多个共用应用交互,并且
所述RPA机器人是有人值守的机器人,并且用户经由所述父会话与应用的实例交互不干扰所述RPA机器人经由所述子会话与所述应用的不同实例或不同应用的实例交互。
2.根据权利要求1所述的非瞬态计算机可读介质,其中所述子会话窗口从所述父会话窗口中的机器人托盘应用被启动。
3.根据权利要求2所述的非瞬态计算机可读介质,其中
在所述机器人托盘应用与所述RPA机器人之间的通信使用过程间通信IPC协议而被完成,并且
所述机器人托盘应用被配置为经由所述IPC协议将命令发送给所述RPA机器人过程。
4.根据权利要求3所述的非瞬态计算机可读介质,其中所述RPA机器人被配置为经由所述IPC协议将状态通知发送给所述机器人托盘应用。
5.根据权利要求1所述的非瞬态计算机可读介质,其中所述程序还被配置为使所述至少一个处理器:
在所述RPA机器人完成对所述RPA工作流的执行之后自动结束所述子会话并关闭所述子会话。
6.根据权利要求1所述的非瞬态计算机可读介质,其中所述程序还被配置为使所述至少一个处理器:
启动附加子会话窗口以及共享所述共用文件系统的附加的相应会话;
在所述附加子会话中初始化另一RPA机器人;以及
执行所述另一RPA机器人。
7.根据权利要求1所述的非瞬态计算机可读介质,其中当所述RPA机器人是有人值守的机器人并且用户尝试与所述RPA机器人正在与之交互的应用交互时,所述程序还被配置为使所述至少一个处理器:
在所述父会话窗口中将指示所述RPA机器人当前正在访问所述应用的消息显示给所述用户。
8.根据权利要求1所述的非瞬态计算机可读介质,其中
所述父会话和所述子会话在设计时被启动,
所述RPA机器人执行有人值守的自动化,并且
集成开发环境(IDE)应用执行在与所述父会话相关联的计算系统上,并且被配置为初始化所述有人值守的自动化。
9.根据权利要求1所述的非瞬态计算机可读介质,其中所述父会话和所述子会话运行在不同计算系统上。
10.根据权利要求1所述的非瞬态计算机可读介质,其中所述父窗口、所述子会话窗口、或两者包括表示在主用户界面UI、计算系统的第二显示器的第二屏幕、虚拟桌面、或隔离的环境内被显示的UI的窗口。
11.根据权利要求1所述的非瞬态计算机可读介质,其中所述RPA机器人是有人值守的机器人,并且所述RPA机器人在用户与所述父会话交互时被初始化并执行在所述父会话中。
12.根据权利要求1所述的非瞬态计算机可读介质,其中对所述子会话窗口和所述子会话的启动、在所述子会话中对所述RPA机器人的初始化、以及对所述RPA机器人的执行经由远程计算系统而被执行。
13.一种用于在设计时执行用于机器人流程自动化RPA的有人值守的自动化的计算机实现的方法,包括:
从集成开发环境IDE启动子会话窗口和子会话,其中所述子会话是针对操作系统的父会话的子代,并且所述子会话窗口位于所述父会话的父窗口内;
将所述子会话中的机器人流程自动化RPA机器人初始化为过程;以及
执行所述RPA机器人,其中
在执行期间,所述RPA机器人执行RPA工作流,所述RPA工作流包括所述子会话窗口内的多个活动,
所述父会话和所述子会话能够访问共用文件系统,
当执行所述RPA工作流中的所述多个活动时,所述RPA机器人与运行在计算系统上的、经由所述父会话和所述子会话两者都能够访问的一个或多个共用应用交互,并且
所述RPA机器人是有人值守的机器人,并且用户经由所述父会话与应用的实例交互不干扰所述RPA机器人经由所述子会话与所述应用的不同实例或不同应用的实例交互。
14.根据权利要求13所述的计算机实现的方法,还包括:
在机器人操作期间从所述RPA机器人接收状态消息;以及
在所述IDE中显示所述状态消息。
15.根据权利要求13所述的计算机实现的方法,其中当用户提供命令以终止所述RPA机器人的操作时,所述方法还包括:
由所述IDE终止所述RPA机器人、所述子会话和所述子会话窗口的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/793,064 US10654166B1 (en) | 2020-02-18 | 2020-02-18 | Automation windows for robotic process automation |
US16/793,064 | 2020-02-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113334371A CN113334371A (zh) | 2021-09-03 |
CN113334371B true CN113334371B (zh) | 2022-08-12 |
Family
ID=70736378
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010894023.7A Active CN113334371B (zh) | 2020-02-18 | 2020-08-31 | 用于机器人流程自动化的自动化窗口 |
CN202080098233.3A Pending CN115243839A (zh) | 2020-02-18 | 2020-12-09 | 用于机器人流程自动化的自动化窗口 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080098233.3A Pending CN115243839A (zh) | 2020-02-18 | 2020-12-09 | 用于机器人流程自动化的自动化窗口 |
Country Status (7)
Country | Link |
---|---|
US (6) | US10654166B1 (zh) |
EP (2) | EP3869432A1 (zh) |
JP (2) | JP6929422B1 (zh) |
KR (1) | KR102227687B1 (zh) |
CN (2) | CN113334371B (zh) |
TW (1) | TWI730845B (zh) |
WO (4) | WO2021167644A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138539B2 (en) * | 2017-08-25 | 2021-10-05 | Target Brands, Inc. | Robtic business process automation system utilizing reusable task-based microbots |
US11775814B1 (en) | 2019-07-31 | 2023-10-03 | Automation Anywhere, Inc. | Automated detection of controls in computer applications with region based detectors |
US11113095B2 (en) | 2019-04-30 | 2021-09-07 | Automation Anywhere, Inc. | Robotic process automation system with separate platform, bot and command class loaders |
US11568054B2 (en) * | 2019-06-11 | 2023-01-31 | Micro Focus Llc | Web application login macro generation and verification |
US10860905B1 (en) * | 2019-10-16 | 2020-12-08 | UiPath, Inc. | Long running workflows for document processing using robotic process automation |
US11334465B2 (en) | 2019-10-16 | 2022-05-17 | UiPath, Inc. | Long running workflows for robotic process automation |
US11481304B1 (en) | 2019-12-22 | 2022-10-25 | Automation Anywhere, Inc. | User action generated process discovery |
US11233861B2 (en) | 2020-02-18 | 2022-01-25 | UiPath, Inc. | Inter-session automation for robotic process automation (RPA) robots |
US10654166B1 (en) | 2020-02-18 | 2020-05-19 | UiPath, Inc. | Automation windows for robotic process automation |
US11182178B1 (en) | 2020-02-21 | 2021-11-23 | Automation Anywhere, Inc. | Detection of user interface controls via invariance guided sub-control learning |
US20210349430A1 (en) * | 2020-05-11 | 2021-11-11 | UiPath, Inc. | Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation |
US11494203B2 (en) * | 2020-05-13 | 2022-11-08 | UiPath, Inc. | Application integration for robotic process automation |
CN111709701A (zh) * | 2020-05-29 | 2020-09-25 | 北京艾陌时信息技术有限公司 | 一种机器人办公系统 |
US11748069B2 (en) * | 2020-07-07 | 2023-09-05 | UiPath, Inc. | User interface (UI) descriptors, UI object libraries, UI object repositories, and UI object browsers for robotic process automation |
US11157339B1 (en) | 2020-07-09 | 2021-10-26 | UiPath, Inc. | Automation of a process running in a first session via a robotic process automation robot running in a second session |
US11392477B2 (en) * | 2020-07-09 | 2022-07-19 | UiPath, Inc. | Automation of a process running in a first session via a robotic process automation robot running in a second session |
US12019421B2 (en) | 2020-07-09 | 2024-06-25 | UiPath, Inc. | Robot access control and governance for robotic process automation |
CN113168355A (zh) * | 2020-07-09 | 2021-07-23 | 尤帕斯公司 | 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化 |
KR102446568B1 (ko) * | 2020-07-09 | 2022-09-22 | 유아이패스, 인크. | 제2 세션에서 실행중인 로봇 프로세스 자동화 로봇을 통한 제1 세션에서 실행중인 프로세스의 자동화 |
CN111814799B (zh) * | 2020-07-21 | 2024-05-14 | 北京来也网络科技有限公司 | 结合rpa和ai的影像归位方法及装置、计算设备、存储介质 |
US11647015B2 (en) | 2020-07-30 | 2023-05-09 | UiPath, Inc. | Factor authentication for robotic processes |
US12111646B2 (en) | 2020-08-03 | 2024-10-08 | Automation Anywhere, Inc. | Robotic process automation with resilient playback of recordings |
US11301268B2 (en) | 2020-08-11 | 2022-04-12 | UiPath, Inc. | Graphical element detection using a combination of user interface descriptor attributes from two or more graphical element detection techniques |
CN114341788A (zh) * | 2020-08-11 | 2022-04-12 | 尤帕斯公司 | 使用根据两种或更多种图形元素检测技术的用户接口描述符属性的组合的图形元素检测 |
JP2023539853A (ja) * | 2020-08-28 | 2023-09-20 | ユーアイパス,インコーポレイテッド | ロボティックプロセスオートメーション(rpa)パッケージおよびワークフローのウェブベースの閲覧 |
US11513499B2 (en) | 2020-08-28 | 2022-11-29 | UiPath, Inc. | Web based viewing of robotic process automation (RPA) packages and workflows |
US11507259B2 (en) * | 2020-09-08 | 2022-11-22 | UiPath, Inc. | Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both |
CN113366492B (zh) * | 2020-09-08 | 2024-03-01 | 尤帕斯公司 | 专用图形元素检测 |
US11232170B1 (en) | 2020-09-08 | 2022-01-25 | UiPath, Inc. | Application-specific graphical element detection |
US11385777B2 (en) * | 2020-09-14 | 2022-07-12 | UiPath, Inc. | User interface (UI) mapper for robotic process automation |
US11614730B2 (en) | 2020-10-06 | 2023-03-28 | UiPath, Inc. | Embedded and/or pooled robotic process automation robots |
US11294793B1 (en) * | 2020-10-23 | 2022-04-05 | UiPath Inc. | Robotic process automation (RPA) debugging systems and methods |
CN112379968B (zh) * | 2020-11-13 | 2024-07-23 | 网易(杭州)网络有限公司 | 应用多开的方法、装置、设备及存储介质 |
US12061470B2 (en) * | 2020-12-04 | 2024-08-13 | UiPath, Inc. | Guided operation by robotic processes |
US12081513B2 (en) * | 2020-12-14 | 2024-09-03 | UiPath, Inc. | Organizational modelling for routing RPA related services of an RPA cloud suite |
US11782734B2 (en) * | 2020-12-22 | 2023-10-10 | Automation Anywhere, Inc. | Method and system for text extraction from an application window for robotic process automation |
US11618160B2 (en) * | 2021-03-26 | 2023-04-04 | UiPath, Inc. | Integrating robotic process automations into operating and software systems |
US11809883B2 (en) * | 2021-07-08 | 2023-11-07 | UiPath, Inc. | Image pattern matching to robotic process automations |
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 |
US11820020B2 (en) | 2021-07-29 | 2023-11-21 | Automation Anywhere, Inc. | Robotic process automation supporting hierarchical representation of recordings |
US11968182B2 (en) | 2021-07-29 | 2024-04-23 | Automation Anywhere, Inc. | Authentication of software robots with gateway proxy for access to cloud-based services |
CN113742007A (zh) * | 2021-08-25 | 2021-12-03 | 上海艺赛旗软件股份有限公司 | 一种rpa流程运行方法、系统及存储介质 |
US11792102B2 (en) * | 2021-10-05 | 2023-10-17 | Jpmorgan Chase Bank, N.A. | System and method for implementing a high density session management module |
US11507059B1 (en) * | 2021-10-11 | 2022-11-22 | UiPath, Inc. | System and computer-implemented method for seamless consumption of automations |
CN114185462A (zh) * | 2021-11-05 | 2022-03-15 | 北京来也网络科技有限公司 | 基于ai和rpa系统分身窗口的控制方法及装置 |
CN114217718A (zh) * | 2021-11-05 | 2022-03-22 | 北京来也网络科技有限公司 | 基于ai和rpa的系统分身窗口显示方法及装置 |
US20230195516A1 (en) * | 2021-12-22 | 2023-06-22 | UiPath, Inc. | Cloud triggers for scheduling robots |
US12101373B2 (en) | 2022-03-31 | 2024-09-24 | UiPath Inc. | Systems and methods for using a browser to design robotic process automation (RPA) robots |
KR20230165086A (ko) | 2022-05-26 | 2023-12-05 | 삼성에스디에스 주식회사 | Rpa 태스크의 레코딩 및 실행 방법 |
CN114817078B (zh) * | 2022-06-29 | 2022-11-29 | 荣耀终端有限公司 | 一种自动化测试的方法、装置及存储介质 |
CN117076036B (zh) * | 2023-10-16 | 2024-02-13 | 杭州实在智能科技有限公司 | 用于远程计算机上的rpa流程无人值守方法及系统 |
CN118467142A (zh) * | 2024-07-11 | 2024-08-09 | 安徽思高智能科技有限公司 | 针对软件自动化rpa工作流的进程保活调度方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473106A (zh) * | 2009-07-01 | 2012-05-23 | 国际商业机器公司 | 虚拟环境中的资源分配 |
CN107666987A (zh) * | 2015-07-02 | 2018-02-06 | 埃森哲环球服务有限公司 | 机器人过程自动化 |
CN109074402A (zh) * | 2016-04-11 | 2018-12-21 | 脸谱公司 | 基于示例会话使用自然语言机器学习来响应用户请求的技术 |
CN109118347A (zh) * | 2018-07-20 | 2019-01-01 | 苏宁易购集团股份有限公司 | 一种自动化协作方法及系统 |
CN110286998A (zh) * | 2019-05-23 | 2019-09-27 | 南京苏宁软件技术有限公司 | 虚拟机图形用户界面生效、执行过程记录方法和装置 |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5627128A (en) | 1979-08-10 | 1981-03-16 | Canon Inc | Copying apparatus |
US7080385B1 (en) | 1997-08-18 | 2006-07-18 | Tibco Software Inc. | Certified message delivery and queuing in multipoint publish/subscribe communications |
US7013465B1 (en) | 1999-08-17 | 2006-03-14 | Emc Corporation | System, device and method for interprocessor communication in a computer system |
SE0004466D0 (sv) | 2000-12-04 | 2000-12-04 | Abb Ab | Mobile Robot |
JP2002192486A (ja) | 2000-12-25 | 2002-07-10 | Seiko Epson Corp | ロボット制御方法及び該方法を適用したロボットコントローラ |
US7437715B2 (en) * | 2002-04-09 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for generating a set of robot commands based on user entry events in a user interface |
AU2003239385A1 (en) | 2002-05-10 | 2003-11-11 | Richard R. Reisman | Method and apparatus for browsing using multiple coordinated device |
US7478402B2 (en) | 2004-02-12 | 2009-01-13 | Microsoft Corporation | Configurable message pipelines |
US7346607B2 (en) * | 2004-05-17 | 2008-03-18 | International Business Machines Corporation | System, method, and software to automate and assist web research tasks |
JP4671628B2 (ja) | 2004-06-16 | 2011-04-20 | ソニー株式会社 | ロボット装置の制御システム及び制御方法 |
US20060184293A1 (en) * | 2005-02-18 | 2006-08-17 | Stephanos Konandreas | Autonomous surface cleaning robot for wet cleaning |
US8265793B2 (en) * | 2007-03-20 | 2012-09-11 | Irobot Corporation | Mobile robot for telecommunication |
US8997115B2 (en) | 2007-08-31 | 2015-03-31 | International Business Machines Corporation | Method for data delivery in a network |
US8402431B2 (en) * | 2008-04-09 | 2013-03-19 | Renesas Electronics America Inc. | System and method for communicating with a microcontroller |
US8448139B2 (en) | 2009-10-05 | 2013-05-21 | International Business Machines Corporation | Automatic correction of application based on runtime behavior |
WO2011103425A1 (en) | 2010-02-18 | 2011-08-25 | Sa Ignite, Inc. | Systems and methods for monitoring and enhancing software applications |
US9799004B2 (en) | 2010-07-30 | 2017-10-24 | Avaya Inc. | System and method for multi-model, context-aware visualization, notification, aggregation and formation |
US9552056B1 (en) | 2011-08-27 | 2017-01-24 | Fellow Robots, Inc. | Gesture enabled telepresence robot and system |
EP2642395B1 (de) | 2012-03-21 | 2018-12-19 | ServiceTrace e.K. | Verfahren und Vorrichtung zum Ausführen von Workflow-Skripten |
WO2016014137A2 (en) * | 2014-05-06 | 2016-01-28 | Neurala, Inc. | Apparatuses, methods, and systems for defining hardware-agnostic brains for autonomous robots |
US10185590B2 (en) | 2014-06-16 | 2019-01-22 | Amazon Technologies, Inc. | Mobile and remote runtime integration |
US10585548B2 (en) | 2015-03-03 | 2020-03-10 | Soroco Private Limited | Software robots for programmatically controlling computer programs to perform tasks |
US9808933B2 (en) | 2015-04-03 | 2017-11-07 | GM Global Technology Operations LLC | Robotic system with reconfigurable end-effector assembly |
EP3133539A1 (en) | 2015-08-19 | 2017-02-22 | Tata Consultancy Services Limited | Method ans system for process automation in computing |
WO2017144078A1 (en) * | 2016-02-23 | 2017-08-31 | Abb Schweiz Ag | Robot controller system and method therefor |
EP3214510B1 (en) | 2016-03-03 | 2021-06-30 | Magazino GmbH | Controlling process of robots having a behavior tree architecture |
WO2017176917A1 (en) | 2016-04-06 | 2017-10-12 | Soroco Private Limited | Techniques for implementing persistently interactive software robots |
US10469599B2 (en) * | 2016-08-04 | 2019-11-05 | Koji Yoden | Automatic setting up of application program in portable computing device |
US10339027B2 (en) | 2016-09-06 | 2019-07-02 | Accenture Global Solutions Limited | Automation identification diagnostic tool |
KR102628789B1 (ko) * | 2016-09-09 | 2024-01-25 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
WO2018078457A1 (en) | 2016-10-28 | 2018-05-03 | Calgary Scientific Inc. | Multi-window architecture and data communication for a remote access application session |
US11157855B2 (en) | 2017-01-09 | 2021-10-26 | Sutherland Global Services Inc. | Robotics process automation platform |
US10324457B2 (en) | 2017-05-11 | 2019-06-18 | Global Eprocure | Robotic process automation for supply chain management operations |
US10682761B2 (en) | 2017-06-21 | 2020-06-16 | Nice Ltd | System and method for detecting and fixing robotic process automation failures |
US20190004932A1 (en) | 2017-06-30 | 2019-01-03 | Infinera Corporation | Unit test and automation framework (utaf) system and method |
US20190122200A1 (en) | 2017-10-24 | 2019-04-25 | Bank Of America Corporation | Robotic beacon device and system for remote triggering of events |
US10437984B2 (en) * | 2017-10-26 | 2019-10-08 | Bank Of America Corporation | Authentication protocol elevation triggering system |
US10503627B2 (en) | 2017-10-30 | 2019-12-10 | Bank Of America Corporation | Robotic process automation enabled file dissection for error diagnosis and correction |
US10686684B2 (en) | 2017-11-02 | 2020-06-16 | Bank Of America Corporation | Individual application flow isotope tagging within a network infrastructure |
US10839798B2 (en) | 2017-11-03 | 2020-11-17 | Salesforce.Com, Inc. | Intent interpreter for a visual bot builder |
WO2019087194A1 (en) * | 2017-11-05 | 2019-05-09 | Walkme Ltd. | Chat-based application interface for automation |
US12085901B2 (en) | 2017-11-21 | 2024-09-10 | Accenture Global Solutions Limited | Bot management framework for robotic process automation systems |
US11171989B1 (en) * | 2017-11-21 | 2021-11-09 | Medallia, Inc. | Secure messaging integration with messaging applications |
US10810322B2 (en) | 2017-12-05 | 2020-10-20 | Microsoft Technology Licensing, Llc | Sharing user information with and between bots |
JP2019159556A (ja) | 2018-03-09 | 2019-09-19 | 株式会社日本総合研究所 | Rpa保守支援装置及びrpa保守支援プログラム |
JP7054051B2 (ja) | 2018-03-26 | 2022-04-13 | 日本電気株式会社 | ソフトウェアロボット定義情報生成システム、ソフトウェアロボット定義情報生成方法、及びプログラム |
US20190303779A1 (en) | 2018-04-03 | 2019-10-03 | Walmart Apollo, Llc | Digital worker management system |
US10572316B2 (en) | 2018-05-14 | 2020-02-25 | International Business Machines Corporation | Adaptable pages, widgets and features based on real time application performance |
JP2020003905A (ja) | 2018-06-26 | 2020-01-09 | 株式会社日本総合研究所 | Rpa装置、rpaシステム、及びプログラム |
WO2020006076A1 (en) | 2018-06-27 | 2020-01-02 | Q2 Software, Inc. | Method and system for automating web processes utilizing an abstractable underlying platform layer |
US11325263B2 (en) | 2018-06-29 | 2022-05-10 | Teradyne, Inc. | System and method for real-time robotic control |
US10802889B1 (en) * | 2018-07-18 | 2020-10-13 | NTT DATA Services, LLC | Systems and methods of virtual resource monitoring for robotic processes |
JP6811214B2 (ja) | 2018-07-26 | 2021-01-13 | 株式会社アクシオ | 遠隔操作システム及びプログラム |
CN109636504B (zh) | 2018-11-07 | 2021-11-05 | 北京慧流科技有限公司 | 信息处理方法及装置、电子设备及存储介质 |
US10710239B2 (en) | 2018-11-08 | 2020-07-14 | Bank Of America Corporation | Intelligent control code update for robotic process automation |
US11076022B2 (en) | 2018-12-31 | 2021-07-27 | Lyft, Inc. | Systems and methods for implementing robotics frameworks |
US11429433B2 (en) | 2019-01-16 | 2022-08-30 | Epiance Software Pvt. Ltd. | Process discovery and automatic robotic scripts generation for distributed computing resources |
US11034027B2 (en) * | 2019-02-01 | 2021-06-15 | Locus Robotics Corp. | Robot assisted personnel routing |
JP6532626B1 (ja) | 2019-04-02 | 2019-06-19 | BizteX株式会社 | 社内ネットワーク上の社内サーバに対する操作を伴う業務プロセスを自動化するための装置、方法及びそのためのプログラム |
US11113095B2 (en) | 2019-04-30 | 2021-09-07 | Automation Anywhere, Inc. | Robotic process automation system with separate platform, bot and command class loaders |
US11243803B2 (en) | 2019-04-30 | 2022-02-08 | Automation Anywhere, Inc. | Platform agnostic robotic process automation |
US11614731B2 (en) | 2019-04-30 | 2023-03-28 | Automation Anywhere, Inc. | Zero footprint robotic process automation system |
US11042390B2 (en) | 2019-05-07 | 2021-06-22 | International Business Machines Corporation | Replaying operations on widgets in a graphical user interface |
US11481420B2 (en) * | 2019-08-08 | 2022-10-25 | Nice Ltd. | Systems and methods for analyzing computer input to provide next action |
CN110648054B (zh) | 2019-09-04 | 2022-05-17 | 中国建设银行股份有限公司 | 机器人流程自动化的任务并行处理方法及装置 |
US11433536B2 (en) * | 2019-09-19 | 2022-09-06 | UiPath, Inc. | Process understanding for robotic process automation (RPA) using sequence extraction |
US11366644B1 (en) | 2019-10-09 | 2022-06-21 | Uipco, Llc | Systems and methods for analyzing robotic process automation code |
US11249729B2 (en) * | 2019-10-14 | 2022-02-15 | UiPath Inc. | Providing image and text data for automatic target selection in robotic process automation |
US11748479B2 (en) * | 2019-10-15 | 2023-09-05 | UiPath, Inc. | Centralized platform for validation of machine learning models for robotic process automation before deployment |
US10860905B1 (en) | 2019-10-16 | 2020-12-08 | UiPath, Inc. | Long running workflows for document processing using robotic process automation |
US11593608B2 (en) | 2019-10-28 | 2023-02-28 | Paypal, Inc. | Systems and methods for predicting and providing automated online chat assistance |
US11351669B2 (en) * | 2019-10-29 | 2022-06-07 | Kyndryl, Inc. | Robotic management for optimizing a number of robots |
US12017362B2 (en) * | 2019-10-31 | 2024-06-25 | Automation Anywhere, Inc. | Productivity plugin for integration with robotic process automation |
US11110601B2 (en) * | 2019-11-20 | 2021-09-07 | UiPath, Inc. | Scheduling robots for robotic process automation |
US10911546B1 (en) | 2019-12-30 | 2021-02-02 | Automation Anywhere, Inc. | Robotic process automation with automated user login for multiple terminal server hosted user sessions |
US11233861B2 (en) * | 2020-02-18 | 2022-01-25 | UiPath, Inc. | Inter-session automation for robotic process automation (RPA) robots |
US10654166B1 (en) | 2020-02-18 | 2020-05-19 | UiPath, Inc. | Automation windows for robotic process automation |
US11494203B2 (en) * | 2020-05-13 | 2022-11-08 | UiPath, Inc. | Application integration for robotic process automation |
US11733668B2 (en) | 2020-07-09 | 2023-08-22 | UiPath, Inc. | Robot access control and governance for robotic process automation |
US11392477B2 (en) * | 2020-07-09 | 2022-07-19 | UiPath, Inc. | Automation of a process running in a first session via a robotic process automation robot running in a second session |
US11157339B1 (en) | 2020-07-09 | 2021-10-26 | UiPath, Inc. | Automation of a process running in a first session via a robotic process automation robot running in a second session |
US11343305B2 (en) * | 2020-09-01 | 2022-05-24 | UiPath Inc. | Systems and methods of automating a file download activity |
US11200073B1 (en) | 2020-11-20 | 2021-12-14 | UiPath, Inc. | Automatic anchor determination and target graphical element identification in user interface automation |
US11794348B2 (en) | 2021-07-28 | 2023-10-24 | Sap Se | Process assembly line with robotic process automation |
-
2020
- 2020-02-18 US US16/793,064 patent/US10654166B1/en active Active
- 2020-05-14 US US16/874,593 patent/US11117259B2/en active Active
- 2020-06-26 WO PCT/US2020/039886 patent/WO2021167644A1/en active Application Filing
- 2020-07-17 TW TW109124314A patent/TWI730845B/zh active
- 2020-07-22 JP JP2020125401A patent/JP6929422B1/ja active Active
- 2020-08-10 US US16/989,003 patent/US11325254B2/en active Active
- 2020-08-10 US US16/989,064 patent/US11130233B2/en active Active
- 2020-08-13 KR KR1020200101943A patent/KR102227687B1/ko active IP Right Grant
- 2020-08-31 CN CN202010894023.7A patent/CN113334371B/zh active Active
- 2020-09-21 EP EP20197271.8A patent/EP3869432A1/en active Pending
- 2020-12-09 CN CN202080098233.3A patent/CN115243839A/zh active Pending
- 2020-12-09 EP EP20919806.8A patent/EP4106954A1/en not_active Withdrawn
- 2020-12-09 JP JP2022549438A patent/JP2023514682A/ja active Pending
- 2020-12-09 WO PCT/US2020/063921 patent/WO2021167678A1/en unknown
- 2020-12-09 WO PCT/US2020/063912 patent/WO2021167677A1/en active Application Filing
- 2020-12-09 WO PCT/US2020/063951 patent/WO2021167679A1/en active Application Filing
-
2022
- 2022-03-17 US US17/697,871 patent/US11931899B2/en active Active
- 2022-04-29 US US17/733,591 patent/US20220258346A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473106A (zh) * | 2009-07-01 | 2012-05-23 | 国际商业机器公司 | 虚拟环境中的资源分配 |
CN107666987A (zh) * | 2015-07-02 | 2018-02-06 | 埃森哲环球服务有限公司 | 机器人过程自动化 |
CN109074402A (zh) * | 2016-04-11 | 2018-12-21 | 脸谱公司 | 基于示例会话使用自然语言机器学习来响应用户请求的技术 |
CN109118347A (zh) * | 2018-07-20 | 2019-01-01 | 苏宁易购集团股份有限公司 | 一种自动化协作方法及系统 |
CN110286998A (zh) * | 2019-05-23 | 2019-09-27 | 南京苏宁软件技术有限公司 | 虚拟机图形用户界面生效、执行过程记录方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210252702A1 (en) | 2021-08-19 |
US11325254B2 (en) | 2022-05-10 |
US20220203530A1 (en) | 2022-06-30 |
KR102227687B1 (ko) | 2021-03-15 |
WO2021167677A1 (en) | 2021-08-26 |
US11931899B2 (en) | 2024-03-19 |
JP2023514682A (ja) | 2023-04-07 |
JP2021131841A (ja) | 2021-09-09 |
WO2021167678A1 (en) | 2021-08-26 |
US11117259B2 (en) | 2021-09-14 |
US20200180155A1 (en) | 2020-06-11 |
CN113334371A (zh) | 2021-09-03 |
WO2021167644A1 (en) | 2021-08-26 |
TW202132070A (zh) | 2021-09-01 |
CN115243839A (zh) | 2022-10-25 |
EP3869432A1 (en) | 2021-08-25 |
EP4106954A1 (en) | 2022-12-28 |
JP6929422B1 (ja) | 2021-09-01 |
US20210252703A1 (en) | 2021-08-19 |
TWI730845B (zh) | 2021-06-11 |
US20210252704A1 (en) | 2021-08-19 |
US11130233B2 (en) | 2021-09-28 |
US10654166B1 (en) | 2020-05-19 |
US20220258346A1 (en) | 2022-08-18 |
WO2021167679A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113334371B (zh) | 用于机器人流程自动化的自动化窗口 | |
US11818223B2 (en) | Inter-session automation for robotic process automation (RPA) robots | |
JP2023524917A (ja) | ロボティックプロセスオートメーションのためのアプリケーション統合 | |
CN113168168B (zh) | 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化 | |
KR102476043B1 (ko) | 제1 세션에서 실행되고 있는 프로세스의 제2 세션에서 실행되고 있는 로봇 프로세스 자동화 로봇을 통한 자동화 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |