Packet-switched protocols allow information to be communicated between elements in a network within datagrams, or units of information. The datagrams could, for example, take the form of Internet Protocol (IP) packets, Asynchronous Transfer Mode (ATM) cells, or Frame Relay packets. The information being transported across the network is typically divided into multiple datagrams, and each datagram is communicated over the network. The network element receiving the datagrams removes the information from the datagrams and reassembles the information.
In a similar manner, packet-switched protocols may be used to transport voice or other analog information across a network. To transport voice information, a voice signal may be sampled, where digital values representing the voice signal are generated. The resulting digital values are placed into datagrams, and the datagrams are communicated across the network. A network element receives the datagrams and reassembles the digital information. The network element may then reconvert the digital information back into an analog signal, or the network element may process and deliver the digital signal to an interface device.
A modem is typically used to communicate datagrams containing voice or other information across the network. The modem often may be coupled to multiple communication devices, such as telephones, facsimile machines, and answering machines. A problem with prior communication systems is that the use of multiple communication devices often causes delays in the transmission of information across the network. When multiple communication devices are in use, datagrams may be generated for each of the communication devices. The datagrams of multiple devices may be generated and become ready for transmission at the same time.
To communicate the datagrams across the network, the modem typically places at least some of the datagrams in a queue. The datagrams placed in the queue are not communicated across the network until some time has elapsed. This increases latency in the system by delaying the communication of the datagrams across the network. Also, multiple datagrams are usually generated for each communication device, and each datagram may be placed in a queue before transmission. This also increases latency in the system because multiple datagrams for each communication device may be delayed.
The increased latency in the system may adversely affect applications in the system, such as interfering with the communication of voice information across a network. For example, during a telephone conversation, the latency of the system slows the communication of datagrams containing voice information. The system takes a longer amount of time to communicate the datagrams from one end of the conversation to the other end of the conversation. As a result, the people engaging in the conversation may have difficulty speaking to one another because of this delay in the system. For example, the people may start speaking at the same time and over one another, making it difficult for each person to understand what the other is saying.