IP Library › Granted Patent US 12,373,225
Granted Patent B2
US 12,373,225 · App. 17/550,156 · Granted Jul 29, 2025

Batch processing during bot runtime

Inventors: Satyadeep Dey (Bangalore, IN); Vinay Kumar (Bangalore, DE); Sharmika Parmar (Walldorf, DE); Sudha Karanam Narasimha Murthy (Walldorf, DE); Gagan K (Walldorf, DE); Chandrakanth S (Walldorf, DE); Mithilesh Kumar Singh (Ara, IN); Suvajit Dutta (Walldorf, DE)
Assignee: SAP SE
G06F9/44589G06F11/3612
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,373,225
App. No.
17/550,156
Granted
Jul 29, 2025
Kind
B2
Abstract

Provided are systems and methods for batching instructions of a bot during execution/runtime of the bot. The bot may be a software program that is designed to perform user interface interactions (e.g., button clicks, opening/closing pages, text entry, etc.) in place of a human. In one example, a method may include receiving a request to execute a bot program configured to perform a sequence of actions on a user interface of a software application, identifying a plurality of actions of the bot program that can be batched, assembling a plurality of instructions for performing the plurality of actions of the bot program into a batched payload, and transmitting an automation request with the batched payload to a back-end of the application on a server.

Claims (42)

1. A computing system comprising:

a processor configured to:

receive a request to execute a bot configured to perform a sequence of intertwined actions on a user interface of a software application, at least some actions of the sequence of actions to be executed in a particular order;

identify a plurality of actions from the sequence of actions of the bot to be performed on the user interface based on attributes of the sequence of actions, wherein the sequence of actions contains a first plurality of actions that are batchable and a second plurality of actions that are not batchable;

read authorized bot activities that are batchable and authorized bot activities that are not batchable from a software development kit (SDK) and compare the plurality of actions to the authorized bot activities to identify a first subset of actions from among the plurality of actions that are capable of being batched to be executed in parallel and a second subset of actions from the plurality of actions that are incapable of being batched based on the authorized bot activities;

assemble instructions comprising programming code for executing the first subset of actions of the bot into a batched payload to be executed in parallel;

transfer the batched payload to a back-end of the software application;

receive batched execution results based on the execution, in parallel, of the batched payload via the back-end of the software application;

render the batched execution results on the user interface of the software application; and

subsequent to transferring the batched payload, transfer and sequentially execute the second subset of actions via the back-end of the software application in the particular order.

2. The computing system of claim 1 , wherein the processor is configured to identify the plurality of actions of the bot from a same page of the software application.

3. The computing system of claim 1 , wherein the processor is configured to identify the first subset of actions from the plurality of actions that can be batched and the second subset of actions from the plurality of actions that cannot be batched based on the authorized bot activities, and assemble instructions for only the first subset of actions into the batched payload.

4. The computing system of claim 1 , wherein the processor is configured to compile the programming code into an executable package with the batched payload, and transmit the executable package to the server.

5. The computing system of claim 1 , wherein the processor is further configured to receive batched results of the execution from the server.

6. The computing system of claim 1 , wherein the processor is further configured to record the plurality of actions on the user interface of the software application and convert the recorded plurality of actions into the bot.

7. The computing system of claim 1 , wherein the processor is further configured to verify that batching was previously enabled via an integrated development environment (IDE) of the bot.

8. A method comprising:

receiving a request to execute a bot configured to perform a sequence of intertwined actions on a user interface of a software application, at least some actions of the sequence of actions to be executed in a particular order;

identifying a plurality of actions from the sequence of actions of the bot to be performed on the user interface based on attributes of the sequence of actions, wherein the sequence of actions contains a first plurality of actions that are batchable and a second plurality of actions that are not batchable;

reading authorized bot activities that are batchable from a software development kit (SDK) and authorized bot activities that are not batchable and compare the plurality of actions to the authorized bot activities to identify a first subset of actions from among the plurality of actions that are capable of being batched to be executed in parallel and a second subset of actions from the plurality of actions that are incapable of being batched based on the authorized bot activities;

assembling instructions comprising programming code for executing the first subset of actions of the bot into a batched payload to be executed in parallel;

transferring the batched payload to a back-end of the software application;

receiving batched execution results based on the execution, in parallel, of the batched payload via the back-end of the software application;

rendering the batched execution results on the user interface of the software application; and

subsequent to transferring the batched payload, transferring and sequentially executing the second subset of actions via the back-end of the software application in the particular order.

9. The method of claim 8 , wherein the identifying comprises identifying the plurality of actions of the bot from a same page of the software application.

10. The method of claim 8 , wherein the identifying comprises identifying the first subset of actions from the plurality of actions that can be batched and the second subset of actions from the plurality of actions that cannot be batched based on the authorized bot activities, and assembling instructions for only the first subset of actions into the batched payload.

11. The method of claim 8 , wherein the assembling further comprises compiling the programming code into an executable package with the batched payload, and transmitting the executable package to the server.

12. The method of claim 8 , wherein the method further comprises receiving batched results of the execution from the server.

13. The method of claim 8 , wherein the method further comprises recording the plurality of actions on the user interface of the software application and converting the recorded plurality of actions into the bot.

14. The method of claim 8 , wherein the method further comprises verifying that batching was previously enabled via an integrated development environment (IDE) of the bot.

15. A non-transitory computer-readable medium comprising instructions which when executed by a processor cause a computer to perform a method comprising:

receiving a request to execute a bot configured to perform a sequence of intertwined actions on a user interface of a software application, at least some actions of the sequence of actions to be executed in a particular order;

identifying a plurality of actions from the sequence of actions of the bot to be performed on the user interface based on attributes of the sequence of actions, wherein the sequence of actions contains a first plurality of actions that are batchable and a second plurality of actions that are not batchable;

reading authorized bot activities that are batchable and authorized bot activities that are not batchable from a software development kit (SDK) and compare the plurality of actions to the authorized bot activities to identify a first subset of actions from among the plurality of actions that are capable of being batched to be executed in parallel and a second subset of actions from the plurality of actions that are incapable of being batched based on the authorized bot activities;

assembling instructions comprising programming code for executing the first subset of actions of the bot into a batched payload to be executed in parallel;

transferring the batched payload to a back-end of the software application;

receiving batched execution results based on the execution, in parallel, of the batched payload via the back-end of the software application;

rendering the batched execution results on the user interface of the software application; and

subsequent to transferring the batched payload, transferring and sequentially executing the second subset of actions via the back-end of the software application in the particular order.

16. The non-transitory computer-readable medium of claim 15 , wherein the identifying comprises identifying the plurality of actions of the bot from a same page of the software application.

17. The non-transitory computer-readable medium of claim 15 , wherein the identifying comprises identifying the first subset of actions from the plurality of actions that can be batched and the second subset of actions from the plurality of actions that cannot be batched based on the authorize bot activities, and assembling instructions for only the first subset of actions into the batched payload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: DEY, SATYADEEP; KUMAR, VINAY; PARMAR, SHARMIKA; MURTHY, SUDHA KARANAM NARASIMHA; K, GAGAN; S, CHANDRAKANTH; SINGH, MITHILESH KUMAR; DUTTA, SUVAJIT
To: SAP SE
Reel/Frame 058382/0692 →
Continuity (1)
Related Publication 20230185586A1 · Jun 15, 2023
References Cited (5)
US 20040194065A1 · McGrath · 2004 [cited by examiner]
US 20180359132A1 · Salameh · 2018 [cited by examiner]
US 20210103767A1 · Berg · 2021 [cited by examiner]
US 20220107622A1 · Monakova · 2022 [cited by examiner]
US 20220391225A1 · Grigore · 2022 [cited by examiner]