Coordinating Program for Server Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems in computer systems face challenges in efficiently recovering disused dynamic memory, leading to memory leaks and application crashes, especially during peak loads when garbage collection degrades performance and can cause unaddressed requests.

Innovation Solution

A coordinating program is introduced to manage garbage collection across a group of servers, analyzing parameters like load rates and memory usage to optimize when each server performs garbage collection, allowing multiple servers to collect garbage simultaneously without degrading service availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection is performed on servers during peak loads, then memory management is updated, but service availability degrades and requests may go unaddressed

Engineering Contradiction:
Improvememory management reliabilityVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The coordinating program performs preliminary analysis before triggering garbage collection by evaluating predicted load rates and server availability. It proactively determines whether GC should be delayed until a more suitable time, preventing service degradation before it occurs. This is evident in the analysis step that predicts load rates and decides on GC timing in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts garbage collection timing based on real-time conditions. The coordinating program continuously monitors actual load rates and server availability, and adapts its GC scheduling decisions accordingly. This dynamic response allows the system to optimize between memory management needs and service availability based on current operational state.

Inventive Principle:
Principle #15Dynamics

2Reliability

If garbage collection is performed frequently, then memory leaks are prevented, but system performance degrades during collection events

Engineering Contradiction:
Improvememory leak preventionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The coordinating program performs preliminary analysis to determine the optimal timing for garbage collection. By evaluating predicted load rates and server availability before initiating GC, the system can schedule collection events that minimize performance impact while still preventing memory leaks through timely intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from monitored load rates and server availability to adjust garbage collection scheduling. The coordinating program continuously receives feedback on actual system conditions and adapts its GC timing decisions, allowing it to balance memory management effectiveness with performance maintenance.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple servers perform garbage collection simultaneously, then memory management efficiency improves, but coordination complexity increases

Engineering Contradiction:
Improvememory management efficiencyVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The coordinating program acts as an intermediary that manages and coordinates garbage collection across multiple servers. It centralizes the decision-making logic, analyzing system state and assigning GC tasks to appropriate servers. This intermediary approach enables simultaneous GC operations on multiple servers while containing coordination complexity in a dedicated management component.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If garbage collection is delayed, then service availability is maintained, but memory accumulation increases

Engineering Contradiction:
Improveservice availabilityVSAvoidgarbage accumulation
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The coordinating program performs preliminary analysis to predict when garbage collection should occur based on load rates and memory accumulation trends. By proactively scheduling GC before memory reaches critical levels, the system maintains service availability while preventing excessive garbage accumulation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the timing and frequency of garbage collection based on real-time monitoring of memory usage and load conditions. This dynamic scheduling allows the system to delay GC when safe (maintaining availability) while initiating it promptly when memory accumulation becomes problematic.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9971683B1Automatic computer memory management coordination across a group of servers
Publication Date: 2018.05.15 T MOBILE INNOVATIONS LLC
  • US9971683B1 patent drawing
  • US9971683B1 patent drawing
  • US9971683B1 patent drawing

AI summary

A method of automatic memory management on a group of servers, the group of servers operably coupled to a coordinating program. The method comprises a first server of the group of servers performing garbage collection, the coordinating program performing an analysis on the group of servers, and, based on the analysis, the coordinating program determining a feasibility of having a second server performing garbage collection during a time when the first server is performing garbage collection without degrading a service provided by the group of servers. The method further comprises, responsive to the coordinating program determining that the second server can perform garbage collection during the time that the first server is performing garbage collection without degrading the service provided by the group of servers, the coordinating program commanding the second server to perform garbage collection when the first server is also performing garbage collection.