Declarative Models for Distributed Application Server Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed application servers are ill-equipped to manage demand spikes and resource fluctuations across multiple components, leading to inefficient operation and potential errors during redeployment of modules, due to their inability to identify and properly manage demand patterns and lack of scalability.

Innovation Solution

A distributed application server system that uses declarative models and platform-specific drivers to deploy high-level instructions, automatically monitor and adjust operations, allowing for loose coupling between server components and enabling the server to manage demand and resource fluctuations by correlating execution information with declarative models and modifying them as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional distributed application servers manage distributed application programs with precise instructions and component addressing schemes, then they can maintain control over application execution, but they lack scalability and are difficult to redeploy modules or components onto another server or set of computer systems due to enhanced potential for errors

Engineering Contradiction:
Improvecontrol over application executionVSAvoidscalability and redeployment capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a declarative model as an intermediary layer between the application program and the distributed application server. This model uses high-level abstractions and loose coupling mechanisms that enable modules and components to be redeployed across different servers without causing errors. The declarative model acts as a mediator that translates precise control requirements into scalable, platform-independent configurations, resolving the contradiction between maintaining execution control and enabling flexible redeployment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional distributed application servers are configured to manage precise instructions of the given distributed application program, then they can maintain control over application execution, but there is often little or no loose coupling between components, enhancing the potential for errors during redeployment

Engineering Contradiction:
Improvecontrol over application executionVSAvoidcoupling between components
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transforms the configuration parameters from precise, platform-specific addressing schemes to high-level, platform-independent declarative models. This parameter change enables loose coupling between components while maintaining control over application execution. The declarative model uses abstract parameters that can be automatically resolved during deployment, reducing the complexity of component interactions and minimizing error potential during redeployment operations.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If conventional distributed application servers manage multiple distributed application programs on different platforms, then they can provide diverse application support, but they are ill-equipped to translate different instructions for each different platform, increasing complexity and error potential

Engineering Contradiction:
Improvemulti-platform application supportVSAvoidinstruction translation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal declarative model that can represent distributed application programs across different platforms without requiring platform-specific instruction translation. The declarative model serves multiple functions: it defines application behavior in a platform-independent manner, automatically resolves platform-specific details during deployment, and enables the same model to be deployed across diverse platforms. This universality eliminates the complexity of manual instruction translation while maintaining multi-platform support.

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

4Productivity

If conventional distributed application servers are used during demand spikes such as promotions or holidays, then they can handle increased load, but they are ill-equipped to automatically analyze and anticipate fluctuating demands on various components, leading to sub-optimal performance

Engineering Contradiction:
Improvehandling of increased demandVSAvoidautomatic demand analysis and management
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The patent incorporates feedback mechanisms where the declarative model continuously monitors and analyzes the actual performance and demand patterns of distributed application components. This feedback loop enables the system to automatically detect demand fluctuations, identify bottlenecks, and dynamically adjust resource allocation and component deployment. The feedback-driven approach transforms the system from statically configured to dynamically adaptive, enabling automatic analysis and anticipation of demand patterns during promotions and holidays without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8099494B2Tuning and optimizing distributed systems with declarative models
Publication Date: 2012.01.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8099494B2 patent drawing
  • US8099494B2 patent drawing
  • US8099494B2 patent drawing

AI summary

A system for automatically adjusting operation of a distributed application program includes analytics means having a monitoring component. The monitoring component receives one or more event streams of data corresponding to execution of one or more modules of the distributed application program. The monitoring component joins the received event streams with one or more declarative models to create operational data. A forensics component of the analytics means queries, such as by using data from a declarative model store, the operational data to identify trends or behavior information for the various modules or components of the distributed application program. A planner component then reviews data created by the forensics component to identify any needed changes to the declarative models. The planner component passes any modified declarative models back to the system, so that the distributed application program can operate more efficiently using the changes to the declarative models, as needed.