Curriculum Vitae
Richard Golding


Home: 41 Benton Ave.
San Francisco, CA 94112
golding@chrysaetos.org
Work: Kinsey Technical Services, Inc.

Education
1992: University of California, Santa Cruz; PhD in Computer and Information Sciences.
Thesis title: Weak consistency group communication and membership.
Advisor: Darrell D. E. Long.
1991: University of California, Santa Cruz; MS in Computer and Information Sciences.
Thesis title: Accessing replicated data in a large-scale distributed system.
Advisor: Darrell D. E. Long.
1987: Western Washington University; BS in Computer Science (Magna Cum Laude).
1981-83: University of Washington.

Employment History
2010-present: Senior Software Architect, Kinsey Technical Services, Inc
2003-2010: Research Staff Member, IBM Almaden Research Center
2000-01, 2006-present: Research Associate, UC Santa Cruz
2000-03: Software Architect, Panasas Inc.
1998-2000: Project Scientist (TC62), Storage Systems Program, Hewlett-Packard Laboratories.
1994-98: Member of Technical Staff (TC60), Storage Systems Program, Hewlett-Packard Laboratories.
1993: Onderzoeker (Researcher), Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam.
1992: Consultant for Ricoh California Research Center.
1990-91: SEED Program Intern, Concurrent Systems Project, Hewlett-Packard Laboratories.
1989-90: Software Engineer, Crucible, Santa Cruz, CA.
1988-89: Software Engineer, Microsoft Corporation, Redmond, WA.
1987-88: Teaching Assistant, Computer & Information Sciences Board, University of California Santa Cruz.
1984-87: Programmer, Computer Services Division, City of Bellingham, WA.
1983-84: Programmer, Technique Data Systems, Port Angeles, WA.
1982-83: Programmer/Partner, Orion Systems, Seattle, WA.

Honors
2006:IBM Research Invention Achievement Award (Second Plateau)
2005:IBM Storage Technology Council member
2004:IBM Research Invention Achievement Award (First Plateau)
1991-92: Santa Cruz Operation Graduate Fellow.
1987-88: University of California Regents Fellow.
1981-83: Seattle-First Merit Scholar.

Research funding
  1. DARPA. System F6. Phase 1 and Phase 2; as subcontractor to Orbital Sciences Corp.
  2. National Science Foundation. End-to-end performance management for large distributed storage. Award No. CCF-0621534, $956,647, 2006-09. (With Scott A. Brandt and Darrell D. E. Long)

Publications
Refereed journals and conferences:
  1. David M. LoBosco, Glen E. Cameron, Richard A. Golding, and Theodore M. Wong. The Pleiades fractionated space system architecture and the future of national security space. AIAA Space 2008 Conference, Sep. 2008.
  2. Scott Brandt, Anna Povzner, Tim Kaldewey, Carlos Maltzahn, Richard Golding, and Theodore Wong. Efficient guaranteed disk request scheduling with Fahrrad. EuroSys 2008.
  3. Tim Kaldewey, Theodore M. Wong, Richard A. Golding, Anna Povzner, and Scott Brandt. Virtualizing disk performance. IEEE Real-time and Embedded Systems and Applications Symposium (RTAS), 2008.
  4. David O. Bigelow, Suresh Iyer, Tim Kaldewey, Roberto C. Pineiro, Anna Povzner, Scott A. Brandt, Richard A. Golding, Theodore M. Wong, and Carlos Maltzahn. End-to-end performance management for scalable distributed storage. Proc. 2nd Intl. Workshop on Petascale Data Storage, Nov. 2007.
  5. Kristal T. Pollack, Darrell D. E. Long, Richard A. Golding, Ralph A. Becker-Szendy, and Benjamin Reed. Quota enforcement for high-performance distributed storage systems. Proc. 24th IEEE Conf. on Mass Storage Systems and Technologies (MSST), Sep. 2007.
  6. Jun Rao, Bishwaranjan Bhattacharjee, Joseph Glider, Richard Golding, Guy Lohman, Volke Markl, Hamid Pirahesh, Robert Rees, and Garret Swart. Impliance: a next generation information management appliance. Proc. Third Biennial Conf. on Innovative Data Systems Research (CIDR), Jan. 2007.
  7. KK Rao, Jim Hafner, and Richard Golding. Reliability for networked storage nodes. Proc. International Conference on Dependable Systems and Networks (DSN), p. 237-48, June 2006.
  8. Richard A. Golding and Theodore M. Wong. Walking toward moving goalposts: agile management for evolving systems. First Workshop on Hot Topics in Autonomic Computing (HotAC), June 2006.
  9. Theodore M. Wong, Richard A. Golding, Caixue Lin, Ralph A. Becker-Szendy. Zygaria: storage performance as a managed resource. IEEE Real-time and Embedded Systems and Applications Symposium (RTAS), 2006.
  10. W. Wilcke, R. B. Garner, C. Fleiner, R. Golding, J. Glider, D. Kenchammana-Hosekote, M. Mohiuddin, R. Becker-Szendy, T. Wong, O. Zaki, M. Hernandez, K. Fernandez. The IBM intelligent bricks project -- petabytes and beyond. IBM Journal of Research and Development 50(2/3), p. 181, 2006.
  11. Christopher R. Lumb, Richard Golding, and Gregory R. Ganger. DSPTF: Decentralized request distribution in brick-based storage systems. Proc. ASPLOS, October 2004.
  12. Richard Golding and Ohad Rodeh. Group communication -- still complex after all these years. Workshop on large-scale group communication, 5 Oct 2003.
  13. Guillermo Alvarez, Elizabeth Borowsky, Susie Go, Theodore Romer, Ralph Becker-Szendy, Richard Golding, Arif Merchant, Mirjana Spasojevic, Alistair Veitch, and John Wilkes. Minerva: an automated resource provisioning tool for large-scale storage systems. ACM Transactions on Computer Systems 19(4), pp 483-518, 2001.
  14. Khalil Amiri, Garth Gibson, and Richard Golding. Highly concurrent shared storage. International Conference on Distributed Computing Systems, April 2000.
  15. Richard Golding and Liz Borowsky. Fault-tolerant replication management in large-scale distributed storage systems. Symposium on Reliable Distributed Systems, October 1999.
  16. Elizabeth Borowsky, Richard Golding, Patricia Jacobson, Arif Merchant, Louis Schreier, Mirjana Spasojevic and John Wilkes. Capacity planning with phased workloads. First Intl. Workshop on Software and Performance, October 1998.
  17. Richard Golding and John Wilkes. Persistent storage for distributed applications. SIGOPS European Workshop, September 1998.
  18. Elizabeth Borowsky, Richard Golding, Arif Merchant, Louis Schreier, Elizabeth Shriver, Mirjana Spasojevic, and John Wilkes. Using attribute-managed storage to achieve QoS. International Workshop on Quality of Service, 1997.
  19. John Wilkes, Richard Golding, Carl Staelin, and Tim Sullivan. The HP AutoRAID hierarchical storage system. ACM Transactions on Computer Systems, 14(1), February 1996.
  20. John Wilkes, Richard Golding, Carl Staelin, and Tim Sullivan. The HP AutoRAID hierarchical storage system. Proceedings of Symposium on Operating System Principles, Copper Mountain Resort, Colorado, December 1995.
  21. Richard Golding, Elizabeth Shriver, Tim Sullivan, and John Wilkes. Attributed-managed storage. Position paper for the Workshop on Modeling and Specification of I/O, San Antonio, Texas, October 1995.
  22. Darrell Long, Andrew Muir, and Richard Golding. A longitudinal survey of Internet host reliability. 14th Symposium on Reliable Distributed Systems, 1995.
  23. Richard Golding, Peter Bosch, Carl Staelin, Tim Sullivan, and John Wilkes. Idleness is not sloth. Proceedings of the Winter Usenix Conference, New Orleans, Louisiana, January 1995, pp. 201-12.
  24. Richard Golding, Carl Staelin, Tim Sullivan, and John Wilkes. "Tcl cures 98.3% of all known simulation configuration problems" claims astonished researcher! Tcl/Tk Workshop, New Orleans, Louisiana, June 1994, pp. 17-20.
  25. Richard A. Golding, Darrell D. E. Long, and John Wilkes. The refdbms distributed bibliographic database system. Proceedings of the Winter Usenix Conference, San Francisco, California, January 1994, pp. 47-62.
  26. Richard A. Golding and Darrell D. E. Long. Using an object-oriented framework to construct wide-area group communication mechanisms. International Symposium on Applied Computing: Research and Applications in Software Engineering, Databases, and Distributed Systems, 1993.
  27. Richard A. Golding and Darrell D. E. Long. Simulation modeling of weak-consistency protocols. Proceedings of the International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), January 1993, pp. 233-8.
  28. R. Golding. Weak consistency group communication for wide-area systems. Proceedings of the Second Workshop on the Management of Replicated Data, November 1992.
  29. Richard Golding. A weak-consistency architecture for distributed information services. Computing Systems 5(4), Fall 1992, pp. 179-405. Usenix Association.
  30. Richard Golding and Darrell D. E. Long. Quorum-oriented multicast protocols for data replication. Proceedings of the Eighth International Conference on Data Engineering, February 1992.
  31. R. Golding. Using simulation to evaluate communication protocols for replication. Proceedings of the Simulation in Engineering Education Conference, January 1992.
  32. Richard Golding and Darrell D. E. Long. Accessing replicated data in a large-scale distributed system. International Journal in Computer Simulation 1(4), 1991.

Notable technical reports:
  1. Deepak R. Kenchammana-Hosekote, Richard A. Golding, Claudio Fleiner, and Omer A. Zaki. The design and evaluation of network RAID protocols. Research report RJ 10316, IBM Almaden Research Center, 5 March 2004.
  2. Richard Golding. The Palladio access protocol. Technical report HPL-SSP-99-2, Hewlett-Packard Laboratories Storage Systems Program, 1 November 1999.
  3. Richard Golding and Elizabeth Borowsky. The Palladio layout control protocol. Technical report HPL-SSP-99-1, Hewlett-Packard Laboratories Storage Systems Program, 30 August 1999.
  4. Richard Golding. Data extraction and display using Tongs. Technical report HPL-SSP-95-16, Storage Systems Program, Hewlett-Packard Laboratories, 29 December 1995.
  5. Richard Golding. The Raphael threads library. Technical report HPL-SSP-95-17, Storage Systems Program, Hewlett-Packard Laboratories, 29 December 1995.
  6. Richard A. Golding. Weak-consistency group communication and membership. Ph.D. thesis, published as technical report UCSC-CRL-92-52. Computer and Information Sciences Board, University of California, Santa Cruz, December 1992.
  7. Richard A. Golding. Accessing replicated data in a large-scale distributed system. Master's thesis, published as technical report UCSC-CRL-91-18. Computer and Information Sciences Board, University of California, Santa Cruz, June 1991.

Invited talks:
  1. "Building adaptive systems using the Virtual Mission Bus", at the Aerospace Corp. Technical Forum, El Segundo, CA, 16 September 2010.
  2. "Using systems design to facilitate innovation", at the Air Force Innovation Forum, San Jose, CA, 9 September 2008.
  3. "Adaptive distributed computing for fractionated space systems", at DARPA Fractionated Space Workshop, Colorado Springs, CO, 3-4 August 2006.
  4. "Zygaria: storage performance as a managed resource", at CMU System Design and Implementation Series, 25 August 2005.
  5. "The Collective Intelligent Bricks project -- research status", at CMU System Design and Implementation Series, 10 March 2005.
  6. "A survivable, scalable distributed storage system", at IBM Israel Research Seminar series, 6 December 2003.
  7. "Distributed object storage systems", UC Santa Cruz Storage Systems Research Center, 6 May 2003.
  8. "The Palladio Project: a survivable, scalable distributed storage system", at CMU System Design and Implementation Series, 7 November 2002.
  9. "A longitudinal study of Internet host reliability", at the Bay Area Workshop on High Dependability Information Systems, 15 May 1995 at SRI International.
  10. "A unified approach to building wide-area applications", at DEC SRC, Palo Alto, 2 August 1993.
  11. "Building a wide-area information service", at the Workshop on the Computerization of Natural History Collections, Kellogg Biological Station, Michigan, 14 November 1992.
  12. "Group membership and weak-consistency communication", at Apple Advanced Technology Group, 3 April 1992.
  13. "Group membership and epidemic communication", at the 28th Bay Area Systems Seminar, 21 February 1992.

Patents:
  1. U.S. Patent 7,962,563. System and method for managing storage system performance as a resource. Ralph Becker-Szendy, Richard Golding, Caixue Lin, Theodore Wong, Omer Zaki. Assigned to IBM Co. Issued 14 June 2011.
  2. U.S. Patent 7,783,832. System and method for fault tolerant controller for network RAID. Claudio Fleiner, Richard Golding, Deepak Kanchammana-Hosekote, Omer Zaki. Assigned to IBM Co. Issued 24 August 2010.
  3. U.S. Patent 7,694,082. Computer program and method for managing resources in a distributed storage system. Richard Golding, Theodore Wong; Omer Zaki. Assigned to IBM Co. Issued 6 April 2010.
  4. U.S. Patent 7,318,119. System and method for fault tolerant controller for network RAID. Claudio Fleiner, Richard Golding, Deepak Kenchammana-Hosekote, Omer Zaki. Assigned to IBM Co. Issued 8 January 2008.
  5. U.S. Patent 7,290,087 and 7,500,054. Adaptive grouping in Object RAID. Richard Golding. Assigned to IBM Co. Issued 30 October 2007 and 3 March 2009.
  6. U.S. Patent 7,240,155. Decision mechanisms for adapting RAID operation placement. Claudio M. Fleiner, Richard A. Golding, Deepak R. Kenchammana-Hosekote, Omer A. Zaki. Assigned to IBM Co. Issued 3 July 2007.
  7. U.S. Patent 7,100,073. Grouped-object RAID. Richard Golding. Assigned to IBM Co. Issued 29 August 2006.
  8. U.S. Patent 6,718,434. Method and apparatus for assigning RAID levels. Alistair C. Veitch, Eric A. Anderson, Ram Swaminathan, Guillermo Alvarez, Richard Golding, and Ted Romer. Assigned to Hewlett-Packard Co. Issued 6 April 2004.
  9. U.S. Patent 6,606,585. Acceptability testing for capacity planning of data storage system. E. Borowsky, R. Golding, A. Merchant, M. Spasojevic, and J. Wilkes. Assigned to Hewlett-Packard Co. Issued 12 August 2003.
  10. U.S. Patent 6,571,258. Computer data storage system with parallelization migration plan generator. E. Borowsky, R. Golding, D. Narayanan. Assigned to Hewlett-Packard Co. Issued 27 May 2003.
  11. U.S. Patent 6,553,389. Resource availability determination mechanism for distributed data storage system. R. Golding, E. Borowsky. Assigned to Hewlett-Packard Co. Issued 22 April 2003.
  12. U.S. Patent 6,577,617. Method for performing atomic, concurrent read and write operations on multiple storage devices. R. Golding. Assigned to Hewlett-Packard Co. Issued 5 November 2002.
  13. U.S. Patent 6,438,617. Object-oriented communication system with support for multiple remote machine types. S. Savitzky, R. Roth, T. Jeng, P. Hart, R. Golding. Assigned to Ricoh Company, Ltd. Issued 20 Aug 2002.
  14. U.S. Patent 6,430,740. Object-oriented communications framework system with support for multiple remote machine types. P. Hart, T. Jeng, R. Roth, S. Savitzky, R. Golding. Assigned to Ricoh Company, Ltd. Issued 6 Aug 2002.
  15. U.S. Patent 6,381,619. Computer data storage system with migration plan generator. Elizabeth L. Borowsky, Richard A. Golding, Dushyanth Narayanan. Assigned to Hewlett-Packard Co. Issued 30 April 2002.
  16. U.S. Patent 6,321,317. Apparatus for and method of multi-dimensional constraint optimization in storage system configuration. Elizabeth L. Borowsky, Richard A. Golding, Arif Merchant, Elizabeth Shriver, Mirjana Spasojevic, Tim Sullivan, John Wilkes. Assigned to Hewlett-Packard Co. Issued 20 November 2001.
  17. U.S. Patent 6,292,87. Method for providing access protection for SCSI storage devices. Richard A. Golding. Assigned to Hewlett-Packard Co. Issued 18 September 2001.
  18. U.S. Patent 6,260,076. Method of using an object-oriented communication system with support for multiple remote machine types. Stephen R. Savitzky, Rithy K. Roth, Tina L. Jeng, Peter E. Hart, Richard A. Golding. Assigned to Ricoh Company, Ltd. Issued 10 July 2001.
  19. U.S. Patent 6,170,063. Method for performing atomic, concurrent read and write operations on multiple storage devices. Richard A. Golding. Assigned to Hewlett-Packard Co. Issued 2 January 2001.
  20. U.S. Patent 6,128,699. Method for providing read/write access while copying data between shared storage devices. Richard A. Golding. Assigned to Hewlett-Packard Co. Issued 3 October 2000.
  21. U.S. Patent 6,119,174. Methods and apparatus for implementing quality-of-service guarantees in data storage systems. Elizabeth L. Borowsky, Richard A. Golding, Arif A. Merchant, Mirjana Spasojevic, John Wilkes. Assigned to Hewlett-Packard Co. Issued 12 September 2000.
  22. U.S. Patent 5,918,051. Object-oriented communication system with support for multiple remote machine types. Stephen R. Savitzky, Rithy K. Roth, Tina L. Jeng, Peter E. Hart, Richard Golding. Assigned to Ricoh Company, Ltd. Issued 29 June 1999.
  23. U.S. Patent 5,832,264. Object-oriented communications framework system with support for multiple remote machine types. Peter E. Hart, Tina L. Jeng, Rithy K. Roth, Stephen R. Savitzky, Richard Golding. Assigned to Ricoh Company, Ltd. Issued 3 November 1998.
  24. U.S. Patent 5,732,261. Method of using an object-oriented communication system with support for multiple remote machine types. Stephen R. Savitzky, Rithy K. Roth, Tina L. Jeng, Peter E. Hart, Richard Golding. Assigned to Ricoh Company, Ltd. Issued 24 March 1998.

Professional activities
Conference organization:
2007, 2008, 2009:Program committee, Intl. Conference on Autonomic Computing
2002, 2004, 2005: Program committee, Conference on File and Storage Technology (FAST)
1997: Program committee, Usenix Workshop on Internet Technology and Systems.
1994: Treasurer and Local arrangements chair, Workshop on Mobile Computing Systems and Applications.
1992: Local Arrangements Chair, Second Workshop on the Management of Replicated Data.

Reviewing:
2010:Reviewer for the Real Time and Embedded Technology and Applications Symposium (RTAS)
2006:Reviewer for Conference on File and Storage Technology (FAST)
2006:Reviewer for ACM Transactions on Parallel and Distributed Systems.
1997,99: Reviewer for the Symposium on Operating Systems Principles.
1996, 2004: Reviewer for the Operating Systems Design and Implementation Symposium.
1996: Reviewer for Transactions on Software Engineering.
1993-95: Reviewer for Winter Usenix Conference.
1992: Reviewer for IEEE Transactions on Knowledge and Data Engineering.
1991-98: Reviewer for ACM Transactions on Computer Systems.
1991: Reviewer for IEEE Eighth International Conference on Data Engineering.
1991: Reviewer for Winter 1992 Usenix Conference.

Standards organizations
2000-05: ANSI/NCITS T10 (SCSI) and Storage Networking Industry Association: object-based storage device (OSD) working groups
2000: IETF IP Storage / iSCSI working group
1996-98: National Storage Industry Consortium, Network-attached storage devices working group.

Other service
2006: National Science Foundation CAREER grant reviewer.
2003-06: National Science Foundation grant review panel.
1993-95: Editor, IEEE Technical Committee on Operating Systems and Application Environments Newsletter.

Students advised
Chris Lumb, PhD in Computer Science, Carnegie-Mellon University (co-advisor), Dec. 2005. Title: "D-SPTF: decentralized request distribution in brick-based storage systems".

Thesis committees
Sage Weil, PhD in Computer Science, University of California, Santa Cruz, 2007. Subject: the Ceph distributed file system.
Caixue Lin, PhD in Computer Science, University of California, Santa Cruz, Jun. 2006. Subject: slack management in real-time scheduling.
Lawrence You, PhD in Computer Science, University of California, Santa Cruz, Jun. 2006. Subject: Efficient archival data storage.
Feng Wang, PhD in Computer Science, University of California, Santa Cruz (expected). Subject: Object-based storage devices.
Garth Goodson, PhD in Computer Science, Carnegie-Mellon University, Aug. 2004. Title: "Efficient, flexible consistency for highly fault tolerant storage".
Thomas Kroeger, PhD in Computer Engineering, University of California Santa Cruz, Jan. 2000. Title: "Modeling file access patterns to improve caching performance". Also MS, University of California Santa Cruz, Mar. 1997.
Peter Bosch, PhD, Universiteit Twente, Jun. 1999. Title: "Mixed-media file systems".
Bruce Sherrod, MS in Computer Science, University of California Santa Cruz, Mar. 1997. Title: "A dynamic disk spin-down technique for mobile computing".

Experience
IBM Almaden Research Center: IBM lead and software system architect for the System F6 fractionated space system project. Previously, lead for Collective Intelligent Bricks Software project, which investigated a scalable, easy-to-manage distributed storage system for customers that need in excess of a petabyte of storage.

Highlights:

  • Developed a family of algorithms for making resource allocation decisions in a self-managing storage system. These algorithms take abstract specifications of an application's data capacity, performance, and reliability requirements, and compute where data should be placed and what kind of redundancy code (RAID 1, RAID 5, or higher-level codes) should be used.
  • Developed an efficient algorithm for performance isolation and IO scheduling in a storage device. This algorithm ensures that each application using a storage device will receive a specified level of performance, and will share unused performance fairly among active applications.
  • Collaborated with an IBM Business Partner in Japan to determine their needs when deploying large-scale storage systems. Guided their investigation, helping them determine what investigations to perform and how to refine the results. This collaboration has led to a detailed model of the costs associated with specifying, installing, and operating storage systems.
  • IBM Principal Investigator for joint IBM-CMU research project on self-* storage systems (with Greg Ganger, CMU).

Panasas: Software architect responsible for assisting with overall product specification and design, with special focus on storage appliance design and construction, QA test definition and measurement, and on storage management tools. Working with marketing group to help determine target customer, understand their needs and requirements. Developing high-level vision for storage management for product. Managed team for developing part of the appliance product. Assisted with standards group work.

Highlights:

  • Designed and managed implementation team for the Panasas object storage device (OSD). Wrote the SCSI command set definition, which is the basis for SNIA OSD work; designed the network server to implement the commands.
  • Designed a new BSD file system optimised for use inside an OSD, with special emphasis on high performance and reliability.
  • Defined the Panasas approach to system management, software upgrade, and test automation.
  • Designed and helped implement portions of the internal distributed file system, with focus on system consistency and performance.

Storage Systems Program, Hewlett-Packard Laboratories: Led research on highly-reliable, large-scale, self-managing distributed storage systems; ran technology transfer activities with a partner product division for some of this work. Researched flexible disk arrays (the HP AutoRAID system) and adaptive idle time detection/use. Managed two other researchers for part of the time.

Vrije Universiteit, Amsterdam: Researched wide-area application support, including weak consistency group communication and object-based models for organizing distributed applications. Supervised a PhD student on this work. Taught a course on Computer Networking, assisted with Operating Systems practicum.

Ricoh California Research Center: Design consultant for a software development project using C++ and an OODBMS. Project emphasis was on long-term maintainability and reusability, and involved teaching software engineering to a small development group and guiding them through the design process.

Concurrent Systems Project, Hewlett-Packard Laboratories: Designed a lightweight distributed database system, based on a novel approach to distributed state abstraction, for use in a high-performance multiprocessor file server. Conducted research on data replication in internetwork environments; developed a family of algorithms for replica access in an internetwork; conducted preliminary investigations into a family of replication mechanisms that provide efficient, controlled inconsistency among replicas; investigated self-reorganizing disk systems as part of the DataMesh high-performance storage system project.

Crucible: Worked as project lead for Crucible on the Sun OpenLook window manager (OLWM) for OpenWindows, responsible for overall design of the product implementation and for liaison with Sun staff; participated in two ports of the MIT X11R3 sample server to specialized environments, including to SCO Unix with specialized graphics hardware based on the TI34010; designed and implemented several X11 applications using the X Toolkit including animation support tools.

Microsoft Corporation: Worked on Presentation Manager for OS/2 1.1 and 2.0. Handled design and prototypes for the multi-line edit control introduced in OS/2 1.1; assisted in evaluation of several internationalization efforts within the Presentation Manager group; designed the messaging architecture for PM for OS/2 2.0, providing a structure for messaging in the v2.0 multiple-mode environment.

City of Bellingham Computer Services Division: Developed MIS applications for a Wang VS, including front-office accounting and building permit tracking; developed system software for the VS including a resource lock manager, print queue management, a serial device controller, and output formatting tools.

Technique Data Systems: Developed and maintained large MIS software systems for public works tracking and repair shop automation.

Orion Systems: Developed and maintained custom software systems in office automation, pharmacy record-keeping, and financial planning.