IP Library Granted Patent US 7,738,380
Granted Patent B1
US 7,738,380 · App. 11/772,723 · Granted Jun 15, 2010

Reassembly-free rewriting of out-of-order data payload

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,738,380
App. No.
11/772,723
Granted
Jun 15, 2010
Kind
B1
Abstract

Techniques for reassembly-free rewriting of out-of-order data packet payload are described herein. In one aspect of the invention, in response to packets received at a network access device from a first network node destined to a second network node, the packets are stored in a buffer within the network access device if the packets need to be modified before sending the packets to the second network node. The original our-of-order packets are dropped and do not reach the second network node. The payloads of the packets stored in the buffer are modified and thereafter, the modified packets with the modified payloads are sent to the second network node. Other methods and apparatuses are also described.

Claims (31)

1. A machine implemented method for processing network data packets, comprising:

in response to packets received at a network access device from a first network node over a first network destined to a second network node over a second network, determining whether the packets need to be modified based on one or more policies associated with the packets maintained by the network access device, wherein the packets are out-of-order network packets transmitted from the first network node;

passing the packets to the second network node without buffering the packets within the network access device if the packets do not need to be modified; and

if the packets need to be modified,

storing the packets in a buffer within the network access device before sending the packets to the second network node,

modifying payloads of the packets stored in the buffer, and

transmitting the packets with the modified payloads to the second network node, wherein original packets without modified are not transmitted to the second network node.

2. The method of claim 1 , wherein the modified payloads of the packets are TCP payloads of the packets.

3. The method of claim 1 , wherein storing the packets in the buffer comprises buffering a segment of the packets sufficient enough to cover an area that needs to be modified.

4. The method of claim 3 , further comprising passing subsequent packets to the second network node without buffering once the segment of the packets has been buffered and modified, and sent to the second network node.

5. The method of claim 1 , further comprising calculating a checksum value for the modified packets prior to sending the modified packets to the second network node, wherein the checksum value is used to verify the modified packets by the second network node.

6. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform a method for processing network data packets, the method comprising:

in response to packets received at a network access device from a first network node over a first network destined to a second network node over a second network, determining whether the packets need to be modified based on one or more policies associated with the packets maintained by the network access device, wherein the packets are out-of-order network packets transmitted from the first network;

passing the packets to the second network node without buffering the packets within the network access device if the packets do not need to be modified; and

if the packets need to be modified,

storing the packets in a buffer within the network access device before sending the packets to the second network node,

modifying payloads of the packets stored in the buffer, and

transmitting the packets with the modified payloads to the second network node, wherein original packets without modified are not transmitted to the second network node.

7. The non-transitory machine-readable medium of claim 6 , wherein the modified payloads of the packets are TCP payloads of the packets.

8. The non-transitory machine-readable medium of claim 6 , wherein storing the packets in the buffer comprises buffering a segment of the packets sufficient enough to cover an area that needs to be modified.

9. The non-transitory machine-readable medium of claim 8 , wherein the method further comprises passing subsequent packets to the second network node without buffering once the segment of the packets has been buffered and modified, and sent to the second network node.

10. The non-transitory machine-readable medium of claim 6 , wherein the method further comprises calculating a checksum value for the modified packets prior to sending the modified packets to the second network node, wherein the checksum value is used to verify the modified packets by the second network node.

11. A network access device for routing network data packets, comprising:

an ingress interface to receive packets from a first network node over a first network destined to a second network node over a second network, wherein the packets are out-of-order network packets;

a policy module to maintain one or more policies to determine whether the packets need to be modified;

a buffer coupled to temporarily store the packets if the packets need to be modified before sending the packets to the second network node, without sending the packets to the second network node;

a packet reassembly logic coupled to the buffer to modify payloads of the packets stored in the buffer if the packets need to be modified, wherein the packet reassembly logic is configured to pass the packets to the second network node without buffering the packets in the buffer if the packets do not need to be modified; and

an egress interface to transmit the packets having the modified payloads to the second network node over the second network, wherein original packets without modified are not transmitted to the second network node, if the packets need to be modified.

12. The network access device of claim 11 , wherein the buffer is configured to store a segment of the packets sufficient enough to cover an area that needs to be modified.

13. The network access device of claim 12 , wherein the packet reassembly logic is configured to pass subsequent packets to the second network node without buffering once the segment of the packets has been buffered and modified, and sent to the second network node.

14. The network access device of claim 11 , wherein the packet reassembly logic is configured to calculate a checksum value for the modified packets prior to sending the modified packets to the second network node, wherein the checksum value is used to verify the modified packets by the second network node.

Assignments (24)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Apr 30, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046040/0277 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
CONVERSION AND NAME CHANGE Recorded Dec 14, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 037289/0239 →
MERGER Recorded Dec 14, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 037286/0111 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024823/0280 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0126 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024776/0337 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0115 →
SECURITY AGREEMENT Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024776/0337 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024823/0280 →
CHANGE OF NAME Recorded Jul 28, 2010
From: PSM MERGER SUB (DELAWARE), INC.
To: SONICWALL, INC.
Reel/Frame 024755/0091 →
MERGER Recorded Jul 28, 2010
From: SONICWALL, INC.
To: PSM MERGER SUB (DELAWARE), INC.
Reel/Frame 024755/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2007
From: DUBROVSKY, ALEKSANDR; YANOVSKY, ROMAN; YANOVSKY, BORIS
To: SONICWALL, INC.
Reel/Frame 019508/0681 →