Network Accessible Trusted Assembly Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Trusted assemblies caches in software systems are limited to predefined locations and cannot be modified without changing the program code, restricting flexibility and accessibility of trusted assemblies, which are typically located on the same computer system as the software applications.

Innovation Solution

A method to access a trusted assembly from a virtualized location, where the computer system resolves a virtualized location to a physical location, verifies the assembly's trustworthiness, and accesses it from that location, allowing for remote storage and dynamic location changes without modifying the program code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If trusted assemblies cache is located on the same computer system and uses predefined locations, then program processing efficiency is improved through trusted access, but flexibility and accessibility of trusted assemblies deteriorates

Engineering Contradiction:
Improveprogram processing efficiencyVSAvoidflexibility and accessibility of trusted assemblies
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a network dimension to the traditional local assemblies cache, allowing assemblies to be accessed from remote computer systems over a network. This transforms the single-location cache into a distributed network-wide cache system, enabling programs on different computers to access trusted assemblies remotely while maintaining the efficiency benefits of trusted access.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent creates a universal assemblies cache system that serves multiple computer systems and multiple programs simultaneously. The network-accessible cache acts as a shared resource that can be accessed by any authorized program on any computer in the network, providing universal access to trusted assemblies across the entire network infrastructure.

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

2Productivity

If trusted assemblies cache location is predefined in the software program, then program processing efficiency is improved through direct access, but adaptability of cache location deteriorates

Engineering Contradiction:
Improveprogram processing efficiencyVSAvoidcache location adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer (the virtual path resolution mechanism and network cache access layer) between the program's predefined location reference and the actual physical cache location. This intermediary handles the translation and network communication, allowing programs to use simple predefined paths while the system manages the complex network location resolution and physical cache access transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the cache location management functionality from the program code itself and places it in the system layer. The program only needs to specify a virtual path, while the system extracts and handles the complex tasks of resolution, network communication, and physical location determination, separating concerns between program simplicity and system flexibility.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If assemblies cache is secured to allow read and execute access but deny write access, then program security is improved through protection from overwriting, but program functionality deteriorates due to inability to update assemblies

Engineering Contradiction:
Improveprogram securityVSAvoidassembly update capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements dynamic access control where the cache can transition between read-only and read-write states. Individual cache locations can be dynamically updated by authorized processes (maintaining security for most assemblies) while allowing necessary updates. The system dynamically manages which assemblies are locked and which can be updated, providing both security and update capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different access permissions to different locations within the assemblies cache. Rather than making the entire cache read-only or read-write, the system applies local quality control where specific cache locations have read-only protection while others allow updates. This enables security for critical assemblies while permitting updates for others that need maintenance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2115571B1Network accessible trusted code
Publication Date: 2017.01.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2115571B1 patent drawingFigure 1
  • EP2115571B1 patent drawingFigure 2
  • EP2115571B1 patent drawingFigure 3

AI summary

In one embodiment, a computer system performs a method for accessing a trusted assembly from a virtualized location. A computer system detects receipt of a request to access an assembly. The address of the assembly is expressed in the request as a virtualized location. The computer system resolves the virtualized location to a physical location where the assembly is physically stored. The resolving includes accessing an information store that maintains the current physical location corresponding to the requested assembly's virtualized location. The computer system determines whether the requested assembly qualifies as a trusted assembly by verifying that the assembly sufficiently complies with information encoded within the assembly. Lastly, upon determining that the requested assembly is trusted, the computer system accesses the requested assembly from the physical location.