SYSTEM AND METHOD FOR INTELLIGENT COORDINATION OF A DIGITAL WORKFORCE - Patent application
The system optimizes RPA bot management through predictive models and task queuing to align tasks with business priorities, addressing inefficiencies in existing RPA bot management systems by enhancing efficiency and resource utilization.
Patent Information
- Application Number
- JP2021567942
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-05-16
- Filing Date
- 2020-05-15
- Publication Date
- 2025-01-08
- Estimated Expiration
- 2040-05-15
AI Technical Summary
Current systems for managing robotic process automation (RPA) bots are inefficient and underutilized due to the lack of consideration for task-level business priorities, service agreements, dynamic variables, and work trends, leading to suboptimal task allocation and resource management.
A system utilizing a task queuing and coordination layer that incorporates application and task profile predictive models to dynamically manage RPA bots, ensuring efficient task allocation based on business metrics, service level agreements, and predictive analytics to optimize resource utilization.
Enhances the efficiency and effectiveness of RPA bot utilization by aligning tasks with business priorities and predicting future workloads, thereby optimizing computational resources and completing tasks in a shorter timeframe.
Smart Images

Figure 0007610530000001 
Figure 0007610530000002 
Figure 0007610530000003
Abstract
Description
[Technical field]
[0001] Examples of the present disclosure relate to systems and methods for intelligent coordination of a digital workforce. In particular, embodiments relate to managing, prioritizing and directing the execution of tasks by Robotic Process Automation (RPA) bots. [Background technology]
[0002] RPA is a recently emerged form of business process automation technology that utilizes software robots or artificial intelligence (AI) workers (hereinafter referred to individually or collectively as "bots"). In traditional workflow automation tools, software developers generate lists of actions to automate tasks using an internal application program interface. In contrast, RPA systems develop action lists by watching a user perform tasks in an application's graphical user interface, and then perform the automation by repeating those tasks directly on the graphical user interface.
[0003] Traditionally, digital workers are seen as a cost-effective way to replace or relocate users' digital work. However, a variety of factors often result in bots being underutilized. Additionally, as the digital workforce grows in size, it becomes difficult to determine whether bots are performing the desired tasks for the enterprise.
[0004] Current systems utilize bots in a variety of inefficient or suboptimal ways, including first-in-first-out techniques, manual intervention to determine which tasks should be performed, grouping tasks with queues with various levels of priority, and scheduling. However, these techniques are procedural and time-consuming to set up, and do not consider task-level business priorities and / or service agreements, dynamic variables, and trends that predict the likelihood of work and corresponding tasks to be generated.
[0005] Therefore, there is a need for a more efficient and effective system and method for managing and allocating RPA bots by leveraging a coordination layer to conserve system resources while completing tasks in less time.
[0006] [Summary] The embodiments described herein are directed to systems and methods for prioritizing and directing workflows by managing, delegating, and directing RPA bots. The embodiments enable RPA bots to emulate user tasks, with the output of the RPA bots increasing as the RPA bots become more aware of the application landscape to which they are served. The embodiments may utilize a task queuing system configured to allow work and tasks to be managed based on business priorities, service level agreements, and other factors. The embodiments may include a coordination layer configured to manage the RPA bots for a set of channels through which work is generated.
[0007] Embodiments may include channels, API hardware, task queuing hardware, application predictive model hardware, task profile predictive model hardware, coordination layer hardware, and RPA bots.
[0008] A channel may be a task or work (hereinafter individually or collectively referred to as a "task") created for the task queuing hardware. A task may be received from a self-service web form, a PDF processed by an OCR engine, a chatbot, an email or SMS, an existing line of business system or application, or may be triggered via an API, or any other task that requires computational processing. A task may be configured to be associated with any computational resource that allows a user to execute the task in a graphical user interface of an application.
[0009] The API hardware may be initiated within the enterprise suite to trigger queuing of tasks in the task queuing hardware. The API hardware may be configured to determine task types, priorities, etc. for various systems. Work priorities may be determined by user actions or by AI that dictates prioritization of tasks to be completed.
[0010] The task queuing hardware may be configured to receive tasks from the channel via the API hardware, determine in what order and when each task should be completed, and manage the RPA bot in relation to the queued tasks.
[0011] The coordination hardware may be configured to be a controller that distributes work to RPA bots as they become available. The coordination hardware may be configured to determine a current queue of tasks to be completed and determine which tasks to process based on inputs from the application prediction model hardware and the task profile prediction model hardware. Based on inputs from the model hardware, the coordination hardware may dynamically determine the ever-changing landscape of different work times for tasks and applications trends without the need for fixed rules.
[0012] The application predictive model hardware may be configured to determine predictive analytics to determine future expected performance of the RPA bot associated with queued tasks within a given time span, thereby allowing for increased throughput in the number of tasks that the RPA bot can perform within a given time span. The efficiency of the RPA bot may be related to the amount of time required to perform a task at a given point in time based on other system requirements, the amount of time it takes the RPA bot to perform a task, and / or a combination.
[0013] The task profile predictive model hardware may be configured to determine when a particular type of task is queued to the task queuing hardware and what priority level is assigned to any task. Based on the task profile predictive model's determination of the amount and type of tasks to receive, the task queuing hardware may not assign an RPA bot to all current tasks and may pause at least one RPA bot until a higher priority task is about to be received.
[0014] These and other aspects of the present invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. The following description sets forth various embodiments of the present invention and certain specific details thereof, given by way of illustration and not by way of limitation. Many substitutions, modifications, additions or permutations are possible within the scope of the present invention, and the invention includes all such substitutions, modifications, additions or permutations. [Brief description of the drawings]
[0015] Non-limiting and non-exhaustive embodiments of each embodiment are described with reference to the accompanying drawings, in which like reference numerals refer to like parts in the various views unless otherwise noted. [Figure 1] 1 illustrates one topology for intelligent coordination of a digital workforce, according to one embodiment. [Diagram 2]1 illustrates an embodiment of a server according to one embodiment. [Diagram 3] 1 illustrates a method for an RPA bot to perform an action to complete a queued task, according to one embodiment. [Figure 4] 1 illustrates an RPA bot according to one embodiment. [Diagram 5] 1 illustrates a task queuing system according to one embodiment. [Figure 6] 1 illustrates one topology for intelligent coordination of a digital workforce, according to one embodiment.
[0016] Corresponding reference characters indicate corresponding components throughout the several views of the figures. Those skilled in the art will appreciate that elements in the figures are illustrated for clarity and not necessarily to scale. For example, the dimensions of some elements in the figures are exaggerated relative to other elements to help improve understanding of the various embodiments of the present disclosure. Also, common but well-understood elements that are beneficial or necessary in commercially viable embodiments are often not shown to facilitate a clearer view of these various embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] In the following description, numerous specific details are provided to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that such specific details are not necessary to practice the present invention. In other instances, well-known materials or methods are not described in order to avoid obscuring the present invention.
[0018] Referring to Figure 1, Figure 1 illustrates one topology for intelligent coordination of a digital workforce. An embodiment may be configured to drive effective and efficient utilization of RPA bots, thereby completing more work within a shorter time frame. The topology 100 may include a client computing device 105 for work / task creation and a server 120 configured to be communicatively coupled over a network 110.
[0019] Network 110 may be a wired or wireless network (such as the Internet, an intranet, a LAN, a WAN, an NFC network, Bluetooth, infrared, radio frequency, cellular network, or other type of network). It is understood that network 110 may be a combination of various types of wired or wireless networks that result in tasks being created in the queue.
[0020] The client computing device 105 may be a smartphone, tablet computer, laptop computer, computer, personal digital assistant, or any other type of mobile device having a hardware processor configured to process instructions and connect to a portion or portions of the network 130. The client computing device 105 may have a graphical user interface configured to allow a user to interact with the processor of the client computing device 105 to create work. In an embodiment, the work and corresponding tasks are configured to be sent over the network 110 to the server 120. The work and tasks may be associated with a self-service web form, a PDF processed by an OCR engine, a chatbot, an email or SMS, an existing line of business systems or applications, or may be triggered via an API, or the like. In an embodiment, each task may be associated with keystrokes, inputs on a graphical user interface, or other actions that a user may perform. These tasks may be completed by an RPA bot 140 that performs actions on behalf of the user based on metadata associated with the task (such as keystrokes requested on a graphical user interface). For example, a task generated by the client computing device 105 may be associated with populating a work profile and privileges for a user over the network.
[0021] The server 120 may be a computational resource configured to remotely provide, allocate, manage, and control the RPA bots 140 to execute tasks generated by the client computing devices 105. The server 120 may be configured to set business metrics and initiate tasks via an entry point API. The entry point API of the server 120 can be initiated in various ways within an enterprise, either via the client computing devices 105, automatically triggered, or in combination. The server 120 may be configured such that an organization can have different tasks with different priorities to be completed first by the RPA bots 140. The business metrics may be weights (organizational priorities, service level agreements, and operational level agreements) that can be associated to a process or task level. The business metrics associated with different tasks may be created autonomously by the server 120 and / or set by a human user.
[0022] The server 120 may include a physical computing device that exists at a particular location or may be deployed within a cloud computing network environment. In this description, "cloud computing" may be defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned through virtualization, released with minimal management effort or service provider interference, and then scaled accordingly. The cloud model may be comprised of a variety of characteristics (e.g., on-demand self-service, broad network access, resource pooling, rapid elasticity, measured services, etc.), service models (e.g., Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), etc.), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.). The server 120 may include any combination of one or more computer usable or computer readable media. For example, server 120 may include computer-readable media including one or more of a portable computer diskette, a hard disk, a random access memory (RAM) device, a read-only memory (ROM) device, an erasable programmable read-only memory (EPROM or flash memory) device, a portable compact disk read-only memory (CDROM), an optical storage device, and a magnetic storage device.
[0023] In this description, "cloud computing" may be defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned via virtualization, released with minimal management effort or service provider intervention, and then scaled accordingly. The cloud model may be comprised of a variety of characteristics (e.g., on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, etc.), service models (e.g., Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), etc.), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.). In an embodiment, the server 120 may be configured to delegate and de-delegate to RPA bots based on service level agreements, queued tasks, and / or a combination. For example, the server 120 may be configured to allocate computational resources to increase the number of RPA bots 140 based on computational resources for completing currently queued tasks and predicted future tasks. For example, the server 120 may be configured to determine a time frame required to complete a current set of tasks by a single RPA bot 140. If the determined time frame is greater than a time threshold, the server 120 may determine a second time frame (the second time frame being less than the time threshold) required to complete the current set of tasks by a number of RPA bots 140. This determination may be made dynamically each time an RPA bot 140 completes a given task based on an updated model associated with the RPA bot 140 completing the task.
[0024] The server 120 may include task queuing hardware, coordination hardware 130, and RPA bots 140.
[0025] The task queuing hardware may be configured to receive tasks from the client computing device 105 to be performed by the RPA bot 140. The task queuing hardware may be configured to determine which RPA bot 140 will perform which task and when (which may be the current time or a future time). In response to the task queuing hardware receiving tasks or work to be completed on a channel from the client computing device 105, the task queuing hardware may assign business or metric weightings to the tasks. Based on the weightings, service level agreements, predictive models, etc., the task queuing hardware may provide computing resources (such as the RPA bot 140) to execute or manage tasks in the queue. In an embodiment, a task may remain in the task queuing hardware until the RPA bot 140 completes another task. The task queuing hardware may be configured to store a repository of task blueprints associated with the tasks. The task blueprints may include inputs to be entered by the RPA bot 140 associated with the task.
[0026] The coordination hardware 130 may be a hardware computing device configured to be a controller for allocating work to the RPA bots 140. The coordination hardware 130 may determine the tasks to be completed that are queued in the task queuing hardware and, via machine learning, determine which items to assign to the RPA bots 140 based on an application predictive model and a task profile predictive model. These two models may be configured to allow the coordination hardware 130 to make dynamic decisions without the need for fixed rules. The coordination hardware 130 may utilize recursive and sequential algorithms to determine the most effective and efficient use of the RPA bots 140 for current and predicted future tasks each time the RPA bots 140 complete a task.
[0027] The RPA bot 140 may be software configured to emulate human user interactions and execute tasks through prescribed keystroke instructions completed by the RPA bot 140 against a line of business systems and applications. The RPA bot 140 may be configured as software deployed on a dedicated operating system and automatically execute assigned tasks. The RPA bot 140 may be configured to generate data in response to completing a task. The data generated by the RPA bot 140 may include a given time period to complete a particular task, computational resources to complete a particular task, etc.
[0028] 2 illustrates one embodiment of server 120. Those skilled in the art will appreciate that certain elements associated with server 120 may be stored locally on client computing device 105. Thus, the elements described below may be stored on client computing device 105.
[0029] The server 120 may include a processing device 205, a communication device 210, a memory device 215, a coordination hardware device 220, bot execution metadata 230, an application data source module 235, an application prediction model 240, a task profile data source module 245, a task profile prediction model 250, and RPA availability hardware 155.
[0030] The processing device 205 may include memory (e.g., read only memory (ROM) and random access memory (RAM)) that stores processor-executable instructions, and one or more processors that execute the processor-executable instructions. In embodiments in which the processing device 205 includes more than one processor, the processors may operate in a parallel or distributed manner. The processing device 205 may execute software associated with the operating system of the server 120 or other elements of the server 120.
[0031] The communication device 210 may be a device that enables the server 120 to communicate with other devices over the network 130. The communication device 210 may include one or more wired / wireless transceivers for performing wireless communication over the network 110. The communication device 210 may be configured to receive tasks from the client computing device 105 and to transmit data associated with completed tasks associated with the RPA bot 140 to the client computing device 105.
[0032] The memory device 215 may be a device that stores data generated or received by the server 110. The memory device 215 may include, but is not limited to, a hard disk drive, an optical disk drive, and / or a flash memory drive. In an embodiment, the memory device 215 may be configured to store information (business metrics, rules, etc.) received from the client computing device 105. The memory device 215 may also be configured to store metadata associated with tasks, data associated with predictive models, and data associated with the RPA bot 140.
[0033] The coordination hardware device 220 may be a hardware processing device and may be configured to analyze predictive models of which tasks are likely to require execution within a given time frame to determine what tasks to be completed (each task having an associated weighting) are stored in the task queuing system, analyze software applications associated with tasks to be completed by the RPA bot 140, and determine the length of time and computational resources for the RPA bot 140 to complete the tasks. Thus, the coordination hardware device 220 may be configured to manage the RPA bot 140 for tasks currently in the task queuing hardware and tasks predicted to be in the task queuing hardware, and to manage computational resources to delegate and de-delegate the RPA bot 140 based on current and predicted future tasks and RPA bot efficiency.
[0034] The bot execution metadata 230 may be a hardware processing device configured to determine metadata associated with an RPA bot that completes a particular task. The metadata may include the computational resources required for the RPA bot 140 to complete the task, the operating system required to complete the task, the files required to complete the task, and the internet protocols required to complete a given task. This metadata may be stored in the memory device 215 and used by subsequent RPA bots 140 to complete similar tasks. In this manner, multiple RPA bots 140 may utilize the metadata stored in the file repository to complete a task, which may result in the RPA bots 140 being more efficient while limiting the computational resources required to perform the task. The bot execution metadata 230 may include the procedural steps required to complete the task when the RPA is performing actions on the client device to complete the task. In an embodiment, the procedural steps may be set by a user before the RPA bot 140 executes the task, or may be recorded autonomously by the bot execution metadata 230 in response to the user executing the task.
[0035] The application data source 325 module may be a hardware processing device configured to generate metadata based on performance metrics of an RPA bot completing a task for a software program. For example, the performance metrics may include application performance per unit time. The performance metrics may be determined as the RPA bot 140 performs an automated process interaction. For example, the performance metrics may be collected when a software application is started by the RPA bot, when the RPA bot logs into the application, and when the RPA bot navigates through different pages. The collected metadata is related to application performance as opposed to personal data about the process.
[0036] The application prediction model 240 may be a hardware processing device configured to determine predictive analytics to control future expected performance of software applications within a given time span. For example, based on an available data set, the application prediction model may determine that a first software application will run 15% slower at 09:23 versus a 23% performance increase when the first software application is used at 10:54. The predictive analytics may be based on average computational resources required by the server 120 in different time periods for multiple RPA bots to perform different tasks. As a result of the predictive analytics, a throughput increase in the number of tasks that one RPA bot 140 can perform within a given day may be achieved based on the performance of different software applications at different times. In an embodiment, the predictive analytics and models may operate within desired business metrics provided.
[0037] The task profile data source module 245 may be a hardware processing device configured to generate metadata based on a profile of a task within a business or business unit before or after the task is queued in the task queuing system. In response to receiving a task from a client computing device, the bot execution metadata 235 may determine properties of the task. The properties may include data (e.g., requester, associated business process, time, and other values tracked to build a view of common task types). The property values may be utilized by a model to determine the profile of the task.
[0038] The profile prediction model 250 may be a hardware device configured to determine when a particular type of task will be received by the task queuing hardware. The task profile prediction model 250 may be configured to determine when what type of task may be received based on historical data. For tasks with priority levels above a threshold, a probability above a threshold may be determined when those tasks will be received so that the RPA bot 140 may be kept idle / paused. This allows the RPA bot 140 to take action to execute the task in response to receiving the task. If the predicted task is not generated within the predicted window, another task is executed by the RPA bot 140 instead.
[0039] The RPA bot availability hardware 255 is configured to determine whether the coordination hardware 120 has sufficient RPA deployed to complete current tasks and predicted future tasks in the task queue system with respect to the efficiency of the corresponding application. In response to the RPA bots 140 completing tasks, the RPA bot availability hardware 255 may determine a predicted amount of time required for the current amount of provided RPA bots to complete each task in the queue and each predicted task that will occur in the queue within a given time period. If the predicted amount of time is less than the given time period, the RPA bot availability hardware 255 may reduce the number of provided RPA bots to conserve computing resources. If the predicted amount of time is greater than the given time period, the RPA bot availability hardware 255 may increase the number of provided RPA bots for efficiency. By determining the predicted amount of time in response to the RPA bots 140 completing tasks, the predicted amount of time can be dynamically and continuously changed to optimize computing resources.
[0040] 3 illustrates a method 300 for an RPA bot to perform actions to complete a queued task, according to one embodiment. The operations of method 300 presented below are intended to be exemplary. In some embodiments, method 300 may be accomplished with one or more additional operations not described and / or with the omission of one or more of the operations described. Additionally, the order in which the operations of method 300 are shown in FIG. 3 and described below is not intended to be limiting.
[0041] In some embodiments, method 300 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and / or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices that perform some or all of the operations of method 300 in accordance with instructions that are electronically stored on an electronic storage medium. The one or more processing devices may include one or more devices configured via hardware, firmware and / or software specifically designed for performing one or more of the operations of method 300.
[0042] At operation 310, a task to be completed may be received. In an embodiment, the received task may be assigned a priority weighting and properties. The properties may include a name of the task, the date and time the task was received, the date and time the task should be completed, and a unique identifier associated with the requester. The task may be defined by a set of prescribed keystroke instructions to be completed by the RPA bot against a line of business systems and software applications, which may emulate the interaction of a human user.
[0043] In operation 320, the task queuing system may determine computational resources for processing all tasks in the queue in real time. Additionally, the application prediction model may determine future expected performance of applications associated with tasks in the first time span, and the task profile prediction model may determine a prediction for tasks to be received in the second time span. In an embodiment, the first time span and the second time span may be the same or different time periods and may or may not overlap.
[0044] In operation 330, the coordination hardware system may determine whether an RPA bot is available to perform the received task based in part on the availability of the bot, the priority associated with the task, the metadata associated with the received task, the profile prediction model, and the application prediction model.
[0045] In operation 340, the coordination hardware system may determine whether the RPA bot should execute the received task, execute another task in the queue, or remain idle.
[0046] In operation 350, the RPA bot may perform an action to complete the task.
[0047] In operation 360, the task prediction model and the application prediction model may be updated based on the RPA bot performing actions to complete the task. The prediction models may be updated as the bot completes the task and the RPA bot becomes available. In this manner, the RPA prediction model may be updated during the time it takes the RPA bot to perform the first task and the second task.
[0048] Figure 4 illustrates an RPA bot 140 according to one embodiment. The elements illustrated in Figure 4 have been described above and will not be repeated here for the sake of brevity.
[0049] 4, the RPA bot 140 may have a corresponding action list for the task to be performed (which may be generated by a user entering the action list or by copying actions performed by a user for the same task in the application's graphical user interface). The RPA bot 140 may then be able to autonomously execute the action list directly on the GUI without user assistance. The RPA bot may include an associated operating system 410, local applications 420, remote file shares 430, a Citrix receiver 440, and a browser 450.
[0050] The operating system 410 may enable the RPA bot 140 to execute software installed on the RPA bot 140. The executed software may enable the RPA bot 140, via the receiver 440 and the browser 450, to utilize data stored in the remote file share 430 and to control the local applications 420.
[0051] Figure 5 illustrates a task queuing system 500 according to one embodiment. The elements illustrated in Figure 5 have been described above and will not be repeated here for the sake of brevity.
[0052] In response to the server 120 receiving a task, the task queuing system 500 may be configured to add the task to the queue 510. In response to the RPA bot completing the task, the task may be removed from the queue 510. Each task added to the queue may have corresponding metadata, such as a unique identifier, a status, a name, an associated application, data created, data started, data finished, number on queue, and business metrics. In an embodiment, the business metrics may include a business priority, a business service level agreement, a priority value, and a time value.
[0053] The business priority may be associated with a numeric value of importance, where a higher value may indicate a higher level of importance. The numeric value may be set by user interaction based on the identification of the task. The time value may be the duration of time within which the task needs to be performed. The business service level agreement may indicate a minimum and / or maximum number of RPA bots that can be assigned to a given task queuing system, and there may be idle RPA bots if there are more RPA bots than tasks based on the business service level agreement.
[0054] Figure 6 illustrates one topology for intelligent coordination of a digital workforce, according to one embodiment. The elements illustrated in Figure 6 may be those described above and will not be repeated here for the sake of brevity.
[0055] 6, work or tasks may enter the working environment or entry point API 630 via various channels 105. The entry point API 630 may receive business metrics 620 (organizational priorities, service level agreements, performance level agreements, etc., that may be associated with a process or task level).
[0056] The entry point API 630 may communicate with a task queuing system 610. The task queuing system 610 may receive business metric overrides 640 that allow a user to input data associated with a task or work priority. The task queuing system 610 may receive business processes 615, which may be repositories of task blueprints or data to be executed by the RPA bot 140 to complete a task.
[0057] Coordination hardware 130 may be configured as a controller that allocates work from task queuing system 610 to RPA bots 140 and communicates data indicating that RPA bots 140 have completed a task to task queuing system 610. Coordination hardware 130 may be configured to allocate tasks to bots based on data from task profile predictive model 250.
[0058] The bot execution metadata 230 may include data associated with data collected in response to the RPA bot 140 completing a task. This collected data may be sent simultaneously to the application data source module 235 and the task profile data source module 245. This data may then be used simultaneously by the application prediction model 240 and the task profile prediction model 250 to update the tuning hardware 130 in response to the task being completed by the RPA bot 140.
[0059] Although the present technology has been described in detail for illustrative purposes based on what are currently considered to be the most practical and preferred implementations, such details are for the purposes of illustration only, and the present technology is not limited to the disclosed implementations, but is intended to cover modifications and equivalent arrangements within the spirit and scope of the appended claims. For example, the present technology contemplates that, to the extent possible, one or more features in any implementation can be combined with one or more features in any other implementation.
[0060] Throughout this specification, a reference to "one embodiment," "an embodiment," "an example," or "an example" means that a particular feature, structure, or characteristic described in connection with that embodiment or example is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment," "in an embodiment," "an example," or "an example" in various places throughout this specification do not necessarily all refer to the same embodiment or example. Furthermore, the particular features, structures, or characteristics may be combined in any suitable combinations and / or subcombinations in one or more embodiments or examples. In addition, the accompanying drawings are for illustrative purposes for persons skilled in the art, and the figures are not necessarily drawn to scale.
[0061] Embodiments in accordance with the present invention may be embodied as an apparatus, a method, or a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, generally referred to herein as "modules" or "systems." Furthermore, the present invention may take the form of a computer program product in any tangible medium of expression having computer usable program code embodied therein.
[0062] Any combination of one or more computer usable or computer readable media may be utilized. For example, the computer readable medium may include one or more of a portable computer diskette, a hard disk, a random access memory (RAM) device, a read only memory (ROM) device, an erasable programmable read only memory (EPROM or flash memory) device, a portable compact disk read only memory (CDROM), an optical storage device, and a magnetic storage device. Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages.
[0063] The flowcharts and block diagrams in the flow diagrams illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment or part of code that includes one or more executable instructions for implementing the identified logical function(s). Also, each block in the block diagrams and / or flowchart illustrations and combinations of block diagrams and / or flowchart illustrations can be implemented by a special purpose hardware-based system that executes the identified functions or acts or a combination of special purpose hardware and computer instructions. These computer program instructions may be stored in a computer readable medium that can in a specific manner direct a computer or other programmable data processing apparatus to produce an article of manufacture that includes instruction means that implement the functions / acts identified in the flowcharts and / or block diagrams.
[0064] Below is a list of possible embodiments that may be claimed.
[0065] 1. A system for intelligent coordination of a digital workforce, comprising: a task queuing system configured to receive a first task; a first robotic processing automation bot configured to perform actions to perform the first task; Coordination hardware configured to manage the first robotic processing automation bot to perform the action to perform the first task based on an application prediction model and a task prediction model; A system comprising: the application prediction model is configured to determine exceptional performance of a computational resource associated with the first task in a first time period relative to a second time period; the task prediction model is configured to determine future tasks to be added to the task queuing system over a segment of time. system.
[0066] 2. The system of embodiment 1, The system, wherein the coordination hardware is configured to delegate and de-delegate a second robotic processing automation bot in response to the first robotic processing automation bot performing an action to perform the first task, in response to the robotic processing automation bot.
[0067] 3. The system of embodiment 1, The system, wherein the task prediction model is configured to determine the future tasks to be added to the task queuing system based on a history of tasks added to the task queuing system.
[0068] 4. The system of embodiment 1, The first robotic process automation bot is configured to generate metadata based on performance metrics of the first robotic process automation bot performing actions to perform the first task.
[0069] 5. The system of embodiment 1, The system, wherein the first task includes defined keystroke instructions associated with a client computing device to be automated by the first robotic process automation bot.
[0070] 6. The system of embodiment 1, the first task includes business metrics; The business metrics are assigned numerical values based on priority.
[0071] 7. The system of embodiment 1, the task queuing system receives a second task; The coordination hardware idles the first robotic processing automation bot while the second task is in the task queuing system based on the application prediction model and the task prediction model to conserve the computing resources.
[0072] 8. The system of embodiment 7, The second task is the only task in the task queuing system.
[0073] 9. The system of embodiment 1, The task queuing system is configured to determine an amount of the computational resources required to complete all received tasks over the segment of time.
[0074] 10. The system of embodiment 1, The exceptional performance of computing resources associated with the first task during the first time period compared to the second time period is based on a percentage of computing resources required for the first robotic processing automation bot to perform the first task during the first time period and the second time period.
[0075] 11. A computer-implemented method for intelligent coordination of a digital workforce, comprising: Receiving a first task; performing an action via a first robotic process automation bot to perform the first task; managing, via coordination hardware, the first robotic processing automation bot to perform the action to perform the first task based on an application prediction model and a task prediction model; determining exceptional performance of a computational resource associated with the first task during a first time period relative to a second time period; determining future tasks to be added to the task queuing system over a segment of time; A method comprising:
[0076] 12. The method of embodiment 11, The method further includes delegating and delegating a second robotic processing automation bot in response to the first robotic processing automation bot performing an action to perform the first task, in response to the robotic processing automation bot.
[0077] 13. The method of embodiment 11, The method further comprising determining the future tasks to be added to the task queuing system based on a history of tasks added to the task queuing system.
[0078] 14. The method of embodiment 11, The method further comprises generating metadata based on performance metrics of the first robotic processing automation bot performing actions to perform the first task.
[0079] 15. The method of embodiment 11, The method, wherein the first task includes defined keystroke instructions associated with a client computing device to be automated by the first robotic process automation bot.
[0080] 16. The method of embodiment 11, the first task includes business metrics; The business metrics are assigned numerical values based on priority.
[0081] 17. The method of embodiment 11, Receiving a second task; idling the first robotic processing automation bot while the second task is in the task queuing system based on the application prediction model and the task prediction model; conserving said computing resources by idling said first robotic processing automation bot; The method further comprises:
[0082] 18. The method of embodiment 17, The method, wherein the second task is the only task in the task queuing system.
[0083] 19. The method of embodiment 11, The method further comprising determining an amount of the computational resource required to complete all received tasks over the segment of time.
[0084] 20. The method of embodiment 11, wherein the exceptional performance of computing resources associated with the first task during the first time period relative to the second time period is based on a percentage of computing resources required for the first robotic processing automation bot to perform the first task during the first time period and the second time period.
Claims
1. 1. A computer-implemented method for intelligent coordination of a digital workforce, comprising: Receiving a first task in a task queuing system; and managing the first robotic processing automation bot via coordination hardware; managing the first robotic process automation bot includes determining whether the first robotic process automation bot should execute the received first task based on an application prediction model and a task prediction model; the application prediction model determines a future expected performance of the first robotic processing automation bot with respect to the first tasks queued within a given time span; the task prediction model determines future tasks to be added to the task queuing system over a segment of time; The method further operates in response to a determination that the first robotic process automation bot should perform the received first task, performing the first task via the first robotic process automation bot; A method comprising:
2. 2. The method of claim 1 , The method further includes delegating and de-delegate performance of the first task to a second robotic processing automation bot in response to the first robotic processing automation bot performing an action to perform the first task.
3. 2. The method of claim 1 , The method further comprising determining the future tasks to be added to the task queuing system based on a history of tasks added to the task queuing system.
4. 2. The method of claim 1 , The method further includes generating metadata based on performance metrics of the first robotic processing automation bot performing actions to perform the first task.
5. 2. The method of claim 1 , The method of claim 1, wherein the first task is defined by defined keystroke instructions associated with a client computing device to be automated by the first robotic process automation bot.
6. 2. The method of claim 1 , the first task includes business metrics; The business metrics are assigned numerical values based on priority.
7. 2. The method of claim 1 , Receiving a second task; idling the first robotic processing automation bot while the second task is in the task queuing system based on the application prediction model and the task prediction model; conserving computing resources by idling the first robotic processing automation bot; The method further comprising:
8. 8. The method of claim 7, The method, wherein the second task is the only task in the task queuing system.
9. 2. The method of claim 1 , The method further comprising determining an amount of computational resources required to complete all received tasks over said segment of time.
10. 2. The method of claim 1 , 11. The method of claim 10, wherein the future expected performance of a computational resource associated with the first task in a first time period relative to a second time period is based on a percentage of computational resources required for the first robotic processing automation bot to perform the first task in the first time period and the second time period.
11. A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 10.
12. A server comprising means for carrying out the method according to any one of claims 1 to 10.
13. 13. The server of claim 12, A task queuing system; the first robotic processing automation bot; A server comprising:
14. A server according to claim 12; A task queuing system; the first robotic processing automation bot; A system comprising:
Citation Information
Patent Citations
Computer system and method of changing job execution plan
JP2018041296A
Workflow management system and method
US20100306779A1
Reducing power consumption of computing devices by forecasting computing performance needs
US20100332876A1
Bot network orchestration to provide enriched service request responses
US20190044829A1