Journal Service Dynamic Producer Consumer Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In journal-based computing systems, it is challenging to effectively coordinate the selection of active producers and consumers to ensure optimal performance, as poorly performing components can impair the overall system performance.

Innovation Solution

A journal service that selects lead producers and consumers based on capability scores, maintains alternate resources in a pool, and dynamically replaces underperforming or failed components with more capable alternatives to maintain system reliability and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single active producer and consumer are selected to interact with the journal, then coordination simplicity is improved, but system performance deteriorates when the selected components are poorly performing

Engineering Contradiction:
Improvecoordination complexityVSAvoidjournal processing performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically selects which producer and consumer interact with the journal based on current capability assessments. Instead of fixed assignments, the journal service evaluates multiple producers and consumers and activates the most capable ones, allowing the system to adapt to changing performance conditions while maintaining coordinated access.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of producers and consumers by assigning capability scores based on their current state and performance characteristics. The journal service uses these dynamic parameter assignments to determine which components should be active, optimizing performance without increasing coordination complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple producers and consumers are allowed to interact with the journal simultaneously, then system performance can be improved through parallel processing, but coordination complexity increases

Engineering Contradiction:
Improvejournal processing throughputVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The journal service acts as an intermediary that manages interactions between multiple producers and consumers. It maintains a pool of candidate components, assesses their capabilities, and controls their access to the journal, thereby enabling parallel processing while centralizing coordination logic to manage complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the pool of producers and consumers into active and inactive groups based on capability assessments. By dividing the component pool and selectively activating specific segments, the system enables parallel processing among active components while keeping coordination manageable through structured selection criteria.

Inventive Principle:
Principle #1Segmentation

3Reliability

If the system maintains a pool of alternate producers and consumers, then system reliability is improved through failover capability, but resource overhead increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidactive resource count
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary assessments of producer and consumer capabilities and maintains a pre-evaluated pool of alternates ready for failover. By assessing and preparing alternate components in advance rather than when failures occur, the system improves reliability while avoiding the overhead of continuously maintaining and evaluating large numbers of standby resources.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10666569B1Journal service with named clients
Publication Date: 2020.05.26 AMAZON TECH INC
  • US10666569B1 patent drawing
  • US10666569B1 patent drawing
  • US10666569B1 patent drawing

AI summary

A journal service manages a journal that holds a number of journal entries. Journal entries are provided to the journal service by one or more producer services, and the journal service provides journal entries to one or more consumer services. Lead consumers retrieve journal entries from the journal service by specifying a named cursor which identifies a location within the journal from which the journal entries are retrieved. The journal service may select a lead producer and a lead consumer from a collection of candidate producers and consumers using a fitness score determined for each candidate producer and consumer. The fitness score may be based at least in part on the processing capability, predicted reliability, and cost of each candidate producer and consumer. The journal service may replace a lead consumer or producer with an alternate consumer or producer in response to a variety of events.