· Twenty-nine years of operating system project development and management.
· Consistently delivered designs and custom software that exceeded customer’s specifications.
· Proven record of complex projects completed on time and on budget from GUI to the lowest kernel modules, and from architecture design to development to QA, mostly performed independently.
· Ability to find creative solutions to apparently impossible and/or complex problems, resulting in unique products and drastically reduced development costs.
· Strong communication skills with the ability to clearly present complex information to diverse groups and individuals.
· Effective troubleshooter with the ability to quickly identify problems and implement practical solutions.
· Consistently selected for the most advanced projects.
· Recognized entrepreneurial spirit and attitude.
· Effective team builder and leader recognized for ability to train and motivate engineers.
· Actively participated in international standard committees.
· Hands-on experience in designing and implementing file system drivers and filters, device drivers, custom and standard protocols, protocol analyzers, and router software models for the embedded market.
· Thorough knowledge of Windows kernel architecture and FreeBSD/Linux application models. Good knowledge of FreeBSD kernel driver model.
· Extensive experience with the entire Windows NT source tree at Microsoft.
· Very familiar with C/C++, MFC, Assembly, WinDbg, GDB, Visual Studio, VSS, SVN, Perforce, InstallShield, SNMP, NSELib, POSIX Threads, Berkeley Sockets, Winsock, Winsock Kernel (WSK), TDI, Windows and UNIX APIs, NAS, NPU, SMP, PCI, PCIe. SCSI, ATA, CIFS, TCP/IP, SNMP.
· Knowledge of COM/DCOM, ATM, ADSL, Java, NDIS, iSCSI.
MaxiScale, Inc. (2007 - 2010) – Key Contributor to Massive-Scale Distributed File System Design & Development (all work done off site) [Reference]
· Worked since company startup on the FLEX product, centered on the MaxiFS distributed file system on FreeBSD.
· Designed and implemented a highly-efficient reliable multicast RPC protocol for all client-cluster and intra-cluster communications, capable of reliable transmissions of any payload length over UDP through fragmentation/reassembly. Implemented it on FreeBSD for use by the file system. Wrote a series of positive and negative tests covering all corner cases and all possible payloads.
· Designed and implemented a full file system redirector driver running on 32- and 64-bit Windows XP, Windows Server 2003, Windows Server 2008, Vista, and Windows 7. It allowed applications to access MaxiFS clusters transparently, via UNC and mapped drives. Implemented security based on ACLs, owner and group SIDs by mapping security descriptors to UNIX permissions/UID/GID and vice-versa.
· Designed the multicast RPC protocol driver for Windows using TDI on XP/2003, and WSK on Vista/2008/7.
· Designed and implemented a real-time file repository cataloguing program on FreeBSD resilient to crashes. It kept track of every file creation and deletion using a data structure that grew proportionately to the number of existing files rather than operations.
· Designed and implemented a file replication policy program based on name suffix using the Patricia Tree model on FreeBSD.
· Designed and implemented a very-fast and highly-configurable logging and debugging library used by all cluster-side components on FreeBSD for troubleshooting network communications, memory underruns/overruns, memory leaks, random memory corruptions.
· Developed a handle-expiration check module of the MaxiFS server, and familiarity with the entire file system implementation.
· Debugged several complex multi-node and multi-client interactions using the output of the authored logging facility.
Network Appliance, Inc. (2006 - 2007) – Embedded Device Driver and Utility Designer & Developer (all work done off site) [Reference]
· Designed and developed a file repacking utility for secondary storage based on ONTAP (UNIX-derivative).
· Designed and developed an ONTAP driver for a 4-processor PCIe (PCI Express) compression card. Integrated the driver with WAFL, the ONTAP file system. Wrote a sophisticated test program capable of generating any type of load for the driver, covering all normal and corner cases. Documented all project phases.
Attune Systems, Inc. (2004 - 2006) – File System Filter Driver & CIFS Redirector Architect & Developer (all work done off site) [Reference]
· Designed and developed a fully-asynchronous highly-parallel CIFS redirector for the customer's Network File System on Windows Server 2003.
· Worked on an embedded Server 2003–based distributed file-level virtualization system capable of presenting to users any number of NAS volumes as if they were a single volume. The file system supported NFS and CIFS clients, and CIFS servers. It supported RAID 1 and 5 across NAS volumes. Designed and developed a library that called the Server 2003 redirector bypassing the I/O Manager, Object Manager and MUP driver. The library created IRPs from scratch, and built a security context for create operations that guaranteed the use of a single session in the redirector. The library provided file open, create, read, write, delete, set attributes, get attributes, and close functions to the customer’s Network File System Driver, resulting in significant performance gain over the use of Zw APIs and I/O Manager interfaces for the same operations.
· Designed and developed a file system filter driver for routing I/O requests submitted by the CIFS server driver (SRV.SYS) to NAS volumes through the redirector, using a routing table. Implemented the routing mechanism in a way that removed the filter driver from the I/O path after processing each create request.
· Designed and developed a file system filter driver that provided opportunistic locks (oplocks) to the CIFS server driver for requests directed to the redirector. This involved thorough understanding of opportunistic locks handling by the redirector itself.
Konica-Minolta (2004) – COM and MFC Architect & Developer (all work done off site)
· Designed and developed a Shell Name Space Extension to represent multifunctional document-automation servers for Windows XP/2000/NT/ME/98. The extension showed and controlled a tree of KM servers that incorporated scanner, copier and printer in one device. It allowed drag & drop of files from Explorer to print queues, from scanner to print queues or Explorer. Saved customer two-man months by adopting NSELib. It supported server enumeration, server logon, multi-user folders and accounts on servers.
Symbol Technologies (2004) – NDIS 802.11 WLAN Driver and GUI Application Developer (all work done off site) [Reference]
· Adapted the PCMCIA LA302x 802.11 NDIS driver, INF file, co-installer, Control Panel applet, and monitoring software suite to Windows XP. Previously, the driver could only run on Windows NT/2000. Wrote a re-usable, table-driven, custom graphical installer and uninstaller for the driver and software package using the Windows XP Setup APIs and Microsoft Foundation Classes. Wrote INF installer and MFC uninstaller for same LA302x driver on Windows CE 4.2 .NET. Worked on the IBM Pinehurst Windows CE 4.2 .NET x86 platform, building the OS and the 802.11 WLAN driver with the IBM Platform Builder 4.2 .NET.
Solution-Soft Systems (1998- 2003) – Storage Management Architect & Developer, Driver Developer (all work done off site) [Reference]
· Designed the GUI and internal architecture of SafeCapacity, an advanced policy-based storage management system capable of performing unattended file compression and migration by time or by threshold, with automatic e-mail notification of selected events. Implemented the engine of the product as a Windows service and a driver using the NTFS Reparse Points. Was one of a total of five companies worldwide that exploited this powerful technology. The service interpreted the storage policy, while the driver resolved symbolic links to migrated files to show them to applications as if they were still present on the local volume. Implemented all user-mode components in C++ and MFC.
· Designed and developed all versions of “e-Space,” a policy-based storage management system for Windows NT/2000. The e-Space system constantly monitored selected local and/or remote drives, directories, and files to determine if they matched system administrator-defined criteria that would trigger compression. Independently designed and coded all components of the product, including GUI, on-line manual, service module, application module, and InstallShield installation. Implemented all components in C++ and MFC. End users expressed special appreciation for the GUI usability and effectiveness.
· Designed and developed all versions of “Time Machine,” a successful product for time simulation and time zone adjustment for Windows NT Terminal Server Edition, Windows 2000/2003 Terminal Services, and Citrix Metaframe. Time Machine provided each user, group of users, or Terminal Services session with a virtual clock that did not interfere with the system clock or other users’ virtual clock. Had total control over both the design and implementation tasks. The product was the only solution for time zone correction available on the Microsoft platforms for several years. It was made of kernel, GUI, CLI, and service modules written in C/C++/MFC. Implemented InstallShield-based installation. Time Machine was the ninth non-Microsoft product to earn the Windows 2000 Terminal Services Compatible logo. Only ten Microsoft products had earned this distinction. Invented some kernel technologies to provide virtual clocks on a per-user basis, which would be otherwise impossible without changes to the operating system source code.
Nvidia Corporation (2001-2002) – Embedded Network Software Architect & Developer (most work done off site) [Reference]
· Worked on the project for 22 months, since the beginning.
· Wrote the functional specification of an layer-3 router for a new NPU capable of handling Ethernet II, 802.3/SNAP, 802.11a/b, 802.1p/Q, IPv4, IPv6, Mobile IP, IPSec, PPPoE, checksum offload for IPv4, TCP and UDP, multicasting, DHCP, L2TP, PPTP, NAT, traffic prioritization based on class of service. Designed and documented all fundamental router algorithms from scratch.
· Designed and implemented a C++ software reference model of a 16-port version of the router, including a stateful firewall, running on Windows and Linux. Also implemented a reference model of a single-port 802.11a/b controller, with extensions to make it part of the router, with routing and bridging functions.
· Implemented a platform-independent pseudo-graphical protocol viewer used for analyzing input, intermediate (in-between H/W subunits), and output protocol traces.
· Implemented a highly-configurable test program to test the router and wireless controller. The program generated communications streams across all ports, with all possible payload lengths, using all types of Ethernet or 802.11 frames, with IPv4 or IPv6, with selectable IP and TCP options, selectable IPSec encryption and authentication algorithms, and injectable errors. Wrote several tools that aided H/W engineers in their testing efforts. Wrote first router test plan.
Cisco Systems (2001) – iSCSI Device Driver Debugger and GUI Application Developer (all work done off site) [Reference]
· Debugged and fixed a hard-to-find problem in a Windows NT iSCSI driver running on 4-processor systems. The driver used SCSI miniport and TDI technologies, and relied on detailed knowledge of the SCSI Port driver implementation. Designed and implemented from scratch a C++/MFC custom graphical installation/deinstallation program for the iSCSI driver.
American Megatrends (1999) – RAID Driver Developer (all work done off site)
· Designed and developed RAID 0 & 1 disk drivers on Windows NT and Windows 9x for the Intel PIIX4 and ICH controllers. Striping and mirroring occurred within or across IDE channels. The drivers supported any combination of PIO, DMA, UDMA drives, and exploited each drive’s maximum transfer rate capability, normally not possible within the Microsoft I/O architecture. Achieved up to 100% performance improvement in transfer rate tests with RAID 0.
CopperCom (1997-98) – Carrier Network Device Architect [Reference]
· Conceived and designed a complex fault-tolerant intelligent access multiplexer for Voice/Data-over-ATM-over-ADSL telecommunications. The design was based on industry standards like CompactPCI, I2O, I2C, IxWorks, VxWorks. The system was designed to use an innovative hardware technology that virtualized the PCI bus and offered over 4GB/s bandwidth, support for 128 PCI slots, concurrent bus accesses by PCI boards, and fault tolerance. Wrote Functional and Technical specifications for the entire software system. Offered several ideas to improve the hardware design. Trained the management and technical staff on several key aspects, including I2O and network management.
NetFRAME Systems (1996-97) – Network Management Designer & Developer, Device Driver Designer & Developer [Reference]
· Designed and implemented Windows NT SNMP agents and related MIB’s for the continuously available NF9000 series of super-servers manufactured by NetFRAME. The agents were eventually patented by Micron-NetFRAME. The NF9000 series was the first to support PCI cards hot swap and hot add on Windows NT and NetWare without affecting the overall server activity. The hot-swap and hot-add operations were controlled by the SNMP agent and by a network of I2C processors that constantly monitored all the vital functions of the machine. The agents reported a detailed status of the H/W, including the I/O cards configuration. Also implemented the low-level part of the device driver that controlled the I2C firmware. Played a lead role in the integration testing of all project components, from the SNMP manager down to the firmware. Developed stress tests for the SNMP agents that uncovered hard-to-find firmware bugs.
Adaptec (1997) – SCSI Driver Developer
· Debugged and improved the Windows NT SCSI miniport driver for the ARO/AAA and Athena RAID controllers. The controllers supported RAID 0, 1, 5, 1+0, and 1+5. They could have up to 3 SCSI buses and H/W XOR. Identified driver code areas critical to reaching higher performance.
Ricoh (1995-96) – Embedded Document Management Architect [Reference]
· Designed key components of V20, a 13.6 million dollar Ricoh project to develop a multi-functional networked unit supporting scanner, 20 ppm printer, copier, fax, and e-mail. The unit's core consisted of a scaled-down Windows, for user and network interfacing, driving a RISC-based PCI multi-functional adapter that managed printer and scanner. Designed the logical PCI H/W & S/W interface between the main board and the adapter. Designed a highly-efficient, fast, and simple communication protocol for the logical channels characterized by lack of interlocking between the processors on the two sides of the PCI bus and minimum number of interrupts per transaction. The design included driver- and application-level S/W architecture for the complete product. Designed and wrote the Software Development Kit - Programmer's Reference Manual. Educated customer on Windows internals, with emphasis on the I/O subsystem, MAPI architecture, and inter-process communications.
Symphony Laboratories (1995) – IDE Device Driver Developer (all work done off site)
· Designed and implemented Windows NT and Windows 95 SCSI miniport device drivers for a PCI IDE Bus Master adapter that supported four devices on two buses. Identified H/W bugs.
SGS-Thomson Microelectronics (1994) – Windows NT Kernel Specialist (all work done off site)
· Reviewed the design of two SGS-Thomson processors (T9000 and a new 64-bit RISC processor code-named Chameleon). Wrote two Windows NT portability studies for the processors. Identified Windows NT porting issues and proposed solutions to ensure OS compatibility and higher system performance. Those solutions were incorporated in the final Chameleon silicon.
Ing. C. Olivetti & C. 1981-93 (as employee) – Device Driver Developer, Kernel & Networking Specialist [Reference]
· Project Manager, responsible for four years for the Olivetti's Windows NT project at Microsoft headquarters, Redmond, WA.
o Had access to the entire Windows NT source tree. Built kernel components using the Microsoft-internal build environment.
o Ported Windows NT (wrote multi-processor HALs) to all Olivetti x86 SMP servers and R4000 workstations.
o Helped H/W engineers bring up new SMP designs.
o Designed and implemented kernel-level Windows NT components on i860-, R4000- and x86-based machines.
o Managed Olivetti-Microsoft communication channels at all levels, Olivetti machines supply to Microsoft certification labs, Olivetti engineers training on NT.
o Opened and managed the Olivetti Advanced Technology Center in Redmond.
· Open System Architect, responsible for UNIX-PC internetworking architecture definition. Ivrea, Italy. Designed solutions for interconnecting UNIX minicomputers and PCs with MS-DOS, OS/2 and LAN Manager (SMB protocol) so as to present homogeneous user administration and login services interfaces to the distributed application environments marketed by Olivetti.
· Sr. Software Engineer. Worked at the University of California, Berkeley, on the development of a new distributed, secure, heterogeneous, multiprocessor operating system (DASH) in C++. Developed single- and multi-processor operating system components at Olivetti headquarters in Italy. Was responsible for the Secure UNIX project aimed at bringing the Olivetti UNIX to the DoD C2 level.
D. P. Anderson, D. Ferrari, P.V. Rangan, B. Sartirana: "A Protocol for Secure Communication and its Performance," Seventh International Conference on Distributed Computing Systems, Berlin, September 1987.
D. P. Anderson, D. Ferrari, P.V. Rangan, B. Sartirana: "The Empirical Evaluation of a Security-Oriented Datagram Protocol," Proceedings of Performance '87, Bruxelles, December 1987.
BS in Computer Science at the University of Turin, Italy.
Microsoft Windows NT Product Specialist.