Systems and methods for synchronizing multi-modal interactions
First Claim
1. A system for synchronizing multi-modal interactions, comprising:
- a program storage device that stores a multi-modal application, the multi-modal application comprising at least a first mode process that enables user interaction with the application in a first modality and a second mode process that enables user interaction with the application in a second modality;
a program execution system that executes the multi-modal application and synchronizes the first and second mode processes while a user interacts with the multi-modal application, wherein the program execution system comprises;
a multi-modal shell that manages information exchanges between the first and second mode processes of the multi-modal application to enable a synchronized multi-modal interaction with the multi-modal application wherein user interaction in one modality results in execution of corresponding commands in both the first and second mode processes; and
an API (application program interface) that allows the first and second mode processes to register their respective active commands and corresponding actions with the multi-modal shell.
4 Assignments
0 Petitions
Accused Products
Abstract
System and methods for synchronizing interactions between mono-mode applications, different modes of a multi-modal application, and devices having different UI modalities. In one aspect, a multi-modal shell coordinates multiple mode processes (i.e. modalities) of the same application or multiple applications through API calls, whereby each mode process registers its active commands and the corresponding actions in each of the registered modalities. The multi-modal shell comprises a registry that is implemented with a command-to-action table. With the execution of a registered command, each of the corresponding actions are triggered to update each mode process accordingly, and possible update the registry to support new commands based on the change in state of the dialog or application. In another aspect, separate applications (with UI of different modalities) are coordinated via threads (e.g., applets) connected by socket connections (or virtual socket connections implemented differently). Any command in one mode triggers the corresponding thread to communicate the action to the thread of the other application. This second thread modifies accordingly the state of the second process mode. The threads are updated or replaced by new threads.
193 Citations
37 Claims
-
1. A system for synchronizing multi-modal interactions, comprising:
-
a program storage device that stores a multi-modal application, the multi-modal application comprising at least a first mode process that enables user interaction with the application in a first modality and a second mode process that enables user interaction with the application in a second modality; a program execution system that executes the multi-modal application and synchronizes the first and second mode processes while a user interacts with the multi-modal application, wherein the program execution system comprises; a multi-modal shell that manages information exchanges between the first and second mode processes of the multi-modal application to enable a synchronized multi-modal interaction with the multi-modal application wherein user interaction in one modality results in execution of corresponding commands in both the first and second mode processes; and an API (application program interface) that allows the first and second mode processes to register their respective active commands and corresponding actions with the multi-modal shell. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for synchronizing multi-modal interactions, comprising the steps of:
-
activating a multi-modal application comprising at least a first mode process that enables user interaction with the application in a first modality and a second mode process that enables user interaction with the application in a second modality receiving a command or event in the first modality; triggering an action by the first mode process based on the received command or event and triggering a corresponding action by the second mode process; and updating application states or device states associated with the first and second mode processes. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for synchronizing multi-modal interactions, the method comprising the steps of:
-
activating a multi-modal application comprising at least a first mode process that enables user interaction with the application in a first modality and a second mode process that enables user interaction with the application in a second modality receiving a command or event in the first modality; triggering an action by the first mode process based on the received command or event and triggering a corresponding action by the second mode process; and updating application states or device states associated with the first and second mode processes. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
Specification