Interoperability Layer for Actor and Async Frameworks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing environments face challenges in enabling interoperability between different frameworks, particularly in leveraging older code with newer language features while ensuring concurrent processing without interrupting the main function and reducing memory and threading bugs.

Innovation Solution

A compatibility layer is introduced to facilitate interoperation between actor-based and event-based asynchronous frameworks, allowing code to appear synchronous while executing asynchronously, thus enabling shared memory ownership and non-blocking communication between actors and threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code is written using actor-based framework for concurrent processing, then concurrency and reliability are improved, but code complexity and difficulty of operation increase

Engineering Contradiction:
Improveconcurrent processing reliabilityVSAvoidcode operation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an interoperation layer that acts as a mediator between the actor-based framework and event-based asynchronous framework. This layer translates actor model operations into event-based asynchronous operations, allowing code to be written in the simpler event-based style while maintaining the concurrency benefits of the actor model. The interoperation layer handles the complexity of actor management, message passing, and state encapsulation internally, presenting a simpler interface to developers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If older code is reused in newer frameworks, then development cost is reduced, but interoperability and compatibility issues arise

Engineering Contradiction:
Improvedevelopment costVSAvoidframework interoperability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The interoperation layer provides universal compatibility between different framework paradigms. It enables actor-based code to run on event-based asynchronous frameworks and vice versa, making the system multi-functional in terms of framework support. This allows older code written for actor-based frameworks to be reused in newer event-based frameworks without rewriting, while maintaining full interoperability through the translation layer.

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

3Ease of operation

If event-based asynchronous framework is used for concurrent processing, then code simplicity is improved, but memory management and threading bugs increase

Engineering Contradiction:
Improvecode simplicityVSAvoidmemory and threading reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The interoperation layer serves as a protective intermediary that manages memory and threading concerns. When translating event-based asynchronous code to actor model operations, the layer ensures proper memory management, thread safety, and state encapsulation that are inherent to the actor model. This shields developers from writing complex memory management code while maintaining reliability through the actor model's guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If compatibility layer is introduced for framework interoperation, then framework versatility is improved, but system complexity increases

Engineering Contradiction:
Improveframework compatibilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct layers: the interoperation layer, the actor-based framework layer, and the event-based asynchronous framework layer. Each layer has a specific responsibility and operates independently. The interoperation layer handles translation and compatibility concerns, while the underlying frameworks maintain their original designs. This segmentation isolates complexity to the interoperation layer, allowing the core frameworks to remain simple and well-tested.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240160501A1Interoperability between actor frameworks and asynchronous frameworks
Publication Date: 2024.05.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240160501A1 patent drawing
  • US20240160501A1 patent drawing
  • US20240160501A1 patent drawing

AI summary

A first framework uses an actor pattern and a second framework uses an event based asynchronous pattern in a computing system. The computing system runs a compatibility layer configured to enable interoperation between the first framework and the second framework. A first message for a first component associated with the first framework is mapped to a second message that provides a corresponding result for a second component associated with the second framework.