Claims
- 1. A system for providing statistics gathering within a multimedia packet network, comprising:
at least one network processor for converting received multimedia packets into multiple length cells; a traffic manager for measuring and enforcing multimedia flow rates; a host processor for performing multimedia flow quality measurement services on a per flow basis, wherein said multimedia flow quality measurement services comprise maintaining current statistics for multimedia flows within said network processor including aggregate and minimum/maximum statistics for said multimedia flow; and at least one field programmable gate array (FPGA) for copying a received multimedia packet or a portion of said received multimedia packet, wherein said copy of said received multimedia packet, or said copy of said portion of said received multimedia packet, is utilized by said FPGA to perform said statistics gathering via use of a series of calculation engines.
- 2. The system of claim 1, wherein said converting of said received multimedia packets further comprises adding a header to said received multimedia packet, wherein said header comprises a user defined field and a flow identification field.
- 3. The system of claim 2, wherein said traffic manager utilizes said flow identification field to determined whether to transmit said received multimedia packet to said network processor or to said FPGA.
- 4. The system of claim 2, wherein said traffic manager, said FPGA, and said network processor utilize said flow identification field to identify a received multimedia packet for storage of said statistics in accordance with a specific identified multimedia flow.
- 5. The system of claim 2, wherein said received multimedia packet further comprises a real-time transport control protocol (RTCP) packet header, and wherein said statistics gathering comprises a latency calculation engine determining latency in multimedia packet transmission, said determining of latency comprising the steps of:
transmitting a test packet to an endpoint connected to said system; said endpoint comparing when said test packet is received by said endpoint to when said test packet was transmitted by said system, to determine a round trip time; and dividing said round trip time by two to determine said latency in multimedia packet transmission.
- 6. The system of claim 2, wherein said received multimedia packet further comprises a real-time transport protocol (RTP) packet header having a sequence number stored therein, and wherein said statistics gathering comprises a lost packet calculation engine providing lost packet processing, said processing comprising the steps of:
incrementing a counter if said lost packet calculation engine receives said sequence number and said sequence number is greater than a stored maximum sequence number, wherein said incrementing is by a difference between said maximum and said received sequence numbers; and decrementing said counter by one if said received sequence number is lower than said stored maximum sequence number,
wherein the value of said counter is the number of lost packets.
- 7. The system of claim 2, wherein said received multimedia packet further comprises a real-time transport control protocol (RTCP) packet header having a jitter value therein, and wherein said statistics gathering comprises an RTCP jitter engine determining RTCP jitter, said RTCP jitter engine determining RTCP jitter by parsing said RTCP packet header and removing an RTCP jitter value.
- 8. The system of claim 2, wherein said received multimedia packet is a real-time transport protocol (RTP) jitter engine and wherein said statistics gathering comprises an RTP jitter engine determining an RTP jitter value, said RTP jitter engine determining said RTP jitter value by performing the steps of:
starting a timer when a first RTP multimedia packet is received by said RTP jitter engine; stopping said timer when a second RTP multimedia packet is received by said RTP jitter engine, wherein said first and said second RTP multimedia packets are from the same RTP multimedia flow, and wherein a time gap between arrival of said first RTP multimedia packet and said second multimedia packet is referred to as an interpacket gap; and determining a deviation between two interpacket gaps to derive said RTP jitter value.
- 9. The system of claim 1, wherein said traffic manager measuring and enforcing multimedia flow rates is performed by said traffic manager enforcing predefined maximum data transmission rates by either dropping multimedia packets or marking said multimedia packets as eligible for discarding if said multimedia packets are outside of a predefined bandwidth allocated for multimedia packet flow.
- 10. The system of claim 2, wherein said header is a Vix-V3 header.
- 11. A method for providing statistics gathering within a packet network, comprising the steps of:
providing a received multimedia packet with an arrival time; determining information from said received multimedia packet to be transmitted to a series of calculation engines, wherein said calculation engines perform said statistics gathering; transmitting said determined information to said calculation engines; and gathering statistics based upon said received multimedia packet.
- 12. The method of claim 11, wherein said statistics include latency in multimedia packet transmission, lost packets, real-time packet jitter and real-time control packet jitter.
- 13. The method of claim 11, wherein said step of gathering statistics is gathering latency in multimedia packet transmission, further comprising the steps of:
transmitting a test packet to an endpoint; said endpoint comparing when said test packet is received by said endpoint to when said test packet was transmitted, thereby determining a round trip time; and dividing said round trip time by two to determine said latency in multimedia packet transmission.
- 14. The method of claim 11, wherein said step of gathering statistics is gathering real-time transport protocol (RTP) packet jitter, further comprising the steps of:
starting a timer when a first RTP multimedia packet is received by an RTP jitter engine; stopping said timer when a second RTP multimedia packet is received by said RTP jitter engine, wherein said first and said second RTP multimedia packets are from the same RTP multimedia flow, and wherein a time gap between arrival of said first RTP multimedia packet and said second multimedia packet is referred to as an interpacket gap; and determining a deviation between two interpacket gaps to derive said RTP jitter.
- 15. The method of claim 11, wherein said received multimedia packet further comprises a real-time transport control protocol (RTCP) packet header having a jitter value therein, and wherein said step of gathering statistics is gathering RTCP packet jitter, further comprising the steps of an RTCP jitter engine parsing said RTCP packet header and removing an RTCP packet jitter value.
- 16. The method of claim 11, wherein said received multimedia packet further comprises a real-time transport protocol (RTP) packet header having a sequence number stored therein, and wherein said step of gathering statistics is gathering lost packet statistics, further comprising the steps of:
incrementing a counter if a lost packet calculation engine receives said sequence number and said sequence number is greater than a stored maximum sequence number, wherein said incrementing is by a difference between said maximum and said received sequence numbers; and decrementing said counter by one if said received sequence number is lower than said stored maximum sequence number, wherein the value of said counter is the number of lost packets.
- 17. The method of claim 11, wherein said method is performed by a field programmable gate array.
- 18. A system for providing statistics gathering within a multimedia packet network, comprising:
means for providing a received multimedia packet with an arrival time; means for determining information from said received multimedia packet to be transmitted to means for performing said statistics gathering; means for transmitting said determined information to said means for performing statistics gathering; and means for gathering statistics based upon said received multimedia packet.
- 19. The system of claim 18, wherein said statistics include latency in multimedia packet transmission, lost packets, real-time packet jitter and real-time control packet jitter.
- 20. The system of claim 18, wherein said means for gathering statistics is a means for gathering latency in multimedia packet transmission, further comprising:
means for transmitting a test packet to an endpoint, said endpoint comparing when said test packet is received by said endpoint to when said test packet was transmitted, thereby determining a round trip time; and means for dividing said round trip time by two to determine said latency in multimedia packet transmission.
- 21. The system of claim 18, wherein said means for gathering statistics is a means for gathering real-time transport protocol (RTP) packet jitter, further comprising:
means for starting a timer when a first RTP multimedia packet is received by said means for gathering RTP packet jitter; means for stopping said timer when a second RTP multimedia packet is received by said means for gathering RTP packet jitter, wherein said first and said second RTP multimedia packets are from the same RTP multimedia flow, and wherein a time gap between arrival of said first RTP multimedia packet and said second multimedia packet is referred to as an interpacket gap; and means for determining a deviation between two interpacket gaps to derive said RTP packet jitter.
- 22. The system of claim 18, wherein said received multimedia packet further comprises a real-time transport control protocol (RTCP) packet header having a jitter value therein, and wherein said means for gathering statistics is a means for gathering RTCP packet jitter, said means for gathering RTCP packet jitter parsing said RTCP packet header and removing an RTCP packet jitter value.
- 23. The system of claim 18, wherein said received multimedia packet further comprises a real-time transport protocol (RTP) packet header having a sequence number stored therein, and wherein said means for gathering statistics is a means for gathering lost packet statistics, said means for gathering lost packet statistics further comprising:
means for incrementing a counter if a means for calculating lost packets receives said sequence number and said sequence number is greater than a stored maximum sequence number, wherein said incrementing is by a difference between said maximum and said received sequence numbers; and means for decrementing said counter by one if said received sequence number is lower than said stored maximum sequence number,
wherein the value of said counter is the number of lost packets.
- 24. A system for providing statistics gathering within a packet network, comprising:
a media router for guiding multimedia packets within said packet network; and a field programmable gate array (FPGA) located within said media router, for gathering said statistics.
- 25. The system of claim 24, wherein said statistics are selected from the group consisting of lost packets, jitter, and latency in multimedia packet transmission.
- 26. The system of claim 24, wherein said statistics gathering comprises the step of determining latency in multimedia packet transmission, said determining of latency comprising the steps of:
transmitting a test packet to an endpoint connected to said system; said endpoint comparing when said test packet is received by said endpoint to when said test packet was transmitted by said system, to determine a round trip time; and dividing said round trip time by two to determine said latency in multimedia packet transmission.
- 27. The system of claim 24, wherein said statistics gathering comprises the step of determining a number of lost packets, said determining of lost packets comprising the steps of:
incrementing a counter within said FPGA if said system receives a sequence number from a received multimedia packet and said sequence number is greater than a maximum sequence number stored within said FPGA, wherein said incrementing is by a difference between said maximum and said received sequence numbers; and decrementing said counter by one if said received sequence number is lower than said stored maximum sequence number,
wherein the value of said counter is the number of lost packets.
- 28. The system of claim 24, wherein said statistics gathering comprises determining real-time transport control protocol (RTCP) packet jitter from a received multimedia packet comprising an RTCP packet header by said FPGA parsing said RTCP packet header and removing an RTCP packet jitter value.
- 29. The system of claim 24, wherein statistics gathering comprises determining a real-time transport protocol (RTP) packet jitter value from a received multimedia packet, said FPGA determining said RTP packet jitter value by performing the steps of:
starting a timer within said FPGA when a first RTP multimedia packet is received by said FPGA; stopping said timer when a second RTP multimedia packet is received by said FPGA, wherein said first and said second RTP multimedia packets are from a single RTP multimedia flow, and wherein a time gap between arrival of said first RTP multimedia packet and said second multimedia packet is referred to as an interpacket gap; and said FPGA determining a deviation between two interpacket gaps to derive said RTP jitter value.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. patent application entitled “System and Method for Determining Flow Quality Statistics for Real-Time Transport Protocol Data Flows,” filed on Jul. 23, 2001, and having Ser. No. 09/911,256; U.S. Application entitled “System and Method for Providing Rapid Rerouting of Real-Time Multimedia Flows,” filed on Jul. 23, 2001, and having Ser. No. 09/911,304; U.S. patent application entitled “System and Method for Providing Encryption for Rerouting of Real-Time Multimedia Flows,” filed on Aug. 28, 2001, and having Ser. No. 09/941,229; U.S. patent application entitled “System and Method for Improving Communication Between a Switched Network and a Packet Network,” filed on Nov. 2, 2001, and having serial number (To Be Assigned); and U.S. patent application entitled “System and Method for Efficiently Determining a Destination for an Internet Protocol Packet,” filed on the same date herewith, and having attorney docket number 50115-1120, the disclosures of which are incorporated by reference herein in their entirety.