Hardware Mutex with Process Authentication for Artificial Reality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Artificial reality systems face challenges in managing access to shared resources among software processes, leading to potential instability and misuse due to the lack of effective locking mechanisms that prevent accidental or malicious release of mutex locks.

Innovation Solution

The implementation of hardware-based mutexes with process authentication, where each mutex is associated with registers and requires a unique key for locking and unlocking, ensuring that only the authenticating software process can release the lock, thus preventing unauthorized access to shared resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware-based mutexes with process authentication are implemented, then reliability of shared resource access is improved, but device complexity increases

Engineering Contradiction:
Improvemutex lock securityVSAvoidhardware register structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The mutex implementation nests multiple authentication layers within the hardware register structure. Each mutex contains nested fields including owner process ID, key value, and lock status, creating a hierarchical authentication mechanism that verifies both process identity and authorized key before allowing lock release, thereby improving reliability while managing complexity through structured organization

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The hardware mutex register acts as an intermediary between software processes and shared resources. It mediates access control by storing authentication credentials (owner ID and key) and automatically verifying them during lock release operations, preventing unauthorized access without requiring complex software-level authentication protocols

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If process authentication with unique keys is required for mutex release, then stability of multitasking environment is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvemultitasking environment stabilityVSAvoidmutex release operation
Core Design Contradiction:
Stability of the object's compositionVSEase of operation

Solution Approach 1:

The system implements self-service authentication where each software process automatically manages its own mutex locks using its assigned process ID and key. The hardware mutex verifies the process's own credentials without requiring external authentication, allowing processes to independently and securely manage their locked resources while maintaining overall system stability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Process authentication credentials (process ID and unique key) are pre-configured and assigned to each software process before execution. This preliminary setup enables automatic verification during mutex operations without requiring real-time authentication complexity, improving ease of operation while maintaining security and stability

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11250124B2Artificial reality system having hardware mutex with process authentication
Publication Date: 2022.02.15 META PLATFORMS TECHNOLOGIES LLC
  • US11250124B2 patent drawing
  • US11250124B2 patent drawing
  • US11250124B2 patent drawing

AI summary

This disclosure describes hardware-based mutexes that employ software process authentication to prevent a software process from releasing the lock of a mutex locked by another software process. For example, systems are described in which a mutex controller receives a request from a process to lock a mutex. The mutex controller locks the mutex, writing a process key and process identifier to one or more hardware registers associated with the mutex. If the mutex controller receives a request to release the lock on the mutex, the mutex controller determines if the key received with the request matches the process key written in the one or more hardware registers of the mutex and, if so, releases the lock on the mutex.