#### Using Groups

When a server is first installed on a system, the server or the installer creates one or more server entries for the server. Also, when installing the first instance of the server within a cell, the installer usually creates one or more groups for the application. For any application, the local system and directory service administrators can create site-specific groups whose members are server entries, groups, or both. Typically, a server adds a server entry to at least one group.

Design decisions for defining groups may reflect a number of possible factors. Typical factors that help define effective groups include the proximity of services or resources to clients, the types of any resources offered by servers, the uses of UUIDs, and the types of users that require a specific server.

For example, for a print server, proximity to the clients and the type of supported file formats are both relevant. These factors may affect print servers as follows:

· Proximity

If the proximity of a server is important to clients, assign servers to groups according to their locations. For example, print servers that are located together can use their own group (for example, print servers in building 1 use the group bldg_1_print_servers). Each server instance can add its own entry to the group, or a system administrator can add server entries by using the RPC control program.

To select randomly among servers in a given location, a client imports using the name of a group that corresponds to those servers (or of a profile that refers to that group).

Note: If proximity is the key factor in selecting among servers, name each server entry for the server's location; for example, bldg_1_pole_27_print_server.

· Object types

When accessing specific classes of resources is important to clients, you can group server instances based on the type of object they offer.

For servers that advertise resources in server entries, groups often use subsets for server entries according to the resources they advertise. For example, print servers can be grouped according to supported file formats. In this case, an administrator creates a group entry for each file format; for example, post_printers, sixel_printers, and ascii_printers. Each print server entry is a member of one or more groups.

Users that specify a group for a file format must find the printer that processes the print command. To help the user find the printer, the client can obtain the name of the server entry that supplied the server binding information by calling rpc_ns_binding_inq_entry_name( ), and then display the name for the user. If the server entry name indicates the location of the print server (for example, floor_3_room_45A_print_server), the user can then find the printer.

An application can set up groups according to different factors for different purposes. For example, the print server application can set up groups of neighboring print servers and a group of print servers for each of the file formats. The same server is a member of at least one group of each kind. Clients require users to specify the name of a directory service entry as a command-line argument of remote print commands. The user specifies the name of the appropriate group.

Note: If a user wants a specific print server and knows the name of its server entry, the user can specify that name to the client instead of a group.

####