Dynamic Dictionary Keyword Search Without Recompilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing keyword searching systems face challenges in dynamically updating dictionaries without disrupting ongoing traffic analysis, as static dictionaries require recompilation, which can lead to missed keywords and relevance issues during the process.

Innovation Solution

The implementation of dynamic dictionaries, comprising a management automaton and a runtime automaton, allows for on-the-fly keyword additions and searches without recompilation, using a static dictionary in conjunction with two dynamic dictionaries to maintain efficiency and relevance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a static dictionary is used for keyword searching, then search efficiency is improved through compiled data structures, but the system cannot dynamically add new keywords without recompilation, causing loss of time and missed keywords during traffic analysis

Engineering Contradiction:
Improvekeyword search efficiencyVSAvoiddynamic keyword update capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static dictionary into a dynamic system by introducing two types of dictionaries: a static compiled dictionary for efficient searching and dynamic dictionaries that can be updated without recompilation. The dynamic dictionaries use data structures that allow incremental updates while maintaining search functionality, enabling the system to adapt to new keywords in real-time traffic analysis.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent divides the keyword dictionary system into multiple segments: a static dictionary that is recompiled periodically and dynamic dictionaries that handle new keywords immediately. This segmentation allows the system to maintain the efficiency of compiled structures while adding the flexibility of dynamic updates through separate data structure components.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the static dictionary is recompiled frequently to add new keywords, then adaptability is improved, but system complexity increases and search operations are disrupted

Engineering Contradiction:
Improvekeyword update responsivenessVSAvoiddictionary management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic dictionaries as intermediary structures between the static compiled dictionary and the incoming keyword updates. These dynamic dictionaries act as a buffer that accepts new keywords immediately and makes them available for search without requiring recompilation of the main static dictionary, thus simplifying the overall management process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-compiling the static dictionary with known keywords before traffic analysis begins. This allows the majority of keyword searches to be performed efficiently on the compiled structure, while a separate mechanism handles the preliminary addition of new keywords to dynamic dictionaries without disrupting the main search process.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If recompilation is performed during traffic analysis, then new keywords are added to the dictionary, but keywords arriving during recompilation are missed and relevance accuracy deteriorates

Engineering Contradiction:
Improvekeyword coverageVSAvoidkeyword detection accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent ensures continuous keyword detection by maintaining both static and dynamic dictionaries simultaneously during traffic analysis. The dynamic dictionary continues to accept and process new keywords without interruption, while the static dictionary provides efficient searching for established keywords, ensuring no keywords are missed during any phase of the process.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system provides beforehand cushioning by maintaining dynamic dictionaries as a backup mechanism that captures keywords arriving during static dictionary recompilation. This cushioning ensures that even if the static dictionary is temporarily unavailable or being updated, no keyword detections are lost, and accuracy is maintained through the dynamic dictionary's immediate responsiveness.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11093534B2System and method for keyword searching using both static and dynamic dictionaries
Publication Date: 2021.08.17 COGNYTE TECH ISRAEL LTD
  • US11093534B2 patent drawing
  • US11093534B2 patent drawing
  • US11093534B2 patent drawing

AI summary

An apparatus and techniques for constructing and utilizing a “dynamic dictionary” that is not a compiled dictionary, and therefore does not need to be recompiled in order to be updated. The dynamic dictionary includes respective data structures that represent (i) a management automaton that includes a plurality of management nodes, and (ii) a runtime automaton that is derived from the management automaton and includes a plurality of runtime nodes. The runtime automaton may be used to search input data, such as communication traffic over a network, for keywords of interest, while the management automaton manages the addition of keywords to the dynamic dictionary. Typically, at least two (e.g., exactly two) such dynamic dictionaries are used in combination with a static dictionary.