Lead JGroups |
2003- |
JBoss / Red Hat, Kreuzlingen, Switzerland |
JBoss Clustering team |
|
|
|
|
|
|
Principal Software Engineer |
2000-2003 |
Fujitsu Network Communictions, San Jose, California |
|
Network Management Systems |
|
-
Design and implementation of a management framework for Network Management
System (NMS). Includes activation, monitoring and restarting of (failed)
servers. Project based on CORBA/Java.
-
Design of High Availability (HA) architecture for NMS. Involves data replication
and failover of crashed management servers to geographically distant backup
server(s). Co-lead for overall project.
-
Management and development of the JGroups
open source project
|
|
|
|
Post-Doctoral Researcher |
1997-1999 |
Computer Science Dept, Cornell University, Ithaca NY |
-
Designed and implemented a reliable group communication toolkit (JGroups)
(Java). Implements fault-tolerance through redundancy: service requests
are sent to a logical group of servers instead of a single server. As long
as at least one server in the group is functioning, the service as a whole
is available.
-
Focus on reusable object-oriented building blocks for group communication,
especially for protocol development
-
Advisor to several student projects using JGroups: distributed whiteboards
including chat and video/audio streams, RMI extension (modification of
rmic to broadcast requests to groups instead of single servers), Multi-User
Dungeons, total order protocol
-
Teaching CS100 sections
|
|
Researcher |
1994-1997 |
IBM Research Laboratory, Zurich, Switzerland |
Network Management Group |
-
PhD thesis on CMIP/SNMP/Corba based network management
(C++). Use of various different management models (SNMP, CMIP, Corba) through
a Corba-based unified model (client side). Implemented by parsing model
definition (e.g. SNMP MIB, CMIP GDMO/ASN.1) into a metadata repository,
dynamic access at runtime by metadata use and adapters (e.g. Corba's Dynamic
Invocation Interface).
-
OSI TMN/6000 CMIP agent development toolkit (C++). Implemented saving an
agent's MIB to persistent storage using ObjectStore's OODBMS. Collaboration
with ObjectStore on implementing very large MIBs (hundreds of thousands
of objects). This work resulted in an IBM product (TMN/6000, part of NetView/6000).
-
Conducted performance study on how the TMN/6000 agent scales to multiprocessor
systems (SP2, SMP). Suggested improvements to development division (IBM
Networking Division, Raleigh).
|
|
Knowledge Engineer |
1992-1994 |
Intelligent Systems Engineering AG, Taegerwilen, Switzerland |
-
AI-based configuration management software product (C++). Guided user-performed
configuration of complex products by capturing configuration rules/dependencies
as AI rules. Final configurations are correct in that they satisfy all
rules.
-
AI-based error diagnostics software product (C++). User is guided through
fault-trees in diagnosing a problem and correcting it.
|
|
Co-op |
1989-1992 |
IBM, Zurich, Switzerland |
-
Design/implementation of a dealer commissioning system (C++, DB2). Data
is entered into local DB2 database and periodically uploaded to MVS DB2
database. Implemented GUI (OS/2 presentation mgr), DB2 database access
and host access (HLLAPI).
|
|
Assistant Teacher |
1988-1989 |
Detroit (MI), St. Cruz (CA) |
-
International exchange program, teaching German at HS level
|
|
Programmer |
1985-1986 |
Swiss Army |
-
Replicated databases for intelligence-gathering (MS SQL Server, C++, Visual
Basic). Intelligence (flight tracking data) gathered at various outposts
is replicated into central DB, where data mining extracts essential information.
Implemented entire system, replacing old Access-based system with MS SQL
Server.
|