IP Library Granted Patent US 7,929,418
Granted Patent B2
US 7,929,418 · App. 12/052,680 · Granted Apr 19, 2011

Data packet communication protocol offload method and 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,929,418
App. No.
12/052,680
Granted
Apr 19, 2011
Kind
B2
Abstract

A computing system, comprising a host computer system, a primary data packet communication protocol (such as TCP/IP) offload engine configured to act as an offload engine for the host computer system, and an alternate data packet communication protocol (such as TCP/IP) offload engine configured to act as an offload engine for the host computer system if the primary offload engine fails. The host computer system, the primary offload engine and the alternate offload engine are in data communication, the primary offload engine is configured to save predefined data packet communication protocol parameters to the host computer system during normal operation, the alternate offload engine is configured to retrieve the parameters from the host computer system if the primary offload engine fails.

Claims (26)

1. A computing system, comprising:

a host computer system;

a primary data packet communication protocol offload engine configured to act as an offload engine for said host computer system; and

an alternate data packet communication protocol offload engine configured to act as an offload engine for said host computer system if said primary offload engine fails;

wherein said host computer system, said primary offload engine and said alternate offload engine are in direct data communication and said primary and alternate offload engines communicate with one another via an external network on an ongoing basis prior to any failure of said primary offload engine, said primary offload engine is configured to save predefined data packet communication protocol parameters to said host computer system during normal operation, said alternate offload engine is configured to retrieve said predefined parameters from said host computer system if said primary offload engine fails; and

wherein said alternate offload engine is configured to save all data packet communication protocol packets in a circular buffer sent by said primary offload engine to said host computer system as long as required for performing a reliable fail-over of data packet communication protocol connections.

2. A computing system as claimed in claim 1 , wherein said data packet communication protocol is TCP/IP and said predefined parameters are TCP parameters.

3. A computing system as claimed in claim 1 , wherein said alternate offload engine is configured to recreate each socket and data packet communication protocol connection of said primary offload engine if said primary offload engine fails.

4. A computing system as claimed in claim 1 , wherein said data packet communication protocol is TCP/IP and said predefined parameters are TCP parameters that comprise a primary TCP/IP offload engine SYN value, a primary TCP/IP offload engine ACK value, a Window size multiplier and a peer ACK value.

5. A computing system as claimed in claim 4 , wherein said primary offload engine is configured to periodically save said primary offload engine ACK value to said host computer system.

6. A computing system as claimed in claim 4 , wherein said primary offload engine is configured to periodically save said peer ACK value at least initially.

7. A computing system as claimed in claim 1 , wherein said primary offload engine is configured to forward said predefined parameters with other data packets to said host computer system.

8. A method for handling the failure of a primary data packet communication protocol offload engine of a host computer system, comprising:

in response to failure of a primary data packet communication protocol offload engine, retrieving by an alternate data packet communication protocol offload engine predefined data packet communication protocol parameters previously periodically saved to said host computer system by said primary offload engine;

recreating each socket and data packet communication protocol connection of said primary offload engine by said alternate offload engine;

setting up a failed-over data packet communication protocol connection by said alternate offload engine;

in response to normal operation of said primary data packet communication protocol offload engine, saving by said alternate offload engine all data packet communication protocol packets in a circular buffer sent by said primary offload engine to said host computer system as long as required for performing a reliable fail-over of data packet communication protocol connections; and

wherein said host computer system, said primary offload engine and said alternate offload engine are in direct data communication and said primary and alternate offload engines communicate with one another via an external network on an ongoing basis prior to any failure of said primary offload engine.

9. A method as claimed in claim 8 , wherein said data packet communication protocol is TCP/IP and said predefined parameters are TCP parameters.

10. A method as claimed in claim 8 , including receiving last received buffer information from said host computer system by said alternate offload engine and, upon receipt of said last received buffer information, deleting said packets saved by said alternate offload engine.

11. A method as claimed in claim 8 , including modifying internal socket structures within a Linux kernel data packet communication protocol stack on said alternate offload engine by said alternate offload engine.

12. A non-transitory computer readable storage medium, having instructions stored thereon that, when executed, cause a computing system to perform a method for handling the failure of a primary data packet communication protocol offload engine of a host computer system, said method comprising:

in response to failure of a primary data packet communication protocol offload engine, retrieving by an alternate data packet communication protocol offload engine predefined data packet communication protocol parameters previously periodically saved to said host computer system by said primary offload engine;

recreating each socket and data packet communication protocol connection of said primary offload engine by said alternate offload engine; setting up a failed-over data packet communication protocol connection by said alternate offload engine;

in response to normal operation of said primary data packet communication protocol offload engine, saving by said alternate offload engine all data packet communication protocol packets in a circular buffer sent by said primary offload engine to said host computer system as long as required for performing a reliable fail-over of data packet communication protocol connections; and

wherein said host computer system, said primary offload engine and said alternate offload engine are in direct data communication and said primary and alternate offload engines communicate with one another via an external network on an ongoing basis prior to any failure of said primary offload engine.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
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 Jun 6, 2008
From: MOORTHY, SRINIVASA; PRABHU, KRISHNA PRABHAKAR; PANDAY, RAJIV; PADMANABHA, LAKSHMINARASIMHAN NAVEENAM
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 021066/0287 →