JSON Object Persistence in Document Stores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional object systems in computing face inefficiencies due to significant conversion processes between application languages and storage formats, leading to performance delays and complex logic for serialization and deserialization, as well as limitations in flexible data management and synchronization between local and remote data stores.
Innovation Solution
Representing application objects in a language format like JSON, allowing for seamless interaction with document stores, both local and remote, and automating the persistence and updating of objects without explicit store requests, thereby reducing the need for extensive serialization and deserialization processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If objects are stored using conventional serialization processes, then data can be persisted in storage formats, but significant conversion time and computational resources are lost
Solution Approach 1:
The patent uses JSON format for both in-memory object representation and persistent storage representation, eliminating the need for conversion between different data formats. This homogeneity allows objects to be stored and retrieved without serialization/deserialization overhead, directly resolving the contradiction between reliable data persistence and time loss during conversion.
2Reliability
If explicit serialization requests are used to persist objects, then data can be stored, but complex logic and additional programming overhead are introduced
Solution Approach 1:
The patent implements automatic persistence where objects are automatically saved to the document store when they are created or modified in the application. This self-service mechanism eliminates the need for explicit serialization requests and complex persistence logic, as the system automatically handles the storage of JSON-formatted objects without requiring additional programming overhead.
3Adaptability or versatility
If objects are stored in remote data stores, then data can be accessed remotely, but frequent retrieval and transmission operations reduce execution efficiency
Solution Approach 1:
The patent segments data storage by allowing objects to be stored in either local volatile memory or remote document stores based on specific needs. This segmentation enables the system to optimize for both remote accessibility and execution efficiency by keeping frequently accessed objects locally while maintaining the ability to store and retrieve objects remotely when needed, thus resolving the contradiction between adaptability and productivity.
Data Source
AI summary
Object-oriented application languages often provide resources to applications for accessing objects stored in the volatile application memory region, and, separately, for packaging objects for persistent storage and network transport by serialization and deserialization involving a storage format. However, this design creates discrepancies between the application language and storage format, and depends on affirmative serialization and deserialization by the application. Presented herein are techniques for providing object access to objects involving persisting the objects as documents in a document store, where such persistence occurs automatically upon object creation and updating, and where such objects are stored in a language format integral to the application language (e.g., when a JavaScript application creates an object, the objects are automatically stored as documents of the document store in a JavaScript Object Notation (JSON) format). This design enables various advantages in efficiency, flexibility, and seamless interaction between the application and the objects.


