IP Library Granted Patent US 7,304,959
Granted Patent B1
US 7,304,959 · App. 10/408,295 · Granted Dec 4, 2007

Utility based filtering mechanism for PMTU probing

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,304,959
App. No.
10/408,295
Granted
Dec 4, 2007
Kind
B1
Abstract

A method and mechanism for determining when to transmit a probe packet to detect increases in path maximum transmission unit (PMTU) in a network having a host and a target interconnected by the network. Calculate a utility variable corresponding to a number of packets to be transmitted from the host to the target which are greater than a predetermined amount of a known PMTU for the target. When the utility variable is greater than a predetermined utility threshold, sending instructions to the host to send a probe packet to detect increases in PMTU for the target. Storing the previous state of the internet path with respect to PMTU in a variable PPMTU and tracking it during decreases so that a restoration of the PMTU can be verified by sending probes. PMTU is treated as a resource which is either fully or partially used by an application.

Claims (48)

1. A method for determining when to transmit a probe packet to detect increases in path maximum transmission unit (PMTU) in a network having a host system and a target system interconnected by the network, comprising:

calculating a utility variable corresponding to a number of packets to be transmitted from the host system to the target system which are greater than a predetermined amount of a known PMTU for the target system, the calculating including retrieving from a destination cache, a learned path maximum transmission unit (LPMTU) and a previous path maximum transmission unit (PPMTU) corresponding to a route to the target system and comparing a size of each packet to be transmitted from the host system to the target system with the LPMTU for the target system, and for each packet exceeding a threshold packet size, incrementing the utility variable; and

when the utility variable is greater than a predetermined utility threshold, sending instructions to the host system to send a probe packet to detect increases in PMTU for the target system.

2. The method of claim 1 , further comprising resetting the utility variable to zero, when a probe packet is sent to the target system.

3. The method of claim 1 , further comprising:

when an error message relating to the probe packet is received and when the error message contains a suggested maximum transmission unit (NEWMTU) and when LPMTU<PPMTU<Immediately Connected link MTU, setting in the destination cache the PPMTU to the LPMTU, and setting the LPMTU to the NEWMTU for the corresponding target system.

4. The method of claim 1 , further comprising:

when a pre-defined time period has elapsed and when no error message relating to the probe packet is received, setting in the destination cache the PPMTU to the LMPTU and setting the LPMTU to the size of the probe packet for the corresponding target system.

5. The method of claim 1 , further comprising:

when the utility variable exceeds the predetermined utility threshold and when the PPMTU is greater than the LPMTU, the size of the probe packet is equal to the PPMTU.

6. The method of claim 1 , further comprising:

when the utility variable exceeds the predetermined utility threshold and when the PPMTU is less than or equal to the LPMTU, the size of the probe packet is equal to the link MTU of a directly connected link.

7. The method of claim 1 , wherein the threshold packet size is configurable.

8. The method of claim 1 , wherein the predetermined utility threshold is configurable.

9. The method of claim 1 , further comprising resetting the utility variable to zero, when the LPMTU changes for the corresponding target system.

10. A method for determining when to transmit a probe packet to detect increases in path maximum transmission unit (PMTU) in a network having a host system and a target system interconnected by the network, comprising:

starting a first timer;

retrieving from a destination cache, a learned path maximum transmission unit (LPMTU) and a previous path maximum transmission unit (PPMTU) corresponding to a route to the target system;

comparing a size of each packet to be transmitted from the host system to the target system with the LPMTU for the target system;

maintaining a count of the amount of packets exceeding a threshold packet size;

when the count exceeds a pre-determined action level, setting a status flag in the destination cache corresponding to the target system to PROBE;

when the first timer reaches a pre-determined event time, examining the destination cache for status flags set to PROBE, and for each status flag set to PROBE transmitting a probe packet to the corresponding target system and resetting the count to zero and starting a second timer;

when an error message relating to the probe packet is received and when the error message contains a suggested maximum transmission unit (NEWMTU), setting in the destination cache the PPMTU to the LPMTU, the status flag to ACTIVE, and the LPMTU to the NEWMTU for the corresponding target system, and resetting the count to zero and terminating the second timer; and when the second timer reaches a pre-determined timeout level, setting in the destination cache the PPMTU to the LPMTU, the status flag to ACTIVE, and the LPMTU to the size of the probe packet for the corresponding target system, and resetting the count to zero and terminating the second timer.

11. The method of claim 10 , further comprising:

when the target system is unreachable, setting in the destination cache the status flag corresponding to the target system to STALE; and

when the target system is reachable and the status flag in the destination cache for the corresponding target system is set to STALE, setting the LPMTU to the PPMTU, and the status flag to ACTIVE for the corresponding target system, and resetting the count to zero.

12. The method of claim 10 , wherein the threshold packet size is configurable.

13. The method of claim 10 , wherein the predetermined action level is configurable.

14. A computer program product, comprising:

a computer usable medium having computer readable code embodied therein capable of determining when to transmit a probe to detect increases in path maximum transmission unit (PMTU) in a network having a host system and a target system interconnected by a network, comprising:

a first code portion configured to calculate a utility variable corresponding to a number of packets to be transmitted from the host system to the target system which are greater than a predetermined amount of a known PMTU for the target system, the first code portion configured to retrieve from a destination cache, a learned path maximum transmission unit (LPMTU) and a previous path maximum transmission unit (PPMTU) corresponding to a route to the target system and to compare a size of each packet to be transmitted from the host system to the target system with the LPMTU for the target system; and

a second code portion configured to send instructions to the host system to send a probe to detect increases in PMTU for the target system, when the utility variable is greater than a predetermined utility threshold.

15. A mechanism configured to determine when to transmit a probe packet to detect increases in path maximum transmission unit (PMTU) in a network having a host system and a target system interconnected by the network, comprising:

a mechanism configured to start a first timer;

a mechanism configured to retrieve from a destination cache, a learned path maximum transmission unit (LPMTU) and a previous path maximum transmission unit (PPMTU) corresponding to a route to the target system;

a mechanism configured to compare a size of each packet to be transmitted from the host system to the target system with the LPMTU for the target system;

a mechanism configured to set in the destination cache a status flag corresponding to the target system to PROBE, when the count exceeds a pre-determined action level;

a mechanism configured to examine the destination cache for status flags set to PROBE, when the first timer reaches a pre-determined event time, and wherein the mechanism is further configured to transmit a packet probe to the corresponding target system for each status flag set to PROBE, reset the count to zero and start a second timer;

a mechanism configured to set the PPMTU to the LPMTU, when an error message containing a suggested maximum transmission unit (NEWMTU), and wherein the mechanism is further configured to set the status flag corresponding to the target system to ACTIVE, set the LPMTU to the NEWMTU, and reset the count to zero and terminate the second timer; and

a mechanism configured to set the PPMTU to the LPMTU, when the second timer reaches a pre-determined timeout level, and wherein the mechanism is further configured to set the status flag to ACTIVE and the LPMTU to the size of the probe packet for the corresponding target system, and reset the count to zero and terminate the second timer.

16. The mechanism of claim 15 , further comprising:

a mechanism to set the status flag corresponding to the target system to STALE, when the target system becomes unreachable; and

a mechanism to set the LPMTU to the PPMTU, when the target system is reachable and when the status flag is set to STALE, and wherein the mechanism is further configured to set the status flag for the corresponding target system to ACTIVE and reset the count to zero.

17. A method for optimizing path maximum transmission unit (PMTU) in a network having a host system and a target system interconnected by a network, wherein the target system is temporarily unreachable, comprising:

calculating a utility variable corresponding to a number of packets to be transmitted from the host system to the target system which are greater than a predetermined amount of a known PMTU for the target system, the calculating including retrieving from a destination cache, a learned path maximum transmission unit (LPMTU) and a previous path maximum transmission unit (PPMTU) corresponding to a route to the target system and comparing a size of each packet to be transmitted from the host system to the target system with the LPMTU for the target system and for each packet exceeding a threshold packet size, incrementing the utility variable; and

when the target system becomes reachable, setting the LPMTU to the PPMTU.

18. The method of claim 17 , further including

transmitting a probe packet to the target system, wherein the probe packet is the size of the PPMTU.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2003
From: SWAROOP, ASHISH; ALEX, RAMACHANDRAN NIRMALA
To: NOVELL, INC.
Reel/Frame 013952/0591 →