Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Parallel Broadcast of a Synchronization Point Flow

IP.com Disclosure Number: IPCOM000102109D
Original Publication Date: 1990-Oct-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 4 page(s) / 139K

Publishing Venue

IBM

Related People

Pruul, EA: AUTHOR [+2]

Abstract

Open Parallel Broadcast provides a fast, robust, and flexible mechanism to send an action to multiple, heterogeneous, cooperating resources in a distributed transaction, and receive responses--both individual and consolidated--with broadcast response-time independent of the number of resources. Resources are expected to inform open parallel broadcast if they fail. Communications issues--point to point, FIFO channels, boundedness of response times--are under control of each resource. In particular, point-to-point communications between all resources is not assumed.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 47% of the total text.

Parallel Broadcast of a Synchronization Point Flow

       Open Parallel Broadcast provides a fast, robust, and
flexible mechanism to send an action to multiple, heterogeneous,
cooperating resources in a distributed transaction, and receive
responses--both individual and consolidated--with broadcast
response-time independent of the number of resources.  Resources are
expected to inform open parallel broadcast if they fail.
Communications issues--point to point, FIFO channels, boundedness of
response times--are under control of each resource.  In particular,
point-to-point communications between all resources is not assumed.

      If any resource cannot return to open parallel broadcast when
it has started an activity involving another task-communications,
disk I/O etc., then open parallel broadcast degenerates into a
sequential broadcast until that activity completes.  If all resources
return when they have started an activity in another process,
response time is unrelated to the number of resources being
coordinated. Response time is determined by the time required by the
slowest resource.  The order of the algorithm is O(N) and not O(n); N
is the number of cascaded levels below the application and n is the
number of resources in the distributed transaction tree.  Since the
number of levels in non-trivial cases is much smaller than the total
number of resources being coordinated, Open Parallel Broadcast is
superior to a sequential broadcast.
      o    Broadcast processing results in unacceptable end-user
response time if resources are polled one at a time.  If response
time increases with the number of resources being coordinated,
application designers will avoid a fully distributed design because
of poor performance.
      o    On the other hand, in real systems, a sequential broadcast
is simpler because real resources do things in their own way for
their own good reasons; simpler could often mean faster.

      Each Resource has different external and internal
characteristics so that there is no single way to efficiently
communicate with the various resources that now, or in the future,
may participate in a broadcast.  One resource may be able to respond
immediately.  One may use a system service which suspends this
process until some lengthy activity is completed.  Another may
require communications to a partner program but still require some
local processing before responding.  Yet another can respond with the
correct value directly from its communications interrupt handler.
Some may need several communications to arrive at a final response.
      o    Also, each Resource behaves differently for each action.
For example, "end process" may require communication with a partner,
but "backout required" may simply change local transaction-state
information.

      Each resource is called in sequence.  Each resource controls
the manner in which it returns its response.  The resource is alw...