Jump to Content
Allan Heydon

Allan Heydon

Hi, I'm a software engineer at Google Research. I work primarily on large scale graph-based semi-supervised learning systems. In particular, I work on Expander label propagation (AI Workshop Experiment) and the Neural Structured Learning in TensorFlow open-sourced software library (github).

Prior to Google, I did research on constraint-based drawing, software configuration management, and high-performance web crawling (pdf) and its applications. I also worked at a few start-ups.

I received my PhD in Computer Science from Carnegie Mellon University. My thesis was done under the direction of Doug Tygar, and was titled Processing Visual Specifications of File System Security. Believe it or not, I actually applied some of the algorithms from my thesis at one of the start-ups I worked at, nearly 10 years after I graduated. :-)

Pre-Google Work

Publications

High Performance Web Crawling. Allan Heydon and Marc Najork. Chapter 2 in Handbook of Massive Datasets, J. Abello , P. M. Pardalos, M. G. C. Resende (editors), Kluwer Academic Publishers, ISBN 1-4020-0489-3, May, 2002. Also appeared as SRC Research Report 173, Compaq Systems Research Center, September 26, 2001. 20 pages. [PDF]

Caching Function Calls Using Precise Dependencies. Allan Heydon, Roy Levin, and Yuan Yu. In Proceedings of the ACM SIGPLAN '00 Conference on Programming Language Design and Implementation (PLDI), pages 311-320, June 2000. [PDF]

Performance Limitations of the Java Core Libraries. Allan Heydon and Marc A. Najork. Concurrency: Practice and Experience, Vol. 12, No. 6, pages 363-373, May, 2000. [PDF]

On Near-Uniform URL Sampling. Monika Henzinger, Allan Heydon, Michael Mitzenmacher, and Marc A. Najork. In Proceedings of the Ninth International World Wide Web Conference (WWW9), pages 295-308. Elsevier Science B. V., May 2000. [PDF]

Mercator: A Scalable, Extensible Web Crawler. Allan Heydon and Marc A. Najork. World Wide Web, Vol. 2, No. 4, pages 219-229, December, 1999. [PDF]

Performance Limitations of the Java Core Libraries. Allan Heydon and Marc A. Najork. In Proceedings of the 1999 ACM Java Grande Conference (Java99), pages 35-41, San Francisco, CA, June 1999. [PDF]

Measuring Index Quality Using Random Walks on the Web. Monika Henzinger, Allan Heydon, Michael Mitzenmacher, and Marc A. Najork. In Proceedings of the Eighth International World Wide Web Conference (WWW8), pages 213-225. Elsevier Science B.V., May 1999. [HTML, PDF]

An Object-Oriented Implementation of Unification Closure. Allan Heydon. Threads: The Modula-3 Systems Journal, Issue 3, pages 11-14, October 1997. [HTML, PDF]

A Reusable Software Double-Buffer. Allan Heydon and Greg Nelson. Threads: The Modula-3 Systems Journal, Issue 2, pages 5-7, October 1996. [HTML, PDF]

Implementing the Juno-2 User Interface. Allan Heydon. Threads: The Modula-3 Systems Journal, Issue 1, pages 2-5, October 1995. [HTML, PDF]

Specifying and Checking Unix Security Constraints. Allan Heydon and J. D. Tygar. Computing Systems, 7(1):91-112, December 1994. Preliminary version appeared in the USENIX Security Symposium III Proceedings, pgs 211-226, September 1992. [PDF]

Miro: Visual Specification of Security. Allan Heydon, Mark W. Maimone, J. D. Tygar, Jeannette M. Wing, and Amy Moormann Zaremski. IEEE Transactions on Software Engineering, 16(10):1185-1197, October 1990.

Constraining Pictures with Pictures. Allan Heydon, Mark W. Maimone, J. D. Tygar, Jeannette M. Wing, and Amy Moormann Zaremski. In Proceedings of the IFIP 11th World Computer Congress, pages 157-162, San Francisco, CA, August 1989. [PDF]

Miro Tools. Allan Heydon, Mark W. Maimone, J. D. Tygar, Jeannette M. Wing, and Amy Moormann Zaremski. In Proceedings of the 1989 IEEE Workshop on Visual Languages, pages 86-91, Los Alamitos, CA, October 1989. IEEE Computer Society Press. [PDF]

Research Reports

The Vesta Software Configuration Management System. Allan Heydon, Roy Levin, Timothy Mann, Yuan Yu. SRC Research Report 177, Compaq Systems Research Center, Palo Alto, CA, January 22, 2002. 221 pages. [PDF]

The Vesta Approach to Software Configuration Management. Allan Heydon, Roy Levin, Timothy Mann, Yuan Yu. SRC Research Report 168, Compaq Systems Research Center, Palo Alto, CA, March, 2001. 24 pages. [PDF]

The Vesta-2 Software Description Language. Allan Heydon, Jim Horning, Roy Levin, Timothy Mann, and Yuan Yu. SRC Technical Note 1997-005c, Compaq Systems Research Center, Palo Alto, CA, June 1998. [PDF]

Juno-2 Language Definition. Greg Nelson and Allan Heydon. SRC Technical Note 1997-009, Compaq Systems Research Center, Palo Alto, CA, June 1997. 15 pages. [PDF]

The Juno-2 Constraint-Based Drawing Editor. Allan Heydon and Greg Nelson. SRC Research Report 131a, Compaq Systems Research Center, Palo Alto, CA, December 1994. 19 pages. This report includes an accompanying videotape, SRC 131b. [PDF]

Processing Visual Specifications of File System Security. C. Allan Heydon. PhD Thesis, Technical Report CMU-CS-91-201, Carnegie Mellon University, School of Computer Science, January 31, 1992. 215 pages. [PDF]

An Introduction to Circuit Complexity and a Guide to Hastad's Proof. Allan Heydon. Technical Report CMU-CS-90-141-R, Carnegie Mellon University, School of Computer Science, June 1990.

Issued Patents

Insurance Policy Revisioning Method (with K. Branson). Assigned to Guidewire Software. U.S. Patent #8,676,703. Issued March 18, 2014.

Method and apparatus to facilitate determining insurance policy element availability (with J. Seybold). Assigned to Guidewire Software. U.S. Patent #8,392,222. Issued March 5, 2013.

System and Method for Efficient Filtering of Data Set Addresses in a Web Crawler (with M. Najork). Assigned to Hewlett-Packard Development Company, LP. U.S. Patent #6,952,730. Issued Oct 4, 2005.

System and Method for Near-Uniform Sampling of Web Page Addresses (with M. Najork, M. Mitzenmacher, and M. Henzinger). Assigned to Hewlett-Packard Development Company, LP. U.S. Patent #6,594,694. Issued July 15, 2003.

Web Crawler System Using Parallel Queues for Queing Data Sets Having a Common Address and Concurrently Downloading Data Associated with Data Sets in each Queue (with M. Najork). Assigned to Alta Vista Company. U.S. Patent #6,377,984. Issued April 23, 2002.

System and Method for Associating an Extensible Set of Data with Documents Downloaded by a Web Crawler (with M. Najork). Assigned to Alta Vista Company. U.S. Patent #6,351,755. Issued February 26, 2002.

System and Method for Enforcing Politeness While Scheduling Downloads in a Web Crawler (with M. Najork). Assigned to Alta Vista Company. U.S. Patent #6,321,265. Issued November 20, 2001.

System and Method for Efficient Representation of Data Set Addresses in a Web Crawler (with M. Najork). Assigned to Alta Vista Company. U.S. Patent #6,301,614. Issued October 9, 2001.

Web Crawler System Using Plurality of Parallel Priority Level Queues having Distinct Associated Download Priority Levels for Prioritizing Document Downloading and Maintaining Document Freshness (with M. Najork and J. Wiener). Assigned to Alta Vista Company. U.S. Patent #6,263,364. Issued July 17, 2001.

Method and Apparatus for Caching the Results of Function Evaluations with Dynamic, Fine-Grained Dependencies (with R. Levin and B. Lampson). Assigned to Compaq Computer Corporation. U.S. Patent #6,145,056. Issued Nov 7, 2000.

Method for Ignoring Redundant Constraints in a Graphic Editor (with G. Nelson and E. Veach). Assigned to Digital Equipment Corporation. U.S. Patent #6,081,268. Issued June 27, 2000.

Invited Talks

The Vesta Software Configuration Management System
University of New South Wales, Australia. April, 1998.
University of Michigan, Department of EECS. February, 1999.

The Juno-2 Constraint-Based Drawing Editor
Graphics and Multimedia Seminar, UC Berkeley. November, 1993.
Graphics Seminar, Apple Advanced Technology Group. February, 1995.
Seminar on Human-Computer Interaction, Stanford University. May, 1995.
University of Washington, Seattle, Washington. November, 1995.
California Institute of Technology. December, 1995.
Sydney University, Australia. April, 1998.
Macquarie University, Australia. April, 1998.
Queensland University of Technology, Australia. April, 1998.

Professional Service

Member, Program Committee, Ninth International World Wide Web Conference (WWW9), 1999.

Demonstrations Program Co-chair, ACM Symposium on User Interface Software and Technology (UIST), 1996.

Member, Short Papers Review Committee, ACM SIGCHI Conference on Human Factors in Computing Systems (CHI), 1995.

Refereed numerous articles for journals and conferences, including:

Authored Publications
Google Publications
Other Publications
Sort By
  • Title
  • Title, descending
  • Year
  • Year, descending
    Preview abstract We present Neural Structured Learning (NSL) in TensorFlow, a new learning paradigm to train neural networks by leveraging structured signals in addition to feature inputs. Structure can be explicit as represented by a graph, or implicit, either induced by adversarial perturbation or inferred using techniques like embedding learning. NSL is open-sourced as part of the TensorFlow ecosystem and is widely used in Google across many products and services. In this tutorial, we provide an overview of the NSL framework including various libraries, tools, and APIs as well as demonstrate the practical use of NSL in different applications. The NSL website is hosted at www.tensorflow.org/neural_structured_learning, which includes details about the theoretical foundations of the technology, extensive API documentation, and hands-on tutorials. View details
    No Results Found