Resume Bela Ban

 
San Jose, CA 95124
belaban@yahoo.com
http://www.belaban.com/~bela
W: (408) 895-1732
OBJECTIVE
  • Type of position: Principal Architect, Project Leader or Consultant
  • Field: 
    • Distributed Systems, Middleware, Communication and OOT, Networking 
    • Large-scale reliable data dissemination (e.g. video on demand)
    • Wireless systems
    • Reliable and Fault-Tolerant Systems, Clustering, High Availability, Replication
    • Message Buses (publish/subscribe) 
    • Components / design patterns for networks
    • Consulting for projects using JavaGroups
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
Principal Software Engineer 2000-
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 JavaGroups open source project
Post-Doctoral Researcher 1997-1999
Computer Science Dept, Cornell University, Ithaca NY
  • Designed and implemented a reliable group communication toolkit (JavaGroups) (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 JavaGroups: 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. 
Natural 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
JavaGroups -- 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 JavaGroups Toolkit
Implementing Group Protocols Using Dynamic Remote Method Invocations (draft)
OTHER INTERESTS
Triathlon (Ironman finisher)
Marathon (New York, Boston)
Swing Dancing