Client-Server Data Synchronization via Object Mapping
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


