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. |