Claims
- 1. A method of processing packets of a plurality of real-time media streams at a network node, the media streams being characterized by respective packet rates that are substantially equal to a nominal packet rate and by respective packet arrival times that are generally non-deterministic, each stream being processed in processing units equal to a predetermined number of sequential packets of the stream, the inverse of the nominal rate of processing units of the media streams being referred to as a frame interval, the method comprising:
assigning the packets of the respective media streams to corresponding digital signal processors (DSPs) at the network node, each DSP having sufficient processing capacity to process the packets of up to a predetermined maximum number of the media streams within real-time constraints, the number of media streams assigned to each DSP being less than the predetermined maximum number and no greater than the quotient of a predetermined desired maximum processing latency less than the frame interval and the DSP processing latency for a singleprocessing unit; buffering the packets of each media stream for sequential processing of the processing units by the respective DSP; and in each DSP, continually processing by processing unit the buffered packets of the media streams assigned to the DSP.
- 2. A method according to claim 1, wherein the predetermined number of packets in each processing unit is one.
- 3. A method according to claim 1, wherein the predetermined number of packets in each processing unit is an integer greater than one.
- 4. A method according to claim 1, wherein the media streams are first media streams, and further comprising:
assigning the packets of respective second media streams to corresponding ones of the DSPs, the second media streams being characterized by respective packet rates that are substantially equal to the nominal packet rate and by respective packet arrival times at the network node that are generally non-deterministic among themselves but generally deterministic with respect to the packet arrival times of the packets of the first media streams, wherein each second stream is also processed in processing units equal to the predetermined number of sequential packets of the stream, the number of second media streams assigned to each DSP being less than the difference between the predetermined maximum number and the number of first media streams assigned to the DSP and no greater than the quotient of the predetermined desired maximum processing latency and the DSP processing latency for a single processing unit; buffering the packets of each second media stream for sequential processing of the processing units by the respective DSP; and in each DSP, continually processing by processing unit the buffered packets of the second media streams assigned to the DSP along with the buffered packets of the first media streams assigned to the DSP.
- 5. A method according to claim 1, wherein the media streams are encoded telephony media streams.
- 6. A method according to claim 1, wherein the media streams are telephony media streams encoded according to a first encoding scheme, and wherein the processing performed by the DSP comprises transcoding each media stream into a corresponding media stream encoded according to a second encoding scheme different from the first encoding scheme.
- 7. A method according to claim 1, further comprising:
monitoring the performance of a first stream being processed by a given one of the DSPs and identifying a second stream being processed by the same DSP that is interfering with the performance of the monitored stream; and upon determining that the performance of the first stream has diminished to an unacceptable level, re-assigning the second stream to another of the DSPs.
- 8. A method according to claim 1, further comprising:
monitoring the processing of streams by a first one of the DSPs with respect to the arrival of times of packets of a separate stream being processed by a second one of the DSPs to determine whether the first DSP is capable of processing the packets of the separate stream in addition to processing the packets of streams already assigned to the first DSP; and upon determining that the first DSP is so capable, re-assigning the separate stream to the first DSP.
- 9. A media processor, comprising:
a plurality of digital signal processors (DSPs), each DSP having sufficient processing capacity to process the packets of up to a predetermined maximum number of media streams within real-time constraints, each DSP being operative to (1) buffer the packets of media streams assigned to the DSP for sequential processing of processing units of the streams within the DSP, each processing unit equaling a predetermined number of sequential packets of the stream, and (2) continually process by processing unit the buffered packets of the media streams assigned to the DSP; and a DSP controller operative to assign respective ones of a plurality of media streams to corresponding ones of the DSPs, the media streams being characterized by respective packet rates that are substantially equal to a nominal packet rate and by respective packet arrival times at the media processor that are generally non-deterministic, the inverse of the nominal rate of processing units of the media streams being referred to as a frame interval, the number of media streams assigned to each DSP being less than the predetermined maximum number and no greater than the quotient of a predetermined desired maximum processing latency less than the frame interval and the DSP processing latency for a singleprocessing unit.
- 10. A media processor according to claim 9, wherein the predetermined number of packets in each processing unit is one.
- 11. A media processor according to claim 9, wherein the predetermined number of packets in each processing unit is an integer greater than one.
- 12. A media processor according to claim 9, wherein (1) the media streams are first media streams, (2) the DSP controller is further operative to assign the packets of respective second media streams to corresponding ones of the DSPs, the second media streams being characterized by respective packet rates that are substantially equal to the nominal packet rate and by respective packet arrival times at the network node that are generally non-deterministic among themselves but are generally deterministic with respect to the packet arrival times of the packets of the first media streams, wherein each second stream is also processed in processing units equal to the predetermined number of sequential packets of the stream, the number of second media streams assigned to each DSP being less than the difference between the predetermined maximum number and the number of first media streams assigned to the DSP and no greater than the quotient of the predetermined desired maximum processing latency and the DSP processing latency for a singleprocessing unit, and (3) each DSP is further operative (i) to buffer the packets of each second media stream for sequential processing of the processing units of the streams within the DSP, and (ii) to continually process by processing unit the buffered packets of the second media streams assigned to the DSP along with the buffered packets of the first media streams assigned to the DSP.
- 13. A media processor according to claim 9, wherein the media streams are encoded telephony media streams.
- 14. A media processor according to claim 9, wherein the media streams are telephony media streams encoded according to a first encoding scheme, and wherein the processing performed by the DSP comprises transcoding each media stream into a corresponding media stream encoded according to a second encoding scheme different from the first encoding scheme.
- 15. A media processor according to claim 9, wherein the DSP controller is further operative to:
monitor the performance of a first stream being processed by a given one of the DSPs and identifying a second stream being processed by the same DSP that is interfering with the performance of the monitored stream; and upon determining that the performance of the first stream has diminished to an unacceptable level, re-assign the second stream to another of the DSPs.
- 16. A media processor according to claim 9, wherein the DSP controller is further operative to:
monitor the processing of streams by a first one of the DSPs with respect to the arrival of times of packets of a separate stream being processed by a second one of the DSPs to determine whether the first DSP is capable of processing the packets of the separate stream in addition to processing the packets of streams already assigned to the first DSP; and upon determining that the first DSP is so capable, re-assign the separate stream to the first DSP.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 60/303,574 filed Jul. 6, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60303574 |
Jul 2001 |
US |