Server Virtual Address Space Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual memory systems limit the addressable memory space for processes, even in systems with ample physical memory, due to the decoupling of virtual address spaces from physical memory, restricting access and efficiency in memory sharing and client-server models.

Innovation Solution

Treating virtual address spaces as first-class entities allows for decoupling from processes, enabling creation, storage, and switching between them, thereby increasing addressable memory and facilitating memory sharing and optimized client-server interactions without inter-process communication overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If virtual memory system limits address space to processor architecture constraints (e.g., 32-bit VAS), then system compatibility is maintained, but addressable memory space is restricted even when physical memory exceeds this limit

Engineering Contradiction:
Improveaddressable memory spaceVSAvoidsystem compatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent divides the virtual address space into multiple separate VAS instances (first VAS, second VAS, etc.), each managed independently. This segmentation allows the system to overcome the limitation of a single addressable space while maintaining compatibility with the processor architecture by presenting multiple 32-bit address spaces instead of requiring a larger single address space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a VAS manager as an intermediary component that handles the complexity of managing multiple virtual address spaces. The VAS manager mediates between the process and the multiple VAS instances, providing a unified interface while managing the underlying complexity of switching between different address spaces and handling memory mapping across multiple VAS.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If virtual address spaces are tightly coupled to processes, then process isolation is maintained, but memory sharing and client-server models incur inter-process communication overhead

Engineering Contradiction:
Improvememory sharing efficiencyVSAvoidaddress space management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the virtual address space concept with process execution by allowing a process to be associated with multiple VAS instances and to switch between them. This merging enables memory sharing and client-server interactions within the same address space context, eliminating the need for inter-process communication overhead while maintaining process isolation through controlled access mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces dynamic switching between different virtual address spaces during process execution. The process can dynamically switch from one VAS to another based on operational needs, enabling flexible memory sharing and client-server models. This dynamic approach allows the system to adapt the address space configuration during runtime without requiring process creation or destruction.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If multiple virtual address spaces are created and managed independently, then addressable memory space increases, but management and switching overhead increases

Engineering Contradiction:
Improvetotal virtual memory capacityVSAvoidVAS switching time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary setup of multiple virtual address spaces before the process needs to switch between them. The VAS manager pre-configures the memory mappings, page tables, and access permissions for each VAS instance in advance. This preliminary action reduces the switching overhead by having the switching infrastructure ready and pre-validated, eliminating the need for complex runtime calculations and memory reconfiguration during switches.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11086660B2Server virtual address space
Publication Date: 2021.08.10 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11086660B2 patent drawing
  • US11086660B2 patent drawing
  • US11086660B2 patent drawing

AI summary

Techniques for a thread in client process to switch to a server virtual address space are provided. In one aspect, a process may attach to a server virtual address space. A request may be received from a client thread within the client process to switch from a virtual address space associated with the client thread to a server virtual address space. The client thread may switch from the client thread associated virtual address space to the server virtual address space.