Reliable Computer Systems Consulting

Softwarearchitektur, Konzepte und Entwicklung für hochverfügbare und fehlertolerante Systeme



Kontakt

Name:Dr./USA Ruppert Koch
Email:ruppert@rcsc.de
Telefon:089 / 7432 6886
Mobiltelefon:0163 / 286 2354



Personaldaten

Name:Koch
Vorname:Ruppert
Adresse:Tutzinger Straße 2, 81369 München

Jahrgang:1968
EDV-Erfahrung seit:1987
Staatsbürgerschaft:Deutsch
Stundensatz:70 - 90 EUR, abhängig von Projektdauer und Einsatzort
Einsatzort:Bevorzugt München und Umgebung
Bundes- und weltweit ohne 100% Anwesenheit
Einsetzbar:Voll- und Teilzeit
Verfügbar ab:01. Januar 2009
Verfügbar:100%



Positionen

Softwarearchitektur, -design / Technische Projektleitung
Software-Entwicklung / Programmierung
Beratung / Consulting
Coaching / Schulung / Training



Ausbildung

1996 – 2000Ph.D. Electrical & Computer Engineering (Univ. of California, Santa Barbara, USA)
1995 – 1996M.S. Electrical & Computer Engineering (Univ. of California, Santa Barbara, USA)
1989 – 1995Dipl.Ing. Elektrotechnik (Univ. des Saarlandes, Saarbrücken)



Fremdsprachen

Deutsch:Muttersprache
Englisch:Verhandlungssicher



Programmiersprachen

C/C++Sehr gute Kenntnisse, Applikations- und Kernelprogrammierung
AssemblerSPARC, x86
MaschinensprachenSPARC, x86, 8085
Modula-2
Occam
Pascalsehr gute Kenntnisse
Basic
ADA
PLM
HPGL, HP PCL
Perl
Shellskript
TeX, LaTeXGute Kenntnisse
LabView
UML



Betriebssysteme

Unix, Linuxsehr gute Kenntnisse, System- und Kernelprogrammierung
Solaris, SUN OSgute Kenntnisse, Systemprogrammierung
HPUXgute Kenntnisse, Systemprogrammierung
VxWorksgute Kenntnisse, Systemprogrammierung
MS-DOSgute sehr Kenntnisse, Systemprogrammierung
Windowsgute Kenntnisse, Systemprogrammierung
Echtzeitbetriebssystemegute Kenntnisse, Systemprogrammierung
GPFSgute Kenntnisse



Datenkommunikation

Internet, IntranetSehr gute Kenntnisse
EthernetSehr gute Kenntnisse
TCP/IPSehr gute Kenntnisse über die Interna des TCP stacks
Sockets, WinsockSehr gute Programmierkenntnisse
LAN/WAN MulticastSehr gute Kenntnisse
CORBAKenntnisse über ORB Kommunikation
ATMSehr gute Kenntnisse



Hardware

PCSehr gute Programmier-, Administrator- und Anwenderkenntnisse
SUNSehr gute Programmier- und Anwenderkenntnisse
HPSehr gute Programmier- und Anwenderkenntnisse
EchtzeitsystemeProgrammierkenntnisse
Embedded SystemeProgrammierkenntnisse
MikrocontrollerProgrammierkenntnisse
Hardware entwickelt8085 Einplatinencomputer & Peripherie
MacintoshAnwenderkenntnisse
MessgeräteIEEE-448 Busprogrammierung



Produkte/Standards/Erfahrungen

GNUToolsgcc/g++, make, gmake, gdb, xdb
Tornado 2.0
Microsoft Visual Studio C++
CVS
Rational Clearcase
Microsoft OfficeWord, PowerPoint, Project, Visio
OpenOffice
LaTex
Emacs



Projekte

Designanalyse und -dokumentation einer hochverfügbaren Bandlaufwerksvirtualsierungslösung

Fujitsu Siemens Computers, München (3 Monate)

Die CentricStor Bandlaufwerksvirtualsierungslösung erlaubt das Betreiben aller Art von Bandlaufwerken an allen Arten von Mainframes und Unix-Servern. CentricStror beinhaltet einen festplattenbasierten Cache, welcher mittels IBMs General Purpose File Systems (GPFS) verwaltet wird. Eine CentricStorinstallation besteht aus einem hochverfügbaren Computercluster, der bis zu 20 Servern und 8 RAID-Systemen umfasst, und über mehrere Standorte verteilt ist.

Analyse der existierenden Softwareplattform. Verifikation des Designs und der verwendeten Algorithmen. Erstellen einer technischen Designdokumentation für das bestehende System.

Live ugprade eines Telekommunikations-Netzwerkknotens

Siemens AG, München (18 Monate)

Ein Upgrademanagermodul erlaubt den Upgrade der Software eines Telekommunikations-Netzwerkknotens, der als Carrier Grade Linux Bladeserver implementiert ist. Der Upgrademanager teilt das System in zwei logische Hälften, führt den Softwareupgrade nacheinander auf beiden Hälften durch. Im Falle eines Fehlers rollt der Upgrademanager alle bis dahin ausgeführten Schritte zurück, und setzt das System in seinen ursprünglichen Zustand zurück.

Verifikation der technischen Spezifikation des Upgrademanagers. Design des Upgrademanagers nach vorgegebenen Spezifikationen. Koordination der Implementierungsarbeiten. Konzeption, Design und Implementierung eines Fehlerinjektionsmoduls zur künstlichen Erzeugung von Fehlerzuständen in C++ unter Carrier Grade Linux.

Speichersysteme für große Videoüberwachungseinrichtungen

Dallmeier electronic GmbH, Regensburg (2 Monate)

Erstellen einer Vergleichsstudie zwischen kommerziellen Network Attached Storage Systemen und proprietären digitalen Videorekordern für Videoinstallationen mit einem Gesamtspeicherbedarf von >1000TB.

Konzeption des Virtual RAID Systems, einem effizienten RAID-Verfahren, welches auf die Aufzeichnung von Videostreams hin optimiert ist.

Rekonfigurierbarkeit von Computersystemen für Luftfahrzeuge

EADS, München (1 Monat)

Erstellen einer Studie über Rekonfigurierbarkeit von Computersystemen für Luftfahrzeuge. Die Studie beschreibt Methoden der Rekonfigurierung als Mittel zur Erhöhung derZuverlässigkeit von Computersystemen und bewertet diese hinsichtlich des Implementierungsaufwands und der Verifizierbarkeit.

In Zusammenarbeit mit dem EADS Corporate Research Center Germany und der Technischen Universität München.

Designanalyse und -dokumentation einer hochverfügbaren Softwareplattform für Telekommunikationsanwendungen

Fujitsu Siemens Computers, München (6 Monate)

Die Softwareplattform bildet eine Infrastruktur, die die einfache Erzeugung hochverfügbarer Anwendungen innerhalb eines Clusters erlaubt. Die Plattform läuft auf UNIX Computerclustern. Sie verbirgt die physikalische Struktur des Clusters vor den Anwendungen (single node image). Im Falle eines Fehlers startet die Plattform die beendeten Anwendungen automatisch. Des weiteren stellt sie eine Kommunikationsinfrastruktur zur Verfügung, sowie Fehlererkennung, Checkpointing, Fehler- und Event-Management.

Analyse der existierenden Softwareplattform. Verifikation des Designs und der verwendeten Algorithmen. Erstellen einer technischen Designdokumentation für das bestehende System.

Aktive Replikation eines TCP Endpunkts

Eternal Systems, Inc., Santa Barbara, USA (9 Monate)

Ein redundantes Serverpaar bearbeitet gemeinsam eine TCP-Verbindung mit einem Client ohne jegliche Modifikationen der Clientapplikation, des Clientbetriebssystems oder der Serverapplikation. Das System toleriert den Ausfall eines Servers während eine TCP-Verbindung besteht. Ein neuer Server kann in eine bestehende TCP-verbindung mit integriert werden.

Konzeptentwurf und Entwicklung der Algorithmen, Implementierung eines Prototypen in C und Integration in den Kernel von FreeBSD 4.3.

HA Middleware für Linux/Unix Cluster

Eternal Systems, Inc., Santa Barbara, USA (10 Monate)

Hochverfügbarkeit wird erreicht durch regelmäßiges Checkpointen und automatisches Neustarten von Applikationen. Eine Modifizierung der Applikationen ist nicht notwendig. Der Funktionsumfang der Software umfasst das automatische Checkpointen aller Applikationen eines Hosts, Checkpointmanagement, die Erkennung von Crash- und Deadlockfehlern, das automatische Neustarten aller Applikationen auf einem Backuphost, das Einspielen der Checkpoints, sowie Erstellung und Versendung von Fehlerreports.

Planung, Entwurf und Erstellung der Produktspezifikationen. Leitung eines dreiköpfigen Teams zur erfolgreichen Implementierung in C/C++ eines Prototypen unter Carrier Grade Linux und BSD.

Hochskalierbarer und geographisch weitverteilter Fehlerdetektor

Eternal Systems, Inc., Santa Barbara, USA (9 Monate)

Eine große Zahl von Alarmmodulen senden Alarmmeldungen an eine verteilte, redundante Datenbank. Der Ausfall und Neustart von Alarmmodulen führt zu Fehlermeldungen.

Konzept, Design, Entwicklung und Implementation in C/C++ auf einer Reihe von Embedded-, Desktop- und Serverbetriebssystemen.

Fehlertolerante Kommunikationsprotokolle (group communication protocols)

Eternal Systems, Inc., Santa Barbara, USA (15 Monate)

LAN und WAN-basierte Kommunikationsprotokolle. Nachrichten werden per Multicast an eine Gruppe von Hosts gesendet. Alle Hosts empfangen die Nachrichten in der gleichen Reihenfolge (causal and total order, virtual synchrony). Die Gruppe ist dynamisch.

Design, Entwicklung und Implementierung in C/C++ unter Solaris, Linux, VxWorks und Windows NT. Leitung eines zweiköpfigen Teams.



Referenzen

Projekte im Bereich der fehlertoleranten und hochverfügbaren Systeme, 10/00 - 07/03. Referenz durch Vice President of Engineering, Eternal Systems, Inc., vom 07/2003:

"Dr. Koch was employed by our company from October 1, 2000 through July of 2003. He joined the company as Senior Computer Systems Engineer and quickly rose in the ranks. He has had both managerial and technical responsibilities and easily switches between the two. By early 2002 he had been promoted to Director of Engineering and by fall of 2002 had assumed the role of Chief Architect for the company's new product line. The employee has tremendous technical depth and breadth and has continued to apply himself successfully in various roles. He has had leadership participation in virtually all of the company's products and technologies. [...] Dr. Koch has a solid engineering discipline and understands the development process from concept to released product. His methodical approach and strong work ethic has proven itself on numerous occasions. He has on multiple occasions assisted sales at customer meetings and worked on proposals and customer requirements. Both, customers and our sales force have had nothing but praise for the employee's professionalism, technical knowledge and ability to communicate. [...] I give him my highest recommendations. I am convinced that he will be a major asset to any future employer."