Serialization Buffer Format for In-Place Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current serialization techniques face limitations such as invalid memory addresses, difficulty in changing data definitions, and architectural differences between computer systems, leading to inefficiencies in data conversion and compatibility issues, especially in high-data-volume applications like games.

Innovation Solution

A serialization buffer format that specifies fields and offsets for storing data, allowing direct access and storage without referencing external memory locations, enabling in-place access and compatibility across different systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional serialization formats are used to store data, then data can be persisted and transferred between systems, but memory addresses become invalid and require complex deserialization processes

Engineering Contradiction:
Improvedata persistence reliabilityVSAvoiddeserialization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts memory address information from the serialization process entirely. Instead of storing pointers and references that require deserialization, the invention stores only the actual data values in a flattened format, eliminating the need for complex address reconstruction during deserialization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a copy of the original in-memory data structure in a flattened serialization format. This copy contains all necessary data without metadata about original memory locations, allowing direct access without requiring the original structure to be reconstructed.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If data definitions are changed in traditional serialization formats, then new fields can be added, but reading old data becomes difficult and may fail

Engineering Contradiction:
Improvedata format adaptabilityVSAvoiddata reading reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary organization of data into a flattened structure with explicit field definitions during the serialization process. This preliminary action includes storing field names and values in a structured format that allows readers to understand the data layout without requiring the original in-memory structure, enabling forward and backward compatibility.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If in-memory and storage formats are made identical, then data access is simple, but architectural differences between systems cause compatibility issues

Engineering Contradiction:
Improvedata access simplicityVSAvoidsystem architecture compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal serialization format that works across different system architectures. The flattened buffer format with explicit field definitions serves multiple functions: it stores data efficiently, provides architecture-independent representation, and enables direct access without deserialization, making it universally compatible across different platforms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Adaptability or versatility

If wire format and in-memory format differ, then compatibility issues are resolved, but data conversion consumes memory and processing cycles

Engineering Contradiction:
Improveformat compatibilityVSAvoiddata conversion efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges the wire format and in-memory format into a single unified representation. The flattened serialization buffer serves as both the storage format and the access format, eliminating the need for conversion between different formats and the associated memory and processing overhead.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9892144B2Methods for in-place access of serialized data
Publication Date: 2018.02.13 GOOGLE LLC
  • US9892144B2 patent drawing
  • US9892144B2 patent drawing
  • US9892144B2 patent drawing

AI summary

Methods and apparatus are provided for serializing data. A computing device can generate a serialization buffer (SB). The SB can specify fields storing data and corresponding offsets, with an offset referring to a location in the SB storing the corresponding field. The SB can access a designated field in the SB by determining a designated offset for the designated field, determining a starting location based on the designated offset, and accessing data at the starting location. A distinct copy of the SB can be stored on a storage device.