Decentralized System Services Architecture for Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing concurrent and distributed applications across decentralized and heterogeneous systems is challenging due to issues like latency, partial failure, and state management, particularly in systems that require high levels of concurrency, reliability, and mobility.

Innovation Solution

A decentralized system services (DSS) architecture that defines a framework for building fault-tolerant distributed applications using a set of core services, message-based and concurrent runtime, and distributed protocol-oriented programming, enabling robust and scalable interaction between services with explicit failure semantics and location independence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If decentralized and distributed system architecture is used to improve scalability and reliability, then system robustness and fault tolerance are improved, but system complexity increases due to heterogeneous systems, non-deterministic communications, and partial failure

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system is divided into independent services, each with a specific function, that can operate autonomously. This segmentation allows the system to handle partial failures gracefully while maintaining overall functionality, reducing the complexity of managing entire distributed systems as monolithic units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A service-oriented architecture acts as an intermediary layer between heterogeneous systems, providing standardized interfaces and communication protocols. This mediator handles the complexity of non-deterministic communications and partial failures, allowing services to interact without directly managing the underlying system heterogeneity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If high levels of concurrency are implemented to improve application performance, then processing capability is improved, but difficulty of design increases due to unpredictable interactions and non-deterministic timing

Engineering Contradiction:
Improveapplication performanceVSAvoiddesign difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Concurrent operations are divided into separate services that communicate through well-defined interfaces. This segmentation transforms complex concurrent programming into simpler service composition, where each service handles specific concurrent operations independently, reducing design difficulty while maintaining high performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Services are designed to be self-managing with explicit failure semantics, automatically handling their own concurrency control, error recovery, and state management. This self-service approach eliminates the need for complex centralized coordination mechanisms, simplifying design while enabling high concurrency.

Inventive Principle:
Principle #25Self-service

3Productivity

If services are distributed across multiple administrative and trust boundaries to improve scalability, then system scale is improved, but interoperability and extensibility demands increase

Engineering Contradiction:
Improvesystem scaleVSAvoidinteroperability demands
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A universal service interface standard is implemented that allows services across different administrative and trust boundaries to interact through common protocols. This universality enables services to be deployed anywhere in the distributed system without requiring custom integration logic, scaling the system while managing interoperability through standardized mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8122427B2Decentralized system services
Publication Date: 2012.02.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8122427B2 patent drawing
  • US8122427B2 patent drawing
  • US8122427B2 patent drawing

AI summary

A Decentralized System Services (DSS) architecture defines a framework for building fault-tolerant distributed applications across decentralized and heterogeneous systems. DSS enables “complexity through composition” by defining distributed designs as compositions of limited function and observable services which may be quickly and dynamically assembled to perform higher level functions. DSS defines a standardized interaction between distributed services using sessionless, asynchronous communications with explicit failure semantics. Accounting for latency, failure and state management all become a natural part of the design process. DSS includes a runtime implementation for managing concurrent services—the Common Concurrency Runtime (CCR), a protocol for service interactions—the Web Services Application Protocol (WSAP), and a set of required service behaviors which provide for composibility, location independence, and fault tolerance—Distributed Protocol Oriented Programming (DPOP). DSS also includes a set of base level infrastructure services which make it easy to communicate, secure, distribute, debug, and store content across devices.