Dynamic Credit Sharing for Flow Control Buffer Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Credit-based flow control schemes in communication systems often require static allocation of credits across senders, leading to inefficiencies as not all senders communicate concurrently, resulting in underutilization of buffer slots and increased storage needs.

Innovation Solution

Implementing a dynamic credit sharing method where senders can allocate and share credits among each other, allowing senders to borrow credits from other senders when needed, thereby reducing the total number of credits required and buffer slots needed at the receiver.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static allocation of credits is used across senders, then flow control is ensured, but credit utilization efficiency deteriorates because not all senders communicate concurrently

Engineering Contradiction:
Improveflow controlVSAvoidcredit utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic credit allocation where senders can borrow and lend credits to each other based on real-time communication needs. Instead of static allocation, the system allows credit balances to change dynamically as senders communicate with the receiver, enabling efficient utilization of buffer slots while maintaining flow control.

Inventive Principle:
Principle #15Dynamics

2Reliability

If static credit allocation is implemented, then buffer slots are allocated to all senders, but the total number of buffer slots required increases unnecessarily

Engineering Contradiction:
Improveflow controlVSAvoidtotal buffer slots
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the buffer slot resources among multiple senders through credit sharing. Instead of each sender having dedicated buffer slots, the system combines all buffer slots into a shared resource pool that is dynamically allocated through credit borrowing and lending, reducing the total number of buffer slots required while maintaining reliable flow control.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If all senders are allocated credits simultaneously, then communication readiness is ensured, but underutilization of buffer slots occurs when not all senders communicate concurrently

Engineering Contradiction:
Improvecommunication readinessVSAvoidbuffer slot underutilization
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements self-service credit management where senders autonomously borrow and lend credits based on their own communication needs. Each sender monitors their credit balance and can request credits from others when needed, allowing the system to adapt to varying communication patterns and reduce buffer slot underutilization without sacrificing communication readiness.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9571408B2Dynamic flow control using credit sharing
Publication Date: 2017.02.14 ORACLE INT CORP
  • US9571408B2 patent drawing
  • US9571408B2 patent drawing
  • US9571408B2 patent drawing

AI summary

A method and system for dynamic flow control using credit sharing that includes allocating portions of credits to senders, wherein each of the credits is for communicating with a receiver; transmitting, by a first sender of the senders, a first message to the receiver using a first credit of a first portion of the credits; decrementing, in response to transmitting the first message, a credit balance of the first sender by one; and determining that the credit balance of the first sender is zero. The method also includes sending to a second sender of the senders, by the first sender, in response to the credit balance being zero, a first request for a second credit; receiving from the second sender, in response to the first request, a first response comprising the second credit; and transmitting, by the first sender, a second message to the receiver using the second credit.