Document Data Structure for Efficient Text Reordering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing document editing processes are inefficient in terms of computational resources and storage, as they require significant processing power to reposition text sections within large documents and expend storage by saving multiple versions of entire documents, and they often lock documents for editing, necessitating users to create and manage copies.
Innovation Solution
A document tool that integrates a graphical user interface with a text editor and editing tools like an outline tool, sentence rewrite tool, and sentence reorder tool, utilizing a data structure that allows for efficient editing and version management by reordering content through outline topics and storing multiple sentence versions within the document, reducing the need for extensive copying and processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional document editing is used to reposition sections of text within large documents, then the document can be edited and reorganized, but significant processing resources are expended
Solution Approach 1:
The document is divided into discrete blocks that can be independently manipulated. Each block represents a manageable unit of content that can be repositioned without processing the entire document, reducing computational overhead while maintaining full editing capability.
Solution Approach 2:
Multiple copies or versions of the document can be stored efficiently through block-level operations. Instead of copying entire documents, only specific blocks need to be copied or referenced, significantly reducing storage and processing requirements while enabling version management.
2Reliability
If multiple copies/versions of the document are saved to prevent content loss, then content protection is improved, but significant storage resources are expended
Solution Approach 1:
The document versioning system operates at the block level rather than document level. Individual blocks can be versioned, restored, or compared independently, allowing content protection without storing complete document copies. This enables selective recovery of specific content sections while minimizing storage requirements.
Solution Approach 2:
Multiple versions of document blocks are nested within the overall document structure. Instead of storing separate complete document copies, version information is nested within the block data structure, allowing efficient storage of multiple versions through hierarchical organization and differential storage.
3Productivity
If traditional document editing is used to locate and reposition sections of text, then document reorganization is achieved, but significant processing resources are expended
Solution Approach 1:
By segmenting the document into blocks with unique identifiers, the system can locate and reposition specific sections without scanning or processing the entire document. Block-level operations enable rapid reorganization through direct manipulation of individual units rather than bulk document processing.
Solution Approach 2:
The patent introduces an intermediary data structure that maps block identifiers to their positions and contents. This intermediary layer enables efficient location and repositioning of document sections without directly processing the full document text, reducing processing resources while maintaining reorganization capability.
Data Source
AI summary
An apparatus includes a memory and a processor. The memory stores a data structure that includes an array of data blocks, each of which stores one or more strings of text of a document. The processor displays a sequence of elements, each associated with one or more consecutive data blocks of the array, and a sequence of parts, each corresponding to a data block and displaying the strings of text stored by the data block, on a GUI. The processor receives information identifying a modification of a first element, which is associated with a first data block, to which a first part corresponds. The modification is associated with an equivalent modification of the first part. The processor updates the sequence of elements according to the modification and the sequence of parts according to the equivalent modification. The processor converts the updated sequence of elements into an updated data structure.


