Directed Graph Scheduling for Mixed Microservice Execution Order

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microservice architectures face challenges in determining the execution order of services, particularly when both serial and parallel execution relationships coexist, leading to inefficiencies in large-scale deployments.

Innovation Solution

A method and apparatus that constructs a directed graph using to-be-processed services as points and relationship information as edges, allowing for the determination of execution order information, including both serial and parallel relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional execution order determination methods are used for microservices, then the system can handle simple serial or parallel execution relationships, but it cannot efficiently determine execution order when both serial and parallel relationships coexist in large-scale deployments

Engineering Contradiction:
Improveexecution order determination capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the complex execution order determination problem into distinct components by identifying and separating serial execution relationships from parallel execution relationships. This is achieved through the execution order determination module that processes different relationship types independently, allowing the system to handle mixed execution patterns without overwhelming complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional approach by representing execution relationships as a directed graph structure where services are nodes and relationships are edges. This graphical model adds a visual and structural dimension to execution order determination, enabling the system to simultaneously represent both serial and parallel relationships in a unified framework

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the system determines execution order for services with both serial and parallel relationships, then execution efficiency is improved, but the complexity of the determination mechanism increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoiddetermination mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an execution order determination module as an intermediary component that mediates between the service registration information and the actual service execution. This module processes execution relationships, determines optimal execution orders considering both serial and parallel constraints, and coordinates service execution without requiring complex logic in each individual service

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by pre-determining execution orders based on registered service relationships before actual service execution begins. The execution order determination module analyzes the directed graph structure and establishes execution sequences in advance, allowing services to execute efficiently without real-time decision-making delays

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3851961B1Method and apparatus for generating information
Publication Date: 2026.02.04 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • EP3851961B1 patent drawingFigure 1
  • EP3851961B1 patent drawingFigure 2
  • EP3851961B1 patent drawingFigure 3

AI summary

Embodiments of the present disclosure disclose a method and apparatus for generating information. A specific embodiment of the method includes: acquiring at least one to-be-processed service and at least one piece of relationship information, the relationship information being used to represent an execution order between two to-be-processed services in the at least one to-be-processed service; constructing a directed graph with a to-be-processed service in the at least one to-be-processed service as a point and with a piece of relationship information in the at least one piece of relationship information as a directed edge; and generating execution order information of the to-be-processed service in the at least one to-be-processed service according to the directed graph. According to this embodiment, execution order information of a plurality of to-be-processed services having a serial execution relationship and a parallel execution relationship at the same time may be determined.