Dem computeranimierten Film wird eine große Zukunft vorhergesagt. Die Zahl der Produktionen steigt von Jahr zu Jahr. Doch nicht jede Produktions£rma kann es sich leisten, selbst für genügend Rechenkapazität zu sorgen. Das ist die Stunde der Dienstleister. Die Firma DIGITAL SYSTEMS ist einer dieser Dienstleister. Sie bieten ihre Rechenkapazität gegen ein Entgeld an. Auf diese Weise kann es sich auch eine kleine Produktions£rma leisten, einen aufwändigen Film zu produzieren. Sie muss sich um die Unterhaltung der Computer, welche die Rechenkapazität zur Verfügung stellen, keine Gedanken machen. Sie wendet sich einfach an den Dienstleister und dieser übernimmt das Rendern, den rechenintensiven Teil der Produktion eines computeranimierten Filmes. Für den Dienstleister stellt sich jedoch das Problem, wie er seine Leistung möglichst transparent dem Kunden gegenüber abrechnen und wie er den eigenen Administrationsaufwand möglichst minimieren kann. Zudem muss der Dienstleister sicherstellen, dass seine Computer möglichst gleichmäßig ausgelastet sind und berücksichtigen, dass ein Auftrag so schnell wie möglich beendet werden soll. In der Diplomarbeit soll gezeigt werden, dass es möglich ist, eine Renderfarm mit geringstmöglichem Aufwand zu betreiben, indem der Kunde einen Großteil der Aufgaben selbst erledigen kann. Der Administrator soll nur im Notfall eingreifen müssen.
Inhaltsverzeichnis
2 Einleitung und Motivation
2.1 Einleitung
2.2 Motivation
3 Grundlagen
3.1 Allgemeines
3.1.1 Interpolation nach Lagrange
3.1.2 Three-Tier-Architektur
3.1.3 Two-Tier-Architektur
3.1.4 Demilitarisierte Zone
3.2 Protokolle
3.2.1 Internet Protocol
3.2.2 Transport Control Protocol
3.2.3 Hypertext Transport Protocol
3.2.4 Secure Socket Layer
3.3 Kommunikationstechniken
3.3.1 Parallel Virtual Maschine
3.3.2 Remote Method Invocation
3.3.3 Common Object Request Broker Architekture
3.3.4 Simple Object Access Protocol
3.4 PHP
3.4.1 Allgemeines
3.4.2 Variablen-Handling
3.5 Datenbanken
3.6 3D-Computergra£k
3.6.1 Modellierung
3.6.2 Animation
3.6.3 Rendering
4 Anforderung
4.1 IST-Analyse
4.1.1 Renderbus
4.1.2 RenderControl V.2
4.2 Zielbestimmung
4.2.1 Renderer
4.3 Zielgruppe
4.4 Einsatzgebiet
4.5 Funktionsumfang
4.5.1 GUI des Kunden
4.5.2 GUI des Administrator
4.5.3 Verteilanwendung
4.6 Hardwarespezi£kation
4.7 Betriebssystemspezi£kation
5 Konzeption und Entwurf
5.1 Datenbankentwurf
5.1.1 Wahl des Datenbankbetriebsystems
5.1.2 De£nition der Datenbanktabellen
5.1.3 De£nition der Relationen
5.2 verschiedene Client / Server Kommunikationsansätze
5.2.1 Parallel Virtual Maschine
5.2.2 Remote Methode Invocation
5.2.3 Common Object Request Broker Architekture
5.2.4 Fazit
5.3 gra£sche Benutzerober¤äche
5.3.1 Programmierung
5.3.2 Gestaltung
5.4 Sicherheitsanforderungen
5.4.1 Verschlüsselung
5.4.2 Authentisierung
5.4.3 Session-Management
5.4.4 Angriff eines authentisierten Benutzers
5.4.5 Angriffspunkt Datenbank
5.4.6 Sicherheitsrisiko FTP
5.4.7 Komplexitätsanalyse
5.5 Verteilalgorithmus
5.6 Abrechnungsmechanismen
6 Implementierung
6.1 Entwicklungsumgebung
6.2 Klassendiagramm
6.3 Probleme
6.3.1 Renderer
6.3.2 Überprüfung der tatsächlichen Existenz von gerenderten Frames
6.3.3 Anbindung von Renderknoten über das WAN
6.3.4 Parallelität der Auftragsvergabe
7 Fazit
Zielsetzung & Themen
Das Hauptziel dieser Arbeit ist die Entwicklung eines objektorientierten Client-Server-Systems zur effizienten Verteilung von rechenintensiven Renderprozessen, um Kunden eine transparente Abrechnung zu ermöglichen und den administrativen Aufwand bei der Verwaltung der Renderfarm zu minimieren.
- Entwurf einer performanten Web-basierten Benutzeroberfläche für Kunden und Administratoren.
- Implementierung eines automatisierten Systems zur Lastverteilung auf Basis von Java RMI.
- Entwicklung von Sicherheitsmechanismen zur geschützten Datenübertragung und Authentisierung.
- Konzeption eines transparenten Abrechnungsmodells für Render-Dienstleistungen.
Auszug aus dem Buch
3.1.2 Three-Tier-Architektur
Die Three-Tier-Architektur wird in der Literatur auch in der Kurzbezeichnung 3-Tier geführt. Das englische Wort „Tier” bezeichnet eine Schicht. Demnach geht es also um drei Schichten. Im einzelnen sind diese:
Schicht 1 Datenschicht
Schicht 2 Logikschicht
Schicht 3 Präsentationsschicht
Die Datenschicht wird auch als Backend bezeichnet. Das Backend weiss, wie die zu verarbeitenden Daten physikalisch gespeichert sind. Die Schicht kennt also die Daten, kann mit ihnen aber nichts anfangen. Ein Beispiel wäre eine SQL-Datenbank.
Die Logikschicht ist auch als Middletier bekannt. Wie beide Bezeichnungen es bereits andeuten, bedindet sich diese Schicht in der Mitte des Modells und in ihr läuft die eigentliche Programmintelligenz ab. So würde beispielsweise ein Programm zum Errechnen von Primzahlen in dieser Schicht die Berechnungen vornehmen.
Die Präsentationsschicht, auch als Frontend bezeichnet, dient der Darstellung der in der 2. Schicht gewonnenen Informationen. Ein simples Beispiel hierfür ist ein Browser. Er stellt die ihm übermittelten Daten einfach nur dar.
Zusammenfassung der Kapitel
2 Einleitung und Motivation: Die Arbeit thematisiert den Bedarf an skalierbaren Renderservices für computeranimierte Filme und stellt die Intention des Autors zur Entwicklung eines effizienten Systems vor.
3 Grundlagen: In diesem Kapitel werden die theoretischen Basis-Technologien wie Interpolationsverfahren, Schichten-Architekturen, Netzwerkprotokolle und Kommunikationstechniken wie RMI erläutert.
4 Anforderung: Hier erfolgt eine detaillierte IST-Analyse des bestehenden Renderbus-Systems sowie die Definition der neuen Anforderungen an das System RenderControl V.3 hinsichtlich GUI, Zielgruppen und Hardware.
5 Konzeption und Entwurf: Dieses Kapitel behandelt die architektonischen Entscheidungen, den Datenbankentwurf, die Wahl der Kommunikationsplattform RMI sowie Sicherheits- und Verteilungsstrategien.
6 Implementierung: Der Fokus liegt auf der praktischen Umsetzung der entwickelten Konzepte, der verwendeten Entwicklungsumgebung und der Lösung von technischen Problemen bei der Einbindung von Renderern.
7 Fazit: Das Fazit fasst die erreichten Ziele zusammen und gibt einen Ausblick auf die Weiterentwicklung mittels SOAP und das Potenzial von Open-Source-Lösungen.
Schlüsselwörter
Client-Server-System, Rendering, Renderfarm, Java RMI, Three-Tier-Architektur, Datenbankdesign, Lastverteilung, Benutzerauthentisierung, Abrechnungsmechanismen, 3D-Animation, Netzwerksicherheit, Web-Interface, Session-Management, SQL, Prozessverteilung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Entwicklung eines webbasierten Client-Server-Systems zur automatisierten Verteilung von Renderprozessen, um rechenintensive Aufgaben für Filmproduktionen effizienter und transparenter zu gestalten.
Was sind die zentralen Themenfelder der Arbeit?
Zentrale Felder sind die Netzwerk-Kommunikation zwischen Client und Server, die Gestaltung von grafischen Benutzeroberflächen, IT-Sicherheit in verteilten Systemen und die Datenbankkonzeption zur Abrechnung.
Was ist das primäre Ziel der Forschungsarbeit?
Ziel ist der Aufbau einer Renderfarm, die mit minimalem administrativem Aufwand betrieben werden kann und Kunden eine einfache, transparente Kostenabrechnung bietet.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit folgt dem Ingenieursansatz: Analyse der IST-Situation, Anforderungsdefinition, Konzepterstellung, technische Umsetzung (Implementierung) und anschließende Evaluierung der Lösung.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in theoretische Grundlagen, Anforderungen an das neue System, das architektonische Konzept und die praktische Implementierung unter Einbeziehung von Java RMI und MySQL.
Welche Schlüsselwörter charakterisieren die Arbeit am besten?
Die wichtigsten Schlagworte sind Renderfarm, Java RMI, Lastverteilung, Session-Management und Client-Server-Architektur.
Welches spezifische Problem trat bei der Verwendung von Mentalray auf?
Bei der Auswertung der Kommandozeilenausgabe von Mentalray kam es zu Performance-Problemen, da der Java-Prozess die gesamte Systemleistung beanspruchte, was durch eine Multithreading-Implementierung gelöst wurde.
Wie wird die Integrität der Daten bei der Auftragsvergabe gesichert?
Die Integrität wird durch einen Blockierungsmechanismus mittels Lockdateien sichergestellt, der einen atomaren Zugriff auf die Verteilroutine ermöglicht und so parallele, fehlerhafte Auftragszuweisungen verhindert.
- Quote paper
- Diplom Informatiker (FH) Daniel Wedewardt (Author), 2002, Entwicklung eines objektorientierten Client-Server-Systems zur Verteilung von Renderprozessen unter besonderer Berücksichtigung von Userinteraktionen und Abrechnungsmechanismen, Munich, GRIN Verlag, https://www.grin.com/document/59584