Question
Consider the situation where three nodes are interconnected in series, that is, Node A is connected to Node B and Node B is connected to Node C. Suppose further that we wish to send a stream of messages from A to C, and that B cannot store data (except for small amounts for brief periods of time).
Node A is connected to Node B by a sliding window link that has a bit rate of 100kbps, a message size of 1000 bits and a window size of 3. The propagation time of a bit (or packet) on this link is 20msec.
For the connection between B and C, bits (or packets) have a propagation time of 5msec and uses a stop-and-wait protocol.
Assuming the same message size, what should the bit rate of the link be?
Explanation / Answer
said: +H=mis-can1/N=1 +H=mis-usa1/N=2 +H=mis-eur1/N=3 +H=mis-eur2/N=4 included:2 mis-eur1 ->mis-eur2:3 mis-eur2 ->mis-eur1:3 Note that in this case we must specify the number of connections in each direction as SNC connections are unidirectional. Adding a node to the network Replace the exclusion sign (-) of the host with the inclusion sign (+). Deleting a node from the network Replace the inclusion sign (+) of the host with the exclusion sign (-). Warning: Deleting a node from the node network, even temporarily, will result in the loss of all remote records created on this node. Increasing or decreasing the number of connections between nodes To modify the number of connections between nodes, make the necessary changes to the rule entry. It is possible to add, delete or modify a rule entry. Example: To increase the number of connections from Los Angeles to Cupertino by 2, add the following rule to the end of the file: angeles->cupertino:+2 Tuning connections It is possible to tune the socket and/or transaction options of some or all of the connections to specific hosts and/or nodes. This may be useful in node networks with nodes distributed over multiple machines, where there are significant variations in performance among the connections. These variations may be due to differences in machine speeds, the speeds of the network links, the loads on the various machines, and/or the loads on the various calendar servers. Tune the socket and/or transaction options by adding sections to the unison.ini file to define the relevant connections. Each section heading has the syntax: [, unieng, ] where is either the name of a host, or the keyword ALL to indicate all hosts in the node network is either a node-ID, or the keyword ALL to indicate all included nodes in the node network For example, the section [murphy,unieng,all] contains parameters which tune all connections to all nodes on host murphy. Each section contains one or more of the following parameters: tr_block = 0 tr_recv_timeout = 60 tr_send_timeout = 0 so_rcvbuf = 0 so_sndbuf = 0 so_keepalive = FALSE Each of these parameters overrides the value of the equivalent parameter in the [SNC] section of the unison.ini file. For example the tr_block parameter overrides the [SNC] snc_tr_block parameter. See the equivalent parameters in the [SNC] section in the calendar server Reference Manual, Appendix B, "Server Parameters," for an explanation of each of these. Contact Oracle support for assistance in determining appropriate values for these parameters. Note:: The tr_block parameter refers to the block size for communications between two uniengd servers and not, as for the snc_tr_block parameter, for communications between a uniengd server and a unidasd server. Setting up a master node You can set up a master node for your node network to control network management and ease the finding of user accounts on installations spanning multiple nodes and hosts. Use of a master node is optional. Note: Your node network may not at any time contain more than one master node. To set up a master node: Stop all calendar servers that host nodes in your network. Edit the unison.ini file on the calendar server host that contains the node you wish to configure. Set the value of the [CLUSTER] masternode parameter to the node-ID or alias of the desired node. Restart your calendar servers. Moving a node Entire nodes can be moved from one host to another. The following must be taken into account when moving a node: Big-endian vs. little-endian hosts Versions of the calendar servers The node network Directory server involved Big-endian vs. little-endian hosts Moving a node between a big-endian host and a little-endian host (or vice-versa) requires a database conversion utility. Contact Oracle support for more information about the unib2lendian (big-endian to little-endian), and unil2bendian (little-endian to big-endian) utilities. Table 5-1 Oracle Calendar server 5.4 platforms Big-endian Little-endian (Intel processors) Solaris Linux HP-UX Windows Versions of the calendar servers Moving a node from an earlier version of the calendar server to a later version requires the use of a database conversion utility. Contact Oracle support for more information on the unidbconv utility. Note that it is not possible to move a node from a later version of the calendar server to an earlier version. The node network The procedure for moving a node between node networks differs from that for moving a node within a node network. This difference is in the utilities the procedure uses to update the node network information. While most node network management is performed using uninode or the Admin GUI, removing a node from a node network using either of these tools results in data loss. Namely, any event created by a user in the node that is removed is deleted from all other nodes in the network. This is fine when moving a node between node networks. However, when you move a node within a node network, you want all nodes in the network to preserve all data related to the node. In this case you prevent the data loss by using the unidbfix utility to update the node network configuration. See "Performing the move" below for the exact procedure to follow in each case. Also recall that if you are running a directory server, all nodes in a node network must point at the same directory server. Directory server involved If you are moving a node from a calendar server that uses an internal directory to one that uses an LDAP directory server (or vice versa), you should consult Oracle support for assistance. Performing the move The following procedures describe moving a node between hosts which: are both either big- or little-endian are both running the same version of the calendar server are both using an internal directory or both using a directory server The first procedure describes moving a node within a node network, and the second describes moving a node between node networks. Although both procedures describe moving a single node, each can be adapted to moving several nodes. To move a node within a node network: Stop both calendar servers. Do not restart either until instructed to do so later in this procedure. Run unidbfix -c on the node you want to move to ensure that the database is not corrupted. Make an archive file of the /users/unison/db/nodes/ directory, where is the value of the name parameter that appears in the section of the unison.ini file configuring the node you want to move. Copy the archive file to the new host and, using the same archiving tool, restore the directory. Verify that the /users/unison/db/nodes/ directory now exists on the new host. If a node with the name already exists on the target server, you may choose to rename the node you are moving. Use the lowest unused letter-number combination. For example, if the last node on the target server is named N6, rename the new node N7. Remove the section configuring the node from the /users/unison/misc/unison.ini file on the old host and add it to the /users/unison/misc/unison.ini file on the new host. Remember that if you chose to rename the node in step 4, you must also rename the section configuring the node. Use the same letter-number combination you selected in step 4. If you are moving a node between two different big-endian platforms or two different little-endian platforms (e.g. from HP-UX to Solaris), copy the unison.dbd and vista.ctb files from the /users/unison/db/nodes/Nempty/perm/ directory on the old host to the same directory on the new host. Steps 7 to 12 update the node network information Stop all other calendar servers in the node network. Do not restart any of these until instructed to do so later in this procedure. Run unidbfix -export -n all on each of the hosts in the node network. This creates a remotenode.ini file in each of the node database directories (i.e. in each /users/unison/db/nodes//perm directory). This file contains information about all nodes remote to node . Edit the node entry for the moved node in the remotenode.ini file of each node in the node network, replacing the old host name with the new host name. Run unidbfix -k on the newly-moved node to create the key files. Run unidbfix -import -n all on each host in the node network. This updates the node database for each node in the node network. Edit the /users/unison/misc/nodes.ini file for the node network to reflect the host name change. If you are running a directory server, update the directory server using the ldapmodify tool, changing the old host name to the new host name on the moved node. This attribute exists for each SYSOP special user. Remove the /users/unison/db/nodes/ directory on the old host. Start all calendar servers stopped during this procedure. To move a node between node networks: Remove the node from its current network. Run uninode -edit to edit the nodes.ini file and apply the change. Stop both calendar servers. Do not restart either until instructed to do so later in this procedure. Run unidbfix -c on the node you want to move to ensure that the database is not corrupted. Make an archive file of the /users/unison/db/nodes/ directory where is the name of the node you are moving. Warning: To avoid overwriting an existing node, be certain that the name of the node you are moving does not already exist on the new host. Copy the archive file to the new host and, using the same archiving tool, restore the directory. Verify that the /users/unison/db/nodes/ directory now exists on the new host. Remove the section configuring the node from the /users/unison/misc/unison.ini file on the old host and add it to the /users/unison/misc/unison.ini file on the new host. If you are running a directory server, update the directory server using the ldapmodify tool, changing the old host name to the new host name on the moved node. This attribute exists for each SYSOP special user. Remove the /users/unison/db/nodes/ directory on the machine which originally contained the node. Start all calendar servers stopped during this procedure. Add the node to the node network. Run uninode -edit to edit the nodes.ini file and apply the change. Coexistence of LDAP and non-LDAP nodes For nodes with and without LDAP connections to coexist in a network, the most recent version of the calendar server in the node network must manage that network. Furthermore, if there is more than one of the most recent version, and any use a directory server, one of those must manage the node network. Recall that all nodes in a node network must point at the same directory server. The following procedure outlines the steps you must execute when you have a node network where all nodes currently connect to an external directory, and you want to introduce internal-directory nodes into the network. All calendar servers are assumed to be the most recent version. If this is not your situation, contact Oracle support for assistance. To integrate the new internal-directory nodes into the node network, execute the following steps: Back up all nodes in the existing node network. See "Back up and restore" in Chapter 10, "Node Maintenance", for more instructions. Shut down all servers hosting nodes that use a directory server (where the unison.ini parameter [DAS] enable=TRUE). Edit the parameter [ENG] dir_internal_nodes in the unison.ini file, on all calendar servers in the node network which use a directory server, to include all non-LDAP nodes. For example: with four nodes in your network, nodes 10000 and 10001 on the calendar server using a directory server, and nodes 10002 and 10003 on calendar servers using internal directories, the unison.ini file on the calendar server using a directory server would contain the following parameter: [ENG] dir_internal_nodes = {10002, 10003} Warning: Incorrect use of the [ENG] dir_internal_nodes parameter can have serious consequences. It is strongly recommended that you consult Oracle support before changing this parameter. Bring up all servers once the changes are complete. Run unidssync to synchronize the LDAP nodes with the directory server. Run uninode to add the non-LDAP nodes to the node network. Run unidssync on a regular basis (at least once a week for most installations) to keep the LDAP nodes synchronized with the directory server. Caveat: LDIF differences between UNIX and NT Slight differences in the UNIX and NT LDIF file formats must be understood in order to successfully transfer data from a NT to a UNIX server. Before importing NT-generated LDIF files to UNIX, ensure that: Any control characters are removed (must change CR/LF to NL). The "NT User" object class is removed. Coexistence of nodes with and without Oracle9iAS Wireless If a master node is present in your node network, clients will query that master node for available server functionality such as wireless capabilities. If your master node is set up with Oracle9iAS Wireless but the other nodes in your network are not, then clients of users whose accounts reside on those other nodes will behave as if wireless capabilities are enabled, but users will encounter errors trying to use those capabilities. Likewise, if your master node is not set up with Oracle9iAS Wireless but the other nodes in your network are, then all users' clients will hide or disable wireless capabilities (since the master node tells them no wireless capabilties are enabled on the server). It is therefore recommended that you ensure that your master node has the same wireless capabilities as the other nodes in your network.