Client-Server Data Synchronization via Object Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing rich Internet and other applications that involve code and data located in different client and server locations poses challenges in synchronization and data management, requiring significant programming effort to handle data access, updates, and synchronization across multiple clients and servers.

Innovation Solution

Facilitating application development by linking a client-side data model to a remote data source using data-linked objects, persistent object identifiers, change logs, and data bindings, which simplifies data access and synchronization through operations like create, retrieve, update, and delete, and provides features such as conflict resolution and lazy loading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional web applications use simple client-server programming model, then ease of operation is improved, but device complexity worsens when building rich Internet applications with distributed code and data

Engineering Contradiction:
Improveease of data accessVSAvoidcomplexity of synchronization
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a data access framework as an intermediary layer between the client application and the data source. This framework handles the complexity of data access, synchronization, and conflict resolution automatically, allowing developers to access data through simple object-oriented operations without manually managing synchronization logic across distributed systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The framework implements self-service mechanisms where the system automatically manages data synchronization, conflict detection, and resolution without requiring explicit developer intervention. The persistent object model automatically tracks changes and coordinates updates across multiple clients, eliminating the need for developers to manually handle synchronization complexity.

Inventive Principle:
Principle #25Self-service

2Reliability

If developers manually control each data access event, then reliability of data synchronization is improved, but productivity worsens due to significant programming effort required

Engineering Contradiction:
Improvereliability of data synchronizationVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments data access operations into discrete, standardized events (create, retrieve, update, delete) that the framework handles automatically. By breaking down complex synchronization tasks into these segmented operations, the system maintains reliable synchronization while reducing developer workload, as each segment is processed automatically by the framework's coordination mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The framework changes the parameters of data access from manual event-by-event control to automated operation-based interaction. Developers specify high-level operations rather than implementing detailed synchronization logic, and the framework automatically manages the complexity of coordinating these operations across distributed clients while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If multiple clients access the same data simultaneously, then adaptability of the system is improved, but device complexity worsens due to need to address synchronization issues

Engineering Contradiction:
Improvemulti-client data access capabilityVSAvoidcomplexity of data management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data access framework that handles multiple clients accessing the same data through a single unified model. The persistent object model serves multiple clients simultaneously, automatically coordinating their access patterns. This universal approach enables multi-client capability while avoiding the complexity of implementing separate synchronization logic for each client scenario.

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

Data Source

PatentUS9922100B2Systems and methods for facilitating the development of an application that accesses data
Publication Date: 2018.03.20 ADOBE INC
  • US9922100B2 patent drawing
  • US9922100B2 patent drawing
  • US9922100B2 patent drawing

AI summary

Certain embodiments facilitate developing an application using a client-side object model to data source mapping. This may involve defining data use on the client side of the application in various ways that simplify the development necessary to implement data access features. In certain embodiments, data access and synchronization between a client and a data source is accomplished by configuring the client to map to a set of remote procedure call operations for a given data source. For example, the user may implement or confirm update, create, delete, and retrieve function calls for a given data source such that the application can implement data access and updating using those functions. Embodiments use persistent object identifiers, change logs, and/or data bindings in a client to provide various features and benefits. Certain embodiments also facilitate conflict resolution, demand paging, and lazy loading.