IP Library › Granted Patent US 11,675,946
Granted Patent B1
US 11,675,946 · App. 16/927,421 · Granted Jun 13, 2023

Programmable network switch for user plane function

Inventor: Brian Waters (Angel Fire, NM)
Assignee: Sprint Spectrum LP
G06F30/331H04L12/66H04L45/745H04L67/14H04L69/22
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 11,675,946
App. No.
16/927,421
Filed
Jul 13, 2020
Granted
Jun 13, 2023
Kind
B1
Art Unit
2452
USPC
709/238
Abstract

Programmable network switches configured to perform various functions including session management, data processing, routing, and pipeline processing functions. Exemplary programmable network switches include pipeline processing components to transport data packets to network nodes, and data processing components to perform management functions including instructing the pipeline processing component how to transport the data packets. Auxiliary processing components can also be included to perform pre and post processing. The pipeline processing and auxiliary processing components can include ASICs, FPGAs, and other processors in any combination within a single rack mountable unit.

Claims (35)

1. A programmable network switch, comprising:

a pipeline processing component configured to perform pipeline processing operations on data packets received at the programmable network switch, wherein the pipeline processing component transports data packets between a wireless network and a packet data network; and

a processing node configured to perform management functions for data sessions associated with the data packets, the management functions including at least transmitting session data associated with the data sessions to the pipeline processing component,

wherein the pipeline processing component and processing node are combined into a single housing of the programmable network switch, the pipeline processing component embedded on a first circuit within the single housing, and the processing node comprises a memory and a processor communicatively coupled to the first circuit.

2. The programmable network switch of claim 1 , wherein the management functions further comprise one or more of receiving control information from a session management server, associating data packets with one or more of source nodes, destination nodes, bearers, tunnels, quality of service, or guaranteed bit rate associated with the data packets, modifying headers of the data packets, or encapsulating or decapsulating data packets.

3. The programmable network switch of claim 2 , wherein the pipeline processing operations comprise one or more of modifying headers of the data packets, encapsulating or decapsulating data packets, applying a quality of service policy to data packets, buffering data packets, or transmitting data packets to a destination node.

4. The programmable network switch of claim 1 , further comprising an auxiliary processing component embedded on a second circuit within the single housing, the auxiliary processing component configured to perform at least a subset of the pipeline processing operations.

5. The programmable network switch of claim 4 , wherein the first circuit comprises an application-specific integrated circuit (ASIC), and the second circuit comprises a field-programmable gate array (FPGA).

6. The programmable network switch of claim 5 , wherein the FPGA comprises a memory, and is configured to perform routing table lookups based on routing tables stored on the memory, matching data packets with bearers and destination nodes based on information in routing tables, matching header values with routing tables, modifying headers associated with the data packets, and buffering data packets on the memory.

7. The programmable network switch of claim 4 , wherein the auxiliary processing component is configured to instruct the pipeline processing component how to route the data packets.

8. The programmable network switch of claim 4 , wherein the auxiliary processing component is configured to receive session data from the processing node.

9. The programmable network switch of claim 1 , wherein the programmable network switch is co-located with an access node such that the data packets flow directly egress a user plane at a radio access network of the wireless network to the packet data network.

10. The programmable network switch of claim 1 , further comprising one or more interfaces enabling coupling to different network nodes.

11. The programmable network switch of claim 10 , wherein the different network nodes comprise access nodes or wireless devices, one or more gateways or functions on the core network, or any other network node on the packet data network.

12. A system, comprising:

a radio access network;

a core network communicatively coupled to the radio access network; and

one or more programmable network switches provided in the radio access network or the core network; each programmable network switch of the one or more programmable network switches comprising:

a pipeline processing component configured to perform pipeline processing operations on data packets received at the programmable network switch, wherein the pipeline processing component transports data packets between a wireless network and a packet data network; and

a processing node configured to perform management functions for data sessions associated with the data packets, the management functions including at least transmitting session data associated with the data sessions to the pipeline processing component,

wherein the pipeline processing component and the processing node are combined into a single housing of the programmable network switch, the pipeline processing component embedded on a first circuit within the single housing, and the processing node stored on a first memory of the programmable network switch and executed by a processor communicatively coupled to the first circuit.

13. The system of claim 12 , wherein the management functions further comprise one or more of receiving control information from a session management server, associating data packets with one or more of source nodes, destination nodes, bearers, tunnels, quality of service, or guaranteed bit rate associated with the data packets, modifying headers of the data packets, or encapsulating or decapsulating data packets.

14. The system of claim 13 , wherein the pipeline processing operations comprise one or more of modifying headers of the data packets, encapsulating or decapsulating data packets, applying a quality of service policy to data packets, buffering data packets, or transmitting data packets to a destination node.

15. The system of claim 13 , further comprising an auxiliary processing component embedded on a second circuit within the single housing, the auxiliary processing component configured to perform at least a subset of the pipeline processing operations.

16. The system of claim 15 , wherein the auxiliary processing component comprises a second memory, and is configured to perform routing table lookups based on routing tables stored on the second memory, matching data packets with bearers and destination nodes based on information in routing tables, matching header values with routing tables, modifying headers associated with the data packets, and buffering data packets on the second memory.

17. A method, comprising:

receiving, at a pipeline processing circuit of a programmable network switch, a data packet associated with a session, wherein the pipeline processing circuit transports data packets between a wireless network and a packet data network;

retrieving, at the pipeline processing circuit, session data associated with the session, the session data having been previously provided to the pipeline processing circuit by a processing node of the programmable network switch, wherein the pipeline processing circuit and processing node are combined into a single housing of the programmable network switch, the pipeline processing circuit embedded on a first circuit within the single housing, and the processing node comprises a memory and a processor communicatively coupled to the first circuit;

performing pipeline processing operations to the data packet, the pipeline processing operations including at least modifying headers of the data packet according to the session data provided by the processing node; and

releasing the data packet to another network node.

18. The method of claim 17 , further comprising:

determining, at the pipeline processing circuit, that updated session data is required for the data packet;

transmitting the data packet to the processing node of the programmable network switch; and

receiving the data packet along with updated session data from the processing node,

wherein upon receiving the data packet along with the updated session data, the pipeline processing circuit is configured to repeat the retrieving session data and performing the pipeline processing operations.

Assignments (2)
CHANGE OF NAME Recorded Feb 11, 2022
From: SPRINT SPECTRUM L.P.
To: SPRINT SPECTRUM LLC
Reel/Frame 059044/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: WATERS, BRIAN
To: SPRINT SPECTRUM LP
Reel/Frame 053204/0673 →
Cited By (3)
US 12,301,383 US 12,452,103 US 12,719,867