Claims
- 1. A method for providing information content over a computer network, comprising the steps of:
receiving a plurality of packets by a computer network interface device via a first network, each packet containing information of a predetermined type; determining whether any of the plurality of packets is late by the interface device; determining a maximum time to wait for the respective late packet to arrive based on the type of information content of the late packet by the interface device; monitoring a time elapsed while waiting for the respective late packet to arrive by the interface device; and in the event the elapsed time waiting for the respective late packet to arrive exceeds the maximum wait time, dropping the late packet by the interface device.
- 2. The method of claim 1 further including the step of providing at least a portion of the plurality of packets for transmission across a second network by the interface device.
- 3. The method of claim 1 wherein the first determining step includes the substeps of monitoring respective sequence numbers of the packets, sequentially sorting the packets based on the respective sequence numbers, and detecting any gaps in the packet number sequence.
- 4. The method of claim 3 further including the step of calculating a weighted energy value for at least one received packet having a sequence number immediately preceding that of the respective late packet in the packet number sequence by the interface device.
- 5. The method of claim 4 wherein the calculating step includes the substep of integrating packet data samples across the at least one received packet immediately preceding the respective late packet.
- 6. The method of claim 4 wherein the second determining step includes the substep of determining the maximum time to wait for the respective late packet based on the weighted energy value of the at least one received packet immediately preceding the respective late packet.
- 7. The method of claim 1 wherein the receiving step includes receiving the plurality of packets by the computer network interface device via the first network, each packet containing information of a predetermined type selected from the group consisting of voice, music, fax, modem, and telephony signaling.
- 8. A computer network interface device for providing information content over a computer network, comprising:
at least one memory containing program code; and at least one processor operative to execute the program code out of the memory, the program code including:
first program code for receiving a plurality of packets via a first network, each packet containing information of a predetermined type; second program code for determining whether any of the plurality of packets is late; third program code for monitoring a time elapsed while waiting for the respective late packet to arrive; fourth program code for determining a maximum time to wait for the arrival of the respective late packet based on the type of information content of the late packet; and fifth program code for dropping the late packet in the event the elapsed time waiting for the respective late packet to arrive exceeds the maximum time to wait for the respective late packet's arrival.
- 9. The computer network interface device of claim 8 wherein the program code contained in the memory further includes sixth program code for providing at least a portion of the plurality of packets for transmission across a second network.
- 10. The computer network interface device of claim 8 wherein the second program code is configured to determine whether any of the plurality of packets is late by monitoring respective sequence numbers of the packets, sequentially sorting the packets based on the respective sequence numbers, and detecting any gaps in the packet number sequence.
- 11. The computer network interface device of claim 10 wherein the program code contained in the memory further includes seventh program code for calculating a weighted energy value for at least one received packet having a sequence number immediately preceding that of the respective late packet in the packet number sequence.
- 12. The computer network interface device of claim 11 wherein the seventh program code is configured to calculate the weighted energy value by integrating packet data samples across the at least one received packet immediately preceding the respective late packet.
- 13. The computer network interface device of claim 11 wherein the fourth program code is further configured to determine the maximum time to wait for the respective late packet based on the weighted energy value of the at least one received packet immediately preceding the respective late packet.
- 14. The computer network interface device of claim 8 wherein the first network comprises a packet switched network.
- 15. The computer network interface device of claim 9 wherein the second network comprises a synchronous circuit switched network.
- 16. The computer network interface device of claim 8 wherein the type of information content is selected from the group consisting of voice, music, fax, modem, and telephony signaling.
- 17. The computer network interface device of claim 8 wherein the maximum time to wait for the respective late packet ranges from about 0 to 200 msecs.
- 18. The computer network interface device of claim 8 wherein the predetermined type of information content is selected from the group consisting of voice, music, fax, modem, and telephony signaling.
- 19. A computer network interface device for providing information content over a computer network, comprising:
an adaptive buffer configured to receive a plurality of packets via a first network and determine whether any of the plurality of packets is late, each packet containing information of a predetermined type; a decoder configured to receive the plurality of packets from the adaptive buffer, decode the packets, and provide the packets for transmission across a second network; and a packet-weighting/threshold-monitoring device configured to monitor a time elapsed while waiting for a respective late packet to arrive, wherein the adaptive buffer is further configured to determine a maximum time to wait for the arrival of the respective late packet based on the type of information content of the late packet, and drop the late packet in the event the elapsed time waiting for the respective late packet to arrive exceeds the maximum time to wait for the respective late packet's arrival.
- 20. The computer network interface device of claim 19 wherein the adaptive buffer is configured to determine whether any of the plurality of packets is late by monitoring respective sequence numbers of the packets, sequentially sorting the packets based on the respective sequence numbers, and detecting any gaps in the packet number sequence.
- 21. The computer network interface device of claim 19 wherein the packet-weighting/threshold-monitoring device is further configured to calculate a weighted energy value for at least one received packet having a sequence number immediately preceding that of the respective late packet in the packet number sequence.
- 22. The computer network interface device of claim 21 wherein the packet-weighting/threshold-monitoring device is configured to calculate the weighted energy value by integrating packet data samples across the at least one received packet immediately preceding the respective late packet.
- 23. The computer network interface device of claim 21 wherein the adaptive buffer is further configured to determine the maximum time to wait for the respective late packet based on the weighted energy value of the at least one received packet immediately preceding the respective late packet.
- 24. The computer network interface device of claim 19 wherein the first network comprises a packet switched network.
- 25. The computer network interface device of claim 19 wherein the second network comprises a synchronous circuit switched network.
- 26. The computer network interface device of claim 19 wherein the type of information content is selected from the group consisting of voice, music, fax, modem, and telephony signaling.
- 27. The computer network interface device of claim 19 wherein the maximum time to wait for the respective late packet ranges from about 0 to 200 msecs.
- 28. A system for providing information content over a computer network, comprising:
a first network; a second network; and a computer network interface device interposed between the first and second networks, wherein the computer network interface device is configured to receive a plurality of packets via the first network and provide at least a portion of the plurality of packets for transmission across the second network, and wherein the computer network interface device is further configured to wait a predetermined time for at least one late packet to arrive via the first network, the predetermined wait time being based on a type of information content of the late packet.
- 29. The system of claim 28 wherein the first network comprises a packet switched network and the second network comprises a circuit switched network.
- 30. The system of claim 28 wherein the computer network interface device comprises a gateway device.
- 31. The system of claim 28 wherein the computer network interface device comprises an endpoint device.
- 32. The system of claim 28 wherein the type of information content of the late packet is voice and the predetermined wait time is further based on whether the late packet is likely to contain active speech or silence.
- 33. The system of claim 28 wherein the type of information content of the late packet is fax and the predetermined wait time is fixed.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority of U.S. Provisional Patent Application No. 60/270,571 filed Feb. 22, 2001 entitled MINIMIZING LATENCY WITH CONTENT-BASED ADAPTIVE BUFFERING.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60270571 |
Feb 2001 |
US |