IP Library Granted Patent US 9,313,224
Granted Patent B1
US 9,313,224 · App. 12/895,163 · Granted Apr 12, 2016

Connectivity protector

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,313,224
App. No.
12/895,163
Granted
Apr 12, 2016
Kind
B1
Abstract

A method of protecting connectivity in a network is provided. The method includes monitoring a client communication received from a client on the network, and determining, based on the monitoring, to buffer the client communication. Next, to avoid a flood block response from a node on the network, based on the determining the client communication is buffered, whereby the connectivity of the client is protected.

Claims (49)

1. A method of protecting connectivity in a network, comprising:

monitoring, at a client device, one or more requests to connect to the network;

determining, based on the monitoring, a count of the one or more requests received from the client device and transmitted over the network for which a corresponding acknowledgment has not been received from the network opening a connection;

determining that the one or more requests are relevant to a flood blocking response to the client device from a node on the network, wherein the flood blocking response comprises blocking of communication from the client device to the network when the count exceeds a blocking threshold of the node on the network;

determining, at the client device, that the count exceeds a buffering threshold that buffers the one or more requests, wherein the buffering threshold is different than the blocking threshold of the node on the network, and wherein communication from the client device to the network is blocked by the node when the count exceeds the blocking threshold; and

buffering, at the client device, the one or more requests prior to releasing the one or more buffered requests to the network when the count exceeds the buffering threshold.

2. The method of claim 1 , wherein the one or more requests include a request for host connectivity.

3. The method of claim 2 , wherein the request for host connectivity is a Transmission Control Protocol (TCP) SYN request.

4. The method of claim 2 , wherein the request for host connectivity is a User Datagram Protocol (UDP) connection request.

5. The method of claim 1 , further comprising:

monitoring a host communication received from a host;

determining, based on the monitoring, to release a buffered communication to the network; and

releasing the buffered communication to the network.

6. The method of claim 5 , wherein the host communication is an acknowledgement of a request for host connectivity.

7. The method of claim 6 , wherein the acknowledgement of a request for host connectivity is a TCP ACK response.

8. The method of claim 6 , wherein the acknowledgement of a request for host connectivity is a confirmation of an established UDP connection.

9. The method of claim 5 , wherein the determining to release is based on a threshold.

10. The method of claim 9 , wherein the threshold is a limiting threshold selected by estimating the blocking threshold of a flood blocker of the node.

11. The method of claim 9 , wherein the threshold is received from an external source.

12. The method of claim 5 , wherein the monitoring is based on incrementing and decrementing a counter, and the determining the count is based on a value of the counter.

13. The method of claim 1 , wherein the node is one of a router, a modem or a switch.

14. The method of claim 1 , wherein the buffering further comprises allowing select communication received from the client device to transmit on the network, wherein the select communication does not include requests to connect to the network.

15. An apparatus for protecting connectivity on a network, comprising:

a processor;

a tangible memory;

an outbound buffer; and

a connection monitor that, when executed by the processor:

monitors, at a client device, one or more requests to connect to the network,

and upon receipt of the one or more requests:

determines, based on the monitoring, a count of the one or more requests received from the client device and transmitted over the network for which a corresponding acknowledgment has not been received from the network opening a connection,

determines that the one or more requests are relevant to a flood blocking response to the client device from a node on the network, wherein the flood blocking response comprises blocking of communication from the client device to the network when the count exceeds a blocking threshold of the node on the network;

determines, at the client device, that the count exceeds a buffering threshold that buffers the one or more requests, wherein the buffering threshold is different than the blocking threshold of the node on the network, and wherein communication from the client device to the network is blocked by the node when the count exceeds the blocking threshold; and

buffers, at the client device, the one or more requests prior to releasing the one or more buffered requests to the network when the count exceeds the buffering threshold.

16. The apparatus of claim 15 , wherein the one or more requests include a TCP SYN request.

17. The apparatus of claim 15 , wherein the one or more requests include a User Datagram Protocol (UDP) connection request.

18. The apparatus of claim 15 , further comprising:

a threshold tester, wherein the connection monitor is further configured to, upon receipt of the one or more requests, determine to buffer the one or more requests based on a threshold and the threshold tester.

19. The apparatus of claim 18 , wherein the threshold is selected by estimating a blocking threshold of a flood blocker by automatically testing the flood blocker.

20. The apparatus of claim 15 , further comprising:

a confirmation receiver configured to monitor a host communication received from a host, wherein upon receipt of the host communication, the confirmation receiver determines, based on the monitoring of the confirmation receiver, to release a buffered communication from the buffer.

21. The apparatus of claim 20 , wherein the host communication is a TCP SYN ACK response.

22. The apparatus of claim 20 , wherein the host communication is a confirmation of an established UDP connection.

23. The apparatus of claim 20 , further comprising a counter, wherein the monitoring of the connection monitor and the confirmation receiver is a based on the counter, and the determining of the connection monitor and the confirmation receiver is based on a value of the counter.

24. A computer-readable memory having computer-executable instructions stored thereon that, when executed by a computing device, cause the computing device to perform a method of protecting connectivity in a network, comprising:

monitoring, at a client device, one or more requests to connect to the network;

determining, based on the monitoring, a count of the one or more requests received from the client device and transmitted over the network for which a corresponding acknowledgment has not been received from the network opening a connection;

determining that the one or more requests are relevant to a flood blocking response to the client device from a node on the network, and wherein the flood blocking response comprises blocking of communication from the client device to the network when the count exceeds a blocking threshold of the node on the network;

determining, at the client device, that the count exceeds a buffering threshold that buffers the one or more requests, wherein the buffering threshold is different than the blocking threshold of the node on the network, and wherein communication from the client device to the network is blocked by the node when the count exceeds the blocking threshold; and

buffering, at the client device, the one or more requests prior to releasing the one or more buffered requests to the network when the count exceeds the buffering threshold.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2010
From: ROSKIND, JAMES
To: GOOGLE INC.
Reel/Frame 025074/0542 →