Property Attachment Mechanism for Distributed Process Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing process automation systems face challenges in efficiently managing distributed processes and generating reports, particularly in complex software projects, where resource allocation and diagnostic information management are cumbersome and inflexible.

Innovation Solution

Implementing a general-purpose property mechanism that allows arbitrary data attachment to objects in the system, a three-tier hierarchy of data objects, and advanced report generation techniques that separate data gathering and report generation into distinct stages, using a unique property substitution syntax for dynamic configuration and flexible report creation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional centralized resource management system is used, then resource allocation can be controlled, but the system complexity and difficulty of managing distributed processes increases

Engineering Contradiction:
Improveflexibility in configuring distributed processesVSAvoidcomplexity of resource management system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts resource allocation logic from a centralized management system and attaches it directly to individual job objects. Each job carries its own resource requirements and allocation rules as attached properties, eliminating the need for complex centralized coordination while maintaining adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a universal property attachment mechanism that can be applied to any job object regardless of its specific type or resource requirements. This single mechanism handles diverse resource allocation scenarios (CPU, memory, I/O, external resources) without requiring separate management systems for each resource type.

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

2Adaptability or versatility

If arbitrary data is attached to objects to enable flexible configuration, then configuration flexibility improves, but system complexity increases

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidsystem structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent pre-structures job objects with standardized property attachment capabilities and predefined resource property templates. This preliminary setup enables flexible configuration without requiring complex runtime processing, as the framework for attaching and managing properties is established in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transforms the configuration approach from hard-coded parameters to dynamic attached properties. Job objects can have their configuration parameters modified by attaching new properties or modifying existing ones, allowing flexible reconfiguration without changing the underlying object structure or code.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If detailed diagnostic information is collected from all job steps, then reporting capability improves, but data processing time and system overhead increases

Engineering Contradiction:
Improvecompleteness of diagnostic informationVSAvoiddata processing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts only the essential diagnostic properties from job step data and attaches them to job objects for reporting. Rather than processing and storing all raw diagnostic data, the system identifies and extracts key information elements, reducing processing time while maintaining reporting completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a selective data collection approach that gathers sufficient diagnostic information for effective reporting without collecting excessive data. The property attachment mechanism allows attaching only the most relevant diagnostic properties to each job, balancing information completeness with processing efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7886265B2Process automation system and method employing property attachment techniques
Publication Date: 2011.02.08 CLOUDEBEES INC
  • US7886265B2 patent drawing
  • US7886265B2 patent drawing
  • US7886265B2 patent drawing

AI summary

The embodiments of the invention described herein employ sophisticated techniques for managing distributed processes in a process automation system. Specifically, one embodiment of the invention implements a general purpose property mechanism in which arbitrary data is attached to any object in the system (e.g., projects, procedures, jobs, job steps, resources, etc), thereby providing a convenient way to configure the system without modifying the underlying program code. In addition, in one embodiment, a three-tier hierarchy of data object is employed: “projects,”“procedures,” and “steps” (or “projects,”“jobs” and “job steps” during runtime). A property may be attached to any object on any tier of the hierarchy to configure that object and (potentially) all of the objects which reference the property. The properties and property sheets may be attached both statically (before runtime) and dynamically (during runtime). Moreover, one embodiment of the invention employs a unique property substitution syntax to allow the value for a particular property to be located and substituted dynamically at runtime.In addition, advanced report generation techniques are described below in which the report generation process is logically separated into a data gathering stage and a report generation stage. The data gathering stage extracts certain specified properties and diagnostic information from each job step. The extracted information is then stored in a highly flexible, reusable data format which is used to create different types of user-configurable reports.