DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: System, apparatus and methods to implement high-speed network analyzers

Abstract

Systems, apparatus and methods for the implementation of high-speed network analyzers are provided. A set of high-level specifications is used to define the behavior of the network analyzer emitted by a compiler. An optimized inline workflow to process regular expressions is presented without sacrificing the semantic capabilities of the processing engine. An optimized packet dispatcher implements a subset of the functions implemented by the network analyzer, providing a fast and slow path workflow used to accelerate specific processing units. Such dispatcher facility can also be used as a cache of policies, wherein if a policy is found, then packet manipulations associated with the policy can be quickly performed. An optimized method of generating DFA specifications for network signatures is also presented. The method accepts several optimization criteria, such as min-max allocations or optimal allocations based on the probability of occurrence of each signature input bit.

Inventors:
; ; ; ;
Issue Date:
Research Org.:
Reservoir Labs, Inc., New York, NY(United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1225520
Patent Number(s):
9185020
Application Number:
12/770,649
Assignee:
Reservoir Labs, Inc. (New York, NY)
Patent Classifications (CPCs):
H - ELECTRICITY H04 - ELECTRIC COMMUNICATION TECHNIQUE H04L - TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
DOE Contract Number:  
FG02-08ER85046
Resource Type:
Patent
Resource Relation:
Patent File Date: 2010 Apr 29
Country of Publication:
United States
Language:
English
Subject:
42 ENGINEERING

Citation Formats

Ezick, James, Lethin, Richard, Ros-Giralt, Jordi, Szilagyi, Peter, and Wohlford, David E. System, apparatus and methods to implement high-speed network analyzers. United States: N. p., 2015. Web.
Ezick, James, Lethin, Richard, Ros-Giralt, Jordi, Szilagyi, Peter, & Wohlford, David E. System, apparatus and methods to implement high-speed network analyzers. United States.
Ezick, James, Lethin, Richard, Ros-Giralt, Jordi, Szilagyi, Peter, and Wohlford, David E. Tue . "System, apparatus and methods to implement high-speed network analyzers". United States. https://www.osti.gov/servlets/purl/1225520.
@article{osti_1225520,
title = {System, apparatus and methods to implement high-speed network analyzers},
author = {Ezick, James and Lethin, Richard and Ros-Giralt, Jordi and Szilagyi, Peter and Wohlford, David E.},
abstractNote = {Systems, apparatus and methods for the implementation of high-speed network analyzers are provided. A set of high-level specifications is used to define the behavior of the network analyzer emitted by a compiler. An optimized inline workflow to process regular expressions is presented without sacrificing the semantic capabilities of the processing engine. An optimized packet dispatcher implements a subset of the functions implemented by the network analyzer, providing a fast and slow path workflow used to accelerate specific processing units. Such dispatcher facility can also be used as a cache of policies, wherein if a policy is found, then packet manipulations associated with the policy can be quickly performed. An optimized method of generating DFA specifications for network signatures is also presented. The method accepts several optimization criteria, such as min-max allocations or optimal allocations based on the probability of occurrence of each signature input bit.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Tue Nov 10 00:00:00 EST 2015},
month = {Tue Nov 10 00:00:00 EST 2015}
}

Works referenced in this record:

An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS
conference, February 2007


Cross-Product Refactoring Apparatus and Method
patent-application, June 2010


A Compiler Framework for Tiling Imperfectly-Nested Loops
book, January 2000


Normalised Givens rotations for recursive least squares processing
conference, January 1995


Flow-insensitive interprocedural alias analysis in the presence of pointers
book, June 2005


Maximal static expansion
conference, January 1998

  • Barthou, Denis; Cohen, Albert; Collard, Jean-François
  • Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98
  • https://doi.org/10.1145/268946.268955

Counting Integer Points in Parametric Polytopes Using Barvinok's Rational Functions
journal, February 2007


Array-data flow analysis and its use in array privatization
conference, January 1993

  • Maydan, Dror E.; Amarasinghe, Saman P.; Lam, Monica S.
  • Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93
  • https://doi.org/10.1145/158511.158515

A fast algorithm for finding dominators in a flowgraph
journal, January 1979


Data transformations for streaming applications on multiprocessors
patent-application, March 2007


Maximizing parallelism and minimizing synchronization with affine transforms
conference, January 1997


Polyhedral Code Generation in the Real World
book, January 2006


Enabling Loop Fusion and Tiling for Cache Performance by Fixing Fusion-Preventing Data Dependences
conference, January 2005


Adaptively weighted, partitioned context edit distance string matching
patent-application, February 2002


Optimal weighted loop fusion for parallel programs
conference, January 1997


Register tiling in nonrectangular iteration spaces
journal, July 2002


The Z-polyhedral model
conference, January 2007


Speculative Code Motion for Memory Latency Hiding
patent-application, February 2009


Real-time document collection search engine with phrase indexing
patent, July 1999


Variance Analysis for Translating Cuda code for Execution by a General Purpose Processor
patent-application, October 2009


Conversion of control dependence to data dependence
conference, January 1983

  • Allen, J. R.; Kennedy, Ken; Porterfield, Carrie
  • Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '83
  • https://doi.org/10.1145/567067.567085

Efficient string matching: an aid to bibliographic search
journal, June 1975


Sparsity in higher order methods for unconstrained optimization
journal, April 2012


Loop optimization with mapping code on an architecture
patent, August 2004


Putting Polyhedral Loop Transformations to Work
book, January 2004


Pipelined Processor and Compiler/Scheduler for Variable Number Branch Delay Slots
patent-application, February 2010


Methods And Systems To Detect An Evasion Attack
patent-application, August 2007


Parametric integer programming
journal, January 1988


Static branch frequency and program profile analysis
conference, January 1994


On Tiling as a Loop Transformation
journal, December 1997


The program dependence graph and its use in optimization
journal, July 1987


Automatic mapping of nested loops to FPGAS
conference, January 2007


Lattice-based memory allocation
conference, January 2003

  • Darte, Alain; Schreiber, Rob; Villard, Gilles
  • Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems - CASES '03
  • https://doi.org/10.1145/951710.951749

Some efficient solutions to the affine scheduling problem. I. One-dimensional time
journal, October 1992


Lattice-Based Memory Allocation
journal, October 2005


Parallel Sparse Supports for Array Intrinsic Functions of Fortran 90
journal, March 2001


Tiling Imperfectly-nested Loop Nests
conference, January 2000


Array expansion
conference, January 2014


System and Method for Domain Stretching for an Advanced Dual-Representation Polyhedral Loop Transformation Framework
patent-application, December 2009


An experimental evaluation of tiling and shackling for memory hierarchy management
conference, January 1999


A Library for Doing Polyhedral Operations
journal, December 2000


Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
conference, January 1977


Distributed Microarchitectural Protocols in the TRIPS Prototype Processor
conference, December 2006

  • Sankaralingam, Karthikeyan; Nagarajan, Ramadass; McDonald, Robert
  • 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06)
  • https://doi.org/10.1109/MICRO.2006.19

Full regular expression search of network traffic
patent, October 2005


Iterative modulo scheduling: an algorithm for software pipelining loops
conference, January 1994


On the Best Rank-1 and Rank-( R 1 , R 2 ,. . ., R N ) Approximation of Higher-Order Tensors
journal, January 2000


Ultra-fast aliasing analysis using CLA: a million lines of C code in a second
conference, January 2001


A simple graph-based intermediate representation
conference, January 1995


Compiler Transformation of Pointers to Explicit Array Accesses in DSP Applications
book, January 2001


Whole program path profiling
patent, December 2001


Event Detection Method
patent-application, January 2008


Intrusion detection signature analysis using regular expressions and logical operators
patent, September 2004


Revisiting the decomposition of Karp, Miller and Winograd
conference, January 1995


A unified approach to global program optimization
conference, January 1973


Bi-Directional Communication in a Parallel Processing Environment
patent-application, May 2009


Efficiently computing static single assignment form and the control dependence graph
journal, October 1991


Scanning polyhedra with DO loops
conference, January 1991

  • Ancourt, Corinne; Irigoin, François
  • Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming - PPOPP '91
  • https://doi.org/10.1145/109625.109631

Early Control of Register Pressure for Software Pipelined Loops
book, January 2003


Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time
journal, December 1992


Supernode partitioning
conference, January 1988


Partial dead code elimination
conference, January 1994

  • Knoop, Jens; Rüthing, Oliver; Steffen, Bernhard
  • Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation - PLDI '94
  • https://doi.org/10.1145/178243.178256

Background memory allocation for multi-dimensional signal processing
patent, April 1998


System and method for creating systolic solvers
patent, August 2006


Information management and retrieval
patent, January 2002


Generation of Efficient Nested Loops from Polyhedra
journal, October 2000


Compiler Apparatus and Method for Optimizing Loops in a Computer Program
patent-application, May 2003


Dataflow analysis of array and scalar references
journal, February 1991


Synthesizing transformations for locality enhancement of imperfectly-nested loop nests
conference, January 2014


The mapping of linear recurrence equations on regular arrays
journal, October 1989

  • Quinton, Patrice; van Dongen, Vincent
  • Journal of VLSI signal processing systems for signal, image and video technology, Vol. 1, Issue 2, p. 95-113
  • https://doi.org/10.1007/BF02477176

A Geometric Programming Framework for Optimal Multi-Level Tiling
conference, January 2004


Precise Data Locality Optimization of Nested Loops
journal, January 2002


Value dependence graphs: representation without taxation
conference, January 1994

  • Weise, Daniel; Crew, Roger F.; Ernst, Michael
  • Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '94
  • https://doi.org/10.1145/174675.177907

Scalable Tensor Decompositions for Multi-aspect Data Mining
conference, December 2008


Parallel programming computing system to dynamically allocate program portions
patent, January 2012


Operator strength reduction
journal, September 2001


Space–time mapping and tiling: a helpful combination
journal, January 2004

  • Griebl, Martin; Faber, Peter; Lengauer, Christian
  • Concurrency and Computation: Practice and Experience, Vol. 16, Issue 23, p. 221-246
  • https://doi.org/10.1002/cpe.772

Loop allocation for optimizing compilers
patent, November 2003


Parallel processing of distributed arrays and optimum data distribution
patent, August 2012


Aggressive inlining
journal, May 1997


A practical automatic polyhedral parallelizer and locality optimizer
journal, May 2008


Code generation for multiple mappings
conference, January 1994


A data locality optimizing algorithm
conference, January 1991


Iterated register coalescing
journal, May 1996


Constant propagation with conditional branches
journal, April 1991


Solution and Optimization of Systems of Pseudo-Boolean Constraints
journal, October 2007


Efficient representation scheme for multidimensional array operations
journal, March 2002


Minimum-cost network hardening
patent-application, April 2006


Global code motion/global value numbering
journal, June 1995


Code generation in the polytope model
conference, January 1998


Undecidability of static analysis
journal, December 1992


Fuzzy array dataflow analysis
journal, August 1995


Blocking and array contraction across arbitrarily nested loops using affine partitioning
conference, January 2001

  • Lim, Amy W.; Liao, Shih-Wei; Lam, Monica S.
  • Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming - PPoPP '01
  • https://doi.org/10.1145/379539.379586

Selective code generation optimization for an advanced dual-representation polyhedral loop transformation framework
patent, December 2011


Adaptive transaction manager for complex transactions and business process
patent-application, April 2004


An Efficient Inclusion-Based Points-To Analysis for Strictly-Typed Languages
book, January 2002


Modification of swing modulo scheduling to reduce register usage
patent-application, March 2006


On the (Im)possibility of Obfuscating Programs
book, January 2001


Symbolic array dataflow analysis for array privatization and program parallelization
conference, January 1995


Effective partial redundancy elimination
journal, June 1994


Forward Communication Only Placements and Their Use for Parallel Program Construction
book, January 2005


Configurable string matching hardware for speeding up intrusion detection
journal, March 2005


Memory optimization by counting points in integer transformations of parametric polytopes
conference, January 2006

  • Seghir, Rachid; Loechner, Vincent
  • Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems - CASES '06
  • https://doi.org/10.1145/1176760.1176771

Efficient code generation for automatic parallelization and optimization
conference, January 2003


System and method for regular expression matching using index
patent, June 2004


The Omega test: a fast and practical integer programming algorithm for dependence analysis
conference, January 1991


Scanning polyhedra without Do-loops
conference, January 1998


Cache miss equations: a compiler framework for analyzing and tuning memory behavior
journal, July 1999


Scaling to the end of silicon with EDGE architectures
journal, July 2004


Automatic memory layout transformations to optimize spatial locality in parameterized loop nests
journal, March 2000


Deobfuscation: Reverse Engineering Obfuscated Code
conference, January 2005


Integrated circuit apparatus and method for high throughput signature based network applications
patent-application, May 2005


Verifying safety properties of a class of infinite-state distributed algorithms
book, January 1995


An accurate cost model for guiding data locality transformations
journal, September 2005


(Pen)-ultimate tiling?
journal, August 1994


Searching for patterns in encrypted data
patent, August 1995


System and Method for Advanced Polyhedral Loop Transformations of Source Code in a Compiler
patent-application, March 2009


Media for performing parallel processing of distributed arrays
patent, August 2012


Parallel Sparse Matrix-Matrix Multiplication and Indexing: Implementation and Experiments
journal, January 2012


Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition
journal, September 1978


Method and apparatus for a generic language interface to apply loop optimization transformations
patent-application, March 2006