Internode shared tables reside in shared memory at each node. There is no file equivalent to the entity of each table. Therefore, internode shared tables can be accessed from a UAP in online environment only. They cannot be accessed in offline environment.
When the IST service is used across multiple nodes, the time must match among these nodes. If not, data updates at one node may not be reflected at another node.
The figure below shows the processing flow when the IST service updates an internode shared table record (a record contained within an internode shared table) on multiple nodes.
Figure 4-20 Updating an internode shared table record
- The IST service creates record update data for updating an internode shared table record (record number 1) of the internode shared table A at node A.
- It acquires the current time (machine time, in microseconds) and confers it as a time stamp on the record update data.
- The IST service compares the time stamp set in the relevant internode shared table record in shared memory at node A and the time stamp given to the record update data.
If the record update data is more recent, the IST service updates the internode shared table record in shared memory. If the record update data is older, the IST service does not update the internode shared table record in shared memory. Even when the IST service does not update the internode shared table record, the function dc_ist_write() returns normally.
- When the IST service has updated the internode shared table record in shared memory, it notifies the IST service at node B that it has updated an internode shared table record at node A. At this time, it also reports the internode shared table record and the time stamp given to the internode shared table record.
- The IST service at node B which received the updated internode shared table record compares the time stamp set in the relevant internode shared table record within the node and the time stamp of the internode shared table record that it received.
- Only if the IST service determines as the result of step 5 that the time stamp of the internode shared table record that was received is more recent does it update the relevant internode shared table record at node B to the information provided in the internode shared table record that was received.
As explained above, the IST service determines whether to update an internode shared table record or leaves it as it is based on the time stamp. In the following cases, the latest update data may not be reflected in the internode shared table record.
- When the machine time at node A is later than the machine time at node B
Sometimes after the IST service has updated an internode shared table record at node A, node B notifies the IST service that it has updated the same internode shared table record. Even in this case, the IST service regards the time stamp set in the internode shared table record at node A as being more recent. Therefore, the information in the updated internode shared table record at node B is not applied in the internode shared table record at node A.
In addition, when the internode shared table record updated at node A is reported to node B, the IST service regards the time stamp of the reported internode shared table record as being more recent. Therefore, even if the corresponding internode shared table record at node B actually contains the latest information, it is updated to reflect the information contained in the reported internode shared table record.
- When the machine time at node A is earlier than the machine time at node B
- When node B has updated an internode shared table record and the information in that internode shared table record has already been reported to node A
After an internode shared table record has been updated at node B, even if the IST service attempts to update the same internode shared table record at node A, the function dc_ist_write() returns normally without updating the record.
- When node B has updated an internode shared table record but the information in that internode shared table record has not yet been reported to node A
After an internode shared table record has been updated at node B, when the IST service updates the same internode shared table record at node A, it updates the internode shared table record with the update information at node A. However, the IST service then regards the time stamp of the internode shared table record reported by node B to be more recent. This means that it reflects the information contained in the internode shared table record reported by node B in the internode shared table record at node A.
All Rights Reserved. Copyright (C) 2006, 2010, Hitachi, Ltd.