Pattern Matching Scheduler for Message Passing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In message passing environments, especially with large numbers of interrelated processes, existing systems face inefficiencies in waking up idle processes to match incoming messages, leading to computationally expensive operations and delayed execution of waiting processes.

Innovation Solution

A process scheduler identifies upstream processes by extracting and storing message patterns in a data structure, allowing for expedited execution of waiting processes by matching incoming messages with these patterns without awakening each idle process, thereby reducing computational overhead and speeding up process execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system wakes up idle processes to match incoming messages, then message delivery can be ensured, but computational overhead increases and execution is delayed

Engineering Contradiction:
Improvemessage deliveryVSAvoidexecution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by extracting message patterns from processes before the processes actually need the messages. These patterns are stored in a data structure in advance, so when messages arrive, the system can quickly match them against pre-extracted patterns without waking up idle processes, thus ensuring reliable message delivery while minimizing execution delay

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a data structure storing extracted message patterns - that acts as a mediator between incoming messages and idle processes. Instead of directly waking up processes to match messages, the system uses this intermediary pattern database to perform matching, reducing the need to activate idle processes and thereby decreasing execution delay while maintaining message delivery reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system wakes up idle processes to match incoming messages, then message matching can be performed, but computational expense increases

Engineering Contradiction:
Improvemessage matchingVSAvoidcomputational expense
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system extracts and stores message patterns from processes in advance, before they are needed for matching. This preliminary extraction and storage in a data structure reduces the computational expense during actual message matching operations, as the system can quickly query pre-processed patterns rather than performing full message matching on idle processes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of message patterns from the original messages and stores them in a data structure. These pattern copies can be quickly matched against incoming messages without requiring the original idle processes to be activated, significantly reducing computational expense while ensuring accurate message matching through the pattern copies

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If the system manages many interrelated processes, then system functionality increases, but complexity of process management increases

Engineering Contradiction:
Improvesystem functionalityVSAvoidprocess management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts message patterns from processes and stores them separately in a data structure. This extraction separates the message matching functionality from the process management complexity, allowing the system to handle many interrelated processes more efficiently by managing their patterns independently rather than managing each process individually

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data structure storing message patterns serves multiple functions: it enables message matching, tracks process dependencies, and facilitates upstream process identification. This universal pattern-based approach allows the system to manage many interrelated processes through a single unified mechanism rather than requiring separate management structures for each process, thereby reducing overall complexity while maintaining system functionality

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

Data Source

PatentUS9575813B2Pattern matching process scheduler with upstream optimization
Publication Date: 2017.02.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9575813B2 patent drawing
  • US9575813B2 patent drawing
  • US9575813B2 patent drawing

AI summary

Processes in a message passing system may be launched when messages having data patterns match a function on a receiving process. The function may be identified by an execution pointer within the process. When the match occurs, the process may be added to a runnable queue, and in some embodiments, may be raised to the top of a runnable queue. When a match does not occur, the process may remain in a blocked or non-executing state. In some embodiments, a blocked process may be placed in an idle queue and may not be executed until a process scheduler determines that a message has been received that fulfills a function waiting for input. When the message fulfills the function, the process may be moved to a runnable queue.