IP Library Granted Patent US 10,057,387
Granted Patent B2
US 10,057,387 · App. 15/481,768 · Granted Aug 21, 2018

Communication traffic processing architectures and methods

Inventors: Charles Chen (Fremont, CA); Ryan Patrick Donohue (Sunnyvale, CA); Donggun Keung (Milpitas, CA); Xi Chen (Fremont, CA); Xiaochong Cao (Fremont, CA); Zeineddine Chair (Redwood City, CA)
Assignee: REALTEK SINGAPORE PTE LTD
H04L69/08G06F9/50G06F13/128G06F13/385H04L29/06H04L69/12H04L69/321H04L47/6275
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,057,387
App. No.
15/481,768
Granted
Aug 21, 2018
Kind
B2
Abstract

Communication traffic processing architectures and methods are disclosed. Processing load on main Central Processing Units (CPUs) can be alleviated by offloading data processing tasks to separate hardware. In one implementation, a processing architecture includes a main processor configured to execute a first portion of a driver software to perform protocol control and management task associated with control or management packets in a packet-based protocol according to which packets are received from a device, an offload processor configured to execute a second portion of the driver software to perform data processing task for data packets received according to the packet-based protocol, an interface to enable communication with the device, and an interconnect coupled to the main processor, to the offload subsystem, and to the interface.

Claims (40)

1. A processing architecture comprising:

a main processor configured to execute a first portion of a driver software to perform protocol control and management task associated with control or management packets in a packet-based protocol according to which packets are received from a device;

an offload processor configured to execute a second portion of the driver software to perform data processing task for data packets received according to the packet-based protocol;

an interface to enable communication with the device; and

an interconnect coupled to the main processor, to the offload subsystem, and to the interface.

2. The processing architecture of claim 1 , further comprising:

a network engine coupled to the interconnect, to perform data forwarding task, wherein the forwarding decision is based on either an identified flow or a destination address carried in the packet; configured to identify the control and management packets which are sent to the main processor.

3. The processing architecture of claim 2 , wherein

the network engine is configured to determine whether a received data packet is associated with a known data flow, to forward the received data packet to a destination where the received data packet is associated with a known data flow, and to forward the received data packet to the main processor for flow identification where the received data packet is not associated with a known data flow, and

the main processor is configured to identify a data flow with which the received data packet is associated where the received data packet is forwarded to the main processor by the network engine, and to configure the identified data flow as a known data flow in the network engine.

4. The processing architecture of claim 2 , wherein the network engine forwards the packet based on the destination address carried in the packet header.

5. The processing architecture of claim 2 , wherein the main processor and the offload processor each comprising a Wi-Fi driver tunnel module to encapsulate Wi-Fi packets into Ethernet packets for exchange between the main processor and the offload processor through the network engine.

6. The processing architecture of claim 1 , wherein the offload processor performs the data processing task and the network engine performs the data forwarding task such that data packets no longer go through the main processor.

7. The processing architecture of claim 1 , the offload processor comprising a security engine to perform security-related task for received data packets.

8. The processing architecture of claim 1 , wherein the first portion of the driver software is produced by identifying the protocol control and management task associated with the control or management packets, and separating a portion of the driver software comprising the protocol control and management task from a remainder of the driver software.

9. The processing architecture of claim 8 , wherein the second portion of the driver software is produced by identifying the data packet processing and forwarding task associated with data packets, and providing an implementation of the remainder of the driver software.

10. The processing architecture of claim 1 , wherein the data processing task comprises packet tunnels and security tunnels.

11. A method executed in a processing architecture, the method comprising:

executing, by a main processor, a first portion of the driver software to perform protocol control and management task associated with control or management packets in a packet-based protocol according to which packets are received from a device;

executing, by an offload processor, a second portion of the driver software to perform data processing task for data packets received according to the packet-based protocol;

executing, by the main processor, the first portion of the driver software to control the device; and

executing, by the offload processor, the second portion of the driver software to control the device.

12. The method of claim 11 , further comprising:

Performing, by a network engine, data forwarding task, and packet identification task; the forwarding decision is based on either an identified flow or a destination address carried in the packet.

13. The method of claim 11 , further comprising:

executing, by the main processor, an Ethernet driver software to control the network engine.

14. The method of claim 11 , further comprising:

encapsulating Wi-Fi packets into Ethernet packets for exchange between the main processor and the offload processor through the network engine.

15. The method of claim 11 , further comprising:

configuring, by the main processor, an identified data flow in the network engine by configuring the identified data flow in a flow table stored in memory.

16. The method of claim 11 , further comprising:

forwarding, by the offload processor, a first received data packet of an unknown flow to the main processor for flow identification; and

processing, by the offload processor, subsequent packets from the identified flow such that data frames from the identified flow no longer go through the main processor.

17. The method of claim 11 , further comprising:

performing, by the offload processor, packet tunnels or security tunnels.

18. The processing architecture of claim 1 , wherein the driver software further comprises an offload adaptation layer configured to allow separation of the first portion of the driver software and the second portion of the driver software.

19. The processing architecture of claim 18 , wherein the offload adaptation layer is configured to adaptably accept function calls from the first portion of the driver software in a first format,

wherein the offload adaptation layer is further configured to return results to the first portion of the driver software in the first format; and

wherein the offload adaptation layer is further configured to perform translation between the first format and one or more other formats used to implement offloaded tasks, wherein the offloaded tasks are then processed by the offload adaptation layer.

20. The processing architecture of claim 18 , wherein the offload adaptation layer is an Application Programming Interface (API).

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: CHEN, CHARLES; DONOHUE, RYAN PATRICK; KEUNG, DONGGUN; CHEN, XI; CAO, XIAOCHONG; CHAIR, ZEINEDDINE
To: CORTINA SYSTEMS, INC.
Reel/Frame 044522/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: CORTINA SYSTEMS, INC.
To: CORTINA ACCESS, INC.
Reel/Frame 044522/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: CORTINA ACCESS, INC.
To: REALTEK SINGAPORE PTE LTD
Reel/Frame 044522/0558 →
Continuity (3)
Continuation In Part 14135111 · Dec 19, 2013
Provisional Application 61745951 · Dec 26, 2012
Related Publication 20170214774A1 · Jul 27, 2017