13. The method of claim 1 , wherein the computer system comprises one or more servers and a virtual router that is independently operable of the one or more servers, wherein receiving the natural language utterance comprises receiving, at the virtual router, the natural language utterance from the first user device, and wherein receiving the non-voice input comprises receiving, at the virtual router, the non-voice user input from the second user device, the method further comprising: transmitting, by the virtual router, the natural language utterance and the non-voice user input to the one or more servers; and receiving, at the virtual router, the user request from the one or more servers, wherein selecting the user processing device comprises selecting, at the virtual router, from among a plurality of user processing devices, the user processing device to process the user request, the selection at the virtual router being based on the determination that content related to the user request resides at the user processing device, and wherein transmitting the user request comprises transmitting, by the virtual router, the user request to the selected user processing device to invoke the selected user processing device to process the user request.
13. The method of claim 1 , wherein the computer system comprises one or more servers and a virtual router that is independently operable of the one or more servers, wherein receiving the natural language utterance comprises receiving, at the virtual router, the natural language utterance from the first user device, and wherein receiving the non-voice input comprises receiving, at the virtual router, the non-voice user input from the second user device, the method further comprising: transmitting, by the virtual router, the natural language utterance and the non-voice user input to the one or more servers; and receiving, at the virtual router, the user request from the one or more servers, wherein selecting the user processing device comprises selecting, at the virtual router, from among a plurality of user processing devices, the user processing device to process the user request, the selection at the virtual router being based on the determination that content related to the user request resides at the user processing device, and wherein transmitting the user request comprises transmitting, by the virtual router, the user request to the selected user processing device to invoke the selected user processing device to process the user request. 14. The method of claim 13 , further comprising: selecting, at the virtual router, from among the one or more servers and the plurality of user processing devices, the one or more servers to determine the one or more words and the context information, wherein the natural language utterance and the non-voice user input are transmitted to the one or more servers based on the selection of the one or more servers.