Browse Prior Art Database

Asynchronous Shadowing of Changes between Relational Database Systems

IP.com Disclosure Number: IPCOM000110564D
Original Publication Date: 1992-Dec-01
Included in the Prior Art Database: 2005-Mar-25
Document File: 5 page(s) / 190K

Publishing Venue

IBM

Related People

Robertson, BD: AUTHOR

Abstract

Shadowing is the ability to replicate relational table entries from one relational data base system to another such that after a modification (update, insert, or delete) is made to a table on a given relational data base system, that modification will be replicated on all other relational data base systems as defined within the shadowing network. Shadowing is based on the concept of a requester node (the collector) asking for and receiving data from a server node (the collectee). A node is a collector when it initiates a conversation, requests and receives data. A node is a collectee when it answers a conversation request and supplies data to a collector. So, the same node may act as both a collector and a collectee. A collector and a collectee node which interact this way in the shadowing process are called partner nodes.

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

Asynchronous Shadowing of Changes between Relational Database Systems

       Shadowing is the ability to replicate relational table
entries from one relational data base system to another such that
after a modification (update, insert, or delete) is made to a table
on a given relational data base system, that modification will be
replicated on all other relational data base systems as defined
within the shadowing network.  Shadowing is based on the concept of a
requester node (the collector) asking for and receiving data from a
server node (the collectee).  A node is a collector when it initiates
a conversation, requests and receives data.  A node is a collectee
when it answers a conversation request and supplies data to a
collector.  So, the same node may act as both a collector and a
collectee.  A collector and a collectee node which interact this way
in the shadowing process are called partner nodes.

      Periodically, the collector will initiate conversations with
all partner nodes and request additions, changes and deletions from
the collectee's tables.  The collectee will send all modifications
made to its tables since that collector node last called.  The
collector will apply those modifications, making them available to
other partner nodes.  The flow of updates always goes from the
collectee to the collector, at the collector's request.  Updates are
never sent without a request.

      This article discloses a new shadowing algorithm which makes
the following assumptions:
      Every table containing information to be shadowed must have a
key column that uniquely identifies each row within the shadowing
network.
      The unique key column must be defined identically between the
collectee table being shadowed and the collector table receiving the
updated data.
      Data table modifications are done in such a manner that the
application knows which rows are affected.  The application must be
able to identify the data row keys involved to communicate them to
the synchronization process.

      The shadowing design will operate in any logical network
configuration including the following:
      Star configuration
      Hierarchical configuration
      Peer-to-peer configuration
      Mixed configuration

      The physical layout of the network is not of concern. It is the
scheme of logical relationships between nodes in the network that
determines the configuration.

      The shadowing process is supported by the following tables:
Note: The information contained in these sample tables could be
represented in a greater or lesser number of physical tables,
depending on the implementation.
      Shadow Control table - Each collectee partner node is defined
in this table along with the timing information of when and how often
each partner node is to be contacted for shadowing.
      Column Request table - Each column to be shadowed from another
node is defi...