Claims
- 1. A method of notifying a speech related application of events generated by a speech related engine, comprising:
receiving a notification selection from the application at a middleware component between the application and the engine, the notification selection being indicative of a selected notification mechanism, selected by the application, for notifying the application of the events; receiving an event indication from the engine, the event indication being indicative of an event generated by the engine; and notifying the application of the event indication from the middleware component according to the selected notification mechanism.
- 2. The method of claim 1 wherein receiving an event indication from the engine comprises:
receiving the event indication from the engine according to a predetermined notification method regardless of the selected notification mechanism selected by the application.
- 3. The method of claim 2 and further comprising, prior to notifying the application:
transferring the event indication from the middleware component to an output device.
- 4. The method of claim 3 wherein the output device processes a data stream containing the event, and further comprising:
when the output device reaches a predetermined distance from the event in the data stream, notifying the middleware component; and transferring the event indication back to the middleware component.
- 5. The method of claim 4 wherein the predetermined distance comprises a predetermined offset in the data stream prior to the event.
- 6. The method of claim 4 wherein the event indication includes an event identifier identifying the event and wherein transferring the event indication back to the middleware component from the output device is performed regardless of whether the output device correlates the event identifier to the event it identifies.
- 7. The method of claim 4 and further comprising:
prior to notifying the application, receiving an interest indication from the application indicative of events generated by the engine for which the application is to receive notification.
- 8. The method of claim 7 wherein the event indication includes an event identifier identifying the event, and further comprising, prior to notifying the application:
determining whether the application is to be notified based on the interest indication and the event identifier; and if so, notifying the application.
- 9. The method of claim 8 and further comprising:
after receiving the notification selection from the application, initializing a notification assistance component to notify the application according to the selected notification mechanism.
- 10. The method of claim 9 wherein notifying the application comprises:
transferring the event indication to the notification assistance component; and notifying the application from the notification assistance component of the event indication.
- 11. The method of claim 10 and further comprising:
receiving a request from the application at the middleware component for the event identifier and transferring the event identifier from the middleware component object to the application.
- 12. The method of claim 11 wherein the middleware component comprises a middleware object and the notification assistance component comprises an assistance object and wherein transferring the event indication to the notification assistance component comprises:
invoking a method exposed by the assistance object to notify the assistance object of the event indication; and invoking a method exposed by the middleware component to obtain the event indication.
- 13. The method of claim 12 wherein receiving an event indication from the engine comprises:
exposing a method on an engine interface on the middleware component to add events from the engine to an event queue in the middleware component.
- 14. An event notification system for notifying a speech related application of events generated by a speech related engine, the system comprising:
a middleware layer configured to be coupled to the engine and the application, the middleware layer configured to receive a notification selection from the application indicating a selected notification mechanism for notifying the application of the events, the middleware being further configured to receive an event from the engine and notify the application of the event according to the selected notification mechanism.
- 15. The event notification system of claim 14 wherein the middleware layer comprises:
a control component configured to receive an interest indication from the application indicative of events for which the application is to receive a notification.
- 16. The event notification system of claim 15 wherein the control component is configured to determine whether to notify the application of the event received from the engine based on the interest indication and the event.
- 17. The event notification system of claim 16 wherein the middleware layer further comprises:
a notification assistance component, initialized by the control component based on the notification selection from the application, the notification assistance component being configured to notify the application of the event according to the selected notification mechanism.
- 18. The event notification system of claim 17 wherein the engine processes a data stream and wherein the control component receives the event from the engine and a position indication indicative of a position in the data stream corresponding to the event.
- 19. The event notification system of claim 18 wherein the data stream, the event and the position indication are provided to an output processing component and wherein the control component is configured to obtain the event from the output processing component when the output processing component has reached a predetermined distance from the event in the data stream and notify the notification assistance component of the event.
- 20. The event notification system of claim 19 wherein the notification assistance component is configured to translate a notification into a desired form of notification selected by the application.
- 21. The event notification system of claim 20 wherein the notification assistance component is configured to notify the application of the event after obtaining the event notification from the control component.
- 22. A method of synchronizing a speech related output from an engine with processing steps taken by an application, comprising:
receiving a speech related data stream at a middleware component between the engine and the application; transmitting the speech related data stream from the application to the engine to be processed by the engine; receiving at the middleware component an event indication from the engine, the event indications identifying an event generated by the engine and a position of the event in the data stream; and transmitting the event indication from the middleware component to the application.
- 23. The method of claim 22 and further comprising:
prior to transmitting the event indication to the application, transmitting the event indication to an output component and receiving at the middleware component a notification from the output component when the output component reaches a predetermined position in the data stream relative to the event; and in response to the notification from the output component, obtaining the event indication from the output component.
- 24. The method of claim 23 and further comprising:
prior to receiving the data stream from the application, receiving a notification selection from the application, the notification selection being indicative of a selected notification mechanism for notifying the application of the event.
- 25. The method of claim 24 and further comprising:
initializing a notification component based on the notification selection such that the notification component notifies the application according to the selected notification mechanism.
- 26. The method of claim 25 and further comprising:
receiving the event indication at the notification component from the middleware component and the notification component notifying the application of the event indication according to the selected notification mechanism.
- 27. An object model for an event notification system for notifying a speech related application of events generated by a speech related engine, the system comprising:
a middleware layer object having an engine interface and an application interface, the application interface on the middleware layer object exposing a selection method which, when invoked, receives a notification selection from the application indicating a selected notification mechanism for notifying the application of the events, the engine interface exposing an event receiving method which, when invoked, receives an event from the engine; and a notification object communicably coupled to the middleware layer object and configured to notify the application of the events according to the selected notification mechanism.
- 28. The object model of claim 27 wherein the notification object includes an application interface exposing a method which, when invoked, provide the application event information indicative of the event.
- 29. The object model of claim 28 wherein the application interface on the middleware object exposes a method which, when invoked, receives an interest indication from the application, the interest indication being indicative of events for which the application is to receive a notification.
- 30. The object model of claim 29 wherein the middleware layer object is configured to receive a speech related data stream from the application and transmit it to the engine for processing, the middleware layer object is further configured to transmit the data stream, along with the event and a position indication, indicative of a position of the event in the data stream, are provided to an output processing component and wherein the middleware layer object includes an output device interface exposing a method which, when invoked, receives the event from the output processing component when the output processing component has reached a predetermined distance from the event in the data stream.
- 31. The object model of claim 30 wherein the notification object has an interface exposing a method which, when invoked by the middleware layer object, notifies the notification object of the event.
Parent Case Info
[0001] The present application is based on and claims the benefit of U.S. provisional patent application Serial No. 60/219,861, filed Jul. 20, 2000, the content of which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60219861 |
Jul 2000 |
US |