Multicast Message Persistent Header for Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing message passing systems in multimedia systems require writing the same message into multiple queues to allow multiple consumers to read it, leading to increased memory footprint and synchronization challenges, as well as inefficiencies in handling message consumption.

Innovation Solution

A method and system for message multicasting that employs a programmable persistent header in messages, allowing a single write operation to multiple consumers, with a message parser managing the consumption order and ensuring the message is deleted only after all consumers have received it, thereby reducing memory accesses and system overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the same message is written into multiple queues to allow multiple consumers to read it, then multiple consumers can access the message, but the memory footprint increases

Engineering Contradiction:
Improvemessage accessibility to multiple consumersVSAvoidmemory footprint
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple consumer queues into a single multicast queue where a single message instance can be shared by multiple consumers. The message structure includes a reference count that tracks how many consumers have received the message, allowing one message to serve multiple consumers without duplicating memory storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The message queue is designed to serve multiple functions: it acts as both a traditional FIFO queue for single consumers and a multicast queue for multiple consumers. The persistent header in the message contains consumer identification bits that enable the same queue structure to handle different consumption patterns universally.

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

2Adaptability or versatility

If multiple FIFOs are used to allow multiple consumers to read messages, then message distribution to multiple consumers is enabled, but control logic complexity increases

Engineering Contradiction:
Improvemessage distribution capabilityVSAvoidcontrol logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple FIFO structures into a single multicast FIFO where the persistent header contains consumer ID bits. This merging eliminates the need for separate control logic for each FIFO while maintaining the ability to distribute messages to multiple consumers through bitwise operations on the consumer identification field.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The message structure itself carries the consumer identification information in its persistent header, enabling the message to self-identify which consumers should receive it. This eliminates the need for external control logic to manage message routing, as the message contains its own distribution instructions.

Inventive Principle:
Principle #25Self-service

3Productivity

If messages are removed from the queue after being read by one consumer, then memory is freed, but messages cannot be consumed by multiple consumers

Engineering Contradiction:
Improvememory management efficiencyVSAvoidmessage reusability by multiple consumers
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a reference count mechanism that provides feedback on how many consumers have received the message. This counter is incremented when a message is written to the multicast queue and decremented as consumers read it. The message is only removed from memory when the counter reaches zero, ensuring proper memory management while supporting multiple consumers.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The message lifetime in the queue is made dynamic based on the number of consumers that need to receive it. Instead of a fixed remove-after-one-read policy, the message persists in the queue dynamically until all indicated consumers have consumed it, adapting its lifespan to the actual usage pattern.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9055019B1Method and apparatus for message multicasting
Publication Date: 2015.06.09 MARVELL ASIA PTE LTD
  • US9055019B1 patent drawing
  • US9055019B1 patent drawing
  • US9055019B1 patent drawing

AI summary

A method and system for message multicasting which provides a programmable persistent header in a message to allow one message to be read by multiple target consumers and to ensure that the message passing mechanism does not delete the message until all target consumers have received it. The persistent header may have information about all target consumers and their priority to consume the message. A message parser may obtain from the persistent header identities of target consumers and the order in which they consume the message and allow target consumers to consume the message following the order. The message parser may have a counter which counts the number of consumers that have consumed the message, and keep the message in the queue until all target consumers have consumed the message.