Distributed Data Grid Asynchronous Task Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in managing large volumes of transactions and content access, leading to increased demands on databases and metadata stores, which can result in capacity limitations and performance issues, particularly in distributed environments.

Innovation Solution

A distributed data grid system that supports asynchronous invocation and flow control, allowing tasks to be associated with a unit-of-order and executed across multiple server nodes, ensuring guaranteed order and scalability, with features like pluggable association, request ordering, and delegatable flow control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are distributed across multiple server nodes for parallel processing, then productivity and throughput are improved, but maintaining unit-of-order guarantees across distributed nodes increases system complexity

Engineering Contradiction:
Improvetask processing throughputVSAvoiddistributed coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a unit-of-order manager as an intermediary component that coordinates task distribution across server nodes. This manager receives tasks from the data grid, associates them with unit-of-order identifiers, and directs them to appropriate server nodes while maintaining order guarantees. The intermediary absorbs the coordination complexity, allowing server nodes to process tasks in parallel without directly communicating with each other, thus resolving the contradiction between distributed processing and order maintenance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If asynchronous invocation is implemented to improve response time, then speed is improved, but ensuring unit-of-order execution across asynchronous operations increases difficulty of detecting and measuring

Engineering Contradiction:
Improveresponse timeVSAvoidorder guarantee verification
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements a feedback mechanism where server nodes report task execution status and results back to the unit-of-order manager. The manager tracks the execution state of tasks associated with each unit-of-order identifier, maintaining visibility into asynchronous operations. This feedback loop enables the system to verify unit-of-order guarantees without blocking asynchronous processing, as the manager can monitor progress and coordinate reexecution if needed while operations proceed asynchronously.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If database capacity is increased to handle more transactions, then quantity of substance is improved, but system complexity and cost increase

Engineering Contradiction:
Improvetransaction capacityVSAvoiddatabase infrastructure complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the transaction processing workload across multiple server nodes in a distributed data grid, with each node handling a portion of the transaction load. The unit-of-order manager coordinates these segmented operations, assigning tasks to available nodes while maintaining overall order guarantees. This segmentation distributes the capacity demands across multiple simpler components rather than requiring a single large-capacity database, reducing infrastructure complexity while increasing total transaction capacity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3087483B1System and method for supporting asynchronous invocation in a distributed data grid
Publication Date: 2022.04.13 ORACLE INT CORP
  • EP3087483B1 patent drawingFigure 1
  • EP3087483B1 patent drawingFigure 2
  • EP3087483B1 patent drawingFigure 3

AI summary

Systems and methods can support asynchronous invocation in a distributed data grid with a plurality of server nodes. The system allows a server node in the distributed data grid to receive one or more tasks from a client, wherein said one or more tasks are associated with a unit-of-order. Furthermore, the system can execute said one or more tasks on one or more said server nodes in the distributed data grid, based on the unit-of-order that is guaranteed by the distributed data grid.