IP Library Granted Patent US 9,094,460
Granted Patent B2
US 9,094,460 · App. 13/604,745 · Granted Jul 28, 2015

Socket tables for fast data packet transfer operations

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,094,460
App. No.
13/604,745
Granted
Jul 28, 2015
Kind
B2
Abstract

A fast send method may be selectively implemented for certain data packets received from an application for transmission through a network interface. When the fast send method is triggered for a data packet, the application requesting transmission of the data packet may be provided a completion notice nearly immediately after the data packet is received. The fast send method may be used for data packets similar to previously-transmitted data packets for which the information in the data packet is already vetted. For example, a data packet with a similar source address, destination address, source port, destination port, application identifier, and/or activity identifier may have already been vetted. A socket table may be maintained listing previously-transmitted data packets and an instruction for handling additional data packets similar to the data packet entered in the socket table.

Claims (44)

1. A method, comprising:

receiving, from an application, a first data packet for transmission over a network interface;

identifying a similar packet in a socket table, wherein the socket table comprises information regarding previously received data packets, and wherein a similar packet is a previously received data packet in which information regarding the data packet is similar to information regarding the first data packet; and

determining from the socket table, a network interface transmission method for the first data packet and

queuing, when no similar packet is identified in the socket table, the first data packet for transmission according to a slow send method; and

adding information corresponding to the first data packet to the socket table.

2. The method of claim 1 , in which the step of identifying the similar packet in the socket table comprises matching at least one of a local address, a local port, a remote address, a remote port, an application identifier, and an activity identifier of the first data packet in the socket table.

3. The method of claim 2 , in which the step of identifying the similar packet comprises calculating a hash value for the first data packet.

4. The method of claim 2 , further comprising:

queuing, when the similar packet is identified in the socket table, the first data packet for transmission according to a fast send method; and

setting a timestamp for the similar packet in the socket table to a current time.

5. The method of claim 4 , further comprising removing the similar packet from the socket table when a predetermined period of time has passed.

6. The method of claim 4 , further comprising transmitting a completion notice to the application after queuing the first data packet for transmission.

7. The method of claim 4 , further comprising:

receiving a message that the application is detaching; and

deleting the information corresponding to the first data packet from the socket table.

8. A computer program product, comprising:

a non-transitory computer readable medium comprising:

code to receive, from an application, a first data packet for transmission over a network interface;

code to identify a similar packet in a socket table, wherein the socket table comprises information regarding previously received data packets, and wherein a similar packet is a previously received data packet in which information regarding the data packet is similar to information regarding the first data packet; and

code to determine from the socket table, a network interface transmission method for the first data packet; and

code to queue, when no similar packet is identified in the socket table, the first data packet for transmission according to a slow send method; and

code to add information corresponding to the first data packet to the socket table.

9. The computer program product of claim 8 , in which the medium further comprises code to match at least one of a local address, a local port, a remote address, a remote port, an application identifier, and an activity identifier of the first data packet in the socket table.

10. The computer program product of claim 9 , in which the medium further comprises code to calculate a hash value for the first data packet.

11. The computer program product of claim 9 , in which the medium further comprises:

code to queue, when the similar packet is identified in the socket table, the first data packet for transmission according to a fast send method; and

code to set a timestamp for the similar packet in the socket table to a current time.

12. The computer program product of claim 11 , in which the medium further comprises code to remove the similar packet from the socket table when a predetermined period of time has passed.

13. The computer program product of claim 11 , in which the medium further comprises code to transmit a completion notice to the application after queuing the first data packet for transmission.

14. An apparatus, comprising:

a memory;

a network interface; and

a processor coupled to the memory and to the network interface, in which the processor is configured:

to receive, from an application, a first data packet for transmission over the network interface;

to identify a similar packet in a socket table, wherein the socket table comprises information regarding previously received data packets, and wherein a similar packet is a previously received data packet in which information regarding the data packet is similar to information regarding the first data packet; and

to determine from the socket table, a network interface transmission method for the first data packet; and

to queue, when no similar packet is identified in the socket table, the first data packet for transmission according to a slow send method; and

to add information corresponding to the first data packet to the socket table.

15. The apparatus of claim 14 , in which the processor is further configured to match at least one of a local address, a local port, a remote address, a remote port, an application identifier, and an activity identifier of the first data packet in the socket table.

16. The apparatus of claim 15 , in which the processor is further configured to calculate a hash value for the first data packet.

17. The apparatus of claim 15 , in which the processor is further configured:

to queue, when the similar packet is identified in the socket table, the first data packet for transmission according to a fast send method; and

to set a timestamp for the similar packet in the socket table to a current time.

Assignments (7)
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 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2012
From: DEISINGER, MARK V; SMITH, ALLYN; PETERS, JOHN A
To: UNISYS CORPORATION
Reel/Frame 029353/0730 →