IP Library Granted Patent US 7,933,208
Granted Patent B2
US 7,933,208 · App. 11/236,309 · Granted Apr 26, 2011

Facilitating storage and querying of payload attribution information

Assignee: Polytechnic Institute of New York University
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 7,933,208
App. No.
11/236,309
Granted
Apr 26, 2011
Kind
B2
Abstract

A hierarchical data structure of digested payload information (e.g., information within a payload, or information spanning two or more payloads) allows a payload excerpt to be attributed to earlier network flow information. These compact data structures permit data storage reduction, while permitting efficient query processing with a low level of false positives. One example of such a compact data structure is a hierarchical Bloom filter. Different layers of the hierarchy may correspond to different block sizes.

Claims (38)

1. A computer-implemented method comprising:

a) accepting, by a payload attribution system, a payload content and attribute information of a flow;

b) segmenting, by the payload attribution system, the payload content into a first set of blocks;

c) for each of the blocks of the first set of blocks, generating, by the payload attribution system, a summary of each of

(1) the block,

(2) the block together with corresponding offset information, and

(3) the block together with the corresponding offset information and the attribute information of the flow,

using at least one summarizing function; and

d) storing, by the payload attribution system, for each of the blocks of the first set of blocks, the generated summaries on a computer-readable storage device.

2. The computer-implemented method of claim 1 further comprising:

e) accepting, from a query requestor, a query including a query parameter which includes at least an arbitrary excerpt of payload content;

f) determining a summary of the query parameter;

g) finding one or more stored summaries that match the summary of the query parameter, by searching the stored summaries;

h) obtaining flow attributes associated with the found one or more stored summaries; and

i) presenting the flow attributes associated with the found one or more stored summaries to the query requestor.

3. The computer-implemented method of claim 1 wherein the attribute information of the flow includes at least one of a source Internet protocol address and a destination Internet protocol address.

4. The computer-implemented method of claim 1 wherein the attribute information of the flow includes at least one of a source port and a destination port.

5. The computer-implemented method of claim 1 wherein each of the at least one summarizing functions is a hash function.

6. The computer-implemented method of claim 1 further comprising:

segmenting, by the payload attribution system, the payload content into a second set of blocks, wherein each of the blocks of the second set is a concatenation of at least two blocks of the first set;

for each of the blocks of the second set of blocks, generating, by the payload attribution system, a summary of each of

(1) the block,

(2) the block together with corresponding offset information, and

(3) the block together with the corresponding offset information and the attribute information of the flow,

using the at least one summarizing function;

storing, by the payload attribution system, for each of the blocks of the second set of blocks, the generated summaries on the computer-readable storage device,

wherein the generated summaries, of the first and second sets of blocks, stored on the computer-readable storage device are stored in a hierarchical data structure in which two levels of the hierarchy correspond to the first and second sets of blocks.

7. Apparatus comprising:

a) at least one processor; and

b) at least one non-transitory computer-readable storage device storing processor executable instructions which, when executed by the at least one processor, perform a method including

1) accepting a payload content and attribute information of a flow;

2) segmenting the payload content into a first set of blocks;

3) for each of the blocks of the first set of blocks, generating a summary of each of

(A) the block,

(B) the block together with corresponding offset information, and

(C) the block together with the corresponding offset information and the attribute information of the flow,

using at least one summarizing function; and

4) storing, for each of the blocks of the first set of blocks, the generated summaries on the non-transitory computer-readable storage device.

Assignments (2)
CHANGE OF NAME Recorded Mar 16, 2011
From: POLYTECHNIC UNIVERSITY
To: POLYTECHNIC INSTITUTE OF NEW YORK UNIVERSITY
Reel/Frame 025991/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2005
From: BRONNIMANN, HERVE; MEMON, NASIR; SHANMUGASUNDARAM, KULESH
To: POLYTECHNIC UNIVERSITY
Reel/Frame 017116/0860 →
Continuity (2)
Provisional Application 60613596 · Sep 27, 2004
Related Publication 20060072582A1 · Apr 6, 2006