IP Library Granted Patent US 10,681,008
Granted Patent B1
US 10,681,008 · App. 15/838,581 · Granted Jun 9, 2020

Use of checkpoint restore in user space for network socket management

Inventors: Pavel Emelyanov (Moscow, RU); Alexey Kobets (Seattle, WA)
Assignee: Virtuozzo International GmbH
H04L63/0254H04L41/0672H04L41/0853H04L63/0236H04L63/0263
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 10,681,008
App. No.
15/838,581
Granted
Jun 9, 2020
Kind
B1
Abstract

A computer-implemented system for network socket management includes a host having a plurality of sockets and a hash table (data structure) storing data on network connections corresponding to the sockets; a firewall with a plurality of rules for routing incoming packets to the sockets; a socket image file that stores a state of each suspended socket. A network connection corresponding to the suspended socket is maintained open. A filter that monitors incoming packets and restores suspended sockets to active status when a packet for the suspended socket is received. The filter is implemented as part of the firewall, or as a hardware front end. The sockets, the firewall and the socket image file are all maintained in user space.

Claims (31)

1. A computer-implemented system for network socket management, the system comprising:

a host having a plurality of sockets and a data structure storing data on network connections corresponding to the sockets;

a socket image file that stores a state of each suspended socket,

wherein a socket is suspended when an analyzer module determines that the socket is a candidate for suspension based on connection behavior or socket behavior,

wherein a network connection corresponding to the suspended socket is maintained open without removing the corresponding socket from the data structure while a corresponding kernel object is deleted, and without informing a connection counterparty of a change in socket status; and

a filter that monitors incoming packets and restores suspended sockets to active status based on input from the analyzing module that is based on the connection behavior or the socket behavior.

2. The system of claim 1 , wherein the filter uses a connection ID and is implemented as a hardware front end.

3. The system of claim 1 , wherein the socket image file stores port-address pairs and network buffer contents for the suspended sockets.

4. The system of claim 1 , wherein the socket image file stores TCP connection parameters for the suspended sockets.

5. The system of claim 1 , wherein the socket is suspended when no packets are received on its corresponding connection for a predetermined period of time.

6. The system of claim 1 , wherein a socket is suspended based on a predefined priority.

7. The system of claim 1 , wherein a socket is suspended based on a least recently used algorithm applied to all the sockets to determine inactivity.

8. The system of claim 1 , wherein the socket is suspended when its data rate is lower than all the other sockets.

9. The system of claim 1 , wherein the socket is suspended when a DDOS attack is detected.

10. The system of claim 1 , wherein the socket is suspended based on its port number, when a range of ports is suspended.

11. The system of claim 1 , wherein a suspended socket is removed from the data structure used to search for a socket.

12. The system of claim 1 , wherein the system does not initiate a closing of a connection when the connection is inactive.

13. The system of claim 1 , wherein objects corresponding to the suspended sockets are removed from the data structure are released or freed for other use.

14. The system of claim 1 , wherein the data structure is any of a hash table, a tree, a B-tree, an RB tree, a radix tree, an AVL tree), and a flat list.

15. The system of claim 1 , wherein memory allocated to the suspended socket is freed up.

16. The system of claim 1 , wherein, for a suspended socket, no information is sent to the client to indicate that the connection has changed, a process of closing the connection is not initiated.

17. The system of claim 1 , wherein the socket is restored when a packet for the suspended socket is received.

18. The system of claim 1 , wherein the filter is implemented as part of a firewall.

19. The system of claim 18 , wherein the sockets, the firewall and the socket image file are all maintained in user space.

20. A computer-implemented method for network socket management, the method comprising:

on a host having a plurality of sockets and a data structure storing data on network connections corresponding to the sockets, storing a socket image file that stores a state of each suspended socket;

suspending a socket when an analyzer module determines that the socket is a candidate for suspension based on connection behavior or socket behavior;

maintaining a network connection corresponding to the suspended socket open without removing the corresponding socket from the data structure, while a corresponding kernel object is deleted, and without informing a connection counterparty of a change in socket status; and

monitoring incoming packets using a filter and restoring suspended sockets to active status based on input from the analyzing module that is based on the connection behavior or the socket behavior.

21. The method of claim 20 , wherein the socket is restored when the analyzing block detects an incoming packet for the socket comes in.

22. The method of claim 20 , wherein the socket is restored preemptively when resources are available.

Assignments (2)
SECURITY INTEREST IN TRADEMARK, PATENT, AND COPYRIGHT RIGHTS Recorded Dec 22, 2022
From: VIRTUOZZO INTERNATIONAL GMBH; ONAPP LIMITED
To: WILMINGTON TRUST (LONDON) LIMITED
Reel/Frame 062206/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: EMELYANOV, PAVEL; KOBETS, ALEXEY
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 044838/0812 →