IP Library Granted Patent US 9,462,087
Granted Patent B2
US 9,462,087 · App. 14/273,720 · Granted Oct 4, 2016

Avoiding collisions in internet protocol (IP) packet identification numbers

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,462,087
App. No.
14/273,720
Granted
Oct 4, 2016
Kind
B2
Abstract

A pseudo-random generator may be used to generate identification values for formatted data packets. A method for transmitting data less susceptible to man-in-the-middle attacks may include receiving data for transmission over a network according to a protocol; formatting the data into one or more internet protocol (IP) packets by fragmenting the received data; and transmitting the one or more internet protocol (IP) packets. The step of formatting the data into one or more internet protocol (IP) packets may include generating a unique pseudo-random number while avoiding collisions with previously-used numbers; and inserting the pseudo-random number as an identifier in the one or more internet protocol (IP) packets corresponding to the received data.

Claims (62)

1. A computer-implemented method for providing secure communications over a network having data packets with identification IDs, the method, comprising:

receiving, at a processor, data for transmission over a network coupled to a communications adapter according to a protocol;

generating, by the processor, a pseudo-random number; formatting, by the processor, the data into one or more internet protocol (IP) packets, wherein the step of formatting the data into one or more internet protocol (IP) packets comprises inserting the pseudo-random number as an identifier in the one or more internet protocol (IP) packets;

after generating the pseudo-random number, comparing the pseudo-random number, a source address, and a destination address with a collision table; and

when a collision is identified for the generated pseudo-random number, the source address, and the destination address; incrementing the pseudo-random number until no collision is identified for the incremented pseudo-random number;

transmitting, through the communications adapter under control of the processor, the one or more internet protocol (IP) packets;

wherein the collision table comprises a protocol identifier, a time stamp, and pointers to implement a linked list, which may be chained off an indexed entry into the collision array.

2. The method of claim 1 , wherein the step of formatting the data comprises generating a pseudo-random number for a first packet of the one or more internet protocol (IP) packets without accessing a clock.

3. The method of claim 1 , wherein the step of formatting the data comprises generating the pseudo-random number based, at least in part, on a last used identifier for the protocol.

4. The method of claim 1 , wherein

the protocol identifier in the collision table comprises one of the following protocols: TCP, UDP, ICMP, and IGMP.

5. The method of claim 4 , Wherein the step of formatting the data further comprises:

when no collision is identified, inserting into the collision table a new entry comprising the pseudo-random number, the source address, and the destination address into the collision table; and

after a timeout period, deleting the new entry from the collision table.

6. The method of claim 4 , wherein the step of formatting the data further comprises skipping the comparing step when the protocol for the received data is transmission control protocol (TCP).

7. The method of claim 1 , wherein the step of formatting comprises:

receiving additional data for transmission over the network;

generating a second pseudo-random number; and

formatting the additional data into one or more additional internet protocol (IP) packets, wherein the step of formatting the data comprises inserting the second pseudo-random number as an identifier in the one or more additional internet protocol (IP) packets.

8. A computer program product containing encoded data that when read into a computing device and executed as a series of instruction implements a method for providing secure communications over a network having data packets with identification IDs, the method, comprising:

a non-transitory computer readable medium comprising code to perform the steps comprising:

receiving data for transmission over a network according to a protocol;

generating a pseudo-random number;

formatting the data into one or more internet protocol (IP) packets,

wherein the step of formatting the data into one or more internet protocol (IP) packets comprises inserting the pseudo-random number as an identifier in the one or more internet protocol (IP) packets; and

after generating the pseudo-random number, comparing the pseudo-random number, a source address, and a destination address with a collision table; and

when a collision is identified for the generated pseudo-random number, the source address, and the destination address; incrementing the pseudo-random number until no collision is identified for the incremented pseudo-random number;

transmitting the one or more internet protocol (IP) packets;

wherein the collision table comprises a protocol identifier, a time stamp, and pointers to implement a linked list, which may be chained off an indexed entry into the collision array.

9. The computer program product of claim 8 , wherein the step of formatting the data comprises generating a pseudo-random number for a first packet of the one or more internet protocol (IP) packets without accessing a clock.

10. The computer program product of claim 8 , wherein

the protocol identifier in the collision table comprises one of the following protocols: TCP, UDP, ICMP, and IGMP.

11. The computer program product of claim 10 , wherein the step of formatting the data further comprises:

when no collision is identified, inserting into the collision table a new entry comprising the pseudo-random number, the source address, and the destination address into the collision table; and

after a timeout period, deleting the new entry from the collision table.

12. The computer program product of claim 10 , wherein the step of formatting the data further comprises skipping the comparing step when the protocol for the received data is transmission control protocol (TCP).

13. The computer program product of claim 8 , wherein the step of formatting the data further comprises:

receiving additional data for transmission over the network;

generating a second pseudo-random number; and

formatting the additional data into one or more additional internet protocol (IP) packets, wherein the step of formatting the data comprises inserting the second pseudo-random number as an identifier in the one or more additional internet protocol (IP) packets.

14. An apparatus, comprising:

a memory;

a communications adapter; and

a processor coupled to the memory and the communications adapter, wherein the processor is configured to perform the steps comprising:

receiving data for transmission over a network coupled to the communications adapter according to a protocol;

generating a pseudo-random number;

formatting the data into one or more internet protocol (OP) packets,

wherein the step of formatting the data into one or more internet protocol (IP) packets comprises inserting the pseudo-random number as an identifier in the one or more internet protocol (IP) packets;

after generating the pseudo-random number, comparing the pseudo-random number, a source address, and a destination address with a collision table; and

when a collision is identified for the generated pseudo-random number, the source address, and the destination address; incrementing the pseudo-random number until no collision is identified for the incremented pseudo-random number; and

transmitting, through the communications adapter, the one or more internet protocol (IP) packets;

wherein the collision table comprises a protocol identifier, a time stamp, and pointers to implement a linked list, which may be chained off an indexed entry into the collision array.

15. The apparatus of claim 14 , wherein the step of formatting the data comprises generating a pseudo-random number for a first packet of the one or more internet protocol (IP) packets without accessing a clock.

16. The apparatus of claim 14 , wherein

the protocol identifier in the collision table comprises one of the following protocols: TCP, UDP, ICMP, and IGMP.

17. The apparatus of claim 16 , wherein the step of formatting the data further comprises:

when no collision is identified, inserting into the collision table a new entry comprising the pseudo-random number, the source address, and the destination address into the collision table; and

after a timeout period, deleting the new entry from the collision table.

18. The apparatus of claim 14 , wherein the step of formatting the data further comprises:

receiving additional data for transmission over the network;

generating a second pseudo-random number; and

formatting the additional data into one or more additional internet protocol (IP) packets, wherein the step of formatting the data comprises inserting the second pseudo-random number as an identifier in the one or more additional internet protocol (IP) packets.

Assignments (6)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
SECURITY INTEREST Recorded May 11, 2017
From: UNISYS CORPORATOIN
To: WELLS FARGO BANK, N.A.
Reel/Frame 042336/0589 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2014
From: DEISINGER, MARK V; SMITH, ALLYN D
To: UNISYS CORPORATION
Reel/Frame 032857/0705 →