In a data retrieval activity entry, additional data must be gathered from the object on the source system in order to replicate the operation. The copied journal entry indicates that changes to an object affect the attributes or data of the object. The actual content of the change is not recorded in the journal entry. To properly replicate the object, its content, attributes, or both, must be retrieved and transmitted to the target system. MIMIX may retrieve this data by using APIs or by using the appropriate save command for the object type. APIs store the data in one or more user spaces (*USRSPC) in a data library associated with the MIMIX installation. Save commands store the object data in a save file (*SAVF) in the data library. Collectively, these objects in the data library are known as containers.
After the object send process determines that an entry is to be replicated and that additional processing or information on the source system is required, it performs the following actions:
-
Sets the status of the entry to PR (pending retrieve)
-
Adds the “sent” date and time to the activity entry
-
Writes the activity entry to the log space and adds a record to the distribution status file
-
Transmits the activity entry to a corresponding object receive process on the target system.
-
Adds the entry to the object retrieve work list on the source system.
The object receive process adds the “received” date and time to the activity entry, writes the activity entry to the log space, and adds a record to the distribution status file. Now each system has a copy of the activity entry. The object receive process waits until the source system processing is complete before it adds the activity entry to the object apply work list.
Concurrently, the object send process reads the object send work list. When the object send process finds an activity entry in the object send work list, the object send process performs one or more of the following additional steps on the entry:
-
If an object retrieve job packaged the object, the activity entry is routed to the container send work list.
-
The activity entry is transmitted to the target system, its status is updated, and a “retrieved” date and time is added to the activity entry.
On the source system the next available object retrieve process for the data group retrieves the activity entry from the object retrieve work list and processes the referenced object. In addition to retrieving additional information for the activity entry, additional processing may be required on the source system. The object retrieve process may perform some or all of the following steps:
-
Retrieve the extended attribute of the object. This may be one step in retrieving the object or it may be the primary function required of the retrieve process.
-
If necessary, cooperative processing activities, such as adding or removing a data group file entry, are performed.
-
The object identified by the activity entry is packaged into a container in the data library. The object retrieve process adds the “retrieved” date and time to the activity entry and changes the status of the entry to “pending send.”
-
The activity entry is added to the object send work list. From there the object send job takes the appropriate action for the activity, which may be to send the entry to the target system, add the entry to the container send work list, or both.
The container send and receive processes are only used when an activity entry requires information in addition to what is contained within the journal entry. The next available job for the container send process for the data group retrieves the activity entry from the container send work list and retrieves the container for the packaged object from the data library. The container send job transmits the container to a corresponding job of the container receive process on the target system. The container receive process places the container in a data library on the target system. The container send process waits for confirmation from the container receive job, then adds the “container sent” date and time to the activity entry, changes the status of the activity entry to PA (pending apply), and adds the entry to the object send work list.
The next available object apply process job for the data group retrieves the activity entry from the object apply work list, locates the container for the object in the data library, and replicates the operation represented by the entry. The object apply process adds the “applied” date and time to the activity entry, changes the status of the entry to CP (completed processing), and adds the entry to the status send work list.
The status send process retrieves the activity entry from the status send work list and transmits the updated entry to a corresponding job for status receive process on the source system. The status receive process updates the activity entry in the log space and the distribution status file. If the activity entry requires further processing, such as if an updated container is needed on the target system, the status receive job adds the entry to the object send work list.