Applications server and method
First Claim
1. An applications server operable to provide a plurality of modular user driven services by running an application program, the application program being arranged to provide the modular services in response to user commands for selecting service options, the applications server comprising in accordance with the application program a state machine operable by a state machine engine to determine a current state of the application program from one of a pre-determined set of states defining a logical procedure through the user selected service options, the states of the state machine including for each of the modular services, one or more states defined by one or more forms within the service, each form defining a state of a user interface for providing the services to the user, and each state including one or more sub-states representing situations, defining the commands to be recognised and conditions to be satisfied to select each sub-state depending upon the estimated user commands and the session state of the user session, a command recognition engine, the command recognition engine including a grammar processor operable to provide the command recognition engine with grammar rules to establish a set of possible user commands which may be provided for a particular state, the possible user commands constituting a menu of available user commands for each form, the possible commands determining the states which may be reached from the current state, the command recognition engine being operable in response to a received user command to provide the state machine engine with an estimate of at least one of the possible commands, which the user may have provided, the state machine being operable to change state in response to the estimated user command, wherein the state machine is operable to determine at run-time a set of eligible states and the possible transitions between the states, the grammar engine being operable to adapt the possible user commands to be recognised for a current state in association with the state transitions, which are determined at run-time.
1 Assignment
0 Petitions
Accused Products
Abstract
An applications server is operable to provide a plurality of user driven services by running an application program. The application program is arranged to provide the services in response to user commands for selecting service options. The applications server comprises in accordance with the application program a state machine able to determine a current state of the application program from one of a pre-determined set of states defining a logical procedure through the user selected service options. The states of the state machine includes for each of the modular services, one or more states associated with one or more forms within the service. Each form defines a state of a user interface for providing the services to the user, and each state includes one or more sub-states called situations, defining the commands to be recognised and the predicates to be satisfied to select that state depending upon the estimated user commands and the session state of the user session. The set of states includes a base service defined by one or more main states. The application program also comprises a command recognition engine, including a grammar processor and may include an automatic speech recogniser to provide the command recognition engine with a set of possible user commands which may be provided for a particular state, the possible commands determining the states which may be reached from the current state. The command recognition engine, in response to a received user command, provides the state machine with an estimate of at least one of the possible commands, which the user may have provided. The state machine changes state in response to the estimated user command. The state machine determines the transitions between the states at run-time and the grammar engine adapts the possible user commands to be recognised for a current state in association with the state transitions, which are determined at run-time. As such, the applications server can provision user driven services, which can be dynamically adapted and blended with each other in accordance with user requirements.
-
Citations
22 Claims
-
1. An applications server operable to provide a plurality of modular user driven services by running an application program, the application program being arranged to provide the modular services in response to user commands for selecting service options, the applications server comprising in accordance with the application program
a state machine operable by a state machine engine to determine a current state of the application program from one of a pre-determined set of states defining a logical procedure through the user selected service options, the states of the state machine including for each of the modular services, one or more states defined by one or more forms within the service, each form defining a state of a user interface for providing the services to the user, and each state including one or more sub-states representing situations, defining the commands to be recognised and conditions to be satisfied to select each sub-state depending upon the estimated user commands and the session state of the user session, a command recognition engine, the command recognition engine including a grammar processor operable to provide the command recognition engine with grammar rules to establish a set of possible user commands which may be provided for a particular state, the possible user commands constituting a menu of available user commands for each form, the possible commands determining the states which may be reached from the current state, the command recognition engine being operable in response to a received user command to provide the state machine engine with an estimate of at least one of the possible commands, which the user may have provided, the state machine being operable to change state in response to the estimated user command, wherein the state machine is operable to determine at run-time a set of eligible states and the possible transitions between the states, the grammar engine being operable to adapt the possible user commands to be recognised for a current state in association with the state transitions, which are determined at run-time.
-
14. A system for providing a plurality of modular user driven services by running an application program on an applications server, the application program being arranged to provide the modular services in response to user commands for selecting service options, the system comprising
a telephony platform and a user equipment, the user equipment being operable to receive data representative of audio signals from the telephony platform, the telephony platform generating the audio signal data in accordance with the service being provided, the user equipment generating audio signals for the user, to receive commands from the user, and to communicate the commands to the telephony platform, wherein the applications server comprises in accordance with the application program a state machine operable by a state machine engine to determine a current state of the application program from one of a pre-determined set of states defining a logical procedure through the user selected service options and the states of the state machine including for each of the modular services, one or more states defined by one or more forms within the service, each form defining a state of a user interface for providing the services to the user, and each state including one or more sub-states representaing situations, defining the commands to be recognised and the conditions to be satisfied to select that state depending upon the estimated user commands and the session state of the user session, a command recognition engine, the command recognition engine including a grammar processor operable to provide the command recognition engine with grammar rules to establish a set of possible user commands which may be provided for a particular state, the possible user commands providing a menu of available user commands for each form, the possible commands determining the states which may be reached from the current state, the command recognition engine being operable in response to a received user command to provide the state machine engine with an estimate of at least one of the possible commands, which the user may have provided, the state machine being operable to change state in response to the estimated user command, wherein the state machine is operable to determine the possible transitions between the states at run-time, the grammar engine being operable to adapt the possible user commands to be recognised for a current state in association with the state transitions, which are determined at run-time.
-
15. A method of providing a plurality of modular user driven services using an application program run by an applications server, the modular user driven services being provided in response to user commands for selecting service options, the method comprising
determining a current state of the application program from one of a pre-determined set of states defining a logical procedure through the user selected service options, the states of the state machine including for each of the modular services, one or more states associated with one or more forms within the service, each form defining a state of a user interface for providing the services to the user, and each state including one or more sub-states representing situations, defining the commands to be recognised and the conditions to be satisfied to select that state depending upon the estimated user commands and the session state of the user session, providing a set of possible user commands which may be provided for a particular state, the possible commands determining the states which may be reached from the current state, providing in response to a received user command an estimate of at least one of the possible commands, which the user may have provided, and changing from a current state to another of the states of the application program in response to the estimated user command, wherein the determining the current state of the application program includes determining at run-time the set of eligible states and the possible transitions between the states, and the providing the set of possible user commands includes adapting the possible user commands to be recognised for a current state in association with the state transitions determined at run-time.
-
20. A computer program which when loaded onto a data processor causes the data processor to perform a method of providing a plurality of modular user driven services using an application program run by an applications server, the modular user driven services being provided in response to user commands for selecting service options, the method comprising
determining a current state of the application program from one of a pre-determined set of states defining a logical procedure through the user selected service options, the states of the state machine including for each of the modular services, one or more states associated with one or more forms within the service, each form defining a state of a user interface for providing the services to the user, and each state including one or more situations defining the commands to be recognised and the conditions to be satisfied to select that state depending upon the estimated user commands and the session state of the user session, providing grammar rules to establish a set of possible user commands which may be provided for a particular state, the possible commands determining the states which may be reached from the current state, providing in response to a received user command an estimate of at least one of the possible commands, which the user may have provided, and changing from a current state to another of the states of the application program in response to the estimated user command, wherein the determining the current state of the application program includes determining at run-time the set of eligible states and the possible transitions between the states, and the providing the set of possible user commands includes adapting the possible user commands to be recognised for a current state in association with the state transitions determined at run-time.
Specification