Modularized database architecture using vertical partitioning for a state machine
First Claim
1. A system comprising:
- a memory connected to a processor; and
program code executing on the processor, the program code operable to;
configure a database to store object metadata of one or more objects processed by a state machine to generate processing results, the database including one or more object tables, state sub-block structures, state co-table structures, and state transition queue structures, the database vertically organized as a plurality of stages to implement the state machine, wherein each stage includes a state sub-block structure, a state co-table structure and a state transition queue structure, the database further organized such that each stage corresponds to a module of an analysis engine operating on an object, and wherein the module corresponding to each stage executes according to a dependency on the processing results.
5 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 a plurality of 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 a state machine, wherein each stage includes a state sub-block, a state co-table and a state transition queue. The modularized architecture may further organize the database such that each stage corresponds to an action, i.e., module, of the state machine on the object. The module may process the data structures of its corresponding stage such that a state sub-block receives information from its state transition queue, wherein the module generates results that are stored in its associated state co-table, which then provides information for a next stage.
142 Citations
20 Claims
-
1. A system comprising:
-
a memory connected to a processor; and program code executing on the processor, the program code operable to; configure a database to store object metadata of one or more objects processed by a state machine to generate processing results, the database including one or more object tables, state sub-block structures, state co-table structures, and state transition queue structures, the database vertically organized as a plurality of stages to implement the state machine, wherein each stage includes a state sub-block structure, a state co-table structure and a state transition queue structure, the database further organized such that each stage corresponds to a module of an analysis engine operating on an object, and wherein the module corresponding to each stage executes according to a dependency on the processing results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
organizing an analysis database as a state machine having a plurality of stages, wherein each stage includes a state sub-block structure, a state co-table structure and a state transition queue structure; storing object metadata and processing results of an object in the analysis database, the object metadata processed by an analysis engine of a node having a processor to generate the processing results; and processing, at the node, the object metadata stored in the structures of a stage such that a state sub-block structure receives the object metadata from a state transition queue and provides the processing results for storage in the state co-table. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium containing instructions for execution on a processor for a method comprising:
-
organizing an analysis database of a node including the processor as a state machine having a plurality of stages, wherein each stage includes a state sub-block structure, a state co-table structure and a state transition queue structure, and wherein each stage corresponds to a module of an analysis engine operating on an object; storing object metadata and processing results of the object in the analysis database, the object metadata processed by the analysis engine to generate the processing results; and processing the object metadata stored in the structures of a stage such that a state sub-block structure receives the object metadata from a state transition queue.
-
Specification