Cross-language object sharing via server-stored typename
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If each language implements its own object sharing mechanism, then language-specific type safety is maintained, but system complexity and programming difficulty increase
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.
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.
3Measurement precision
If language-specific typenames are used, then type precision and object identity are improved, but shareability among different languages deteriorates
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.
Data Source
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.


