DNS Health Check Engine for Service Availability Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for monitoring the status of network-based services are poorly implemented, leading to increased downtime due to ineffective classification of services as unavailable or available, especially when service dependencies experience downtime.

Innovation Solution

A monitoring agent is implemented within each service instance to collect statistics on network traffic, determining the status based on successful and failed responses to requests, and a health check engine updates the DNS server's associations between host names and network addresses accordingly, ensuring accurate classification and reducing downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional techniques classify services as unavailable when dependencies experience downtime, then service availability classification is simplified, but actual service availability is reduced due to ineffective reclassification

Engineering Contradiction:
Improveservice availabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements continuous feedback loops where monitoring agents track service dependencies and automatically trigger reclassification processes. When dependencies are restored, the system receives feedback and updates service status accordingly, ensuring timely recovery from false unavailable states without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by proactively monitoring service dependencies before they cause complete service failure. By detecting dependency issues early and pre-adjusting service classifications, the system prevents premature unavailable states and prepares reclassification pathways in advance, reducing overall downtime.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If monitoring agents track service dependencies continuously, then service status accuracy is improved, but system complexity increases

Engineering Contradiction:
Improveservice status accuracyVSAvoidmonitoring system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The monitoring system is segmented into independent monitoring agents deployed at different service instances, each responsible for tracking specific dependencies. This modular approach improves measurement precision through distributed observation while managing complexity by localizing monitoring functions to discrete, manageable units rather than a centralized complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Monitoring agents operate autonomously, self-configuring and self-managing their dependency tracking without requiring complex centralized control. Each agent independently monitors its assigned services, collects statistics, and reports status, thereby achieving high accuracy while minimizing system complexity through decentralized self-service operation.

Inventive Principle:
Principle #25Self-service

3Reliability

If services are deployed in multiple regions and availability zones, then service availability is improved, but monitoring and status classification becomes more difficult

Engineering Contradiction:
Improveservice availabilityVSAvoidstatus monitoring difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The monitoring agents are designed with universal functionality to operate across multiple regions and availability zones using the same protocols and methods. This multi-functional capability allows the system to maintain high availability through geographic distribution while simplifying monitoring by applying consistent, standardized approaches across all distributed service instances rather than requiring region-specific complex monitoring solutions.

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

Data Source

PatentEP3503503B1Health status monitoring for services provided by computing devices
Publication Date: 2023.06.21 APPLE INC
  • EP3503503B1 patent drawingFigure 1
  • EP3503503B1 patent drawingFigure 2
  • EP3503503B1 patent drawingFigure 3

AI summary

This application sets forth various techniques for monitoring a status of a service. According to some embodiments, a DNS server can implement a health check engine that monitors the status of the service in order to implement round-robin DNS among a plurality of availability zones. Each service instance for the service can include a monitoring agent configured to (1) monitor the status of the service instance, and (2) respond to health check messages received from the health check engine. The monitoring agent can also be configured to (1) collect statistics associated with one or more service dependencies of the service instance during a tracking window, (2) calculate at least one ratio based on the statistics collected during the tracking window, and (3) generate the status of the service instance by comparing the at least one ratio to a threshold value.