Transmission of voice over an asynchronous network
First Claim
1. An apparatus for transmitting isochronous information over an asynchronous network, comprising:
- a memory for receiving a plurality of isochronous data words for a plurality of isochronous channels, each said isochronous data word being associated with a predetermined isochronous channel, said isochronous data words for a said isochronous channel being generated at a sampling rate predetermined for that channel, each said isochronous channel having a predetermined maximum acceptable delay time;
an aggregator for receiving selected ones of said isochronous data words of said plurality of isochronous data words from said memory and aggregating said selected ones of said isochronous data words to provide an aggregation of selected isochronous data words for selected isochronous channels;
a controller for, at a rate determined by the least said predetermined maximum delay time, repeatedly selecting channels of said plurality of isochronous channels, selecting said selected ones of said isochronous data words of said plurality of isochronous data words for each selected isochronous channel, said number of data words for a selected channel having a maximum determined by said sampling rate and said maximum acceptable delay time for that selected channel, causing said aggregator to receive and aggregate, and sending an instruction to assemble a data transmission packet;
a multiplexer responsive to said instruction for assembling a said data transmission packet from each said aggregation; and
a transmitter for transmitting each said data transmission packet over said asynchronous network.
21 Assignments
0 Petitions
Accused Products
Abstract
An SCSA RX/TX memory (220) receives voice data and stores voice data samples under established voice channel identifiers. A controller (240) selects voice channels, and their associated voice data, for inclusion in an ATM cell. The memory (220) sends the voice channel identifier and the voice data for the selected channels to a Constant Bit Rate Segmentation And Reassembly (CBR SAR) circuit (225). The CBR SAR aggregates the voice data into an appropriate number of ATM cell slots for each of those voice channels. The CBR SAR 225 sends the aggregated information to a Multiplexer/Duplicator Circuit (MUX/DUP) (230) which assembles the ATM cell, and sends the completed ATM cell to an ATM transceiver (265) for transmission. When there is no voice data to be sent information data from an Available Bit Rate (ABR) SAR (260) is assembled to form an ATM cell to be sent by the ATM transceiver. The MUX/DUP also receives an ATM cell from the ATM transceiver, duplicates the ATM cell, sends one copy of the ATM cell to the CBR SAR, and one copy of the ATM cell to the ABR SAR. The SARs disassemble the ATM cell, verify the channel identifiers, and route any valid channel identifiers and associated data to their respective memories. The SCSA memory attaches a channel identifier number to each voice data sample and sends the combination to the SCSA interface, which then places the combination on the SCSA port (210). A host device causes the information data to be read from the DATA memory via PCI ports (245) via a DMA operation.
-
Citations
9 Claims
-
1. An apparatus for transmitting isochronous information over an asynchronous network, comprising:
-
a memory for receiving a plurality of isochronous data words for a plurality of isochronous channels, each said isochronous data word being associated with a predetermined isochronous channel, said isochronous data words for a said isochronous channel being generated at a sampling rate predetermined for that channel, each said isochronous channel having a predetermined maximum acceptable delay time; an aggregator for receiving selected ones of said isochronous data words of said plurality of isochronous data words from said memory and aggregating said selected ones of said isochronous data words to provide an aggregation of selected isochronous data words for selected isochronous channels; a controller for, at a rate determined by the least said predetermined maximum delay time, repeatedly selecting channels of said plurality of isochronous channels, selecting said selected ones of said isochronous data words of said plurality of isochronous data words for each selected isochronous channel, said number of data words for a selected channel having a maximum determined by said sampling rate and said maximum acceptable delay time for that selected channel, causing said aggregator to receive and aggregate, and sending an instruction to assemble a data transmission packet; a multiplexer responsive to said instruction for assembling a said data transmission packet from each said aggregation; and a transmitter for transmitting each said data transmission packet over said asynchronous network. - View Dependent Claims (6)
-
-
2. An apparatus for receiving isochronous information over an asynchronous network, comprising:
-
a receiver for receiving a transmission cell transmitted over an asynchronous network; a duplicator for duplicating said received transmission cell to provide two received cells; a first circuit for receiving one of said received cells, for determining whether said received cell has an identifier recognized by said first circuit, for discarding said received cell if said identifier is not recognized, and for forwarding at least selected portions of said received cell if said identifier is recognized; a first interface for receiving said selected portions from said first circuit and for sending said selected portions as isochronous data words for a plurality of isochronous data channels; a second circuit for receiving the other of said received cells, determining whether said received cell has an identifier recognized by said second circuit, for discarding said received cell if said identifier is not recognized, and for forwarding at least selected portions of said received cell if said identifier is recognized; and a second interface for receiving said selected portions from said second circuit and for sending said selected portions as non-isochronous data words for at least one data channel.
-
-
3. A method for transmitting isochronous information over an asynchronous network, comprising the steps of:
-
receiving a plurality of isochronous data words for a plurality of isochronous channel, each said isochronous data word being associated with a predetermined isochronous channel said isochronous data words for a said isochronous channel being generated at a sampling rate predetermined for that channel, each said isochronous channel having a predetermined maximum acceptable delay time; at a rate determined by the least said predetermined maximum delay time, repeatedly, selecting channels of said plurality of isochronous channels; selecting ones of said isochronous data words of said plurality of isochronous data words for each selected channel the number of data words for a selected channel having a maximum determined by said sampling rate and said maximum acceptable delay time for that selected channel; aggregating said selected ones of said isochronous data words to provide an aggregation of selected isochronous data words for selected isochronous channels; assembling a said data transmission packet from each said aggregation; and transmitting each said data transmission packet over said asynchronous network. - View Dependent Claims (7, 8, 9)
-
-
4. A method for receiving isochronous information over an asynchronous network, comprising the steps of:
-
receiving a transmission cell transmitted over said asynchronous network; duplicating said received transmission cell to provide two received cells; determining whether one of said received cells has an identifier matching a first valid identifier, discarding said received cell if said identifier does not match, and forwarding at least selected portions of said received cell if said identifier does match; sending said selected portions of said received cell as isochronous data words for a plurality of channels; determining whether the other one of said received cells has an identifier matching a second valid identifier, discarding said received cell if said identifier does not match, and forwarding at least selected portions of said received cell if said identifier does match; and sending said selected portions of said other received cell as non-isochronous data words for a data channel.
-
-
5. A method for receiving isochronous information over an asynchronous network, comprising the steps of:
-
receiving a transmission cell transmitted over said asynchronous network; determining whether channel identification information has been previously provided; if said channel identification information has not been previously provided then; duplicating said received transmission cell to provide two received cells; determining whether one of said received cells has an identifier matching a first valid identifier, discarding said received cell if said identifier does not match, and forwarding at least selected portions of said received cell if said identifier does match; sending said selected portions of said received cell as isochronous data words for a plurality of channels; determining whether the other one of said received cells has an identifier matching a second valid identifier, discarding said received cell if said identifier does not match, and forwarding at least selected portions of said received cell if said identifier does match; and sending said selected portions of said other received cell as non-isochronous data words for a data channel; if said channel identification information has been previously provided then sending said received cell to a device identified by an identifier in said received cell.
-
Specification