IP Library Granted Patent US 7,941,569
Granted Patent B2
US 7,941,569 · App. 11/884,874 · Granted May 10, 2011

Input/output tracing in a protocol offload system

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,941,569
App. No.
11/884,874
Granted
May 10, 2011
Kind
B2
Abstract

I/O tracing is implemented in a system in which an I/O device is configured for protocol offload. A data unit having headers and payload is replicated and the replicated unit sent to the end node along with the payload data. In an alternative embodiment, the I/O device keeps track of the one or more protocol headers layers separately from the application payload. Information defining the relationship between the headers and payload is sent to the end node to enable it to reconstruct the data unit.

Claims (22)

1. A method of input/output (I/O) tracing in a system in which an I/O device communicates with an end node, the I/O device being configured to perform protocol offload, the method comprising:

replicating a data unit at the I/O device, the data unit comprising, protocol offload data, one or more protocol headers and an application payload, the application payload comprising one or more units of application data; and

making the replicated unit available to the end node for I/O tracing.

2. A method according to claim 1 , wherein the data unit is received from an external medium connected to the I/O device.

3. A method according to claim 1 , wherein the application payload is sent from the end node to the I/O device for transmission on an external medium connected to the I/O device.

4. A method according to any one of the preceding claims, comprising storing the replicated unit in local memory at the I/O device.

5. A method according to claim 4 , further comprising retrieving the replicated unit from the local memory.

6. A method according to claim 5 , comprising retrieving the replicated unit on request by the end node.

7. A method according to claim 5 , comprising retrieving the replicated unit periodically.

8. A method according claim 1 , comprising performing a Direct Memory Access DMA transfer of the replicated unit to the end node.

9. A method according to claim 1 or 2 , comprising transferring the replicated unit and application payload over the same I/O channel.

10. A method according to claim 1 or 2 , comprising transferring the replicated unit and application payload over different I/O channels.

11. A method according to claim 10 , comprising replicating the data unit onto a different port in a multi-port I/O device.

12. A method according to claim 10 , comprising, for a PCI based interconnect, sending the application payload and replicated data units using different PCI functions or interrupt vectors.

13. A method according to claim 10 , comprising using different notification queues for sending completion messages for each of the application payload and replicated data units in an I/O device that has multiple notification queues for communicating with the end node.

14. A method according to claim 1 , comprising sending a completion message to the end node to indicate completion of transfer of the replicated unit.

15. A method according to claim 14 , comprising sending the replicated unit to the end node in the completion message.

16. A method according to claim 1 , comprising performing I/O tracing at the end node using information from the replicated unit.

17. A computer program which, when executed by a processor, is configured to perform the method of claim 1 .

18. An I/O device for use in a system for I/O tracing, in which the device communicates with an end node, the I/O device being configured to perform protocol offload, the device comprising:

means for replicating a data unit having protocol offload data, one or more protocol headers and one or more units of application payload; and

means for making the replicated unit available to the end node for I/O tracing.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 056157/0492 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2007
From: PARTHASARATHY, MOHAN; NARASIMHAN, SRIRAM
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 019787/0461 →