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

Inventor: Robert W. Twitchell (Cumming, GA)
Assignee: DISPERSIVE NETWORKS INC.
H04L67/06H04L45/586H04L69/32H04L69/14H04L69/18
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.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10/333,972 PREVIOUSLY RECORDED AT REEL: 56729 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2024
From: DISPERSIVE NETWORKS, INC.
To: ASSET RECOVERY ASSOCIATES, LLC
Reel/Frame 066797/0207 →
CORRECTIVE ASSIGNMENT TO CORRECT THE IN PROPERTY NUMBERS, PATENT NUMBER 10333972 IS INCORRECT PREVIOUSLY RECORDED AT REEL: 056422 FRAME: 0951. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 9, 2023
From: DISPERSIVE NETWORKS, INC.
To: DISPERSIVE HOLDINGS, INC.
Reel/Frame 066946/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2021
From: DISPERSIVE NETWORKS, INC.
To: ASSET RECOVERY ASSOCIATES, LLC
Reel/Frame 056729/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2021
From: DISPERSIVE NETWORKS, INC.
To: DISPERSIVE HOLDINGS, INC.
Reel/Frame 056422/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2021
From: DISPERSIVE NETWORKS, INC.
To: DISPERSIVE HOLDINGS, INC.
Reel/Frame 056333/0687 →
CHANGE OF NAME Recorded Jan 13, 2016
From: DISPERSIVE NETWORKS INC.
To: DISPERSIVE NETWORKS, INC.
Reel/Frame 037515/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: TWITCHELL, ROBERT W., JR
To: DISPERSIVE NETWORKS INC.
Reel/Frame 036514/0114 →
Continuity (5)
Continuation 12499075 · Jul 7, 2009
Continuation In Part 12253926 · Oct 17, 2008
Provisional Application 61133935 · Jul 7, 2008
Provisional Application 60999603 · Oct 17, 2007
Related Publication 20120017265A1 · Jan 19, 2012