| 2/2010 - present | Consulting Member of Technical Staff, Oracle, Redwood Shores, CA | 
|  | Detail follows: | 
| 6/2016 - present | Oracle Labs, (Oracle) | 
|  | Blockchain scalability. | 
| 5/2015 - present | Oracle Public Cloud Infrastructure, (Oracle) | 
|  | Swagger Semantic Validation. | 
|  | Generate Client CLI/SDKs from Swagger. | 
|  | Design Online Catalog of OPC Services with Interactive "Try-It-Now". | 
| 12/2013 - 4/2015 | WebLogic Server InfiniBand Communication Architect., (Oracle) | 
|  | Designed 'BUZZ' protocol to tunnel HTTP, IIOP, etc., over InfiniBand between Oracle Traffic Director and WebLogic Server. | 
|  | Designed architecture to integrate InfiniBand/BUZZ into WLS' existing networking subsystem. | 
|  | Designed Java BUZZ API. | 
|  | Implemented/Functional Tested/Performance Tested Java BUZZ. | 
|  | Lead teams intergrating BUZZ into WLS and teams doing performance testing between OTD and WLS | 
| 2/2010 - 11/2013 | Architect of SOAP-based Web Service Technology., (Oracle) | 
|  | Shipped SOAP stack in WebLogic Server 12c, 11gR1; GlassFish 4.0, V3.1.2.2, V3.1.2, V3.1.1, V3.1; JavaSE 7, JavaSE 6 (updates 19-*). | 
|  | Oracle's SOAP stack is the wiring in Oracle Fusion Middleware (FM) and Oracle Fusion Applications. | 
|  | Designed, APIed, patented, implemented, tested, documented  "DISI: Dynamic Invocation and Service Interface". | 
|  | DISI enables layered software (e.g., FM) to take control of the input/output of the SOAP stack.  In particular, pluggable transports and asynchronous, streaming I/O. | 
|  | Designed, APIed, patented method for associating two or more WS-ReliableMessaging sequences in a SOAP intermediary (used by Oracle Service Bus). | 
|  | Consolidated Oracle's three SOAP stacks to use Sun's SOAP stack as the core. | 
|  | Designed "configuration architecture" to enable SOAP stack to be dynamically configured by Oracle Web Services Manager and Oracle Enterprise Manager. | 
|  | Designed "Life-Cycle Notification API" for client proxies and service endpoints lifetimes and various points in the request/response life-cycle. | 
|  | Helped design a "Session API" to decouple WS-ReliableMessaging from WS-Security/SecureConversation implementations (since security is owned by another team in Oracle. | 
|  | Helped design a "Persistence API" with pluggable providers (e.g., Coherence, JDBC, file). | 
|  | Worked with customers (e.g., Verizon, AT-T, Siemens, Capital One, Harris, Mitre, ...) on their SOAP requirements and issues. | 
|  | Worked with new Oracle acquisitions to transition them from external SOAP stacks (e.g., CXF) to Oracle's SOAP stack. | 
|  | Lead distributed team: Beijing, India, Europe, East/West U.S.A. | 
| 2/1999 - 2/2010 | Senior Staff Engineer, Sun Microsystems, Santa Clara, California | 
|  | Detail follows: | 
| 11/2005 - 2/2010 | Architect of SOAP-based Web Service Technology., (Sun) | 
|  | Shipped SOAP stack (JAX-WS, Metro) in OpenSSO 8.0; OpenESB; GlassFish V2, V2.1; JavaSE 6 (updates 1-18). | 
|  | SOAP stack project known as "Tango" and "WSIT" and "Metro".  Funded by Sun CTO. Quarterly in-person reports to Sun CTO, Greg Papadopoulos, on Project Tango status. | 
|  | Lead a global team of engineers working closely with Microsoft engineers (including numerous onsites in Redmond over a several year period, weekly concalls, daily email) to implement WS-* specifications (i.e., WS-Trust, WS-Security, WS-SecureConversation, WS-AtomicTransactions, WS-Coordination, WS-ReliableMessaging, WS-MakeConnection, WS-Policy, WS-BP, WS-BSP, WS-RSP, WS-Addressing, WS-Metadata-Exchange...) enabling Java enterprise SOAP interoperability with Microsoft Windows Communication Foundation. | 
|  | Non-interop specifications implemented in product: WS-SOAP/TCP, FastInfoset. | 
|  | Worked with NetBeans team to ensure IDE support for the SOAP stack in all areas (e.g., Trust, Security, AtomicTransactions, ...).  Note: Microsoft engineers told us that our IDE support was much better than theirs, especially in the security/trust area. | 
|  | Worked with customers and partners (e.g., American Express, Boeing, U.S. Navy, Motorola, Credit Suisse, Canadian Health Infoway/HIAL, NHIN, Erickson, Siemens, Vodafone, Telefonica, MedPlus, BEA, JBOSS/Redhat, Oracle, Layer 7, Forrester, Noemax) on SOAP issues and requirements. | 
|  | Guided ThoughtWorks engineers (paid for by Microsoft) in implementing Apache Stonehenge to demonstrate SOAP interoperability in a realistic application. | 
|  | Guided ThoughtWorks engineers (paid for by Microsoft) in testing WS-RSP interoperability with Microsoft and IBM. | 
|  | Participated in Sun's Mentoring Program as mentor to Alexei Mokeev (Russia), Nicholas Solter (Colorado), Alfredo Kojima (Argentina), 3 interns in India. | 
| 1/2005 - 10/2005 | High Availability Engineer, (Sun) | 
|  | Shipped CORBA (with HA features) in Sun Java Application Server 8.2 Enterprise Edition. | 
|  | Designed RMI-IIOP dynamic load-balancing and failover system used in Java Application Server 9.0/EE, and lead implementation team. | 
| 11/2001 - 12/2004 | CORBA Engineer, (Sun) | 
|  | Shipped CORBA in Sun Java Application Server 8.1 Enterprise Edition. | 
|  | Shipped CORBA in Sun Java Application Server 8.0 Platform Edition. | 
|  | Shipped CORBA in Java Standard Edition 5 | 
|  | Shipped CORBA in J2EE 1.4 Reference Implementation. | 
|  | Shipped CORBA in Java Standard Edition 1.4 | 
|  | Designed RMI-IIOP static load-balancing and failover system used in Java Application Server 8.1/EE, and lead implementation team. | 
|  | Created and patented PEPT 1.0: an adaptable remoting systems architecture. | 
|  | Rewrote Sun's ORB to use PEPT 1.0 architecture. | 
|  | Created and patented PEPT 2.0. | 
|  | Used PEPT 2.0 as the implementation architecture for JAX-WS. | 
|  | Used PEPT architecture to build clients and servers which use both IIOP and SOAP transparently to the programming model. | 
|  | Designed and implemented RMI-IIOP static load-balancing and failover system used in Java Application Server 7.1/EE. | 
|  | Designed and implemented a high-level, scalable framework on top of Java NIO.  This became Project Grizzly. | 
|  | Lead communications team comprised of JAX-RPC, CORBA, JMS, JAXM and Connectors. | 
|  | Sun representative on OMG Java-to-IDL Revision Task Force. | 
|  | Worked with customers (e.g., NTT) on their CORBA/RMI-IIOP requirements and issues. | 
|  | Participated in Sun's Engineering Mentoring Pilot Program with mentor David Ungar. | 
|  | Participated in Sun's Mentoring Program as mentor to Darryl Mocek. | 
| 4/2000 - 10/2001 | ORB Interceptor Architect and Implementor, (Sun) | 
|  | Shipped CORBA in J2EE 1.2 and 1.3. Reference Implementation. | 
|  | Shipped CORBA in iPlanet Application Server. | 
|  | Chairperson of OMG Portable Interceptor (PI) Finalization and Revision Task Forces.  Wrote OMG Portable Interceptor specifications: ptc/2001-10-25, ptc/2001-03-04, ptc/2000-08-06, and reports: ptc/2001-10-24, ptc/2000-08-05. | 
|  | Lead and scheduled a team of 3 implementing the OMG PI specification. | 
|  | Member of Sun team which wrote the OMG Object Reference Template (ORT) specification ptc/01-08-31 and gave OMG presentation orbos/2000-06-21 which led to the ORT RFP orbos/00-09-30. | 
|  | Designed and implemented proprietary ORB connection interceptors used by J2EE and iPlanet. | 
| 2/1999 - 3/2000 | ORB Interceptors and GIOP 1.4 Architect and Implementor, (Sun) | 
|  | Shipped CORBA in J2SE 1.3 | 
|  | Sun's representative to OMG Portable Interceptor RFP orbos/98-07-10, which lead to adopted specification ptc/2000-04-05 (which included close collaboration with the CSIv2 Security and the Transaction specifications). | 
|  | Sun representative on OMG Messaging Revision Force, Interoperable Naming Service and Interop Task Forces. | 
|  | Designed implementation architecture for OMG GIOP 1.4 (formal/99-10-11), notably: fragmentation. | 
|  | Designed and implemented proprietary IOR and Request/Reply interceptors for use by J2EE Reference Implementation. | 
| 3/1998 - 2/1999 | Chief Architect, LISP Technology, Autodesk, San Rafael, California | 
|  | Shipped Visual LISP in AutoCAD 2000 | 
|  | Shipped Visual LISP 1.0 plug-in product for AutoCAD R14 on Windows 95/98/NT.  Voted a top CAD product of 1998 by Cadence magazine. | 
|  | Replaced AutoLISP command-line interpreter with VM/compiler/IDE-based Visual LISP. (LISP is the main customization language used by AutoCAD's 2 million users.) | 
|  | Designed API for Visual LISP 1.0 | 
|  | Led a team of engineers in Moscow and California. | 
| 12/1994 - 2/1998 | Staff Engineer, Software, SunSoft (Sun Microsystems), Mountain View, California | 
|  | Detail follows: | 
| 9/1997-2/1998 | CORBA Sustaining Engineer, (Sun) | 
|  | Defined architecture to transition NEO(C++)/Joe(Java) CORBA users to Visigenic Visibroker (C++) and JavaIDL ORBs. | 
|  | Worked with Visigenic (Inprise/Borland) on phased, prioritized delivery of transition architecture. | 
|  | Worked with chief architects at British Telecom, Siemens Nixdorf, and the Royal Danish Navy implementing specific transitions. | 
|  | SunSoft representative at OMG technical meetings. | 
| 5/1997-8/1997 | Portable Object Adapter Project Lead, (Sun) | 
|  | Responsible for SunSoft's implementation of OMG's Portable Object Adapter (POA) on the Joe (Java) ORB. | 
| 6/1996-4/1997 | Object Development Framework (ODF) Project Lead, (Sun) | 
|  | (ODF is the programming API on top of Sun's C++ CORBA ORB.) | 
|  | Member of SunSoft team which developed the OMG Portable Object Adapter specification: orbos/97-04-14. | 
|  | Responsible for ODF portion of NEO 2.0 FCS and Joe 3.0 Beta. | 
|  | Chief architect/implementor of ODF implementation which includes the following features: server-side ORB APIs; extensions to OMG naming service; automatic factory creation and registration; server lifecycle; server agent for remote administration; automatic tracing, logging, locking, delegation; third-party persistence integration. | 
|  | Took course: "Advanced Java Networking, RMI and Joe". | 
| 12/1994 - 5/1996 | Member of the ODF team., (Sun) | 
|  | Shipped NEO 1.0 (SunSoft C++ CORBA product). | 
|  | On team responsible for ODF portion of NEO 1.0. | 
|  | Responsible for implementing and maintaining server-side APIs for the NEO product (SunSoft's OMG CORBA ORB). | 
|  | Performance testing of SunSoft's implementation of OMG Naming, Events, Property and Relationship Services. | 
|  | Designed and implemented selective locking, selective delegation, wait for commit (of transparent persistence). | 
|  | Developed and documented examples of usage of NEO's advanced features: locking, delegation, object lifecycle, subobjects (i.e., flyweights), user-defined persistence, tracing and logging, refdata. | 
|  | Maintained and extended ODF compiler. | 
|  | Creation and codemerge of automatically generated server code. | 
|  | Source code gatekeeper | 
|  | Took course: "SunOS Internals for Employees". | 
| 12/1983 - 1/1994 | Senior Systems Programmer, Center for Software Science, Department of Computer Science, University of Utah, SLC, UT | 
|  | Designed and implemented a distributed version of C++ for network workstations and the Mayfly Parallel Processing System. | 
|  | Visualization of distributed systems, specifically, Distributed C++, Concurrent Utah Scheme, and Mach Shared Objects. | 
|  | Lisp (Scheme) language design and compilation for the Mayfly Distributed Parallel Processing System (joint research with Hewlett-Packard Research Laboratories, Palo Alto, California), and for the FAIM-1 Symbolic Multiprocessing System (joint research with Schlumberger Research Laboratories, Palo Alto, California). | 
|  | Closure analysis and representation. | 
|  | Development, maintaining, and porting of Utah Common Lisp and Utah Scheme (compiler, interpreter, debuggers). | 
|  | Implemented "modularization" of Utah Lisp to a minimal system LISP base on top of which we built Utah Scheme, Utah Common Lisp Subset and Utah Common Lisp | 
|  | Developed a retargetable, highly optimizing Lisp compiler based on an architectural description of the target machine. | 
|  | Retargeted the Portable Standard Lisp (PSL) compiler to produce C code, then using that compiler to compile the PSL runtime system.  The resulting C files are ported to new Unix/C machines within one week. | 
|  | Development, maintaining, and porting of PSL and Portable Common Lisp Subset (PCLS) (compiler, interpreter, debuggers) on various machines. | 
|  | Increased PSL portability by implementing a portable linker to support export programs (delivery vehicles) and bootstrapping Lisp systems. | 
| 1/1981 - 12/1983 | VLSI-CAD Systems Programmer, Patil Systems, Inc., SLC, UT | 
|  | Designed, implemented, documented and maintained an asynchronous, event driven, gate and functional level logic simulator including a signal algebra.  Prototype in Lisp.  Production version in C/Unix. Wrote Lisp interpreter in C to provide a fully programmable user interface to the simulator. | 
|  | Designed and implemented a high-level Hardware Description Language (before VHDL and Verilog) to drive and check simulation results. | 
|  | Note: Patel Systems became Cirrus Logic. |