Flow Control in Large Query Result Sets Using Release Messages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tier server networks, effective flow control is challenging due to unbounded data accumulation in buffers, especially when the network layer lacks flow control mechanisms, leading to issues where data from multiple server processes exceeds the client's consumption rate.

Innovation Solution

Implementing a method and apparatus for flow control that involves remote procedure calls (RPCs) between computers to monitor and manage data transmission, using release signals to synchronize data transfer and prevent buffer overflow, thereby pacing data aggregation at the application layer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is transmitted continuously from server processes to client, then data transmission speed is improved, but buffer overflow occurs when client consumption rate is slower than server production rate

Engineering Contradiction:
Improvedata transmission speedVSAvoidbuffer overflow
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent implements a feedback mechanism where the client sends release messages to the coordinator server indicating when it is ready to receive more data. The coordinator server monitors these release messages and only transmits data when the client has signaled readiness, preventing buffer overflow while maintaining efficient data transmission.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The client performs preliminary action by sending a release message before the server transmits data. This advance signaling allows the server to prepare and transmit data at the optimal moment, ensuring the client is ready to receive and process it without overflow issues.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If flow control is implemented at network layer, then data transmission reliability is improved, but device complexity increases when network layer lacks native flow control

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidflow control mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a coordinator server as an intermediary between the client and worker servers. This coordinator manages the flow control logic, receiving release messages from the client and coordinating data transmission from workers. This intermediary approach simplifies the overall system by centralizing flow control rather than implementing complex distributed flow control across all components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments flow control functionality into distinct components: the client generates release messages, the coordinator server processes these messages and manages data flow, and worker servers transmit data only when authorized. This segmentation makes the flow control mechanism more manageable and less complex than a monolithic approach.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple worker servers transmit data simultaneously to client, then productivity is improved, but coordination difficulty increases in multi-tier architecture

Engineering Contradiction:
Improvedata aggregation rateVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The coordinator server acts as an intermediary that receives release messages from the client and distributes authorization to multiple worker servers. This allows workers to transmit data simultaneously and efficiently while the coordinator maintains centralized coordination, managing the complexity of multi-server coordination without reducing productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges the flow control logic for multiple worker servers into a single coordinator server. Instead of each worker independently coordinating with the client, all workers channel their flow control through the coordinator, which consolidates the release message processing and data transmission authorization, simplifying multi-server coordination.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9213735B1Flow control in very large query result sets using a release message to confirm that a client computer is ready to receive the data associated with a data collection operation
Publication Date: 2015.12.15 GOOGLE LLC
  • US9213735B1 patent drawing
  • US9213735B1 patent drawing
  • US9213735B1 patent drawing

AI summary

Apparatuses and methods for providing flow control over a network are disclosed. One such method comprises receiving a first remote procedure call at a first computer from a second computer remote from the first computer, the first computer including a first memory and a first processor configured to execute instructions stored in the first memory, generating a second remote procedure call from the first processor to the second computer, the second remote procedure call responsive to the first remote procedure call, monitoring the first processor for receipt of a release signal from the second computer, the release signal indicating when the second computer is able to receive data responsive to the first remote procedure call, and transmitting the data from the first memory of the first computer to the second computer responsive to receipt of the release signal at the first processor.