Software Agent Single Round Trip Data Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing enterprise security systems face challenges in efficiently collecting and managing data from computing resources due to dynamic data collection requirements, leading to issues of over-collection or under-collection, which can result in excessive strain or inadequate monitoring.

Innovation Solution

A software agent executing on a computing device receives high-level commands from a client, converts them into low-level commands, executes these commands locally, and sends the results back to the client, reducing the number of round trips across the network and improving data collection efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If multiple round trips are used to collect data across the network, then complete user and group information can be obtained, but the time required for data collection increases significantly

Engineering Contradiction:
Improvecompleteness of user and group informationVSAvoiddata collection time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having the software agent pre-fetch group information and cache it locally before it is needed for security assessments. When the client requests user information, the agent checks its local cache first and only makes network requests for information that is not already cached. This eliminates the need for multiple sequential round trips to retrieve group data, reducing collection time from 3+(3×N) round trips to essentially one round trip for user data plus any cached group data.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a software agent converts high-level commands into multiple low-level commands and accumulates results locally, then the number of network round trips is reduced, but the agent requires additional memory and storage resources

Engineering Contradiction:
Improvedata collection efficiencyVSAvoidmemory and storage resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies the extraction principle by separating the data collection and caching functionality into a dedicated software agent component that runs on the computing device. The agent extracts and caches only the specific group information needed for security assessments, rather than caching all possible data. This selective extraction minimizes the memory and storage resources required while still achieving the productivity benefit of reduced network round trips.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If data is sent back to the client as results are obtained rather than accumulating all results, then memory usage is reduced, but the number of network communications increases

Engineering Contradiction:
Improvememory usageVSAvoidnetwork communication complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements periodic action by having the software agent send results back to the client in periodic batches rather than continuously. The agent accumulates results as they are obtained from executing low-level commands and sends them back to the client at intervals or when a batch is complete. This approach balances memory usage (by not accumulating all results indefinitely) with network communication efficiency (by reducing the number of separate communications compared to sending each result individually).

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20250103408A1Single round trip collection of user and group data for security posture assessment
Publication Date: 2025.03.27 RAPID7 INC
  • US20250103408A1 patent drawing
  • US20250103408A1 patent drawing
  • US20250103408A1 patent drawing

AI summary

A software agent executing on a computing device receives a high-level command from a client and converts the high-level command into multiple low-level commands. The software agent executes individual low-level command on the computing device and sends a result of executing the individual low-level command to the client until each low-level command has been executed.