Method and apparatus for providing interactive services with multiple interfaces
First Claim
1. Apparatus for use in providing an interactive user service comprising:
- a service logic unit for providing data and logic to a plurality of user interfaces, wherein at least one of said user interfaces has natural language understanding; and
wherein said logic includes a service logic for facilitating effecting at least one or more of different functions from a set of functions including at least different ordering of inputs from any of said user interfaces, incomplete information from any of said user inputs from any of said user interfaces, incomplete information from any of said user interfaces, correction of information from any of said user interfaces by enabling a user to change previously provided inputs, returning of control to prior points in said interactive service in response to a request from at least one of said user interfaces, without having to restart the interactive user service application, said service logic further implements reactive constraint graphs having a plurality of nodes, wherein each of said nodes contains a set of constraints on execution of events of said node, and said service logic further evaluates whether enabled constraints in said set of constraints for a node have been satisfied.
8 Assignments
0 Petitions
Accused Products
Abstract
Interactive services are provided by employing a modular approach to implementing interactive services with multiple interfaces. Such an approach facilitates supporting natural language understanding interaction with users through use of interfaces that allow at least different ordering of inputs, and/or incomplete information, and/or correction of information, and/or the return of control to prior points in the service. This is realized, in an embodiment of the invention, by employing a single interactive service logic that uses “reactive constraint graphs”, i.e., a form of event-driven graph, in which nodes contain a set of constraints on events. Specifically, control progresses from a node to a derivative node, i.e., “child”, only when all the constraints in the set on the node have been satisfied. A single set of constraints implicitly supports a significant number of the possible different orderings of inputs. Incomplete information is supported because the constraints in the set are evaluated as soon as possible. Correction of information is supported because information in the constraint set is updated upon receipt of new information. Indeed, use of the reactive constraint graphs allows nodes to be labeled, and allows control to revert to a prior node, i.e., ancestor, hence allowing the user to go back to prior points in the service. New inputs can be added to the constraint sets with a complexity polynomial of the order of the input set.
56 Citations
73 Claims
-
1. Apparatus for use in providing an interactive user service comprising:
-
a service logic unit for providing data and logic to a plurality of user interfaces, wherein at least one of said user interfaces has natural language understanding; and
wherein said logic includes a service logic for facilitating effecting at least one or more of different functions from a set of functions including at least different ordering of inputs from any of said user interfaces, incomplete information from any of said user inputs from any of said user interfaces, incomplete information from any of said user interfaces, correction of information from any of said user interfaces by enabling a user to change previously provided inputs, returning of control to prior points in said interactive service in response to a request from at least one of said user interfaces, without having to restart the interactive user service application, said service logic further implements reactive constraint graphs having a plurality of nodes, wherein each of said nodes contains a set of constraints on execution of events of said node, and said service logic further evaluates whether enabled constraints in said set of constraints for a node have been satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for providing an interactive user service comprising:
-
a plurality of user interfaces, wherein at least one of said user interfaces has natural language understanding; and
a service logic unit for providing data and logic to said plurality of user interfaces, wherein said logic includes a service logic for facilitating effecting at least one or more of different functions from a set of functions including at least different ordering of inputs from any of said user interfaces, incomplete information from any of said user interfaces, correction of information from any of said user interfaces by enabling a user to change previously provided inputs, returning of control to prior points in said interactive service in response to a request from at least one of said user interfaces, without having to restart the interactive user service application, said service logic further implements reactive constraint graphs having a plurality of nodes, wherein each of said nodes contains a set of constraints on execution of events of said node, and said service logic further evaluates whether enabled constraints in said set of constraints for a node have been satisfied. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A method for providing an interactive user service comprising the steps of:
-
providing data and logic from a service logic unit to a plurality of user interfaces, wherein at least one of said user interfaces has natural language understanding;
facilitating effecting at least one or more of different functions from a set of functions including at least different ordering of inputs from any of said user interfaces, incomplete information from any of said user interfaces, correction of information from any of said user interfaces by enabling a user to change previously provided inputs, returning of control to prior points in said interactive service in response to a request from at least one of said user interfaces, without having to restart the interactive user service application, without having to restart the interactive user service application;
implementing reactive constraint graphs having a plurality of nodes, wherein each of said nodes contains a set of constraints on execution of events of said node;
evaluating whether enabled constraints in said set for a node have been satisfied. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. Apparatus for use in providing an interactive user service comprising:
-
means for providing data and logic to a plurality of user interfaces, wherein at least one of said user interfaces has natural language understanding; and
wherein said mean for providing logic includes service logic means for facilitating effecting at least one or more of different functions from a set of functions including at least different ordering of inputs from any of said user interfaces, incomplete information from any of said user interfaces, correction of information from said any of said interfaces by enabling a user to change previously provided inputs, returning of control to prior points in said interactive service in response to a request from at least one of said user interfaces, without having to restart the interactive user service application, wherein said service logic means includes means for implementing reactive constraint graphs having a plurality of nodes, wherein each of said nodes contains a set of constraints on execution of events of said node, wherein said service logic means includes service logic means for evaluating whether enabled constraints in said set for a node have been satisfied, wherein said service logic means includes means for implementing reactive constraint graphs having a plurality of nodes, wherein each of said nodes contains a set of constraints on execution of events of said node, and wherein said service logic means includes means for evaluating whether enabled constraints in said set of constraints for a node have been satisfied. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
Specification