CN113228020B - 调度机器人以用于机器人流程自动化 - Google Patents
调度机器人以用于机器人流程自动化 Download PDFInfo
- Publication number
- CN113228020B CN113228020B CN202080004549.1A CN202080004549A CN113228020B CN 113228020 B CN113228020 B CN 113228020B CN 202080004549 A CN202080004549 A CN 202080004549A CN 113228020 B CN113228020 B CN 113228020B
- Authority
- CN
- China
- Prior art keywords
- robot
- group
- user
- job
- execute
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- 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
-
- 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
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39167—Resources scheduling and balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Abstract
提供了用于执行机器人流程自动化(RPA)工作流程的系统和方法。用于执行作业的指示被接收,该作业被调度用于执行针对与用户组相关联的用户的RPA工作流程。机器人从与作业相关联并且具有和用户组相同的访问权限的机器人组中被标识。机器人被派遣到计算设备以执行用于执行RPA工作流程的作业。
Description
相关申请的交叉引用
本申请要求于2019年11月20日提交的美国专利申请号16/689,193的优先权,其公开以其整体内容通过引用并入本文。
技术领域
本发明一般地涉及机器人流程自动化,并且更具体地涉及调度机器人以用于机器人流程自动化。
背景技术
机器人流程自动化(RPA)是过程自动化的一种形式,其使用软件机器人以使工作流程和过程自动化。RPA可以被实施在组织中以使重复的和/或劳动密集的任务自动化,从而降低成本并且提高生产率。
通常地,RPA通过向组织建置多个机器人以在该组织中被实施。机器人由组织内不同团队所利用以执行各种过程。然而,由于来自一个团队的数据随后可以被另一团队可访问,针对不同团队利用相同机器人可以导致隐私问题。通常地,为解决这些隐私问题,针对组织中的每个团队,专用的机器人被建置。然而,这种常规的方案要求这些机器人即使不执行过程,也将处于开启状态。这种常规的方案导致以每机器人的许可费用、功率需求、以及计算资源的形式的资源的浪费。
发明内容
根据一个或多个实施例,提供了用于执行机器人流程自动化(RPA)工作流程的系统以及方法。用于执行作业的指示被接收,该作业被调度用于执行针对与用户组相关联的用户的RPA工作流程。机器人从与作业相关联的并且具有与用户组相同的访问权限的机器人组中被标识。机器人被派遣到计算设备以执行用于执行RPA工作流程的作业。
在一个实施例中,计算设备被唤醒以运行机器人来执行作业并且在机器人完成作业后被关闭。
在一个实施例中,机器人从与作业相关联的机器人组中被标识。机器人可以通过以下操作被标识:发送包括作业的作业标识(ID)的请求,以及从与作业ID相关联的机器人组接收机器人的机器人ID。
在一个实施例中,访问权限管理系统被维护,该系统包括与用户组相关联的用户组目录以及对应的与机器人组相关联的机器人组目录。用户组目录将用户组关联于和用户组相关联的访问权限,并且机器人组目录将机器人组关联于和用户组相同的访问权限。
在一个实施例中,响应于触发事件,用于执行作业的指令被接收,该作业用于执行针对用户的RPA工作流程。
在一个实施例中,作业通过以下操作被调度:接收用于执行针对用户的RPA工作流程的请求,将机器人组标识为与用户组相对应,以及调度用于由机器人组的机器人执行RPA工作流程的作业。
根据一个或多个实施例,提供了用于调度用于执行机器人流程自动化(RPA)工作流程的作业的系统和方法。用于执行针对与用户组相关联的用户的RPA工作流程的请求被接收。对应于用户组并且关联于和用户组相同的访问权限的机器人组被标识。用于在机器人组的机器人上执行RPA工作流程的作业被调度。
在一个实施例中,机器人是通过以下操作被标识:发送包括用户的用户标识(ID)的请求,以及接收对应于所述用户ID的机器人组的机器人组ID。
在一个实施例中,机器人通过以下操作被派遣以执行用于执行RPA工作流程的作业:接收用于执行被调度用于执行针对用户的RPA工作流程的作业的指示,从机器人组标识机器人,以及将机器人派遣到计算设备以执行用于执行RPA工作流程的作业。
通过参考以下详细说明以及附图,本发明的这些以及其他优点对于本领域技术人员来说将是明显的。
附图说明
图1图示了根据本发明的实施例的机器人流程自动化系统的架构图;
图2图示了根据本发明的实施例的经部署的机器人流程自动化系统的示例的架构图;
图3图示了根据本发明的实施例的机器人流程自动化系统的经简化的部署的示例的架构图;
图4示出了根据本发明的实施例的用于在组织中实施RPA的高级框架;
图5示出了根据本发明的实施例的用于派遣机器人以用于执行一个或多个过程或工作流程的高级系统架构;
图6是根据本发明的实施例的用于调度作业的方法的流程图;
图7示出了根据本发明的实施例的用于调度作业的系统架构;
图8是根据本发明的实施例的用于执行作业的方法的流程图;
图9示出了根据本发明的实施例的用于执行作业的系统架构;以及
图10是根据本发明的实施例的计算系统的框图。
具体实施方式
机器人流程自动化(RPA)被用来使工作流程以及过程自动化。图1是根据一个或多个实施例的RPA系统100的架构图。如图1中所示,RPA系统100包括允许开发者使用工作流程设计自动化过程的设计器102。更具体地,设计器102支持工作流程以及机器人的开发与部署,以用于在工作流程中执行活动。设计器102可以提供针对以下项的解决方案:应用集成、以及自动化第三方应用、管理性信息技术(IT)任务、和用于联络中心操作的业务过程。设计器102的实施例中的一个是商业的示例是UiPath StudioTM。
在设计基于规则的过程的自动化中,开发者控制执行顺序以及在工作流程中被开发出的一组定制的步骤之间的关系,在本文中定义为“活动”。每个活动可以包括诸如点击按钮、读文件、写入日志面板等动作。在一些实施例中,工作流程可以是嵌套的或嵌入的。
一些类型的工作流程可以包括,但不限于序列、流程图、有限状态机(FSM)、和/或全局异常处理器序列可以特别适于线性过程,使得能够从一项活动流向另一项而不会使工作流程混乱。流程图可以特别适合更复杂的业务逻辑,使得能够通过多个分支逻辑运算符以更加多样化的方式集成决策并且连接活动。FSM可以特别地适于大型工作流程。FSM可以在它们的执行中使用有限数目的状态,状态是由条件(即,过渡)或活动所触发的。全局异常处理器可以特别地适于当遇到执行错误时确定工作流程行为并且适于调试过程。
一旦在设计器102中开发了工作流程,业务过程的执行由指挥器(conductor)104编排(orchestrate),指挥器104编排执行由设计器102中所开发的工作流程的一个或多个机器人106。指挥器104的实施例中的一个商业的示例是UiPath OrchestratorTM。指挥器220支持对RPA环境中的资源的创建、监测和部署的管理。在一个示例中,指挥器104是Web应用。指挥器104还可以运作为具有第三方解决方案和应用的整合点。
指挥器104可以通过从集中点连接以及执行机器人106来管理机器人106的机群(fleet)。指挥器104可以具有各种能力,包括但不限于建置(provision)、部署、配置、排队、监测、日志记录(logging)、和/或提供互连性。建置可以包括对在机器人106与指挥器104(例如,Web应用)之间的连接的创建以及维护。部署可以包括确保将包版本正确递送到所分配的机器人106以供执行。配置可以包括机器人环境与过程配置的维护与递送。排队可以包括提供对队列以及队列项的管理。监测可以包括跟踪机器人标识数据以及维护用户许可。日志记录可以包括将日志存储并且索引到数据库(例如,SQL数据库)和/或另一存储机制(例如,其提供存储以及快速查询大型数据集的能力)。指挥器104可以通过作为针对第三方解决方案和/或应用的通信的集中点来提供互连性。
机器人106是执行代理,其运行在设计器102中建造的工作流程。机器人106的一些实施例中的一个商业的示例是UiPath RobotsTM。机器人106的类型可以包括但不限于有人值守机器人108以及无人值守机器人110。有人值守机器人108由用户或用户事件触发,并且与人类用户一起在相同的计算系统上操作。有人值守机器人108可以帮助人类用户完成各种任务,并且可以由人类用户和/或用户事件直接触发。在有人值守机器人的情况下,指挥器104可以提供集中的过程部署以及日志记录介质。在某些实施例中,有人值守机器人108只可以从“机器人托盘”或从Web应用中的命令提示符启动。无人值守机器人100在虚拟环境中的无人值守模式下操作并且可以被用于使许多过程(例如,高容量、后端过程等)自动化。无人值守机器人100可以负责远程执行、监测、调度、以及为工作队列提供支持。有人值守和无人值守机器人两者可以使各种系统以及应用自动化,包括但不限于大型机、Web应用、VM、企业应用(例如,那些由 等所生产的)、以及计算系统应用(例如,桌上型和膝上型应用、移动设备应用、可穿戴计算机应用等)。
在一些实施例中,机器人106默认安装Microsoft服务控制管理器(SCM)所管理的服务。作为结果,此类机器人106可以在本地系统账户下打开交互式会话,并且具有服务的权限。在一些实施例中,机器人106可以在用户模式下被安装有与已经安装有给定机器人106的用户相同的权限。
在一些实施例中,机器人106被拆分为若干部件,每个部件专用于特别的任务。在一些实施例中,机器人部件包括但不限于SCM所管理的机器人服务、用户模式机器人服务、执行器、代理、以及命令行。SCM所管理的机器人服务管理与监测会话并且充当指挥器104和执行主机(即,在其上执行机器人106的计算系统)之间的代理。这些服务是受信任的并且为机器人106管理凭据。控制台应用由本地系统下的SCM启动。在一些实施例中,用户模式机器人服务管理与监测会话,并且充当指挥器104和执行主机之间的代理。用户模式机器人服务可以是受信任的并且为机器人106管理凭据。如果SCM所管理的机器人服务未经安装,则应用可以自动地被启动。执行器可以在会话下运行给定作业(例如,它们可以执行工作流程),并且它们可以知道每监测器的每英寸点数(DPI)设置。代理可以是呈现基础(PresentationFoundation)(WPF)应用,这些应用显示系统托盘窗口中的可用的作业。代理可以是服务的客户端。代理可以请求开始或停止作业并且改变设置。命令行是服务的客户端并且是可以请求开始作业以及等待它们的输出的控制台应用。拆分机器人部件可以帮助开发者,支持用户,以及使得计算系统能够更容易地运行、识别、以及追踪每个机器人部件正在执行什么。例如,可以为每个机器人部件配置特殊的行为,诸如设置针对执行器和服务的不同的防火墙规则。如另一示例,在一些实施例中,执行器可以知道每监测器的DPI设置,并且作为结果,工作流程可以在任何DPI被执行,而无论在其上创建工作流程的计算系统的配置如何。
图2示出了根据一个或多个实施例的RPA系统200。RPA系统200可以是图1的RPA系统100,或者可以是图1的RPA系统100的部分。应当指出的是,在不背离本发明的范围的情况下,“客户端侧”、“服务器侧”、或者两者可以包括任何期望数目的计算系统。
如在此实施例的客户端侧上所示的,计算系统202包括一个或多个执行器204、代理206、以及设计器208。在其他实施例中,设计器208可能不在相同的计算系统202上运行。执行器204(其可以是如以上描述的机器人部件)运行过程并且,在一些实施例中,多个业务过程可以同时运行。在这个示例中,代理206(例如,服务)是针对管理执行器204的联络(contact)的单个点。
在一些实施例中,机器人表示在机器名和用户名之间的关联。机器人可以同时管理多个执行器。在支持多个交互式会话同时运行的计算系统(例如,Server2012)上,多个机器人可能正在同时运行(例如,高密度(HD)环境),每个在单独的会话中使用唯一的用户名。
代理206还负责发送机器人状态(例如,周期性地发送指示机器人仍然在运作的“心跳”消息)以及下载要执行的包的所需版本。在一些实施例中,代理206和指挥器212之间的通信是由代理206发起的。在通知场景的示例中,代理206可以打开随后由指挥器212使用来向机器人发送命令(例如,开始、停止等)的WebSocket信道。
如在此实施例中的服务器侧所示的,呈现层包括Web应用214、开放数据协议(OData)代表性状态传送(REST)应用编程接口(API)端点216以及通知与监测API 218。在服务器侧上的服务层包括API实现/业务逻辑220。在服务器侧上的持久层包括数据库服务器222以及索引服务器224。指挥器212包括Web应用214、OData REST API端点216、通知与监测API 218、以及API实现/业务逻辑220。
在各种实施例中,用户在指挥器212的接口(例如,经由浏览器210)中执行的大部分动作,是通过调用各种API被执行的。此类动作可以包括但不限于在机器人上开始作业、在队列中添加/移除数据、调度作业来以无人值守的方式运行等。Web应用214是服务器平台的视觉层。在这个示例中,Web应用214使用超文本标记语言(HTML)以及JavaScript(JS)。然而,在不背离本发明的范围的情况下,可以使用任何所希望的标记语言、脚本语言、或任何其他格式。在此实施例中,为了执行各种动作以控制指挥器212,用户经由浏览器210与来自Web应用214的Web页面交互。例如,用户可以创建机器人组、向机器人分配包、分析每个机器人的日志和/或每个过程的日志、开始和停止机器人等。
除了Web应用214之外,指挥器212还包括暴露OData REST API端点216(或者在不背离本发明的范围的情况下可以被实施的其他端点)的服务层。REST API由Web应用214和代理206两者消耗。在此示例性配置中,代理206是客户端计算机上的一个或多个机器人的监管者。
在此实施例中的REST API涵盖配置、日志记录、监测、以及排队功能。在一些实施例中,配置REST端点可以被用于定义和配置应用用户、许可、机器人、资产、释放、以及环境。例如,日志记录REST端点对于日志记录不同的信息(诸如,错误、由机器人所发送的显式消息、以及其他环境特定的信息)可以是有用的。如果开始作业的命令被用在指挥器212中,则部署REST端点可以由机器人使用来查询应当被执行的包版本。排队REST端点可以负责队列和队列项管理,诸如向队列添加数据、从队列中获取事务、设置事务的状态等。监测REST端点监测Web应用214以及代理206。通知与监测API 218可以是如下的REST端点:这些REST端点被用来注册代理206、向代理206传递配置设置、以及用来发送/接收来自服务器和代理206的通知。在一些实施例中,通知与监测API 218还可以使用WebSocket来通信。
在这个图示性的实施例中,在服务器侧上的持久层包括一对服务器——数据库服务器222(例如,SQL服务器)以及索引服务器224。在此实施例中,数据库服务器222存储机器人、机器人组、相关联的过程、用户、角色、调度等的配置。在一些实施例中,该信息通过Web应用214被管理。数据库服务器222还可以管理队列以及队列项。在一些实施例中,数据库服务器222可以存储由机器人所日志记录的消息(附加于或代替索引服务器224)。在一些实施例中是可选的索引服务器224存储以及索引由机器人所日志记录的信息。在某些实施例中,索引服务器224可以通过配置设置而被禁用。在一些实施例中,索引服务器224使用其是开源项目全文搜索引擎。由机器人所日志记录的消息(例如,使用类似日志记录消息或写入行的活动)可以通过(多个)日志记录REST端点被发送到索引服务器224,在索引器服务器224中这些消息被索引以供将来使用。
图3图示了根据一个或多个实施例的RPA系统300的经简化的部署示例的架构图。在一些实施例中,RPA系统300可以是、或者可以包括图1与图2各自的系统100和/或200。RPA系统300包括运行机器人的多个客户端计算系统302。计算系统302可以经由在其上运行的Web应用与指挥器计算系统304通信。指挥器计算系统304继而与数据库服务器306以及可选的索引服务器308通信。关于图2和3,应当指出,尽管在这些实施例中使用了Web应用,在不背离本发明的范围的情况下,任何适当的客户端/服务器软件可以被使用。例如,指挥器可以运行与在客户端计算系统上的非基于Web的客户端软件应用通信的服务器侧应用。
在一个实施例中,RPA系统300可以在组织(诸如,例如商业、机构、协会等)中或针对组织被实施。组织可以包括数个组(或子组)。例如,组织可以包括财务与会计(F&A)组,在F&A组下有应付账款(AP)组。通常,为了保护机密以及敏感信息,授予或限制用户访问各种文件、文件夹、服务等的访问权限,是根据用户所属于的组来定义的。相应地,访问权限管理系统(诸如,例如,活动目录(AD)或轻型目录访问协议(LDAP)),可以根据用户所属于的组被实施以定义针对用户的访问权限。
图4示出了根据一个或多个实施例的用于在组织中实施RPA的高级框架400。框架400包括活动目录402(或任何其他适当的访问权限管理系统)以用于管理针对组织的一个或多个用户与机器人的对文件、文件夹、服务等的访问权限。
活动目录402管理针对用户社区命名空间中的用户(例如,员工)以及针对生产命名空间中的机器人的访问权限。如图4中所示,活动目录402在用户社区命名空间中维护F&A用户组目录404以及F&A用户组目录404下的AP用户组目录406。活动目录402按组限定访问权限。因此,属于组织的AP组的用户与活动目录402的AP用户组目录406相关联,并且被分配与AP用户组目录406相关联的访问权限。活动目录402维护针对每个用户的简档。用户简档可以包括用户ID、所关联组、以及任何其他适当的信息。当新用户加入(例如,被雇佣)组织的AP组时,通过以下操作将新用户添加到活动目录402的AP用户组目录406:针对新用户创建简档、将新用户与AP用户组目录406相关联、从而给该新用户分配与AP用户组目录406相关联的访问权限。
有时,用户可能想要部署机器人以用于自动地执行一个或多个工作流程。为使机器人自动地执行一个或多个工作流程,机器人可能需要与用户相同的访问权限。因此,活动目录402在生产命名空间中维护机器人组目录,其对应于在用户社区命名空间中的用户组目录。每个机器人组目录被分配给与其对应的用户组目录相同的访问权限。如图4中所示,活动目录402在R-F&A机器人组目录408下维护F&A机器人组目录408(表示为R-F&A)以及AP机器人组目录410(表示为R-AP)。R-F&A组目录408具有与F&A用户组目录404相同的访问权限,并且R-AP组目录410具有与AP用户组目录406相同的访问权限。活动目录402针对每个机器人维护简档。机器人简档可以包括机器人ID、相关联组,以及任何其他适当的信息。
机器人队R-AP 412表示与AP机器人组相关联并且被分配以执行来自与AP用户组相关联的用户的过程的一队机器人。机器人组R-AP412包括机器人池414以及作业队列418。机器人池414包括与活动目录402中的R-AP机器人组目录410相关联的无人值守机器人416-A和416-B。作业队列418表示针对与AP用户组目录406相关联的用户的工作流程。如图4中所示,作业队列418包括将由在机器人池414中的机器人完成的针对与AP用户组目录406相关联的AP员工1的工作流程420-A和420-B、针对与AP用户组目录406相关联的AP员工2的工作流程420-C、以及针对与AP用户组目录406相关联的AP员工3的工作流程420-D和420-E。当与AP组目录406相关联的用户想要自动地执行一个或多个工作流程时,与对应的机器人组(即,R-AP机器人组目录410)相关联的机器人(即,无人值守机器人416-A或416-B)被派遣,并且因此与用户相同的访问权限被派遣。
图5示出了根据一个或多个实施例的用于执行一个或多个工作流程的高级系统架构500。系统架构500包括调度器502、虚拟桌面镜像(VDI)504、以及编排器(orchestrator)506。在一个实施例中,编排器506可以是图1的指挥器104、图2的指挥器212、或图3的指挥器304。
调度器502调度何时由机器人执行工作流程。如系统架构500中所示,调度器502调度机器人组1 508-A、机器人组2 508-B、......机器人组N 508-N。机器人组1 508-A表示被调度用于由无人值守机器人UR-1 510-A执行的针对用户组1514-A的工作流程512-A。机器人组2 508-B表示被调度用于由无人值守机器人UR-2 510-B执行的针对用户组2 514-B的工作流程512-B。机器人组N 508-N表示被调度用于由无人值守机器人UR-N 510-N执行的针对用户组N 514-N的工作流程512-N,其中N是任何正整数。
VDI工厂504是用于管理分别用于执行工作流程512-A、512-B、……512-N的机器人510-A、510-B、……510-N的执行的虚拟桌面。VDI工厂504从调度器502接收指示工作流程512-A的工作流程1-1例如,被触发用于执行的消息。VDI工厂504发送消息到编排器506以标识被分配以执行工作流程1-1的机器人510-A,并且编排器506将与机器人510-A相关联的机器人ID返回到VDI工厂504。VDI工厂504启动机器人510-A(例如,开始、唤醒、开机、登录、或以其他方式使机器人510-A活跃以及就绪)并且机器人510-A执行工作流程1-1。
一旦机器人510-A完成工作流程1-1,VDI工厂504关闭机器人510-A。在一个实施例中,VDI工厂504基于预设规则来自动地冠部机器人510-A,该规则在处于空闲预定的时间段之后关闭机器人510-A。在另一实施例中,编排器506向VDI工厂504发送机器人510-A完成了工作流程1-1的通知,并且作为响应VDI工厂504关闭机器人510-A。
系统架构500的优势在于:尽管组织可以利用大量数目的机器人,在给定时间同时执行的机器人的数目是减少的,从而由于机器人许可和基础设施(例如,功率、存储器、计算机处理、带宽等)而将成本最小化。
虽然系统架构500提供了本发明的实施例的高级概述,但是在操作中,本发明的实施例可以以两个阶段被实施:部署自动化阶段以及调度与运行自动化阶段。部署自动化阶段将在以下参考图6和图7被描述。调度与运行自动化阶段将在以下参考图8和图9被描述。
图6示出了根据一个或多个实施例的用于调度作业用于执行RPA工作流程的方法600。图6将参照图7的系统架构700来描述。系统架构700包括部署工具702、活动目录704、调度系统706、以及编排器708。在一个实施例中,调度系统706可以是图5的调度器502,编排器708可以是图1的指挥器104、图2的指挥器212、图3的指挥器304、或图5的编排器506,并且活动目录704可以是图2的活动目录402。方法600的步骤可以由任何适当的计算设备执行。在一个实施例中,方法600的步骤由图7的部署工具702执行。
在图6的步骤602处,用于执行针对用户的RPA工作流程的请求被接收。用于执行RPA工作流程的请求在系统架构700中被示出为由部署工具702接收到的部署自动化请求714。部署工具702可以是用于管理对作业的部署和调度以调度系统706的任何适当的计算设备。在一个实施例中,部署工具702是在计算设备上运行的机器人、脚本、应用导航器、企业连接、编排器系统等。部署自动化请求714包括XAML/包710以及用户简档712。XAML/包710表示将针对用户被执行的工作流程,并且用户简档712是包括用户的用户ID的用户的简档。在一个实施例中,工作流程的XAML/包710可以(例如,由用户)使用图1的设计器102或图2的设计器208来创建。
在一个实施例中,用户属于与访问权限相关联的用户组。访问权限可以在活动目录704或任何其他适当的访问权限管理系统(例如,LDAP)中被管理与维护。
在步骤604处,对应于用户组的机器人组被标识。系统架构700示出机器人组ID功能716。机器人组ID功能716表示针对对应于从部署工具702到活动目录704的用户的用户ID的机器人组ID的请求,以及标识对应于从活动目录704到部署工具702传输的用户的用户ID的机器人组ID的响应。请求包括用户的用户ID。如果对应于用户ID的机器人组不存在,活动目录704创建对应于用户ID的新的机器人组并且用新机器人组的机器人组ID响应部署工具702。在一个实施例中,经标识的机器人组关联于与活动目录704中对应的用户组的相同的访问权限。
在步骤606处,与机器人组相关联的用于执行RPA工作流程的作业被创建。系统架构700示出作业功能718。作业功能718表示用于创建作业的请求,该作业用于执行由从部署工具702到编排器708的经标识的机器人组的XAML/包710所表示的工作流程,以及标识从编排器708到部署工具702的作业ID和作业名的响应。请求包括XAML/软件包710和所标识的机器人组ID。在接收到请求时,编排器708创建用于执行工作流程的作业、为该作业分配作业名和作业ID、以及将作业与所标识的机器人组ID相关联。
在步骤608处,在机器人组的机器人上调度用于执行RPA工作流程的作业。系统架构700示出调度功能720。调度功能720表示用于从部署工具720到调度系统702在机器人组的机器人上调度作业的请求。请求包括用户ID、机器人组ID、作业名、以及作业ID。作业由调度系统704基于由用户接收到的输入来被调度。用户可以使用用户ID、机器人组ID、作业名、以及作业ID来创建账户(如果尚未被创建)。一旦登录到账户中,用户可以调度作业。作业可以由用户限定用来执行作业的未来时间以及日期来被调度,或者如果有按需选项,则可以被调度为发起立即执行(例如,通过点击“立即运行”按钮)。调度系统706可以是任何适当的调度系统,诸如,例如,Node Red、BMC、iControl等。
图8了示出根据一个或多个实施例的用于执行RPA工作流程的方法800。图8将参照图9的系统架构900来被描述。系统架构900包括调度系统902、运行工具904、计算机906、以及编排器908。在一个实施例中,调度系统902可以是图5的调度器502或图7的调度系统706,并且编排器908可以是图1的指挥器104、图2的指挥器212、图3的指挥器304、图5的编排器506、或图7的编排器708。在一些实施例中,运行工具904可以如同VDI工厂(例如,图5的VDI工厂504)在同样的设备或单独的设备上运行。方法800的步骤可以由任何适合的计算设备执行。
在步骤802处,用于执行作业的指示被接收,该作业用于执行针对用户的RPA工作流程。在一个实施例中,作业可以先前已经基于接收到的来自用户的输入而在调度系统902中被调度(例如,用于将来时间和日期或用于立刻执行)。例如,用户可以登录调度系统902、查看用户的作业、以及设置针对作业的调度。在一个实施例中,作业可以先前已经根据,例如根据图6的方法600的步骤在部署自动化阶段期间在调度系统902中被调度。工作流程可以(例如,由用户)使用例如图1的设计器102或图2的设计器208以XAML/包的形式被创建。在一个实施例中,用户属于与在访问权限管理系统(例如,图4的活动目录402或图7的活跃目录704)中的访问权限相关联的用户组。
用于执行作业的指示可以是在系统架构900中从调度系统902传送到运行工具904的调度触发指示912,该作业用于执行针对用户的RPA工作流程。在一个实施例中,响应于触发事件,调度触发指示912被传送到运行工具904。触发事件可以基于时间(例如,具体的时间或逝去的时间)、另一作业的完成、由用户的手动触发、或任何其他适当的触发事件。调度触发指示912包括已经被触发的作业的作业ID。运行工具904可以是任何适当的用于管理作业的性能的计算设备,诸如,例如,机器人、脚本、应用、编排系统、导航器、企业连接、第三方系统等。
在步骤804处,从与作业相关联的机器人组标识机器人。系统架构900示出机器人ID函数914。机器人ID函数914表示针对从运行工具904到编排器908的用于执行作业的机器人的标识符的请求,以及从编排器908到运行工具904标识机器人的响应。特别地,运行工具904传送包括作业的作业ID的请求。编排器908标识与作业ID相关联的机器人组,并且利用经标识的机器人组中的机器人的机器人ID响应运行工具904。如果经标识的机器人组包括多于一个的机器人,则下一个可用的机器人的机器人ID在经标识的机器人组中被提供。在一个实施例中,经标识的机器人组关联于和在访问权限管理系统中的用户组相同的访问权限。在一个示例中,其中机器人不与机器人组相关联,编排器908基于作业ID来确定用于执行作业所需要的访问权限,并且动态地将机器人关联于与所确定地访问权限相关联的用户组。在该实施例中,当机器人完成作业,机器人可以被重新分配到与其他机器人相关联的其他作业。
在步骤806处,用于运行机器人的计算设备(例如,计算机906)已经被唤醒。运行工具904将唤醒指令916传送到计算机906以唤醒计算机906。计算机906可以是任何适当的用于运行与已标识的机器人ID相关联的机器人的计算设备。在一个实施例中,计算机906是基于云的或虚拟化的桌面环境。
在步骤808处,机器人被派遣以在计算设备上执行用于执行RPA工作流程的作业。运行工具904将运行作业指令918发送到编排器908以设置已唤醒的计算机906以运行状态。计算机906运行机器人,该机器人执行作业。
在步骤810处,在作业被完成后,计算设备被关闭。运行工具904将关闭指令920传送到计算机906以关闭计算机906。关闭计算机906可以包括使计算机906关闭电源、睡眠、暂停、休眠等。在一个实施例中,响应于从编排器908到运行工具904的通知运行工具904作业完成的编排器Web钩子(hook)调用通知,关闭指令920被发送到计算机906。在另一示例中,在机器人或计算机906处于空闲预定的时间段之后,关闭指令920被发送到计算机906。在另一实施例中,计算机906在预定的时间段处于空闲后关闭自身。在另一个实施例中,计算机906的关闭可以被延迟(例如,预定的时间段)以允许机器人或其他机器人完成其他作业。
有利地,唤醒计算机906以运行机器人来完成作业,并且一旦作业被完成关闭计算机90以减少在给定的时间同时执行的机器人的数目,从而最小化成本。调度系统902允许作业被调度以及被排队以避免组内冲突。本发明的实施例可以以最小的操作成本具有无限制的规模。
图10图示了根据本发明的实施例的被配置为执行参考图6和8中所描述的方法的计算系统1000的框图。在一些实施例中,计算系统1000可以是本文所描绘和/或描述的计算系统中的一个或多个计算系统。计算系统1000包括总线1002或用于传达信息的其他通信机制,以及被耦合到总线1002用来处理信息的(多个)处理器1004。(多个)处理器1004可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、多个它们的实例、和/或它们的任何组合。(多个)处理器1004还可以具有多个处理核心,并且核心中的至少一些核心可以被配置为执行特定的功能。在一些实施例中,多平行处理可以被使用。
计算系统1000还包括用于存储信息和将由(多个)处理器704执行的指令的存储器1006。存储器1006可以包括以下各项的任何组合:随机存取存储器(RAM)、只读存储器(ROM)、闪存、高速缓存、静态存储装置(诸如磁盘或光盘)、或任何其他类型的非瞬态计算机可读介质或其组合。非瞬态计算机可读介质可以是可以由(多个)处理器1004访问的任何可用的介质,并且可以包括易失性介质、非易失性介质、或两者。该介质还可以是可移除介质、非可移除介质、或者两者。
附加地,计算系统1000包括通信设备1006,诸如收发器,以经由根据任何当前存在的或将来被实施的通信标准和/或协议的无线连接和/或有线连接提供对通信网络的访问。
(多个)处理器1004还经由总线1002被耦合到适于向用户显示信息的显示器1010。显示器1010还可以被配置为触摸显示器和/或任何适当的触觉I/O设备。
键盘1012和光标控制设备1014(诸如计算机鼠标、触摸板等)还被耦合到总线1002,以使得用户可以与计算系统接口。然而,在某些实施例中,物理的键盘与鼠标可能不存在,并且用户可以通过显示器1010和/或触摸板(未示出)与设备独自交互。输入设备的任何类型和组合可以被用作设计选择。在某些实施例中,不存在物理输入设备和/或显示器是。例如,用户可以经由与其通信的另一计算系统与计算系统1000远程交互,或者计算系统1000可以自主地操作。
存储器1006存储当由(多个)处理器1004执行时提供功能的软件模块。模块包括针对计算系统1000的操作系统1016,以及一个或多个附加的功能模块1018,功能模块1018被配置为执行本文描述的过程的全部或部分或其衍生物。
本领域技术人员应当理解,在不背离本发明的范围的情况下,“系统”可以被体现为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、移动电话、平板计算设备、量子计算系统、或任何其他适当的计算设备、或设备的组合。将上文所描述的功能呈现为由“系统”执行不旨在以任何方式限制本发明的范围,而是旨在提供本发明的很多实施例中的一个示例。实际上,本文所公开的方法、系统以及装置可以以与包括云计算系统的计算技术一致的本地化形式和分布式形式来实现。
应当指出,在此说明书中所描述的系统特征中的一些系统特征已经被呈现为模块,以便更加特别地强调它们实现的独立性。例如,模块可以被实施为硬件电路,该硬件电路包括定制超大规模集成(VLSI)电路或门阵列、诸如逻辑芯片的现成(off-the-shelf)半导体、晶体管、或其他分立的部件。模块还可以在可编程硬件设备(诸如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等)中被实施。模块还可以至少部分地以软件实现,以供由各种类型的处理器执行。可执行代码的经标识的单元可以例如包括可以例如被组织为对象、过程(procedure)或功能的计算机指令的一个或多个物理块或逻辑块。然而,可执行的经标识的模块不需要物理地位于一起,但是可以包括存储在不同位置的不同的指令,当这些指令逻辑上结合在一起时,包括模块并且实现模块所陈述的用途。此外,在不背离本发明的范围的情况下,模块可以被存储在计算机可读介质上,该计算机可读介质可以是例如硬盘驱动器、闪存设备、RAM、磁带、和/或用于存储数据的任何其他这样地非瞬态计算机可读介质。实际上,可执行代码的模块可以是单个指令、或者很多指令,并且甚至可以被分布在多个不同代码段上、在不同程序之中,以及跨多个存储器设备。类似地,在本文中,操作性数据可以在模块内被标识和说明,并且可以以任何适当的形式被体现并且可以在任何适当的类型的数据结构内被组织。操作性数据可以被收集为单个数据集,或者可以在不同位置上分布,包括在不同存储设备上分布,并且可以至少部分地仅作为系统或网络上的电子信号而存在。
前述仅仅说明了本公开的原理。因此,应当理解,本领域的技术人员将能够想出尽管没有在本文中明确地描述或示出但体现本公开的原理并且被包括在其精神和范围内的各种布置。此外,本文中所叙述的所有示例和有条件的语言主要是旨在仅针对教育目的,以助于读者理解本公开的原理和由发明人为增进本领域所贡献的概念,并且应被解释为不限于这些具体地叙述的示例和条件。此外,本文中叙述本公开的原理、方面、和实施例的所有陈述,以及其具体的示例都旨在涵盖其结构等价物和功能等价物两者。附加地,这样的等价物旨在包括当前已知的等价物以及将来被开发的等价物两者。
Claims (45)
1.一种用于执行机器人流程自动化工作流程的计算机实现的方法,包括:
接收用于执行被调度用于执行针对用户的机器人流程自动化工作流程的作业的指示,所述用户属于与访问权限相关联的用户组;
从机器人组标识机器人,所述机器人组关联于和所述用户组相同的所述访问权限;以及
将所述机器人派遣到计算设备以执行用于执行所述机器人流程自动化工作流程的所述作业。
2.根据权利要求1所述的计算机实现的方法,还包括:
唤醒所述计算设备以运行所述机器人;以及
在所述机器人完成所述作业后关闭所述计算设备。
3.根据权利要求1所述的计算机实现的方法,其中从机器人组标识机器人包括:
从与所述作业相关联的所述机器人组标识所述机器人。
4.根据权利要求3所述的计算机实现的方法,其中从与所述作业相关联的所述机器人组标识所述机器人包括:
发送包括所述作业的作业标识的请求;以及
从与所述作业标识相关联的所述机器人组接收所述机器人的机器人标识。
5.根据权利要求1所述的计算机实现的方法,还包括:
维护访问权限管理系统,所述访问权限管理系统包括与所述用户组相关联的用户组目录以及对应的与所述机器人组相关联的机器人组目录,所述用户组目录将所述用户组关联于和所述用户组相关联的所述访问权限,并且所述机器人组目录将所述机器人组关联于和所述用户组相同的所述访问权限。
6.根据权利要求1所述的计算机实现的方法,其中接收用于执行被调度用于执行针对用户的机器人流程自动化工作流程的作业的指示包括:
响应于触发事件,接收用于执行被调度用于执行针对所述用户的所述机器人流程自动化工作流程的所述作业的所述指示。
7.根据权利要求1所述的计算机实现的方法,还包括通过以下操作来调度被调度用于执行所述机器人流程自动化工作流程的所述作业:
接收用于执行针对所述用户的所述机器人流程自动化工作流程的请求;
将所述机器人组标识为与所述用户组相对应;以及
调度所述作业以用于由所述机器人组的所述机器人执行所述机器人流程自动化工作流程。
8.一种用于执行机器人流程自动化工作流程的系统,包括:
存储器,存储计算机程序指令;以及
至少一个处理器,所述至少一个处理器被配置为执行所述计算机程序指令,所述计算机程序指令被配置为使所述至少一个处理器执行操作,所述操作包括:
接收用于执行被调度用于执行针对用户的机器人流程自动化工作流程的作业的指示,所述用户属于与访问权限相关联的用户组;
从机器人组标识机器人,所述机器人组关联于和所述用户组相同的所述访问权限;以及
将所述机器人派遣到计算设备以执行用于执行所述机器人流程自动化工作流程的所述作业。
9.根据权利要求8所述的系统,所述操作还包括:
唤醒所述计算设备以运行所述机器人;以及
在所述机器人完成所述作业后关闭所述计算设备。
10.根据权利要求8所述的系统,其中从机器人组标识机器人包括:
从与所述作业相关联的所述机器人组标识所述机器人。
11.根据权利要求10所述的系统,其中从与所述作业相关联的所述机器人组标识所述机器人包括:
发送包括所述作业的作业标识的请求;以及
从与所述作业标识相关联的所述机器人组接收所述机器人的机器人标识。
12.根据权利要求8所述的系统,所述操作还包括:
维护访问权限管理系统,所述访问权限管理系统包括与所述用户组相关联的用户组目录以及对应的与所述机器人组相关联的机器人组目录,所述用户组目录将所述用户组关联于和所述用户组相关联的所述访问权限,并且所述机器人组目录将所述机器人组关联于和所述用户组相同的所述访问权限。
13.根据权利要求8所述的系统,其中接收用于执行被调度用于执行针对用户的机器人流程自动化工作流程的作业的指示包括:
响应于触发事件,接收用于执行被调度用于执行针对所述用户的所述机器人流程自动化工作流程的所述作业的所述指示。
14.根据权利要求8所述的系统,所述操作还包括通过以下操作来调度被调度用于执行所述机器人流程自动化工作流程的所述作业:
接收用于执行针对所述用户的所述机器人流程自动化工作流程的请求;
将所述机器人组标识为与所述用户组相对应;以及
调度所述作业以用于由所述机器人组的所述机器人执行所述机器人流程自动化工作流程。
15.一种被体现在非瞬态计算机可读介质上用于执行机器人流程自动化工作流程的计算机程序,所述程序被配置为使至少一个处理器执行操作,包括:
接收用于执行被调度用于执行针对用户的机器人流程自动化工作流程的作业的指示,所述用户属于与访问权限相关联的用户组;
从机器人组标识机器人,所述机器人组关联于和所述用户组相同的访问权限;以及
将所述机器人派遣到计算设备以执行用于执行所述机器人流程自动化工作流程的所述作业。
16.根据权利要求15所述的计算机程序,所述操作还包括:
唤醒所述计算设备以运行所述机器人;以及
在所述机器人完成所述作业后关闭所述计算设备。
17.根据权利要求15所述的计算机程序,其中从机器人组标识机器人包括:
从与所述作业相关联的所述机器人组标识所述机器人。
18.根据权利要求17所述的计算机程序,其中从与所述作业相关联的所述机器人组标识所述机器人包括:
发送包括所述作业的作业标识的请求;以及
从与所述作业标识相关联的所述机器人组接收所述机器人的机器人标识。
19.根据权利要求15所述的计算机程序,所述操作还包括:
维护访问权限管理系统,所述访问权限管理系统包括与所述用户组相关联的用户组目录以及对应的与所述机器人组相关联的机器人组目录,所述用户组目录将所述用户组关联于和所述用户组相关联的所述访问权限,并且所述机器人组目录将所述机器人组关联于和所述用户组相同的所述访问权限。
20.根据权利要求15所述的计算机程序,其中接收用于执行被调度用于执行针对用户的机器人流程自动化工作流程的作业的指示包括:
响应于触发事件,接收用于执行被调度用于执行针对所述用户的所述机器人流程自动化工作流程的所述作业的所述指示。
21.根据权利要求15所述的计算机程序,所述操作还包括通过以下操作来调度被调度用于执行所述机器人流程自动化工作流程的所述作业:
接收用于执行所述用户的所述机器人流程自动化工作流程的请求;
将所述机器人组标识为与所述用户组相对应;以及
调度所述作业以用于由所述机器人组的所述机器人执行所述机器人流程自动化工作流程。
22.一种用于调度用于执行机器人流程自动化工作流程的作业的计算机实现的方法,包括:
接收用于执行针对用户的机器人流程自动化工作流程的请求,所述用户属于与访问权限相关联的用户组;
标识对应于所述用户组的机器人组,所述机器人组关联于和所述用户组相同的所述访问权限;以及
调度用于在所述机器人组的机器人上执行所述机器人流程自动化工作流程的作业。
23.根据权利要求22所述的计算机实现的方法,还包括:
维护访问权限管理系统,所述访问权限管理系统包括与所述用户组相关联的用户组目录以及对应的与所述机器人组相关联的机器人组目录,所述用户组目录将所述用户组关联于和所述用户组相关联的所述访问权限,并且所述机器人组目录将所述机器人组关联于和所述用户组相同的访问权限。
24.根据权利要求23所述的计算机实现的方法,其中标识对应于所述用户组的机器人组包括:
向所述访问权限管理系统发送包括所述用户的用户标识的请求;以及
从所述访问权限管理系统接收对应于所述用户标识的所述机器人组的机器人组标识。
25.根据权利要求22所述的计算机实现的方法,还包括派遣所述机器人以通过以下操作来执行用于执行所述机器人流程自动化工作流程的所述作业:
接收用于执行被调度以用于执行针对所述用户的所述机器人流程自动化工作流程的所述作业的指示;
从所述机器人组标识所述机器人;以及
将所述机器人派遣到计算设备以执行用于执行所述机器人流程自动化工作流程的所述作业。
26.一种用于调度作业的系统,所述作业用于执行机器人流程自动化工作流程的,所述系统包括:
存储器,存储计算机程序指令;以及
至少一个处理器,所述至少一个处理器被配置为执行所述计算机程序指令,所述计算机程序指令被配置为使所述至少一个处理器执行操作,所述操作包括:
接收用于执行针对用户的机器人流程自动化工作流程的请求,所述用户属于与访问权限相关联的用户组;
标识对应于所述用户组的机器人组,所述机器人组关联于和所述用户组相同的所述访问权限;以及
调度用于在所述机器人组的机器人上执行所述机器人流程自动化工作流程的作业。
27.根据权利要求26所述的系统,所述操作还包括:
维护访问权限管理系统,所述访问权限管理系统包括与所述用户组相关联的用户组目录以及对应的与所述机器人组相关联的机器人组目录的访问权限管理系统,所述用户组目录将所述用户组关联于和所述用户组相关联的所述访问权限,并且所述机器人组目录将所述机器人组关联于和所述用户组相同的所述访问权限。
28.根据权利要求27所述的系统,其中标识对应于所述用户组的机器人组包括:
向所述访问权限管理系统发送包括所述用户的用户标识的请求;以及
从所述访问权限管理系统接收对应于所述用户标识的所述机器人组的机器人组标识。
29.根据权利要求26所述的系统,所述操作还包括派遣所述机器人以通过以下操作来执行用于执行所述机器人流程自动化工作流程的所述作业:
接收用于执行被调度用于执行所述用户的所述机器人流程自动化工作流程的所述作业的指示;
从所述机器人组标识所述机器人;以及
将所述机器人派遣到计算设备以执行用于执行所述机器人流程自动化工作流程的所述作业。
30.一种被体现在非瞬态计算机可读介质上的、用于调度用于执行机器人流程自动化工作流程的作业的计算机程序,所述程序被配置为使至少一个处理器执行操作,所述操作包括:
接收用于执行针对用户的机器人流程自动化工作流程的请求,所述用户属于与访问权限相关联的用户组;
标识对应于所述用户组的机器人组,所述机器人组关联于和所述用户组相同的所述访问权限;以及
调度用于在所述机器人组的机器人上执行所述机器人流程自动化工作流程的作业。
31.根据权利要求30所述的计算机程序,所述操作还包括:
维护访问权限管理系统,所述访问权限管理系统包括与所述用户组相关联的用户组目录以及对应的与所述机器人组相关联的机器人组目录的访问权限管理系统,所述用户组目录将所述用户组关联于和所述用户组相关联的所述访问权限,并且所述机器人组目录将所述机器人组关联于和所述用户组相同的所述访问权限。
32.根据权利要求31所述的计算机程序,其中标识对应于所述用户组的机器人组包括:
向所述访问权限管理系统发送包括所述用户的用户标识的请求;以及
从所述访问权限管理系统接收对应于所述用户标识的所述机器人组的机器人组标识。
33.根据权利要求30所述的计算机程序,所述操作还包括派遣所述机器人以通过以下操作来执行用于执行所述机器人流程自动化工作流程的所述作业:
接收用于执行被调度用于执行针对所述用户的所述机器人流程自动化工作流程的所述作业的指示;
从所述机器人组中标识所述机器人;以及
将所述机器人派遣到计算设备以执行用于执行所述机器人流程自动化工作流程的所述作业。
34.根据权利要求1所述的计算机实现的方法,其中所述接收、所述标识和所述派遣由在云计算系统中实现的一个或多个计算设备来执行。
35.根据权利要求1所述的计算机实现的方法,其中所述计算设备是基于云的计算设备。
36.根据权利要求8所述的系统,其中所述系统被实现在云计算系统中。
37.根据权利要求8所述的系统,其中所述计算设备是基于云的计算设备。
38.根据权利要求15所述的计算机程序,其中所述至少一个处理器被实现在一个或多个计算设备中,并且所述一个或多个计算设备被实现在云计算系统中。
39.根据权利要求15所述的计算机程序,其中所述计算设备是基于云的计算设备。
40.根据权利要求22所述的计算机实现的方法,其中所述接收、所述标识和所述调度由在云计算系统中实现的一个或多个计算设备来执行。
41.根据权利要求25所述的计算机实现的方法,其中所述计算设备是基于云的计算设备。
42.根据权利要求26所述的系统,其中所述系统被实现在云计算系统中。
43.根据权利要求29所述的系统,其中所述计算设备是基于云的计算设备。
44.根据权利要求30所述的计算机程序,其中所述至少一个处理器被实现在一个或多个计算设备中,并且所述一个或多个计算设备被实现在云计算系统中。
45.根据权利要求33所述的计算机程序,其中所述计算设备是基于云的计算设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/689,193 | 2019-11-20 | ||
US16/689,193 US11110601B2 (en) | 2019-11-20 | 2019-11-20 | Scheduling robots for robotic process automation |
PCT/US2020/049281 WO2021101616A1 (en) | 2019-11-20 | 2020-09-03 | Scheduling robots for robotic process automation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228020A CN113228020A (zh) | 2021-08-06 |
CN113228020B true CN113228020B (zh) | 2022-12-16 |
Family
ID=75908481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080004549.1A Active CN113228020B (zh) | 2019-11-20 | 2020-09-03 | 调度机器人以用于机器人流程自动化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11110601B2 (zh) |
EP (1) | EP3844577A4 (zh) |
JP (1) | JP7112809B2 (zh) |
KR (1) | KR102339757B1 (zh) |
CN (1) | CN113228020B (zh) |
WO (1) | WO2021101616A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11232454B2 (en) | 2019-11-14 | 2022-01-25 | Bank Of America Corporation | Authentication framework for real-time document processing |
US10654166B1 (en) * | 2020-02-18 | 2020-05-19 | UiPath, Inc. | Automation windows for robotic process automation |
US11233861B2 (en) | 2020-02-18 | 2022-01-25 | UiPath, Inc. | Inter-session automation for robotic process automation (RPA) robots |
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 |
US20220066794A1 (en) * | 2020-08-28 | 2022-03-03 | UiPath, Inc. | Robotic process automation data connector |
KR102339028B1 (ko) * | 2021-06-17 | 2021-12-15 | 농업협동조합중앙회 | 로봇 프로세스 자동화 장치 및 그 동작 방법 |
US11507059B1 (en) * | 2021-10-11 | 2022-11-22 | UiPath, Inc. | System and computer-implemented method for seamless consumption of automations |
CN114367995A (zh) * | 2022-02-17 | 2022-04-19 | 来也科技(北京)有限公司 | 基于rpa和ai的高密度无人值守机器人控制方法 |
US20240103492A1 (en) * | 2022-09-27 | 2024-03-28 | International Business Machines Corporation | Automation powered endpoint legacy duplicity |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001005727A (ja) | 1999-06-22 | 2001-01-12 | Kyocera Communication Systems Co Ltd | アクセス管理装置 |
JP3963692B2 (ja) | 2001-10-15 | 2007-08-22 | 富士通株式会社 | 複数の情報処理装置の電源制御方法、その情報処理装置、及びプログラム |
US7139798B2 (en) | 2002-05-17 | 2006-11-21 | Groove Networks, Inc. | Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system |
JP2007249801A (ja) | 2006-03-17 | 2007-09-27 | Nippon Telegr & Teleph Corp <Ntt> | ロボット連携システム |
US20100064357A1 (en) | 2008-09-09 | 2010-03-11 | Kerstin Baird | Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes |
US9754231B2 (en) | 2009-03-11 | 2017-09-05 | International Business Machines Corporation | Human task integration into BPEL process via presence driven delivery |
US8423186B2 (en) * | 2009-06-30 | 2013-04-16 | Intuitive Surgical Operations, Inc. | Ratcheting for master alignment of a teleoperated minimally-invasive surgical instrument |
US9122764B2 (en) | 2010-03-24 | 2015-09-01 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to access process data stored on a server |
US8375389B2 (en) | 2010-10-20 | 2013-02-12 | Microsoft Corporation | Ordered scheduling of suspended processes based on resumption events |
EP3185124A1 (en) | 2015-12-22 | 2017-06-28 | Tata Consultancy Services Limited | System and method for monitoring, deploying, and tracking autonomous software robots |
US10372508B2 (en) | 2016-03-17 | 2019-08-06 | Wipro Limited | Method and system for dynamically integrating bots |
US11295228B2 (en) | 2016-03-21 | 2022-04-05 | Wipro Limited | Methods for creating automated dynamic workflows of interoperable bots and devices thereof |
WO2018017214A1 (en) | 2016-07-20 | 2018-01-25 | Hewlett-Packard Development Company, L.P. | Creating digital workers in organizations |
US11157855B2 (en) | 2017-01-09 | 2021-10-26 | Sutherland Global Services Inc. | Robotics process automation platform |
US10402163B2 (en) | 2017-02-14 | 2019-09-03 | Accenture Global Solutions Limited | Intelligent data extraction |
US10489502B2 (en) | 2017-06-30 | 2019-11-26 | Accenture Global Solutions Limited | Document processing |
US11074528B2 (en) | 2017-08-31 | 2021-07-27 | Accenture Global Solutions Limited | Robotic operations control system for a blended workforce |
US20190155225A1 (en) | 2017-11-21 | 2019-05-23 | Accenture Global Solutions Limited | Bot management framework for robotic process automation systems |
US10810322B2 (en) * | 2017-12-05 | 2020-10-20 | Microsoft Technology Licensing, Llc | Sharing user information with and between bots |
JP7047504B2 (ja) | 2018-03-15 | 2022-04-05 | 株式会社リコー | ジョブシステム、ジョブ実行方法、情報処理装置、プログラム |
US20190303779A1 (en) | 2018-04-03 | 2019-10-03 | Walmart Apollo, Llc | Digital worker management system |
US11878421B2 (en) * | 2018-04-23 | 2024-01-23 | Purdue Research Foundation | Robot navigation and robot-IoT interactive task planning using augmented reality |
JP7212390B2 (ja) * | 2018-06-29 | 2023-01-25 | 国立研究開発法人科学技術振興機構 | 遠隔操作システム |
CN109118347B (zh) * | 2018-07-20 | 2022-12-27 | 苏宁易购集团股份有限公司 | 一种自动化协作方法及系统 |
CN109684054B (zh) | 2018-11-07 | 2021-04-16 | 北京慧流科技有限公司 | 信息处理方法及装置、电子设备及存储器 |
CN109598427B (zh) * | 2018-11-23 | 2022-03-01 | 泰康保险集团股份有限公司 | 机器人的管理方法、装置及电子设备 |
US11419686B2 (en) * | 2019-09-13 | 2022-08-23 | Verb Surgical Inc. | Trajectory representation in design and testing of a surgical robot |
US20210110318A1 (en) * | 2019-10-15 | 2021-04-15 | UiPath, Inc. | Automatic analysis, prioritization, and robot generation for robotic process automation |
US11593709B2 (en) * | 2019-10-15 | 2023-02-28 | UiPath, Inc. | Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows |
US11200539B2 (en) * | 2019-10-15 | 2021-12-14 | UiPath, Inc. | Automatic completion of robotic process automation workflows using machine learning |
US11488015B2 (en) * | 2019-10-15 | 2022-11-01 | UiPath, Inc. | Artificial intelligence layer-based process extraction for robotic process automation |
US11334465B2 (en) * | 2019-10-16 | 2022-05-17 | UiPath, Inc. | Long running workflows for robotic process automation |
US10860905B1 (en) * | 2019-10-16 | 2020-12-08 | UiPath, Inc. | Long running workflows for document processing using robotic process automation |
US20210117895A1 (en) * | 2019-10-18 | 2021-04-22 | ASG Technologies Group, Inc. dba ASG Technologies | Systems and Methods for Cross-Platform Scheduling and Workload Automation |
US20210122045A1 (en) * | 2019-10-24 | 2021-04-29 | Nvidia Corporation | In-hand object pose tracking |
EP4049168A4 (en) * | 2019-10-25 | 2023-11-01 | Dexterity, Inc. | ROBOTIC SYSTEM SIMULATION ENGINE |
-
2019
- 2019-11-20 US US16/689,193 patent/US11110601B2/en active Active
-
2020
- 2020-09-03 EP EP20845653.3A patent/EP3844577A4/en active Pending
- 2020-09-03 WO PCT/US2020/049281 patent/WO2021101616A1/en unknown
- 2020-09-03 JP JP2021505309A patent/JP7112809B2/ja active Active
- 2020-09-03 CN CN202080004549.1A patent/CN113228020B/zh active Active
- 2020-09-03 KR KR1020217005044A patent/KR102339757B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20210146537A1 (en) | 2021-05-20 |
EP3844577A4 (en) | 2022-03-23 |
WO2021101616A1 (en) | 2021-05-27 |
CN113228020A (zh) | 2021-08-06 |
EP3844577A1 (en) | 2021-07-07 |
KR20210064186A (ko) | 2021-06-02 |
US11110601B2 (en) | 2021-09-07 |
KR102339757B1 (ko) | 2021-12-14 |
JP7112809B2 (ja) | 2022-08-04 |
JP2022511240A (ja) | 2022-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113228020B (zh) | 调度机器人以用于机器人流程自动化 | |
US11704224B2 (en) | Long running workflows for robotic process automation | |
US20210117895A1 (en) | Systems and Methods for Cross-Platform Scheduling and Workload Automation | |
US11803418B2 (en) | On-demand cloud robots for robotic process automation | |
CN112668386A (zh) | 使用机器人过程自动化用于文档处理的长时间运行工作流 | |
US11442837B2 (en) | Monitoring long running workflows for robotic process automation | |
CN115210661A (zh) | 用于表示rpa数据的企业流程图 | |
US20230032516A1 (en) | Common platform for implementing rpa services on customer premises | |
US11971705B2 (en) | Autoscaling strategies for robotic process automation | |
US20220191167A1 (en) | Organizational modelling for routing rpa related services of an rpa cloud suite | |
US20220100539A1 (en) | On-demand cloud robots for robotic process automation | |
US20220091908A1 (en) | Filter instantiation for process graphs of rpa workflows | |
CN114430825A (zh) | 机器人流程自动化数据连接器 |
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 |