1. A method of automatic speech recognition (ASR), comprising: receiving a speech utterance from a user; assessing resources, by a processor, by monitoring both port utilization and processing utilization of each of a plurality of different ASR engines to determine which of the plurality of different ASR engines are busy serving users; assigning the speech utterance to a single ASR engine when the plurality of different ASR engines are busy such that the port and processing utilizations are within a set of threshold values; assigning the speech utterance to the plurality of different ASR engines when the plurality of different ASR engines are not busy such that the port and processing utilizations are within another set of threshold values; and generating text of the speech utterance with either the single ASR engine or the plurality of different ASR engines; wherein assigning the speech utterance to a single engine if processing utilization is within a threshold value when the port utilization of the single ASR engine is lower than a port utilization threshold of 80%.