Brian K. Schmidt
bks at cs.stanford.edu – (408) 749-1223 –
Enterprise Architecture – Systems Design – Research and Development – Software Engineering
• Experienced computer science professional with proven ability to create new technology initiatives and transform them into practical, innovative systems in support of corporate business goals.
• Expertise in multidisciplinary problems spanning operating systems, networks, communication protocols, compilers, digital media and graphics, and system architecture.
• Skilled in engineering at various levels: hardware-software co‑design, embedded systems, kernel, device driver, system software, and user applications.
• Excellent communication, presentation, and mentoring skills with significant experience transferring technology, guiding development teams, and interfacing with corporate executives, marketing and legal representatives, as well as domestic and international business partners from multiple industries.
• Self-directed and highly adaptable to new problem domains with ability to quickly acquire the knowledge and skills necessary to advance the state of the art.
Software Engineer, Google Inc., Mountain View, CA April 2012 – Present
• Responsibilities – Create new social, mobile innovations and user experiences.
Principal Engineer (Director), Trident Microsystems, Sunnyvale, CA April 2010 – March 2012
• Responsibilities – Work with small team under the CTO to establish the corporate technical direction.
• System Architecture – Defined and evangelized the software architecture and programming interfaces for Android-based TVs and set-top boxes. Smart Terminal Alliance standard for China adopted the specification.
• Technology Initiatives – Designed and implemented Android distributed programming environment and multi-screen entertainment experience, incorporating gesture-based UI, automatic content recognition, Near-Field Communication (NFC), and social networking (Facebook). Results formed key IP for the sale of the company.
• Leadership – Member of the Board of Directors for the Multimedia over Coax Alliance (MoCA).
Principal Engineer, Silicon Image, Sunnyvale, CA Feb 2002 – April 2010
• Responsibilities – With small team under CTO, create corporate technology initiatives with high‑level systems focus to generate semiconductor business opportunities. Design and implement novel storage, network, and digital media system architectures, interface with marketing and customers to set product directions and establish strategic partnerships, and transfer technology to product groups.
• Network & Media – Co-developed LiquidHD™ architecture for in‑home network media distribution. Principal architect of device discovery, command and control, content management, and streaming media components; collaborated on remote user interface display and content protection components. Developed prototype systems, interfaced with customers and partners, authored specifications, created software APIs, and shepherded product development with over 90 engineers. LiquidHD formed the basis for the HDMI 2.0 standard.
• Storage – Co‑developed SteelVine™ storage architecture, which provides simple RAID functionality in a single chip via block‑level virtualization of collections of Serial ATA disks. Developed interconnection protocol for a storage network of such chips. Co‑authored embedded system software for initial chips; independently developed port multiplier cascading features, as well as in‑band communication protocol for drive configuration. Guided technology transfer to division of over 30 engineers to take systems to market, generating over $100M in revenue.
• Content Protection – Co‑designed semiconductor‑based LiquidPlay™ architecture for secure storage and transmission of premium digital media in which unencrypted data are never accessible to software.
• Memory – Designed communication protocols for a DRAM architecture with high‑speed, serial interfaces and internal vector units for media and graphics applications, including a line code for interface reliability and high‑level commands for specialized access patterns. The architecture inspired the SPMT™ memory interface.
• Technology – Developed compiler and debugger for in‑house microprocessor, and co‑developed custom, embedded kernel and network stack using less than 32 KB of binary instructions. These tools enabled product line expansion into feature‑rich, higher integration parts with minimal resource requirements and extremely low cost, inspiring one customer to exclaim, "There's magic in that chip!"
Staff Engineer, Kealia Inc., Palo Alto, CA Aug 2001 – Feb 2002
• Networking – Developed Layer 2 switching software for a large-scale distributed Ethernet switch.
Staff Engineer, Sun Microsystems, Palo Alto, CA Jun 2000 – Aug 2001
• Mobile Computing – Ported Sun Ray™ thin client software to wireless webpads and laptops by modifying precursors of modern embedded Linux kernels to create fixed-function appliances.
• High-Speed Wireless Networking – Led engineering collaboration with international business partner to integrate a prototype 156Mbps wireless network into the Sun Ray™ thin client. Designed and implemented network protocols and hardware interfaces. Promoted new product directions to corporate executives.
Staff Engineer (Consultant), Sun Microsystems Laboratories, Palo Alto, CA Jan 1994 – Jun 2000
• Thin‑Client Architecture - Member of small team that created the Sun Ray™ thin‑client, a stateless display device in which raw pixel updates are transmitted over commodity networks from a multi‑user server, while input events flow in the opposite direction. Developed methodology to quantitatively evaluate interactive performance of GUI and multimedia applications on such devices; conducted experiments that demonstrated human‑perceived experience is indistinguishable from traditional desktop computers.
• Process Migration - Created new operating system abstraction to virtualize all host‑specific interfaces and encapsulate complete state of collections of active processes. Virtualization enables encapsulation state to be stored or migrated between hosts (with possibly different system interfaces). Developed prototype Solaris™ system capable of encapsulating login sessions consisting of standard batch, GUI, and multimedia applications. Successfully suspended, stored, migrated, and resumed such sessions.
• Network-Attached Camera - Member of small team that created one of the first network‑attached video cameras, along with a video indexing application suitable for security monitoring. Extended system to support capture from a custom NTSC tuner/demodulator, as well as network video distribution.
• Multimedia Synchronization – Created hardware/software tool that records human-observed display times of audio/video and quantifies multimedia synchronization performance.
• Multi-Stream Video Architecture – Created network video distribution system based on multicast groups to deliver head‑tracked, stereo video views of a remote scene captured by an array of cameras. Designed subsequent system supporting distributed, synchronized, multi-viewpoint audio/video (e.g. for telepresence).
• Scalable Video – Developed hierarchical video coding and network delivery system. Utilized separable and independently prioritized units to enable transparent scaling of bandwidth and quality.
• Graphics – Created high-performance graphics routines for Sun's image processing library product.
Ph.D. Computer Science, Stanford University, September 2000
Thesis: Supporting Ubiquitous Computing with Stateless Consoles and Computation Caches
M.S./B.S. Math and Computer Science, Emory University, May 1992, summa cum laude
Research Assistant, Stanford University, Stanford, CA Oct 1992 – Jun 2000
• Compiler Research – Designed and implemented compiler techniques to identify sources of value redundancy for automatic memoization or thread-based speculation. Designed and implemented a compiler and run-time system that identified program specialization opportunities and created an automatic profiling and feedback system to capitalize on them.
• Distributed Systems – Investigated global-scale distributed systems. Explored problems of performance, security, scalability, and consistency for a web-based storage architecture.
• Multimedia Language Support – Investigated the ability of a constraint-based language that incorporates timing preferences to support multimedia application development.
• Parallel Programming – Conducted an extensive performance evaluation of an implementation of Jade, a portable programming language for parallel and distributed computation.
• Computer science research papers published in peer‑reviewed conference proceedings and journals, technical anthologies, and University technical reports. Topics: distributed computing, parallel programming, process migration, compilers, network and operating system support for digital media.
• Patents related to process migration, system virtualization, storage, line codes, covert communication, network video distribution, media synchronization, bandwidth reservation and QoS, remote user interfaces, and network power management. 14 issued and several pending.
• Corporate technology white papers, specifications, programming guides, and trade journal articles.