Resume Bela Ban

 
Kreuzlingen, Switzerland
belaban@yahoo.com
http://www.jgroups.org
EDUCATION
Post-Doc, Cornell University Dec 1999
PhD Computer Science, University of Zurich Nov 1997
Masters degree in Computer Science, English and Economics, University of Zurich June 1992
WORK EXPERIENCE
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. 
SKILLS
Computer Languages: Java, C++, Common List (CLOS), Smalltalk, GOMscript (my own C++-like interpreter), VB, TCL, Python, awk, sed etc. 
Languages: German, English, French
Middleware: RMI, Corba
Design: Design Patterns, OOT, components, metaobject protocols
Operating Systems: UNIX (Linux, AIX, Solaris), WinXX, Mac
PAPERS
Dissertation: A Generic Management Model for CORBA, CMIP and SNMP (Abstract, diss.pdf.gz, diss.ps.gz
Slides thesis defense (in German)
Static vs. Dynamic Network Management
An Object-Oriented Framework For Multi-Domain Management
Using Java for Dynamic Access to Multiple Object Models
Extending CORBA for Multi-Domain Management(slides)
A Generic Object Model for Multi-Domain Management
Adding Group Communication to Java in a Non-Intrusive Way Using the Ensemble Toolkit
JGroups -- Group Communication Patterns in Java
Static vs. Dynamic Method Resolution in Java: The Case For Argument-Based Method Selection (Code: MethodCall.java, MethodCallTest.java
Design and Implementation of a Reliable Group Communication Toolkit for Java
Open Source - A New Software Development Paradigm
State Transfer in the JGroups Toolkit
Implementing Group Protocols Using Dynamic Remote Method Invocations (draft)
OTHER INTERESTS
Biking, running, tennis
Triathlon (Ironman finisher)
Marathon (New York, Boston)
Swing Dancing