Mail Transfer Agent Message Bifurcation for Large Recipient Lists

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing email delivery systems face challenges in efficiently managing large recipient lists, leading to system resource overload and unpredictable message delivery when sending emails to distribution lists, and lack extensibility to apply custom processing rules without rewriting software.

Innovation Solution

A mail transfer agent (MTA) bifurcates messages into subsets addressed to smaller groups of recipients, using a scheduler and categorizer to manage the working set and allow external modules to customize message processing, including error handling by reprocessing messages from the beginning if errors occur.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single message is sent to a large number of recipients, then message delivery efficiency is improved, but system resources become overloaded and delivery becomes unpredictable

Engineering Contradiction:
Improvemessage delivery efficiencyVSAvoiddelivery predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides a single message into multiple smaller messages, each addressed to a subset of recipients. The MTA partitions the recipient list into manageable groups and creates separate messages for each group, preventing system resource overload while maintaining delivery efficiency. This segmentation approach ensures predictable delivery by avoiding the complexity of managing large recipient lists in a single message.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If custom processing rules are added to handle large recipient lists, then processing flexibility is improved, but software complexity increases requiring rewrites

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a dynamic extensibility mechanism where external modules can be dynamically loaded and executed by the MTA. These modules are invoked at specific points in the message processing pipeline and can implement custom processing rules without modifying the core MTA software. The system adapts its behavior based on which external modules are available, providing flexibility while maintaining a relatively simple base system.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses external modules as intermediary components between the MTA and the message processing logic. These modules act as mediators that implement custom processing rules, allowing flexibility without increasing core software complexity. The MTA simply invokes these external modules at appropriate times, keeping the core system simple while enabling versatile processing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If messages are processed sequentially, then error handling is simplified, but processing time increases

Engineering Contradiction:
Improveerror handling complexityVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by creating multiple messages in advance, each with a manageable subset of recipients. This preliminary segmentation allows the system to process messages more efficiently while maintaining simple error handling, as each message can be processed independently without affecting other recipients. The MTA can parallelize processing of these pre-segmented messages, reducing overall processing time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7831669B2Reprocessing of messages in an extensible message transfer system
Publication Date: 2010.11.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7831669B2 patent drawing
  • US7831669B2 patent drawing
  • US7831669B2 patent drawing

AI summary

Within a mail transfer agent of a message transfer system, a message is received and if the recipient entity resolves to a number of recipients exceeding a specified quantity, the original message is not processed. Instead, at least two messages are created, with each of the created messages addressed to a subset of the original set of recipients. The created messages are returned to the calling module for processing.