Service Time Tracking Repository for SOA Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Service-Oriented Architecture (SOA) systems, existing technologies face challenges in efficiently selecting the most suitable machine to provide services due to varying processing times across multiple machines, leading to potential delays and inefficiencies in service delivery.

Innovation Solution

Implementing a Service Time Tracking Repository (STTR) that monitors and stores running times for each machine's actions, allowing a Service Time Decision Maker (STDM) to estimate processing times for each machine and route client requests to the machine with the lowest latency, thereby optimizing service delivery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple machines provide the same service in an SOA system, then service availability and concurrency are improved, but service delivery latency and inefficiency increase due to varying processing times across machines

Engineering Contradiction:
Improveservice availabilityVSAvoidservice delivery latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements feedback by continuously monitoring and recording the actual processing times of each machine for each service action in a database. This feedback mechanism allows the load balancing logic to access real performance data and make informed routing decisions, selecting the machine with the lowest estimated processing time for each specific service request, thereby minimizing latency while maintaining high availability

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies dynamics by transitioning from static load balancing methods to dynamic selection based on real-time performance characteristics. The load balancing logic dynamically estimates processing times by summing individual action times from the database for each candidate machine and routes requests to the machine with the lowest estimated time, adapting to varying machine performance states and usage patterns

Inventive Principle:
Principle #15Dynamics

2Device complexity

If existing load balancing technologies are used without machine-specific time data, then system complexity is reduced, but service delivery efficiency and optimization are worsened

Engineering Contradiction:
Improvesystem complexityVSAvoidservice delivery efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies preliminary action by pre-monitoring and storing the processing time of each machine for each service action in the database before actual service requests arrive. This preliminary data collection enables the load balancing logic to perform accurate time estimates and optimized routing decisions without adding complexity to the request processing path, thereby improving efficiency while maintaining simple system architecture

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary database (Service Time Tracking Repository) that stores machine-specific processing time data. This intermediary component acts as a mediator between the load balancing logic and the service machines, providing the necessary performance data without requiring direct complex interactions between the load balancer and individual machines, thus improving efficiency while keeping the system relatively simple

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9342558B2Systems, methods, and computer program products for selecting a machine to process a client request
Publication Date: 2016.05.17 RED HAT INC
  • US9342558B2 patent drawing
  • US9342558B2 patent drawing
  • US9342558B2 patent drawing

AI summary

A method includes consulting a database that includes a first entry indicating amounts of time that a first service provider machine takes to perform individual actions of the plurality of actions and a second entry indicating amounts of time that a second service provider machine takes to perform individual actions of the plurality of actions; generating a first estimate for the amount of time the first service provider machine is expected to take in processing the requested service, wherein generating the first estimate includes summing times associated with the plurality of actions from the first entry; and generating a second estimate for the amount of time the second service provider machine is expected to take in processing the requested service, wherein generating the second estimate includes summing times associated with the plurality of actions from the second entry.