IP Library Granted Patent US 10,263,942
Granted Patent B2
US 10,263,942 · App. 15/297,881 · Granted Apr 16, 2019

Method and system for providing personalized network based dialogues

Inventors: Brian Reistad (Redmond, WA); William D. Snapper (Holliston, MA); Andrew C. Payne (Lincoln, MA); James Campbell (Encinitas, CA)
Assignee: Open Text SA ULC
H04L51/32G06Q10/06316G06Q30/02G06Q30/0201G06Q30/0235G06Q30/0239G06Q30/0241G06Q30/0255G06Q30/0271H04L51/04H04L51/22G06F3/04847
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 10,263,942
App. No.
15/297,881
Granted
Apr 16, 2019
Kind
B2
Abstract

Systems and methods for personalizing dialogs are disclosed. A dialog system can provide a user interface to allow a first user to specify a second user to participate in an automated dialog, a specific response option, and a maximum time period for responding. The dialog system can send a message to the second user with the specific response option. The dialog system can branch the dialog based on the occurrence of an event or combination of events occurring in conjunction the second user. In a first branch, the dialog system is configured to send a second communication to the second user using a second communications channel, the second communication containing the specific response option. In a second branch, the dialog system is further configured to execute a third instruction associated with the dialog.

Claims (42)

1. A system for providing a personalized network based dialogue, comprising:

a data store;

a dialog system coupled to the data store and a network; the dialog system comprising a dialog computer comprising a processor and a memory storing computer program code, the dialog computer configured to:

receive a script comprising rules for branching a dialog based on events;

responsive to a received event, start the dialog according to the script;

access the data store to determine an address for a participant selected for participation in the dialog;

execute the dialog using an instance of a process, executing the dialog comprising executing instructions from a set of instructions associated with the dialog, the set of instructions comprising:

a first instruction associated with the dialog, the first instruction executable to send a first communication to the participant from a server via a first communications channel, the first communication containing a specific response option;

a second instruction associated with the dialog, the second instruction executable to determine if a first event has occurred in conjunction with the participant, wherein the first event comprises a response by the participant according to the specific response option within a maximum time period for responding;

a third instruction associated with the dialog, the third instruction executable to assign a value to a variable associated with the first event based on a determination that the first event has occurred in conjunction with the participant;

a first branch executable based on a determination that the value of the variable associated with first event is a first value, the first branch comprising a fourth instruction associated with the dialog, the fourth instruction executable to send a second communication to the participant, the second communication containing the specific response option;

a second branch executable based on a determination that the value of the variable associated with first event is a second value, the second branch comprising a fifth instruction associated with the dialog.

2. The system of claim 1 , wherein starting the dialog comprises creating a conversation object in the data store, wherein the conversation object comprises entries in database tables for a set of variables for the dialog, the set of variables including the variable associated with the first event.

3. The system of claim 1 , wherein the second instruction is executable to send the second communication using a second communication channel.

4. The system of claim 1 , wherein the dialog computer is configured to execute the instructions from the set of instructions until the script completes or pauses.

5. The system of claim 1 , wherein the dialog computer is configured to pause the dialog after execution of the first instruction associated with dialog.

6. The system of claim 1 , wherein the dialog computer is configured to update a database to indicate an event that will cause execution of the dialog to resume and a next instruction from the set of instructions to be executed at an occurrence of the indicated event.

7. The system of claim 6 , wherein the event that will cause execution of the dialog to resume comprises an occurrence of the first event.

8. The system of claim 1 , wherein the dialog computer is configured to compile the script into the set of instructions.

9. The system of claim 1 , wherein the dialog computer is configured to provide a user interface to allow a first user to specify the participant to participate in the dialog, the specific response option, and the maximum time period for responding.

10. The system of claim 1 , wherein the dialog computer is configured to concurrently run multiple dialogs according to the script.

11. The system of claim 10 , wherein the dialog computer is configured to maintain separate instances of dialog-specific variables for each of the multiple dialogs.

12. A computer program product comprising a non-transitory computer readable medium storing computer program code executable by a processor to:

receive a script comprising rules for branching a dialog based on events;

responsive to a received event, start the dialog according to the script;

access a data store to determine an address for a participant-selected for participation in the dialog;

execute the dialog using an instance of a process, executing the dialog comprising executing instructions from a set of instructions associated with the dialog, the set of instructions comprising:

a first instruction associated with the dialog, the first instruction executable to send a first communication to the participant from a server via a first communications channel, the first communication containing a specific response option;

a second instruction associated with the dialog, the second instruction executable to determine if a first event has occurred in conjunction with the participant, wherein the first event comprises a response by the participant according to the specific response option within a maximum time period for responding;

a third instruction associated with the dialog, the third instruction executable to assign a value to a variable associated with the first event based on a determination that the first event has occurred in conjunction with the participant;

a first branch executable based on a determination that the value of the variable associated with first event is a first value, the first branch comprising a fourth instruction associated with the dialog, the fourth instruction executable to send a second communication to the participant, the second communication containing the specific response option;

a second branch executable based on a determination that the value of the variable associated with first event is a second value, the second branch comprising a fifth instruction associated with the dialog.

13. The computer program product of claim 12 , wherein starting the dialog comprises creating a conversation object in the data store, wherein the conversation object comprises entries in database tables for a set of variables for the dialog, the set of variables including the variable associated with the first event.

14. The computer program product of claim 12 , wherein the second instruction is executable to send the second communication using a second communication channel.

15. The computer program product of claim 12 , wherein the computer program code is executable to cause the processor to execute the instructions from the set of instructions until the script completes or pauses.

16. The computer program product of claim 12 , wherein the computer program code is executable to pause the dialog after execution of the first instruction associated with dialog.

17. The computer program product of claim 16 , wherein the computer program code is executable to update a database to indicate an event that will cause execution of the dialog to resume and a next instruction from the set of instructions to be executed at an occurrence of the indicated event.

18. The computer program product of claim 17 , wherein the event that will cause execution of the dialog to resume comprises an occurrence of the first event.

19. The computer program product of claim 12 , wherein the computer program code is executable to run multiple dialogs according to the script.

20. The computer program product of claim 12 , wherein the computer program code is executable to compile the script into the set of instructions.

21. The computer program product of claim 12 , wherein the computer program code is executable to provide a user interface to allow a first user to specify the participant to participate in the dialog, the specific response option, and the maximum time period for responding.

22. The computer program product of claim 19 , wherein the computer program code is executable to maintain separate instances of dialog-specific variables for each of the multiple dialogs.

Assignments (12)
IP BUSINESS SALE AGREEMENT Recorded Jan 24, 2018
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 045139/0554 →
CERTIFICATE OF CONTINUANCE Recorded Jan 24, 2018
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 045139/0818 →
CERTIFICATE OF AMALGAMATION Recorded Jan 24, 2018
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 045139/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2018
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 044719/0080 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Nov 27, 2017
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 044511/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2017
From: REISTAD, BRIAN; SNAPPER, WILLIAM D.; PAYNE, ANDREW C.; CAMPBELL, JAMES
To: REVENIO, INC.
Reel/Frame 044164/0662 →
SECURED PARTY'S BILL OF SALE Recorded Nov 17, 2017
From: REVENIO, INC.
To: VIGNETTE CORPORATION
Reel/Frame 044481/0614 →
MERGER Recorded Nov 17, 2017
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 044164/0768 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Nov 17, 2017
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 044481/0625 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Nov 17, 2017
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 044481/0674 →
CERTIFICATE OF CONVERSION Recorded Nov 17, 2017
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 044481/0721 →
CERTIFICATE OF CONVERSION Recorded Nov 17, 2017
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 044481/0824 →
Continuity (8)
Continuation 14329715 · Jul 11, 2014
Continuation 13528152 · Jun 20, 2012
Continuation 13110342 · May 18, 2011
Continuation 12546981 · Aug 25, 2009
Continuation 11818192 · Jun 13, 2007
Continuation 11353792 · Feb 14, 2006
Continuation 09621913 · Jul 24, 2000
Related Publication 20170041278A1 · Feb 9, 2017