Extension Point Virtualization Using Reparse Points

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application virtualization methods face scalability issues due to the need for custom proxies for each operating system extension point, which is impractical and time-consuming, especially with over 3000 extension points in Microsoft Windows, and requires constant detection and management of new extension points.

Innovation Solution

The extension point virtualization system employs operating system-provided reparse points to minimize registration and redirect resources, using a single file system filter to handle multiple extension points, eliminating the need for custom proxies and simplifying the process of adding new extension points by registering new locations generically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If custom proxies are implemented for each operating system extension point, then application isolation is preserved, but device complexity and development time increase significantly

Engineering Contradiction:
Improveapplication isolationVSAvoidproxy implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces reparse points as an intermediary mechanism between applications and the operating system file system. Instead of implementing custom proxies for each extension point, the system uses reparse points to redirect file system operations to virtualized locations, thereby preserving application isolation while eliminating the need for complex custom proxy implementations for each of the 3000+ extension points

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal reparse point handler that can manage multiple extension points through a single file system filter. This single mechanism handles diverse extension point types (file associations, registry keys, environment variables) uniformly, reducing development complexity from implementing 3000+ individual proxies to maintaining one generic handler

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

2Adaptability or versatility

If custom proxies are implemented for each extension point, then extension point management is achieved, but productivity and development efficiency decrease

Engineering Contradiction:
Improveextension point management capabilityVSAvoiddevelopment and testing time
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system enables self-service extension point management through declarative configuration files that automatically define reparse point behavior. New extension points can be added by simply registering their locations in configuration files without requiring custom proxy code, allowing the system to adapt to new extension points automatically and significantly reducing development and testing time

Inventive Principle:
Principle #25Self-service

3Device complexity

If reparse points are used for extension point virtualization, then device complexity is reduced, but measurement precision of extension point behavior may be affected

Engineering Contradiction:
Improveproxy implementation complexityVSAvoidextension point behavior detection accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent creates virtual copies of extension point data structures (registry keys, file associations, environment variables) at reparse point locations. These copies mirror the original extension point behavior exactly, allowing the system to reduce complexity by using generic reparse point handling while maintaining precise detection and management of extension point behavior through the virtualized copies

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10331466B2Extension point declarative registration for virtualization
Publication Date: 2019.06.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10331466B2 patent drawing
  • US10331466B2 patent drawing
  • US10331466B2 patent drawing

AI summary

An extension point virtualization system uses operating system-provided reparse points to provide minimal extension point registration. Reparse points preserve application isolation while removing the scale problem of writing custom extension point proxies for each extension point. Instead, the system can use a single file system filter that generically handles application virtualization reparse points, and store reparse point data for extension points that need redirection. Many extension points can be handled by redirecting the operating system from a typical location for an application resource to a virtualized safe location for the application resource. Thus, the system simplifies the process of handling new extension points by allowing an application virtualization system to simply register new locations that should be handled with reparse points and to then handle registered locations generically.