Multi-Representation Document Storage for Efficient Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing document file formats and in-memory representations are inefficient for certain operations, as stream representations are not suitable for accessing specific objects, while object representations are not efficient for string searches and other processing tasks.
Innovation Solution
A method that stores a document in multiple representations, including a stream representation and one or more object representations, such as a structure tree and a styling tree, where each node in the object trees references index positions in the stream representation, enabling efficient selection and navigation of document content.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If stream representation is used for document storage, then string searches and processing operations are efficient, but accessing specific objects becomes inefficient
Solution Approach 1:
The document is segmented into multiple representations: a stream representation for efficient text processing and object representations (structure tree, styling tree) for efficient object access. Each representation serves its specialized function, resolving the contradiction between search efficiency and access speed.
Solution Approach 2:
The patent adds a new dimension to document storage by maintaining parallel representations (stream and object trees) instead of using a single linear structure. This multi-dimensional approach allows simultaneous optimization for both text processing and object access operations.
2Loss of time
If object representation is used for document storage, then specific objects can be accessed efficiently, but string searches and processing operations become inefficient
Solution Approach 1:
The document processing system is segmented into specialized components: object tree structures for rapid object location and stream representation for text processing. This division allows each component to optimize for its specific function without compromising the other.
Solution Approach 2:
The patent introduces an intermediary layer that connects object representations with stream representations. This intermediary enables efficient conversion and coordination between the two formats, allowing the system to leverage the strengths of both representations for different operations.
3Adaptability or versatility
If multiple representations are stored for a document, then efficient access to different types of information is enabled, but storage complexity increases
Solution Approach 1:
The complex storage system is segmented into distinct, well-defined components (stream representation, structure tree, styling tree) with clear responsibilities. This modular segmentation manages complexity by organizing functionality into separate, manageable units rather than a monolithic structure.
Data Source
AI summary
Some embodiments provide a method for storing a document. The method stores a content stream representation of the document that includes an ordered stream of code representations for primitive elements of the document. Each code representation of a primitive element has an index that indicates the order in the content stream of the primitive element representation. The method stores an object representation of the document that includes a set of object nodes arranged in a tree structure. Each object node references a range of indices in the content stream.


