Idle Worker-Process Page-Out for Web Server Memory Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Idle websites consume resources and result in delayed response times when users attempt to access them, as existing methods of terminating or starting websites are inefficient, leading to a suboptimal user experience due to memory bottlenecks and startup times.
Innovation Solution
Implementing an idle worker-process page-out feature that suspends inactive websites, allowing them to be quickly resumed when needed, thereby conserving resources and minimizing memory usage without compromising user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If idle websites are terminated to conserve resources, then memory usage is reduced, but user response time increases significantly
Solution Approach 1:
The patent changes the state parameter of idle website processes from 'terminated' to 'suspended/paged-out'. By modifying the process state rather than completely terminating it, the system achieves both memory conservation and fast resume capability. The process remains in memory in a suspended state, allowing immediate resumption when accessed, eliminating the 10+ second startup delay while still freeing up memory resources.
Solution Approach 2:
The patent implements dynamic memory management where website processes can transition between active and suspended states based on idle time thresholds. This dynamic approach allows the system to adapt memory allocation to actual usage patterns, suspending idle processes to conserve memory while maintaining the capability for rapid resumption, thus resolving the contradiction between memory conservation and response time.
2Speed
If websites are kept active to ensure fast response, then user experience improves, but memory consumption increases
Solution Approach 1:
The patent applies parameter changes by transitioning website processes to a suspended state with modified memory allocation. Instead of keeping full memory allocations for all websites indefinitely, the system changes the memory state to 'paged-out' for idle processes, reducing memory consumption while maintaining the ability to quickly restore full functionality upon user access.
Solution Approach 2:
The patent implements periodic monitoring of website activity with idle time thresholds. The system periodically checks website usage patterns and applies suspension/resumption actions based on these periodic assessments. This periodic action allows the system to maintain fast response times for active sites while conserving memory for idle sites, dynamically adjusting based on observed usage patterns.
3Loss of energy
If static websites consume minimal memory, then resource efficiency improves, but user perception of responsiveness deteriorates due to startup delays
Solution Approach 1:
The patent changes the process state parameter from 'terminated' to 'suspended' for idle websites. This parameter change allows the system to achieve memory efficiency comparable to static websites while maintaining the responsiveness characteristics of active websites. The suspended state preserves the process in memory without full resource allocation, enabling both memory efficiency and fast user response.
Solution Approach 2:
The patent performs preliminary suspension of website processes before they are completely terminated. By suspending processes in advance and keeping them in a recoverable state, the system prepares for potential user access without maintaining full resource consumption. This preliminary action ensures that when users do access the site, the process can be quickly resumed, preventing user-facing delays while maintaining memory efficiency during idle periods.
Data Source
AI summary
Systems and methods for handling idle websites on a Web server are disclosed. The duration between requests for a website application is monitored and compared to an idle time-out value. The idle time-out value may be a user-selected value that is the same for all website applications or an idle time-out value selected for a group of worker processes. When the idle time-out value is reached, all inactive memory allocations for the website application are paged-out. When a request for the website application is later received, memory for the website application is paged-in so that the request can be processed.


