Software Recommendation Engine Using User Similarity Scores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face issues with 'bloatware' on computing devices, which consume storage and processing resources, and existing solutions do not effectively provide personalized recommendations for software installation or removal based on user similarity.

Innovation Solution

A recommendation engine that compares a user's installed software with other similar users to generate individualized recommendations for software installation, removal, or retention by calculating similarity scores and typicality scores, using a cloud-based system with a client computing device and a recommendation server to maintain indices for software distribution and user applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pre-installed software is included with computing devices, then device functionality and user experience are improved, but storage space and processing resources are consumed

Engineering Contradiction:
Improvedevice functionalityVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent pre-calculates and stores similarity scores between users and typicality scores for applications during offline processing, creating ready-to-use recommendation data. This preliminary action allows the system to quickly provide personalized software recommendations without consuming real-time computing resources, resolving the contradiction between providing functional recommendations and preserving processing resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts and analyzes application lists from multiple users to identify patterns and create typical user profiles. By separating the analysis phase from the recommendation delivery phase, the system can process large amounts of user data offline and only deliver concise recommendations online, reducing the storage and processing burden on individual devices while maintaining adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If personalized software recommendations are provided based on user similarity, then software optimization is improved, but system complexity increases

Engineering Contradiction:
Improvesoftware optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a recommendation server as an intermediary between users and the software optimization process. This server performs the complex tasks of collecting user data, calculating similarity scores, analyzing application patterns, and generating recommendations. Individual user devices only need to interact with this intermediary to receive simplified recommendations, thereby achieving software optimization without increasing local system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates simplified copies of user application lists and stores them in a database with associated similarity scores. Instead of requiring complex real-time analysis on each device, the system pre-processes user data into standardized formats and stores these copies for quick retrieval and comparison, reducing computational complexity while maintaining personalization capabilities.

Inventive Principle:
Principle #26Copying

3Measurement precision

If user data is collected and analyzed to generate recommendations, then recommendation accuracy is improved, but data processing time increases

Engineering Contradiction:
Improverecommendation accuracyVSAvoiddata processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs data processing in advance by calculating similarity scores between users and computing typicality scores for applications during offline batch processing. User application lists are analyzed, compared, and stored with pre-computed scores before recommendation requests arrive. This preliminary action ensures high recommendation accuracy when users query the system while avoiding real-time processing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic batch processing of user data to update recommendation databases. Instead of continuously analyzing user data in real-time, the system periodically processes accumulated user application lists, recalculates similarity and typicality scores, and updates the recommendation database at scheduled intervals. This periodic action maintains data freshness and accuracy while minimizing continuous processing overhead.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10672056B2Systems and methods for recommending software based on user similarity
Publication Date: 2020.06.02 GEN DIGITAL INC
  • US10672056B2 patent drawing
  • US10672056B2 patent drawing
  • US10672056B2 patent drawing

AI summary

Systems and methods for determining software recommendations for a user. A first application list of applications installed on a user's computer is received. A distribution score is determined for each application in the first application list. A set of least distributed applications is determined based on the distribution score. A similarity score is determined for each user in a set of users having one or more applications of the set of least distributed applications installed on their respective systems. A second list of applications is determined based on applications installed by users in the set of users having a similarity score above a threshold. Recommendations for applications in the first list of applications are determined based, at least in part, on typicality scores for the applications.