Developing New Applications Checklist

Understanding and Deploying LDAP Directory Services > 14. Analyzing and Reducing Costs > Ongoing Costs of Providing Your Directory Service

<  BACK CONTINUE  >
153021169001182127177100019128036004029190136140232051053054012007226069003246240012022

Ongoing Costs of Providing Your Directory Service

As soon asthe directory service is in production, there are costs associated with maintaining the directory server hardware and software and the directory data. There are also costs associated with supporting end users and scaling the service to meet the needs of a growing company that is developing and deploying new directory-enabled applications.

Software Upgrade Costs

When your directory service is in production, you may need to invest in software upgrades from time to time. Upgrades may be needed for the following software packages:

  • Operating system software upgrades.   As new versions of operating system software become available, you may find it desirable to upgrade in order to obtain benefits such as increased performance or the ability to address larger amounts of memory or disk space. You may also need to upgrade your operating system when you upgrade your directory server software to take advantage of additional functionality.

  • Directory server software upgrades.   Upgrades of directory server software that add additional features, provide better performance, or fix bugs will become available.

  • Directory-enabled application and client software upgrades.   Directory-enabled applications (such as electronicmail server software and groupware applications) and end user client applications may need to be upgraded from time to time. New versions of these applications may require that you also upgrade your directory server software to enable new features.

  • Other software upgrades.   Other software used in support of your directory service may need to be upgraded during your directory's life cycle. Such software might include network management software and metadirectory software.

Reducing Software Upgrade Costs

To reduce software upgrade costs, you can use two techniques: negotiating the best price for the upgrade and deploying the upgrade efficiently .

When negotiating a price for the software upgrades, the same principles apply as whenyou make your initial software purchase. Volume discounts may be offered , so it is wise to purchase all your upgrades at once or negotiate an arrangement in which you commit to a certain number of upgrades over a set period of time. In some cases, your company may already have site licenses or support contracts in place that either cover the software you need or can be modified to include it at a nominal cost.

The second way to reduce costs is to deploy your upgrade in the most efficient manner. For example, if you need to deploy a new directory-enabled client application to all your users, there are approaches you can use to minimize the amount of staff time required. You might produce a self-extracting archive that users can install themselves (many software vendors distribute their applications in this manner anyway), or you can makeuse of one of the Enterprise Management packages (Tivoli, for example) to automate the distribution and installation of software packages on end user computers.

Of course, for certain types of software, such as server software, the number of places you need to install the upgrades is small, perhaps only a few servers. In that case, there isn't much efficiency to be gained by streamlining the installation process. In the case of server software, however, you can reduce overall costs to the organization by performing the upgrade in a way that provides the least disruption to end users and business processes. For example, you might schedule the upgrade during off hours when users will not be inconvenienced by unavailability of the directory. Be aware of any automated data maintenance processes that might also be scheduled during off hours, and be certain that these processes can either tolerate a temporary directory outage or be rescheduled to occur after the upgrade is complete.

Hardware Upgrade and Replacement Costs

As the demandsin your directory increase, you may find it necessary to add additional capacity to existing servers or replace them entirely. The types of upgrade or replacement costs you may incur include the following:

  • Additional memory for servers.   As the number of concurrent client connections to your directory server increases , you may need to add more memory to your servers to maintain performance. When upgrading servers, keep in mind the number of available sockets for memory expansion. For example, suppose your server has four memory module sockets available. Completely populating all four slots with lower-capacity memory modules means that you will need to remove some of them later should you need to add even more memory.

  • Additional disk space for servers.   If the amount of directory data you need to store increases, you may need to purchaseand install additional disk capacity for your servers. This might occur when the number of directory entries increases or if you need to maintain additional attribute indexes. Additionally, if you add more memory to your system, you may need to increase the amount of disk space used for virtual memory paging.

  • Other server upgrade costs.   You may choose to upgrade your servers by adding additional CPUs or switching to faster processors. You may also add more I/O capacity as the demands on your directory increase.

  • Replacement costs for servers.   As newer , faster hardware becomes available, you may decide to replace, rather than upgrade, your server hardware when you need additional capacity. In some cases, you may be able to reuse peripherals such as disk drives on the new servers. In other cases, you may want to replace the peripherals as well.

  • Costs for additional network capacity.   As the usage of your directory increases, you will probably find that you need to upgrade your network hardware at some point. For example, you may need to move from nonswitched Ethernet hubs to switched Ethernet, or you may need to provide an additional network segment and router port to handle the increased network traffic created by your service.

  • Upgrade and replacement planning costs.   When you upgrade or replace server equipment, proper planning is required. Be sure to take the costs of this planning into account.

Reducing Hardware Upgrade and Replacement Costs

Just like negotiating a good initial price for your server hardware, you should try to negotiate the best price for your upgrades and replacements . You can also reduce costs when replacing your servers by reusing peripherals. For example, if your old servers use SCSI disk drives, purchasing new servers that also use SCSI disks will allow you to reuse the original disks on your new servers. Of course, you may want to purchase faster disks if performance is a concern. Similarly, using a new server that can accommodate the same memory expansion modules allows the reuse of memory from the old servers ”as long as the memory is fast enough for the new hardware.

If you've purchased server hardware that can be upgraded, it may be significantly cheaper to add CPUs to an existing server than to add and manage a second server. Of course, this approach makes sense only if your directory service has become CPU-bound. If your server is I/O-bound, adding another CPU won't be much help.

Costs for hardware can be amortized over the lifetime of the equipment so that the entire cost of new hardware or upgrades need not all be paid for in a single fiscal year. The same principle can also be applied to software purchases and upgrades.

Monitoring Costs

Proper monitoring of yourdirectory service involves the upkeep of your monitoring tools as well as the ongoing staff costs involved when responding to directory problems. The following are some of the monitoring costs you may incur:

  • Pager and cell phone fees.   If you have on-call staff, you probably equip them with pagers or cellular telephones so that they can be contacted in the event of a problem. There are initial purchase costs and monthly charges that must be taken into account.

  • On-call pay.   If your maintenance staff is on-call and must be available to address problems, you will incur additional salary costs.

  • Costs associated with refinement and maintenance of monitoring software.   As your directory service evolves and new servers are deployed, you will need to incorporate monitoring of those servers into your existing monitoring system.

Reducing Monitoring Costs

To reduce monitoring costs, leverage any existing network management infrastructure that might be present in your organization. For example, instead of designing your own directory monitoring system that runs in parallel with an existing monitoring system, integrate your monitoring with the existing NMS. This not only allows you to avoid reinventing the wheel, but it also provides a central focus point where your users and maintenance staff can go to learn about all system failures.

Data Maintenance Costs

Maintainingthe data in your directory, which is discussed in Chapter 17, "Maintaining Data," is one of the most important ongoing activities you will perform. Good maintenance of your directory ensures the quality of the data, which in turn improves the usefulness of your service. Following are some of the data maintenance costs you may incur:

  • Personnel costs.   Your data update process may involve manual tasks . For example, you may have a process that requiresa computer operator to retrieve a tape containing a dump of personnel data from an administrative mainframe computer, run the data through some sort of transformation, and load the data into the directory. Even if most routine tasks are automated, it's still necessary to periodicallyreview the log files produced by these tasks to ensure that they are functioning properly.

  • Fees levied by data owners .   If your organization is arranged into separate cost centers, the other parts of your organization may charge you for obtaining their data. For example, a human resources division with its own IT staff may charge a fee to extract the data you need to update your directory.

  • Costs of ongoing development data maintenance tools and procedures.   When external data sources change in some way, perhaps movingfrom mainframe-based databases to a relational database running on a UNIX server, you may need to change your data import tools and procedures at the same time.

  • Metadirectory maintenance.   If you use a metadirectory to synchronize a number of external directories, you will need to spend time maintaining it and its relationships with the foreign directories. Metadirectories are discussed further in Chapter 22, "Directory Coexistence."

Reducing Data Maintenance Costs

To the greatest extent possible, automate your data management systems. The actual way you accomplish this will vary depending on how your data is managed. This section presents a few ideas.

If your directory is routinely updated from some central source, such as a human resources database, automate the update process as much as you can. By using automatically scheduled processes to perform the update, you free up staff to concentrate on more useful tasks. Be certain, however, that the update process provides useful diagnostics when problems are encountered and that someone periodically reviews the diagnostic output. For more information on updating directory data from external sources, see Chapter 6, "Data Design," and Chapters 17and Chapters 22.

It's quite likely that your external data sources are themselves undergoing development and modernization; you should be prepared to deal with such changes. Whenever possible, make data transformation tools flexible. For example, suppose that you need to develop a tool that transforms a table of ASCII data into an LDIF file for import into the directory. If you can make the mapping from column locations to attribute types table-driven, you can accommodate changes in the width of the columns by simply updating a table instead of changing the program code.

Whenever possible and desirable, delegate responsibilities for updating data to departmental administrators or even end users. Of course, this is possible and desirable for only certain attributes, but it may make sense to make those groups responsible for some data updates. This distributes responsibility for data managementacross the organization and reduces administrative burden . It also improves the quality of the information in the directory by improving its timeliness.

If you do allow departmental administrators or end users to modify certain attributes, be sure to deploy easy-to-use tools for this task. For example, suppose you have a Web-based application that allows users to change their own entries; such an application could perform validation of the values the users enter and reject invalid data with a helpful message that describes the appropriate format for the data.

Backup and Restore Costs

Keeping your data backed up, as discussed in Chapter 16, " Backups and Disaster Recovery," is an extremely important activity. Safeguarding your mission-critical data involves the following costs:

  • Personnel costs.   You will incur some staff costs associated with performing regular backups. Loading and unloading backup media and performing backup and restore operations are some of the tasks involved.

  • Backup media costs.   You need to have a sufficient supply of blank backup media to accommodate your backup strategy. Also be certain to plan for the retirement of older backup media to prevent failing media from endangering the integrity of your backups.

  • Transportation and offsite storage costs.   A robust backup strategy involves transporting the backup media to an offsite location to prevent its destruction in the event of a disaster. You may incur expenses for shipping the backup media to the remote location and for leasing the storage space.

Reducing Backup and Restore Costs

One obvious way to reduce backup and restore costs is to use an existing backup system if one is already in place. For example, if all your servers are backed up across the network to a central tape drive, backing up the directory serversto this system will be cheaper than deploying a new backup system. The rest of this section, however, assumes that you have decided to purchase and deploy a backup system instead of using an existing system.

When comparing expenses for various backup solutions, consider the cost of the hardware and the cost per byte of the media. In some cases, a backup device that costs more may actually be less expensive to operate over the long term because it is able to store more data on each individual piece of backup media.

Backups protect you against catastrophic data loss. They also can be used to allow end users to recoverfrom incorrect changes made to their own directory entries. However, performing restore operations for end users can be extremely time-consuming and expensive; most backup software doesnot even provide access to individual entries in a backed-up directory. Usually, the entire directory must be restored to some other location and the required entries extracted. In general, you should avoid setting expectations that backups are to be used for anything other than recovery from catastrophic data loss. You might accomplish this by charging a fee to recover data from backup media.

Disaster Recovery Plan Costs

A well-designedand well- tested disaster recovery plan can protect your critical business processes from certain types of disasters, including floods, earthquakes, and fires. Development and execution of a disaster recovery plan are quite expensive; however, compared to the potential catastrophic business losses that could accompany a disaster, the development costs seem much more reasonable. For more information on disaster recovery, see Chapter 16.

Following are some of the costs you may incur for your disaster recovery plan:

  • Periodic disaster recovery (DR) service fees.   If you utilize the services of a disaster recovery vendor to provide a hot or cold backup site, you will pay that vendor on a regular basis.

  • In-house DR costs.   If DR is provided in-house, you will incur costs associated with providing the directory service portion of theentire DR solution, including space rental and backup hardware and software.

  • DR testing.   When your DR plan is deployed, it should be periodically tested. This testing may be rather elaborate because it requires simulating an actual disaster. A significant amount of planning is involved in the development of the DR test plan, and a significant amount of staff time can be spent performing the actual tests.

  • DR review and update.   Periodically, your DR plan should be reviewed and updated to accommodate new applications or changes in the underlying directory service. If new applications have been developed or your directory service has changed in some fundamental way, it may be necessary to redesign your disaster recovery solution.

Reducing Disaster Recovery Plan Costs

It's certainly possibleto design a comprehensive disaster recovery plan that will protect you against most types of disasters and have your business processes back in service very quickly. However, the costs of such a plan may be prohibitive. A cost-effective DR plan takes into account the likelihood of each type of disaster.

For example, you might be deciding where to locate a cold standby location for your major servers. If you are located in an area prone to earthquakes, it probably makes sense to locate the backup site far enough away so that it's unlikely that the primary and backup sites will both beaffected by a single earthquake. On the other hand, if your location is not subject to earthquakes (or other large-scale disasters such as hurricanes), you can save money by locating your backup site relatively close to your primary site. In the event that a disaster doesrender the primary site unusable, it will be less costly to transport your staff to the backup site.

Also consider the acceptable time for putting a backup site into service. Maintaining a hot site certainly offers the quickest turnaround , but is also significantly more costly to maintain and test. If it's acceptable to incur 48 hours of downtime with a cold site versus four hours with a hot site, you can save money by using the cold backup site.

Beyond the disaster plan itself, another way to save money is to weigh the relative costs of contracting with a DR solutions provider versus providing the backup sites yourself. If your organization has only a single location capable of supporting a backup site, it may make more sense to contract with a DR solutions provider. On the other hand, if your organization has several locations with high-speed network connectivity, sufficient power and backup generator capacity, and enough physical space, you may be able to design and deploy your own backup site at a lower cost.

Support and Training Costs

Support and training enable yourand users and directory administrators to more effectively use and maintain the directory. Here is a wide range of options for providing training and support, with associated costs:

  • End user support costs.   Providing support for your end users can be accomplished by maintaining an in-house help desk or contracting with an external support provider. Tasks performed include resetting passwords, software troubleshooting, and other general end user support services.

  • Training for end users.   Training your end users may be accomplished in a number of ways depending on the application you're providing training for. For commercially available applications, you may be able to use vendor-supplied training materials or the services of a third-party training organization. You may find that online tutorials are available or that you can send your end users to training classes and seminars. For applications developed in-house, you need to develop your owntraining materials. These can take the form of seminars , brown-bag sessions, online tutorials, or printed training materials.

  • Training for support staff.   Your support staff will also require training on the various directory technologies used within your organization. The types and sources of training materials are generally the same as for end user training. Unlike end users, however, your support staff will require deeper knowledge and easy access to reference materials such as operations manuals and troubleshooting guides. For applications developed in-house, your application developers may be available to develop a training course for the administrators and help-desk personnel who will support the application.

  • Training for developers.   If you plan to develop directory-enabled applications in-house, you may need to provide training for your developers, especially if LDAP and directory technologies are new to your organization. Developer training resources might include seminars, conferences, and reference documentation.

Reducing Support and Training Costs

Whether your organization provides an in-house help desk or contracts with an external provider of support servers, providing your end users with better information can significantly reduce the number of support calls. Here are some suggestions for accomplishing this:

  • Directory-enabled applications should provide clear and helpful error messages when a directory problem is encountered. These messages should state succinctly what the problem is and what the user should do about it. For example, it's better to provide the message "The directory is temporarily unavailable. Try again in a few minutes. If the problem persists, contact 555-HELP" instead of a cryptic message such as "LDAP_SERVER_DOWN."

  • Use your intranet to deliver help documents to end users, and advertise their location. If your users know that there is a high-quality collection of help documents online that often answer their questions, you can head off a large number of support calls.

  • Useyour intranet and your telephone system to deliver status information about your service to your end users. For example, if your directory service is temporarily unavailable, providing this information on a central status page and via a recorded telephone message might reduce the number of calls received by your support desk.

  • Providing convenient training for your users can reduce the number of support calls. Seminars and online tutorials are excellent ways to improve end user knowledge.

  • Provide good reference material (such as this book) to your directory developers and deployers .

Software Support Contracts and Hardware Maintenance Contracts

Keeping your directory system running smoothly is much easier if all your hardware is functioning correctly and your software is up-to-date. The types of support and maintenance contracts you might purchase include the following:

  • Software support contracts.   Some of the software packages you use to provide your directory service may offer (or require) an annual maintenance fee, which entitles you to bug fixes and support. For example, some operating system vendors offer an online database of patches available only to customers who purchase a support contract.

  • Hardware support/maintenance contracts.   You might choose to purchase a maintenance contract for your server hardware that covers the cost of repairing any failed hardware. These maintenance contracts provide widely varying turnaround times and costs. The advantage of maintenance agreements is that their costs are fixed and can be more easily included in a budget.

  • Self- servicing costs.   An alternative to purchasing a maintenance agreement is to provide your own in-house service. This approach requires that you have adequate knowledge in-house to perform hardware failure diagnosis, and it requires that you have a supply of spare parts for all your servers. It also requires that you have an arrangement with a supplier who will exchange failed modules for new or refurbished modules (for a fee, of course). If you have a heterogeneous computing environment, consider a vendor who can stock parts for a wide range of computing systems.

Reducing Support Contracts and Maintenance Costs

Hardware maintenance contracts vary widely in terms of turnaround time. If you have sufficient extra capacity in your directory service (perhaps you've deployed a number of replicas and have spare capacity) you may be able to tolerate a longer turnaround time for repair or even use a depot service arrangement.

If your organization is very large, it may make sense to provide your own in-house service as just described. If you have sufficient knowledge in-house to consider this option, you may find that it is significantly less expensive than purchasing a service agreement.

Finally, as with the other major purchases you make to deploy your directory service, purchasing support and maintenance agreements in larger quantities may offer some benefits when negotiating prices.

Costs of Adding New Directory-Enabled Applications

If your directory service is successful, it will be widely used by your employees ”and possibly by external users, if deployed in an extranet environment. Planning to accommodate new directory-enabled applications and additional load is vital to your directory's continued success. Understanding the costs of these enhancements, which are described in the following list, is therefore also necessary:

  • Additional systemwide capacity for new directory-enabled applications.   Each new directory-enabled application deployed may make additional demands on your directory. For example, if you deploy an extranet application to your distributors, you might use the directory to control access to the application. This means that your directory must be prepared to accommodate directory entries for all the users at your distributors who will use the application. Any type of new application may also place a significant load on the directory. You might choose to deploy a dedicated replica of your directory data for the exclusive use of that application.

  • Development costs for new applications.   Developing a new directory-enabled application has a set of costs associated with it.

  • Deployment costs for new applications.   Putting new applications intoproduction involves piloting the application, developing and distributing documentation, and rolling out the application for general use.

  • Costs associated with planning for expansion.   In addition to the actual costs of capacity expansion, there are costs that revolve around planning for the expansion. These are typically staff costs that involve the process of understanding and planning for the additional capacity needed for new applications.

More information on directory-enabled applications is available in Chapters 20 and Chapters 21.

Reducing Costs of Adding New Directory-Enabled Applications

When adding additional capacity to your directory service, use the same techniques you used to obtain the best price for your original hardware. Also, be sure to purchase appropriate hardware for continued growth. For example, if you know that in the future you will need 100Mbps networking to your servers to handle your directory traffic, don't make a large investment in 10Mbps technology that will have to be replaced .

Ongoing costs of application development can be reduced by using sound software engineering techniques. Try to develop reusable components that can be shared by your developers. For example, you might be able to avoid reinventing the wheel by developing or purchasing a utility library that contains code common to all directory-enabled applications. This library can be distributed in binary form and linked with new applications. If bugs are found in the library, they can be fixed by the library maintainer, and a new library can be distributed to the application developers.



Understanding and Deploying LDAP Directory Services,  2002 New Riders Publishing
<  BACK CONTINUE  >

Index terms contained in this section

amortizing
          hardware upgrade costs
applications
         adding new
                    ongoing costs 2nd 3rd 4th 5th
         software
                    upgrades
backups
          ongoing costs 2nd
                    media costs
                    personnel costs
                    reducing 2nd
                    transportation offsite storage
capacities
         network
                    costs
cell phone fees
          monitoring costs
clients
         software
                    upgrades
costs
          monitoring 2nd
                    on-call pay
                    pager and cell phone fees
                    reducing
                    software maintenance
          ongoing
                    adding new applications 2nd 3rd 4th 5th
                    application upgrades
                    backups 2nd 3rd 4th
                    client software upgrades
                    data maintenance 2nd 3rd 4th 5th 6th
                    disaster recovery plans 2nd 3rd 4th 5th 6th 7th 8th
                    hardware 2nd 3rd
                    hardware maintenance contracts 2nd 3rd 4th
                    operating system upgrades
                    reducing
                    server software upgrades
                    software 2nd 3rd 4th 5th 6th
                    software support contracts 2nd 3rd 4th
                    support and training 2nd 3rd 4th 5th
data
         maintenance
                    ongoing costs 2nd 3rd 4th 5th 6th
development
         costs
                    developer training
         data maintenance tools
                    costs
directories
         costs
                    monitoring 2nd 3rd 4th 5th 6th
                    ongoing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd 33rd 34th 35th 36th 37th 38th 39th 40th 41st 42nd 43rd 44th 45th 46th 47th
disaster recovery plans
          ongoing costs 2nd 3rd 4th
                    in-house costs
                    periodic disaster recovery service fees
                    reducing 2nd 3rd 4th
                    testing
disk space
         server
                    cost
fees
          levied by data owners
hardware
          ongoing costs
                    additional network capacity
                    disk space for servers
                    maintenance contracts 2nd 3rd 4th
                    memory for servers
                    reducing 2nd
                    server replacement
         upgrades
                    amortizing costs
in-house disaster recovery costs
maintenance
         data
                    costs 2nd 3rd 4th 5th 6th
memory
         server
                    costs
metadirectories
          maintenance costs
monitoring
          costs 2nd
                    on-call pay
                    pager and cell phone fees
                    reducing
                    software maintenance
negotiating
         prices
                    hardware upgrades
         software costs
                    upgrades
networks
         capacity increases
                    costs
on-call pay
          monitoring costs
ongoing costs
          adding new applications 2nd 3rd
                    reducing 2nd
          application upgrades
          backups 2nd
                    media costs
                    personnel costs
                    reducing 2nd
                    transportation and offsite storage
          client software upgrades
          data maintenance 2nd 3rd
                    development tools
                    fees levied by data owners
                    metadirectories
                    personnel costs
                    reducing 2nd 3rd
          disaster recovery plans 2nd 3rd 4th
                    in-house costs
                    periodic disaster recovery service fees
                    reducing 2nd 3rd 4th
                    testing
          hardware
                    additional network capacity
                    disk space for servers
                    memory for servers
                    reducing 2nd
                    server replacement
          hardware maintenance contracts 2nd
                    reducing costs 2nd
          operating system upgrades
          reducing
          server software upgrades
          software 2nd 3rd
                    reducing 2nd 3rd
          software support contracts 2nd
                    reducing costs 2nd
          support and training 2nd 3rd
                    developer training
                    end users
                    reducing 2nd
owners
         data
                    fees levied by
pager fees
          monitoring costs
personnel
          costs
                    backups
prices
         negotiating
                    hardware upgrades
reducing
          data maintenance costs 2nd 3rd
          hardware upgrade costs 2nd
          monitoring costs
          ongoing costs
                    adding new applications 2nd
                    backups 2nd
                    disaster recovery 2nd 3rd 4th
                    support and training 2nd
                    support contract costs 2nd
          ongoing software costs 2nd 3rd
                    negotiating prices
replacement costs
          servers
restorations
          ongoing costs 2nd
                    media costs
                    personnel costs
                    reducing 2nd
                    transportation and offsite storage
servers
         memory for
                    costs
          replacement costs
         software
                    upgrades
software
         applications
                    upgrades
         client
                    upgrades
         maintenance
                    monitoring costs
          ongoing costs 2nd 3rd
                    reducing 2nd 3rd
                    support contracts 2nd 3rd 4th
         operating system
                    upgrades
         server
                    upgrades
storage
         disk space
                    for servers
support
          ongoing costs 2nd 3rd
                    end users
                    reducing 2nd
                    software contracts 2nd 3rd 4th
testing
          disaster recovery
training
          ongoing costs 2nd 3rd
                    developer training
                    end users
                    reducing 2nd
upgrades
         hardware
                    costs 2nd 3rd
          negotiating costs
         ongoing costs
                    applications
                    client software
                    operating system
                    server software
users
          support costs
          training costs

2002, O'Reilly & Associates, Inc.



Understanding and Deploying LDAP Directory Services
Understanding and Deploying LDAP Directory Services (2nd Edition)
ISBN: 0672323168
EAN: 2147483647
Year: 1997
Pages: 245

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net