The BEA TUXEDO v6.4 BRIDGE now enables you to use multiple network addresses. This means that you can use multiple communication channels simultaneously and/or use multiple communication channels for failover and failback. As a result, BRIDGE processing is network fault tolerant.
This release also supports asynchronous connection of network links.
Note: Alternate scheduling algorithms may be introduced in future releases.
The BRIDGE manages multiple listening addresses and virtual circuits among network groups. Each network group represents one network (real or virtual). Each machine may have one NADDR per network group. The highest priority circuits flow data in parallel. In the event of network virtual circuit failure, the next available lower priority virtual circuit is used. When circuits fail, the BRIDGE attempts to reconnect the higher priority circuit periodically, while data flows over the lower priority circuit.
Each BEA TUXEDO BRIDGE can access additional network resources. Proper use of the BRIDGE can lead to fewer connectivity outages. Once you have specified network group addresses in the configuration, the application automatically benefits from them. Figure 2-1 summarizes these improvements by comparing BRIDGE processing in Releases 6.3 and 6.4.
Figure 2-1 Differences Between the v6.3 and v6.4 BRIDGES
In v6.4, Netgroups perform the following functions:
The BRIDGE listens to all network group addresses (that is, all addresses specified as a value of NADDR in the NETGROUP section of the UBBCONFIG) and accepts connections and data on all circuits. The semantics for failover, failback, and parallel data circuits, are determined only when data is being sent.
Accepting Data on All Addresses
Scheduling Network Data Over Parallel Data Circuits
Note:
Alternate scheduling algorithms may be introduced in future releases.
Note:
Messages within a conversation are always delivered in order.
Data flows over the highest available priority circuit. If network groups have the same priority, data travels over all networks simultaneously. If all circuits at the current priority fail, then data is sent over the next lower priority circuit. This is called failover. When a higher priority circuit becomes available, data flows over this higher priority circuit. This is called failback. All unavailable higher priority circuits are retried periodically. After connections to all network addresses have been tried and failed, connections are retried again the next time data needs to be sent between machines.
In v6.4, NADDR BRIDGE network addresses may be associated with a network group. The following example illustrates how this capability may be useful.
First State Bank has a network of five machines (A-E). Each machine belongs to two or three of four netgroups that have been defined by the system administrator:
Scheduling Network Data in Failover and Failback
Walk-through: An Example of a v6.4 Netgroups Configuration
The Configuration
Every machine belongs to DEFAULTNET (the corporate WAN). In addition, each one is associated with either the MAGENTA_GROUP or BLUE_GROUP. Finally, some machines in the MAGENTA_GROUP LAN also belong to the private GREEN_GROUP. Figure 2-2 shows machines A through E in the networks for which they have network addresses.
In this example, Machines A and B have addresses for:
Figure 2-2 Example of a Network Grouping
Machines D and E have addresses for:
Because the local area networks are not routed among the locations, machine D (in the BLUE_GROUP LAN) may contact machine A (in the GREEN_GROUP LAN) only by using the single address they have in common: the corporate WAN network address.
To set up the configuration we just described, the First State Bank administrator defined each group in the NETGROUPS section of the UBBCONFIG file as follows.
Appropriately assigning priorities for each netgroup enables you to maximize the capability of network BRIDGES. When determining your netgroup priorities, keep in mind the following considerations:
The UBBCONFIG File with Netgroups
*NETGROUPS
DEFAULTNET NETGRPNO = 0 NETPRIO = 100 #default
BLUE_GROUP NETGRPNO = 9 NETPRIO = 100
MAGENTA_GROUP NETGRPNO = 125 NETPRIO = 200
GREEN_GROUP NETGRPNO = 13 NETPRIO = 200
*NETWORK
A NETGROUP=DEFAULTNET NADDR="//A_CORPORATE:5723"
A NETGROUP=MAGENTA_GROUP NADDR="//A_MAGENTA:5724"
A NETGROUP=GREEN_GROUP NADDR="//A_GREEN:5725"B NETGROUP=DEFAULTNET NADDR="//B_CORPORATE:5723"
B NETGROUP=MAGENTA_GROUP NADDR="//B_MAGENTA:5724"
B NETGROUP=GREEN_GROUP NADDR="//B_GREEN:5725"C NETGROUP=DEFAULTNET NADDR="//C_CORPORATE:5723"
C NETGROUP=MAGENTA_GROUP NADDR="//C_MAGENTA:5724"
D NETGROUP=DEFAULTNET NADDR="//D_CORPORATE:5723"
D NETGROUP=BLUE_GROUP NADDR="//D_BLUE:5726"E NETGROUP=DEFAULTNET NADDR="//E_CORPORATE:5723"
E NETGROUP=BLUE_GROUP NADDR="//E_BLUE:5726" Assigning Priorities for Each Network Group
Figure 2-3 illustrates how the First State Bank administrator can assign priorities to the network groups.
You can specify the value of NETPRIO for DEFAULTNET just as you do for any other netgroup. If you do not specify a NETPRIO for DEFAULTNET, a default of 100 is used, as in the following example.
For DEFAULTNET, the value of the network group number must be "0"; any other number is invalid. If the BLUE_GROUP's network priority is commented out, the priority defaults to 100. Network group number entries are unique. Some of the network priority values are equal as in the case of the MAGENTA_GROUP and GREEN_GROUP (200).
Each network address is associated by default with the network group, DEFAULTNET. It may be specified explicitly for uniformity or to associate the network address with another netgroup.
In this case, the MAGENTA GROUP and GREEN GROUP have the same network priority of 200. Note that a lower priority network, such as DEFAULTNET, could be a charge-per-minute satellite link.
Example of a call using multiple network addresses
Figure 2-3 Assigning Priorities to Network Groups
The UBBCONFIG Example Considerations
*NETGROUP
DEFAULTNET NETGRPNO = 0 NETPRIO = 100*NETWORK
D NETGROUP=BLUE_GROUP NADDR="//D_BLUE:5726"
Figure 2-4 Flow of Data over the BRIDGE
Figure 2-4 illustrates the flow of data when machine A attempts to contact machine B. First, the BRIDGE determines which network groups are common to both machine A and machine B. They are the MAGENTA GROUP, the GREEN GROUP, and the DEFAULTNET. The highest priority network addresses originate from the network groups with the highest network priority. Network groups with the same NETPRIO value flow network data in parallel. All network groups with a higher priority than that of the network groups flowing data are retried periodically. Once network connections have been established with different NETPRIO values, no further data is scheduled for the lower priority connection. The lower priority connection is disconnected in an orderly fashion (called failback).
Features of Asynchronous BRIDGE Connections (BridgeAsyncConnect)
Administrative Functions Performed by the BRIDGE
To configure a v6.4 BRIDGE, edit your UBBCONFIG file as follows.
The NETGROUPS section describes the network groups available to the application in the LAN environment. There is no limit to the number of network groups to which a pair of machines may be assigned. The method of communication to be used by members of different networks in a network group is determined by the priority mechanism (NETPRIO).
Every LMID must be a member of the default network group (DEFAULTNET). The network group number for this group (that is, the value of NETGRPNO) must be zero. However, you can modify the default priority of DEFAULTNET. Networks defined in releases prior to Release 6.4 are assigned to the DEFAULTNET network group.
NETGROUP required parameters [optional parameters]
Refer to the TM_MIB Manual Page for a detailed view of all the changes. Following is a list of changes to the TM_MIB(5) Manual Page:
Description of the New NETGROUPS Section
Formatting Entries
where NETGROUP is the network group name. If NETGROUP is equal to DEFAULTNET, the entry describes the default network group.
Specifying Parameters
Updates to the TM_MIB(5) Manual Page
The T_NETGROUP class represents application attributes of network groups. Network groups are groups of LMIDs for machines that can communicate over the network addresses defined (as values of TA_NADDR) in the T_NETMAP class.
( r ) - Required field for object creation (SET TA_STATE NEW)
( * ) - GET/SET key, one or more required for SET operations
The T_NETMAP class associates TA_LMIDs from the T_MACHINE class to a TA_NETGROUP object from the T_NETGROUP class. This class identifies which logical machines belong to which network group. A TA_LMID may be in many TA_NETGROUP groups.
When one LMID connects to another LMID, the BRIDGE process determines the subset of network groups to which the two LMIDS belong. When the pair of LMIDs are in several common groups, they are sorted in descending TA_NETPRIO order (TA_NETGRPNO is the secondary key). The highest TA_ NETPRIO network group(s) TA_NADDR are the primary network addresses.
Network groups with the same TA_NETPRIO flow network data in parallel. Should a networking error prevent data from flowing through all the highest priority group(s), only then will the next lower priority network group(s) be used for networking traffic (failover). All network groups with a higher priority than the ones flowing data are re- tried periodically. Once a network connection is established with a higher TA_ NET- PRIO value, no further data is scheduled for the lower priority one. Once the lower priority connection is closed, it is disconnected in an orderly fashion (called failback).
( r ) - Required field for object creation (SET TA_STATE NEW)
( * ) - GET/SET key, one or more required for SET operations
${TUXDIR}/include/tpadm.h Fintro(3fml), Fadd32(3fml), Fchg32(3fml), Ffind32(3fml), tpalloc(3c), tprealloc(3c), tpcall(3c), tpacall(3c), tpgetrply(3c), tpenqueue(3c), tpdequeue(3c), MIB(5), TM_MIB(5)
T_NETGROUP CLASS DEFINITION
Overview
Attribute Table
Attribute Semantics
T_NETMAP CLASS DEFINITION
Overview
Attribute Table
Attribute Semantics
Files
${TUXDIR}/udataobj/tpadm
References
BEA TUXEDO Administrator's Guide
BEA TUXEDO Programmer's Guide