Add-in Component Manager for Secure Software Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications face challenges in discovering, qualifying, and securely loading add-in components due to redundant storage, compatibility issues, and security risks, particularly when add-ins are developed by third-party developers without knowledge of the application's interfaces, leading to potential malfunctions and security threats.

Innovation Solution

A computer system employs an add-in component manager to discover, qualify, and activate software add-in components by maintaining an index of add-in components, comparing requested properties and qualification constraints, and ensuring secure activation, thereby facilitating dynamic and flexible add-in component selection and use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If add-ins are stored in multiple application-specific add-in directories to provide functionality across different applications, then the add-in can be accessed by multiple applications, but redundant storage occurs and add-in discovery becomes complex

Engineering Contradiction:
Improveadd-in accessibility across applicationsVSAvoidredundant storage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent creates a universal add-in storage location that serves multiple applications simultaneously. Instead of storing add-ins separately in each application's directory, the system establishes a common add-in directory that can be accessed by various applications through a standardized discovery mechanism, eliminating redundancy while maintaining broad accessibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an add-in discovery mechanism that acts as an intermediary between applications and add-ins. This mediator queries the add-in directory and returns relevant add-ins to applications, allowing applications to access add-ins without needing direct knowledge of their storage locations, thus simplifying the system while maintaining versatility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If applications hard-code paths for add-in directories to ensure reliable loading, then add-in loading is straightforward, but the system becomes inflexible and difficult to update

Engineering Contradiction:
Improveadd-in loading reliabilityVSAvoidsystem flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a self-service add-in discovery mechanism where applications automatically query the add-in directory without needing hard-coded paths. The system provides standardized interface information that applications use to locate and load add-ins dynamically, maintaining reliability through standardized protocols while eliminating the need for hard-coded paths.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If add-in developers develop interfaces for each application to ensure compatibility, then add-ins can work with multiple applications, but development complexity and maintenance burden increase

Engineering Contradiction:
Improveadd-in compatibilityVSAvoidinterface development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent establishes a universal add-in interface standard that applications use to query and load add-ins. Instead of developers creating application-specific interfaces for each add-in, the system provides a standardized interface protocol that add-ins implement once and that all applications use, significantly reducing development complexity while maintaining broad compatibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Ease of operation

If applications load add-ins without thorough qualification to enable flexible use, then add-in loading is simple, but security risks and malfunctions increase

Engineering Contradiction:
Improveadd-in loading simplicityVSAvoidadd-in security and stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements preliminary qualification of add-ins before they are loaded by applications. The system queries and validates add-in information (such as compatibility attributes and security characteristics) before allowing applications to load them, ensuring that only qualified and safe add-ins are loaded while maintaining simple operation for the end user.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7698685B2Discovery, qualification, and activation of software add-in components
Publication Date: 2010.04.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7698685B2 patent drawing
  • US7698685B2 patent drawing
  • US7698685B2 patent drawing

AI summary

The present invention extends to methods, systems, and computer program products for discovering, qualifying, and activating software add-in components. An add-in components manager discovers one or more add-in components at the computer system are of a specified type of add-in component requested by an application. The add-in component manager qualifies at least one discovered add-in component based on the at least one discovered add-in component satisfying one or more qualification constraints. The one or more qualification constraints are representative of functionality that is to be associated with an add-in component for the add-in component to interoperate with the application in a desired manner. The add-in component manager activates a qualified add-in component in accordance with the one or more qualification constraints for use with the application.