Abstraction Engine for Protocol-Agnostic Database Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large enterprises face increased development costs due to data being stored in various locations and formats, requiring applications to format requests according to different database protocols and extract data from diverse responses.
Innovation Solution
An abstraction engine translates requests and routes them to various database modules, converting responses into a universal format, allowing applications to access multiple databases without needing to be programmed for specific protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If applications are programmed to access multiple databases with different protocols, then data access capability is improved, but application complexity and reprogramming cost increase
Solution Approach 1:
The patent introduces an abstraction engine as an intermediary layer between applications and databases. This engine translates application requests into protocol-specific queries and transforms database responses into a universal format, allowing applications to access multiple database types without knowing their specific protocols. The abstraction engine acts as a mediator that handles protocol conversion, thereby reducing application complexity while maintaining versatile data access capability.
Solution Approach 2:
The abstraction engine provides a universal interface that works with multiple database protocols (SQL, NoSQL, key-value stores, etc.) through a single standardized API. This multi-functional approach allows one application to access diverse database types without requiring separate programming for each protocol, thus improving adaptability while keeping the application simple.
2Adaptability or versatility
If applications are programmed to handle various database protocols, then access to disparate data formats is improved, but development cost increases
Solution Approach 1:
The abstraction engine serves as a mediator that handles all protocol-specific translation work, eliminating the need for developers to write separate code for each database protocol. The engine automatically translates universal application requests into protocol-specific queries and converts diverse database responses into a unified format, significantly reducing development costs while maintaining access to disparate data formats.
Solution Approach 2:
The system performs preliminary actions by pre-configuring the abstraction engine with knowledge of multiple database protocols and their specific requirements. This upfront preparation allows the engine to automatically handle protocol conversion without requiring application developers to invest time and resources in learning and implementing multiple protocols, thereby reducing development costs.
3Productivity
If data is extracted from various response formats, then data retrieval capability is improved, but processing time increases
Solution Approach 1:
The abstraction engine performs preliminary actions by pre-compiling and caching translation rules for different database response formats. When retrieving data, the engine uses these pre-prepared translation templates to quickly convert diverse response formats into a universal structure, minimizing processing time while maintaining comprehensive data retrieval capability across multiple protocols.
Data Source
AI summary
An abstraction engine receives requests identifying a source application and a logical identifier and maps the request attributes to a stored procedure. The stored procedure invokes a native database call with respect to a database and returns the response to the abstraction later, which reformats the response to an object having <key, value> pairs that is independent of the database protocol or organization. Stored procedures may be mapped to various combinations of attributes of requests, which may include attributes such as a user identifier and application version. The stored procedure may return data from a particular database location or perform more complex functions such as filtering functions with using predefined filter criteria and locations or a filtering criteria and/or location derived from the request.


