Device Fingerprint Clustering for Software Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the number of computing devices in a computer network increases, selecting a reference computing device and determining which other devices to compare it to becomes challenging due to multiple groupings of devices intended for similar operations, making it difficult to maintain a desired set of software applications across the network.

Innovation Solution

The use of device fingerprints, generated based on application fingerprints, facilitates the selection of a reference computing device and identifies other devices for comparison, allowing for the grouping of devices into clusters based on their software applications, thereby reducing unnecessary comparisons and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of computing devices in the network increases, then the network capacity and functionality improve, but the complexity of selecting reference devices and maintaining software application consistency deteriorates

Engineering Contradiction:
Improvenetwork capacityVSAvoidreference device selection complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments computing devices into clusters based on their software application profiles using device fingerprints. This segmentation allows the system to manage large networks by dividing them into smaller, homogeneous groups that share similar software configurations, making reference device selection more manageable and scalable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces device fingerprints as an intermediary mechanism that summarizes software application information for each device. These fingerprints serve as mediators between the comprehensive software state and the reference device selection process, enabling efficient comparison and clustering without requiring direct analysis of all software components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If device fingerprints are generated and used for clustering, then the efficiency of software application comparison improves, but the computational resources and processing time required increase

Engineering Contradiction:
Improvecomparison efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts key software application information and consolidates it into compact device fingerprints. By taking out only the essential features needed for identification and grouping, the system reduces the amount of data that must be processed and compared, thereby improving efficiency while limiting resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary processing by pre-computing device fingerprints for all devices in the network. This preliminary action allows for rapid comparisons during runtime without requiring intensive computational resources at the time of actual device evaluation, thus improving productivity while managing resource usage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12309235B2Determining application security and correctness using machine learning based clustering and similarity
Publication Date: 2025.05.20 SERVICENOW INC
  • US12309235B2 patent drawing
  • US12309235B2 patent drawing
  • US12309235B2 patent drawing

AI summary

A computing system includes persistent storage configured to store representations of software applications installed on computing devices, and a software application configured to perform operations, including retrieving, from the persistent storage, a first plurality of representations of a first plurality of software applications installed on a particular computing device and a second plurality of representations of a second plurality of software applications installed on a reference computing device. The operations also include determining a device fingerprint of the particular computing device based on the first plurality of representations and a reference device fingerprint of the reference computing device based on the second plurality of representations, and comparing the device fingerprint to the reference device fingerprint. The operations further include, based on the comparing, determining a disparity between software applications installed on the particular computing device and the reference computing device, and storing, in the persistent storage, a representation of the disparity.