JavaScript Object Instantiation with Data Storage Abstraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in creating seamless processing of application programming interface (API) requests across mobile devices and servers, requiring robust frameworks that can handle diverse data storage interfaces and maintain concurrent sessions efficiently.

Innovation Solution

A JavaScript-based API server with a data storage abstractor and connector, utilizing JSON file structures for rich model definitions, and a replication manager for data synchronization, enabling isomorphic API calls and handling concurrent sessions with a non-blocking I/O interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a robust framework is implemented to handle diverse data storage interfaces, then the ability to process API requests across mobile devices and servers is improved, but the device complexity increases

Engineering Contradiction:
Improveability to handle diverse data storage interfacesVSAvoidframework complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a data storage abstractor as an intermediary layer between the JavaScript objects and diverse backend data storages. This abstractor provides standardized CRUD functions and translation capabilities, allowing the system to handle multiple storage interfaces (relational databases, REST services, SOAP services, memory) through a unified interface without increasing the complexity of the core JavaScript object model.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The data storage abstractor is designed with universal functionality to work with multiple types of data storages through a common interface. It implements standardized create, retrieve, update, and delete operations that can be applied across different storage backends, eliminating the need for separate handling logic for each storage type and reducing overall system complexity.

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

2Productivity

If a non-blocking I/O interface is used to handle concurrent sessions, then the productivity increases, but the device complexity increases

Engineering Contradiction:
Improveconcurrent session handling capabilityVSAvoidI/O interface complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The web socket manager implements a feedback mechanism that monitors connection states and automatically manages session lifecycle events. This allows the non-blocking I/O interface to maintain multiple concurrent sessions without requiring complex manual management of each connection, as the system automatically handles events such as connection establishment, data transmission, and session termination through structured feedback loops.

Inventive Principle:
Principle #23Feedback

3Reliability

If data synchronization is implemented between JavaScript objects and backend data storages, then the reliability is improved, but the loss of time increases

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

Solution Approach 1:

The replication manager performs preliminary actions by establishing replication rules and data mapping configurations in advance. This allows the system to pre-configure synchronization behavior, data transformation logic, and conflict resolution strategies before actual data operations occur, reducing the time required for real-time synchronization between JavaScript objects and backend data storages.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10324742B2Instantiation of JavaScript object
Publication Date: 2019.06.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10324742B2 patent drawing
  • US10324742B2 patent drawing
  • US10324742B2 patent drawing

AI summary

A method. A JavaScript (JS) object is instantiated. The instantiated JS object processes application programming interface (API) requests received from mobile devices. The instantiation of the JS object is based on a JS model including (1) a JS file that stores a description of a behavior of the JS object and (2) a JS object notation (JSON) file that stores a description of properties of the JS object. The JSON file includes at least one validation rule to reject a data tuple unless the data tuple meets a required constraint specified in the validation rule. A data abstracter is an interface between the JS object and a set of data storages from which the JS object retrieves data while processing at least two of the API requests. The data abstractor is connected with the set of data storages by implementing a data exchange logic for the set of data storages.