Dynamic Server Reconfiguration for Multi-Tenant Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant platforms face performance degradation due to the strain of managing and switching between numerous customer configurations, leading to increased memory usage and slower response times, as existing methods either retrieve configurations from storage or preload all configurations, wasting resources and compromising server performance.

Innovation Solution

Implement a dynamic runtime reconfiguration system that selectively loads only the subset of customer configurations needed, storing the full set in storage and loading them into memory as required, and preloading only accessed configurations during periodic server restarts, optimizing memory usage and reducing reconfiguration overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all customer configurations are preloaded into server memory, then server reconfiguration speed improves, but memory usage increases significantly

Engineering Contradiction:
Improveserver reconfiguration speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent preloads only the most frequently accessed customer configurations into server memory before runtime, rather than all configurations. This preliminary action ensures that commonly needed configurations are immediately available, improving reconfiguration speed for the majority of cases while avoiding the memory overhead of loading every possible configuration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and separates frequently accessed configurations from the full set of customer configurations, loading only this essential subset into memory. This extraction approach isolates the critical configurations that need fast access while leaving less frequently used configurations in storage, thereby reducing memory consumption while maintaining performance for common operations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If configurations are retrieved from disk or network storage at runtime, then memory usage decreases, but server response time increases

Engineering Contradiction:
Improvememory usageVSAvoidserver response time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary loading of frequently accessed configurations into memory during server startup or idle periods, so that when runtime requests occur, these configurations are already available. This eliminates the need for slow disk or network retrieval operations during active request handling, reducing server response time while keeping memory usage controlled.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic configuration loading strategy where the system adapts between two modes: using preloaded configurations from memory for fast access, and selectively retrieving configurations from storage when needed. This dynamic approach optimizes the balance between memory usage and response time based on actual runtime demands and access patterns.

Inventive Principle:
Principle #15Dynamics

3Reliability

If server restarts to load updated configurations, then configuration freshness improves, but server downtime increases

Engineering Contradiction:
Improveconfiguration freshnessVSAvoidserver restart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent updates and preloads configurations into memory during idle periods or scheduled maintenance windows rather than requiring immediate server restarts. This preliminary updating ensures that when configurations need to be refreshed, the server can load the updated versions into memory without interrupting service, thereby maintaining configuration freshness while minimizing server downtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic configuration updates and preloading cycles, where configurations are refreshed and loaded into memory at scheduled intervals or during low-traffic periods. This periodic action ensures that configurations remain fresh and up-to-date while avoiding disruptive restarts during peak operational times, thus balancing configuration reliability with service continuity.

Inventive Principle:
Principle #19Periodic action

4Quantity of substance

If selective configuration loading is implemented, then memory efficiency improves, but configuration management complexity increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidconfiguration management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent incorporates feedback mechanisms that monitor configuration access patterns and performance metrics to dynamically determine which configurations should be preloaded into memory. This feedback-driven approach automatically adjusts the set of preloaded configurations based on actual usage, eliminating the need for manual analysis and optimization while maintaining memory efficiency and simplifying management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system implements self-service configuration management where the server automatically identifies, loads, and manages the optimal set of configurations based on access patterns and resource availability. This self-service capability eliminates the need for external intervention to manage configuration loading, reducing operational complexity while maintaining memory efficiency through intelligent selective loading.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10574520B2Dynamic runtime reconfiguration of servers
Publication Date: 2020.02.25 VERIZON PATENT & LICENSING INC
  • US10574520B2 patent drawing
  • US10574520B2 patent drawing
  • US10574520B2 patent drawing

AI summary

A dynamic runtime reconfigurable server its operational logic as it performs tasks for different customers at different times based on different configurations defined by the customers. The embodiments reduce resource overhead associated with reconfiguring and loading the different customer configurations into server memory at runtime. The server selectively loads different customer configurations from storage into server memory as the configurations are accessed in response to received client requests. The server also selectively preloads configurations into memory at periodic server restarts based on configurations accessed during the interval prior to each restart. The restart allows the server to remove old configurations from memory and maintain the most recently accessed ones. Restarting is also performed without interrupting server operation in responding to user requests.