Modular architecture for analysis database
First Claim
1. A method comprising:
- configuring an analysis database managed by a processor of a node to store object metadata relating to an object received from a network coupled to the node;
organizing the analysis database into a plurality of stages of data structures configured to store the object metadata to perform one of sequential and parallel processing of the stages; and
using queue structures to store action requests configured to invoke actions performed by the stages of the analysis database when one or more dependencies of the stages are satisfied.
4 Assignments
0 Petitions
Accused Products
Abstract
A modularized architecture using vertical partitioning of a database is configured to store object metadata and processing results of one or more objects analyzed by a state machine, such as an analysis engine of a malware detection system. The database may include data structures, such as one or more master blocks, state sub-blocks, and state co-tables, as well as state transition queues. The modularized architecture may organize the database as one or more stages of the state machine, such that each stage corresponds to a module of the state machine, wherein the module generates results that are stored in its associated state co-table, which then provides information for a next stage. Each next stage may have a dependency on the one or more prior stages that provide input for execution of the next stage module. Dependency logic associated with each stage may determine whether the dependency is satisfied and, if so, may insert an action request into the state transition queue for the next stage to invoke an action associated with that stage.
138 Citations
20 Claims
-
1. A method comprising:
-
configuring an analysis database managed by a processor of a node to store object metadata relating to an object received from a network coupled to the node; organizing the analysis database into a plurality of stages of data structures configured to store the object metadata to perform one of sequential and parallel processing of the stages; and using queue structures to store action requests configured to invoke actions performed by the stages of the analysis database when one or more dependencies of the stages are satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a memory of a node coupled to a network, the memory configured to store an analysis database and one or more processes; a processor coupled to the memory and adapted to execute the one or more processes, the one or more processes configured to; configure the analysis database to store object metadata relating to an object received from the network; organize the analysis database into a plurality of stages of data structures configured to store the object metadata to perform one of sequential and parallel processing of the stages; and use queue structures to store action requests configured to invoke actions performed by the stages of the analysis database when one or more dependencies of the stages are satisfied. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium having instructions for execution on a central processing unit (CPU) of a node, the program instructions configured to:
-
configure an analysis database managed by the CPU of the node to store object metadata relating to an object received from a network coupled to the node; organize the analysis database into a plurality of stages of data structures configured to store the object metadata to perform one of sequential and parallel processing of the stages; and use queue structures to store action requests configured to invoke actions performed by the stages of the analysis database when one or more dependencies of the stages are satisfied. - View Dependent Claims (18, 19, 20)
-
Specification