Chapter 5 - Planning for Interprocess Communication Support
Support for Interprocess Communications
This chapter discusses the Banyan software components that provide support for the Interprocess Communications (IPC) mechanisms: Netbios and Named Pipe Application Program Interfaces (API). These APIs support the following operating system environments:
DOS Windows OS/2 Windows for Workgroups
Using the Netbios Name Service
Netbios applications as well as Named Pipe APIs require each participating workstation to identify itself using a unique machine or computer name. To manage these machine names in a Banyan network, you create a Netbios Name Service, a central machine name registration service, on a Banyan server.
The Netbios Name Service is a service type. As with other Banyan service types, you may assign it a name of your choice. You can create up to two Netbios Name Services for every Banyan server.
Each workstation that interacts with the same application must register with the same Netbios Name Service. A workstation can register with only one Netbios Name Service at a time.
A Netbios Name Service does not need to be dedicated to a single application or single interface type. It can manage names for multiple Netbios or Named Pipe applications concurrently. Figure 5-1 illustrates the types of workstations and application interfaces that a single Netbios Name Service can support.
In a Banyan network, the distribution of the application is limited only by the visibility of the Netbios Name Service. In a Banyan network, each workstation that runs a portion of a distributed application registers a machine name with a single Netbios Name Service, which ensures the uniqueness of each name.
Register a workstation with a specific Netbios Name Service using the SETNETB command, as described in "Using the SETNETB Command" later in this chapter.
Creating a Netbios Name Service
To create a Netbios Name Service at a Banyan server, follow these steps:
1. Use the MSERVICE command to add a server-based service.
2. Assign a name to the service.
3. Select a Banyan server for the service.
4. Select the Netbios Name Service as the service type.
5. Start the service.
The procedures for completing these steps are the same as those outlined for the Netbios Name Service in Managing VINES Services. If you need more information, refer to that document.
Configuring a Workstation for IPC Support
To configure a workstation for Netbios support, use:
PCCONFIG, PCNETB, or VCLIENT commands to load workstation-resident Netbios software SETNETB command to register the workstation with a Netbios Name Service on a network server
To provide Named Pipe support, you must also load supporting software using PCCONFIG. See Chapter 3 for detailed instructions for using the PCCONFIG command.
Loading the Workstation Netbios Software
Before you can run a program that uses Netbios, you must load the resident portion of the Netbios software into workstation memory.
DOS
For DOS workstations, use either the PCNETB command from a command prompt or PCCONFIG. Instructions for using PCCONFIG to load this software on a DOS workstation are in Chapter 7. Instructions for loading this software on a Windows or Windows for Workgroups (WFWG) workstation are in Chapter 11.
OS/2
For OS/2 workstations, use the VCLIENT command. See Chapter 12 for instructions.
To register the workstation's machine (or computer) name with a Netbios Name Service, configure PCCONFIG for Netbios support and then use the SETNETB command to register with the Netbios Name Service. The service checks that the name is unique. If the name is not unique, an error message notifies you that the name is already in use.
Note: Although the SETNETB command is supported in the user profile, it is not recommended that you include it there.
To prevent name conflicts, always run SETNETB from a batch file. In this way, the same machine name is always assigned to a specific workstation, rather than to a specific user, who could log in at any workstation if SETNETB is included in the user profile.
The format of the SETNETB command is:
SETNETB [/PERMID:hex-value] [/NAME:machine-name | /NONAME] service-name
Table 5-1 describes the SETNETB command switches.
For one workstation application to communicate with another, it must obtain the network address for the machine name of the other workstation application.
Banyan workstation software sends a request to the Netbios Name Service for the network address matching a specified machine name. The service looks up the name and returns the associated network address to the application.
Named Pipe Support in Banyan Networks
Banyan networking software uses the client/server communication model to support Named Pipe applications. These topics are discussed in the sections that follow:
Basic client/server Named Pipe models supported by Banyan networking software Software components required to support Named Pipe APIs on OS/2 workstations Software components required to support Named Pipe APIs on DOS, Windows, and Windows for Workgroups workstations Caution: If you use a Named Pipe application that uses APIs proprietary to other network operating systems, it will run under Banyan networking software as long as it adheres to the Named Pipe API. If not, you cannot run the application without assistance from the application developer.
Named Pipe API Client/Server Model
Banyan networking software supports the use of applications written for the Named Pipe API. The Named Pipe API provides applications with a method of exchanging and synchronizing information across multiple network workstations running the same application.
Named Pipe applications use the client/server model on the network, as outlined below:
The server component of the application (also called the application server) makes itself available to application clients and formulates responses to client requests. In this model, the application server is a software component.
For the best performance, do not use the workstation that runs the server application for other heavy day-to-day processing over the network.The client component of the application (also called the application client) formulates requests to one or more application servers. The application client is a software component. Application clients generally execute on any user workstation.
OS/2
With Banyan networking software, all workstations are clients of a Banyan server, requesting logins, file volumes, and so on. However, only an OS/2 workstation that is a client of Banyan networking software can function as a Named Pipe application server, providing application-specific services to other network workstations as shown in Table 5-2.
The software that makes up the Named Pipe support (loaded by VCLIENT) on an OS/2 workstation consists of the following files shown in Table 5-3.
The Banyan networking software components that let a distributed Named Pipe server and client application exchange information between OS/2 workstations over the network are shown in Figure 5-2.
Example Making a Named Pipe Connection
The two workstations shown in Figure 5-2 use the VINES SETNETB program to make a Named Pipe connection as follows:
1. VINESNP.IFS receives a request from the client application.
2. VINESNP.IFS calls INNS.SYS to locate the workstation associated with the machine name specified in the request.
3. INNS.SYS requests that the Netbios Name Service look up the machine name in the machine name table.
4. Netbios Name Service returns the network address for that workstation.
5. INNS.SYS passes the location to VINESNP.IFS.
6. VINESNP.IFS program creates a connection with the NPSERVER.EXE program on the other workstation.
7. Applications communicate through the pipe.
Named Pipe Software for DOS-based Workstations
The software programs that make up the Named Pipe support on a DOS, Windows, and Windows for Workgroups workstation depend on whether or not the workstation also needs to run a Netbios application. These files are listed in Table 5-4.
The Banyan networking software components that let a DOS client application exchange information with an OS/2 Named Pipe server are shown in Figure 5-3.