History of the Computer: Real-time Systems, Part 2 of 2

The computer is used to maintain the stock of parts at the lowest possible level, and to do this is able to alert suppliers, or repair shops on the base, when a replacement part is required.

For example a technician needs to replace a malfunctioning radio transmitter. He removes the faulty unit, and replaces it with a spare unit off the shelf. On the computer terminal in the maintenance office he reports the usage of the part.

At the computer, the database of parts is accessed, a count of one is deducted from the stock at the maintenance office, an order to the warehouse is sent to supply a replacement part, a count of one is noted as being in transit from the warehouse. Shipping documents, which could be a multi-part form or just a barcode are printed out. The barcode will be scanned later to confirm transfer of inventory.

If the stock held at the warehouse is at a preset minimum level, a request is sent to the repair shop, for a replacement. If the repair shop inventory, also on the database, shows no spares available, an order is placed to the external supplier, probably by data link, but in some cases by printing out an order.

The technician reporting the usage gets an updated report showing his stock status as being one short, and one on the way. His printer prints out a fault report for him to attach to the faulty part, and a shipping barcode to send with it to the repair shop.

All this has taken possibly 10 seconds, from the time the technician transmitted the usage report to the time he received notification of the new part being delivered, and his printer printing out the shipping forms.

During the time the computer is accessing the disk holding the database, other transactions are 'locked out' so that up to date data is available for the next transaction. For example the repair shop could be checking status on the same part.

The key factor in the real-time system is that a database is updated as it happens, so that at all times it reflects the actual status of whatever we are controlling.

A classic example would be another section of the airline, flight reservations. A customer might be wanting to fly overseas at the weekend, and needs to make a reservation. He checks out the airline website for flights on Friday, Saturday and Sunday. He is given a list of possible flights with seats available, and the cost of a ticket in economy or business class, and picks one.

The computer, having first presented the up-to-date availability, now makes the reservation, reduces 'seats available, prints out a ticket, and/or a boarding pass at the reservations desk at the airport (The boarding pass will later be passed through a barcode reader to inform the computer checking the passengers onto the aircraft). Once again this transaction would temporarily lock out any other, in case they also needed the same seat.

At a busy airline hundreds of these transactions are happening at any one time, and the system must be continually upgraded to cope. You may be able to think of other time critical applications. The key factor is that all data always reflects the current status - in real time.

Real time systems have been around since the 1960s Many developments have taken place in this field. These include audit trail techniques, and rapid access disks with redundancy, talked about elsewhere. Software to handle the database transactions has also seen big improvements.

Tony is an experienced computer engineer. He is currently webmaster and contributor to http://www.what-why-wisdom.com A set of diagrams accompanying these articles may be seen at http://www.what-why-wisdom.com/history-of-the-computer-0.html RSS feed also available - use http://www.what-why-wisdom.com/Educational.xml