IP Library Granted Patent US 9,246,980
Granted Patent B2
US 9,246,980 · App. 13/242,227 · Granted Jan 26, 2016

Validating packets in network communications

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,246,980
App. No.
13/242,227
Filed
Sep 23, 2011
Granted
Jan 26, 2016
Kind
B2
Art Unit
2445
USPC
709/230
Abstract

A method for validating packets in network communications includes receiving, at networking hardware of a device, a packet communicated from another device over a network; intercepting, by virtual dispersive routing (VDR) software loaded on the device, the packet as it is passed from the networking hardware; determining, by the VDR software, that a destination address of the packet corresponds to an address associated with the device; and determining, by the VDR software, using a virtual machine for a network connection that virtualizes network capabilities of the device, that the packet belongs to a valid application running on the device.

Claims (42)

1. A method for validating packets in network communications, comprising the steps of:

(a) spawning at a device, by virtual dispersive routing (VDR) software loaded on the device in response to a request for a network connection from a particular application running on the device, a virtual machine that virtualizes networking capabilities of the device such that a virtual network connection is provided;

(b) receiving, at networking hardware of a device, a packet communicated from another device over a network;

(c) intercepting, by virtual dispersive routing (VDR) software loaded on the device, the packet as it is passed from the networking hardware;

(d) determining, by the VDR software, that a destination address of the packet corresponds to an address associated with the virtual network connection; and

(e) determining, by the VDR software, that the packet belongs to a valid application running on the device by

(i) running a hash function utilizing data from the packet as input to generate as output a hash value,

(ii) comparing the generated hash value to an identification code associated with the particular application and determining that there is a match.

2. The method of claim 1 , wherein the particular application is a computer game.

3. The method of claim 1 , wherein the device is a computer.

4. The method of claim 3 , wherein the computer includes a plurality of processing cores.

5. The method of claim 1 , wherein the device is a mobile phone.

6. The method of claim 1 , wherein the particular application is an email application.

7. A method for validating packets in network communications, comprising the steps of:

(a) spawning at a device, by virtual dispersive routing (VDR) software loaded on the device in response to a request for a network connection from a particular application running on the device, a virtual machine that virtualizes networking capabilities of the device such that a virtual network connection is provided;

(b) receiving, at networking hardware of a device, a packet communicated from another device over a network;

(c) intercepting, by the VDR software loaded on the device, the packet as it is passed from the networking hardware;

(d) determining, by the VDR software, that a destination address of the packet corresponds to an address associated with the virtual network connection; and

(e) determining, by the VDR software, that the packet does not belong to a valid application running on the device, such determination comprising

(i) running a hash function utilizing data from the packet as input to generate as output a hash value,

(ii) comparing the generated hash value to an identification code associated with the particular application and determining that there is not a match;

(f) in response to determining that the generated hash value does not match the identification code associated with the particular application, quarantining the packet.

8. The method of claim 7 , wherein the particular application is a computer game.

9. The method of claim 7 , wherein the device is a computer.

10. The method of claim 9 , wherein the computer includes a plurality of processing cores.

11. The method of claim 7 , wherein the device is a mobile phone.

12. The method of claim 7 , wherein the particular application is an email application.

13. A method for validating packets in network communications, comprising the steps of:

(a) spawning at a device, by virtual dispersive routing (VDR) software loaded on the device in response to a request for a network connection from a particular application running on the device, a virtual machine that virtualizes networking capabilities of the device such that a virtual network connection is provided;

(b) loading a spider configured to thread together an upper application layer and a lower layer of a protocol stack;

(c) receiving, at networking hardware of a device, a packet communicated from another device over a network;

(d) intercepting, by virtual dispersive routing (VDR) software loaded on the device, the packet as it is passed from the networking hardware;

(e) determining, by the VDR software, that a destination address of the packet corresponds to an address associated with the virtual network connection; and

(f) accessing, by the VDR software at the lower layer of the protocol stack via the spider, an identification code associated with the particular application;

(g) determining, by the VDR software, that the packet belongs to a valid application running on the device by

(i) running a hash function utilizing data from the packet as input to generate as output a hash value,

(ii) comparing the generated hash value to the accessed identification code and determining that there is a match.

14. The method of claim 13 , wherein the particular application is a computer game.

15. The method of claim 13 , wherein the device is a computer.

16. The method of claim 15 , wherein the computer includes a plurality of processing cores.

17. The method of claim 13 , wherein the device is a mobile phone.

18. The method of claim 13 , wherein the particular application is an email application.