SYSTEM AND METHOD FOR LOAD BALANCING IN A SPEECH RECOGNITION SYSTEM
First Claim
1. A method of load balancing in a speech recognition system, the method comprising:
- at a speech access server having one or more processors and memory storing one or more programs configured for execution by the one or more processors;
initializing the speech access server, including establishing one or more Transmission Control Protocol (TCP) long connections with each speech recognition server of a plurality of speech recognition servers;
receiving a speech request from a terminal;
determining, in accordance with a predefined load balancing algorithm, a first speech recognition server of the plurality of speech recognition servers to process the speech request;
determining whether the first speech recognition server is available for processing;
in accordance with a determination that the first speech recognition server is available, forwarding the speech request to the first speech recognition server for processing; and
in accordance with a determination that the first speech recognition server is not available;
determining, in succession, whether other speech recognition servers of the plurality of speech recognition servers are available for processing; and
in accordance with a determination that a second speech recognition server is available, forwarding the speech request to the second speech recognition server for processing.
1 Assignment
0 Petitions
Accused Products
Abstract
The various implementations described herein include systems, methods and/or devices used to enable load balancing in a speech recognition system. For example, in some implementations, the method includes, at a speech access server: (1) initializing the speech access server, (2) receiving a speech request from a terminal, (3) determining, in accordance with a predefined load balancing algorithm, a first speech recognition server to process the speech request, (4) determining whether the first speech recognition server is available for processing, (5) if the first speech recognition server is available, forwarding the speech request to the first speech recognition server for processing, and (6) if the first speech recognition server is not available: (a) determining whether other speech recognition servers are available for processing, and (b) if a second speech recognition server is available, forwarding the speech request to the second speech recognition server for processing.
29 Citations
18 Claims
-
1. A method of load balancing in a speech recognition system, the method comprising:
at a speech access server having one or more processors and memory storing one or more programs configured for execution by the one or more processors; initializing the speech access server, including establishing one or more Transmission Control Protocol (TCP) long connections with each speech recognition server of a plurality of speech recognition servers; receiving a speech request from a terminal; determining, in accordance with a predefined load balancing algorithm, a first speech recognition server of the plurality of speech recognition servers to process the speech request; determining whether the first speech recognition server is available for processing; in accordance with a determination that the first speech recognition server is available, forwarding the speech request to the first speech recognition server for processing; and in accordance with a determination that the first speech recognition server is not available; determining, in succession, whether other speech recognition servers of the plurality of speech recognition servers are available for processing; and in accordance with a determination that a second speech recognition server is available, forwarding the speech request to the second speech recognition server for processing. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer system, comprising:
-
one or more processors; memory; and one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs including instructions for; initializing a speech access server, including establishing one or more Transmission Control Protocol (TCP) long connections with each speech recognition server of a plurality of speech recognition servers; receiving a speech request from a terminal; determining, in accordance with a predefined load balancing algorithm, a first speech recognition server of the plurality of speech recognition servers to process the speech request; determining whether the first speech recognition server is available for processing; in accordance with a determination that the first speech recognition server is available, forwarding the speech request to the first speech recognition server for processing; and in accordance with a determination that the first speech recognition server is not available; determining, in succession, whether other speech recognition servers of the plurality of speech recognition servers, are available for processing; and in accordance with a determination that a second speech recognition server is available, forwarding the speech request to the second speech recognition server for processing. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium, storing one or more programs for execution by one or more processors of a computer system, the one or more programs including instructions for:
-
initializing a speech access server, including establishing one or more Transmission Control Protocol (TCP) long connections with each speech recognition server of a plurality of speech recognition servers; receiving a speech request from a terminal; determining, in accordance with a predefined load balancing algorithm, a first speech recognition server of the plurality of speech recognition servers to process the speech request; determining whether the first speech recognition server is available for processing; in accordance with a determination that the first speech recognition server is available, forwarding the speech request to the first speech recognition server for processing; and in accordance with a determination that the first speech recognition server is not available; determining, in succession, whether other speech recognition servers of the plurality of speech recognition servers, are available for processing; and in accordance with a determination that a second speech recognition server is available, forwarding the speech request to the second speech recognition server for processing. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification