Dynamic Messaging Protocol Selection in Microservices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Service-Oriented Architecture (SOA) and Microservices Architecture (MSA), existing systems lack the ability to automatically select the most efficient messaging protocol and serialization format at runtime, often defaulting to less efficient protocols due to manual analysis challenges and duplication of messaging-specific code, which hinders optimization and maintenance.

Innovation Solution

A computer-implemented method and system that utilizes a directory service to advertise supported messaging protocols and serialization formats, allowing services to dynamically select the most efficient protocol based on architecture endianness, processor word width, and bit/byte packing rules, enabling communication via function-based calls using shared memory or optimized serialization formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple messaging protocols are supported by a service, then communication efficiency can be optimized for different deployment scenarios, but there is no automatic way to determine which protocols are supported, compatible, or best performers, requiring time-consuming manual analysis

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidmanual analysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The service automatically publishes its supported messaging protocols and serialization formats to a directory service, and automatically selects the most efficient protocol based on runtime compatibility checks with the client service, eliminating the need for manual analysis and configuration

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements runtime compatibility checking where the client service queries the directory service to determine which protocols are supported by both services, and selects the best performing protocol based on this feedback information

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If messaging-specific code is duplicated across multiple messaging mechanisms to support best case solutions, then protocol flexibility is improved, but maintenance complexity increases

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidcode duplication
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The service implements a universal messaging interface that can handle multiple messaging protocols and serialization formats through a single code path, eliminating the need for duplicated messaging-specific code while maintaining support for various protocols

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

Solution Approach 2:

The directory service acts as an intermediary that provides information about supported protocols and compatibility, allowing services to select appropriate messaging mechanisms without hardcoding multiple protocol handlers

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If architecture-independent services are used to enhance location independence and flexibility, then adaptability is improved, but the ability to select efficient messaging protocols based on specific architecture characteristics is lost

Engineering Contradiction:
Improvelocation independenceVSAvoidmessaging efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The service publishes its specific architecture characteristics (endianness, processor word width, bit/byte packing rules) to the directory service, allowing architecture-independent services to select messaging protocols optimized for the specific architecture they are communicating with

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10440128B2Systems and methods for selecting efficient messaging between services
Publication Date: 2019.10.08 CIENA CORP
  • US10440128B2 patent drawing
  • US10440128B2 patent drawing
  • US10440128B2 patent drawing

AI summary

Systems and methods for selecting efficient messaging to a service include operating the service in a one of a Microservices Architecture (MSA) and a Service-Oriented Architecture (SOA); providing messaging protocols and serialization formats supported by the service for a second service to determine the efficient messaging to the service; and communicating with the second service via a selected messaging protocol and a selected serialization format based on the providing. Each of the service and the second service is a self-contained unit of functionality that is combined with other services to provide functionality of a large software application.