Finite State Machine for Distributed Remote Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, maintaining multiple copies of data across distinct locations to ensure data recovery and minimizing remote access latency is challenging, particularly in systems with virtual machines and distributed resources.

Innovation Solution

A protocol data unit interacting with a remote computing device executes a finite state machine to minimize wait time and round-trip message exchanges, resolving requests quickly into states like SUCCESS, COMPLETE, or ABORT, facilitating efficient data transfer between nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple copies of data are maintained at distinct locations for data recovery, then reliability is improved, but remote access latency increases

Engineering Contradiction:
Improvedata recovery reliabilityVSAvoidremote access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-establishes peer-to-peer connections and maintains connection state information between nodes before data transfer is needed. This preliminary setup of communication channels and connection states allows data to be transferred immediately when needed, reducing the latency that would otherwise occur during connection establishment while maintaining multiple remote copies for reliability.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If data is transferred between remote nodes, then data accessibility is improved, but wait time and round-trip message exchanges increase

Engineering Contradiction:
Improvedata accessibilityVSAvoidwait time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The protocol implements a state machine with explicit feedback states (SUCCESS, COMPLETE, ABORT) that provide immediate status information about data transfer operations. This feedback mechanism allows the system to quickly determine the outcome of transfer attempts and take appropriate follow-up actions, reducing overall wait time while maintaining easy data accessibility across the distributed system.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The connection-oriented protocol maintains persistent connections between nodes, allowing multiple data transfers to occur over the same connection without repeated handshaking. This continuity of the communication channel eliminates repeated connection setup overhead and reduces wait time for subsequent data transfers while keeping data accessible across the network.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If connection-oriented protocol is used for remote access, then reliability is improved, but complexity of message exchange increases

Engineering Contradiction:
Improveremote access reliabilityVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The protocol uses a finite state machine with a limited number of well-defined states (CONNECTED, TRANSFER_PENDING, SUCCESS, COMPLETE, ABORT) to manage connection complexity. By constraining the system to transition between these specific states with clearly defined parameters and message types, the protocol achieves reliable connection management while keeping the complexity bounded and manageable through state encapsulation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10120594B1Remote access latency in a reliable distributed computing system
Publication Date: 2018.11.06 SCALE COMPUTING INC
  • US10120594B1 patent drawing
  • US10120594B1 patent drawing
  • US10120594B1 patent drawing

AI summary

Techniques that can minimize latency during remote access between nodes in a reliable distributed computing system. A local computing device includes a protocol data unit that interacts with a substantially similar unit at a remote computing device. Each unit executes a finite state machine that is designed to minimize both the amount of wait time between messages and the number of round-trip message exchanges. The state machine resolves each request as quickly as possible to one of three states: SUCCESS, in which the transfer is successful and it is feasible to free the data transfer buffer, COMPLETE, in which the transfer is finished and a next transfer can be initiated, ABORT, in which either the sending or receiving unit declares the transfer to have failed (or aborted by a higher level element).