Dynamic Buffer Negotiation for Enterprise Message Delivery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current enterprise messaging systems face inefficiencies in memory management and message delivery, particularly in handling large messages and maintaining optimal buffer sizes, leading to potential message loss and increased resource utilization.

Innovation Solution

Implementing a protocol for dynamic client buffer management, where the messaging server communicates with clients to determine available buffer sizes and allocates additional memory as needed for large messages, and utilizing a separate thread for message delivery and maintenance to ensure efficient storage and retrieval of messages in both memory and database systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the messaging server sends large messages to clients, then message delivery completeness is improved, but client memory buffer requirements increase

Engineering Contradiction:
Improvemessage delivery completenessVSAvoidclient memory buffer size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic buffer management where the server and client negotiate buffer sizes through a protocol. The server queries the client's available buffer space before sending messages, and the client can dynamically adjust its buffer allocation. This dynamic approach allows the system to handle large messages when buffer space is available while adapting to memory constraints when buffers are small, resolving the contradiction between message delivery completeness and memory buffer requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent establishes a feedback mechanism where the client reports its buffer status to the server, and the server uses this information to determine message sending strategies. The protocol includes buffer status reporting and server-side decisions based on available client buffer space, creating a closed-loop control system that balances message delivery reliability with client memory constraints.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If the client allocates larger buffers to store messages, then message storage capacity is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvemessage storage capacityVSAvoidresource utilization efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic buffer management where buffer sizes are not fixed but adjusted based on actual message delivery needs. The client allocates buffer space dynamically in response to server requests and message arrival patterns, allowing the system to maximize storage capacity when needed while releasing unused buffer resources to improve overall system efficiency, thus resolving the contradiction between storage capacity and resource utilization.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the messaging system uses synchronous message receiving, then message delivery reliability is improved, but system response time increases

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidsystem response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary buffer negotiation and status reporting before actual message transfer. By establishing buffer availability in advance through protocol exchanges, the system prepares the receiving end beforehand, allowing synchronous message reception to proceed more efficiently without unexpected delays, thus reducing the time penalty while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7640357B2Transmitting enterprise messages based on buffer sizes
Publication Date: 2009.12.29 SAP SE
  • US7640357B2 patent drawing
  • US7640357B2 patent drawing
  • US7640357B2 patent drawing

AI summary

Methods and apparatuses for buffering enterprise messages are described herein. In one embodiment, an exemplary process is provided to transmit, from a messaging server to a client, a first message indicating a size of a next enterprise message to be sent to the client. A second message is received from the client in response to the first message, where the second message indicates a buffer size available to store messages for the client. The next enterprise message is then delivered to the buffer of the client if the size of the next enterprise message is smaller than or equal to the size of the available buffer of the client. Other methods and apparatuses are also described.