IP Library Granted Patent US 8,855,120
Granted Patent B2
US 8,855,120 · App. 12/974,997 · Granted Oct 7, 2014

Method and device for filtering media packets

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,855,120
App. No.
12/974,997
Granted
Oct 7, 2014
Kind
B2
Abstract

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.

Claims (41)

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.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Dec 1, 2011
From: TANDBERG TELECOM AS; CISCO SYSTEMS INTERNATIONAL SARL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 027307/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2011
From: ROBBINS, SIMON
To: TANDBERG TELECOM AS
Reel/Frame 025888/0890 →