Unified Data Model for Two-Tiered Mobile Application Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development tools for mobile devices face challenges in creating platform-independent applications that are resource-efficient, as native applications are large and memory-intensive, while web-based applications struggle with data persistence and runtime rendering, necessitating complex and time-consuming development processes.

Innovation Solution

A component-based application development environment using a unifying data model that transparently programs tiers of a two-tiered application, allowing for the creation of platform-independent applications with a graphical user interface, enabling drag-and-drop design and automatic code generation for client and server components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If web-based applications are used, then platform independence is achieved, but data persistence and runtime rendering performance deteriorate

Engineering Contradiction:
Improveplatform independenceVSAvoiddata persistence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The application is segmented into distinct components: a presentation layer for UI rendering, a data layer for persistent storage, and a business logic layer. This segmentation allows the presentation layer to be platform-independent while the data layer ensures reliable persistence, resolving the contradiction between web-based portability and data reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary component is introduced that bridges the web-based presentation layer and the data persistence layer. This intermediary handles data caching, synchronization, and offline storage, enabling web applications to maintain data persistence without compromising platform independence.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If native applications are used, then application performance is improved, but memory resource consumption increases

Engineering Contradiction:
Improveapplication performanceVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The application employs dynamic resource allocation where memory resources are allocated on-demand based on user interaction and data requirements. Frequently used data is cached in memory, while less frequently accessed data is stored externally, providing native-like performance while optimizing memory consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically adjusts memory allocation parameters based on device capabilities, user preferences, and current operational state. This allows the application to optimize performance by allocating more memory when available while maintaining functionality with reduced memory usage on constrained devices.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If separate development tools are used for client and server behavior, then specialized functionality is achieved, but development complexity increases

Engineering Contradiction:
Improvespecialized functionalityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The invention merges client and server development tools into a single integrated environment that provides unified visualization of the two-tiered application. This unified toolset allows developers to work with both client and server components simultaneously while maintaining specialized functionality through modular architecture, thereby reducing development complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A universal development environment is created that can handle both client-side and server-side development tasks. This multi-functional toolset provides consistent APIs, shared data models, and coordinated debugging capabilities for both tiers, eliminating the need for separate specialized tools while preserving their individual capabilities.

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

Data Source

PatentUS8006224B2System and method for unified visualization of two-tiered applications
Publication Date: 2011.08.23 MALIKIE INNOVATIONS LTD
  • US8006224B2 patent drawing
  • US8006224B2 patent drawing
  • US8006224B2 patent drawing

AI summary

An application generation environment coordinates development of component-based two-tiered applications using a unifying data model comprising an interconnected model of objects. The data model unifies the two-tiered application to present a single logical application for visualization and for programming using a graphical user interface. The data model transparently programs tiers of the application in response to user input to program the single logical application. Application components are generated for execution within a two-tiered execution environment such as a client device (e.g. a wireless mobile device) and a gateway server providing a stateful proxy with which to access services or a remote data source via a network. The application components may by generated with marks to denote portions thereof for execution within the respective tiers of the two-tiered execution environment.