You have chosen to sponsor your bid up to a maximum amount of .
Using http, get blocks of digitized sound from a client application. Then forward the blocks to a voice recognition engine (using xml/http). Finally return a recognized text back to the client (json).
1) Blocks may come in wrong order, but they should be posted to the recognition engine in their original order (blocks have serial numbers).
2) The recognition engine has limited capacity, it can only process a fixed number of sessions simultaneously. If there are more customers than engines available, the extra requests should be posted in a queue. When an engine gets free, the next queued request is forwarded to it.
3) Recognition takes some time. The text is returned in fragments. Any fragment should be returned to the customer when next request is received. Also it should be possible for a client to keep session active even after voice stream finished by sending empty requests to wait till all result text is returned by the engine.
A client may disappear, then timeouts apply. Blocks of sound should be saved to disk. Dates/times, text and some other data should be saved to an Oracle database.