Host Agnostic Messaging via Correlation Handle and Bookmark

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Continuation-based runtime systems face challenges in sending and receiving messages in a host-agnostic manner, leading to coupling with specific hosts and limitations in flexibility and interoperability across different environments.

Innovation Solution

Defining a contract between the continuation-based runtime and the host for message sending and receiving, using a correlation handle and bookmark to ensure correct routing and resumption, allowing for host-agnostic messaging and pluggability across various hosts and environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If messaging is implemented with strong dependencies on the host runtime environment, then message routing and processing can be correctly handled, but the system becomes coupled to a particular host and loses host independence

Engineering Contradiction:
Improvemessage routing reliabilityVSAvoidhost independence
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a contract as an intermediary layer between the continuation-based runtime and the host. This contract defines standardized interfaces for message sending, receiving, and correlation handling, allowing the runtime to communicate with different hosts through a consistent abstraction without direct host-specific dependencies

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The contract design enables the messaging system to work across multiple host implementations by defining universal interfaces that can be implemented by different hosts. The correlation handle mechanism provides a host-agnostic way to correlate messages with workflow instances regardless of the underlying host platform

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

2Reliability

If messaging activities use host-specific runtime interactions, then correct message processing can be achieved, but the program loses generality and becomes specific to a particular host

Engineering Contradiction:
Improvemessage processing correctnessVSAvoidprogram generality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the messaging functionality into distinct contract-defined operations (send message, receive message, correlation handle management). This segmentation allows the core messaging logic to remain host-agnostic while implementing host-specific behavior through the contract interface, maintaining program generality without sacrificing processing correctness

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If a contract-based interface is introduced for host-agnostic messaging, then host independence and flexibility are improved, but the system complexity increases due to additional abstraction layers

Engineering Contradiction:
Improvehost independenceVSAvoidmessaging system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The contract mechanism enables the continuation-based runtime to self-adapt to different host environments by providing standardized interfaces that automatically handle the complexities of host-specific implementations. The correlation handle and bookmark mechanisms provide self-service capabilities for message routing and resumption without requiring complex external configuration or management

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9536264B2Host agnostic messaging in a continuation based runtime
Publication Date: 2017.01.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9536264B2 patent drawing
  • US9536264B2 patent drawing
  • US9536264B2 patent drawing

AI summary

Sending or receiving messages in a host agnostic way in a continuation based runtime. A method includes defining a contract between a continuation based runtime and host for sending or receiving a message. The contract defines one or more of: details about what should be included in the messages, operations for sending the message; operations for receiving the message, parameters for cancellation of inflight operations, or notifications about correlation information lifetime. The method further includes identifying a correlation handle. The correlation handle uniquely identifies an executing instance of an activity. The method further comprises identifying a bookmark. The bookmark defines where the continuation based runtime should resume after sending or receiving the message. The method further comprises calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the host and for the continuation based runtime to be correctly resumed.