1. A method of performing recognition of a speech utterance from a user with a distributed client-server system comprising: receiving user speech data from a client device in streaming packets through a network interface of a network server system employing an application layer Internet-based protocol overlaid on transmission control protocol (TCP) such that said streaming packets are processed as they are received, said speech data resulting from a first set of speech recognition operations being performed on the speech utterance by a client device; recognizing the speech utterance as well as a natural language used in said speech utterance using processing routines executing at said network server system which implement a second set of speech recognition operations, wherein recognizing includes converting the speech utterance into text using a Hidden Markov Modeling technique; sending text corresponding to the speech utterance to a natural language engine and a database engine; performing linguistic processing of the text at the natural language engine, wherein linguistic processing of the text includes tokenizing the text, tagging one or more tokens, grouping the tagged tokens and storing one or more noun phrases associated with the text; transferring the one or more noun phrases to the database engine for construction of an SQL query; providing a response to the user in a same natural language as was recognized; and adjusting said second set of speech recognition operations based on an automated evaluation of resources available at the network server system and/or the client device.