Backend State Synchronization for Non-Blocking RPC Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing RPC messaging systems in microservices with substantial response times can lead to blocking commands, causing delayed processing and inconsistent object states, leading to confusion and inefficiencies.

Innovation Solution

Implement a backend service with a management task that does not block on managed object response delays, using a single thread scheduler and background maintenance tasks to handle commands, ensuring consistent object states through cooperative multitasking or alternative concurrency technologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the backend service processes commands synchronously with blocking waits for managed object responses, then command processing is simple and straightforward, but the RPC reply is delayed and the system responds slowly to client requests

Engineering Contradiction:
ImproveRPC reply speedVSAvoidservice architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The backend service is segmented into two independent task types: management tasks that handle RPC commands without blocking, and maintenance tasks that handle the actual blocking operations on managed objects. This segmentation allows the management task to return RPC replies immediately while maintenance tasks handle the slow operations in the background, resolving the contradiction between fast RPC replies and simple processing.

Inventive Principle:
Principle #1Segmentation

2Speed

If the backend service queues incoming commands for background processing to achieve non-blocking RPC, then RPC replies are immediate, but command processing is delayed and object state consistency becomes problematic

Engineering Contradiction:
ImproveRPC reply speedVSAvoidobject state consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback through events that notify the management task when maintenance tasks complete their operations. When a maintenance task finishes processing a managed object, it generates an event that updates the object's state in the data structure, ensuring that subsequent RPC commands receive accurate, consistent state information. This feedback mechanism resolves the contradiction between immediate RPC replies and reliable state consistency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

A data structure acts as an intermediary between the management task and maintenance tasks, maintaining the authoritative state of all managed objects. The management task queries this data structure for current state information, while maintenance tasks update it upon completion, ensuring all components work with consistent state data without requiring the management task to wait for maintenance operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If the backend service uses multithreading or multiprocessing to handle blocking operations, then RPC replies are non-blocking, but thread allocation costs and locking overhead increase

Engineering Contradiction:
ImproveRPC reply speedVSAvoidthread allocation cost
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system uses cooperative multitasking with async/await technology, allowing the management task to yield control during blocking operations and resume when complete, without requiring multiple threads or processes. This self-service approach eliminates thread allocation costs and locking overhead while maintaining non-blocking RPC behavior, as the single thread efficiently manages both management and maintenance tasks through cooperative scheduling.

Inventive Principle:
Principle #25Self-service

4Reliability

If the backend service implements comprehensive command queuing and state management to ensure consistency, then object state consistency is maintained, but memory footprint increases

Engineering Contradiction:
Improveobject state consistencyVSAvoidmemory footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts only the essential state information of managed objects into a compact data structure, maintaining minimal memory footprint. Rather than storing complete object states or complex queuing structures, the data structure holds only the critical state data needed for consistency, with full object details remaining in the managed objects themselves. This extraction approach maintains reliability while minimizing memory usage.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12566634B2System and method for non-blocking state synchronization between services
Publication Date: 2026.03.03 EMC IP HLDG CO LLC
  • US12566634B2 patent drawing
  • US12566634B2 patent drawing
  • US12566634B2 patent drawing

AI summary

A method, computer program product, and computer system for implementing a backend service for blocking free processing of physical entities events, including add, remove, update, query. Physical entities blocking delays may be delegated to maintenance tasks, which may run under a single thread with a scheduler and may merge successive pending events.