Soft Type Binding for Distributed Systems Decoupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, the extensive use of common data types leads to increased coupling between agents, preventing client and server applications from being developed independently and making it difficult to version them independently, as they rely on shared type information for data communication.

Innovation Solution

The implementation of 'soft type binding' allows data communications between different computer systems without requiring matching data types, enabling client and server agents to use different data types by materializing resources into instances of client-side data types and handling differences in property sets through default values or omission, thereby decoupling type hierarchies and enabling independent versioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If common data types are used for data communication between agents, then data structure validation and developer assistance are improved, but coupling between agents increases and independent versioning becomes difficult

Engineering Contradiction:
Improvedata structure validationVSAvoidindependent versioning
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the type system into two independent parts: the wire format type definition at the server side and the materialized type at the client side. This segmentation allows each side to evolve independently while maintaining communication through the standardized wire format, resolving the contradiction between validation reliability and versioning adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The wire format acts as an intermediary layer between server and client type systems. The server serializes data to the wire format, which then deserializes to the client's materialized type. This intermediary enables independent type evolution on both sides while maintaining data communication integrity and validation capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If strict type matching is enforced between client and server, then data communication reliability is improved, but flexibility in using different data types and conventions is reduced

Engineering Contradiction:
Improvedata communication reliabilityVSAvoiddata type flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent changes the parameter of type matching from strict equality to compatibility through materialization. Instead of requiring identical type definitions, the system allows different type representations as long as they can be properly materialized to the client's expected type structure, maintaining communication reliability while enabling type flexibility.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of having the client adapt to the server's type definition (traditional approach), the patent inverts the approach by having the server adapt its serialization to produce wire format data that can be materialized to the client's type system. This inversion enables greater client-side flexibility while maintaining reliable communication.

Inventive Principle:
Principle #13The other way round (Inversion)

3Adaptability or versatility

If type mapping is used to translate between different type hierarchies, then interoperability between different conventions is improved, but complexity of type mapping and knowledge of original types is increased

Engineering Contradiction:
ImproveinteroperabilityVSAvoidtype mapping complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the type mapping complexity from the client side by using materialization. Instead of requiring the client to know and map server type hierarchies, the system extracts only the necessary data from the wire format and materializes it directly to the client's type structure, reducing mapping complexity while maintaining interoperability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a copy of the data in the wire format that represents the server's type structure, then materializes this copy to the client's type structure. This copying approach allows interoperability between different type hierarchies without requiring the client to understand or map the original server types, reducing complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9124648B2Soft type binding for distributed systems
Publication Date: 2015.09.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9124648B2 patent drawing
  • US9124648B2 patent drawing
  • US9124648B2 patent drawing

AI summary

Data communications are enabled to be performed between first and second computer systems without having to match data types at the first and second computer systems. A first data type is associated with a request for a resource. The request for the resource is transmitted from a first agent at the first computer system to a second agent at the second computer system. The resource is instantiated at the second computer system according to a second data type that is different from the first data type. The resource is received by the first agent from the second agent. The received resource is materialized into an instance of the first data type using the first agent.