Spreadsheet Style Object Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The processing of spreadsheet style data using markup languages like OOXML and SML leads to inefficiencies due to the loading of multiple objects into memory and repeated pointer traversals, resulting in increased memory usage and processing costs.
Innovation Solution
A method is introduced to store combined cell formatting information by obtaining cell formatting from a master style object, named style information, and cell-specific formatting, which overrides the master formatting, and storing this information in a cell format object, eliminating redundant references and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all spreadsheet data and style objects are loaded into memory before processing, then complete formatting information is available for rendering, but memory resource usage increases significantly
Solution Approach 1:
The patent segments the spreadsheet processing into distinct phases: pagination determination phase and rendering phase. During pagination, only essential structural data is loaded, while style objects are deferred to the rendering phase. This segmentation allows complete formatting information to be available when needed without loading everything into memory simultaneously, thus resolving the contradiction between reliability and memory usage.
Solution Approach 2:
The patent performs preliminary pagination determination with minimal data loading, then prepares style objects in advance of the actual rendering operation. This preliminary action allows the system to plan memory usage efficiently - loading style objects just-in-time for rendering rather than all at once, maintaining completeness of formatting information while optimizing memory resource usage throughout the process.
2Manufacturing precision
If multiple style objects and pointers are traversed repeatedly to determine cell formatting, then accurate formatting is achieved, but processing throughput decreases
Solution Approach 1:
The patent performs preliminary resolution of style references during the pagination phase, creating a simplified representation that captures the essential formatting hierarchy. This preliminary action eliminates the need for repeated pointer traversals during rendering, as the formatting relationships have already been established. The result maintains accurate cell formatting while significantly improving processing throughput by avoiding redundant traversal operations.
Solution Approach 2:
The patent creates simplified copies or representations of style relationships during pagination, rather than working with the full complex object structure throughout processing. These copied representations preserve the essential formatting information needed for accurate rendering while being much more efficient to process. This copying approach maintains manufacturing precision while eliminating the productivity loss from repeated traversals of the original complex structure.
3Productivity
If style data is processed and resolved before pagination, then rendering can proceed efficiently, but memory resources are consumed during a longer period
Solution Approach 1:
The patent segments style data processing into two distinct stages: pagination stage with minimal style processing, and rendering stage with full style resolution. This segmentation allows rendering to proceed efficiently when actually needed, while minimizing the duration that style data occupies memory. The style data is loaded and processed only for the duration of the rendering operation, not held in memory throughout the entire pagination process, thus resolving the contradiction between rendering efficiency and memory occupation duration.
Data Source
AI summary
Methods to facilitate the processing of formatting information for cells in a spreadsheet document described in a markup language are presented. For spreadsheet documents that include a plurality of style objects, cell formatting information may be obtained from a master style object that stores master formatting information. In addition, named style information may be obtained from a style name object that stores named styles. Further, cell specific formatting information, which can override master formatting information, may be obtained from a cell-specific style object that includes cell specific formatting information. Combined cell formatting information for cells may be stored in a cell format object, wherein the combined cell formatting information can comprise named styles, cell-specific formatting information that overrides formatting information in the master style object, and master formatting information that has not been overridden by the cell-specific formatting information.


