Smart Network Packets for Microservice Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The communication between application execution environments and microservices in microservices architecture leads to significant data traffic, reducing application performance due to the need for HTTP request-response messages, which restricts the speed of connecting networks.

Innovation Solution

Injecting microservices' orchestration logic, application logic, and data into smart network packets and executing sections of this logic in active network nodes, allowing these nodes to orchestrate communication between microservices, thereby reducing the need for extensive data transfer between execution environments and microservices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If microservices communicate via HTTP request-response messages, then application execution environments can integrate and consume microservices, but significant data traffic is generated which reduces application performance

Engineering Contradiction:
Improvemicroservice communication capabilityVSAvoidapplication performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the orchestration logic from the application execution environment and places it directly into network packets. This eliminates the need for the execution environment to send HTTP requests to microservices, as the orchestration logic travels with the data packets themselves, thereby reducing data traffic while maintaining communication capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces active network nodes as intermediaries that execute orchestration logic directly in the network. These nodes act as mediators between data sources and microservices, processing orchestration instructions and routing data packets without requiring HTTP request-response cycles, thus improving performance while maintaining adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If orchestration logic is executed in active network nodes, then data traffic is minimized and performance is enhanced, but the system complexity increases due to smart network packets and active nodes

Engineering Contradiction:
Improveapplication performanceVSAvoidnetwork infrastructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes network packets multi-functional by embedding orchestration logic, data, and routing information within the same packet structure. Active network nodes perform multiple functions including packet routing, orchestration logic execution, and data processing, thereby reducing the need for separate specialized components and mitigating system complexity.

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

Solution Approach 2:

The patent introduces dynamic orchestration where the network packet structure and execution path are determined at runtime based on the orchestration logic embedded in the packets themselves. This dynamic approach allows the system to adapt to different microservice architectures without requiring complex static configuration, balancing flexibility with manageable complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3364631B1Dynamic orchestration of microservices
Publication Date: 2019.10.30 SAP SE
  • EP3364631B1 patent drawingFigure 1
  • EP3364631B1 patent drawingFigure 2
  • EP3364631B1 patent drawingFigure 3

AI summary

A request with data is received at an execution environment of an application. In response to the request, a first network packet is automatically created. The first network packet includes the data, orchestration code and application code of the application. The first network packet is sent to a first network node. The first network node executes a first section of the application code in a node execution environment. The section to be executed is determined based on the orchestration code. In response to the execution, a microservice associated with the application is invoked. Upon receiving a response from the microservice, a second network packet is dynamically generated. The second network packet includes the received response, the orchestration code, and one or more sections of the application code. The second network packet is sent to a second network node.