Privileged Function Execution Without Address Space Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in granting privileged access to computer code without modifying the address space of the calling process, leading to limitations in data access and resource utilization when the service address space is not available, resulting in inefficient system operation and resource consumption.

Innovation Solution

A method and system that establish a privileged function with a specific privilege level, allowing it to execute while preserving the original privilege level of the calling process, enabling access to privileged data and code without modifying the address space, by communicating access information and executing the function with elevated privileges before restoring the original privilege level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a service address space is used to provide privileged access, then processes can access privileged data and code, but the system requires additional address space resources and modifies the calling process's execution context

Engineering Contradiction:
Improveprivileged data accessVSAvoidaddress space management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a privileged function as an intermediary mechanism that allows unprivileged processes to access privileged data and code without requiring a service address space. The privileged function acts as a mediator that temporarily elevates privileges for specific operations while maintaining the original process's address space and execution context, thus resolving the contradiction between providing privileged access and avoiding address space complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the privilege level parameter dynamically during function execution. By temporarily modifying the privilege level parameter only for the duration of the privileged function execution and then restoring it, the system enables privileged access without permanently altering the process's address space or execution context, thereby avoiding the complexity associated with service address spaces

Inventive Principle:
Principle #35Parameter changes

2Productivity

If privileged functions are executed without preserving the original privilege level, then privileged operations can be performed, but the calling process loses its original execution context and resource access rights

Engineering Contradiction:
Improveprivileged operation executionVSAvoidprocess execution context
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent performs preliminary actions by saving the original privilege level and execution context before executing the privileged function. This preliminary preservation allows the process to maintain its original state, enabling it to continue execution with its original context after the privileged operation completes, thus resolving the contradiction between executing privileged operations and preserving execution context

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent temporarily discards the original privilege level during privileged function execution and then recovers it afterward. This temporary discarding and subsequent recovery mechanism allows privileged operations to be performed while ensuring the process regains its original execution context, thereby maintaining ease of operation while enabling privileged productivity

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10796008B2Executing privileged code in a process
Publication Date: 2020.10.06 CA TECH INC
  • US10796008B2 patent drawing
  • US10796008B2 patent drawing
  • US10796008B2 patent drawing

AI summary

A system and method for executing privileged code in a process are described. The method includes establishing, by an authorized library, a privileged function. The privileged function has a first privilege level used by a processor that is executing the privileged function, while preserving a different privilege level for a process invoking the privileged function. The method includes communicating, to a computer process, access information of the privileged function, to allow the computer process to invoke the privileged function. The method includes executing the privileged function for the computer process. Executing the privileged function includes setting a processor that is being used by the computer process to use the first privilege level associated with the privileged function, executing the privileged function with that processor at the first privilege level, then restoring that processor to a previous privilege level, and returning control of that processor to the computer process.