Self-Configurable Application Model Using Platform Clustering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer software applications face challenges in maintaining optimal performance across various computing platforms due to the vast array of hardware and software configurations, leading to degraded user experiences in applications like real-time communication (RTC).
Innovation Solution
The system employs unsupervised clustering algorithms to group similar computing platforms into clusters, rank these clusters based on performance data, and apply feature setting templates tailored to each rank, ensuring optimal feature settings for each platform without relying on in-execution performance metrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the application uses a fixed configuration for all computing platforms, then the device complexity is reduced, but the adaptability to different hardware and software configurations deteriorates
Solution Approach 1:
The patent segments the computing platforms into distinct clusters based on their hardware and software characteristics. By dividing the diverse platform landscape into manageable groups (e.g., mobile devices, desktops, servers), the system can apply tailored configurations to each cluster rather than attempting to handle every possible configuration individually, thus reducing overall complexity while maintaining adaptability.
Solution Approach 2:
The patent dynamically changes configuration parameters based on the detected computing platform cluster. Different quality settings, feature enablements, and performance thresholds are adjusted according to the platform cluster identification, allowing the application to adapt to varying hardware capabilities without requiring manual configuration or complex platform-specific code.
2Productivity
If the application continuously monitors performance to adjust settings, then the productivity is improved, but the loss of time increases due to continuous monitoring overhead
Solution Approach 1:
The patent performs preliminary actions by pre-defining performance thresholds and quality settings for different platform clusters before the application executes. The system determines appropriate configurations in advance based on platform characteristics, eliminating the need for continuous real-time monitoring and adjustment during application execution, thus improving productivity while reducing time loss.
Solution Approach 2:
The application performs self-service by automatically identifying its own platform cluster and applying the corresponding pre-configured settings without external intervention or continuous monitoring. The system self-adjusts based on its detected environment, reducing the need for continuous performance monitoring while maintaining optimized productivity.
3Manufacturing precision
If the application provides high-quality features on all platforms, then the manufacturing precision of feature quality is improved, but the use of energy increases on lower-powered devices
Solution Approach 1:
The patent applies local quality by tailoring feature quality settings to the specific capabilities of each platform cluster. Instead of uniformly providing maximum quality across all platforms, the system adjusts quality parameters locally according to device capabilities (e.g., CPU power, memory capacity, GPU performance), ensuring optimal quality where supported while conserving energy on lower-powered devices.
Solution Approach 2:
The system dynamically changes quality parameters such as video resolution, audio bitrate, and processing intensity based on the detected platform cluster. On high-powered devices, the application enables high-quality features with higher energy consumption, while on lower-powered devices, it automatically reduces quality parameters to match hardware capabilities, thus balancing feature quality with energy consumption.
Data Source
AI summary
Disclosed in some examples are methods, systems, and machine-readable mediums which customizes application feature settings using ranked clusters from an unsupervised modelling algorithm that clusters similar computing platforms and feature settings templates that map these ranks to feature settings. In some examples, a model may is periodically built using a first set of computing platform properties observed from computing platforms that the application is executing on. These clusters are then ranked using a second set of computing platform properties observed from other computing platforms that the application is executing on and performance data that describes performance of the application on those platforms.


