Email Attachment Viewer Prefetching for Portable Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable electronic devices experience significant delays in displaying email attachments due to server processing time and network speed, often exceeding 20-30 seconds, which is undesirable for users.
Innovation Solution
The method involves sending an initial data request from the attachment viewer to a server, reconstructing a graph structure representing the attachment, and pre-fetching and storing data chunks on the device, allowing immediate display upon user action, such as scrolling, by automatically requesting and caching subsequent chunks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the attachment data is fetched and processed on demand from the server, then the server processing time and network transmission time are reduced, but the user experiences significant waiting time (20-30 seconds) before the attachment can be viewed
Solution Approach 1:
The system performs preliminary actions by automatically prefetching and caching subsequent data chunks before the user actually requests them. When a user views an attachment, the system proactively downloads and stores the next chunks in memory, so that when the user scrolls or navigates to those sections, the data is already available locally, eliminating waiting time.
Solution Approach 2:
The attachment data is divided into multiple manageable chunks rather than being fetched as a single large file. This segmentation allows the system to prefetch and cache smaller portions incrementally in the background, reducing the memory burden and allowing progressive loading without requiring the entire attachment to be downloaded at once.
2Speed
If the entire attachment is downloaded and cached in memory before viewing, then immediate viewing is possible, but the memory consumption increases significantly
Solution Approach 1:
The attachment is segmented into multiple chunks that are loaded incrementally as needed. Instead of loading the entire attachment into memory at once, only the current chunk and potentially one or two subsequent chunks are kept in memory, dramatically reducing peak memory consumption while maintaining fast display performance.
Solution Approach 2:
The system performs preliminary loading of data chunks in the background before they are actually needed for display. This allows the attachment to be displayed immediately when requested, as the initial chunk is loaded beforehand, while subsequent chunks are prefetches incrementally as the user navigates through the content.
3Loss of time
If data chunks are prefetched and cached on the portable device, then subsequent chunks are available for immediate display, but the initial data request and chunk processing complexity increases
Solution Approach 1:
The attachment viewer is enhanced with automatic chunk management capabilities that operate autonomously. When data is received, the system automatically segments it into chunks, caches them in memory, and manages their retrieval and display without requiring complex user intervention or manual processing steps.
Solution Approach 2:
The system performs preliminary processing of incoming data by automatically chunking and caching it as it arrives. This preliminary action transforms the raw data stream into pre-organized, memory-ready chunks that can be quickly retrieved and displayed, reducing the processing burden during actual viewing operations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for downloading an attachment to an attachment viewer of a portable electronic device includes: sending an initial data request from said attachment viewer to a server in response to receipt of an email message including said attachment by said portable electronic device; accessing a graph structure representing a map of said attachment from said server, said graph structure having been previously built on said server; reconstructing said graph structure in response to said initial request and encapsulating said graph structure in data having an attachment viewer readable format, said data being stored on said server; and i) downloading successive chunks of said data from said server to said attachment viewer responsive to successive user requests; ii) storing each of said successive chunks of said data on said portable electronic device prior to display thereof; iii) displaying said successive chunks of said data on said portable electronic device and automatically downloading respective next chunks of said data from said server; and iv) while said data chunks of said data remain to be downloaded from said server performing steps i) to iii).