JSON Object Persistence in Document Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata persistenceVSAvoidserialization time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #33Homogeneity

2Reliability

If explicit serialization requests are used to persist objects, then data can be stored, but complex logic and additional programming overhead are introduced

Engineering Contradiction:
Improvedata persistenceVSAvoidpersistence logic
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveremote data accessVSAvoidexecution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10817312B2Programming model for performant computing in document-oriented storage services
Publication Date: 2020.10.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10817312B2 patent drawing
  • US10817312B2 patent drawing
  • US10817312B2 patent drawing

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.