IP Library Granted Patent US 11,132,317
Granted Patent B2
US 11,132,317 · App. 16/782,023 · Granted Sep 28, 2021

Encapsulated accelerator

Inventor: Steven L. Pope (Cambridge, GB)
Assignee: Xilinx, Inc.
G06F13/362G06F13/385G06F13/4282G06Q40/04G06F13/102G06F13/28G06F2213/0058G06F2213/3808H04L49/9068H04L2212/00
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,132,317
App. No.
16/782,023
Granted
Sep 28, 2021
Kind
B2
Abstract

A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module arranged between the controller unit and a network and having a first medium access controller for connection to the network and a second medium access controller coupled to the data port of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the network data packets to the data port of the controller unit so as to cause the network data packets to be written to the receive queue of the software entity.

Claims (27)

1. A network interface device comprising:

one or more ports for connecting to at least one network, said one or more ports configured to receive at least one network data packet from the at least one network; and

a programmable device that is addressable as a network endpoint, the programmable device configured: to perform at least one process with respect to data in the received at least one network data packet, and to encapsulate data resulting from said processing into at least one encapsulated network data packet for delivery to at least one application.

2. A network interface device as claimed in claim 1 , wherein the programmable device is a field programmable gate array, FPGA.

3. A network interface device as claimed in claim 1 , wherein said network data packets comprise ethernet frames.

4. A network interface device as claimed in claim 1 , wherein said network data packets comprise internet protocol packets.

5. A network interface device as claimed in claim 1 , wherein said programmable device is configured to process said data on behalf of at least one application running on a host device.

6. A network interface device as claimed in claim 1 , comprising a data bus interface that is configured to connect said network interface device to a host device.

7. A network interface device as claimed in claim 1 , wherein the programmable device is configured to perform: parsing the received network data packets so as to identify network messages carried therein that have one or more of a set of characteristics.

8. A data processing system as claimed in claim 1 , wherein the programmable device is configured to receive at least one network data packet via said at least one network from a remote electronic exchange, and at least one data packet comprises financial messages.

9. A data processing system as claimed in claim 8 , wherein said programmable device is configured to process the financial messages so as to generate normalized financial data.

10. A network interface device as claimed in claim 1 , wherein said programmable device is configured to perform one or more of:

normalisation of financial information carried within financial messages of the received network data packets;

serialisation of trades carried within financial messages of the received network data packets and directed to an electronic exchange;

arbitration between financial message streams of the received network data packets;

decompression or compression of data packet headers of the received network data packets;

analysis of scientific data carried within of the received network data packets;

processing of digital audio and/or video data carried within the received network data packets; and

in-line cryptographic functions performed on data carried within the of the received network data packets.

11. A network interface device comprising:

a programmable device that is addressable as a network endpoint, the programmable device configured to receive at least one received network data packet from at least one application, perform at least one process with respect to data in at least one received network data packet, and to encapsulate data resulting from said processing into at least one encapsulated network data packet; and

one or more ports for connecting to at least one network, said one or more ports configured to receive the at least one encapsulated network data packet from said programmable device and output said at least one encapsulated network data packet from the programmable device onto said network.

12. A network interface device as claimed in claim 11 , wherein the programmable device is a field programmable gate array, FPGA.

13. A network interface device as claimed in claim 11 , wherein said network data packets comprise ethernet frames.

14. A network interface device as claimed in claim 11 , wherein said network data packets comprise internet protocol packets.

15. A network interface device as claimed in claim 11 , comprising a data bus interface that is configured to connect said network interface device to a host device.

16. A network interface device as claimed in claim 11 , wherein the programmable device is configured to perform: parsing the received network data packets so as to identify network messages carried therein that have one or more of a set of characteristics.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2021
From: SOLARFLARE COMMUNICATIONS, INC.
To: XILINX, INC.
Reel/Frame 057295/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2021
From: POPE, STEVEN L.
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 057139/0003 →
Continuity (5)
Continuation 15455864 · Mar 10, 2017
Continuation 13671434 · Nov 7, 2012
Continuation In Part 12964642 · Dec 9, 2010
Provisional Application 61714405 · Oct 16, 2012
Related Publication 20200174954A1 · Jun 4, 2020