Entity Projection for Selective Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In service-oriented systems, direct access to a service's data store by consumers compromises data integrity and autonomy, and existing methods require consumers to access or synchronize entire entities, leading to unnecessary overhead when only a subset of data is needed.

Innovation Solution

The generation of a read-only entity projection on a consumer, which is a subset of the owning service's entity properties, allowing selective data access and synchronization, conforming to the entity programming model and maintaining service autonomy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If consumers directly access the owning service's data store, then data access efficiency is improved, but service autonomy and data integrity are compromised

Engineering Contradiction:
Improvedata access efficiencyVSAvoidservice autonomy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a data contract as an intermediary layer between the owning service's data store and consumers. The data contract defines a public interface that exposes only selected properties of entities, allowing consumers to access data efficiently without direct access to the underlying data store. This mediator preserves service autonomy and data integrity while enabling productive data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If consumers access entire entities through the service interface, then service autonomy is maintained, but processing overhead increases when only a subset of data is needed

Engineering Contradiction:
Improveservice autonomyVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the necessary properties from entire entities and exposes them through data contracts. Instead of requiring consumers to access and process complete entities with all their properties, the data contract selectively exposes only the specific properties that consumers need. This extraction principle reduces processing overhead and time loss while maintaining service autonomy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If consumers synchronize entire entities to local data store, then service availability is improved, but synchronization time and processing overhead increase

Engineering Contradiction:
Improveservice availabilityVSAvoidsynchronization time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies the extraction principle to synchronization by allowing consumers to synchronize only the specific properties defined in data contracts to their local data stores, rather than synchronizing entire entities. This selective synchronization reduces synchronization time and processing overhead while maintaining service availability, as consumers can operate with the subset of data they need.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If consumers access only required properties, then processing efficiency is improved, but direct access violates service-oriented principles

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidservice-oriented principles
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent makes data contracts universal by designing them as reusable interfaces that can be consumed by multiple consumers. The data contract serves multiple functions: it defines the public interface, selects properties to expose, and enables efficient access. This universal structure allows consumers to access only required properties through a standardized service-oriented interface, maintaining principles while improving efficiency.

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

Data Source

PatentUS7720904B2Entity projection
Publication Date: 2010.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7720904B2 patent drawing
  • US7720904B2 patent drawing
  • US7720904B2 patent drawing

AI summary

The present invention provides an entity projection in a client. The entity projection is an encapsulation of data, from an owning service, and residing on a consumer of that service. The entity projection provides an abstraction that conforms to an entity programming model on the consumer. The entity projection may illustratively include a subset of the properties of an entity in the owning service, the subset being only those properties required by the entity and those properties desired by the consumer.