Joseph S. Barrera III

2000 Amphitheatre Parkway, Mountain View, CA
Email: joe (at)
Phone: (510) 972-3321


I am currently a Senior Software Engineer in the Google Groups project, working to move Groups to newer software infrastructure.

From 2012 through May 2013 I was a Software Developer (Research) for the Linac Coherent Light Source (LCLS) at Stanford Linear Accelerator (SLAC). I worked on the data acquisition and analysis software (C++ and Python).

From 2005 through 2011 I was a Senior Software Architect at IBM working on the Tivoli Application Dependency Discovery Manager (TADDM), concentrating on the Windows Discovery and Enterprise CMDB components. Before IBM, I was at Collation, a startup acquired by IBM for the technology now in use by TADDM.

Before IBM and Collation, I was a Senior Software Engineer at CenterRun (which was acquired by Sun), working on Microsoft-specific portions of the CenterRun product, a tool to automate the configuration and deployment of applications across the enterprise. Before CenterRun, I spent five months as a contractor at Nuasis, greatly improving reliability and performance of the email server (IMAP and SMTP) at the core of their call center product.

For three years I was a Software Architect at KANA, working on performance and scalability issues. In particular, I developed a clustered version of the KANA Marketing product, and I optimized database usage in its job scheduler to improve performance. I actually started at Rubric, where KMA was originally developed; Rubric was acquired by Broadbase, and it in turn merged with Kana.

Before KANA, I spent seven years in Microsoft Research. For three years, I was a member of the Bay Area Reseach Center (BARC) in Microsoft Research. I worked with Jim Gray and the other members of BARC Scalable Servers group. I helped add support for MS Cluster Server to SQL Server 6.5 and 7.0. I was an early alpha/beta tester for Microsoft Cluster Server, and designed and gave demos and tutorials of MSCS.

Before joining BARC, I worked on the Rialto and Tiger projects. Rialto was a small, real-time, COM-centered operating system for consumer devices, and was used in Microsoft's ITV trial with NTT in Yokosuka, Japan. (The processor scheduler work I did in Rialto also made its way into MMLite, an embedded operating system.) Tiger was a PC-cluster-based video server that later shipped as Microsoft NetShow Theater Server.

Before Microsoft, I was a graduate student in the School of Computer Science at Carnegie Mellon University (M.S. 1990). I was a member of the Mach operating system project, headed by Richard F. Rashid. Rick, I, and several others left Mach and CMU to join Microsoft around 1992; many of us joined what is now the Systems and Networking Research Group in Microsoft Research. In my last years at Carnegie Mellon, I consulted for Cray Research and Intel on operating system support for their MPP products, as well as for the Open Software Foundation Research Institute (now Open Group Advanced Research). My B.S. in Computer Science is from Harvey Mudd (1986), as one of Mike Erlinger's first students.


Joseph S. Barrera III. Distributing Load on Microsoft Clusters. In Windows NT Systems, pages 32-37. Miller Freeman, San Francisco, CA, October, 1997.

Michael B. Jones,Joseph S. Barrera III, Alessandro Forin, Paul J. Leach, Daniela Rosu, Marcel-Catalin Rosu. An Overview of the Rialto Real-Time Architecture. In Proceedings of the Seventh ACM SIGOPS European Workshop, pages 249-256. Connemara, Ireland, September, 1996.

William J. Bolosky, Joseph S. Barrera III,Richard P. Draves, Robert P. Fitzgerald, Garth A. Gibson, Michael B. Jones, Steven P. Levi, Nathan P. Myhrvold, Richard F. Rashid. The Tiger Video Fileserver. In Proceedings of the Sixth International Workshop on Network and Operating System Support for Digital Audio and Video. IEEE Computer Society, Zushi, Japan, April, 1996.

Michael B. Jones, Paul J. Leach, Richard P. Draves, Joseph S. Barrera III,Modular Real-Time Resource Management in the Rialto Operating System. In Proceedings of the Fifth Workshop on Hot Topics in Operating Systems, pages 12-17. IEEE Computer Society, Orcas Island, WA, May, 1995.

Joseph S. Barrera III. Invocation Chaining: Manipulating Lightweight Objects across Heavyweight Boundaries. In Proceedings of the Fourth Workshop on Workstation Operating Systems, pages 191-193. IEEE Computer Society, Napa, CA, October, 1993.

Joseph S. Barrera III. Self-Tuning Systems Software. In Proceedings of the Fourth Workshop on Workstation Operating Systems, pages 194-197. IEEE Computer Society, Napa, CA, October, 1993.

Hans J. Berliner. Producing Behavior in a Searching Program. In CMU Computer Science, A 25th Anniversary Commemorative, Richard F. Rashid (ed.), ACM Press, Addison-Wesley Publishing Co., Reading, MA, 1991. (Hans and I collaborated on the "Constraints and Invariances" work described in this paper.)

Joseph S. Barrera III. A Fast Mach Network IPC Implementation. In Proceedings of the USENIX Mach Symposium, pages 1-10. USENIX Association, Monterey, CA, November, 1991.

Alessandro Forin,Joseph S. Barrera III. The Shared Memory Server. In Proceedings of the USENIX Winter Conference, pages 229 - 243. USENIX Association, San Diego, CA, 1989.

Technical Reports and Presentations

Microsoft Cluster Server Tutorial (PowerPoint). IEEE Fault-Tolerant Computing Symposium 27, June 1997.

Using IP Address Mobility To Provide High Availability via NT Clusters. Microsoft Technical Report, 1997.

Odin: A Virtual Memory System for Massively Parallel Processors. Technical Report, . Microsoft 1993.

Mach Microkernel Support for Distributed Memory Multiprocessors. CMU Technical Report, 1991.


Method and System for Scheduling the Transfer of Data Sequences (#5473362, issued 5 Dec 1995)