Virtual Threads for Business Process Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging business process programs is challenging due to the lack of a thread of execution model in the workflow paradigm, making it difficult to perform common debugging tasks like stepping through instructions and tracing interactions across multiple, independently acting processes.

Innovation Solution

Assigning unique virtual thread identifiers to groups of activities linked by workflow language grammar, enabling the generation of a directed graph for debugging operations such as breakpoint establishment and step-over debugging, and allowing for the merging of virtual threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If workflow languages partition program instructions into disjoint tasks executed in unpredictable order, then system integration flexibility and adaptability are improved, but debugging capability and ease of operation deteriorate

Engineering Contradiction:
Improvesystem integration flexibilityVSAvoiddebugging capability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces virtual threads as an intermediary concept that mediates between the distributed task execution model and debugging requirements. Virtual threads provide a logical execution thread that spans multiple activities and execution environments, enabling debugging operations without compromising the flexible distributed execution model

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds a new dimension of virtual thread identification to the workflow execution model. By introducing virtual thread identifiers that track logical execution flow across distributed activities, the system enables debugging in the logical execution dimension while maintaining physical distribution

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Power

If multiple independently acting business processes execute across different execution environments, then processing power and adaptability are improved, but the ability to trace interactions and perform debugging operations worsens

Engineering Contradiction:
Improveprocessing powerVSAvoidability to trace interactions
Core Design Contradiction:
PowerVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the execution model into virtual threads that can be independently tracked. Each virtual thread represents a logical execution flow that can be traced across multiple activities and execution environments, enabling interaction tracing while maintaining distributed processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a virtual copy of the execution thread model that exists independently of the physical distributed execution. This virtual thread model copies the essential execution flow information needed for tracing and debugging without interfering with the actual distributed processing

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7640538B2Virtual threads in business process programs
Publication Date: 2009.12.29 SERVICENOW INC
  • US7640538B2 patent drawing
  • US7640538B2 patent drawing
  • US7640538B2 patent drawing

AI summary

A method, system and apparatus for applying virtual threads in debugging a business process program. In accordance with the present invention, different activities in a business process can be associated with corresponding virtual thread identifiers where groups of the activities related to one another through corresponding links can be assigned a single virtual thread identifier. Based upon the association of activities with corresponding virtual thread identifiers, a directed graph of different activities of different virtual thread identifiers can be generated. Accordingly, debug operations including applying breakpoints, step over debugging and the like can be applied to a business process program regardless of the host platform for any one activity in the business process program.