FPServer: THE Fast Novell NetWare Print Server Version 3.2 What's New File (WHATSNEW.DOC) ================================================== Richard L. Hartman (RLH) Novell Registered Professional Developer 5205 North Mulvaney Court, Spokane, WA 99212-1611 509-924-6576 (voice) 509-926-4626 (fax) CompuServe 76350,2275 =========================================================================== WHAT'S NEW IN VERSION 3.2? =========================================================================== PLENTY! Version 3.2 includes many, many new features which were not present in the last publicly available version (2.5). Over the past several years I have researched network printing at hundreds of sites and received comments from hundreds more. The results of this research become new features in FPServer - those which are truly important to network printing. In many cases, these are features which no other print server (PC-based nor "black box" nor in-the-printer) has ever offered. They may become commonplace in the future, but FPServer continues to define the state of the art in network printing technology. This file provides a brief overview of FPServer's new features. More detailed information is available from the FPSERVER.DOC file, which has also been updated to support version 3.2. Be sure to consult FPSERVER.DOC for complete details. =========================================================================== NEW FEATURES =========================================================================== Even Faster ---------------------------------------- THROUGHPUT is the number-one priority for network print servers - period. And FPServer is faster than ever before. Throughput has been increased 50-100% over previous versions, and this bandwidth is still dynamically allocated across all active ports in real time. Data rates exceeding 100,000 BYTES PER SECOND are common on 386-class machines driving parallel printers (assuming the printer can handle data that rapidly). Direct Support for FIFO'd Printers ---------------------------------------- A recent development in high-speed printers (especially laser printers) is the use of a small FIFO as the front end of the parallel port. These buffers generally accept 8-32 bytes at extremely high data rates, store them internally, then interrupt the printer's microprocessor only when the FIFO is full. This dramatically improves the efficiency of the printer's microprocessor by only requiring its attention when the FIFO is full rather than for every individual byte. To get maximum performance from these new printers, FPServer analyzes the data-reception behavior of parallel printers and optimizes its output algorithm for FIFO-based operation if detected. Multiple File Servers ---------------------------------------- More installations are moving to multi-server environments as networks become more common. In support of this, FPServer now services up to seven separate file servers simultaneously. Each port may be service jobs from a separate print queue on a separate file server - you do not need to consolidate all of your print jobs on a single file server. You can also have multiple ports service a common print queue to reduce print job dwell time. If you have duplicate printers, you can multiply the bandwidth of print job servicing by specifying the same print queue for multiple ports. Seven Simultaneous Print Devices ---------------------------------------- You may now drive up to SEVEN printers from a single FPServer host! Three parallel and four serial print devices can be active simultaneously, each serving print jobs from different print queues on different file servers. All ports operate autonomously - and FPServer's real-time optimization divides available bandwidth between active ports to maximize throughput under all conditions. Banners ---------------------------------------- In direct response to client requests, FPServer now provides support for print job banners. Unlike the banners provided by other print servers, however, FPServer always displays the ACTUAL job owner's name and up to twenty characters of job description - regardless of the NPRINT or CAPTURE settings used to generate the print job. The banner is also date and time stamped in international format for ease of reference. Form Feeds ---------------------------------------- In further response to customer requests, FPServer now provides support for formfeeds at the end of print jobs. If the FormFeed flag is set by the print job's owner, FPServer emits a formfeed at the end of every copy. Programmable Port Addresses ---------------------------------------- FPServer allows you to explicitly specify the I/O addresses for each active port. In addition to providing support for hardware which uses non-standard I/O, this allows you to logically rename ports regardless of their physical addresses. Programming port addresses is an option, not a requirement. If you do not specify an address for a port, FPServer will automatically derive the address from the BIOS data area in low memory. Regardless of where the address originated (your command or BIOS), FPServer always confirms the presence of physical hardware before enabling it for use. This prevents "artificial" ports which are generated by some programs from causing print server or network problems. Robust Video System ---------------------------------------- This release incorporates a vastly improved video system that has proven compatible with ALL video interfaces available for testing (even those non-standard AT&T 6300's!). The new system automatically detects the type of interface and modifies its behavior accordingly. All standard video systems are supported: MDA, MGA, CGA, EGA, VGA, and SVGA, on any type of monitor compatible with the video interface. Full Color Screen Display ---------------------------------------- The new video system includes FULL COLOR support for machines equipped with color interfaces and monitors. Colors are used to highlight information and warning messages; blinking is used to highlight errors and time-sensitive conditions. Of course, monochrome-equipped systems are detected and accommodated as well. Brightness and blinking are used in place of the color system's color displays. Zoom Views of Individual Ports ---------------------------------------- Any of FPServer's seven ports may be "zoomed" for closer examination. A full-screen view of the selected port is presented, including a deep display of pending print jobs. Like all FPServer screens, zoomed port displays are kept current in real time; jobs advance on screen as they move in the print queue and the Current/Former lines show present and past port activity. Delete Print Jobs - Gracefully ---------------------------------------- If you've ever experienced a runaway print job, you know how inconvenient such a situation can be. Once you realize things are not going right, you have to stop the printer, stop the print server, rush back to your PC, run PCONSOLE, delete the job from the print queue, restart the print server, and restart the printer. What's worse, other print jobs being serviced by the print server are also interrupted (this can make you VERY unpopular!). FPServer eliminates this "runaway runaround" by allowing you to delete print jobs right from the print server console. When "zoomed" on a single port, you may delete any print job (including the current one) by highlighting it and selecting delete from a menu. ALL traces of the job are deleted: The printer (if parallel) is reset, FPServer's buffer is emptied, and the job is deleted from the print queue. A message reminding you to reset the printer (if necessary) is displayed on-screen and the port is held idle for a programmable period of time so you may reset the printer or manually flush its input buffer. Restart Print Jobs - Conveniently ---------------------------------------- FPServer's ability to delete print jobs is nice when you want to completely discard a runaway print job. But what if you still need a copy of that print job? You probably sent it because you needed it - and the fact that something went wrong doesn't mean you don't need it anymore. For this reason, FPServer also allows you to RESTART print jobs. When you restart a print job, FPServer holds the port idle for a programmable length of time - long enough for you to reset the printer, reposition the paper, or whatever - and then restarts the job from the very first byte. The printer reset message is also included during the reset pause as a reminder. Prioritize Print Jobs - Immediately ---------------------------------------- For those occasions when there's a large number of jobs ahead of yours - but YOU'RE the only person willing to stand by the printer and wait - FPServer allows you to prioritize your job to the top of the queue. The current print job will be finished as usual (FPServer will not interrupt a job in progress) but the NEXT job to be serviced will be the newly prioritized one. Programmable Printer Reset Delay ---------------------------------------- When you delete or restart a print job, it may take you a few seconds to reset the printer, reposition the paper, and otherwise prepare to continue servicing print jobs. Since every printer is different, FPServer allows the duration of the "job delete" and "job restart" delays to be programmed. Any value from 1-999 seconds may be specified, and during the delay the affected port will display a special message reminding you of the reason for the pause in job servicing. Programmable Query Delay ---------------------------------------- FPServer must query the file server(s) periodically for new print jobs which require servicing. While the amount of network cable traffic generated by such queries is small, a separate query is generated for each active port - and with up to seven ports per FPServer, it can add up. FPServer now allows you to specify the delay between subsequent queries. The default is one-half second; you may increase this to any value from 1-999 seconds. A separate value for each port allows you to tune the delays based upon the type of printer and its frequency of use. More active printers may benefit from shorter delays (more frequent querying), while less-active printers may do just fine with only an occasional query. Note that setting a port's query delay only affects the potential delay until a print job is started. Once a job has been initiated, it runs at full speed regardless of the query delay setting. Programmable Post-Job Delay ---------------------------------------- More and more printers are providing support for multiple emulations (PCL, PostScript, Epson, etc.) by "analyzing" the first few bytes of print data to determine which emulation is being used. Once the decision is made, the printer switches to that emulation and completes the print job. When the printer is connected to a single PC with a single user, the pause at the end of each print job helps the printer decide when it must resume analyzing the data and choosing an emulation. But in a shared (networked) environment, multiple print jobs can be sent to the printer back-to-back - making it impossible for the printer to distinguish between jobs even though they are very likely to be in different emulations. To provide better support for these "auto-switching" printers, FPServer allows you to specify a post-job delay of 1-999 seconds. This delay is inserted by FPServer immediately after each print job's last byte of data is sent to the printer. A separate delay value is maintained for each port so that you may add the delay to those printers which require it without imposing it on those which do not. By default, this delay is zero; but it is easy to add if your printer requires it. Auto-Reboot on Missing Shell ---------------------------------------- Network resources should operate autonomously, even when problems arise. File servers are a shared resource upon which a not one, but many people depend. For this reason, they are often equipped with uninterruptable power supplies (UPS's) so that, if the power fails, they can shut down and then restart gracefully without operator involvement. Print servers are also a shared resource, and they should also operate autonomously when problems arise. When power is lost and then restored, PC-based print servers will automatically reboot into DOS, often faster than the file server itself reboots. Since the PC is now "ahead of" the file server in its boot sequence, the PC's network shell will fail to find a file server and the print server software will fail to start. A manual reboot of the print server - AFTER the file server is running - is then required. FPServer solves this problem by confirming the presence of the network shell - and a valid connection to a file server - before initializing. If no connection exists, or if the shell is not loaded, FPServer will display a message, wait 30 seconds, and automatically reboot the PC. For debugging convenience, you may abort the reboot process and return directly to DOS during the 30 second pause by simply pressing any key. FPServer will continue to scan, delay, and reboot until it finds an active file server, no matter how long the file server takes to reboot itself. In this manner FPServer becomes a completely autonomous resource; if power is momentarily interrupted during the night, chances are your users will never know about it. Programmable Auto-Reboot on Lost Network ---------------------------------------- Another problem which has traditionally plagued print servers is the "lost network". This can be caused by anything from a file server going down to a temporary break in the network cable. The result is the same: the shell loses contact with the file server, sometimes resulting in the message "Network Error: Abort, retry" appearing on the screen. Such situations are confusing to users and have always required human intervention - until now. FPServer now detects "lost network" and other lockup conditions. Whether the shell reports it or not - with or without a "Network Error" message - FPServer will automatically cold-boot the PC after a programmable delay as long as the basic operation of the PC is not impaired. This feature, in combination with Auto-Reboot on Missing Shell above, makes FPServer immune to almost all forms of network lockup and reboot failures. Simply stated, FPServer does not passively hope that everything goes well; it aggressively works to make SURE print services are available to all network users 24 hours a day. Larger Data Buffers ---------------------------------------- With its growth to seven simultaneous print devices, FPServer now incorporates a memory management system which takes advantage of larger amounts of traditional DOS memory. However, even with all ports active, fully optimized operation is available with only 400K free DOS memory (as reported by the DOS utilities CHKDSK or MEM). This small memory requirement means that DOS, the network interface drivers, and the network shell itself can still be loaded into traditional DOS ("low") memory - exactly as they should be for maximum performance. Entire FPSERVER.CFG File In Memory ---------------------------------------- FPServer now reads its entire configuration file into memory before beginning its self-configuration. Prior versions read and processed commands one at a time, an approach which could lead to problems if the configuration file resided on a network volume. Deleted Job Notify Message ---------------------------------------- FPServer has long supported the "Notify" option, which places a message on the workstation when a user's print job is complete. This latest release goes one step further: FPServer will now inform you if your print job is interrupted due to deletion from the print queue. This notification will occur whether the job was deleted by PCONSOLE, FPServer (by a user at its console), or another NetWare utility. If the user has enabled the Notify option and the job is deleted during printing, a message stating that fact will be transmitted to the originating PC. 38400 Baud ---------------------------------------- FPServer now supports baud rates up to 38400 on those serial ports which can handle that speed. Smaller Executable File ---------------------------------------- Despite all the above new features, the executable file - FPSERVER.EXE - has actually DECREASED in size by nearly 30%! =============================================================================== FPSERVER: THE PRODUCT =============================================================================== With this release, FPServer makes the transition from AdWare to product. Interest in FPServer has been growing so quickly that I can no longer provide an acceptable level of support for a product which generates zero revenue. Charging a modest amount for FPServer allows me to continue its support and enhancement. So that you may review FPServer risk-free in your own environment, it will run full-featured for 20 minutes and then terminate. At the LaserJet 4's input rate of 40,000 bytes per second, for example, 20 minutes provides sufficient time to print 48 MEGABYTES of data. And you may run as many 20 minute test sessions as you wish. If, after running your own tests - on your own network, in your own environment, completely under your control - you decide not to use FPServer, you can simply stop using it. There are no up-front expenses, no "restocking fees", no refund delays... simply stop using it. Registration and SoftKeys ---------------------------------------- If you decide that FPServer DOES improve your network printing, you may register and obtain a "SoftKey" which allows unlimited copies of FPServer to run uninterrupted on one file server. SoftKeys are derived from the serial number of the copy of NetWare running on the file server and are thus server-specific. If you wish to let FPServer service queues on multiple file servers, a separate SoftKey is required for each. Registration and SoftKeys are available online, 24 hours a day, using a Visa or MasterCard. They may also be obtained via Purchase Order or prepaid check. Complete instructions appear on the exit screen whenever you run FPServer without a valid SoftKey. The SoftKey registration system gives you the opportunity to thoroughly evaluate FPServer with zero risk. It also allows you to legally give copies of FPServer to your associates who might also benefit from its features and capabilities. =============================================================================== QRIGHTS.EXE =============================================================================== FPServer's delete and reprioritize features require it to have "operator" rights to the print queues it services. Strange as it may seem, NetWare does not automatically grant operator rights to the print queues which a print server object is authorized to service. Furthermore, you cannot use Novell's PCONSOLE to grant such rights - it simply does not present the option. QRights (QRIGHTS.EXE), included with FPServer, is a program which grants print queue operator rights to print server objects. To run QRights, you must be logged in as Supervisor to the file server on which the print server and print queue reside. Then type: QRIGHTS printserver printqueue ...and the print server object will be granted operator rights. Repeat the process for each print queue to be serviced by the print server. =============================================================================== NWSERIAL.EXE =============================================================================== Also included with FPServer is the program NWSerial (NWSERIAL.EXE). NWSerial produces a list of the serial numbers for all file servers on your network. You may redirect NWSerial's output to a file or printer by using standard DOS redirection flags on the command line (see your DOS manual for details). Any logged-in user may run NWSerial. Just type: NWSERIAL ...and a list of NetWare serial numbers for all accessible file servers will be displayed. For maximum convenience during online registration, redirect NWSerial's output to a printer with: NWSERIAL >LPT1 ...and have the resulting printout handy when you connect to the online registration system. =============================================================================== REPLACING OLDER VERSIONS OF FPSERVER =============================================================================== Most of the configuration commands supported by previous versions of FPServer - whether in the FPSERVER.CFG file or on the command line - are still supported and will require no modification. The portQUEUE command is an exception; please review the changes to this command before running version 3.2. The only command which has been deleted is the PRINTSERVER command. Its functionality has been incorporated into the portQUEUE command, so separate specification of print server names is no longer required. The only command which has been altered is the serial port portBAUDRATE command. In previous versions, serial ports would default to 9600 baud. This version has no default baud rates - a portBAUDRATE command must be included for all active serial ports. If you will be using an existing FPSERVER.CFG file, be sure to insert portBAUDRATE commands for all serial ports if such commands are not already present. In addition to these changes, there are many new commands which support the new features in this release. These are thoroughly covered in FPSERVER.DOC.