Service Architecture IDL Mapping Elimination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems require mapping of Interface Definition Language (IDL) to programming language constructs for remote procedure calls, which is cumbersome and unnecessary, especially in object-oriented systems where a subset of the programming language can specify interfaces.
Innovation Solution
An operating system architecture based on a service model where services, residing in the same or separate address spaces, use a subset of the programming language to specify interfaces, eliminating the need for IDL mapping and allowing seamless integration across different programming languages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If IDL mapping is used for remote procedure calls, then compatibility between different programming languages is achieved, but system complexity and development time increase
Solution Approach 1:
The patent extracts and eliminates the IDL mapping layer from the system architecture. By using reflection mechanisms and runtime code generation, the system achieves cross-language compatibility without requiring explicit IDL definitions or mapping configurations, thereby removing the source of complexity while maintaining versatility.
Solution Approach 2:
The patent introduces a reflection mechanism as an intermediary between client and server processes. This reflection system automatically inspects types, methods, and parameters at runtime and generates appropriate invocation code, serving as a mediator that enables compatibility without manual IDL mapping.
2Reliability
If explicit IDL interfaces are defined, then remote procedure call compatibility is ensured, but development time and effort increase
Solution Approach 1:
The patent performs preliminary actions by automatically generating stubs and proxies at runtime through reflection, rather than requiring developers to manually define IDL interfaces beforehand. This eliminates the time-consuming process of writing and maintaining interface definition files while ensuring compatibility through automated code generation.
Solution Approach 2:
The system employs self-service mechanisms where the reflection framework automatically inspects the target object's types and methods, generates appropriate invocation code, and handles the RPC communication. This self-generated approach eliminates the need for manual IDL definition and mapping, significantly reducing development time while maintaining reliability.
3Adaptability or versatility
If services are located in separate address spaces, then system modularity and security are improved, but communication overhead and complexity increase
Solution Approach 1:
The patent implements a universal communication mechanism that works uniformly whether services are in the same or separate address spaces. The reflection-based stub/proxy system provides multi-functional support for both local and remote calls through the same interface, eliminating the need for separate communication handling code and reducing overall system complexity.
Solution Approach 2:
The reflection mechanism serves as a universal intermediary that mediates communication between services regardless of their location. It automatically handles the complexities of inter-process communication by inspecting types at runtime and generating appropriate invocation code, thereby simplifying the communication mechanism while maintaining service location flexibility.
Data Source
AI summary
An operating system architecture is based on a service model in which active entities (services) are containers for objects having a number of interfaces specified through a contract language that is a subset of the language in which the service is coded. Services may reside in the same address space or may reside in separate address spaces, without changing the programming model or compiled binaries. The location of a service is independent of the location of the service's clients and of services the service calls.


