IP Library Granted Patent US 10,609,592
Granted Patent B2
US 10,609,592 · App. 15/751,161 · Granted Mar 31, 2020

Virtual-machine dataplane having fixed interpacket time

Inventor: Wayne Chuu (Saratoga, CA)
Assignee: ARRIS Enterprises LLC
H04W28/0268G06F9/45533H04L45/38H04L45/745H04L47/2483H04L49/3063
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 10,609,592
App. No.
15/751,161
Filed
Feb 7, 2018
Granted
Mar 31, 2020
Kind
B2
Examiner
WEI, SIREN
Art Unit
2467
USPC
370/235
Abstract

In order to provide flexible scaling and dynamic reconfiguration, a wireless local area network controller includes a virtual dataplane with one or more virtual machines. These virtual machines pre-calculate processing parameters for packets in a data flow. For example, the pre-calculated processing parameters may include: encapsulation parameters, quality-of-service parameters and priority parameters. Subsequently, when one of the virtual machines receives a packet in the data flow on an input port, the virtual machine modifies information in a header of the packet based on one or more of the pre-calculated processing parameters and information associated with the data flow (which specifies the one or more pre-calculated processing parameters). Then, the virtual machine transmits the packet on an output port. In this way, the virtual machine maintains a fixed inter-packet time between packets in the data flow.

Claims (39)

1. A controller, comprising:

an interface circuit configured to communicate with one or more access points;

a processor coupled to the interface circuit; and

memory, coupled to the processor, which stores program instructions, wherein, when executed by the processor, the program instructions cause the controller to process packets in a virtual dataplane with one or more virtual machines, and wherein a given virtual machine performs operations comprising:

pre-calculating processing parameters for packets in a data flow;

storing the pre-calculated processing parameters in the memory;

receiving a given packet in the data flow on an input port;

processing the given packet by accessing the pre-calculated processing parameters stored in the memory based on information associated with the data flow, wherein processing the given packet comprises modifying information in a header of the given packet based on one or more of the pre-calculated processing parameters; and

after the processing, transmitting the given packet on an output port, wherein the given virtual machine maintains a fixed inter-packet time between packets in the data flow, so that the inter-packet time between the packets at the input port equals the inter-packet time between the packets at the output port.

2. The controller of claim 1 , wherein the given virtual machine is executed by a preconfigured number of cores in the processor.

3. The controller of claim 1 , wherein the pre-calculated processing parameters are based on one or more link performance metrics.

4. The controller of claim 1 , wherein the pre-calculated processing parameters are calculated at a beginning of the data flow.

5. The controller of claim 1 , wherein the pre-calculated processing parameters are calculated after a time interval has elapsed.

6. The controller of claim 1 , wherein the pre-calculated processing parameters comprise at least one of: an encapsulation parameter, a quality-of-service parameter, or a priority parameter.

7. The controller of claim 1 , wherein the processing in the given virtual machine is implemented using multiple parallel pipelines, so that multiple packets in the data flow are processed concurrently.

8. A non-transitory computer-readable storage medium for use in conjunction with a controller, the computer-readable storage medium storing program instructions, wherein, when executed by the controller, the program instructions cause the controller to process packets in a virtual dataplane with one or more virtual machines by performing operations comprising:

pre-calculating processing parameters for the packets in a data flow;

storing the pre-calculated processing parameters in a memory in the controller;

receiving a given packet in the data flow on an input port;

processing the given packet by accessing the pre-calculated processing parameters stored in the memory based on information associated with the data flow, wherein processing the given packet comprises modifying information in a header of the given packet based on one or more of the pre-calculated processing parameters; and

transmitting, after the processing, the given packet on an output port, wherein the given virtual machine maintains a fixed inter-packet time between packets in the data flow, so that the inter-packet time between the packets at the input port equals the inter-packet time between the packets at the output port.

9. The computer-readable storage medium of claim 8 , wherein the given virtual machine is executed by a preconfigured number of cores in a processor in the controller.

10. The computer-readable storage medium of claim 8 , wherein the pre-calculated processing parameters are based on one or more link performance metrics.

11. The computer-readable storage medium of claim 8 , wherein the pre-calculated processing parameters are calculated at a beginning of the data flow.

12. The computer-readable storage medium of claim 8 , wherein the pre-calculated processing parameters are calculated after a time interval has elapsed.

13. The computer-readable storage medium of claim 8 , wherein the pre-calculated processing parameters comprise at least one of: an encapsulation parameter, a quality-of-service parameter, or a priority parameter.

14. The computer-readable storage medium of claim 8 , wherein the processing in the given virtual machine is implemented using multiple parallel pipelines, so that multiple packets in the data flow are processed concurrently.

15. A method for processing packets in a virtual dataplane with one or more virtual machines in a controller, wherein the method comprises:

by the controller:

pre-calculating processing parameters for the packets in a data flow;

storing the pre-calculated processing parameters in a memory in the controller;

receiving a given packet in the data flow on an input port;

processing the given packet by accessing the pre-calculated processing parameters stored in the memory based on information associated with the data flow, wherein processing the given packet comprises modifying information in a header of the given packet based on one or more of the pre-calculated processing parameters; and

transmitting, after the processing, the given packet on an output port, wherein the given virtual machine maintains a fixed inter-packet time between packets in the data flow, so that the inter-packet time between the packets at the input port equals the inter-packet time between the packets at the output port.

16. The method of claim 15 , wherein the given virtual machine is executed by a preconfigured number of cores in a processor in the controller.

17. The method of claim 15 , wherein the processing in the given virtual machine is implemented using multiple parallel pipelines, so that multiple packets in the data flow are processed concurrently.

18. The method of claim 15 , wherein the pre-calculated processing parameters comprise at least one of: an encapsulation parameter, a quality-of-service parameter, or a priority parameter.

19. The method of claim 15 , wherein the pre-calculated processing parameters are based on one or more link performance metrics.

20. The method of claim 15 , wherein the pre-calculated processing parameters are calculated at a beginning of the data flow or after a time interval has elapsed.

Assignments (12)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 49709/0266 Recorded Jan 9, 2026
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: RUCKUS WIRELESS, LLC (F/K/A/ RUCKUS WIRELESS, INC.)
Reel/Frame 074283/0001 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
PARTIAL RELEASE OF PATENT SECURITY INTERESTS (ABL) Recorded Jan 2, 2024
From: JPMORGAN CHASE BANK, N.A.
To: ARRIS ENTERPRISES, LLC; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 066163/0727 →
PARTIAL RELEASE OF PATENT SECURITY INTERESTS (TL) Recorded Jan 2, 2024
From: JPMORGAN CHASE BANK, N.A.
To: ARRIS ENTERPRISES, LLC; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 066163/0739 →
PARTIAL TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 29, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC
Reel/Frame 066140/0541 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2021
From: RUCKUS WIRELESS, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 055584/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: RUCKUS WIRELESS, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 051865/0519 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049709/0266 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2018
From: CHUU, WAYNE
To: RUCKUS WIRELESS, INC.
Reel/Frame 044861/0083 →
Continuity (2)
Provisional Application 62207816 · Aug 20, 2015
Related Publication 20180242187A1 · Aug 23, 2018