Patent ID: 7809570

Claim:
A method for responding to natural language speech utterances, comprising: receiving a natural language speech utterance at a speech unit connected to a computer device, wherein the speech unit converts the received natural language speech utterance into an electronic signal; recognizing one or more words in the electronic signal with a speech recognition engine that operates on the computer device; interpreting a meaning for the natural language speech utterance with a parser that further operates on the computer device, wherein interpreting the meaning for the natural language speech utterance includes: identifying multiple requests contained in the natural language speech utterance from the one or more words recognized in the electronic signal; and determining one or more contexts for the multiple requests contained in the natural language speech utterance; and processing the multiple requests contained in the natural language speech utterance in a multi-threaded environment with an event manager that further operates on the computer device, wherein processing the multiple requests with the event manager includes: sending a first event to a first domain agent configured to process requests in the one or more contexts, wherein the first domain agent creates a first plurality of asynchronous queries to process a first one of the multiple requests in response to receiving the first event from the event manager; sending a second event to a second domain agent configured to process requests in the one or more contexts, wherein the second domain agent creates a second plurality of asynchronous queries to process a second one of the multiple requests in response to receiving the second event from the event manager; receiving one or more response events that include information from one or more of the first domain agent processing the first one of the multiple requests or the second domain agent processing the second one of the multiple requests; and creating a response to the multiple requests contained in the natural language speech utterance from the one or more response events.