IP Library › Granted Patent US 12,340,181
Granted Patent B1
US 12,340,181 · App. 18/933,483 · Granted Jun 24, 2025

Conversation dialogue orchestration in virtual assistant communication sessions

Inventors: Jia You (Cary, NC); Tieyi Guo (Frisco, TX); Byung Chun (Kingston, MA); Brian Christoper Mansfield (Milford, OH)
Assignee: FMR LLC
G06F40/35H04L51/02
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,340,181
App. No.
18/933,483
Filed
Oct 31, 2024
Granted
Jun 24, 2025
Kind
B1
Art Unit
2654
USPC
704/9
Abstract

Methods and apparatuses for conversation dialogue orchestration in virtual assistant communication sessions include a server that establishes a chat session between a virtual assistant (VA) application and a client device. The VA application captures an utterance generated by a user and processes the utterance to instantiate a dialogue behavior tree comprising workflow agents each associated with executable code for completing a corresponding workflow action. The VA application traverses the behavior tree to generate a response to the utterance, including evaluating one or more conditions associated with a workflow agent to determine whether to execute the code in the workflow agent, and when the conditions associated with the workflow agent are met, executing the code to complete the workflow action and storing a sub-response in a dialogue memory. The VA application coalesces the sub-responses to generate a final response and transmits the final response to the client device.

Claims (46)

1. A computer system for conversation dialogue orchestration in virtual assistant communication sessions, the system comprising a server computing device having a memory that stores computer-executable instructions and a processor that executes the computer-executable instructions to:

establish chat-based communication sessions between a virtual assistant application of the server computing device and each of a plurality of client computing devices;

for each of the chat-based communication sessions:

capture, by the virtual assistant application, an utterance generated by a user of the client computing device during the chat-based communication session;

process, by the virtual assistant application, the utterance to instantiate a dialogue behavior tree comprising a plurality of workflow agents each associated with executable code for completing a corresponding workflow action, the plurality of workflow agents including an authentication agent for verifying an identify of a user at the client computing device;

traverse, by the virtual assistant application, the dialogue behavior tree to generate a response to the utterance, including for each workflow agent:

evaluating one or more conditions associated with the workflow agent to determine whether to execute the code in the workflow agent,

when the conditions associated with the workflow agent are met, executing the code in the workflow agent to complete the workflow action and storing a sub-response associated with the completed workflow action in a dialogue memory comprising an in-memory data store, and

storing a bit vector in the dialogue memory, the bit vector comprising a plurality of binary values representing the determination of whether to execute the code in each workflow agent made by the virtual assistant application during traversal of the dialogue behavior tree,

coalesce, by the virtual assistant application, the sub-responses stored in the dialogue memory to generate a final response to the utterance; and

transmit, by the virtual assistant application, the final response to the client computing device for display during the chat-based communication session;

aggregate the bit vectors generated during each of the chat-based communication sessions to generate a real-time view of user interactions with the dialogue behavior tree; and

scale one or more computing resources of an authentication server cluster that hosts the authentication agent when the aggregated bit vectors indicate that a minimum number of chat-based communication sessions invoke the authentication agent.

2. The system of claim 1 , wherein processing the utterance to instantiate a dialogue behavior tree comprises rewriting the utterance using a first natural language understanding (NLU) algorithm.

3. The system of claim 2 , wherein the virtual assistant application:

creates one or more sub-utterances using the rewritten utterance; and

extracts an objective comprising one or more of: a topic, a subtopic, a local objective, a dialog act, and an entity from each of the sub-utterances using a second NLU algorithm.

4. The system of claim 3 , wherein the virtual assistant application analyzes the extracted objectives to determine a context used to instantiate the dialogue behavior tree.

5. The system of claim 1 , wherein the virtual assistant application evaluates the one or more conditions associated with a plurality of different workflow agents in parallel during traversal of the dialogue behavior tree.

6. The system of claim 5 , wherein the virtual assistant application executes the code in a plurality of different workflow agents in parallel during traversal of the dialogue behavior tree.

7. The system of claim 1 , wherein one or more of the plurality of workflow agents in the dialogue behavior tree comprises a behavior sub-tree including a plurality of workflow sub-agents each associated with executable code for completing a corresponding workflow action.

8. The system of claim 1 , wherein evaluating one or more conditions associated with the workflow agent to determine whether to execute the code in the workflow agent comprises comparing one or more session values for the chat-based communication session against the one or more conditions associated with the workflow agent to determine whether the conditions are met.

9. The system of claim 8 , wherein the executable code for completing a corresponding workflow action comprises a function call that invokes one or more application resources coupled to the server computing device.

10. A computerized method of conversation dialogue orchestration in virtual assistant communication sessions, the method comprising:

establishing, by a server computing device, chat-based communication sessions between a virtual assistant application of the server computing device and each of a plurality of client computing devices;

for each of the plurality of chat-based communication sessions:

capturing, by the virtual assistant application, an utterance generated by a user of the client computing device during the chat-based communication session;

processing, by the virtual assistant application, the utterance to instantiate a dialogue behavior tree comprising a plurality of workflow agents each associated with executable code for completing a corresponding workflow action, the plurality of workflow agents including an authentication agent for verifying an identify of a user at the client computing device;

traversing, by the virtual assistant application, the dialogue behavior tree to generate a response to the utterance, including for each workflow agent:

evaluating one or more conditions associated with the workflow agent to determine whether to execute the code in the workflow agent, and

when the conditions associated with the workflow agent are met, executing the code in the workflow agent to complete the workflow action and storing a sub-response associated with the completed workflow action in a dialogue memory comprising an in-memory data store, and

storing a bit vector in the dialogue memory, the bit vector comprising a plurality of binary values representing the determination of whether to execute the code in each workflow agent made by the virtual assistant application during traversal of the dialogue behavior tree,

coalescing, by the virtual assistant application, the sub-responses stored in the dialogue memory to generate a final response to the utterance; and

transmitting, by the virtual assistant application, the final response to the client computing device for display during the chat-based communication session;

aggregating, by the server computing device, the bit vectors generated during each of the chat-based communication sessions to generate a real-time view of user interactions with the dialogue behavior tree; and

scaling, by the server computing device, one or more computing resources of an authentication server cluster that hosts the authentication agent when the aggregated bit vectors indicate that a minimum number of chat-based communication sessions invoke the authentication agent.

11. The method of claim 10 , wherein processing the utterance to instantiate a dialogue behavior tree comprises rewriting the utterance using a first natural language understanding (NLU) algorithm.

12. The method of claim 11 , further comprising:

creating, by the virtual assistant application, one or more sub-utterances using the rewritten utterance; and

extracting, by the virtual assistant application, an objective comprising one or more of: a topic, a subtopic, a local objective, a dialog act, and an entity from each of the sub-utterances using a second NLU algorithm.

13. The method of claim 12 , further comprising analyzing, by the virtual assistant application, the extracted objectives to determine a context used to instantiate the dialogue behavior tree.

14. The method of claim 10 , further comprising evaluating, by the virtual assistant application, the one or more conditions associated with a plurality of different workflow agents in parallel during traversal of the dialogue behavior tree.

15. The system of claim 14 , further comprising executing, by the virtual assistant application, the code in a plurality of different workflow agents in parallel during traversal of the dialogue behavior tree.

16. The method of claim 10 , wherein one or more of the plurality of workflow agents in the dialogue behavior tree comprises a behavior sub-tree including a plurality of workflow sub-agents each associated with executable code for completing a corresponding workflow action.

17. The method of claim 10 , wherein evaluating one or more conditions associated with the workflow agent to determine whether to execute the code in the workflow agent comprises comparing one or more session values for the chat-based communication session against the one or more conditions associated with the workflow agent to determine whether the conditions are met.

18. The method of claim 17 , wherein the executable code for completing a corresponding workflow action comprises a function call that invokes one or more application resources coupled to the server computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2024
From: YOU, JIA; GUO, TIEYI; CHUN, BYUNG; MANSFIELD, BRIAN CHRISTOPHER
To: FMR LLC
Reel/Frame 069554/0062 →
References Cited (79)
US 6446120B1 · Dantressangle · 2002 [cited by applicant]
US 7228278B2 · Nguyen et al. · 2007 [cited by applicant]
US 7412260B2 · Gailey et al. · 2008 [cited by applicant]
US 8630961B2 · Beilby et al. · 2014 [cited by applicant]
US 9172747B2 · Walters et al. · 2015 [cited by applicant]
US 9318108B2 · Gruber et al. · 2016 [cited by applicant]
US 9767794B2 · Vibbert et al. · 2017 [cited by applicant]
US 10109297B2 · Brown et al. · 2018 [cited by applicant]
US 10127224B2 · DeLeeuw · 2018 [cited by applicant]
US 10313404B2 · Ein-Gil et al. · 2019 [cited by applicant]
US 10452695B2 · Rodgers · 2019 [cited by applicant]
US 10453454B2 · Homma et al. · 2019 [cited by applicant]
US 10650817B2 · Choi et al. · 2020 [cited by applicant]
US 10795640B1 · Knight et al. · 2020 [cited by applicant]
US 10839167B2 · Mahajan et al. · 2020 [cited by applicant]
US 10902533B2 · McConnell et al. · 2021 [cited by applicant]
US 10984784B2 · Kuczmarski et al. · 2021 [cited by applicant]
US 11134152B2 · McGann et al. · 2021 [cited by applicant]
US 11196863B2 · Spohrer · 2021 [cited by applicant]
US 11379446B1 · Detmer et al. · 2022 [cited by applicant]
US 11463387B1 · Panati et al. · 2022 [cited by applicant]
US 11468282B2 · Sanghavi et al. · 2022 [cited by applicant]
US 11609941B2 · Folland et al. · 2023 [cited by applicant]
US 11646022B2 · Kang et al. · 2023 [cited by applicant]
US 11727923B2 · Maheswaran · 2023 [cited by examiner]
US 11734089B2 · Detmer · 2023 [cited by applicant]
US 11741529B2 · Siefken et al. · 2023 [cited by applicant]
US 11763097B1 · Thomas et al. · 2023 [cited by applicant]
US 11777875B2 · Uppala et al. · 2023 [cited by applicant]
US 11966705B2 · Detmer et al. · 2024 [cited by applicant]
US 12184812B2 · Koneru · 2024 [cited by examiner]
US 12229510B2 · Lukyanenko · 2025 [cited by examiner]
US 12235897B1 · Hao · 2025 [cited by examiner]
US 20020032591A1 · Mahaffy et al. · 2002 [cited by applicant]
US 20030132958A1 · Himmel et al. · 2003 [cited by applicant]
US 20040218751A1 · Colson et al. · 2004 [cited by applicant]
US 20120041903A1 · Beilby et al. · 2012 [cited by applicant]
US 20140279050A1 · Makar et al. · 2014 [cited by applicant]
US 20160042735A1 · Vibbert et al. · 2016 [cited by applicant]
US 20160094492A1 · Li et al. · 2016 [cited by applicant]
US 20170148073A1 · Nomula et al. · 2017 [cited by applicant]
US 20170324867A1 · Tamblyn et al. · 2017 [cited by applicant]
US 20180131643A1 · Trufinescu et al. · 2018 [cited by applicant]
US 20180287968A1 · Koukoumidis · 2018 [cited by examiner]
US 20180293983A1 · Choi et al. · 2018 [cited by applicant]
US 20180337872A1 · Fawcett · 2018 [cited by applicant]
US 20190089655A1 · Uppala et al. · 2019 [cited by applicant]
US 20190095524A1 · Rodgers · 2019 [cited by applicant]
US 20190180258A1 · Amar et al. · 2019 [cited by applicant]
US 20190188590A1 · Wu et al. · 2019 [cited by applicant]
US 20190258456A1 · Byun et al. · 2019 [cited by applicant]
US 20190311036A1 · Shanmugam et al. · 2019 [cited by applicant]
US 20190311713A1 · Talwar et al. · 2019 [cited by applicant]
US 20200005118A1 · Chen et al. · 2020 [cited by applicant]
US 20200007380A1 · Chen et al. · 2020 [cited by applicant]
US 20200081939A1 · Subramaniam · 2020 [cited by applicant]
US 20200126540A1 · Panchamgam et al. · 2020 [cited by applicant]
US 20200175118A1 · Mahajan et al. · 2020 [cited by applicant]
US 20200273089A1 · Siefken et al. · 2020 [cited by applicant]
US 20200320984A1 · Kuczmarski et al. · 2020 [cited by applicant]
US 20200364300A1 · Tan et al. · 2020 [cited by applicant]
US 20200380077A1 · Ge · 2020 [cited by examiner]
US 20200380991A1 · Ge · 2020 [cited by examiner]
US 20210004390A1 · Li et al. · 2021 [cited by applicant]
US 20210019707A1 · Sathiamoorthy · 2021 [cited by examiner]
US 20210035576A1 · Kang et al. · 2021 [cited by applicant]
US 20210142009A1 · Detmer et al. · 2021 [cited by applicant]
US 20210160373A1 · Mcgann · 2021 [cited by examiner]
US 20210312904A1 · Shukla et al. · 2021 [cited by applicant]
US 20220070282A1 · Sobhani · 2022 [cited by examiner]
US 20230186161A1 · Arthur · 2023 [cited by examiner]
US 20230376352A1 · Zuzga · 2023 [cited by examiner]
US 20240195776A1 · Detmer et al. · 2024 [cited by applicant]
US 20240257142A1 · Thomas · 2024 [cited by examiner]
US 20250029608A1 · Mohan · 2025 [cited by examiner]
CN 113987107A · 2022 [cited by applicant]
“Gathering information with slots,” IBM Cloud Docs /Watson Assistant (Managed), retrieved from https://cloud.ibm.com/docs/assistant?topics=assistant-dialog-slots on Feb. 16, 2021, 12 pages. [cited by applicant]
L. Messinger, “How to Build an End-to-End Conversational AI System using Behavior Trees,” freeCodeCamp, dated Apr. 12, 2019, available at https://www.freecodecamp.org/news/how-to-build-an-end-to-end-conversational-ai-sy… [cited by applicant]
S. Shu et al., “A Behavior Tree Cognitive Assistant System for Emergency Medical Services,” 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Macau, China, 2019, pp. 6188-6195, doi: 10.110… [cited by applicant]