Network Printing Configuration Tips [ Native Mode Spooler Reference Manual ] MPE/iX 5.5 Documentation
Native Mode Spooler Reference Manual
Network Printing Configuration Tips
This section gives the system manager some tips for creating a valid
network configuration file that will work well in your environment. The
topics in this section include:
* Entering IP addresses correctly
* Setting appropriate poll intervals
* Using I/O timing effectively
Entering a numeric IP address correctly
For each network printer you are configuring, you must enter in the
NPCONFIG file the printer's TCP/IP network domain name or its IP address
in the form aaa.bbb.ccc.ddd. If you enter the IP address, each field
must have a value that is less than or equal to decimal 255. The numeric
base of each field in the IP address is then determined individually as
follows:
* If the field begins with "0x", the remainder of the field is
(case-insensitive) hexadecimal.
* If the field begins with a leading zero followed by 0 through 7
inclusive, the remainder of the field is octal. A field beginning
with "0<anything else>" is an error.
* If the field begins with [1-9], the entire field is treated as
decimal. To specify a decimal IP address, do not use leading
zeros.
Listed below is one valid IP address expressed in many possible forms:
10.13.194.150 all decimal
012.015.0302.0226 all octal
0xA.0xd.0xC2.0x96 all (case-insensitive) hex
10.015.0xc2.150 mixed
These are invalid IP address specifications:
10.13 Only two fields, four required
abc.def.ghi.jkl Non-numeric, may be a domain name
10.018.194.150 "8" is not an octal digit
10.0b.194.150 "0b" is also an invalid octal spec
10.0xUsoft.194.150 "Usoft" is not valid hex
10.0xDEC.194.150 Valid hex, but > 255 decimal
10.def.ghi.jkl Can't mix IP address, domain name
Setting appropriate poll intervals
At a given time, only one host can be connected to a network printer and
others must wait until the printer is available. If the spooler has a
spool file to print, and either the network or the printer are
unavailable, it may need to attempt connecting to the printer many times
before it finally succeeds. You may configure the length of time between
retries by defining values for the poll_interval and poll_interval_max
items.
You must decide whether the default value for poll_interval (10 seconds)
gives the host an unfair advantage or disadvantage over other competing
host systems and, if so, specify a more appropriate value. For example,
if poll_interval is long compared with other hosts, then those hosts
stand a better chance of attaching the printer than this host. If the
interval is comparatively short, other hosts may not be able to gain
access to a network printer. However, if the interval is too short, this
host may consume excessive CPU time doing the polling.
The spooler uses the combination of values set by poll_interval and
poll_interval_max to determine the polling cycle on an unavailable
network printer. For example, if poll_interval = 10 while the absolute
value of poll_interval_max is 60, a sequence of unsuccessful connection
attempts would wait 10, 12.5, 15.6, 19.5,... 59.6, 60, 60, 60...seconds
between each successive attempt. Once the connection has been made, the
next failed connection starts at poll_interval once more.
If poll_interval_max is less than 0, a message is displayed to the
console whenever this limit is reached. If it is greater than or equal
to 0, no message is displayed. At first glance this behavior may seem
counter-intuitive. If a network connection fails using a short interval,
its chances of success appear to decrease as the interval increases.
This is, in fact, the case, but there are situations for which this may
be desirable. One example might be a network connection which must pass
through many routers or other interfaces, any of which can fail. Or the
network itself may be down. Repeatedly trying to establish a connection
using a small poll_interval under these conditions wastes local resources
as well as unnecessarily increasing network traffic. If situations like
this do not arise in your environment, you may omit poll_interval_max.
Successive connection attempts are then all separated by poll_interval
seconds.
Using I/O timing effectively
Four I/O timing items that you may enter into the NPCONFIG file control
the frequency of status checking for network printers. They are:
* data_timeout
* snmp_timeout
* snmp_max_retries
* message_interval
The default values for these items are suitable for text-based reports
sent to a printer such as the LaserJet 4Si, which is separated from the
HP 3000 by a small number of network devices (routers, bridges, etc.).
If the printer is located at a remote site, or the data is more complex,
you may want to enter a larger value to avoid excessive checking cycles.
A low value (more frequent checking) causes any problem to be detected
sooner, but substantially increases the use of CPU and network resources
if normal I/O has not completed within that interval.
The remainder of this section describes two scenarios to suggest how you
might set the I/O timing items to best manage some typical network
printing problems.
First scenario.
In this scenario, suppose that each I/O requires 15 seconds to complete.
Assume that none of the I/O timing items are specified in NPCONFIG, which
means that all default values are used. For reference, those values are:
data_timeout = 10 seconds
snmp_timeout = 5 seconds
snmp_max_retries = 3
message_interval = 0
Condition Result
Output is printer The data_timeout, which is set for 10 seconds,
bound expires and the spooler issues an SNMP request to
verify that the printer is on line. The SNMP request
completes before snmp_timeout expires, and reports
that the printer is online. The spooler therefore,
restarts the data_timeout interval. The I/O
completes five seconds later, 15 seconds from when it
started.
This scenario requires one SNMP request per data I/O
request, and is therefore very wasteful of CPU and
network bandwidth. For better efficiency,
data_timeout should be reconfigured to a higher
value, perhaps 20 seconds.
The printer is The data_timeout timer expires and the ensuing SNMP
offline request completes normally. No SNMP retries are
required, so a "device offline" message is displayed.
Because message_interval = 0, this message is not
repeated, although the spooler continues to cycle
through data_timeout and SNMP requests until the
printer is placed online again.
Suppose that after displaying the "device offline"
message, a subsequent SNMP request times out three
times. This is a different condition than "device
offline", and so an appropriate message is displayed
for it. Again, the second message is only displayed
once because message_interval = 0. However, if
subsequent SNMP requests complete normally, the
"device offline" message is different from the SNMP
timeout message, and so is displayed again, once.
The network is Suppose that the first cycle completes: data_timeout
slow expires and snmp_timeout expires. On the second
cycle, data_timeout expires, but this time the SNMP
request completes properly and verifies that the
printer is on line. Since the spooler did not retry
the required three times, the retry counter is reset
and no message is displayed.
If, instead, the network does not respond, the third
snmp_timeout expires and an appropriate "network
problem" message is displayed once. With the above
item values, the message appears 45 seconds after the
write operation to the printer (3 * (10 + 5)).
Second scenario.
In this scenario, suppose that each I/O requires 15 seconds to complete,
and that the I/O timing items have been set to the following values in
NPCONFIG:
data_timeout = 20 seconds
snmp_timeout = 5 seconds
snmp_max_retries = 0
message_interval = 15
Condition Result
Output is printer Since the I/O completes within the required 20
bound seconds, no further checking is performed.
The printer is The data_timeout expires. The ensuing SNMP request
offline completes normally, reporting the offline condition.
An appropriate message is displayed and another
data_timeout cycle begins. When it expires, the SNMP
request is repeated. Twenty seconds have
elapsed since the last message, which exceeds
message_interval, so the offline message is displayed
again, and continues to be displayed every 20 seconds
as long as the offline condition persists.
The network does The spooler cycles continuously between data_timeout
not respond and snmp_timeout but displays no message, because the
network problem appears as a non-response to the SNMP
request and snmp_max_retries is 0.
MPE/iX 5.5 Documentation