IP Library Granted Patent US 9,698,825
Granted Patent B2
US 9,698,825 · App. 14/521,035 · Granted Jul 4, 2017

Fast update of data packet checksums

Inventor: George Weigt (Milpitas, CA)
Assignee: QUEST SOFTWARE INC.
H03M13/096G06F11/1004H03M13/07H03M13/093H04L1/0061H04L1/0072H04L1/0083H04L69/16H04L69/161
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 9,698,825
App. No.
14/521,035
Granted
Jul 4, 2017
Kind
B2
Abstract

A device includes a processor and a checksum module, wherein the checksum module calculates, for first data, an updated checksum that complies with Internet Engineering Task Force Request For Comments Number 1624 using twos-complement arithmetic. The processor replaces the original checksum with the updated checksum to update a data packet.

Claims (29)

1. A device comprising:

a processor; and

a hardware checksum module, wherein the checksum module calculates, for particular data, an updated checksum using unsigned twos-complement arithmetic, wherein the updated checksum is equivalent to a ones-complement checksum, wherein the unsigned twos-complement arithmetic operates as:

x 1= x−d;

if (x1>0xffff), then x1=x1−1;

where x is an original checksum, d is a ones-complement difference (m′−m) between first data associated with the updated checksum and second data (m) associated with the original checksum, and x1 is the updated checksum;

wherein the processor appends the updated checksum to the particular data to make a data packet.

2. The device of claim 1 , wherein the data packet comprises one of an Internet Protocol data packet and a Transmission Control Protocol data packet.

3. The device of claim 1 , wherein the processor performs a Network Address Translation and the first data comprises a translated address associated with the data packet.

4. A method comprising:

receiving first particular data;

changing the first particular data to provide second particular data;

calculating, by a hardware checksum module, an updated checksum of the second data using unsigned twos-complement arithmetic, wherein the updated checksum is equivalent to a ones-complement checksum calculated, wherein the unsigned twos-complement arithmetic operates as:

x 1= x−d;

if (x1>0xffff), then x1=x1−1,

where x is an original checksum, d is a ones-complement difference (m′−m) between first data (m′) associated with the updated checksum and second data (m) associated with the original checksum, and x1 is the updated checksum; and

appending the updated checksum to the second particular data to make a data packet.

5. The method of claim 4 , wherein the data packet comprises one of an Internet Protocol data packet and a Transmission Control Protocol data packet.

6. The method of claim 4 , wherein the processor performs a Network Address Translation and the first data comprises a translated address associated with the data packet.

7. A non-transitory computer-readable medium having stored thereon code that when executed by a processor performs a method, the method comprising:

receiving first particular data;

changing the first particular data to provide second particular data;

calculating, by a checksum module, an updated checksum of the second data using unsigned twos-complement arithmetic, wherein the updated checksum is equivalent to a ones-complement checksum, wherein the unsigned twos-complement arithmetic operates as:

x 1= x−d,

if (x1>0xffff), then x1=x1−1,

where x is an original checksum, d is a ones-complement difference (m′−m) between first data (m′) associated with the updated checksum and second data (m) associated with the original checksum, and x1 is the updated checksum; and

appending the updated checksum to the second particular data to make a data packet.

8. The non-transitory computer-readable medium of claim 7 , wherein the data packet comprises one of an Internet Protocol data packet and a Transmission Control Protocol data packet.

9. The non-transitory computer-readable medium of claim 7 , wherein the second data comprises a translated address.

Assignments (18)
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 059912/0097 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
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 →
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 →
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 →
CHANGE OF NAME Recorded Nov 2, 2016
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 040551/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2016
From: DELL PRODUCTS L.P.
To: DELL SOFTWARE INC.
Reel/Frame 040520/0220 →
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 →
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2014
From: WEIGT, GEORGE
To: DELL PRODUCTS, LP
Reel/Frame 034009/0074 →
Continuity (1)
Related Publication 20160118999A1 · Apr 28, 2016