IP Library Granted Patent US 7,236,926
Granted Patent B2
US 7,236,926 · App. 10/624,721 · Granted Jun 26, 2007

System and method for voice transmission over network protocols

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,236,926
App. No.
10/624,721
Granted
Jun 26, 2007
Kind
B2
Abstract

A system and method for voice transmission over high level network protocols. On the Internet and the World Wide Web, such high level protocols are HTTP/TCP. The restrictions imposed by firewalls and proxy servers are avoided by using HTTP level connections to transmit voice data. In addition, packet delivery guarantees are obtained by using TCP instead of UDP. Variable compression based on silence detection takes advantage of the natural silences and pauses in human speech, thus reducing the delays in transmission caused by using HTTP/TCP. The silence detection includes the ability to bookend the voice data sent with small portions of silence to insure that the voice sounds natural. Finally, the voice data is transmitted to each client computer, independently from a common circular list of voice data, thus insuring that all clients will stay current with the most recent voice data. The combination of these features enables simple, seamless, and interactive Internet conferencing.

Claims (34)

1. A method for transmitting audio data, the method comprising:

inputting audio data into a presenting computer;

monitoring the audio data to distinguish between periods of sound and periods of silence;

storing the audio data associated with the periods of sound in a frame buffer having a predetermined size and whenever a period of silence is detected or the frame buffer is full, creating a voice buffer from the frame buffer;

transmitting the voice buffer to at least one client computer coupled to the presenting computer.

2. The method of claim 1 , wherein said creating is accomplished by compressing the contents of the frame buffer.

3. A system for transmitting audio data comprising:

a data store on a presenting computer for storing audio data;

a recorder coupled to the data store, said recorder configured to monitor said data store to distinguish between periods of sound and periods of silence;

wherein said recorder stores audio data associated with periods of sound in a frame buffer having a predetermined size and when said recorder detects a period of silence or when the frame buffer is full, said recorder compresses the frame buffer to create a voice buffer of a predetermined size and transmits said voice buffer to at least one client computer coupled to the presenting computer.

4. A system of claim 3 , further comprising:

a data structure on said data store, wherein said recorder stores one or more voice buffers; and

a voice position pointer resident on said data store, which points to a location in said data structure in which to store a next voice buffer of said one or more voice buffers.

5. The system of claim 4 , wherein the recorder includes one or more separate listening threads, one for each of said client computers, and each of the listening threads transmits to an associated one of said client computers, the system further comprising:

one or more separate listening position pointers, resident on said data store, one for each of said separate listening threads, wherein said listening pointer indicates which of said one or more voice buffers is to be transmitted to said associated client computer.

6. A method of transmitting audio data as part of a collaborative web browsing session comprising:

inputting audio data into a presenting computer;

monitoring the audio data to distinguish between periods of sound and periods of silence;

storing the audio data associated with the periods of sound in a frame buffer having a predetermined size and whenever a period of silence is detected or the frame buffer is full, creating a voice buffer from the frame buffer;

transmitting the voice buffer to at least one client computer coupled to the presenting computer.

7. The method of claim 6 , further comprising creating a voice buffer from the frame buffer before said transmitting step.

8. The method claim 7 , wherein said creating step is accomplised by compressing the contents of the frame buffer.

9. A computer program product comprising a computer useable medium having a computer program instructions stored therein for enabling the transmission of audio data, wherein said computer program product comprises instructions for:

receiving audio data at a presenting computer;

monitoring the received audio data to distinguish between periods of sound and periods of silence;

storing the audio data associated with the periods of sound in a frame buffer having a predetermined size and whenever a period of silence is detected or the frame buffer is full, creating a voice buffer from the frame buffer;

transmitting the voice buffer to at least one client computer coupled to the presenting computer.

10. The computer program product of claim 9 , further comprising instructions for:

storing the incoming audio data in a frame buffer if the audio data exceeds a threshold, and

creating a voice buffer from the frame buffer when the incoming audio data falls below the thresold or the frame buffer is full.

11. The computer program product of claim 10 , further comprising instructions for independently transmitting the voice buffers stored in the data structure to each of the client computers.

12. The computer program product of claim 11 , wherein said transmitting program instructions utilize and open HTTP connection to each of the client computers.

13. The computer program product of claim 11 , further comprising instructions for compressing the frame buffer received by the server before storing them in the data structure.

14. The computer program product of claim 11 , further comprising program instructions for compressing the frame buffer is said creating program instructions.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Dec 20, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS SUCCESSOR TO WACHOVIA BANK, NATIONAL ASSOCIATION
To: INTERCALL, INC.; INTRADO INC.; WEST CORPORATION; WEST DIRECT, LLC; WEST NOTIFICATIONS GROUP, INC.
Reel/Frame 062201/0960 →
RELEASE OF SECURITY INTEREST Recorded Dec 20, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS SUCCESSOR TO WACHOVIA BANK, NATIONAL ASSOCIATION
To: WEST CORPORATION; COSMOSIS CORPORATION; INTERCALL, INC.; INTRADO COMMUNICATIONS INC.; INTRADO COMMUNICATIONS OF VIRGINIA INC.; INTRADO INC.; INTRADO INFORMATION SYSTEM HOLDINGS, INC.; INTRADO COMMAND SYSTEMS, INC.; GEO911, INC.; POSITRON PUBLIC SAFETY SYSTEMS CORP.; MASYS CORPORATION; TELEVOX SOFTWARE, INCORPORATED; WEST ASSET MANAGEMENT, INC.; WEST DIRECT II, INC.; WEST INTERACTIVE CORPORATION; WEST INTERNATIONAL CORPORATION; NORTHERN CONTACT, INC.; WEST NOTIFICATIONS GROUP, INC.; WEST RECEIVABLE SERVICES, INC.; WEST BUSINESS SERVICES, LLC; WEST DIRECT, LLC; WEST FACILITIES, LLC; WEST AT HOME, LLC; WEST CUSTOMER MANAGEMENT GROUP, LLC; ASSET DIRECT MORTGAGE, LLC; INTERCALL TELECOM VENTURES, LLC; BUYDEBTCO, LLC; THE DEBT DEPOT, LLC; WEST ASSET PURCHASING, LLC; INTRADO INTERNATIONAL, LLC; STARGATE MANAGEMENT LLC
Reel/Frame 062249/0385 →
SECURITY AGREEMENT Recorded Apr 16, 2010
From: INTERCALL, INC.; INTRADO, INC.; WEST CORPORATION; WEST DIRECT, LLC; WEST NOTIFICATIONS GROUP, INC.
To: WACHOVIA BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 024244/0216 →