IP Library Granted Patent US 8,930,296
Granted Patent B2
US 8,930,296 · App. 13/848,906 · Granted Jan 6, 2015

Method and system for programming virtual robots using a template

Inventors: Aaron Joseph McBride (Calabasas, CA); Rob Rappaport (Malibu, CA); Jeremy Romero (Calabasas, CA); Christopher Brennan (Northridge, CA); Robert Williams (Pacific Palisades, CA)
Assignee: Avaya Inc.
H04L51/02G06F17/3089G06N5/025G06N99/005
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 8,930,296
App. No.
13/848,906
Granted
Jan 6, 2015
Kind
B2
Abstract

Disclosed is a method for processing input entered by a user and providing at least one response maintained by an administrator in a system for autonomously processing requests. A template is provided to the administrator, wherein the template includes at least one field to elicit specific information from the administrator. The information is received from the administrator into the template. The information is saved for use in providing the at least one response in reply to a request from a user. An apparatus for performing this method is also disclosed.

Claims (76)

1. A method for maintaining at least one response by an administrator in a system for autonomously processing requests, comprising the steps of:

providing a template to the administrator, wherein the template includes a plurality of input fields to receive information in a standardized format from the administrator, and wherein each input field of the plurality of input fields corresponds to a question or label displayed on the template to elicit the information;

receiving the information input by the administrator into the template;

identifying rules requiring information by determining if at least one signifier is present in each rule of a plurality of rules, wherein at least one rule of the rules requiring information comprises a response layer, and wherein the at least one signifier corresponds to at least one input field of the plurality of input fields;

inserting at least a portion of the information into each rule of the rules requiring information based at least partially on the at least one signifier; and

making the information accessible to a rules-based program for use in providing the at least one response in reply to a request from a user, wherein the response layer of the at least one rule influences the identification or preparation of a plurality of responses comprising the at least one response.

2. The method according to claim 1 , wherein the step of making the information accessible to the rules-based program saves the information as part of the template, as structured data, and/or into the plurality of rules.

3. The method according to claim 1 , wherein at least one rule of the plurality of rules comprises an input recognizer component, and wherein the step of identifying rules requiring information includes the steps of:

determining whether the input recognizer component needs information,

if the input recognizer component needs information, retrieving the information from a corresponding field in the template and inserting the information into the input recognizer component.

4. The method according to claim 3 , wherein the step of identifying rules requiring information includes the steps of:

determining whether the response layer of the at least one rule needs information, and

if the response layer needs information, retrieving the information from a corresponding field in the template and inserting the information into the response layer.

5. The method according to claim 3 , wherein the step of determining whether the input recognizer component needs information, includes the step of identifying the at least one signifier.

6. The method according to claim 1 , wherein the at least one rule comprises a logic layer configured to influence a choice of the at least one response from the plurality of responses identified or prepared by the response layer, and wherein the step of identifying rules requiring information includes the steps of:

determining whether the logic layer of the at least one rule needs information, and

if the logic layer needs information, retrieving the information from a corresponding field in the template and inserting the information into the logic layer.

7. The method according to claim 1 , wherein the signifier is a tag in a text string.

8. The method according to claim 1 , wherein the signifier is an instruction embedded in a text string.

9. The method according to claim 1 , wherein the signifier is a code.

10. The method according to claim 1 , wherein the step of identifying rules retrieves all of the rules in a template information script.

11. The method according to claim 1 , wherein the step of making the information accessible to the rules-based program is accomplished by receiving a manual command from a user.

12. The method according to claim 1 , wherein the step of making the information accessible to the rules-based program is accomplished automatically upon the occurrence of a predefined event.

13. The method according to claim 12 , wherein the predefined event is closing of the template.

14. The method according to claim 12 , wherein the predefined event is passage of a predetermined amount of time.

15. The method according to claim 12 , wherein the predefined event is activation of a save function by the administrator.

16. The method according to claim 1 , further including the step of enabling the administrator to edit the information.

17. The method according to claim 16 , wherein the step of enabling the administrator to edit the information includes the steps of:

retrieving the information,

posting the information in at least one appropriate field in the template,

receiving edited information from the administrator into the template, and

making the edited information accessible to the rules-based program for use in providing the at least one response in reply to a request from the user.

18. The method according to claim 17 , wherein:

the step of making the information accessible to the rules-based program saves the information as part of the template, and

the step of retrieving the information includes the step of restoring the information to the at least one field.

19. The method according to claim 17 , wherein:

the step of making the information accessible to the rules-based program saves the information as structured data, and

the step of retrieving the information includes the steps of, for at least one of the at least one field in the template:

retrieving instructions indicating where the information is stored, and

executing the instructions to retrieve the information.

20. The method according to claim 17 , wherein:

the step of making the information accessible to the rules-based program saves the information into rules, and

the step of retrieving the information includes the steps of, for at least one of the at least one field in the template:

retrieving instructions indicating where the information is stored, and

executing the instructions to retrieve the information.

21. The method according to claim 17 , wherein:

the step of making the information accessible to the rules-based program saves the information into rules, and

the step of retrieving the information includes the steps of, for each rule used:

determining whether the rule includes a signifier, and

if a signifier is included, executing instructions from the signifier to retrieve the information associated with the rule.

22. A computer-implemented method for programming virtual robots using templates, comprising:

displaying, on at least one display device, a template interface comprising a plurality of input fields each corresponding to one of a plurality of labels or questions;

receiving response information in the plurality of input fields on the template interface from an administrator;

determining, with at least one processor, a set of rules needing information by identifying rules comprising at least one signifier from a plurality of rules, such that each rule in the set of rules comprises at least one signifier;

identifying at least a portion of the response information received in the plurality of input fields corresponding to the at least one signifier in each rule in the set of rules;

inserting the at least a portion of the response information corresponding to the at least one signifier in each rule in the set of rules; and

making the set of rules available to at least one virtual robot configured to receive user input and provide responses to the user input based at least partially on the set of rules.

23. The computer-implemented method of claim 22 , wherein each rule of the set of rules comprises an input recognizer component and a response layer.

24. The computer-implemented method of claim 23 , wherein the at least one signifier of each rule in the plurality of rules is contained in at least one of the input recognizer component and the response layer.

25. The computer-implemented method of claim 22 , wherein each rule of the set of rules comprises a response layer that influences an identification or preparation of at least one possible response to the user input.

26. The computer-implemented method of claim 25 , wherein each rule of the set of rules further comprises a logic layer, wherein the response layer influences an identification or preparation of a plurality of possible responses to the user input, and wherein the logic layer influences a determination of at least one response from the plurality of possible responses.

27. A system for programming virtual robots using templates, comprising:

(a) a template interface configured to display a plurality of questions to an administrator and receive information from the administrator in a plurality of fields corresponding to the plurality of questions; and

(b) an engine executed by at least one processor, the engine configured to:

(i) access a plurality of rules contained in a script corresponding to the template interface, wherein each rule of the plurality of rules comprises at least one of the following: an input recognizer component, a response layer, a logic layer, or any combination thereof;

(ii) determine, for each rule of the plurality of rules, if the rule needs information by identifying at least one signifier in at least one of the following: an input recognizer component, a response layer, a logic layer, or any combination thereof, wherein at least one rule needs information;

(iii) identify at least one portion of the information received by the template that corresponds to the at least one signifier in the at least one rule; and

(iv) insert the at least one portion of the information in the at least one rule.

28. The system of claim 27 , wherein the engine is further configured to make the rules available to at least one virtual robot configured to process user input and provide responses based on the processed user input.

29. The system of claim 27 , wherein at least one rule of the plurality of rules comprises an input recognizer component and a response layer.

30. The system of claim 29 , wherein the at least one signifier of each rule in the plurality of rules is contained in at least one of the input recognizer component and the response layer.

31. The system of claim 27 , wherein at least one rule of the plurality of rules comprises a response layer that influences an identification or preparation of at least one possible response to the user input.

32. The system of claim 31 , wherein each rule of the set of rules further comprises a logic layer, wherein the response layer influences an identification or preparation of a plurality of possible responses to the user input, and wherein the logic layer influences a determination of at least one response from the plurality of possible responses.

33. The system of claim 27 , wherein the information received in the template is stored in at least one of the following: the template, a data structure, directly in the plurality of rules, or any combination thereof.

34. The system of claim 27 , wherein the at least one signifier is at least one of the following: a tag in a text string, an instruction embedded in a text string, a code, or any combination thereof.

35. The system of claim 27 , further including an editor adapted to access the information and enable the administrator to edit the information.

Assignments (15)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2014
From: CONVERSIVE, INC.
To: AVAYA INC.
Reel/Frame 033774/0368 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2013
From: MCBRIDE, AARON JOSEPH; RAPPAPORT, ROB; ROMERO, JEREMY; BRENNAN, CHRISTOPHER; WILLIAMS, ROBERT
To: CONVERSIVE, INC.
Reel/Frame 030448/0546 →
Continuity (2)
Continuation 10705208 · Nov 10, 2003
Related Publication 20140122625A1 · May 1, 2014