SUMMARY
·
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.
CONSULTING EXPERIENCE
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.
PUBLICATIONS
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.
6105089, 6058445, 20090271412
(application).
EDUCATION
BS in Computer Science at
the University of Turin, Italy.
Microsoft Windows NT Product
Specialist.
Available on-line at www.apogeo.com/referrals.pdf
(excerpts at www.apogeo.com/referrals.htm).