TestDrive Road Report
Allegro Consultants, Inc.
2101 Woodside Road
Redwood City, CA 94062
HourGlass 2000 is a software utility that lets you run any job or program as if the system clock were set to any MPE-supported date and time (both past and present) without affecting any other jobs or programs on your system. HourGlass 2000 does not alter the hardware system clock and does not require any programming changes or system downtime to install.
HourGlass 2000 for the HP3000 runs on all HP3000 Series 900s, MPE/iX 5.0 or later. HourGlass 2000 is priced one-size-fits-all at $US 5,900 for the first CPU with discounts on additional CPUs. Purchase includes the first year of maintenance. Annual prepaid maintenance after the 1st year is 15 percent of the purchase price. A trial version is available for downloading at Allegro's Web site.
Review by John Burke
Geesh, just when I thought it was safe to venture out, another Year 2000 tool! But seriously folks, HourGlass 2000, from Allegro Consultants, is more than just a Year 2000 tool. It can be an integral part of any software development and testing program -- and part of operations. With HourGlass 2000, you can run any job or program as if the system clock were set to any MPE-supported date and time (both past and present) without affecting any other jobs or programs on your system. HourGlass 2000 does not alter the hardware system clock and does not require any programming changes or system downtime to install.
HourGlass 2000 is the HP 3000 implementation of Mainware, Inc.'s HourGlass 2000 product for IBM's MVS. It is not a port, but was developed completely from scratch for the HP 3000 by Allegro Consultants. It shares only the name and functionality of Mainware's product.
HourGlass 2000 competes in the MPE market with Time Machine (see our Test Drive in the September issue). The products have similar functionality but do differ in several key areas as noted below.
What can it do?
HourGlass 2000 can be used in any Year 2000 Compliance project to create a test bed environment for in-house and third-party software: set the virtual date/time to 12/31/1999 or 1/1/2000 and watch the results. HourGlass 2000 can:
Identify the date/time intrinsics called by any program;
Test general date handling of in-house and third-party software;
Rerun week-, month- or year-end procedures after the fact with the correct date;
Test modified week-, month- and year-end procedures in advance; and
Run non-Year 2000 compliant software after 1/1/2000.
How does it work?
Once started, HourGlass 2000 will intercept all system date and time calls from all processes until explicitly stopped or until the system is rebooted. However, it does not alter any dates or times unless told to by the HGDATE command or the HGCONFIG.PUB.SYS configuration file (see the figures for the format of the configuration file and examples of HourGlass 2000 at work).
The virtual date and time is only visible to the process (which includes the CI) that activates HourGlass 2000 (either by command or automatically via the configuration file) and all its descendant child processes, whether in a job or session. Thus different programs or even different instances of the same program can be set up to see different virtual time. Note that a STREAM'd job is not a child process, but a separate entity to which the rules in the configuration file will be applied without regard to the STREAMing entity.
HourGlass 2000 provides the following four methods for date/time calculation:
Relative constant: start at a given date/time and advance with the
Absolute constant: always return the same date/time;
Delta: add/subtract a given delta time from either the real date/time or the current altered date/time and advance with the system clock;
Original: "real" time. Cancel a prior HGDATE command or exempt a session/program from date/time alteration.
When a process is created, HourGlass 2000 uses the following decision
determine how to handle calls to date/time intrinsics:
Search the configuration file for the first "ALWAYS" rule that matches the process. If you find none, then
Search for an HGDATE command in effect for the job/session within which the process was created. If none, then
Search the configuration file for the first non-"ALWAYS" rule that matches the process. If none, then
Use the "real" date/time.
HourGlass 2000's logging facility gives you the ability to determine which jobs, sessions and programs call standard system date intrinsics. Under administrator control, a record can be written to the log file for each intrinsic call or a single summary record can be written at process termination time. You can disable the date-altering functions but still maintain logging if desired for program auditing purposes.
A neat feature of HourGlass 2000 is a CGI-bin program that can be used to display the HourGlass 2000 status and accumulated statistics. You must run a Web server on your HP 3000 (Shown are examples using Apache/iX).
Installation and documentation
HourGlass 2000 can either be downloaded from Allegro's Web site or loaded from tape. Installation of HourGlass 2000 does not require any system downtime and usage does not require any code modifications.
Allegro provides two ways to download HourGlass 2000 from its Web site. The "easy way" requires only that you have some way (FTP, Reflection, WS92) to upload a file from your PC to the target HP 3000. The "other way" requires Telamon's LZW program. The "easy way" is neat in its use of uuencode/uudecode and tobyte/frombyte and the fact that it is self-contained. The downside is the size of the 1.4 Mb file you have to download. The "other way" requires a download only about half the size. So, if you have a relatively slow Internet connection, you might want to use the "other way." I tried both,and both approaches worked without any problem.
If your HP 3000 is connected to the Internet, you can automatically validate your trial version. I was not able to test this, but it is a cool idea anyway. If your HP 3000 is not connected to the Internet, you need only e-mail your HPSUSAN and Allegro will e mail you back an authorization code good for one week. One minor nitpick: my authorization code was 70 characters long including spaces! For those of us who are keyboard challenged, this can be an Everest to climb. Fortunately, I could use cut and paste. But the question remains, why 70 characters?
The documentation is complete and includes many examples. Note: the reference manual can be downloaded from Allegro's Web site for your review prior to downloading a trial version.
HourGlass 2000 and Time Machine (see the Time Machine TestDrive in the September 1997 issue of the NewsWire) differ in two major ways: granularity of system configuration rules and the way dates and file system intrinsics are handled
HourGlass 2000 has a much richer scheme for defining logon time behavior (See the figure for an example of the configuration file). You can literally define it down to: a specific program run by a specific user (sessionname,user.account,group) in session mode on a specific LDEV will see a modified system time and all other activity by that user will see true time. Time Machine will only let you define time behavior by user (sessionname,user.account,group), in a manner similar to a logon UDC, but easier to administrate.
HourGlass 2000 intercepts all date/time requests, including those associated with file create/modify/access. This may be desirable during testing, but could lead to problems later on with, for example, backups and normal processing. Allegro provides a utility program with HourGlass 2000 to find and fix all files on the system with a future date. Time Machine takes a different approach to file dates -- the virtual clock is only visible to user programs and user libraries. All file system timestamps will remain on true time, for example. This makes Time Machine easier to use for time shifting: allowing users to see their local time in screens and reports while still keeping application time synchronized.
Both HourGlass 2000 and Time Machine do what they claim to do very well. If you are comparing the two products for possible purchase, you will have to decide the relative importance of each of these differences and how each would impact your operation.
There has been a need for something like HourGlass 2000 since long before the Year 2000 Problem appeared on IS radar scopes. Rigorous program testing demands such a tool. The inevitable report/process reruns we deal with are made easier with such a tool. Take a look at HourGlass 2000. Its usefulness will long outlast your Year 2000 Compliance projects.