Data Items Manager for Asynchronous Source Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data management systems face challenges in providing real-time data representation and handling asynchronous data sources, particularly in maintaining a consistent and up-to-date list of data items for clients, especially when network connections are poor or data sources do not provide change notifications.

Innovation Solution

An items manager module interacts with a data source via a data source adapter to request and maintain a list of data representation items, providing clients with synchronous enumeration and notifications of changes, even with asynchronous data sources, using placeholders and prioritizing resource loading to ensure data consistency and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If asynchronous data sources are used to fetch data items, then the system can handle remote data sources with longer response times, but the client cannot obtain real-time data representation and must wait for asynchronous responses

Engineering Contradiction:
Improveability to handle remote data sourcesVSAvoiddata retrieval speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The items manager pre-fetches data items from the data source before the client actually needs them, maintaining a local cache of data representation items. This preliminary action allows the client to immediately access data from the cache without waiting for asynchronous responses, thus resolving the contradiction between handling remote data sources and maintaining fast data retrieval speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The items manager acts as an intermediary layer between the asynchronous data source and the client. It maintains a local cache of data representation items and provides synchronous access to the client, while independently handling asynchronous updates from the data source. This intermediary approach allows the client to operate at high speed without being blocked by asynchronous data source limitations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the items manager waits for asynchronous data source responses before providing data to the client, then data consistency is maintained, but the client experience degrades due to waiting

Engineering Contradiction:
Improvedata consistencyVSAvoidclient waiting time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The items manager performs preliminary data fetching and caching operations, maintaining a local cache of data representation items that can be immediately provided to the client. This eliminates client waiting time while maintaining data consistency through subsequent asynchronous updates from the data source

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The items manager continuously maintains the local cache of data representation items and asynchronously updates it when data changes are detected from the data source. This continuous maintenance ensures data consistency is preserved over time while the client experiences no waiting delays, as all data is immediately available from the cache

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If all data representation items are loaded and maintained in memory for the client, then fast access is provided, but memory usage increases significantly

Engineering Contradiction:
Improvedata access speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The items manager segments the data representation items into different categories based on their access patterns and importance, maintaining only frequently accessed items in the local cache while allowing less frequently accessed items to be fetched on-demand from the asynchronous data source. This segmentation reduces memory usage while maintaining fast access speed for critical data

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The items manager loads only a partial set of data representation items into the local cache based on predicted client needs and access patterns, rather than loading all possible items. This partial loading approach reduces memory usage while still providing fast access to the most relevant data items that the client is likely to need

Inventive Principle:
Principle #16Partial or excessive action

4Loss of information

If the system frequently synchronizes with the data source to ensure up-to-date data, then data freshness is improved, but bandwidth consumption increases

Engineering Contradiction:
Improvedata freshnessVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The items manager implements periodic synchronization with the data source at optimized intervals, rather than continuous or frequent synchronization. This periodic approach maintains data freshness by regularly updating the local cache while significantly reducing bandwidth consumption compared to frequent synchronization approaches

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The items manager implements a feedback mechanism that monitors data access patterns and cache hit rates to dynamically adjust the synchronization frequency with the data source. When the cache is highly accurate and access patterns are stable, synchronization frequency is reduced to minimize bandwidth consumption. When data freshness becomes critical or access patterns change, synchronization frequency increases to maintain data accuracy, thus optimally balancing data freshness and bandwidth consumption

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9069829B2Data items manager
Publication Date: 2015.06.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9069829B2 patent drawing
  • US9069829B2 patent drawing
  • US9069829B2 patent drawing

AI summary

An items manager can request and receive data items from a data source via a data source adapter. The items manager can also maintain a list of data representation items representing data items. The data representation items can include user interface elements. Also, maintaining the list can include invoking a renderer to render the data representation items from the data items received from the data source, and including the data representation items in the list. The items manager can provide a client with an enumeration through the list of data representation items. The items manager may also provide other features, such as providing the client with notifications of changes to the list of data representation items.