William Anthony (“Tony”) Mason
1902-1028 Barclay St, Vancouver, BC, V6E0B1
wamason@gmail.com
Summary
Seeking to build upon my extensive experience doing operating systems research and development. I seek to expand upon our knowledge of systems by identifying and demonstrating innovative improvements in the field.
Work Experience
wamason.com, December 2016 to Present
- Consulting, focusing on providing Expert Witness services (primarily in patent litigation) and consulting with commercial customers implementing file systems and file system technologies.
Georgia Institute of Technology, August 2015 to August 2020
- Instructional Associate. Working as part of Online Master’s of Science in Computer Science, including:
- CS 6200, Graduate Introduction to Operating Systems, taught by Dr. Ada Gavrilovska.
- CS 6460, Educational Technology, taught by Dr. David Joyner.
- CS 6250, Computer Networks, taught by Dr. Maria Conte.
Microsoft Research, January 2020 to March 2020
University of British Columbia, NSS Lab, January 2017 to August 2017
- Research Assistant. Working with Professor Andrew Warfield on research in operating systems research, with a focus on file systems related areas.
OSR Open Systems Resources, Inc. November 1994 to November 2016
- Consulting Partner. In this role I was responsible for providing services to commercial customers, by designing and implementing key file systems technologies for file systems and file system filter drivers. I was involved in critical aspects of our educational offerings, teaching classes in Driver Development, File Systems Development, File System mini-filter development and Kernel Debugging. Focus was on the Windows OS platform. Recent projects include: Isolation Filter Kit that provides multiple simultaneous views of a single file on either local or network storage without modifying the underlying file system. This abstraction was useful for transparent per-file encryption in that different applications could be given different views (raw or encrypted) of the file, with coherency, specialized file system mini-filter for transparently backing up SQL databases to Azure, another for doing block level change tracking for SQL databases.
FORE Systems, September 1993 to November 1994
- Technical Manager. In this role I was responsible commercial ATM adapter device driver development for PC platforms (Windows, Novell, and OS/2). Actively participated in the ATM Forum (SA&A and LAN Emulation SWG). Worked with both Microsoft and Novell to define and establish architectural support for ATM.
Transarc Corporation, July 1989 to September 1993
- Area Manager. Technical management for DCE LFS physical media file systems work: coordinate activities of team members, managed DCE/DFS integration including working with key external partners: OSF, HP, IBM and Digital Equipment Corporation.
- Member of Technical Staff. Transarc AFS development on various UNIX platforms, DCE/DFS development. As a member of the Episode team I was responsible for designing and implementing the transactional system, still novel for its use of undo/redo model journaling. Part of the DCE/DFS development team, participated in architecuture and design.
Stanford University, June 1987 to June 1989
- Research Staff. Working in Professor David Cheriton’s Distributed Systems Group. Responsible for systems administration for the group. Implemented the UNIX version of VMTP (Versatile Message Transport Protocol), a reliable transport protocol for use over IP, including IP multicast. Wrote kernel mode device drivers for Ethernet NICs for the V Operating System, as well as a primitive kernel debugger.
Education
- University of British Columbia, Vancouver BC, January 2017 to Present
- PhD Computer Science, Network, Systems & Security Lab, September 2017 to Present.
- Georgia Institute of Technology, Atlanta GA (Graduated 2017)
- OMSCS Program (Interactive Intelligence) MSCS December 2017
- University of Chicago, Chicago, IL (Graduated 1987)
- SB Mathematics (Computer Science Concentration)
Teaching Experience
- Georgia Institute of Technology, Atlanta GA, August 2015 to Present. Teaching Assistant for Professor Ada Gavrilovska’s Graduate Introduction to Operating Systems. Answer student questions (Piazza, Slack), assist in development and maintenance of automated grading system for student code, maintain documentation for student projects, enhance and document class procedures, coordinate activities with other TAs.
- OSR Open Systems Resources Inc., Amherst, NH March 1996 to November 2016. Design and develop kernel mode development classes on Device Drivers, File System Drivers, File System Mini-Filter Drivers, Windows OS Internals, and Kernel Debugging for both lecture and lab workshop style classes.
Patents
- Issued
US/9830329 Methods and Systems for Data Storage
US/9600486 File System Directory Attribute Correction
US/9535759 Work Queue Thread Balancing
US/8990228 Systems and Methods for Arbitrary Data Transformation
US/8903874 File System Directory Attribute Correction
US/8539228 Managing Access to a Resource
US/8521752 Systems and Methods for Arbitrary Data Transformations
US/8024433 Managing Application Resources
US/7809897 Managing Lock Rankings
US/7512748 Managing Lock Rankings
US/7949693 Log-Structured Host Data Storage
Publications
- Google Scholar Page
- Books
Windows NT Device Driver Development, New Riders, 1998
lex & yacc, O’Reilly & Associates, June 1990 (1st Edition), November 1992 (2nd Edition) - Articles & Papers
- Unexpected Performance of Intel® Optane™ DC Persistent Memory, Computer Architecture Letters, Volume 19, Number 1, pp 55-58.
- Changes in Windows 10 Redstone, The NT Insider, January/February 2017
- Logical and Physical File Sizes in Windows, The NT Insider, Mar/Apr 2015
- Minifilter Load and Unload Ordering, The NT Insider, May/June 2014
- Alternatives to Drive Letters, The NT Insider, May/June 2014
- Windows Pool Manager, The NT Insider, Jan/Feb 2014
- The Isolation Driver (Part II), The NT Insider, Vol. 18, Iss. 1, January 2011
- The Isolation Driver (Part I), The NT Insider, Vol. 17, Iss. 2, July 2010
- Undocumented DFS & RDR Interactions, The NT Insider, Vol. 17, Iss. 2, July 2010
- File Systems, File System Filter Drivers and Removable Storage Devices, The NT Insider, Vol. 16, Iss. 2, May 2009
- Filtering File Systems – Ten Things You Should Know, The NT Insider, Vol. 16, Iss. 1, January 2009
- Debugging 103: Where to Go With a System Crash, The NT Insider, Vol. 15, Iss. 2, July 2008
- Windows Vista and File Systems, The NT Insider, Vol. 14, Iss. 4, November 2007
- An Introduction to Transactions, The NT Insider, Vol. 14, Iss. 1, January 2007
- MUP Changes in Windows Vista, The NT Insider, Vol. 14, Iss. 1, January 2007
- Obtaining a Useful Name for the Executable Image in a Process, The NT Insider, Vol. 13, Iss. 4
- An Introduction to File System Streams, The NT Insider, Vol. 13, Iss. 2, March 2006
- Hashing Techniques, The NT Insider, Vol. 13, Iss. 1, January 2006
- The Transactional File System (TxFS) in Windows, The NT Insider, Vol. 12, Iss. 3 May 2005
- File System Filter Context – Observations & Comments, The NT Insider, Vol. 11, Iss. 5, November 2004
- Testing File Systems, The NT Insider, Vol. 11, Iss.3, May 2004
- Blocking Special Kernel APCs at IRQL PASSIVE_LEVEL, The NT Insider, Vol. 11, Iss. 2, March 2004
- Clever Ways to Save Stack Space, The NT Insider, Vol. 11, Iss. 2, March 2004
- Finding File Contents in Memory, The NT Insider, Vol. 11, Iss. 1, January 2004
- Debugging a Sound Driver, The NT Insider, Vol. 11, Iss. 1, January 2004
- Caching in the Pentium 4 Processor, The NT Insider, Vol. 11, Iss. 1, January 2004
- Finding Your Way Through the Stack, The NT Insider, Vol. 9, Iss. 6, November 2003
- Emerging Issues in IoCancelFileOpen, The NT Insider, Vol. 10, Iss. 4, September 2003
- Debugging Another Crash Dump, The NT Insider, Vol. 10, Iss. 2, March 2003
- Calling Conventions for the x86, The NT Insider, Vol. 10, Iss. 1, January 2003
- Reparse Points in Windows, The NT Insider, Vol. 10, Iss. 1, January 2003
- Managing Address Space Increases for IA64, The NT Insider, Vol. 9, Iss. 4, July 2002
- Drive Letter Assignment and the Mount Manager, The NT Insider, Vol. 9, Iss. 4, July 2002
- Byte Range Locking, The NT Insider, Vol. 9, Iss. 3, May 2002
Reference Counting for File System Filter Drivers, The NT Insider, Vol. 9, Iss. 2, March 2002 - Using the Inverted Call Model, The NT Insider, Vol. 9, Iss. 1, January 2002
- A Review of Synchronization Primitives, The NT Insider, Vol. 9, Iss. 1, January 2002
- New File Systems Material in Windows XP, The NT Insider, Vol. 8, Iss. 4, July 2001
- Name Tunneling in Windows 2000 File Systems, The NT Insider, Vol. 8, Iss. 3, May 2001
- Windows NT Security Part III, The NT Insider, Vol. 8, Iss. 3, May 2001
- Observations on File System Filter Drivers, The NT Insider, Vol. 7, Iss. 6, November 2000
- Analyzing A Crash Dump, The NT Insider, Vol. 7, Iss. 2, March 2000
- Windows NT Security Part II, The NT Insider, Vol. 6, Iss. 5, September 1999
- Windows NT Security Part I, The NT Insider, Vol. 6, Iss. 3, May 1999
- Structured Exception Handling, The NT Insider, Vol. 6, Iss. 2, March 1999
- Windows NT Virtual Memory Part II, The NT Insider, Vol. 6, Iss. 1, January 1999
- Windows NT Virtual Memory Part I, The NT Insider, Vol. 5, Iss. 2, March 1998
- Asynchronous Procedure Calls, The NT Insider, Vol. 5, Iss. 1, January 1998
- How NT Handles I/O Completion, The NT Insider, Vol. 4, Iss. 3, May 1997
- Building IRPs to Perform I/O, The NT Insider, Vol. 4, Iss. 1, January 1997
- The LanManager File Server on NT, The NT Insider, Vol. 3, Iss. 4, October 1996
- Oplocks on Windows NT, The NT Insider, Vol. 3, Iss. 3, July 1996
Using the NT Cache Manager, The NT Insider, Vol. 3, Iss. 2, April 1996 - Life in the Fast I/O Lane, The NT Insider, Vol. 3, Iss. 1, January 1996
- LAN Emulation, IEEE Communications, Fall 1996
Distributed Computing, Encyclopedia of Computer Science & Technology, Vol. 30, 1994 - OSF’s Distributed Computing Environment, UNIX Review, January 1993
- The Episode File System, USENIX Winter 1992, pp 43-60
- Decorum file system architecture overview, USENIX Summer 1990.
- The V Operating System, Byte Magazine, November 1987
Skills
- Languages: C, C++, x86/x64 assembly, Python, Prolog, Forth, Tcl, Perl, various others.
- Systems: Windows, Linux, UNIX, Mach, V
References
- References are available on request.
Recent Comments