Cross-language object sharing via server-stored typename

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for sharing data objects between clients using different programming languages are cumbersome and limited, particularly due to differences between strongly typed and dynamically typed languages, which hinder effective cross-language object sharing.

Innovation Solution

The solution involves storing typename information at a server when an object is created, allowing clients to share friendly, non-language-specific typenames that can be understood by various languages, enabling correct instantiation of objects across disparate language types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If language-specific typing mechanisms are used for object sharing, then type safety and object correctness are improved, but cross-language compatibility and ease of sharing deteriorate

Engineering Contradiction:
Improveobject instantiation correctnessVSAvoidcross-language compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a language-agnostic typename as an intermediary that mediates between strongly typed and dynamically typed languages. This typename serves as a common understanding layer that allows objects to be shared across different language boundaries while maintaining type safety in strongly typed languages and flexibility in dynamically typed languages.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The typename is designed to be universal across multiple programming languages, serving both strongly typed languages (which require type information for safety) and dynamically typed languages (which benefit from flexibility). This single typename structure performs multiple functions: it provides type safety where needed while maintaining language independence.

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

2Reliability

If each language implements its own object sharing mechanism, then language-specific type safety is maintained, but system complexity and programming difficulty increase

Engineering Contradiction:
Improvetype safetyVSAvoidobject sharing mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal object sharing mechanism that works across all programming languages through the use of a standardized typename. This single mechanism replaces the need for multiple language-specific implementations, reducing overall system complexity while maintaining type safety through the typename structure.

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

Solution Approach 2:

The patent promotes homogeneity in the object sharing mechanism by using a unified typename structure that is consistent across all languages. This homogeneous approach simplifies the sharing mechanism while preserving the heterogeneity needed for different language type systems through the flexible typename definition.

Inventive Principle:
Principle #33Homogeneity

3Measurement precision

If language-specific typenames are used, then type precision and object identity are improved, but shareability among different languages deteriorates

Engineering Contradiction:
Improvetypename precisionVSAvoidtypename shareability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent uses a language-agnostic typename as an intermediary that preserves type precision information while enabling cross-language sharing. The typename acts as a mediator that carries sufficient type information for strongly typed languages to maintain precision while being interpretable by dynamically typed languages that require less type information.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8798092B2Cross language object sharing
Publication Date: 2014.08.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8798092B2 patent drawing
  • US8798092B2 patent drawing
  • US8798092B2 patent drawing

AI summary

Methods, system, and computer storage media are provided for enabling cross-language object sharing by providing shareable typename information agreed upon by clients that wish to share object with each other. A first client creates an object by communicating a create request, which includes typename information associated with the object. The object is created and the typename information, along with data and properties associated with the object, is stored. A second client requests to open that object. The data, properties, and typename information stored in associated with the object is communicated to the second client so that the second client is able to create a correct instance of the object.