IP Library Granted Patent US 6,993,039
Granted Patent B2
US 6,993,039 · App. 10/200,241 · Granted Jan 31, 2006

System and method for GRE heartbeats

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 6,993,039
App. No.
10/200,241
Granted
Jan 31, 2006
Kind
B2
Abstract

A GRE tunnel initiator and a tunnel endpoint can exchange GRE Heartbeat messages to provide status information about the tunnel endpoint. The tunnel endpoint can send the tunnel initiator a GRE Heartbeat message through an established GRE tunnel. The GRE Heartbeat messages can be sent at different times while the GRE tunnel is active, and they can indicate to the GRE tunnel initiator that the tunnel endpoint remains active.

Claims (44)

1. A method for conveying status information between endpoints of a tunnel, the method comprising:

establishing a tunnel between a first endpoint and a second endpoint, wherein the first and second endpoints are connected to a packet data network, and wherein the tunnel uses a tunneling protocol to send packets between the first and second endpoints via the tunnel;

determining a frequency at which the second endpoint will send status messages to the first endpoint; and

sending status messages from the second endpoint to the first endpoint at the frequency via the tunnel, wherein the status messages are sent using the tunneling protocol.

2. A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 1 .

3. The method of claim 1 , further comprising:

receiving from the first endpoint a request to send the status messages to the first endpoint, wherein the request is sent via the tunnel using the tunneling protocol.

4. The method of claim 1 , wherein establishing the tunnel between the first endpoint and the second endpoint comprises:

determining that the second endpoint is capable of receiving the request and responsively sending the status messages.

5. The method of claim 1 , wherein the tunneling protocol is GRE.

6. The method of claim 1 , wherein the tunnel protocol is GRE, wherein the status messages use a GRE header, and wherein a field in the GRE header can be used to differentiate the status messages from GRE data packets.

7. The method of claim 1 , wherein the first endpoint is a home agent in a Mobile IP session, wherein the second endpoint is a foreign agent in the Mobile IP session, and wherein the tunnel uses GRE to implement IP-in-IP tunneling.

8. The method of claim 1 , wherein the first endpoint is a first firewall in a VPN, wherein the second endpoint is a second firewall in a VPN, and wherein the tunnel uses PPTP to implement PPP-over-IP tunneling.

9. The method of claim 1 , wherein the first endpoint is a computing device in a VPN, wherein the second endpoint is a firewall in a VPN, and wherein the tunnel uses PPTP to implement PPP-over-IP tunneling.

10. A method for providing status information for endpoints of a GRE tunnel, the method comprising:

establishing a GRE tunneling session between a first endpoint of a GRE tunnel and a second endpoint of the GRE tunnel;

establishing a GRE Heartbeat session between the first endpoint arid the second endpoint, wherein the first and second endpoint uniquely identify the GRE Heartbeat session using a heartbeat session identifier;

receiving a request from the first endpoint for a status message, wherein the request is sent from the first endpoint to the second endpoint through the GRE tunnel, wherein the request uses a GRE header, and wherein the request identifies the GRE Heartbeat session using the heartbeat session identifier; and

responsively sending the status message to the first endpoint via the GRE tunnel, wherein the status message uses a GRE header, and wherein the status message identifies the GRE Heartbeat session using the heartbeat session identifier.

11. A computer readable medium having stared therein instructions for causing a central processing unit to execute the method of claim 10 .

12. The method of claim 10 , wherein the GRE header for the status message includes a key field, and wherein the key field carries the heartbeat session identifier.

13. The method of claim 10 , wherein the request is uniquely identified using a sequence number, wherein the GRE header for the status message includes a sequence number field, and wherein the sequence number field carries the sequence number.

14. The method of claim 10 , wherein the first endpoint is a home agent in a Mobile IP session, wherein the second endpoint is a foreign agent in the Mobile IP session, and wherein the tunnel uses GRE to implement IP-in-IP tunneling.

15. The method of claim 10 , wherein the first endpoint is a first firewall in a VPN, wherein the second endpoint is a second firewall in a VPN and wherein the tunnel uses PPTP to implement PPP-over-IP tunneling.

16. The method of claim 10 , wherein the first endpoint is a computing device in a VPN, wherein the second endpoint is a firewall in a VPN, and wherein The tunnel uses PPTP to implement PPP-over-IP tunneling.

17. A method for providing status information to an initiating tunnel endpoint of a GRE tunnel, the method comprising:

receiving a GRE packet from the initiating tunnel endpoint via the GRE tunnel;

checking an indicator bit in the GRE packet to determine that the packet is a status request from the initiating endpoint, wherein the indicator bit differentiates the status request sent via tile GRE tunnel from GRE data packets sent via The GRE tunnel; and

responsively sending the tunnel initiator a status packet via the GRE tunnel, wherein the status packet also includes an indicator bit to differentiate the status packet sent via the GRE tunnel from GRE data packets sent via the GRE tunnel.

18. A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 17 .

19. A method for requesting status information from an endpoint in a GRE tunnel, the method comprising:

establishing a GRE Heartbeat session with the endpoint, wherein the GRE Heartbeat session is uniquely identified using a heartbeat session key;

sending a first request for a first status packet to the endpoint via the GRE tunnel, wherein the first request includes the heartbeat session key, and wherein the first request includes a first identifier that corresponds to the first request; and

receiving the first status packet from the endpoint via the GRE tunnel, wherein the first status packet includes the heartbeat session key, and wherein the first status packet includes the first identifier.

20. A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 19 .

21. The method of claim 19 , further comprising:

sending a second request for a second status packet to the endpoint via the GRE tunnel, wherein the second request includes the heartbeat session key, wherein the second request includes a second identifier that corresponds to the second request, and wherein the second identifier is different from the first identifier; and

receiving the second status packet from the endpoint via the GRE tunnel, wherein the second status packet includes the heartbeat session key, and wherein the second status packet includes the second identifier.

22. The method of claim 19 , wherein the request includes an indicator bit to differentiate the request from GRE data packets, and wherein the status packet includes an indicator bit to differentiate the status packet from GRE data packets.

23. A memory for storing GRE heartbeat packets for a GRE heartbeat session between endpoints of a GRE tunnel, the memory comprising:

a data structure stored in the memory, the data structure comprising:

an indicator bit, wherein the indicator bit differentiates GRE heartbeat packets from GRE data packets;

a key field, wherein the key field can store a unique indicator for the GRE heartbeat session; and

a sequence number field, wherein the sequence number field can store a unique identifier corresponding to a GRE heartbeat packet from a tunnel initiator and a responsive GRE heartbeat packet from the endpoint.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE ASSIGNEE NAME ON THE COVERSHEET PREVIOUSLY RECORDED AT REEL: 033978 FRAME: 0678. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 27, 2021
From: TRIDENT IP SOLUTIONS, LLC
To: OPEN INVENTION NETWORK LLC
Reel/Frame 057946/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2014
From: TRIDENT IP SOLUTIONS, LLC
To: OPEN INVENTION NETWORK. LLC
Reel/Frame 033978/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: UTSTARCOM, INC.
To: TRIDENT IP SOLUTIONS, LLC
Reel/Frame 032044/0933 →
ASSIGNMENT OF PATENT RIGHTS Recorded Sep 29, 2003
From: 3COM CORPORATION
To: UTSTARCOM, INC.
Reel/Frame 014499/0637 →