Over thirty-five 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 network switch modules, custom and standard protocols, file system redirectors, filter and device drivers, often coordinating with nationally- and internationally-distributed teams.
Thorough knowledge of GHS Integrity RTOS and Multi debugger, JTAG probe debugging, Windows kernel architecture, FreeBSD/Linux application models, Linux kernel configuration and trimming for embedded applications.
Experience with Linux device drivers, Yocto Project, BSPs, x86, PPC, ARM.
Proficient in C/C++, Assembly, Broadcom ASICs and SDK, I2C, WinDbg, GDB, IXIA, Lab Manager, Visual Studio, Git, Gerrit, ClearCase, VSS, SVN, Perforce, Jira, Atlassian, InstallShield, NSELib, POSIX Threads, Berkeley Sockets, Winsock, Winsock Kernel (WSK), TDI, Windows and UNIX APIs, SMP, PCI, PCIe, SCSI, ATA, CIFS, TCP/IP, SNMP, Mocana, HTTPS, TR-069/CWMP. Knowledge of OpenSSL, RADIUS, IGMP, MLD, STP, PVST.
US citizen, with ability to obtain any necessary security clearance.
Hewlett-Packard (2010 - current) – Embedded RTOS Kernel Applications Designer & Developer
Working on small-business (Aruba 2930) and campus-class wired network switch development, on GHS Integrity RTOS and Linux, with teams scattered all over the world.
Working on Linux kernel configuration, Yocto, OpenSwitch.
Contributed to the design of a complex module hot-swap architecture for a new continuous-operation campus-class switch family. Documented boot-up, shutdown, use-cases of failovers, component recovery, hot insertion/extraction, manual and SW-driven reset down to the FPGA register granularity.
Played key roles in the bring-up of the E2620 (PPC-based), 2530 (ARM-based) and 2930 (ARM-based) families.
Designed, implemented and documented the I2C driver for the Aruba 2930 switch family, for both boot ROM and run-time use.
Reworked the core design and implementation of the I2C subsystem across all switch families to improve its robustness and add flexibility in accommodating device-specific table-driven timing and handling. Used oscilloscope image analysis to pinpoint H/W and SW issues. Wrote related design specification and test plan for all switch families.
Responsible for TR-069 module. Ported a TR-069 client package from Linux to GHS Integrity for the E2620, 2530, 2920 and 2930 switch families. Created a shim layer to map OpenSSL calls to the Mocana SSL/TLS library to enable HTTPS for TR-069. Implemented TR-069 file transfer on Curl. Reworked several areas and achieved up to thirty fold performance improvement in particularly onerous operations. Made the client work for both stand-alone and stacked switches. Acquired great familiarity with IMC/BIMS, a TR-069 ACS. Documented zero-touch configuration for Sales Architects, with detailed use cases for DHCP-based automatic configuration, and ACS templates for massive parametric deployment of configuration files and software through IMC/BIMS. Wrote design specification and unit test plan.
Responsible for L2 Address Manager across all Broadcom-based switch families. Ported the Broadcom-based L2 Address Manager to new switch families, such as the Procurve E2620 and 2530. Maintained it for several years and expanded it to support dual-hashing and MAC-based VLAN. Re-architected some modules to achieve higher performance. For example, reduced MAC address aging processing time eighteen fold. Refactored the L2 APIs for all Broadcom- and ProVision-based switches by defining and implementing a common Hardware Abstraction Layer.
Adapted the 2530 BSP DMA support from PPC to ARM, which requires SW-enforced cache coherency.
Designed, specified and implemented a DMA driver for a switch family based on the BCM5328X ASIC and Marvell ARM SoC, to support CPU-ASIC packet transfer.
Worked extensively with the Broadcom SDK and several ASICs, such as BCM5331X, BCM567X, BCM532X2, BCM56020, BCM5614X, and BCM5328X, on systems with CPU based on PPC, ARM, x86.
Designed and implemented a switch POST module in C, reusable across multiple families without changes, by leveraging existing APIs and switch model parameters.
Troubleshot numerous defects in both shipping and under-development systems, across all software modules. Reproduced sometimes complex customer scenarios and root-caused malfunctions using Gale Technologies Lab Manager, JTAG probes, GHS Multi Debugger and IXIA machines.
Trained and mentored new-hires on low-level switch architecture and debugging techniques.
Licensed memPARTNER, a fully-owned memory tracker and leak detection program, to HP, who adopted it worldwide as an always-on tool during switch development and testing. It found dozens of subtle memory corruption cases and several leaks before they reached customers. It never malfunctioned, earning high praises from developers and managers alike.
Received commendations from directors, architects and managers for quality, pro-activity, productivity, autonomy, flexibility and company loyalty. Established excellent rapport with colleagues. Was offered permanent employment on multiple occasions.
Peaxy, Inc. (2013-2014) – File System Redirector Design & Development (all work done off site)
Designed and implemented a full file system redirector driver for Vista, Windows 7 and Windows 8.
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 on FreeBSD 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.
Designed and implemented a full file system redirector driver running on Windows 7/XP/Server 2003/Server 2008/Vista. 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.
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.
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.
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. Wrote a re-usable, table-driven, custom graphical installer and uninstaller for the driver and software package using the Windows XP Setup APIs and MFC.
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 “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. 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 start.
Wrote the functional specification of a router for a new NPU. Designed and documented all fundamental router algorithms.
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 analyzer and test program for the router and wireless controller.
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 multi-processor systems. The driver used SCSI miniport and TDI technologies, and leveraged SCSI Port driver internals. 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.
CopperCom (1997-1998) – Carrier Network Device Architect [Reference]
Co-designed a fault-tolerant intelligent access multiplexer for Voice/Data-over-ATM-over-ADSL telecommunications, based on industry standards like CompactPCI, I2O, I2C, IxWorks, VxWorks. Wrote functional and technical specifications for the entire software system. Offered several ideas to improve the hardware design.
NetFRAME Systems (1996-1997) – 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, to support PCI card hot-swap. The agents were eventually patented by Micron-NetFRAME. Developed stress tests for the SNMP agents that uncovered subtle 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-1996) – Embedded Document Management Architect [Reference]
Designed Windows-based driver- and application-level S/W architecture for the V20, a 13.6 million dollar Ricoh project for a multi-functional networked unit supporting scanner, printer, copier, fax, and e-mail.
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 new PCI IDE Bus Master adapter that supported four devices on two buses.
SGS-Thomson Microelectronics (1994) – Windows NT Kernel Specialist (all work done off site) [Reference]
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. Recommendations were incorporated in the final Chameleon silicon.
Ing. C. Olivetti & C. 1981-1993 (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. Ported Windows NT to Olivetti SMP servers and workstations, managed Olivetti-Microsoft communication channels, Olivetti machines supply to Microsoft certification labs, Olivetti engineers training on NT.
Open System Architect, responsible for UNIX-PC internetworking architecture definition in Italy.
Software Engineer. Worked at UCB on DASH, a new distributed/secure/SMP OS. Wrote device drivers for an Olivetti-proprietary SMP OS. Responsible for the Secure UNIX project to achieve 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.
in Computer Science at the University of Turin, Italy. Graduated Summa cum Laude.
Graduated Summa cum Laude.