Method and device for filtering media packets
View Patent ↗A method including: receiving, at a video conferencing device, a packet of a video conferencing media stream, the video conferencing device including a processor; determining, by the video conferencing device, whether a length of the packet is sufficiently long to contain media; sending a request to a Look-up Table memory using the media stream ID as an input value while in parallel determining, with the processor, whether the packet is a valid media packet; in response to receiving a destination address in a media processing network from the Look-up Table memory and determining that the packet is a valid media packet, modifying, by the video conferencing device, a header of the packet with the destination address received from the Look-up Table memory; and transmitting, by the video conferencing device, the packet to the modified destination address.
1. A method comprising:
receiving, at a video conferencing device, a packet of a video conferencing media stream, the video conferencing device including a processor;
determining, by the video conferencing device, whether a protocol of the packet is supported by the processor;
determining, by the video conferencing device, a media stream ID for the packet, the media stream ID of the packet being located by reading a field in the packet at an offset from a header defined by a protocol of the packet;
determining, by the video conferencing device, whether the packet includes media based on a length of the packet;
sending a request to a Look-up Table memory using the media stream ID as an input value and in parallel with the sending of the request to the Look-up Table memory, determining, by the processor, whether the packet is a valid media packet;
in response to receiving a destination address in a media processing network from the Look-up Table memory and determining that the packet is a valid media packet, modifying, by the video conferencing device, the header of the packet with the destination address received from the Look-up Table memory; and
transmitting, by the video conferencing device, the packet to the modified destination address.
2. The method according to claim 1 , wherein in the method further comprises:
when determining that the packet is a valid media packet and not receiving a destination address in the media processing network from the Look-up Table memory, routing the packet to a full network stack included in the video conferencing device;
resolving a destination address for the packet in a media processing network;
routing the packet to the destination address in the media processing network; and
updating the Look-up Table memory with the destination address in the media processing network using a corresponding media stream ID of the packet as an index value.
3. The method according to claim 1 , wherein when a length of the packet indicates that the packet does not contain media data, routing the packet to a full network stack.
4. The method according to claim 1 , wherein when the protocol of the packet is not supported by the processor, routing the packet to a full network stack.
5. The method according to claim 1 , further comprising:
in response to the packet being determined to not be a valid media packet, routing the packet to a full network stack.
6. A video conferencing device comprising:
a tri-FIFO configured to receive a packet of a video conferencing media stream;
a Look-UP Table memory; and
a processor configured to
determine whether the packet includes media based a length of the packet,
determine whether a protocol of the packet is supported by the processor,
determine a media stream ID for the packet, the media stream ID of the packet being located by reading a field in the packet at an offset from a header defined by a protocol of the packet,
send a request to the Look-up Table memory using the media stream ID as an input value and to determine, in parallel with the sending of the request to the Look-up Table memory, whether the packet is a valid media packet,
wherein, in response to receiving a destination address in a media processing network from the Look-up Table memory and determining that the packet is a valid media packet, the processor is configured to modify a header of the packet with the destination address received from the Look-up Table memory, and
the tri-FIFO is further configured to transmit the packet to the modified destination address.
7. The video conferencing device according to claim 6 , wherein the Look-up Table memory and the processor are implemented on one semiconductor device.
8. The video conferencing device according to claim 6 , wherein the tri-FIFO, the Look-up Table memory and the processor are implemented on one semiconductor device.
9. The video conferencing device according to claim 7 , wherein the semiconductor device is a Field Programmable Gate Array (FPGA).
10. The video conferencing device according to claim 9 , wherein the semiconductor device is a Field Programmable Gate Array (FPGA).
11. The video conferencing device according to claim 6 , wherein the tri-FIFO comprises at least three data packet buffers.
12. The video conferencing device according to claim 6 , wherein the tri-FIFO comprises four data packet buffers.
13. A non-transitory computer readable storage medium encoded with instructions, which when executed by a computer causes the computer to implement a method comprising:
receiving a packet of a video conferencing media stream, the video conferencing device including a processor;
determining whether the packet includes media based on a length of the packet;
determining, whether a protocol of the packet is supported by the processor;
determining a media stream ID for the packet the media stream ID of the packet being located by reading a field in the packet at an offset from a header defined by a protocol of the packet;
sending a request to a Look-up Table memory using the media stream ID as an input value, and determining in parallel with the sending of the request to the Look-up Table and with the processor, whether the packet is a valid media packet;
in response to receiving a destination address in a media processing network from the Look-up Table memory and determining that the packet is a valid media packet, modifying a header of the packet with the destination address received from the Look-up Table memory; and
transmitting the packet to the modified destination address.