Service Logic Streaming to Reduce Network Overhead in SOA

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Service-oriented architectures (SOA) face performance degradation due to network and runtime service overhead, particularly in scenarios with frequent service requests, as client applications often need to send requests to servers for service execution, leading to latency and inefficiencies.

Innovation Solution

The system allows for the dynamic transfer of service logic software code between server and client, enabling client-side execution of services based on client capabilities and resource affinity, reducing the need for frequent server requests by streaming service logic code and allowing subsequent requests to be executed locally by the client.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If services are executed remotely on the server, then service functionality is provided, but network overhead and latency increase

Engineering Contradiction:
Improveservice functionalityVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts service logic from the server and transfers it to the client. The service container on the client side downloads and executes service logic locally, eliminating the need for remote execution. This extraction moves the service execution from server to client, reducing network overhead and latency while maintaining service functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a new dimension of service execution by implementing a service container environment on the client side. Instead of only server-based execution, the system now supports both server and client execution dimensions. The service container downloads, caches, and executes service logic locally, creating a hybrid execution model that reduces network dependency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If services are executed remotely on the server, then centralized control is maintained, but service overhead increases

Engineering Contradiction:
Improvecentralized controlVSAvoidservice overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the service execution process into distinct components: service logic download, service logic caching, and local execution within the service container. This segmentation allows centralized control over service logic distribution while enabling decentralized local execution, reducing service overhead by eliminating repeated network round-trips for each service invocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The service container performs preliminary actions by downloading and caching service logic before it is needed for execution. The system pre-loads service logic into the client's service container, so when services are invoked, they can execute locally without real-time network communication. This preliminary action reduces service overhead significantly.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If service logic is transferred to client, then local execution is enabled, but network traffic increases

Engineering Contradiction:
Improvelocal execution capabilityVSAvoidnetwork traffic
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The service container implements a caching mechanism that downloads service logic once and stores it locally for repeated use. Instead of repeatedly downloading the same service logic for each service invocation, the system discards the need for repeated network transfers by recovering and reusing the cached service logic locally. This dramatically reduces network traffic after the initial download.

Inventive Principle:
Principle #34Discarding and recovering

4Reliability

If frequent service requests are sent to server, then service functionality is accessed, but performance degrades

Engineering Contradiction:
Improveservice accessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The service container enables the client to serve itself by locally executing service logic without requiring frequent server requests. The client-side service container downloads service logic once and autonomously executes services locally, making the system self-sufficient for service execution. This self-service capability eliminates performance degradation from frequent network requests while maintaining reliable service access.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8874640B2Method and system for reducing service overhead in service oriented architectures
Publication Date: 2014.10.28 INFOSYS LTD
  • US8874640B2 patent drawing
  • US8874640B2 patent drawing
  • US8874640B2 patent drawing

AI summary

A system and method for processing service request in service oriented architectures to minimize service overhead is provided. The method includes invoking a software service by a client by sending service request to a server hosting the software service. The method further includes receiving the software service request by the server and determining whether one or more portions of service logic software code should be executed by the client, based on information related to client capabilities. Thereafter, service logic software code is streamed to the client partly or in-total. The client executes service logic software code provided by the server. The server is pre-configured to execute or transfer one or more portions of service logic software code to the client based on client capability information and extent of affinity of the service for server-specific resources. The server executes the software service partly or in-total based on the configuration.