Resume Bela Ban

4114 Upson Hall, Cornell University
Ithaca NY 14853
bba@cs.cornell.edu
http://www.cs.cornell.edu/home/bba
W: (607) 255-9205

OBJECTIVE

  • Research or development position in one of the following (or similar) areas:
    1. Distributed Systems, Middleware, Communication and OOT, Networking
    2. Large-scale reliable data dissemination (e.g. video on demand): SRM, probabilistic broadcast
    3. Reliable and Fault-Tolerant Systems
    4. Message Buses (publish/subscribe)
    5. Components / design patterns for networks / reliability
  • Position must be in California (Greater Silicon Valley area preferred)
  • Optional: continue work on 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

Post-Doctoral Researcher 1997-1999
Computer Science Dept, Cornell University, Ithaca NY
  • Work on 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
Researcher1994-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 Engineer1992-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-op1989-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 Teacher1988-1989
Detroit (MI), St. Cruz (CA)
  • International exchange program, teaching German at HS level
Programmer1985-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 etc.
Natural Languages: German, English, French
Middleware: RMI, Corba
Design: Design Patterns, OOT, components, metaobject protocols
Operating Systems: UNIX (Linux, AIX), 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