Proxy Service Process for Watchdog-Resilient Application Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Watchdog processes in computer systems often restart applications during updates, which can corrupt files and state information, as they detect application shutdowns and initiate restarts prematurely, disrupting the update process.

Innovation Solution

Implementing a proxy service process that allows the application to continue executing in a non-servicing state, avoiding detection by watchdog processes, thereby preventing premature restarts during updates. This proxy service monitors the update process and switches back to a servicing state once completed, ensuring data integrity and successful updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the application is shut down during the update process, then the application files can be configured without process access, but the watchdog process may restart the application prematurely causing file corruption

Engineering Contradiction:
Improveupdate configuration accuracyVSAvoidfile integrity
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

A proxy service process is introduced as an intermediary to maintain the application's presence in the system process list during updates. The proxy process prevents watchdog from detecting application shutdown and initiating premature restarts, while allowing update processes to safely configure files without interference from restarted application processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the application remains running during the update process, then watchdog will not restart it, but processes may access files being modified causing corruption

Engineering Contradiction:
Improvefile integrityVSAvoidupdate configuration accuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The application functionality is segmented into two distinct components: a proxy service process that maintains system presence and prevents watchdog intervention, and update processes that perform file configuration. This segmentation allows the proxy to keep the application logically 'running' for watchdog purposes while isolating the update operations to avoid file access conflicts.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a proxy service process is used to prevent watchdog detection, then updates can complete without premature restarts, but the system complexity increases

Engineering Contradiction:
Improveupdate completion successVSAvoidsystem process structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The proxy service process serves multiple functions simultaneously: it maintains the application's presence in the system process list to prevent watchdog detection, allows update processes to safely configure files, and can be configured to point to different application versions. This multi-functionality reduces the need for additional separate mechanisms.

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

Data Source

PatentUS11403093B1Application modification with proxy service process
Publication Date: 2022.08.02 ORACLE INT CORP
  • US11403093B1 patent drawing
  • US11403093B1 patent drawing
  • US11403093B1 patent drawing

AI summary

Techniques for updating an application using a non-servicing state are disclosed. One or more embodiments include executing an application, in a state which does not provide services, to avoid the application being restarted by a watchdog process. The non-servicing state may not perform any function other than to continue executing at least one proxy service process which avoids the application being restarted by a watchdog process. Responsive to determining that the application process is executing, the watchdog process does not detect any issue with the application, and therefore does not restart the application. The watchdog process may verify the continuing execution of the application process by, for example, determining that the application process is included in a list of executing processes managed by an operating system. The watchdog process may verify the continuing execution of the application process by, for example, communicating with the application process.