Cyclic Memory Management for Web Medical Image Viewers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web-based medical imaging viewers face challenges in seamless rendering of medical images due to limited browser memory and network bandwidth fluctuations, leading to interrupted or choppy image rendering, especially in remote teleradiology systems.
Innovation Solution
A cyclic memory management system with dedicated buffers for each viewport, monitored by AI components to regulate image buffering and rendering based on user activity and network conditions, ensuring seamless rendering by prioritizing data requests and adjusting download and rendering rates to maintain a consistent frame per second (FPS) rate.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of moving object
If medical images are continuously buffered in memory, then rendering smoothness is improved, but browser memory capacity is exceeded
Solution Approach 1:
The system implements cyclic buffer management where older medical image data is discarded from the buffer when memory capacity is reached, and recovered when needed. The buffer management component actively manages buffer content by removing less frequently accessed image data and reusing the freed memory capacity for newly received or frequently accessed images, enabling continuous smooth rendering within limited browser memory constraints
Solution Approach 2:
The system dynamically changes buffer parameters such as buffer size allocation and data retention policies based on network conditions, user interaction patterns, and current memory availability. The buffer management component adjusts buffering strategies in real-time, modifying parameters like buffer threshold levels and data eviction policies to optimize rendering performance while adapting to changing system conditions
2Speed
If image data is downloaded at high speed, then rendering responsiveness is improved, but network bandwidth is consumed
Solution Approach 1:
The system performs preliminary actions by pre-buffering medical image data in advance based on predicted user navigation patterns and current viewport position. The buffer management component proactively downloads and stores image data before it is actually needed for rendering, reducing the urgency of high-speed downloads during active viewing and allowing for more efficient, lower-bandwidth network utilization
Solution Approach 2:
The system implements periodic buffer management operations where the buffer management component regularly assesses buffer status, network conditions, and user activity patterns at defined intervals. This periodic evaluation allows the system to adjust download rates and buffer allocation in a rhythmic manner, balancing rendering responsiveness with network bandwidth conservation through scheduled optimization cycles
3Reliability
If buffer size is increased to accommodate more images, then rendering continuity is improved, but browser memory limits are exceeded
Solution Approach 1:
The system segments the buffer into multiple smaller buffer zones or partitions, each managing specific image data sets. The buffer management component divides the limited browser memory into discrete buffer segments that can be independently managed, allowing continuous rendering by efficiently switching between segments and recycling memory within each segment rather than requiring a single large buffer
Data Source
AI summary
A system comprises a memory that stores computer executable components; and a processor that executes the computer executable components stored in the memory. A communication component receives a stream of medical images from a medical image data source via a network for displaying in one or more viewports of a medical image visualization application that provides interactive functionalities in association with the displaying. A buffer component stores the medical images, in one or more buffers, as the respective medical images are received. A monitoring component monitors user activity with respect to a rendered subset of the medical images in the one or more viewports in association with usage of the interactive functionalities. A buffer management component regulates storing of the medical images in the one or more buffers by the buffer component as a function of the user activity to facilitate seamless rendering of the medical images.


