Message durability and retrieval in a geographically distributed voice messaging system
First Claim
1. A message retrieval subsystem that provides streaming audio in a distributed voice messaging system, the subsystem comprising:
- a voice extensible mark-up language browser having an application programming interface;
a message server communicatively coupled to the application programming interface, the message server configured to receive a request to open a connection from a client process operative on the voice extensible mark-up language browser, spawn a thread to enable the connection, use the thread to queue one or more subscriber requests for respective blocks of audio information, remove the one or more subscriber requests from the queue, process the one or more subscriber requests, and use the thread to forward a retrieved block of audio information to a subscriber; and
a message library comprising an upper library and a lower library, wherein the upper library is communicatively coupled to the message server, interposed between the message server and the lower library, and isolates the voice extensible mark-up language browser from a streaming protocol used to access a stored message.
6 Assignments
0 Petitions
Accused Products
Abstract
A message retrieval subsystem comprises a voice extensible mark-up language browser, a message server, and a message library. The VXML browser is configured with an application programming interface that enables a subscriber of a distributed voice messaging service to request a stored message. The message server receives a request to open a connection from a client process operative on the voice extensible mark-up language browser, spawns a thread to enable the connection, uses the thread to queue one or more subscriber requests for respective blocks of audio information, removes and processes the one or more subscriber requests, and uses the thread to forward a retrieved block of audio information to a subscriber. The message library is coupled to the message server and interposed between the message server and a common message store. The upper library isolates the VXML browser from a streaming protocol used to access the stored message.
25 Citations
20 Claims
-
1. A message retrieval subsystem that provides streaming audio in a distributed voice messaging system, the subsystem comprising:
-
a voice extensible mark-up language browser having an application programming interface;
a message server communicatively coupled to the application programming interface, the message server configured to receive a request to open a connection from a client process operative on the voice extensible mark-up language browser, spawn a thread to enable the connection, use the thread to queue one or more subscriber requests for respective blocks of audio information, remove the one or more subscriber requests from the queue, process the one or more subscriber requests, and use the thread to forward a retrieved block of audio information to a subscriber; and
a message library comprising an upper library and a lower library, wherein the upper library is communicatively coupled to the message server, interposed between the message server and the lower library, and isolates the voice extensible mark-up language browser from a streaming protocol used to access a stored message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for providing streaming audio information in a distributed voice messaging system, the method comprising:
-
providing a voice extensible mark-up language browser on a media server;
providing a message server on a document server communicatively coupled to the media server and a common message store configured with message information;
receiving a request to open a connection between the voice extensible mark-up language browser and the message server;
spawning a connection thread for processing a subsequent request for message information stored in the common message store;
receiving the subsequent request for message information;
using the connection thread to queue the subsequent request;
using a worker thread to remove and process the subsequent request; and
using the connection thread to forward a response to the voice extensible mark-up language browser. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification