IP Library Granted Patent US 7,142,509
Granted Patent B1
US 7,142,509 · App. 09/951,169 · Granted Nov 28, 2006

Method and apparatus providing for delivery of streaming media

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 7,142,509
App. No.
09/951,169
Granted
Nov 28, 2006
Kind
B1
Abstract

A network switch receives a data packet, recognizes the data packet as belonging to a given stream, and directs the data packet to a stream processing module in the network switch in response to recognizing the stream to which the packet belongs. The stream processing module further recognizes the source of the stream from which the packet was transmitted, and stores the data packet in a buffer for later transmission, as controlled by the stream processing module, to a destination for the stream. In this way, the stream may be replicated and transmitted by the stream processing module any number of times to multiple destinations in an efficient, cost-effective manner.

Claims (49)

1. In a network switch having a switching fabric that forwards data packets, a method comprising:

receiving a data packet at an input port of the network switch;

recognizing the data packet as belonging to a stream;

directing the data packet to a stream processing module separate from the switching fabric in response to identifying the packet as belonging to a stream;

identifying at the stream processing module the data packet as being received from a source of the stream; and

storing in a stream buffer, in response to identifying the data packet as being received from a source of the stream, the data packet to replicate the stream for transmission to a destination for the stream via an output port of the network switch.

2. The method of claim 1 , wherein the data packet is a first data packet and the stream is a first stream, and further comprising:

receiving a second data packet at an input port of the network switch;

identifying the second packet as belonging to a stream;

directing the second data packet to the stream processing module;

identifying at the stream processing module the second data packet as being received from a destination for the first stream, the second data packet comprising a request from the destination for the first stream to receive the first stream; and

transmitting the first data packet from the buffer to the destination for the first stream in response to the request from the destination for the first stream.

3. The method of claim 1 , further comprising:

transmitting the data packet from the buffer to the destination for the stream.

4. The method of claim 1 , wherein identifying the data packet as belonging to a stream comprises inspecting a destination address in the data packet and matching the destination address to an address associated with the stream processing module in the network switch.

5. The method of claim 4 , wherein the destination address is a destination hardware address and the address associated with the stream processing module is a hardware address.

6. The method of claim 5 , wherein the destination hardware address is an IEEE 802.3 Collision Sense Multiple Access with Collision Detection (CSMA/CD) Media Access Control (MAC) address and the hardware address associated with the stream processing module is an IEEE 802.3 CSMA/CD MAC address.

7. The method of claim 5 , wherein inspecting a destination address in the data packet and matching the destination address to an address associated with the stream processing module comprises inspecting a destination Media Access Control (MAC) address in the data packet and matching the destination MAC address to a MAC address associated with the stream processing module.

8. The method of claim 6 , wherein the destination MAC address in the data packet is a unicast destination MAC address.

9. The method of claim 1 , wherein identifying the data packet as belonging to a stream comprises inspecting a destination address in the data packet and matching the destination address with an address associated with the stream.

10. The method of claim 9 , wherein the destination address in the data packet and the address associated with the stream each comprises a network layer protocol address.

11. The method of claim 10 , wherein the destination network layer protocol address in the data packet and the network layer protocol address associated with the stream each comprises a Internet Protocol (IP) address.

12. The method of claim 1 , wherein identifying the data packet as belonging to a stream comprises inspecting a destination network layer protocol address in the data packet and matching the destination network layer protocol address with a network layer protocol address associated with the stream.

13. The method of claim 12 , wherein the destination network layer protocol address in the data packet and the network layer protocol address associated with the stream each comprise an Internet Protocol (IP) address.

14. The method of claim 1 , wherein identifying at the stream processing module the data packet as being transmitted from a source of the stream comprises inspecting at the stream processing module a destination network layer protocol address in the data packet and matching at least some portion of the destination network layer protocol address with a network layer protocol address maintained in the stream processing module for communicating with the source of the stream.

15. The method of claim 14 , wherein the destination network layer protocol address in the data packet comprises a destination Internet Protocol (IP) address in the data packet.

16. The method of claim 1 , wherein buffering the data packet for transmission from the stream processing module comprises buffering the data packet in a last in first out buffer.

17. In a network switch having a switching fabric that forwards data packets, a method comprising:

receiving a data packet at an input port of the network switch;

identifying the data packet as being received from a source of a stream;

directing the data packet to a stream processing module in the network switch separate from the switching fabric in response to identifying the data packet as being received from the source of the stream;

buffering the data packet for transmission from the stream processing module in response to identifying the data packet as being received from the source of the stream, to store the data packet for replication of the stream.

18. The method of claim 17 , wherein identifying the data packet as being received from a source of a stream comprises inspecting at least one of a destination address, destination network layer protocol address, and destination transport layer protocol port number in the data packet and matching the same with an address assigned to the stream processing module.

19. The method of claim 18 , wherein inspecting at least one of a destination address, destination network layer protocol address, and destination transport layer protocol port number in the data packet and matching the same with an address assigned to the stream processing module comprises inspecting at least one of a destination hardware address, destination Internet Protocol (IP) address, and destination Transmission Control Protocol (TCP) port number in the data packet and matching the same with an address assigned to the stream processing module.

20. In a network switch having a switching fabric that forwards data packets, a method comprising:

receiving a data packet at an input port of the network switch;

identifying the data packet as belonging to a stream;

directing the data packet to the stream processing module in response to identifying the data packet as belonging to a stream;

identifying at the stream processing module the data packet as being transmitted from a destination for the stream, the data packet comprising a request from the destination for the stream to receive the stream; and

reading from a buffer accessible to the stream processing module a second data packet stored therein, the second data packet received from a source for the stream, and transmitting the second data packet to the destination for the stream, in response to the request from the destination for the stream to receive the stream.

21. In a network switch having a switching fabric that forwards data packets, a method comprising:

receiving a data packet;

recognizing the data packet as belonging to any one of a plurality of streams;

directing the data packet to a stream processing module in response to identifying the packet as belonging to any one of the streams;

identifying at the stream processing module the data packet as being received from a source of any one of the streams;

identifying at the stream processing module the data packet as belonging to a particular one of the streams received from the source;

storing in a buffer the data packet to replicate the stream for transmission to a destination for the stream, the storing in response to identifying the data packet as belonging to a particular stream.

22. The method of claim 21 , wherein identifying at the stream processing module the data packet as being received from a source of any one of the streams comprises inspecting a destination address in the data packet and matching the destination address to an address associated with the stream processing module in the network switch.

23. The method of claim 22 , wherein identifying at the stream processing module the data packet as belonging to a particular one of the streams received from the source comprises matching unique identifying information in a protocol header portion of the data packet with an entry in a data structure accessible to the stream processing module, the entry associating the data packet with a stream identifier for the stream.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2017
From: EXTREME NETWORKS, INC.
To: RPX CORPORATION
Reel/Frame 044087/0334 →
RELEASE OF SECURITY INTEREST Recorded Sep 29, 2017
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 043747/0694 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2002
From: ROVNER, EDWARD JOEL; RICHARDSON, LANCE; ALEXANDER, CEDELL A.
To: EXTREME NETWORKS
Reel/Frame 012434/0188 →