Self-Registering IPC Object References

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication mechanisms between processes are vulnerable to reference forgery, as processes can fabricate references to objects in other processes, making it difficult to ensure secure and legitimate access.

Innovation Solution

A trusted entity mediates all resource access and reference communications, maintaining a namespace for each process where references are uniquely identified, preventing forgery by ensuring only the resource owner can generate valid references, and automatically managing reference exports and imports through monitoring and naming conventions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If processes directly communicate using references to objects in other processes, then communication efficiency is improved, but security is worsened due to reference forgery vulnerability

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a namespace as an intermediary layer between processes. The namespace maintains a mapping between local reference names and actual object identifiers, mediating all reference communications. This allows processes to use simple local names while the namespace ensures security by validating and translating references, preventing forgery attacks while maintaining communication efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a trusted entity mediates all reference communications to prevent forgery, then security is improved, but system complexity is worsened

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The namespace is designed to be self-sufficient, maintaining its own mapping tables and validation logic without requiring external intervention. When a process exports an object, the namespace automatically creates the appropriate mappings and makes references available to other processes. This self-service capability reduces the need for complex external mediation mechanisms while maintaining security.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The namespace pre-establishes mapping tables and reference validation rules before communication occurs. By preparing the reference translation infrastructure in advance and automatically managing the mapping between local names and actual objects, the system avoids the need for complex runtime mediation, reducing overall system complexity while maintaining security.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If manual registration operations are used to manage object references between processes, then control precision is improved, but productivity is worsened due to costly registration operations

Engineering Contradiction:
Improvecontrol precisionVSAvoidproductivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system automatically manages reference registration through the namespace. When an object is exported from one process, the namespace automatically creates the necessary mapping entries and makes the reference available to other processes without requiring manual registration operations. This self-service approach maintains precise control over reference management while eliminating the productivity loss associated with manual registration.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7730522B2Self-registering objects for an IPC mechanism
Publication Date: 2010.06.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7730522B2 patent drawing
  • US7730522B2 patent drawing
  • US7730522B2 patent drawing

AI summary

In response to receiving a communication from a first process directed to a second process, a trusted entity determines if an object reference in the communication refers to an object owned by a first process which is being exported to a second process or if the communication refers to an object not owned by the first process which is being passed to the second process. The trusted entity generates a second object reference for use by the second process. Use of a naming convention identifies the reference as a reference to an object which is foreign to or owned by the processes.