Browse Prior Art Database

Dynamic Data Structure Support for Distributed Computing Systems

IP.com Disclosure Number: IPCOM000100445D
Original Publication Date: 1990-Apr-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 3 page(s) / 121K

Publishing Venue

IBM

Related People

Cohn, DL: AUTHOR [+3]

Abstract

The technique described here allows tasks in a distributed computing system to transfer and share dynamic data structures. This is accomplished by elevating the concept of a pointer to the operating system level. A data unit link is defined to be a special type of pointer that is managed and manipulated by the operating system. Using data unit links, application-level tasks can dynamically construct data structures of any form. Structures containing data unit links may be meaningfully transferred or shared between tasks running on different machines.

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

Dynamic Data Structure Support for Distributed Computing Systems

       The technique described here allows tasks in a
distributed computing system to transfer and share dynamic data
structures.  This is accomplished by elevating the concept of a
pointer to the operating system level.  A data unit link is defined
to be a special type of pointer that is managed and manipulated by
the operating system.  Using data unit links, application-level tasks
can dynamically construct data structures of any form.  Structures
containing data unit links may be meaningfully transferred or shared
between tasks running on different machines.

      A data unit is a structured collection of data.  Its structure
and extent are known by the operating system.  It may contain common
types, such as integers, floating point numbers, and characters.
Data units may also contain complex combinations, such as records and
arrays, of simple data types,  When a task creates a new data unit,
it informs the operating system of the data unit's structure.  The
operating system records the structural information and uses it
during any ensuing data transfer operations.

      Tasks have direct access to data units.  That is, a task can
read from and write to a data unit without operating system
intervention.  Furthermore, multiple tasks may be able to access a
single data unit simultaneously.

      Given these assumptions, data unit links are defined to be
special simple data types.  Like all other simple types, they can be
specified as part of a data unit.  When informing the operating
system of the structure of a new data unit, a task may indicate that
the data unit contains some number of data unit links.  As with all
other data types, the operating system must be able to determine the
precise fields within the data unit which hold the data unit links.

      The operating system provides two fundamental services for the
manipulation of data unit links.  The first service allows a task to
assign a value to a data unit link.  Using the pointer analogy, this
service allows a task to specify the target of the data unit link.
To maintain consistency with the assumptions stated above, the target
of a data unit link must be a data unit.  Thus, the task which
requests this service must pass two parameters to the operating
system: an identifier of the data unit link to which a target is
being assigned, and an identifier of the target data unit.  In
response to this request, the operating system takes whatever actions
are necessary to assign a value to the data unit link.  These actions
typically include the generation of an internal record of the link's
value.

      The second fundamental service allows tasks to gain access to a
data unit which is the target of a link.  Here, the requesting task
must pass one parameter to the o...