Process Execution Recorder and Replayer for Server Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debugging technologies for source code are limited in mimicking real-world environments, particularly in shared server settings where processes interact with multiple sources, and lack the ability to step backwards through execution, making it inefficient to locate exceptions.

Innovation Solution

A system that records and replays process executions, allowing users to visualize and traverse the execution flow and data value updates, enabling step-by-step or automated traversal, including backwards navigation, with a graphical user interface highlighting exceptions and variable changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional debugging technologies are used on a single machine with a single execution, then the debugging process is simple, but it does not mimic the real environment where processes execute on servers interacting with various sources

Engineering Contradiction:
Improveenvironmental realismVSAvoiddebugging system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the server environment and process execution, allowing the process to be recorded and replayed in an isolated virtual space. This copy enables realistic multi-source interaction without requiring the actual complex server infrastructure during debugging.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The debugging system is segmented into distinct components: a process recorder that captures execution, a process replayer that reconstructs execution, and a debugger that analyzes the replayed process. This segmentation allows each component to handle specific aspects of debugging independently.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If conventional debugging allows stepping through source code during execution, then users can view variable values at each step, but users cannot step backwards through source code to review previous states

Engineering Contradiction:
Improvebidirectional navigation capabilityVSAvoidtime to locate exception
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The process recorder captures and stores the complete execution trace, variable states, and process flow in advance before the exception occurs. This preliminary recording enables the replayer to reconstruct the entire execution history, allowing users to step backwards through time to any previous state without re-running the process.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If conventional debugging is performed on a shared server environment, then the server must continue to serve requests from other connections, but debugging becomes intrusive because the server must be stopped to evaluate breakpoints

Engineering Contradiction:
Improveshared environment compatibilityVSAvoiddebugging intrusiveness
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a process recorder as an intermediary that captures execution details without interfering with the actual process running on the server. The recorder observes and stores execution traces while the process continues to serve requests normally, eliminating the need to stop the server for debugging.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of debugging the actual live process on the shared server, the system creates a virtual copy of the execution trace and debugs that copy in isolation. This copy can be stopped and examined at any time without affecting the live server's ability to serve requests.

Inventive Principle:
Principle #26Copying

4Reliability

If users run the debugger multiple times to locate exceptions, then they can eventually find the error, but the process is inefficient and time-consuming

Engineering Contradiction:
Improveexception location accuracyVSAvoiddebugging efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The process recorder captures the complete execution trace and variable states in advance, creating a full replayable record of the process execution. This preliminary capture eliminates the need for multiple separate debugger runs, as the entire execution history is already recorded and can be reviewed in a single debugging session.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The debugger provides dynamic navigation capabilities allowing users to step forward through execution, step backward to previous states, and jump to any point in the execution trace. This dynamic access to the recorded execution history enables efficient exception location without repeated process launches.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8719775B1Methods and apparatus for recording and playback of an executed process
Publication Date: 2014.05.06 ADOBE INC
  • US8719775B1 patent drawing
  • US8719775B1 patent drawing
  • US8719775B1 patent drawing

AI summary

A system interprets a process map. The process map indicates a plurality of steps associated with a process. The process map provides a visual representation of the steps. The system executes the process according to the process map, and captures an execution of the process in a recording. The system provides a capability to traverse the recording according to the process map.