IP Library Granted Patent US 7,844,742
Granted Patent B2
US 7,844,742 · App. 10/661,765 · Granted Nov 30, 2010

Network interface and protocol

Assignee: Solarflare Communications, Inc.
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 7,844,742
App. No.
10/661,765
Granted
Nov 30, 2010
Kind
B2
Abstract

A communication interface for providing an interface between a data link and a data processor, the data processor being capable of supporting an operating system and a user application, the communication interface being arranged to: support a first queue of data received over the link and addressed to a logical data port associated with a user application; support a second queue of data received over the link and identified as being directed to the operating system; and analyse data received over the link and identified as being directed to the operating system or the data port to determine whether that data meets one or more predefined criteria, and if it does meet the criteria transmit an interrupt to the operating system.

Claims (16)

1. A communication interface for providing an interface between a data link and a data processor, the data processor being capable of supporting an operating system and a user application, the communication interface being arranged to:

apply to a first queue located in the address space of a user application data received over the link and identified as being directed to a particular logical data port associated with that application;

apply to a second queue located in the address space of the operating system out-of-band data received over the link for the particular logical data port and identified as being directed to the operating system, the second queue being memory mapped into the address space of the user application; and

analyze data received over the link and identified as being directed to the operating system or the data port to determine whether that data meets one or more predefined criteria, and if it does meet the criteria transmit an interrupt to the operating system, the predefined criteria being set such that, when the processing of the application is suspended, the communication interface transmits an interrupt to the operating system on receiving data identified as being directed to that data port.

2. A communication interface as claimed in claim 1 , wherein the communication interface is arranged to apply to a third queue data received over the link and addressed to the logical data port associated with the user application, and is arranged to apply to the first queue data units received over the link and of a form having a fixed length and to apply to the third queue data units received over the link and of a form having a variable length.

3. A communication interface as claimed in claim 2 , wherein the data units of a fixed size include messages received over the link and interpreted by the communication interface as indicating an error status.

4. A communication interface as claimed in claim 2 , wherein the data units of a fixed size include messages received over the link and interpreted by the communication interface as indicating a request for or acknowledgement of set-up of a connection.

5. A communication interface as claimed in claim 2 , wherein the data units of a fixed size include messages received over the link and interpreted by the communication interface as indicating a data delivery event.

6. A communication interface as claimed in claim 1 , wherein the communication interface is arranged to, if the data meets one or more of the predefined criteria and one or more additional criteria, transmit an interrupt to the operating system and transmit a message to the operating system indicating a port to which the data was addressed.

7. A communication interface as claimed in claim 6 , wherein the additional criteria are indicative of an error condition.

8. A communication interface as claimed in claim 1 , wherein one or both of the communication interface and the operating system is responsive to a message of a predetermined type to return a message including information indicative of the status of the port.

9. A communication system including a communication interface as claimed in claim 8 , and the data processor, the data processor being arranged to, when the processing of an application with which a data port is associated is suspended, set the criteria such that the communication interface will transmit an interrupt to the operating system on receiving data identified as being directed to that data port.

10. A communication interface as claimed in claim 1 , wherein one of the predefined criteria is such that if the data received over the link matches one or more predetermined message forms then the communication interface will transmit an interrupt to the operating system.

11. A communication interface as claimed in claim 1 , wherein the communication interface is arranged to analyse the content of each data unit received over the link and to determine in dependence on the content of that data unit which of the said queues to apply the data unit to.

12. A communication interface as claimed in claim 1 , wherein the communication interface is configurable by the operating system to set the said criteria.

13. The communication interface of claim 1 , wherein out-of-band data comprises connection setup messages, data delivery events or error events.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: SOLARFLARE COMMUNICATIONS, INC.
To: XILINX, INC.
Reel/Frame 051108/0209 →
RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 31, 2019
From: ALLY BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 049918/0440 →
RELEASE OF SECURITY INTEREST Recorded Jun 15, 2017
From: PACIFIC WESTERN BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 042820/0890 →
SECURITY INTEREST Recorded Mar 7, 2017
From: SOLARFLARE COMMUNICATIONS, INC.
To: ALLY BANK
Reel/Frame 041902/0527 →
SECURITY INTEREST Recorded Apr 6, 2016
From: SOLARFLARE COMMUNICATIONS, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 038363/0589 →
RELEASE OF SECURITY INTEREST Recorded Nov 24, 2014
From: COMERICA BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 034255/0140 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2014
From: COMERICA BANK
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 033716/0073 →
CHANGE OF ADDRESS Recorded Jul 6, 2012
From: SOLARFLARE COMMUNICATIONS, INC.
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 028931/0804 →
SECURITY AGREEMENT Recorded Jan 5, 2012
From: SOLARFLARE COMMUNICATIONS, INC., A DELAWARE CORPORATION
To: COMERICA BANK, AS AGENT, A TEXAS BANKING ASSOCIATION
Reel/Frame 027487/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2009
From: LEVEL 5 NETWORKS, INC.
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 022752/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2009
From: LEVEL 5 NETWORKS, INC.
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 022476/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2005
From: LEVEL 5 NETWORKS LIMITED
To: LEVEL 5 NETWORKS INC.
Reel/Frame 016638/0608 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2004
From: POPE, STEVE LESLIE; ROBERTS, DEREK EDWARD; RIDDOCH, DAVID JAMES; CLARKE, DAVID JULIAN
To: LEVEL 5 NETWORKS LIMITED
Reel/Frame 014315/0632 →
Priority Claims (1)
GB 0221464.1 · Sep 16, 2002 · national
Continuity (1)
Related Publication 20050138242A1 · Jun 23, 2005