Distributed Runtime Monitor for Cloud Application Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud hosting platforms face challenges in diagnosing runtime errors, ensuring resource allocation, and maintaining performance and availability due to the difficulty in observing application execution and infrastructure interactions, leading to potential misconfigurations and security threats.

Innovation Solution

A distributed runtime monitoring system that generates monitor instances to execute concurrently with application instances and cloud infrastructure services, using specifications to define properties and rules for monitoring resource usage and performance metrics, enabling real-time evaluation and enforcement of desired behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cloud hosting platforms host applications from external entities, then service availability and scalability are improved, but security risks and difficulty in monitoring application behavior increase

Engineering Contradiction:
Improveservice availabilityVSAvoidsecurity risks
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a runtime observer as an intermediary component that mediates between the cloud hosting platform and external applications. This observer monitors application behavior, enforces security policies, and detects anomalies without interfering with application execution. The observer acts as a trusted intermediary that can identify security threats and runtime errors while maintaining the benefits of hosting external applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If developers run applications on cloud servers they cannot directly observe or control, then resource utilization and scalability are improved, but ability to diagnose runtime errors and ensure application safety decreases

Engineering Contradiction:
Improveresource utilizationVSAvoidruntime error diagnosis
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements a feedback mechanism through the runtime observer that continuously monitors application execution and provides information about application behavior, resource usage, and runtime errors. The observer collects data from multiple sources including application logs, system metrics, and security events, then feeds this information back to developers and platform operators. This enables real-time diagnosis of runtime errors while maintaining the benefits of cloud hosting.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If cloud operators host black-box applications from external entities, then service diversity and customer flexibility are improved, but ability to ensure resource allocation and prevent infrastructure abuse decreases

Engineering Contradiction:
Improveservice diversityVSAvoidresource allocation control
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements self-service capabilities through the runtime observer that automatically monitors resource allocation, detects policy violations, and enforces security rules without requiring manual intervention from cloud operators. The observer can identify when applications are misbehaving or abusing infrastructure resources and take appropriate actions such as alerting operators or terminating problematic applications. This maintains service diversity while automating resource control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8719804B2Managing runtime execution of applications on cloud computing systems
Publication Date: 2014.05.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8719804B2 patent drawing
  • US8719804B2 patent drawing
  • US8719804B2 patent drawing

AI summary

Instances of a same application execute on different respective hosts in a cloud computing environment. Instances of a monitor application are distributed to concurrently execute with each application instance on a host in the cloud environment, which provides user access to the application instances. The monitor application may be generated from a specification, which may define properties of the application/cloud to monitor and rules based on the properties. Each rule may have one or more conditions. Each monitor instance running on a host, monitors execution of the corresponding application instance on that host by obtaining from the host information regarding values of properties on the host per the application instance. Each monitor instance may evaluate the local host information or aggregate information collected from hosts running other instances of the monitor application, to repeatedly determine whether a rule condition has been violated. On violation, a user-specified handler is triggered.