Patent Document ID: 9767794
Application ID: 14456652

Base Claim:
1. A method comprising: identifying, by a computing device, that a first natural language user input, received at the computing device, comprises a request to perform a first dialog task; determining a first hierarchical order for arranging execution of a first plurality of task agents corresponding to the first dialog task; responsive to determining the first hierarchical order, initiating execution, by the computing device, of the first plurality of task agents according to the first hierarchical order; responsive to a determination that a second natural language user input, received at the computing device during execution of the first plurality of task agents, comprises a request to perform a second dialog task, determining, by the computing device, that the second dialog task is to be executed before execution of the first plurality of task agents is completed; determining a second hierarchical order for arranging execution of a second plurality of task agents corresponding to the second dialog task; activating, based on a determination of whether execution of the second plurality of task agents would cause a runtime error, the second plurality of task agents; initiating execution, by the computing device prior to completion of the execution of the first plurality of task agents, of the second plurality of task agents according to the second hierarchical order; and resuming execution of a task agent of the first plurality of task agents, wherein the execution of the task agent comprises using, by the task agent, at least a portion of the second natural language user input.

---

Claim 4:
4. The method of claim 1 , wherein initiating execution of the first plurality of task agents further comprises scheduling for execution, by the computing device, each task agent of the first plurality of task agents in an order based on the first hierarchical order, and wherein initiating execution of the second plurality of task agents further comprises scheduling for execution, by the computing device, each task agent of the second plurality of task agents in an order based on the second hierarchical order.