Browse Prior Art Database

Distributed Task Execution Framework

IP.com Disclosure Number: IPCOM000202471D
Publication Date: 2010-Dec-16
Document File: 3 page(s) / 26K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system for automating tasks utilizing a distributed task execution framework is disclosed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 37% of the total text.

Page 01 of 3

Distributed Task Execution Framework

Disclosed is a method and system for automating tasks utilizing a distributed task execution framework.

Software development and support processes often require numerous and repetitive steps to be run periodically. These processes often require hardware and software resources which are distributed across one or more networks. Disclosed is a framework for automating these processes. For example, each step in a product build test cycle may be expressed as a set of tasks. Disclosed is a lightweight, configurable, extensible, distributed, and self-replicating framework for running both dependent and independent tasks across multiple hosts in a heterogeneous network environment. Because this is a framework, it can be implemented in any language - Java, C++, Perl, or other programming or scripting languages. This system is called the Distributed Task Execution Framework, or DTEF.

The DTEF is not limited to the build/test automation domain. It is applicable to any system in any domain that can be expressed as a set of executable tasks. It is particularly suited for processes where tasks run repeatedly in a heterogeneous network whose hosts can differ in both architecture and operating system. Common examples include reporting tasks and batch database update tasks. Any executable or script that can be invoked from the command line qualifies as a candidate for a task.

The DTEF provides capabilities for the automation of task-based activities. It is driven by a configuration that provides information about the tasks to be executed as well as general settings that influence framework behavior. The DTEF allows users to specify one or more tasks to run on one or more hosts. A task is any executable image (including programs, shell scripts, and basic shell commands) that can be invoked from the command line. Each task is executed only once on a specified host, and it may be executed sequentially or in parallel with respect to other tasks. The DTEF provides for task dependencies that govern when each task is allowed to start its execution. Any task on any host can be independent of other tasks, or it may have dependent task(s), or can itself be dependent on other task(s).

A task can be invoked in one of two modes: (1) fire and monitor, or (2) fire and forget. When a task is executed in fire and monitor mode, the DTEF polls for task completion at a configurable interval. When a task is invoked in fire and forget mode, the DTEF starts the task but does not monitor it for completion.

The DTEF provides a checkpoint mechanism that allows any task to publish any number of checkpoints. Every task has an implicit checkpoint that marks its completion. In addition, a task can explicitly publish any number of checkpoints at any time during its execution.

Task dependencies are expressed in terms of start criteria and start criteria are

1


Page 02 of 3

expressed in terms of one or more checkpoints. A task cannot start exe...