Click here for a short version of this story.

Linux diskless workstations relieve headaches for hospital supplier.

Background and Overview

In the spring of 1996, Binson's Hospital Supplies (BHS) engaged our firm, Dynamic Results (DRI) to lead a MIS re-engineering project.

The goal of the project was to implement, purchasing, inventory, point of sale, general ledger, accounts payable, and order entry.

BHS, 280 employees, was using an AS/400 with Twinax 5250 terminals for accounts receivable and customer inquiry at approximately 100 seats.

Following analysis, Progress (RDBM and 4th GL) and SCO Unix was chosen as the platform for new applications. (Linux was preferred over SCO but Progress did not have a Linux port.)

The Objectives

For reasons not explained within, BHS was going to be a mixed environment for a number of years, AS/400 and Unix technology.

The First Objective:

In 1996, a search began as time permitted for technology that would allow a single terminal or computer per desk, providing access to both the AS/400 and Unix simultaneously.

The second objective:

Minimize the investment in the per seat cost for the new technology.

For example, deploying 230 PC, nominally priced with licenses, at $1,350 per seat $310,500, whereas, a solution priced at $500 per seat costing $115,000, represents a savings of $195,500. This savings would be invested in labor to development of business solutions.

Attempted Solutions

The First Solution: (Dumb TCP/IP Terminals)

Initially, a dumb TCP/IP based terminal was selected. Following a couple of firmware upgrades the terminal performed well, but not perfect. Knowing that this terminal was a telnet client device, there was hope that it would also work as a terminal for the AS/400.

Using this terminal on the AS/400 was not attempted at the time of purchase because the AS/400 was not configured for TCP/IP.

This solution "the promise for the future", was priced at $640.00 per seat, much higher than the target of $500.00, but well below the totally unacceptable cost of $1,350.00.

The Second Solution: (Windows 95 PCs)

In 1996, having nearly no office productivity tools available at BHS, a minimal deployment of Windows 95 PC's began.

To manage this initiative a Standard Operating Environment (SOE) was defined for the software suite to run on the PC's:

By 1998, it was clear that having 50 PC's deployed meant support. While being naive about this in the beginning, a full time person was required to deal with questions, rebooting, failed hardware, and just a never ending list of DLL this and DLL that. The total cost of ownership (TCO) was climbing to an unacceptable level.

Given the TCO, executive management agreed to a PC buying freeze. Amazingly the freeze was effective for more than 10 months.

The Third Solution: (Back to the Dumb Terminals)

During the deployment of the PC solution, TCP/IP on the AS/400 was configured and a test of the Dumb TCP/IP terminal was staged.

The terminal was able to communicate with the AS/400, the same telnet client that communicated with Unix would also link to the AS/400 telnet daemon.

But learning the differences between IBM's 5250 block mode interface and Unix's curses interface for the first time, would become problematic.

A pure telnet client interface to the AS/400 is not acceptable for high volume production users, naively thinking that good education of end users would overcome this differential, another problem with the TCP/IP terminal put an end to this solution.

The users were able to key transactions into the TCP/IP terminal at a rate faster than the terminal could deliver the data and paint the screen. The third strike against this terminal was the sale of this product line to a different manufacturer.

The TCP/IP terminal, sadly was out.

Aside

In May 1998, and an increasing number of seats need the single terminal or computer solution as more application modules were ready for deployment.

Management was asking DRI "what are you going to deploy? How are you going to achieve the price point of $500.00?"

BHS was expecting answers, the pressure was mounting to provide a solution.

The Fourth Solution: (Yet another TCP/IP terminal)

Another TCP/IP based terminal having builtin 5250 emulation and a telnet client was evaluated.

In June 1998, the first pass at evaluating this terminal resulted in a lengthy list of problems with both the Unix emulation and the AS/400 5250 emulation.

For example, on the AS/400 side, problems such as not right justifying numeric input turning $100 into $1000. Idle sessions on the AS/400 would just log the user out or hang the terminal.

The manufacturer offered firmware upgrades to solve these problems. By November 1998, many problems remained, the terminal was barely acceptable. However, it could be deployed on a limited basis if the problems would eventually be repaired.

This product was ideal for the environment at BHS, with the only exception that the price point was $800.00. The cost was nearly double the target price, but worth the functionally, if only it worked properly.

Understanding that after two years of searching for an ideal solution, the potential of this product was appealing.

Frustration was mounting as there were long waits between new firmware revisions that only addressed a fraction of the problems. Thinking that the changes to the terminal source code may be trivial, the manufacturer denied a request to allow BHS to access to the source code. Offering to return the fixes and modifications to the manufacturer for resale was not enough to convince them.

A money back guarantee agreement with the manufacturer was entered into stating that "if BHS was not satisfied by January 1999 the terminals could be returned for a full refund".

Reluctantly, 10 terminals were purchased and deployed.

During the period from November 1998 through February 1999, one firmware upgrade was made available which addressed a couple of the dozen or more problems.

This ideal solution was becoming ugly:

Frustration was mounting at this point!

The Fifth and Final Solution: (Time for creativity)

After having attended a couple of Linux shows, Linux Expo and Atlanta Linux Showcase, and hearing Eric Raymond and Richard Stallman speak about the virtues of Open Source and Free Software, the idea that Linux community could provide a solution was the next place to look.

Thinking about the requirements:

How could Linux solve this problem?

A 5250 terminal emulator that could run on Linux was first investigated. Following a search of the Internet, Michael Madore was leading an Open Source GNU project for the development of a 5250 terminal emulator that runs on Linux, called TN5250. Perfect! The SCO Progress application runs well in xterm on Linux! Excellent.

Two projects began concurrently, Ron Colcernian went to work on validating the 5250 terminal emulator. Jim McQuillan investigated the different configurations of Linux with the goal of delivering a Linux solution at the $500 price point. Additionally, Jim's objective was to deliver as maintenance free a solution as possible.

TN5250 Excitement Builds

After downloading and compiling TN5250: the first test was disappointing a core dump occurred before the first menu displayed. Field Exit (a critically important feature of 5250 terminals) had not been implemented. This terminal emulator was not ready for production. Over the next three weeks Ron fixed the bugs in TN5250, wrote the Field Exit code, and tested with several users. Ron was convinced that TN5250 could be repaired and made to work in production.

The 5250 emulation requirement was satisfied.

The Hardware and Linux Operating System

Jim was beginning to think about building PC's running Linux. The next question: how to quickly build many systems? Could a disk duplicator be used to build a master system and then clone the hard disks quickly? From there, consideration was given to burning a CD-ROM with the entire configuration. Then the ultimate, what about booting the OS from the network? Many network cards have sockets for bootroms. Having no experience in actually using a bootrom, the search continued for answers.

A place to buy a network card and bootroms pre-configured was not found!

A quick search of Deja NeWS turned up several references to two packages. One was called Netboot, the other was Etherboot. These were projects that created images that could be burned onto an eprom. These images contained the network card driver, a TCP/IP stack, a bootp client and a tftp client. All fitting on a 16k eprom. Additional searching found a HOWTO on setting up a diskless workstation from sunsite.unc.edu (now called metalab.unc.edu). Etherboot package was chosen, primarily because it seemed easier, yet it offered everything needed.

The Etherboot package offered the ability to put the eprom image onto a floppy disk for testing purposes. This made it very easy to test the setup. Following the Etherboot instructions and the HOWTO, a Linux kernel was built, and a NFS filesystem was configured on the server. A workstation was built from a bunch of used equipment. It was a 486/33 with 16mb of ram and an NE2000 compatible network card. With the boot image on the floppy the workstation was turned on. After it passed the self test, it began running the boot code from the floppy, searching the network for a bootp server. This was encouraging. Once the server was configured to respond to the bootp requests the workstation was turned on again, and it obtained it's IP address from the server, and began loading the kernel from the server. Several seconds later, a login prompt appeared on the workstation.

It worked!

With some additional work, X-Windows was working on the workstation. This would provide the ability to run multiple sessions and provide an environment for future abilities, such as web browsing and email, and eventually office productivity tools.

Searching the Internet for an eprom programmer resulted in a couple of choices. The technology had come together, and shortly NIC's with a bootrom on a diskless workstation were booting X-windows running the AS/400 5250 emulator and Unix telnet clients.

The customer agreed to a single workstation test, after a bit of convincing. Following a couple days of testing, a few 5250 problems turned up, but these problems were overcome given that the source code was available. The pilot project was considered a success. Deciding it was time to invoke the guarantee to return the TCP/IP terminals, they were replaced with diskless Linux workstations.

Knowing that 486 CPU's would be fast enough but unavailable, 166mhz Pentium chips with 32mb of ram in a mini tower case were chosen. A local computer store built 11 workstations, and deployment began. There was alot of empty space inside the workstations, but the price point was perfect, under $500, including a decent monitor and mouse.

The 486 workstation was converted to a server and 11 new pentium workstations were connected. The customer was very happy because it worked. After a couple of months, another 15 workstations were added and the server was upgraded to a Pentium-II running RedHat 6.0. BHS has since then added more workstations, they are now running 37 workstations and have ordered 30 more.

The Benefits to BHS.

BHS has derived significant benefits from this solution:

BHS, is thrilled with this solution.

What happened next is even more interesting!

In April of 1999, a presentation to the Michigan Unix User group was attended by several people interested in the success story. Dan Irvin of Linux System Labs, having attended the presentation offered to sell the bootable network cards and diskless Linux workstations from the LSL web site (http://www.lsl.com). Surprised at Dan's reaction, the thought of reselling network boards was appealing, given the effort that was required to bring this technology together.

Also, Jay Wren, Systems Programmer and Chris Sellers, Scientific Programmer Analyst from Oakland University in Rochester Hills, MI were there, and they expressed interest in the same technology.

Clearly the idea of a commercial opportunity was very appealing and a plan was developed, with the understanding that contributing back to the Linux community was an equally important part of the business plan.

For others to take advantage of the technology, configuration tools would be required that did not exist. Setting up diskless workstations required a great deal of knowledge in Linux/Unix system administration in order to get the whole thing working. The Etherboot package was complete in that it provided the image for the eprom, but the server side of the equation was just too cumbersome for an average sysadmin to setup.

A kernel and a configuration script was developed and offered for download from http://www.DisklessWorkstations.com, several hundred downloads have since occurred.

GPL'ing all of the software that was developed was only part of a plan that was evolving. It was clear that the maturation of Diskless Workstation technology would culminate in an Open Source project titled the 'Linux Terminal Server Project' at www.ltsp.org.

A new division of the company was formed as a commercial outlet http://www.DisklessWorkstations.com. For those that want to utilize the technology of a diskless linux workstation, but don't have the ability or the desire to build their own hardware, or burn their own eproms. DisklessWorkstations.com can provide everything needed from products to support.

Diskless Workstation products may be purchased from: DisklessWorkstations.Com

Having solved this problem at BHS, the credit belongs to many people who's names are not mentioned in this document. The developers of Linux, The X Window System, Etherboot and the thousands of lines of code that glue this technology together are the people who we are gratefully indebted.

Thank you Linux community.


Who are we | The Story | Documentation | Download
Mailing lists | License | Trademarks, Copyrights & Credits | Home

© 2004, James McQuillan, All rights reserved.   webmaster@ltsp.org