REPL Process as Database for Flexible Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional databases require specialized software design and domain-specific languages like SQL, which are limiting due to their complexity and inflexibility, particularly in handling data structures that cannot be easily converted into table formats.

Innovation Solution

Implementing a separate process in an interactive computer programming environment, such as a Read-Eval-Print Loop (REPL), where data manipulations are performed using a generic programming language, allowing data to be stored and retrieved in various formats without the need for SQL, enabling flexible data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional databases are used with SQL and table formats, then data storage and retrieval are standardized, but flexibility in data structure and ease of operation are reduced

Engineering Contradiction:
Improveease of data manipulationVSAvoidflexibility in data structure
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent applies universality by using a single generic programming language to perform multiple functions: data storage, data retrieval, data manipulation, and data persistence. This eliminates the need for separate domain-specific languages (SQL) and multiple specialized tools, allowing the same language to adapt to various data structures and operations, thereby improving both ease of operation and flexibility simultaneously.

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

2Ease of operation

If specialized domain-specific language (SQL) is used for database queries, then data manipulation is standardized, but complexity of software design and difficulty of operation increase

Engineering Contradiction:
Improveease of data manipulationVSAvoidsoftware design complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the functions of data manipulation language (SQL) and generic programming language into a single generic programming language. This consolidation eliminates the need for separate domain-specific language layers, reducing software design complexity while maintaining ease of data manipulation through the unified language interface.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The generic programming language serves multiple purposes: it acts as both the application programming language and the database query language, replacing SQL. This multi-functionality reduces the overall system complexity by eliminating the need to learn and maintain separate domain-specific languages while preserving data manipulation capabilities.

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

3Adaptability or versatility

If data is stored in table format in conventional databases, then data structure is standardized, but adaptability to non-table data structures is lost

Engineering Contradiction:
Improveflexibility in data structureVSAvoidease of data storage
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent makes the data storage system universal by enabling it to handle multiple data structures (tables, graphs, documents, etc.) through a single generic programming language interface. The language can represent and manipulate various data formats natively, eliminating the need to force all data into table structures while maintaining ease of storage through the same language used for manipulation.

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

Data Source

PatentUS8429200B2Using a separate process in an interactive computer programming environment as a database
Publication Date: 2013.04.23 RED HAT INC
  • US8429200B2 patent drawing
  • US8429200B2 patent drawing
  • US8429200B2 patent drawing

AI summary

Some embodiments of a system and a method to use a separate process in an interactive computer programming environment as a database have been presented. For instance, both server and client may run in an interactive computer programming environment, such as Read-Eval-Print Loop (REPL) environment. The server may receive data manipulating instructions written in a generic programming language and data from the client. The server can execute the instructions to manipulate the data. The server may further act as a database for the client by maintaining persistence of the data.