IP Library › Granted Patent US 11,379,446
Granted Patent B1
US 11,379,446 · App. 17/384,615 · Granted Jul 5, 2022

Session-based data storage for chat-based communication sessions

Inventors: Allen Detmer (Patriot, IN); Maria Lucena (King of Prussia, PA)
Assignee: FMR LLC
G06F16/22
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 11,379,446
App. No.
17/384,615
Filed
Jul 23, 2021
Granted
Jul 5, 2022
Kind
B1
Examiner
HU, JENSEN
Art Unit
2169
USPC
707/758
Abstract

Methods and apparatuses are described for session-based data storage for chat-based communication sessions. A computing device connects to a data storage area associated with an active chat-based communication session, the data storage area comprising data storage slots. The computing device identifies a first data event during the chat-based communication session, the first data event comprising one of a data capture event, a data retrieval event, or a data prefill event. The computing device identifies a data storage slot in the data storage area corresponding to the first data event, the data storage slot comprising a slot name and a slot value. The computing device selects data elements associated with the chat-based communication session for insertion into the data storage slot based upon the event type of the first data event. The computing device stores the selected data elements in the data storage slot for retrieval during the chat-based communication session.

Claims (48)

1. A computer system for session-based data storage for chat-based communication sessions, the system comprising a computing device having a memory that stores computer-executable instructions and a processor that executes the computer-executable instructions to:

connect to a data storage area associated with an active chat-based communication session, the data storage area comprising one or more data storage slots;

identify a first data event during the active chat-based communication session, the first data event comprising one of a data capture event, a data retrieval event, or a data prefill event;

identify a data storage slot in the data storage area corresponding to the first data event, the data storage slot comprising a slot name, a slot value, and a lifecycle value;

select one or more data elements associated with the active chat-based communication session for insertion into the data storage slot based upon the event type of the first data event;

store the selected data elements in the data storage slot for retrieval during the active chat-based communication session; and

determine, based upon the lifecycle value, whether to remove the selected data elements in the data storage slot after a single use during the chat-based communication session or to keep the selected data elements in the data storage slot until the chat-based communication session is ended.

2. The system of claim 1 , wherein, when the first data event is a data retrieval event, selecting one or more data elements associated with the active chat-based communication session comprises retrieving one or more data elements from one of (i) session context data for the chat-based communication session or (ii) an external data source.

3. The system of claim 1 , wherein the one or more data elements are selected from (i) a response message in the active chat-based communication session, (ii) session context data for the active chat-based communication session, or (iii) other data storage slots in the data storage area.

4. The system of claim 3 , wherein the computing device captures the session context data when the active chat-based communication session is initialized.

5. The system of claim 4 , wherein the session context data comprises attributes of a user of the remote computing device and attributes of the active chat-based communication session.

6. The system of claim 1 , wherein the slot value of the data storage slot comprises a dynamic expression.

7. The system of claim 6 , wherein selecting one or more data elements associated with the active chat-based communication session for insertion into the data storage slot based upon the event type of the first data event comprises evaluating the dynamic expression to determine one or more data elements to insert into the data storage slot.

8. The system of claim 1 , wherein the slot value of the data storage slot comprises a static data element.

9. The system of claim 1 , wherein, when the first data event is a data prefill event, selecting one or more data elements associated with the active chat-based communication session comprises:

determining a data element to be requested from the remote computing device during the active chat-based communication session;

identifying another data storage slot in the data storage area that is associated with the data element to be requested from the remote computing device;

validate the slot value of the another data storage slot, and

when the slot value of the another data storage slot is invalid, generate a request for the data element from the remote computing device and insert the request for the data element into the active chat-based communication session.

10. The system of claim 9 , wherein validating the slot value of the another data storage slot comprises determining that the slot value of the another data storage slot is one of a non-zero value or a non-null value.

11. The system of claim 10 , wherein determining that the slot value of the another data storage slot is one of a non-zero value or a non-null value comprises evaluating a dynamic expression in the slot value of the another data storage slot.

12. The system of claim 1 , wherein the active chat-based communication session is established with the remote computing device via a virtual assistant application.

13. The system of claim 2 , wherein retrieving one or more data elements from an external data source comprises applying a function that transforms the one or more data elements before storing the one or more data elements in the slot value of the data storage slot.

14. The system of claim 1 , wherein the first data event is part of a dialog workflow that comprises a plurality of data events.

15. A computerized method of session-based data storage for chat-based communication sessions, the method comprising:

connecting a computing device to a data storage area associated with an active chat-based communication session, the data storage area comprising one or more data storage slots;

identifying, by the computing device, a first data event during the active chat-based communication session, the first data event comprising one of a data capture event, a data retrieval event, or a data prefill event;

identifying, by the computing device, a data storage slot in the data storage area corresponding to the first data event, the data storage slot comprising a slot name, a slot value, and a lifecycle value;

selecting, by the computing device, one or more data elements associated with the active chat-based communication session for insertion into the data storage slot based upon the event type of the first data event;

storing, by the computing device, the selected data elements in the data storage slot for retrieval during the active chat-based communication session; and

determining, by the computing device based upon the lifecycle value, whether to remove the selected data elements in the data storage slot after a single use during the chat-based communication session or to keep the selected data elements in the data storage slot until the chat-based communication session is ended.

16. The method of claim 15 , wherein, when the first data event is a data retrieval event, selecting one or more data elements associated with the active chat-based communication session comprises retrieving one or more data elements from one of (i) session context data for the chat-based communication session or (ii) an external data source.

17. The method of claim 15 , wherein the one or more data elements are selected from (i) a response message in the active chat-based communication session, (ii) session context data for the active chat-based communication session, or (iii) other data storage slots in the data storage area.

18. The method of claim 17 , wherein the computing device captures the session context data when the active chat-based communication session is initialized.

19. The method of claim 18 , wherein the session context data comprises attributes of a user of the remote computing device and attributes of the active chat-based communication session.

20. The method of claim 15 , wherein the slot value of the data storage slot comprises a dynamic expression.

21. The method of claim 20 , wherein selecting one or more data elements associated with the active chat-based communication session for insertion into the data storage slot based upon the event type of the first data event comprises evaluating the dynamic expression to determine one or more data elements to insert into the data storage slot.

22. The method of claim 15 , wherein the slot value of the data storage slot comprises a static data element.

23. The method of claim 15 , wherein, when the first data event is a data prefill event, selecting one or more data elements associated with the active chat-based communication session comprises:

determining a data element to be requested from the remote computing device during the active chat-based communication session;

identifying another data storage slot in the data storage area that is associated with the data element to be requested from the remote computing device;

validate the slot value of the another data storage slot, and

when the slot value of the another data storage slot is invalid, generate a request for the data element from the remote computing device and insert the request for the data element into the active chat-based communication session.

24. The method of claim 23 , wherein validating the slot value of the another data storage slot comprises determining that the slot value of the another data storage slot is one of a non-zero value or a non-null value.

25. The method of claim 24 , wherein determining that the slot value of the another data storage slot is one of a non-zero value or a non-null value comprises evaluating a dynamic expression in the slot value of the another data storage slot.

26. The method of claim 15 , wherein the active chat-based communication session is established with the remote computing device via a virtual assistant application.

27. The method of claim 16 , wherein retrieving one or more data elements from an external data source comprises applying a function that transforms the one or more data elements before storing the one or more data elements in the slot value of the data storage slot.

28. The method of claim 15 , wherein the first data event is part of a dialog workflow that comprises a plurality of data events.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2021
From: DETMER, ALLEN; LUCENA, MARIA
To: FMR LLC
Reel/Frame 057496/0583 →
Cited By (6)
US 12,321,709 US 12,340,181 US 12,541,544 US 12,563,008 US 12,591,559 US 12,682,179