IP Library Granted Patent US 10,666,777
Granted Patent B2
US 10,666,777 · App. 16/413,413 · Granted May 26, 2020

Reducing network latency

Inventors: Steven Leslie Pope (Cambridge, GB); David James Riddoch (Fenstanton, GB); Kieran Mansley (Cambridge, GB)
Assignee: Xilinx, Inc.
H04L69/22H04L69/161H04L69/166H04L69/329H04L47/2475
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,666,777
App. No.
16/413,413
Granted
May 26, 2020
Kind
B2
Abstract

A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.

Claims (22)

1. A method implemented in a data processing system coupled to a network and comprising a processor configured to execute computer readable instructions to perform a communication process used for communicating corresponding data over the network, the method comprising invoking a dummy communication function so as to cause the processor to perform the communication process without causing corresponding data to be communicated over the network.

2. A method as claimed in claim 1 , wherein the method further comprises subsequently making a call in respect of a network message so as to cause the processor to perform the communication process and communicate the network message over the network.

3. A method as claimed in claim 1 , wherein the performing the communication process without causing corresponding data to be communicated over the network comprises causing to be resident in a cache of the processor, at least one of:

state for subsequently communicating data over the network; and

instructions for subsequently communicating data over the network.

4. A method as claimed in claim 1 , comprising invoking the dummy communication function in response to a call made by an application supported by the data processing system, wherein each of a plurality of calls made by the application comprises a flag indicating whether the processor is to communicate a network message over the network in response to the respective call or perform the communication process without causing the communication of corresponding data over the network in response to the respective call.

5. A method as claimed in claim 1 , wherein the communication process is a transmit process and the invoking the dummy communication function so as to cause the processor to perform the communication process comprises invoking the dummy communication function so as to cause the processor to perform the transmit process without transmitting data over the network.

6. A method as claimed in claim 5 , comprising invoking the dummy communication function in response to a call made by an application supported by the data processing system, wherein the call is made in respect of a partial message held at a transmit buffer of the data processing system.

7. A method as claimed in claim 6 , wherein the method comprises padding the partial message, wherein the performing the communication process without causing the communication of corresponding data over the network comprises processing the padded message.

8. A method as claimed in claim 1 , wherein the communication process is a receive process and the invoking the dummy communication function so as to cause the processor to perform the communication process comprises invoking the dummy communication function so as to cause the processor to perform the receive process without receiving data over the network.

9. A method as claimed in claim 1 , comprising invoking the dummy communication function in response to a call made to a software interface by an application supported by the data processing system, wherein the software interface is a socket application programming interface.

10. A data processing system coupled to a network by a network interface device and comprising a processor configured to execute computer readable instructions to perform a communication process used for communicating corresponding data over the network, wherein the processor is configured to execute the computer readable instructions so as to invoke a dummy communication function to perform the communication process without causing corresponding data to be communicated over the network.

11. A data processing system as claimed in claim 10 , wherein the processor is configured to execute the computer readable instructions so as to subsequently perform the communication process so as to communicate a network message over the network.

12. A data processing system as claimed in claim 10 , wherein the performing the communication process without communicating data over the network comprises causing to be resident in a cache of the processor, at least one of:

state for subsequently communicating data over the network; and

instructions for subsequently communicating data over the network.

13. A data processing system as claimed in claim 10 , wherein the dummy communication function is invoked in response to a call made by an application supported by the data processing system, wherein each of a plurality of calls made by the application comprises a flag indicating whether the processor is to communicate a network message over the network in response to the respective call or perform the communication process without causing the communication of corresponding data over the network in response to the respective call.

14. A data processing system as claimed in claim 10 , wherein the communication process is a transmit process and the invoking the dummy communication function so as to cause the processor to perform the communication process comprises invoking the dummy communication function so as to cause the processor to perform the transmit process without transmitting data over the network.

15. A data processing system as claimed in claim 14 , wherein the dummy communication function is invoked in response to a call made by an application supported by the data processing system, wherein the application is configured to make the call in respect of a partial message held at a transmit buffer of the data processing system.

16. A method as claimed in claim 15 , wherein the processor is configured to execute the computer readable instructions so as to pad the partial message, wherein the processor performing the communication process without communicating data over the network comprises the processor processing the padded message.

17. A data processing system as claimed in claim 10 , wherein the communication process is a receive process and the invoking the dummy communication function so as to cause the processor to perform the communication process comprises invoking the dummy communication function so as to cause the processor to perform the receive process without receiving data over the network.

18. A data processing system as claimed in claim 10 , wherein the dummy communication function is invoked in response to a call made to a software interface by an application supported by the data processing system, wherein the software interface is a socket application programming interface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: SOLARFLARE COMMUNICATIONS, INC.
To: XILINX, INC.
Reel/Frame 051108/0209 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2019
From: POPE, STEVEN L.; RIDDOCH, DAVID J.; MANSLEY, KIERAN
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 050063/0542 →
Continuity (6)
Continuation 15879909 · Jan 25, 2018
Continuation 15253822 · Aug 31, 2016
Continuation 15016659 · Feb 5, 2016
Continuation 13283420 · Oct 27, 2011
Provisional Application 61513108 · Jul 29, 2011
Related Publication 20190268450A1 · Aug 29, 2019