Home
Fernsteuerung von Anwendungen
Contents
1. 05 Acou Bas GE ra a a At a ne Delete Denke Br A 5 2 SPP Befehlsleiste 2 2 gt 85 88 28 52 5 ra 2 LEERE A 5 3 PowerPoint Oberfl che ns ee oats den nern ASA e en Era AN A 5 5 Notizen Kommentare iii ee a ee A 5 6 Text Eingabe aoaaa aa er UR A A 5 7 Picking Informationen 65 65 66 69 INHALTSVERZEICHNIS A598 REECH A 6 Beenden des Programmes ae AE ba ee ee ee Se ee Se B Zeitplan B 0 1 Phase 1 Grundlagen 2 2 a ee ea sa B 0 2 Phase 2 Analyse von Microsoft PowerPoint B 0 3 Phase 3 Anforderungen an eine Middelware B 0 4 Phase 4 Programmentwicklung B 0 5 Phase 5 Test und Weiterentwicklung B 0 6 Phase 6 Dokumentation 2 2 2 2 om mn nn C Rechtliches C 1 Markenzeichen e C 2 Lizenz des Light weight Reliable Multicast Protocol LRMP Abbildungsverzeichnis Zul 22 3 1 3 2 4 1 4 2 5 1 MV C gt PIIDZID Ss a ate EE EE EE e de 18 Semantiken der Kommunikation o 26 Systemd sig n go kao a a Were A AA a i 37 NUSS AccessPoint cena corgo ENEE A 39 Visual Basic Architektur 51 Java Architektur aoaaa a a a aa 53 Notebookeinsatz 2 2 oaoa a a mn 60 Tabellenverzeichnis 2 1 Eigenschaften von Fernsteuerungsmethoden Sicht Datentypen a Er ne ne E Bee te e AL Tastenk rzel s aoe ne te hee Boch Ta u een Ay Ge A Ay de wi Kapitel 1 Einleitung Nach einer Motivation f r diese Arbe
2. Java e Java bietet eine direkte Unterst tzung von Java RMI RMI Da diese vom NUSS Framework sowie der meisten weiteren Anwendungen darin wie DONUT aus schlie lich verwendet wird bietet sich Java an e Aufgrund seiner Portabilit t lassen sich Teile des Codes f r weitere Anwendungen auch auf Nicht Microsoft Betriebssystemen einsetzen Da die gesamte Client 48 KAPITEL 4 IMPLEMENTIERUNG 49 Server Kommunikation auf Java Ebene lauft lassen sich weitere Java Systeme wie derzeit ein Audio Aufzeichnungsprogramm ohne weitere Probleme in das System einbinden Visual Basic VB e Visual Basic bietet eine einfache Unterst tzung von ActiveX Objekten Da Power Point auf diese Art gesteuert wird ist eine einfache Anbindung w nschenswert e Da bei der Steuerung einer fremden Anwendung relativ viele Betriebssystemauf rufe n tig sind Fensterhandles suchen Fenster verstecken oder umpositionieren Events abfangen etc eignet sich eine Sprache wie JAVA weniger Selbst bei der Verwendung von JNI Java Native Interface siehe JNI m ssten spezielle Wrapperklassen in beispielsweise C erstellt werden 4 2 Komponenten Das SPP System besteht aus 3 getrennten Komponenten e Die graphische Oberfl che sowie die PowerPoint Fernsteuerung Diese Komponente ist komplett in Visual Basic geschrieben Ihre Aufgabe ist das F hren s mtlicher Benutzerdialoge zu Beginn W hrend der Pr sentation erfolgt zus tzlich das
3. n eine positive ganze Zahl gibt hierbei an f r wie viele Sekunden das Anzeigen der Folie vorgesehen ist In dem Uhrzeit Fenster l sst sich danach jederzeit feststellen wie gut man sich im Plan befindet ANHANG A BENUTZERHANDBUCH 12 A A Einstellungen bei Programmstart A 4 1 Moduswahl Zu Beginn muss der Benutzer ausw hlen in welchem Programmmodus er starten will Die Vor und Nachteile der jeweiligen Modi sind im Folgenden beschrieben A 4 2 NAP Login Im NAP Login geschieht die n tige Authentifizierung beim NUSS Access Point Hierbei sind die IP Adresse des NAP anzugeben der eigene Benutzername sowie das zugeh rige Passwort Nach einer korrekten Anmeldung stehen die Bereiche NAP Server und NAP Client zur Verf gung A 4 3 NAP Server Der NAP Server dient dem Erstellen einer neuen NAP Gruppe Diese stellt genau eine SPP Pr sentation und eine Powerpoint Datei dar Zus tzlich wird eine Beschreibung angegeben damit Teilnehmer die richtige Gruppe finden k nnen Um eine SPP Gruppe zu erstellen muss zus tzlich das Netzwerkinterface auf dem der Server agieren soll ausgew hlt werden bzw im RUS VPN die VPN IP eingetragen werden A AA NAP Client Im NAP Client befindet sich eine Liste aller SPP Gruppen Durch das Verbinden Join mit einer Gruppe startet sich die SPP Prasentation ANHANG A BENUTZERHANDBUCH 73 A 4 5 Server Soll kein NAP verwendet werden aber eine Java Umgebung steht bereit so l sst s
4. Log Datei erneut abgespielt werden Als Annotationsm glichkeiten stehen verschiedene Stift und Textwerkzeuge zur Verf gung Annotationen werden als Zeichenbefehle bertragen und bei allen Clients durch gef hrt Dadurch ist keine Objektstruktur vorhanden welche im Nachhinein modifi ziert werden k nnte sondern nur ein Bild Letztendlich ist festzustellen das dieses System ber alle n tigen Funktionen f r eine verteilte Pr sentation verf gt jedoch aufgrund der nicht vorhandenen Unterst tzung von PowerPoint fehlenden Exportfunktionen sowie schlechter Performance bei der Pr sentations bertragung und mangelnder Stabilit t unattraktiv erscheint 2 3 Netzkommunikation Im Folgenden werden Grundlagen der Kommunikationen erl utert welche w hrend der Entwicklung des Systemdesigns ben tigt werden 2 3 1 Semantiken der Kommunikation Werden Pakete ber ein Netzwerk an mehrere Rechner verschickt so kann dies unter schiedliche Semantiken haben Einen berblick bietet die Abbildung 2 2 nach ROTHO1 KAPITEL 2 GRUNDLAGEN 26 s E Causal Atomic a Causal o FIFO Atomic l v Atomic FIFO DE e goes Reliable Mags ey SEN N S Timed Reliable Abbildung 2 2 Semantiken der Kommunikation Pfeile bedeuten hierbei das eine Semantik auf eine andere aufbaut also alle Anforde rungen bernimmt Die Begriffe Reliable und FIF
5. KAPITEL 5 EVALUATION 59 5 1 4 Unterst tzte Fragen Ausstattung 1 PC an Beamer angeschlossen Notebooks bei den Teilnehmern Ablauf Werden Fragen zu Folien gestellt so bietet SharedPowerPoint eine Reihe von Hilfen e Zeiger Ein Zuh rer kann f r alle sichtbar auf eine Stelle zeigen e Tempor rer Stift Es k nnen Abl ufe eingezeichnet und Bereiche markiert wer den ohne das diese Markierungen sp ter abgespeichert werden Dadurch sinkt zus tzlich die Hemmschwelle der Interaktion 5 1 5 Gruppenarbeit Ausstattung Notebooks bei den Teilnehmern Ablauf Teilnehmer k nnen sich Aufgaben wie das Kommentieren oder das Zusam menstellen von Ergebnissen teilen indem diese eine Untergruppe bilden und in eben dieser annotieren F r die sp tere Vorstellung der Ergebnisse sendet ein Gruppenteil nehmer diese an den Pr sentationsrechner 5 2 Einsatz in Vorlesungen Seit dem 09 01 2003 wurde das Programm im Rahmen der Vorlesung Kooperation in verteilten Systemen von Dr Burger im Rahmen eines Beta Tests eingesetzt Es l ste hierbei das bis dahin verwendete SASCIA System SASCIA ab Abbildung 5 1 zeigt dessen Verwendung in der Vorlesung W hrend die Vorlesungsfolien prim r auf einem Smartboard pr sentiert werden stehen den Teilnehmern zus tzlich Notebooks zur Verf gung Wer kein eigenes Notebook besitzt und auch nicht von der M glichkeit des Ausleihens Gebrauch gemacht hat kann alleine oder in Zweiergruppen an zu
6. Vergabe von Zugangsberechtigungen f r die gemeinsame Nutzung von Smartboards in der Vorlesung Studienarbeit Nr 1807 IPVR Uni versit t Stuttgart LITERATURVERZEICHNIS 68 OBERO02 P Oberparleiter Eine Architektur zur Nutzung von Anwendungen in der Lehre mit prototypischer Realisierung von elektronischer Tafel und Leinwand Di plomarbeit Nr 1950 IPVR Universitat Stuttgart RMI SUN Microsystems Java Remote Method Invocation Specification Revision 1 8 2002 Online verf gbar unter http java sun com j2se 1 4 docs guide rmi ROTH03 K Rothermel Skript zur Vorlesung Verteilte Systeme 2 WS 2002 2003 SCFJ96 H Schulzrinne S Casner R Frederick V Jacobsen RTP A Transport Protocol for Real Time Applications RFC 1889 1996 TUEM Dr Th mmler DLL Pack Online verf gbar unter http www it berater org ThueDownloads index shtml VB Microsoft Corporation Visual Basic 6 Dokumentation Online verf gbar unter http msdn microsoft com library default asp URL library devprods vs6 vbasic vbcon98 vbstartpage htm X X Window System Online verf gbar unter http www x org X11 html Anhang A Benutzerhandbuch A 1 Installation und Starten von SPP Zur Installation ist die Datei SharedPowerPoint msi auszuf hren Diese befindet sich in dem zu entpackenden Zip Archiv welches beispielsweise auf der NUSS Projekt Homepage unter http www informatik uni stuttgart de ipvr vs en projects NUSS z
7. ber den Zeitverlauf wieder Es beinhaltet e eine normale Uhr Die aktuelle Foliennummer Eine Stoppuhr mit Reset Knopf Eine Anzeige wie lange die aktuelle Folie angezeigt wird Eine Anzeige wie man w hrend der Pr sentation in der vorgeplanten Zeit liegt siehe Erstellen von Powerpointfolien f r das Setzen der Vorgaben A 6 Beenden des Programmes Wird das Programm beendet ber Kontextmen Beenden oder mittels der Taste Q so wird gefragt ob die Pr sentation gespeichert werden soll Wenn dies bejaht wird so l sst sich ein Dateiname angeben Im entsprechenden Verzeichnis befinden sich danach 2 Pr sentationen n mlich einmal die Originaldatei und einmal die Pr sentation mit allen Annotationen und Kommentaren Achtung Sollte w hrend des Beendens gefragt werden ob berarbeitungen gekenn zeichnet werden sollen so darf dies nicht mit Abbrechen beantwortet werden ANHANG A BENUTZERHANDBUCH 81 A 7 FAQ Alles funktioniert nur das Blattern klappt nicht berpr fen Sie ob Globales Bl ttern im Kontextmen eingeschaltet ist Der Server kann im Client Betrieb nicht gefunden werden berpr fen Sie mittels des Programms winipcfg ob Sie die richtige IP Adresse an gegeben haben Sollten Sie sich innerhalb eines VPN s befinden so m ssen Sie dessen IP Adresse verwenden Der Server kann im NUSS Betrieb nicht gefunden werden Vermutlich wurde bei der Erstellung des Server
8. glichkeiten der Fernsteuerung diskutiert wird nun ein System zur Fernsteuerung von Powerpoint mit den in Kapitel 1 3 genannten An forderungen entworfen Hierbei werden die Aspekte Fernsteuerungsmethode NUSS Anbindung sowie die ben tigte Kommunikation genauer analysiert 3 1 Diskussion der Methoden Im Nachfolgenden werden die Methoden wie sie in Kapitel 2 1 aufgez hlt wurden auf ihre Tauglichkeit f r diesen Fall untersucht 3 1 1 MVC Prinzip Wie bereits festgestellt wurde ben tigt eine Fernsteuerung nach dem MVC Paradigma eine dementsprechend programmierte und offengelegte Anwendung Zwar w re diese Methode gerade durch die M glichkeit von verschiedenen Sichten ideal nur sind die wenigsten verf gbaren Anwendungen hierf r ausgelegt Da erstens PowerPoint ferngesteuert und zweitens ein generisches Prinzip entwickelt 33 KAPITEL 3 ENTWURF 34 werden soll fallt eine direkte Umsetzung dieser Methode aus 3 1 2 Schnappschuss des Fensterinhaltes Die Methode des Schnappschusses ist eine fiir diese Anwendung m gliche Realisierung und wird deshalb genauer untersucht Der Aufbau eines solchen System wiirde folgen dermassen aussehen Auf einem PC l uft eine PowerPoint Instanz sowie ein Programm zur 1 Erstellung und Versendung der Screenshots 2 R ck bertragung von Aktionen 3 Realisierung einer Floorcontrol oder anderer Rechtesysteme Auf Clientseite miisste sich hingegen nur eine Anwendung zur Darstellun
9. An wendung nur in sehr eingeschr nktem Ma e geschehen kann soll zumindest der jeweils h chste Grad angestrebt werden Grunds tzlich ist zumindest immer eine Floor Con trol realisierbar Nur ein Benutzer darf beliebig agieren alle anderen nur betrachten Dieser Benutzer kann dieses Recht dann je nach Realisierung zur ck oder weitergeben 1 3 2 Pr sentationsfernsteuerung Im Folgenden werden nun die Anforderungen einer spezifischen Anwendung an eine Fernsteuerung betrachtet Hierbei wird von einer PowerPoint Fernsteuerung ausgegan gen KAPITEL 1 EINLEITUNG 13 F r eine einfache Fernsteuerung einer PowerPoint Prasentation ist die Eigenschaft des Gemeinsamen Bl tterns Wenn eine Person bl ttert so wird dies auf allen zugeh ri gen Rechnern durchgef hrt ausreichend Das in dieser Arbeit entwickelte System soll jedoch weitere Anforderungen unterst tzen um den in der Motivation beschriebenen interaktiven Einsatz zu erm glichen Zur PowerPoint Fernsteuerung geh rt hier demnach mehr als das reine Bl ttern Auch Funktionen f r gemeinsame Annotationen wie das Markieren mittels Text und Stift mehrerer Benutzer gleichzeitig sollen m glich sein Es handelt sich demnach nicht um ein ferngesteuertes PowerPoint sondern um ein SharedPowerPoint Geforderte Eigenschaften der sp teren Anwendungen e Automatische Verteilung beliebiger PowerPoint Pr sentationen e Verteilte Pr sentationen Es wird eine Fernsteuerung
10. Ee e 3 0 2 Kommunikationsprotokolle EE EE 2 04 4 Implementierung 4 1 Verwendete Programmiersprachen 2 2 2 22m nn 42 Komponenten at lc A EA A a al 4 3 Kommunikation zwischen den Komponenten 1 4 VSL EVOUDETSIC EECHER AT Visual Ee i shit ce es ee ds re E VAR LAVA A A en oer dh Boke ea Ba 4 5 Verwendete Externe Module 5 Evaluation 5 1 M gliche Szenarien eg ede ad one ee ee eee ee ee 5 1 1 Pr sentationsunterst tzung 5 1 2 Interaktive Lehrveranstaltungen 8 1 3 Papierlose Anmerkungen 5 1 4 Unterst tzte Fragen rar Gan WE BR ed 3 19 CGrUppeDarben 2a A Bra een 5 2 Einsatz in Vorlesungen ar zo ae ho ae an BB reel d iten ae ee en Sek ide a te Ne 6 Ausblick 6 1 M gliche Erweiterungen und Verbesserungen 2 2 2 2 2 2 2 0 6 22 R ckblick or ey ee Ey aes ey ee ee INHALTSVERZEICHNIS 6 3 Weitere Schritte 2 oo m nn 6 4 Fazit Literaturverzeichnis A Benutzerhandbuch A 1 Installation und Starten von SPP Ass za A 2 Systemvoraussetzungen e A 3 Erstellen von Powerpointfolien A 4 Einstellungen bei Programmstart 2 2 2 2 En nn A41 Meduswahl e ns acetyl as om eg ed ed A42 INAP Dosi en era ee A AR EE A 4 3 NAP Server EAS A pre ALA NARCEA Vena o de e ae He Ge FSS AA AE A EE Se EE Se E AO GE ee ee A 4 7 Broadcast 408 eh Ye E REN eh tee A 4 8 Erweiterte Einstellungen A 5 Steuerung w hrend der Pr sentation
11. Headers und die Weiterverteilung vollst ndiger Pakete an abgeleitete Klassen e ClientClass WinConnection Diese beiden Klassen sind die Realisierungen der Klasse PacketTransport und dienen der jeweiligen Kommunikation Eingegangene Pakete melden sie an ei ne jeweils bergebene Klasse Die WinConnection hat zur Anbindung an das VB Programm eine andere Callbackfunktion sowie ein erweitertes Verbindungs management e CommandProcessor Der CommandProcessor bildet das zentrale Bindeglied zwischen den beiden Ver bindungen Es empf ngt von ClientClass wie WinConnection Pakete und lei tet diese entsprechend weiter Befehle f r SPP Aktionen werden beispielsweise an die jeweils andere Kommunikationskomponente Rechteanfragen an die NAP Komponente und DONUT Befehle an den DonutClient weitergeleitet Meldet ei ne der Netzwerkverbindungen einen Verbindungsabbruch so wird entsprechend auch die andere Verbindung geschlossen e ServerClass Diese Klasse realisiert den Server Sie wartet auf Verbindungsw nsche und erstellt daraus eine Liste von ClientClass Instanzen welche mit der korrespondierenden ClientClass auf dem Client Rechner verbunden ist Wie der CommandProces sor ist auch diese Klasse f r die Nachrichtenverteilung zust ndig SPP Aktionen schickt diese jedoch an alle vorhandenen ClientClass Instanzen Des weiteren wer den Pakete zur Namensaufl sung durch ein Ergebnispaket an die empfangende ClientClass beantwortet KAPITEL 4 IMP
12. Online verfiigbar unter http www cs cornell edu Info Projects ISIS JAVA SUN Microsystems The Source for Java Technology Online verfiigbar unter http java sun com JNI SUN Microsystems Java Native Interface JNI Specification Revision 1 1 2003 Online verf gbar unter http java sun com j2se 1 4 docs guide jni KINZO3 D Kinzler Nutmin Beschreibung Online verf gbar unter http www informatik uni stuttgart de ipvr vs de projects NUSS index html KrPo88 G Krasner S Pope A Description of the Model View Controller User In terface Paradigm in the Smalltalk 80 System 1988 MSDN Microsoft Corporation Working with Microsoft Power Point Objects Online verf gbar unter http msdn microsoft com library default asp url library en us modcore html deovrworkingwithmicrosoftpowerpointobjects asp NAGY03 M Nagy Zwischenfragen in Augmented Lectures Diplomarbeit Nr 2039 IPVS Universitat Stuttgart INOLLO2 J Noller Sessionmanagement Spezifikation Online verf gbar un ter http www informatik uni stuttgart de ipvr vs de projects NUSS index html NOLLO3 J Noller Hierarchische Floorcontrol und Filterung von Primitiven Generi sche Rechteverwaltung in hierarchischen Gruppen Studienarbeit Nr 1873 IPVS Universit t Stuttgart NUSS NUSS Projekt der Universit t Stuttgart Online verf gbar unter http www informatik uni stuttgart de ipvr vs en projects NUSS index html IOBERO1 P Oberparleiter
13. abzufangenden Anwendung be finden muss erschien eine Eigenimplementierung als zu aufwendig KAPITEL 4 IMPLEMENTIERUNG 56 e DSMOUSE DLL von Dr J rgen Thiimmler TUEM Diese DLL ist das Pendant zur DSKEYBRD DLL jedoch zum Abfangen von Mausevents e Light weight Reliable Multicast Protocol LRMP Das Light weight Reliable Multicast Protocol ist ein freies vom Massachusetts Institute Of Technology MIT INRIA entwickeltes Protokoll zur Realisierung eines Reliable Multicast Die Lizenzbedingungen sind in C 2 zu finden Kapitel 5 Evaluation In diesem Kapitel werden zun chst die m glichen Einsatzszenarien erarbeitet Danach wird auf den bisherigen Einsatz eingegangen und die daraus resultierenden Ergebnisse analysiert 5 1 M gliche Szenarien Im Folgenden werden Beispielszenarien f r die Verwendung von SharedPowerPoint ge nannt Dabei wurde versucht jeweils auf Einzelaspekte einzugehen Die M glichkeit das System in allen oder mehreren Szenarien gleichzeitig zu betreiben ist jedoch vor gesehen 5 1 1 Pr sentationsunterst tzung Ausstattung 1 PC an Beamer angeschlossen 1 Notebook im Blickfeld des Pr sen tierenden Ablauf W hrend auf dem Beamer eine normale Pr sentation abl uft werden auf dem Bildschirm den der Vortragende in seinem unmittelbaren Blickfeld hat zus tz 97 KAPITEL 5 EVALUATION 58 lich Notizen die Uhrzeit der Stand in einem vorher festgelegten Zeitplan und ggf sogar modifiz
14. an alle vorhandenen Rechner in einem Subnetz Adressiert wird das gesamte Subnetz e Multicast Sollen Nachrichten an eine Teilmenge aller verfiigbaren Rechner gesendet werden so bietet sich die Technologie des Multicastes an In der TCP IP Architektur wurde dies so gel st dass spezielle Adressbereiche f r diesen Zweck definiert sind Class D Netz 224 0 0 0 239 255 255 255 siehe ANA Da Multicast nur vom UDP Protokoll unterst tzt wird besitzt es weder eine Reliable noch eine h her liegende Semantik Es existiert jedoch darauf aufbauende Software wie z B das Light wight Reliable Multicast Protokoll LRMP oder das ISIS System ISIS 2 4 Anwendungskommunikation Wahrend in den vorherigen Kapiteln die Eigenschaften der Kommunikation auf Netz ebene besprochen wurden wird nun die Kommunikation auf Anwendungsebene erlau tert 2 4 1 Nachrichten Die einfachste Art der Kommunikation ist das direkte Versenden von Nachrichten Die Eigenschaften einer solchen Kommunikation sind die gleichen wie sie bei dem UDP Protokoll erw hnt wurden Sie ist unbest tigt und unreliable Der Vorteil einer solchen schlanken Kommunikation mit der damit verbundenen geringen Netzlast l sst sich zum Beispiel bei folgendem Anwendungsszenario erkennen Audio und Videokonferenzen KAPITEL 2 GRUNDLAGEN 31 Bei der Echtzeit bertragung ist es n tig dass die Daten innerhalb einer gewissen Zeit spanne Jitter beim Empf nger vorliegen Dab
15. beispiels weise durch eine Middleware die Aufrufe lokationstransparent entgegennimmt und KAPITEL 2 GRUNDLAGEN 32 weiterleitet Im Unterschied zu bisher genannten Verfahren sind in den Aufrufen neben den Argumenten noch zus tzliche Semantiken wie Datentypen oder Funktionsnamen enthalten Der Programmierer verwendet die Prozeduren hierbei wie im lokalen Fall Bei RPCs k nnen Prozeduraufrufe verschiedene Aufrufsemantiken haben e exactly once der Befehl wird genau einmal ausgef hrt e may be es werden keinerlei Aussagen ber den Aufruf gemacht e at most once der Befehl wird null oder einmal ausgef hrt e at least once der Befehl wird mindestens einmal ausgef hrt 2 4 4 Java RMI Java Remote Method Invocation RMI ist ein auf der Sprache Java basierendes Sys tem welches im Gegensatz zum prozedualen RPC objektorientiert funktioniert Es ist direkt in Java eingebunden und ben tigt durch die Verwendung von Java Interfaces kei ne weitere Interface Description Language IDL RMI Klassen werden einzig durch einen weiteren Compiler rmic verarbeitet welcher entsprechende Stub Klassen er stellt Durch die Integration in die Java Umgebung lassen sich s mtliche serialisierbaren Da tentypen ohne weitere Spezifikationen bertragen Das RMI System bietet lediglich eine at most once Semantik an Bei erkannten Fehlern liefert es eine spezielle Exception Kapitel 3 Entwurf Wurden bisher grunds tzliche M
16. ben sich die gleichen Probleme wie bei Schnappsch ssen Die Rechtevergabe l sst sich nur sehr grobgranular gestalten z B darf Maus bewegen oder darf Maus nicht bewegen und die Anwendung muss auf allen Rechnern st ndig sichtbar sein damit unter anderem Mausevents angenommen werden Zus tzlich ergeben sich noch weitere Nachteile e Unterschiedliche Programmversionen k nnen unterschiedlich auf Nachrichten rea gieren e Unterschiedliche Bildschirmaufl sungen verursachen ggf verschiedene Anordnun gen im Programmfenster Letztendlich muss festgestellt dass sich dieses Verfahren grunds tzlich nicht zur in teraktiven Nutzung durch mehrere Personen gleichzeitig in einem heterogenen Umfeld eignet KAPITEL 3 ENTWURF 36 3 1 4 Anwendungsoperationen Diese Fernsteuerungsart hat folgende Vorteile e Geringe Netzlast e Feingranulere Rechteverwaltung durch Analyse der Anwendungsoperationen e Gleichzeitige Steuerung von mehreren Aktoren Entweder durch atomare Aktio nen oder durch deren Serialisierung Da bei dieser Methode eine Unterstiitzung von Seiten der Anwendung vorrausgesetzt wird was z B in PowerPoint nicht gegeben ist l sst sich diese Methode nicht ver wenden 3 2 Resultierendes Modell Als Ergebnis wurde eine Mischung aus dem MVC Paradigma der Methode der Betriebs system sowie der Anwendungsoperationen gew hlt Hierbei wird die fernzusteuernde Anwendung direkt durch einen anwendungs
17. bersicht Im folgenden werden die einzelnen Teile des in Kapitel 3 2 beschriebenen Modells ver tieft KAPITEL 4 IMPLEMENTIERUNG ol 4 4 1 Visual Basic Die Visual Basic Komponente besteht im Grundsatz aus den folgenden Modulen Keyboard hook Abbildung 4 1 Visual Basic Architektur Output Stub Input Stub Die Anbindung an PowerPoint erfolgt durch 3 Module e Die direkte Steuerung sowie die komplette Pr sentation sind ber das von Power Point angebotene ActiveX Objekt anzusprechen Das Modul PP control ver wendet diese und besitzt dementsprechend folienspezifische Funktionen zum Er stellen von Texten und Linien dem Bl ttern sowie inhaltsspezifische Funktionen wie das Picken von Objekten an bestimmten Positionen e Das Modul Keyboard hook wird verwendet um Tastaturevents die in Power Point erfolgen abzufangen und an einen eigenen Eventhandler weiterzugeben Damit k nnen Befehle zum Bl ttern abgefangen und in SPP verteilt werden Da Windows zum Umleiten von Events verlangt dass sich die Zieladresse im glei chen Speicherbereich wie die Anwendung befindet wurde hier auf eine externe DLL zur ckgegriffen siehe auch Kapitel 4 5 sowie TUEM Diese bietet die Umleitung auf einen eigenen Prozedurrumpf an KAPITEL 4 IMPLEMENTIERUNG 52 e Das Mouse hook Modul vollendet das Umschliessen der Anwendungen in dem es samtliche Mausevents an PowerPoint abfangt und diese ebenfalls an eine in terne Prozed
18. das dieses System zwar zur entfernten Pr sentation geeignet ist je doch keinerlei M glichkeit zum gemeinsamen Arbeiten durch kooperatives ndern von Folien bietet Des weiteren ist das vorherige Umwandeln in ein Zwischenformat unn tig kompliziert und das Datenformat Die Folien werden als Bilder bertragen ung nstig f r Performance und Qualit t Insgesamt macht der Viewer aufgrund schlechter Bild qualit t Grafikfehlern und fehlender Automatisierung beim Foliendownload ein nega tives Bild 2 2 4 SASCIA WhiteBoard Bei System Architecture Supporting Cooperative and interactive Applications han delt es sich um ein Framework zur Unterst tzung kooperativer Arbeit OBERO1 F r dieses System wurde innerhalb einer Diplomarbeit eine Architektur zur gemeinsamen Anwendungsnutzung vorgestellt welches prototypisch ein Whiteboard zur Verf gung stellt siehe OBERO02 KAPITEL 2 GRUNDLAGEN 25 Innerhalb dieser Software werden bei dem Verbinden mit dem Server bzw beim wei teren Hinzufiigen von Folien Bilder aller vorhandenen Folien tibertragen Eine Folie ist dabei als Bild realisiert was die Ubertragung als langwierig teilweise mehrere Mi nuten gestaltet Das Einbinden von PowerPoint Folien ist dabei nur ber Screenshots oder durch einen vorherigen Export der Folien in Bilddateien m glich Animationen sind nicht vorgesehen Des weiteren k nnen Folien nicht abgespeichert sondern nur mittels einer propriet ren
19. dem Programm Experteneinstellungen welches sich ebenfalls im Startmen be findet ab ndern Derzeit kann darin nur die Multcast bertragung konfiguriert werden Bei der Eingabe einer IP Adresse ist darauf zu achten dass nur korrekte Multicast IPs Class D Netz eingetragen werden Da mehrere Pr sentationen ber die gleiche Gruppen Adresse ver teilt werden k nnen muss diese Einstellung jedoch nicht notwendigerweise ver ndert werden A 5 Steuerung w hrend der Pr sentation A 5 1 Tastatur Wenn das Programm nicht gerade eine Texteingabe erwartet gelten folgende Tasten Falls diese Tasten nicht funktionieren so muss entweder ANHANG A BENUTZERHANDBUCH 75 Leertaste Nachste Animation Folie Bild Ab Nachste Animation Folie R cktaste Vorherige Animation Folie Bild Auf Vorherige Animation Folie Q Beenden der Pr sentation der Anwendung Return N chste Animation Folie Zahlen Return Zu einer bestimmten Folie springen Tabelle A 1 Tastenk rzel e ein SPP Fenster wie die Befehlsleiste oder die Uhr aktiviert werden e mittels Alt Tab zu der SPP Pr sentation gesprungen werden Tasteneingaben sind nicht m glich wenn das Notizenfenster fokussiert ist A 5 2 SPP Befehlsleiste Die Befehlsleiste visualisiert die am meisten ben tigten Funktionen und ist f r das Gruppenmanagement n tig Die einzelnen Kn pfe haben folgende Bedeutung Aktionen Hierbei wird festgelegt welche Aktion bei einem Links Klick auf
20. dieser NAP Installation muss die Rechtedefinitionsdatei von SPP installiert sein e F r die integrierte DONUT Unterst tzung muss ein ITS entsprechend dessen Dokumentation installiert und gestartet sein ANHANG A BENUTZERHANDBUCH 71 A 3 Erstellen von Powerpointfolien Die PowerPoint Folien k nnen wie gewohnt erstellt und verwendet werden Hierbei sind zwar alle Features von PowerPoint Animationen m glich jedoch d rfen keine Verbindungen zu externen Dateien bestehen Zus tzlich k nnen in den Folienkommentaren diese finden sich in PowerPoint in der Textbox unterhalb der Folienansicht folgende SPP Befehle eingegeben werden e p Steht in einer einzelnen Zeile das Nummernsymbol so werden w hrend einer SPP Session alle Kommentare die sich dahinter befinden nicht mit angezeigt Dies eignet sich z B f r die Angabe von weiteren Befehlen e DONUT x1 yl x2 y2 Kommentar Dieser Befehl gibt ein DONUT Keyword vgl Diplomarbeit M Nagy Zwischen fragen in Augmented Lectures an welches f r den Bereich in dem virtuellen Rechteck mit den Ecken oben links x1 y1 und unten rechts x2 y2 gilt Die Ko ordinaten geben ganzzahlige Prozentwerte 0 100 von dem Folienanfang oben links an F r weitere Infos ist die DONUT Dokumentation welche sich bei dessen Installationsdateien befindet zu verwenden e TIME n Mittels des TIME Befehls lassen sich Pr sentationen vorher zeitlich planen
21. durch Multicast auf aggregierten Clients Die Verteilung von Pr sentationen kann per Multicast mittels des Light wight Reliable Multicast Protocol LRMP erfolgen Sollte dies aufgrund einer fehlen den Multicast Unterst tzung des Netzwerkes nicht m glich sein so wird auf eine Verteilung per Unicast zur ckgegriffen Dies erfolgt f r den Benutzer ohne einem Zwang zur zus tzlichen Interaktion e Einzelstehende Ausf hrung Neben der in NUSS eingebundenen Funktionalit t ist es dem Programm m glich ohne weitere Systemvoraussetzungen in einem Broadcast Modus zu starten Hier bei gibt es dann jedoch weder eine Rechteverwaltung noch eine Pr sentationsver teilung Kapitel 2 Grundlagen In diesem Kapitel werden zun chst die grunds tzlichen M glichkeiten der Fernsteue rung von vorhandenen Anwendungen aufgef hrt Danach werden im Related Work ei nige existierende Anwendungen mit ihren F higkeiten und Problemen besprochen Im zweiten Teil dieses Kapitels werden Grundlagen der Netz und Anwendungskommu nikation erkl rt welche im sp teren Verlauf dieses Dokumentes verwendet oder disku tiert werden 2 1 Methoden der Fernsteuerung Im Folgenden werden 4 Methoden vorgestellt mittels derer eine Fernsteuerung prinzi piell funktionieren kann Hierbei wird zur Vereinfachung von einem Szenario mit zwei Rechnern ausgegangen L uft die zu steuernde Anwendung nur auf einem Rechner so wird dieser hier als Server
22. kann z B durch das Verringern der Farbtiefe von 32 Bit auf 8 Bit oder das Nicht bertragen des Desktophintergrundes realisiert werden Das VNC System bietet diese M glichkeiten an Die so bertragenen Informationen werden auf einem Clientrechner wieder zusammen gesetzt und in einem Anzeigefenster dargestellt Die R ckrichtung besteht aus Kontroll informationen wie Maus und Tastatureingaben Diese wird durch ein Weiterleiten der Events Mauskoordinaten Tastendr cke an die zu steuernde Anwendung realisiert Das Schnappschussverfahren hat den Vorteil dass die steuernde Anwendung keinerlei Wissen ber die Semantik der fernzusteuernden Anwendung haben muss und auf der Clientseite keinerlei weitere Software ausser der Fernsteuerungssoftware vorhanden sein muss KAPITEL 2 GRUNDLAGEN 21 2 1 3 Betriebsystemoperationen Setzt man voraus dass die zu steuernde Software auf beiden Rechnern installiert ist e von der Anwendung ben tigte Ressourcen jeweils gleich anzusprechen sind sich die Anwendung deterministisch verh lt sich zu Beginn alle Programminstanzen im gleichen Zustand befinden so l sst sich durch das Starten der Anwendung auf beiden Rechnern und eine gleiche Versorgung mit Nachrichten ein identischer Ablauf auf beiden Rechnern realisieren 2 1 4 Anwendungsoperationen Die h chste Art der Abstraktion ist das bermitteln von Anwendungsoperationen Solche Operationen k nnen z B in einer Pr sentationssoftware d
23. r die Fernsteuerung die eines Atomic Multicastes ist Da die bertragenen Datenmengen relativ klein sind wurde auf die Verwendung eines dementsprechend komplexen Multicast Protokolles wie z B vom ISIS Protokoll angeboten siehe ISIS abgesehen Diese Protokolle ben tigen ebenfalls einen Prozess welcher die Reihenfolge festlegt siehe ROTH03 Die Nachrichtenzahl an sich w rde sich demnach durch den Multicast Protokoll Einsatz nicht verringern Die Anzahl der bertragenen Nachrichten pro Aktion betr gt n 1 also eine Nachricht an den Server und von dort aus je eine Nachricht an jeden der Clients Geht man von einer durchschnittlichen Paketgr sse von 40 Byte eine maximalen Clientzahl von 100 Rechnern und 100 Aktionen pro Sekunde aus so kommt man auf eine Last von 100 4 100 1 40 Byte 404000 2 404 2 Da eine solche Datenmenge ber ein 11 MBit WLAN transportiert werden kann und die meisten Szenarien weitaus kleiner sind wurde dieses Modell gewahlt Da sich die Szenarien wie auch die verf gbaren Netze w hrend des Einsatzes ndern k nnen so ist in der Implementierung darauf zu achten das die Client Server Kommunikation streng gekapselt wird KAPITEL 3 ENTWURF 47 3 5 2 Kommunikationsprotokolle Der Server verf gt ber 2 Funktionen Die Erste ist das reine Weiterleiten von Da tenpaketen Die Zweite ist eine Zuordnung zwischen der in allen Paketen enthaltenen Benutzernummer und dem Namen unter welchem si
24. von Folienabl ufen Globales Bl ttern inklusive al ler Effekte wie z B Animationen erm glicht Hierbei kann die Pr sentation von zentraler Stelle aber auch von beliebigen Clients gesteuert werden Au erdem ist ein von der aktuellen Pr sentationsfolie losgel stes Bl ttern innerhalb der Pr sentation m glich Die Navigation erfolgt mittels der in PowerPoint gewohn ten M glichkeiten Bild Auf Ab Leertaste Backspace durch numerische Foli eneingabe mit anschlie endem Return sowie bei Wunsch mittels linker Maustas te e Annotationen Innerhalb der Pr sentation werden folgende Annotier M glichkeiten zur Verf gung gestellt Tempor rer Stift Der aus PowerPoint bekannte Zeichenstift welcher sich beim Wechseln der Folie automatisch l scht Persistenter Stift Mittels dieses Werkzeuges lassen sich Zeichnungen in Foli en eintragen welche fest als Objekte innerhalb der aktuellen Folie in Form KAPITEL 1 EINLEITUNG 14 von einzelnen Strichen in die Pr sentation eingebettet werden und dadurch pr sentations bergreifend erhalten bleiben Persistenter Text Wie beim persistenten Stift werden Textobjekte in die Pr sentation eingef gt Zeiger Es wird ein Symbol zur Kennzeichnung eine Position auf der aktu ellen Folie angezeigt Bei den Annotationen l sst sich jeweils die Farbe sowie abgesehen vom Tem por ren Stift auch die jeweilige Gr e Schriftgrad Stiftdicke w hlen e
25. with the following terms and conditions Permission to use copy modify and distribute this software and its documentation for any purpose and without fee or royalty is hereby granted provided that the full text of this NOTICE appears on ALL copies of the software and documentation or portions thereof including modifications that you make THIS SOFTWARE IS PROVIDED AS IS AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES EXPRESS OR IMPLIED BY WAY OF EXAMPLE BUT NOT LIMITATION COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS COPYRIGHTS TRADEMARKS OR OTHER RIGHTS COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE OR DOCU MENTATION The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific written prior permission Title to copyright in this software and any associated documentation will at all times remain with copyright holders ANHANG C RECHTLICHES Erkl rung Hiermit versichere ich diese Arbeit selbst ndig verfa t und nur die angegebenen Quellen benutzt zu haben Holger Cermann 88
26. 2 aus NOLLO3 Im Folgenden wird das NUSS Framework genauer erl utert 3 3 1 NAP Der NUSS Access Point Der NUSS Access Point bildet eine zentrale Anlaufstelle f r alle Funktionen des NUSS Frameworks Um mit ihm zu kommunizieren muss einmalig an einer wohldefinierten KAPITEL 3 ENTWURF 39 RMI Registry ein entsprechender Stub empfangen werden ber welchen jegliche wei teren Objekte f r die NUSS Kommunikation bertragen werden 3 3 2 Authentifizierung Das von der RMI Registry erhaltene NAP Objekt verf gt urspr nglich nur ber Funk tionen zur Benutzerkontrolle Diese sieht derzeit nur eine Benutzername Passwort Authentifizierung vor welche von einer entspechenden Oberfl che in SharedPowerPoint unterst tzt werden muss Intern ist in der Authentifizierungskomponente ein PlugIn Konzept realisiert welches das Anbinden beliebiger Methoden wie z B der Authen tifizierung mittels einer lokalen Textdatei einem Active Directory Server oder einem LDAP Verzeichnis gestattet Im Gegensatz zu einer applikationsabh ngigen Authen tifizierung l sst sich demnach ein einheitliches System f r alle NUSS Anwendungen realisieren Nuss Access Point NAP Abbildung 3 2 NUSS Access Point KAPITEL 3 ENTWURF 40 3 3 3 Gruppenmanagement Nach erfolgter Authentifizierung stehen dem Benutzer Befehle zur Auswahl und Erzeu gung einer Gruppe aus der NUSS Registry zur Verfiigung Eine Gruppe spezifiziert zum Beispiel eine SPP Pra
27. 21 2 1 4 Anwendungsoperationen 21 2 1 5 Zusammenfassung er ee A 21 22 Related Work ciens yanti ea EE 22 Deel A A 22 DAA Nelmebtine e eier IS E RR 23 INHALTSVERZEICHNIS 2 2 2 3 ConferenceXP Presenter 2 2 2 2m o 23 2 2 4 SASCIA WhiteBoard AAA AA er 24 2 3 Netzkommunikation dtc chy He 36 at en Wi oe Ee oe EH BR 25 2 3 1 Semantiken der Kommunikation 25 DI PER ACNE AAA m nu a am a Mn au a at a a ae ana aan a 28 2 3 3 Unicast Multicast Broadcast xt soria le a ae 29 2 4 Anwendungskommunikation 30 XAT Nachrichten van 88 2 a0 8 EEE aa 30 JD E E NEE 31 E AP NA e cath a Ae Ae ae oe he ee ae SE NR EE EE 31 DAN Sa EVILS eter as baci ts Be ee ES ee he ae A ah aed 32 3 Entwurf 33 3 1 Diskussion der Methoden ssc 22 A A a 33 31 1 MVC Prinzip 2 te A E 33 3 1 2 Schnappschuss des Fensterinhaltes 34 3 1 3 Betriebsystemoperationen o oo a 35 3 1 4 Anwendungsoperationen 36 3 2 Resultierendes Modell LEE Ira 36 3 3 NUSS Anbindung en salt oi a TA de 38 3 3 1 NAP Der NUSS Access Point ar pe wy gold er 38 3 3 2 Ee yes anei tota A Se b Ae are 39 3 3 3 Gruppenmanagement vs A 22 aka a 40 Ar EE 40 3 4 Dateiverteilung e A EE a 41 3 4 1 Skalierbarkeit 22 22 oo a a a a a a aa 41 INHALTSVERZEICHNIS 3 4 2 Kommunikationsprotokolle 2 2 2 2 o nenn 2 amp 9 Beristelerung Yon et werd e ee A EN EE he la 3 5 1 Skalierbarkeit A sves sept a er ae AE
28. Abfangen von PowerPoint Eingaben sowie deren Umwandlung in Befehle e Der Server Der Server hat die Aufgabe Befehle an die Clients zu verteilen und ein Verzeichnis der Benutzernamen zu f hren e Der Client Hierunter ist der Teil unter der VB Komponente zu verstehen Diese ober KAPITEL 4 IMPLEMENTIERUNG 50 fl chenlose Komponente empf ngt einerseits Befehle der GUI und leitet diese je nach Art an den Server an den NAP an DONUT weiter Dasselbe gilt fiir die Gegenrichtung 4 3 Kommunikation zwischen den Komponenten Als Technologie fiir die Verbindung der Komponenten wurde bei der Kommunikation VB Java wie auch bei Client Server eine Socketverbindung gew hlt Diese wird zu Beginn der Kommunikation aufgebaut Bei einem Verlust einer der Verbindungen werden die jeweiligen Komponenten beendet Dadurch wird gew hrleistet dass das Programm beim Schliessen von PowerPoint oder bei Fehlern komplett terminiert Ausserdem wurde jeweils die gleiche Kommunikationsart gew hlt um somit das gleiche Protokoll verwenden zu k nnen F r die Kommunikation zwischen der Oberfl che und dem Client sind jedoch zus tzliche Nachrichten spezifiziert Die Nachrichten definieren hierbei entfernte Methodenaufrufe Diese sind je nach auf gerufener Methode teils blockierend z B die Nachfrage nach einem Recht teils nicht blockierend z B eine DONUT Annotation und k nnen in beide Richtungen erfolgen 4 4 System
29. EL 1 EINLEITUNG 11 1 3 Anforderungen Anforderungen an ein System zur Fernsteuerung anderer Anwendungen lassen sich grunds tzlich in zwei Bereiche unterteilen 1 Anforderungen welche an eine generische Fernsteuerung gestellt werden also ohne jegliche Kenntnis ber deren Programmlogik sowie 2 Anforderungen an eine einzelne zu steuernde Anwendung Da sich im generischen Fall zum Beispiel keine feingranularen Rechte ohne Wissen ber Semantik von Benutzeraktionen realisieren lassen ist dieser zweite Punkt f r eine wie in der Ausschreibung geforderten Funktionalit t unabdingbar In diesem Dokument soll diese Anforderungsanalyse exemplarisch an einer gemeinsamen Benutzung von PowerPoint Pr sentationen erfolgen 1 3 1 Generische Fernsteuerung Grundsatzlich werden folgende Anforderungen an eine Fernsteuerung gestellt Echtzeit Aktionen welche an einem Computer durchgef hrt werden sollen innerhalb einer gewissen Grenze z B einer Sekunde bei Benutzereingaben auch auf allen anderen Rechnern erscheinen Geschieht dies nicht oder zu langsam so besteht die Gefahr dass Gruppenteilnehmer nicht wissen wor ber der agierende Benutzer gerade spricht oder sie versuchen selber Aktionen durchzuf hren Konsistenz Konvergenz Durch das gleichzeitige Ausf hren von Aktionen sollen weder Konsistenz noch Konvergenz der Anwendung zerst rt werden Unter Konsistenz ist hier zu verstehen dass niemals Zust nde in der Anwendung vork
30. LEMENTIERUNG 59 e GenericNAP Der GenericNAP ist eine Klasse mit grundlegenden Funktionen zur Kommuni kation mit dem NUSS Access Provider So bietet sie Funktionen zum Login dem Erstellen einer Sessionliste zum Uberpriifen von Rechten und zur Untergruppen verwaltung e NAP W hrend der GenericNAP eine allgemeine NAP Anbindung realisiert bietet die se Erweiterung anwendungsspezifische Funktionen an So sendet es beispielsweise bei RPC basierten Aufrufen wie z B Rechteabfragen direkt das Antwortpaket an die WinConnection zur ck 4 5 Verwendete Externe Module F r die Entwicklung von SPP wurde auf folgende existierende Produkte zur ckgegrif fen Nachstehend werden die Produkte deren Einsatszweck sowie die Gr nde f r deren Verwendung diskutiert e NUSS Framework NUSS Access Point Da SharedPowerPoint eine Anwendung entwickelt im Rahmen des NUSS Projek tes ist ist eine Anbindung an deren Framework sowie die Nutzung dessen Funktio nalit t implizit gegeben Es wird f r Authentifizierung Rechteverwaltung Grup pen und Untergruppenmanagement verwendet e Microsoft PowerPoint In SPP wird auf jedem Rechner eine laufende PowerPoint Instanz verwendet e DSKEYBRD DLL von Dr J rgen Th mmler TUEM Diese Freeware DLL bie tet die M glichkeit Keyboardhooks Abfangen von entsprechenden Meldungen des Betriebssystems bei externen Programmen zu verwenden Da sich die dem entsprechende Funktion im Speicherbereich der
31. NZ03 Deshalb muss nur nur eine einfache Benutzerschnitt stelle zum Anzeigen und Anfordern von Rechten innerhalb jeder einzelnen Anwendung KAPITEL 3 ENTWURF 41 realisiert werden 3 4 Dateiverteilung Wird die fernzusteuernde Applikation wie in dem hier gew hlten Modell bei jedem Rechner ausgef hrt so m ssen auch von jedem dieser Rechner die ben tigten Res sourcen verf gbar sein Da nicht grunds tzlich von einem gemeinsamen Dateisystem ausgegangen werden kann schlie lich soll die Software in einem m glichst heterogenen Umfeld nahezu berall zum Einsatz kommen k nnen muss eine dementsprechende Verteilungsm glichkeit im System bestehen Im Fall von PowerPoint muss einzig die Pr sentationsdatei ppt verteilt werden 3 4 1 Skalierbarkeit W rden die Dateien durch den Server zu jedem Client einzeln bertragen werden so w re die zu bertragende Datenmenge das Produkt aus Clientzahl und Dateigr sse sie w re also linear von der Anzahl der teilnehmenden Clients abh ngig Geht man von dem Szenario einer Vorlesung mit 100 Teilnehmern aus in der ein Foli ensatz mit einer Gr sse von 4 MB verteilt werden muss so w rde deren bertragung bei einem zugrundeliegendem 11 MBit WLAN und einzelnen Verbindungen zum Server weit ber 5 Minuten dauern eine Zeit die z B in einer Vorlesung nicht zumutbar ist Daher muss f r die Dateiverteilung auf eine andere Technologie zur ckgegriffen werden Aus diesem Grund wurde ei
32. O werden hierbei auch in der Kom munikation zwischen zwei Computern verwendet Die restlichen Semantiken sind nur bei Multi und Broadcasts siehe Kapitel 2 3 3 von Bedeutung Die einzelnen Semantiken haben die im folgenden beschriebene Bedeutung Eine wei terf hrende Erkl rung sowie Beispiele sind in ROTHO1 zu finden Reliable Ist eine Kommunikation reliable so wird sichergestellt das eine abgeschick te Nachricht an allen korrekten Empf ngern auch ausgeliefert wird Durch den Zusatz korrekt wird sichergestellt dass fehlerhafte Prozesse nicht betrachtet werden Ein Empf nger sei hier dadurch definiert dass er die Nachricht erhalten soll und nicht zwangsweise bereits empf ngt Es m ssen folgende Figenschaften erf llt sein e Validit t Wenn ein korrekter Prozess eine Nachricht aussendet dann liefern letztendlich alle korrekten Empf ngerprozesse diese Nachricht auch aus KAPITEL 2 GRUNDLAGEN 27 e bereinkunft Wenn ein korrekter Prozess eine Nachricht ausliefert so liefern diese alle Empf n gerprozesse aus e Integrit t Jede Nachricht wird von jedem korrekten Prozess nur einmal ausgeliefert und das nur wenn sie vorher an ihn gesendet wurde FIFO Die FIFO Semantik First in first out sagt aus dass sich Nachrichten nicht berholen Es gilt zus tzlich zu den Reliable Eigenschaften noch folgende Bedingung Wird eine Nachricht m vor einer Nachricht ma gesendet so empf ng
33. Shared Whiteboard Neben der M glichkeit Annotationen lokal zu erstellen k nnen diese gemeinsam und global f r alle sichtbar erstellt werden e Untergruppen Um Gruppenarbeit zu unterst tzen ist es m glich Untergruppen zu bilden An notationen innerhalb einer Untergruppe werden nur zu deren Teilnehmern ver teilt e Modifikation von Folien Grunds tzlich werden folgende Funktionalit ten zur Verf gung gestellt L schen des Tempor ren Stiftes L schen aller Annotationen auf einer Folie Durch Picking von Objekten existieren weitere objektbasierende Aktionen L schen von einzelnen Annotationen also das Entfernen von Textein tr gen sowie von Teilstrecken einer Zeichnung Verschieben von Annotationen durch Setzen der neuen Position mittels Mausklick Verschieben von vorhandenen Folienobjekten Dadurch lassen sich Objekte Texte Zeichnungen Objektgruppen wel KAPITEL 1 EINLEITUNG 15 che zur urspr nglichen Pr sentation geh ren auf der zugeh rigen Folie neu positionieren Zus tzlich l sst sich mittels Picking der Urheber einer einzelnen Annotation ermitteln e Kommentare Es besteht die M glichkeit zu den einzelnen Folien Kommentare in Freitextform abzuspeichern Diese sind mit den aus PowerPoint bekannten Notizen auf den Handzetteln voll kompatibel Dort lassen sich diese unterhalb der Folie eintra gen e Lokale Pr sentationskopien Nach einer Pr sentation erhalt der Benutz
34. Studiengang Informatik Pr fer Prof Dr Kurt Rothermel Betreuer Dipl Inf Arno Wacker begonnen am 01 11 2002 beendet am 30 04 2003 CR Klassifikation C 2 2 C 2 4 H 5 3 K 3 1 K 6 3 Studienarbeit Nr 1872 Fernsteuerung von Anwendungen Holger Cermann Institut f r Informatik Universit t Stuttgart Breitwiesenstra e 20 22 D 70565 Stuttgart Zusammenfassung Vorgestellt wird die Konzeption und Entwicklung einer im Rahmen des NUSS Projektes der Universitat Stuttgart erstellten Software zur Fernsteuerung von beliebigen Anwen dungen beispielhaft an Microsoft PowerPoint Um dies zu erreichen werden grundlegende Techniken der Kommunikation sowie Arten der Fernsteuerung beschrieben Daraufhin werden die verschiedenen Moglichkeiten fiir einen Einsatz mit PowerPoint diskutiert und fiir das resultierende Fernsteuerungsmo dell eine entsprechende Software entworfen und implementiert Inhaltsverzeichnis 1 Einleitung 8 Dal Motivation a2 LA A A et a at 8 1 2 Aufgabenstellung cx cra 8 3 EN a ar ar AN LS 9 1 2 1 Urspr ngliche Aufgabenstellung 9 1 2 2 Ge nderte Aufgabenstellung 10 E RE Ee 11 1 3 1 Generische Fernsteuerung 11 1 3 2 Pr sentationsfernsteuerung 2 dl a a aang 12 2 Grundlagen 17 2 1 Methoden der Fernsteuerung 17 Dats MMC Prinzip dt Ae ER get A he ae A 18 2 1 2 Schnappschuss des Fensterinhaltes 2 222222 19 2 1 3 Betriebsystemoperationen
35. anwendung nach M glichkeit PowerPoint prototypisch im plementiert und validiert werden Dabei ist zu untersuchen ob PowerPoint gem des MVC Paradigmas aufgebrochen werden kann 1 2 2 Geanderte Aufgabenstellung Durch die Entstehung des NUSS Projektes Notebook University Stuttgart NUSS wurde das SASCIA Projekt abgel st Es besch ftigt sich interdisziplin r mit der Un tersuchung einer verst rkten Beteiligung von Studenten in der Lehre mittels mobiler Ger te Funktechnologien und gemeinsam benutzten Anwendungen Dadurch entstand ein ge ndertes Systemumfeld W hrend urspr nglich das Rahmen werk von SASCIA verwendet werden sollte wird nun das parallel entwickelte NUSS Framework BCNW02 unterst tzt Da dieses im Gegensatz zu seinem Vorg nger nicht ber einen Dienst zum Datentransport verf gt werden hier auch diese Aspekte disku tiert Die zweite nderung betrifft die urspr nglich geforderte reine Aufsplittung nach dem MVC Paradigma siehe Kapitel 2 1 1 Da sich w hrend fr her Phasen bereits heraus gestellt hat dass sich kommerziell verf gbare Software in den meisten F llen nicht nach diesem Paradigma zerlegen l sst und demnach auch nicht danach fernsteuerbar ist wurde diese Einschr nkung aufgel st Aus diesem Grund werden die unterschiedlichen M glichkeiten der Fernsteuerung dis kutiert und exemplarisch an Microsoft PowerPoint mit der hierf r am besten erschei nende L sung realisiert KAPIT
36. bbau UDP hingegen ist ein verbindungsloses paketbasiertes Protokoll W hrend das TCP Protokoll mit einem Telefonat vergleichbar ist Verbindungsaufbau Daten beliebiger L nge senden Verbindungsabbau gleicht UDP der traditionellen Post Brief in Umschlag stecken Absender angeben und abschicken Es besitzt dementsprechend weder die FIFO Eigenschaft noch ist die Kommunikation reliable Die Vorteile der jeweiligen Protokolle liegen auf der Hand W hrend TCP der An wendung durch seine Semantik viele berpr fungen abnimmt ist UDP ein u erst schlankes Protokoll Es wird nur eine Nachricht gesendet und auf keine Best tigung gewartet Der Overhead f r Verbindungsaufbau Fehlerkontrolle und Reihenfolgener haltung entf llt 2 3 3 Unicast Multicast Broadcast Eine Nachricht kann an einen Empf nger verschickt werden oft werden jedoch mehrere Empf nger ben tigt z B in einer von vielen Personen gleichzeitig genutzten Anwen dung Dabei kann es vorkommen dass dem Sender die einzelnen Empf nger nicht einmal alle bekannt sind z B bei der Bekanntgabe von Diensten Dadurch ist das Verschicken an mehrere Ziele an sich verbindungslos realisiert Das UDP Protokoll un terst tzt diese Zwecke durch spezielle IP Adressen KAPITEL 2 GRUNDLAGEN 30 e Unicast Unter Unicast ist die klassische 1 1 Kommunikation zu verstehen Adressiert wird die IP Adresse des Zielrechners e Broadcast Ein Broadcast ist eine Kommunikation
37. ch dieser Client beim Verbindungs aufbau angemeldet hat Im Folgenden wird zuerst auf das Datenformat eingegangen in welches die Aktionen transformiert werden marhalling Ubertragen werden grundsatzlich nur die folgende Grunddatentypen Bezeichnung Inhalt 1 Byte unsigned 0 255 2 Byte unsigned 0 65535 Aufbau MSB LSB Stringlange Int Zeichenfolge ISO 8859 1 Tabelle 3 1 Datentypen Ein zu tibertragendes Paket hat immer den folgenden Anfang e Int Size Die Groesse des Paketes inklusive diesem Header e Int Type Die Art des Befehles Abh ngig vom Wert des Type Feldes folgen befehlsabh ngige Inhalte Durch einen solchen Aufbau der Datenpakete lassen sich auf einer TCP Verbindung welche bereits die Semantiken FIFO und Reliable siehe Kapitel 2 3 1 bietet einzelne Pakete transportieren und einzeln dekodieren F r den Aufbau der einzelnen Pakete sei auf die Codedokumentation verwiesen Kapitel 4 Implementierung W hrend sich der Entwurf haupts chlich mit grundlegenden Designprinzipien beschaf tigt hat wird nun die konkrete Realisierung vorgestellt Da hier nur die wichtigsten Komponenten beschrieben werden ist bei Detailfragen die Codedokumentation zu kon sultieren 4 1 Verwendete Programmiersprachen Als Programmiersprachen wurden Java 2 1 4 01 JAVA sowie Microsoft Visual Basic 6 Service Pack 5 VB verwendet Die Aufteilung in 2 Sprachen hat die folgende Gr nde
38. der Andere als Client bezeichnet 3 17 KAPITEL 2 GRUNDLAGEN 18 2 1 1 MVC Prinzip Das Model View Controller Paradigma KrPo88 wurde urspr nglich mit der objekt orientierten Sprache Smalltalk 80 eingef hrt Es teilt eine Software mit Benutzerober fl che in 3 Bereiche auf wie die folgende Abbildung nach KrPo88 verdeutlicht Controller View Oberfl chen layout und Visualisierun gen Benutzereingaben View Nachrichten Benutzeroberfl che Verarbeitung von Benutzer eingaben Model Zugriff und Bearbeitungs nachrichten Nachrichten ber Zustands nderungen Nachrichten ber Zustands nderungen Model Anwendungs abh ngige Zust nde und Verhalten Abbildung 2 1 MVC Prinzip Die einzelnen Bereiche haben folgende Aufgaben Model Das Model liefert die Informationen zu dem was dargestellt werden soll Es kann die Anwendungssemantik beinhalten oder einfach nur die zugeh rigen Zust nde So ist bereits eine einfache Zahl in Form eines Integers ein m gliches Model f r eine Stoppuhr View Die View ist f r alles graphische zust ndig Sie kann ber Super und Subviews verf gen mittels derer z B verschiedene Ansichten auf das Model m glich sind Controller Der Controller bekommt Eingaben von Peripherieger ten wie Maus und Tastatur Seine Aufgabe ist die Verarbeitung dieser Daten und das entsprechende KAPITEL 2 GRUNDLAGEN 19 Andern von View bz
39. der Pr sentationsfolie durchgef hrt werden soll e Keine Aktion Kreuz Linke Mausklicks werden ignoriert e Klicks an PowerPoint weiterleiten Weltkugel Linke Mausklicks werden wie von PowerPoint gewohnt behandelt Somit k nnen zum Beispiel Hyperlinks ge ffnet oder Filme gestartet werden Achtung Wenn Sie in diesem Modus mit der linken Maustaste bl ttern so wird dies von SPP nicht erkannt ANHANG A BENUTZERHANDBUCH 76 e Persistenter Stift Bleistift Bei gehaltener Maustaste lassen sich Linien einzeichnen Achtung Dies geschieht je nach Rechnerleistung teilweise sehr langsam und zieht nach e Tempor rer Stift Stift mit Kringel Der Tempor re Stift funktioniert wie der permanente ist aber mit dem Pr sen tationsstift aus PowerPoint verwandt Die Linien verschwinden wieder sobald gebl ttert oder ein persistentes Objekt erstellt wird e Persistenter Text A Bei einem Mausklick in die Pr sentation erscheint ein Texteingabefenster siehe unten ber das ein Text eingef gt werden kann e Picken Pfeil Durch das Picken lassen sich persistente Annotationen markieren um Informa tionen anzuzeigen oder sie sp ter zu verschieben bzw zu l schen siehe Fenster Picking Informationen Es wird immer das oberste Objekt gepickt e Objekt Picken Zauberstab Dieser Modus erm glicht neben dem Picken von Annotationen das Selektieren von beliebigen Objekten wie z B Bildern e Pointer set
40. ei werden zugunsten einer geringen Latenz Fehler im Bild oder kurze St rungen im Ton in Kauf genommen W rden komplexe Fehlerkontrollmechanismen eingef hrt m ssten verlorene Pakete erneut ge sendet werden was zu einer Vergr sserung des Jitters f hren w rde Ein Protokoll zur Echtzeitkommunikation mittels Nachrichten ist z B das Real Time Transport Protocol SCFJ96 Weiterhin k nnen Nachrichten aufgrund der unidirektionalen Kommunikation ohne R ckantworten ohne der Verwendung komplexer Protokolle oder weiterer Nachrichten an mehrere Rechner gleichzeitig gesendet werden 2 4 2 TCP Sockets Sollen gr ere Datenstr me ber eine bestehende Verbindung bertragen werden so bieten sich TCP Sockets an Da das TCP Protokoll strombasiert reliable und FIFO ist lassen sich Datenmengen wie Dateiinhalte oder Texte einfach bertragen Durch das Puffern von Paketen und performanten Algorithmen wie das Sliding Window Verfahren ist TCP geeignet sicher und schnell gro e Datenmengen zu bertragen Da TCP Fehlerkorrektur besitzt und ber einen Slowstart Mechanismus im Fehlerfalle verf gt sind f r Echtzeitkommunikation andere Verfahren wie bereits im vorherigen Kapitel festgestellt besser geeignet Das TCP Protokoll wird ausf hrlich in TANE96 beschrieben 2 43 RPC Im Remote Procedure Call dem entfernten Prozeduraufruf wird die Kommunikation auf Prozeduraufrufe abstrahiert Im Falle von Corba OMG geschieht dies
41. eilnehmen so k nnen diese als Alternative zu einem Beamer auf einzelnen Computern die Anwendung verfolgen 1 2 Aufgabenstellung Da sich die Anforderungen an diese Aufgabe w hrend ihrer Bearbeitung ge ndert ha ben sei hier zun chst die urspr ngliche Aufgabenstellung wie sie in der Ausschreibung der Studienarbeit zu finden ist angef hrt Danach werden Gr nde sowie die daraus re sultierenden nderungen aufgez hlt 1 2 1 Urspr ngliche Aufgabenstellung Die urspr ngliche Aufgabe dieser Studienarbeit war die Erweiterung der SASCIA Ar chitektur SASCIA um eine Fernsteuerungsfunktionalit t Am Markt verf gbare Produkte wie VNC und Netmeeting bieten bereits eine generische Anwendungsfernsteuerung Hier erh lt eine Person ein Schreibrecht zur Anwendung die brigen Personen k nnen die Anwendung lesend verfolgen In der Gruppenarbeit ist aber auch die konkurrierende Nutzung einer Anwendung mit rollenbezogenen abge stuften Berechtigungen w nschenswert In der angebotenen Studienarbeit sollen die vorhandene SASCIA Architektur und das in SASCIA bereitgestellte Rahmenwerk derart berarbeitet werden dass beliebige An wendungen die nach dem Model View Control Paradigma aufgespalten werden k nnen KAPITEL 1 EINLEITUNG 10 an SASCIA angebunden werden k nnen wobei auf der existierenden Komponente einer generischen Floor Control aufzusetzen ist Die entworfene Architektur soll am Beispiel einer verbreiteten Standard
42. en e Aktionen W hlt die zu verwendende Aktion aus siehe SPP Befehlsleiste e Stiftdicke W hlt die Dicke der permanenten Linien aus ANHANG A BENUTZERHANDBUCH 79 e Stiftfarbe W hlt die Farbe von Linien und Pointern aus e L schen Pr sentationsstift L scht alle tempor ren Zeichnungen e L schen Annotationen auf dieser Folie L scht alle Annotationen der Folie e Beenden Beendet das Programm A 5 5 Notizen Kommentare Im Notizfeld k nnen einerseits die Kommentare welche bei der Erstellung in Po werPoint vermerkt wurden eingesehen werden Zus tzlich k nnen diese Kommenta re ge ndert werden Dadurch lassen sich hier eigene Notizen und Folienmitschriebe realisieren Achtung W hrend dieses Fenster angew hlt ist Titelleiste dunkelblau werden keine Tastenbefehle angenommen A 5 6 Text Eingabe In diesem Fenster lassen sich alle n tigen Informationen f r eine Textannotation einge ben Wird OK gedr ckt so wird die Texteingabe in die selektierte Gruppe gesendet A 5 7 Picking Informationen Dieses Fenster erscheint wenn ein Objekt markiert wurde Es zeigt Informationen ber Art und Ersteller von Objekten an Nach einem Klick auf verschieben wird das ANHANG A BENUTZERHANDBUCH SU Objekt bei einem Klick in die Pr sentation auf der Folie verschoben Durch den Button L schen l sst es sich entfernen A 5 8 Uhrzeit Timing Das Uhrzeit Fenster gibt Informationen
43. er Sitzung e Mitentwicklung der Schnittstelle zum NAP B 0 4 Phase 4 Programmentwicklung Beginn 15 11 2002 ANHANG B ZEITPLAN 84 Dauer 6 Wochen Inhalt e Grob und Feinentwurf e Implementierung des Programmes e Interne Tests B 0 5 Phase 5 Test und Weiterentwicklung Beginn 08 01 2003 Dauer 6 Wochen Inhalt e Einbindung des NAP s Verwendung im Rahmen von Vorlesungen Tests in verschiedenen Szenarien Einsammeln von Feedback B 0 6 Phase 6 Dokumentation Beginn 31 01 2003 Dauer 8 Wochen Inhalt ANHANG B ZEITPLAN e Vervollstandigen der Codedokumentation e Schreiben der Studienarbeit 85 Anhang C Rechtliches C 1 Markenzeichen Microsoft PowerPoint Netmeeting Conference XP Windows 98 Windows 98 SE Windows XP Windows NT und Windows 2000 sind eingetragene Warenzeichen der Microsoft Coporation In dieser Studienarbeit wurden weitere eingetragene Warenzeichen Handelsnamen und Gebrauchsnamen verwendet Auch wenn diese nicht als solche gekennzeichnet sind gelten die entsprechenden Schutzbestimmungen C 2 Lizenz des Light weight Reliable Multicast Pro tocol LRMP COPYRIGHT 1997 1998 BY MASSACHUSETTS INSTITUTE OF TECHNOLOGY MIT INRIA This W3C software is being provided by the copyright holders under the following license By obtaining using and or copying this software you agree that you have 86 ANHANG C RECHTLICHES 87 read understood and will comply
44. er die Moglichkeit diese abzuspeichern Dadurch werden im Gegensatz zu herk mmlichen Pr sentationen zwei Dateien erstellt Einmal die Pr sentation wie sie am Anfang der Sitzung erhalten wurde und zus tzlich die Pr sentation wie sie am Ende aussah also inklusive allen Mo difikationen und Annotationen Diese Dateien lassen sich danach wie gewohnt in PowerPoint ffnen und weiter editieren e NUSS Anbindung Das Programm baut auf das NUSS Framework der Universit t Stuttgart auf und verwendet damit dessen Features wie Session Management sowie dessen graphi schen Konfigurationstools Das NUSS Framework wird in Kapitel 3 3 genauer beschrieben e NUSS Rechteverwaltung Aufgrund der NUSS Anbindung wird dessen Rechteverwaltung mit Rollende finitionen Policies Kompatibilit ten zur Steuerung der Annotations und Pr sentationsfunktionen unterst tzt e DONUT Unterst tzung Das DONUT System ist ein von Michael Nagy im Rahmen einer Diplomarbeit KAPITEL 1 EINLEITUNG 16 NAGY03 entwickeltes System zur kontextsensitiven verteilten Annotation in Lehrumgebungen Zus tzlich zu den eigenen Annotationsm glichkeiten ist eine Schnittstelle zu dem DONUT System vorhanden Mittels dieser lassen sich zus tzliche kontextabh n gige Feedback Informationen an ein Interaction Tracking System weiterleiten Das Programm fungiert hierbei als Client f r DONUT sowie als Kontextprovider siehe daf r NAGY03 e Pr sentationsverteilung
45. esse be stimmten wohldefinierten Port Der Server beginnt darauf ohne jegliche weitere Kom munikation mit dem bertragen der Datei Nach Beendigung des Transfers schliesst dieser die Verbindung Um mehrere Dateien zu bertragen m ssten weitere Informationen in dem TCP Strom eingeflochten werden Dies kann beispielsweise durch eine gewisse Bytefolge oder Bit folge geschehen die signalisiert dass als n chstes e ein Dateiname e ein Dateiinhalt bertragen wird Da beliebige Bin rdateien bertragen werden sollen muss davon aus gegangen werden dass diese speziellen Folgen auch in den Dateien vorkommen k nnen KAPITEL 3 ENTWURF 45 Diese Vorkommnisse miissen dann entsprechend erweitert werden so dass diese beim Empfang erkannt und zur ckkonvertiert werden Dieses Verfahren das character stuf fing wird unter anderem in TANE96 genauer erl utert Eine andere Alternative zur bertragung mehrerer Dateien w re z B das Schliessen der TCP Verbindung nach jeder Datei und das automatische Senden der n chsten bei einem erneuten Verbindungsaufbau 3 5 Fernsteuerung Die Anbindung an die Anwendung geschieht grunds tzlich durch das in Kapitel 3 2 beschriebene Verfahren mit dem Abfangen von Events und dem Weiterleiten von an wendungsspezifischen Nachrichten In diesem Kapitel wird der weitere Verlauf dieser Daten betrachtet Es wird ein reines Client Server Modell beschrieben in dem der Server f r die Ver
46. euerung mit Annotationsm glichkeiten erfolgreich verlief Das System wird eingesetzt und als Verbesserung zu dem bis dahin verwendeten SASCIA System angesehen Durch die Weiterentwicklung wird gew hrleistet dass die Software verbessert wird und weitere Anforderungen von Vorlesungsteilnehmern in das Produkt einfliessen Literaturverzeichnis BCNW02 Detlef Bosau Holger Cermann Jochen Noller Arno Wacker NAP Spe zifikation Online verf gbar unter http www informatik uni stuttgart de ipvr vs de projects NUSS index html BoZh02 D Bosau Y Zhou NUSS Registry Spezifikation Online verf gbar un ter http www informatik uni stuttgart de ipvr vs de projects NUSS index html BURG97 C Burger Groupware dpunkt verlag 1997 LRMP INRIA Light wight Reliable Multicast Protocol Online verfiigbar unter http webcanal inria fr lrmp OMG Object Management Group Online verf gbar unter http www omg org ROTHO1 K Rothermel Skript zur Vorlesung Grundlagen der Verteilten Systeme SS 2001 SASCIA SASCIA Projekt der Universit t Stuttgart Online verf gbar unter http www informatik uni stuttgart de ipvr vs projekte Festival sascia html TANE96 A Tanenbaum Computer Networks Prentice Hall 3rd edition 1996 IANA IANA Internet Multicast Addresses Online verfiigbar unter http www iana org assignments multicast addresses 66 LITERATURVERZEICHNIS 67 ISIS Cornell University The ISIS Project
47. g der Bilder und dem Ubertragen von Aktionen befinden Vorteile einer solchen Architektur waren e die volle Kontrolle tiber zu steuernde Applikation e eine Plattformunabhangigkeit e ein generisch fiir beliebige Applikationen verwendbares Prinzip e die Notwendigkeit des Erwerbs nur einer Programmlizenz Bei einem solchen Ansatz ergeben sich jedoch folgende Nachteile und Probleme e Rechteverwaltung grobgranular oder komplex Da die interne Programmlogik nicht bekannt ist ist entweder nur eine alles oder nichts Semantik realisierbar oder m gliche Aktionen m ssen in die Fern steuerungssoftware implementiert werden Dadurch w rde einerseits die Gene rizit t verloren gehen andererseits k men somit wieder weitere Anforderungen KAPITEL 3 ENTWURF 35 bez glich Steuerbarkeit an die Anwendungen da die jeweilige Semantik einer Benutzeraktion erkannt und unterschieden werden m sste e Probleme bei mehreren Aktoren gleichzeitig z B bei der Maussteuerung e Hoher Traffic Da unter Windows das Abfangen von Grafik Primitiven nicht vorgesehen ist m ssen Screenshots erstellt werden e Anwendungsfenster muss serverseitig st ndig sichtbar sein Da in den Anforderungen eine feingranulare Rechtevergabe sowie das Agieren von mehreren Clients gleichzeitig vorgesehen ist kann dieser Ansatz so nicht verwendet werden 3 1 3 Betriebsystemoperationen Werden Aktionen wie Mausbewegungen oder Tastatureingaben bertragen so erge
48. genschaft haben die Nachrichten noch eine FIFO Ordnung Causal Atomic Zus tzlich zu der Atomic Eigenschaft haben die Nachrichten noch eine kausale Ordnung 2 3 2 TCP UDP Die Transportschicht des TCP IP Referenzmodelles bietet der Anwendung 2 Proto kolle an TCP Transmission Control Protocol und UDP User Datagram Protocol Da ber diese Techniken im weiteren Verlauf diskutiert wird werden hier deren Ei genschaften kurz erl utert Details deren Implementierung sowie Optimierung und darunter liegende Schichten werden hier nicht erkl rt und es sei hierf r auf TANE96 verwiesen TCP ist ein verbindungsorientiertes datenstrombasierendes Protokoll Das heisst dass es nach einem expliziten Verbindungsaufbau auf beiden Seiten einen Bytestrom entge gen nimmt und auf der jeweils anderen Seite abliefert TCP hat die folgenden Eigen schaften e FIFO Da es sich um einen Datenstrom handelt werden die einzelnen Pakete bzw Bytes KAPITEL 2 GRUNDLAGEN 29 wieder in der richtigen Reihenfolge zusammengesetzt e Reliable Werden Daten gesendet so erreichen diese entwerder ihr Ziel oder es wird ein Fehler signalisiert der zum Verbindungsabbruch f hrt Kommunikation ist bei TCP immer in 3 Phasen unterteilt Zuerst erfolgt der Ver bindungsaufbau Ist die Verbindung aufgebaut so kann in der Datenphase ber die TCP Verbindung kommuniziert werden Das Beenden der Kommunikation erfolgt letzt endlich in der Phase Verbindungsa
49. hmer Fragen zu bestimmten Punkten auf den einzelnen Vorlesungsfolien auch ber dieses System stellen 5 3 Feedback Im Rahmen des NUSS Projektes hat die Abteilung P dagogik des Institutes fir Erziehungswissenschaft und Psychologie unter anderem auch w hrend und nach der oben beschriebenen Vorlesung Interviews mit den Teilnehmern gef hrt Es kristalliesierten sich dabei folgende Meinungen heraus e SharedPowerPoint wurde positiv entgegengenommen und als eine Verbesserung zu der vorherigen Software empfunden e Gerade die M glichkeit private Kommentare einfach eingeben zu k nnen wurde von den Vorlesungsteilnehmern f r wichtig empfunden e Programmfunktionen sind teilweise nicht intuitiv oder zu komplex zu bedienen So haben manche Studenten nicht die privaten Kommentarfelder gefunden e Viele Teilnehmer empfinden den verwendeten Softwareeinsatz bei einer kleinen Vorlesung f r bertrieben sahen aber die Vorteile in grossen Vorlesungen e Eine Smartboard Unterst tzung sowie die Eingabe von handschriftlichen Notizen w re zu begr ssen KAPITEL 5 EVALUATION 62 e Gerade im Lehreinsatz wo Programme wie SPP unterst tzend im Hintergrund laufen sollen ist es notig dass diese wenig Fehler besitzen und mit einem geringen Zeitaufwand zu betreiben sind Kapitel 6 Ausblick 6 1 M gliche Erweiterungen und Verbesserungen Aus den bisherigen Tests bei unterschiedlichen Benutzergruppen haben sich die fo
50. ich eine Gruppe auch ohne die durch das NUSS Framework bereit gestellten Moglichkeiten erzeugen Dadurch stehen folgende Features nicht zur Verf gung e Gruppenfindung Benutzerauthentifizierung Rechte e DONUT Anbindung A 4 6 Client Der Client bildet das Gegenst ck zum oben genannten Server In ihm muss die IP Adresse des Servers angegeben werden A 4 7 Broadcast Der Broadcast Modus benotigt weder eine Java VM einen laufenden Java Teil noch ei ne Infrastruktur wie den NAP Dadurch stehen folgende Features nicht zur Verf gung Gruppenfindung Verteilung von Pr sentationen Benutzermanagement Namen und Authentifizierung e Rechte DONUT Anbindung ANHANG A BENUTZERHANDBUCH 74 e Internet Fahigkeit Funktion nur im aktuellen Subnetz nicht ber Router hin weg Da der Broadcast Modus nicht nach dem Client Server Modell arbeitet bricht die Pr sentation nicht beim Beenden eines Knotens ab es gibt keinen SinglePointOf Failure Einzugeben sind hierbei au er einer g ltigen Portnummer eine Broadcast Adresse sowie der Name der gew nschten Pr sentationsdatei von der Replikate auf allen Rechnern bereits vorhanden sein m ssen und nicht auf Konsistenz untereinander gepr ft werden Der gr te Bereich wird mit der Einstellung 255 255 255 255 in der Broadcast Adresse abgedeckt A 4 8 Erweiterte Einstellungen Neben den im Programm verf gbaren M glichkeiten lassen sich weitere Einstellungen mit
51. ico Client Callback send Packet payload byte length int void packet Received payload byte length int woid we Win Connection Win Connection ec Client Class port int lt lt create gt gt CommandProcessonwe Win Connection rund woid socket Socket connect Client address String port int woid win PacketReceived payload byte length int woid getPacketType payload bytel int pa In Input Stream ServerClass ps Out Output Stream clients vector icp Command Processor server ServerSocket create Servenpayload byte length int void lt create gt gt Win Connection lt 4greate gt gt Win Connection port int set Command Processonicp Command Processor void lt oreate gt gt ServerClassO create Client payload byte length int void start Listener port int woid client Packet Received payload byte length int void rund void sendResult code int res int void setIntwalue payload byte pos int value int void client Packet Received payload byte length int woid create Connection int sendPacket payload byte length int void rund void packet Received payload byte length int woid lt lt Interface gt gt lt lt Interface gt gt Generic ila P Client Callback ICommandProcessor group List vector client Packet Received payload byte length int void
52. ie Bedeutung Bl ttere auf der 5 Folie auf die Animation Nummer 3 enthalten Im Gegensatz zu den bisher genannten M glichkeiten muss die zu steuernde Anwendung hierbei jedoch explizit eine M glichkeit zu dieser Fernsteuerungsart bieten 2 1 5 Zusammenfassung Die folgende Tabelle fasst die Eigenschaften der erw hnten M glichkeiten nochmals angelehnt an BURG97 zusammen KAPITEL 2 GRUNDLAGEN 22 Verfahren Netzbelastung Ressourcen Anforderungen an verfiigbarkeit die Anwendung MVC Gering nicht erforderlich nach MVC Paradigma erstellt Betriebsystem gering erforderlich benotigte operationen er Kriterien Anwendungs gering erforderlich Fernsteuerungs operationen ren unterst tzung Tabelle 2 1 Eigenschaften von Fernsteuerungsmethoden 2 2 Related Work In diesem Kapitel werden einige auf dem Markt existierende Losungen zur Fernsteue rung von Anwendungen und zur verteilten Pr sentation vorgestellt Hierbei werden sie den oben angef hrten Methoden zugeordnet und ihre Vor bzw Nachteile erl utert Als erstes werden zwei Systeme zur generischen Fernsteuerung vorgestellt VNC und Netmeeting Danach folgen zwei weitere Systeme zur verteilten Pr sentation Confe renceXP und SASCIA 2 2 1 VNC VNC Virtual Network Computing ist ein Client Server basierendes System welches Clients die Sicht und optional auch die Kontrolle ber einen anderen Rechner gibt Die Software arbeitet nach der Methode das Sch
53. ierte Pr sentationsfolien angezeigt Dadurch kann der Vortragende besser auf angedachte Punkte eingehen und die Pr sentation wirkungsvoller planen Zus tzliche Handzettel werden damit nicht mehr ben tigt 5 1 2 Interaktive Lehrveranstaltungen Ausstattung 1 PC ggf an einen Beamer angeschlossen auf Wunsch Notebooks bei den Teilnehmern Ablauf Da sich persistente Annotationen nachtr glich fest in der PowerPoint Pr sen tation befinden lassen sich Ergebnisse w hrend der Veranstaltung interaktiv erarbeiten und sie sind danach auch f r die Anwesenden im Gegensatz zu klassischen Tafelauf schrieben zur Nachbereitung verf gbar Beispiele hierf r sind Zusammenfassungen Ansammlungen von Schlagw rtern Brainstorming Ergebnisse Ablaufdiagramme oder Frageb gen Diese k nnen entweder direkt von den Anwesenden oder sollte nur ein Rechner zur Verf gung stehen durch den Vortragenden als Mittelsmann eingetragen werden SharedPowerPoint stellt f r dieses Szenario zum Beispiel durch die M glich keit des Verschiebens bereits vorhandener Objekte eine Ansammlung von Werkzeugen bereit 5 1 3 Papierlose Anmerkungen Ausstattung Notebooks bei den Teilnehmern Ablauf Durch die M glichkeit der privaten Annotation k nnen Teilnehmer an Vor tr gen einerseits Zeichnungen und Texte in Folien einf gen zus tzlich aber auch Frei texte welche sich sp ter in den Notizen zur Folie befinden notieren und in der Nach bereitung verwenden
54. it folgt in diesem Kapitel die daraus entstan dene Aufgabenstellung Im letzten Abschnitt dieses Kapitels werden die Anforderun gen einerseits f r eine generische Fernsteuerung andererseits f r eine PowerPoint Fernsteuerung gesammelt 1 1 Motivation Multimedia und Computerunterst tzung h lt immer mehr Einzug in Lehrveranstal tungen So werden Folien immer h ufiger elektronisch mittels Beamer und Notebook pr sentiert Ebenso werden auf Gruppentreffen z B von Lern oder bungsgruppen mehr und mehr elektronisch Notizen erstellt Solche Softwaresysteme sind jedoch vor allem in Lehrveranstaltungen meist nicht miteinander verbunden so dass bei Zwischenfragen oder Anmerkungen oft verbal und mittels Flipchart bzw Tafel gear beitet werden muss Daher w re eine lokale wie auch entfernte Unterst tzung einer gemeinsamen Nutzung von Anwendungen und im speziellen von Pr sentationssoftwa re w nschenswert F r die gemeinsame Nutzung einer Anwendung gibt es unter anderem folgende Gr nde KAPITEL 1 EINLEITUNG 9 e Befinden sich die Teilnehmer nicht am gleichen Ort so ist grunds tzlich eine technische Unterst tzung notig e Wird eine Anwendung von mehreren Personen gemeinsam genutzt und besitzt diese keine Fernsteuerungsunterst tzung so m ten sich alle vor dem ausf hren den Rechner befinden Dies ist bei einer gro en Personenzahl nicht mehr m glich e Sollen viele Personen gleichzeitig an einer Pr sentation t
55. lgen den W nsche einer Erweiterung ergeben e Editieren von Texten Ein immer wieder ge usserter Wunsch w hrend des Einsatzes war die Editier m glichkeit von Textannotationen und auch Folieninhalten e Anbindung an einen Protokollierungsdienst zur sp teren Wiedergabe Derzeit in der Entwicklung ist ein Protokollierungsdienst mit dem sich eine SPP Sitzung inklusive Audio mitloggen l sst und sp ter inklusive aller SPP Aktionen wieder abspielbar ist e Einf hrung von Sicherheitskonzepten Da sich im NUSS Framework bisher nur ein schwaches Sicherheitskonzept be findet wurde dieses in SPP bernommen Ausgegangen wird hierbei von well behaved Anwendungen es wird also davon ausgegangen dass keine modifizier ten Programme eingesetzt werden 63 KAPITEL 6 AUSBLICK 64 e Persistente Prasentationen Ein weiterer Verbesserungspunkt ist die Moglichkeit persistenter Prasentationen Hierbei kann entweder das reine Fortsetzen einer Prasentation verstanden werden aber auch das Einfrieren einer kompletten Gruppe inklusive aller Benutzer und deren Rechte e Auswertung von NAP Callbacks In der aktuellen Version werden die vom Rechtemanagement angebotenen Call backs nicht ausgewertet e Unterst tzung der Microsoft TabletPC Erweiterungen Microsoft Powerpoint XP verf gt in seiner Version f r TabletPC s ber soge nannte Ink Objekte Diese lassen sich in PowerPoint auch w hrend der Pr sen tationsansicht er
56. lnen Anwendung gibt es jedoch keinerlei Rechteabstufungen Dadurch haben aus Sicht des Rechtemanagements der Fernsteuerung das bertragen einer Textanmerkung das L schen einer Folie und das Ausf hren eines VBA Skriptes zum L schen eines Verzeichnisses die gleiche Bedeutung 2 2 3 ConferenceXP Presenter Der ConferenceXP Presenter ist ein Shared Whiteboard aufbauend auf dem Frame work von Microsofts ConferenceXP Das Programm ist in 3 Unterprogramme gegliedert KAPITEL 2 GRUNDLAGEN 24 DeckBuilder Der DeckBuilder ist n tig um z B PowerPoint Folien in das pro priet res Format des Presenters umzuwandeln Dabei kann es multimediale Inhalte oder Animationen nicht bernehmen Des weiteren lassen sich vorher feste Feedbackm glich keiten angeben Der Teilnehmer kann sp ter unter anderem entweder Kommentare schreiben Geschwindigkeitsinformationen angeben oder mit Ja Nein antworten Presenter Der Presenter wird vom Vortragenden ausgef hrt und bietet die Kontrolle ber den Folienablauf und Annotationen Des weiteren lassen sich mittels Werkzeugen wie Stiften innerhalb der Pr sentation Bemerkungen erstellen Viewer Der Viewer wird von den Teilnehmern benutzt Diese melden sich an dem jeweiligen Presenter an wof r eine Multicastf higkeit vorrausgesetzt wird Nach der Anmeldung haben die Teilnehmer abgesehen von der im DeckBuilder eingestellten Annotationsm glichkeit keine weiteren zur Interaktion Es ist festzustellen
57. n kann z B ist die derzeitige VPN Software von Cisco nicht multicastf hig aber auch die meisten Internetprovider bieten dies nicht an muss hier grunds tzlich eine Fallbackl sung mittels Unicast existieren Letztendlich erfolgt wenn eine Multicast bertragung gew nscht wird die bertra gung von Dateien derart dass zuerst versucht wird die Datei per Multicast zu emp fangen Ist dies aufgrund von Timeouts Fehlern oder anderen Gr nden nicht m glich werden die Dateien per Unicast empfangen KAPITEL 3 ENTWURF 43 3 4 2 Kommunikationsprotokolle Da im vorliegenden Fall von PowerPoint nur eine Datei bertragen werden soll wird hier nur ein dementsprechend vereinfachtes Protokoll aufgezeigt Eine Moglichkeit zur Erweiterung wird am Ende dieses Kapitels vorgestellt Multicast Ubertragung Um den Benutzer nicht durch weitere Einstellungen zu irritieren und da es keine 1 1 Beziehung zwischen normalen Class A C und Multi castadressen Class D gibt soll es m glich sein dass mehrere oder alle Gruppen die gleiche Adresse benutzen In dem folgenden Protokoll gibt es 5 Pakettypen welche durch einen zus tzlichen Header unterschieden werden Anfrage Antwort Sendebeginn e Daten e Ende Die bertragung l uft folgendermassen ab 1 Der Client sendet seinen Wunsch Dateien von einem Server zu empfangen an die Multicastgruppe durch ein Paket vom Typ Anfrage Da die Clients die Unicast IP des Serve
58. nappschusses Als Optimierungen wer den die Bilder in einstellbaren St rken komprimiert und es k nnen Informationen wie Hintergrundbilder und hohe Farbtiefen reduziert werden Dadurch dass die einzigen Rechte f r einen Client die Freischaltung von Maus und KAPITEL 2 GRUNDLAGEN 23 Tastatur sind hat ein Client auch wenn er nur einen Kommentar in eine Anwendung eingeben soll die volle Kontrolle ber den Server Aus diesem Grund ist ein Einsatz dieser Software innerhalb einer Vorlesung nicht sinnvoll Nach dem gleichen Prinzip arbeiten auch andere Programme wie zum Beispiel PC Anywhere oder DesktopDelivery 2 2 2 Netmeeting NetMeeting ist ein System zur Unterst tzung verteilter Konferenzen Es verf gt neben der Anwendungsfernsteuerung noch ber eine Chat Audio und Video bertragung sowie ber ein Whiteboard Da diese weiteren Bestandteile nicht im Fokus dieser Arbeit liegen werden sie nicht erl utert Die Technik der Fernsteuerung erfolgt nach dem gleichen Prinzip wie in VNC durch Screenshots In der Rechteverwaltung ist Netmeeting jedoch feingranularer Neben dem grunds tz lichen Aktivieren von Maus und Tastatur l sst sich hier noch eine Liste von Anwen dungen definieren welche f r den Client sichtbar und kontrollierbar sind Diese Software ist zwar im Gegensatz zu VNC eher f r verteilte Vorlesungen geeignet da ein Benutzer nicht mit 3 Mausklicks den Server herunterfahren kann Innerhalb der einze
59. ne Verteilung ber Multicast vorgesehen Da es innerhalb einer Datei bertragung keine komplexen Anforderungen wie ein Gruppenmanagement gibt wurde das Light wight Reliable Multicast Protocol LRMP gew hlt Es han delt sich dabei um ein Protokoll welches unter anderem folgende f r seine Auswahl entscheidende Eigenschaften hat KAPITEL 3 ENTWURF 42 e Kommunikation rein ber Multicast Adressen Das Protokoll ben tigt von zwischenliegenden Routern keine weitere Funktiona lit t e Kommunikation ist FIFO und Reliable Dadurch lassen sich Daten wie z B Dateien einfach und ohne weiterer Anwen dungslogik bertragen e Fehlerkontrolle ber NACKs Durch das reine R cksenden von NACKs Not Acknowledge entsteht bei der Ver teilung keinerlei weitere Kommunikation solange keine Fehler entstehen Sollten diese entstehen so werden fehlende Datenpakete mittels einer automatisch er stellten Baumstruktur von einem nahen Teilnehmer der Gruppe nachgesendet wodurch das System auch bei Fehlern skaliert e Angabem glichkeit von einer Mindestdatenrate Durch die Angabe einer Mindestdatenrate wird der Fall ausgeschlossen dass durch die Teilnahme eines besonders langsamen Teilnehmers z B durch An bindung mittels Modem die gesamte Gruppe ausgebremst wird Zu langsame Gruppenteilnehmer signalisieren dies der Anwendung durch einen Fehler Da jedoch nicht grunds tzlich von einem multicastf higen Netzwerk ausgegangen wer de
60. ommen welche aufgrund der Programmlogik oder intuitiver Ansicht nicht erlaubt sind KAPITEL 1 EINLEITUNG 12 Die Konvergenz fordert dagegen dass am Ende einer Aktion z B einer Texteingabe alle ferngesteuerten Anwendungen den gleichen Zustand besitzen also im Falle von PowerPoint alle Folien gleich aussehen Hierzu sind Probleme wie die Reihenfolgeerhaltung zu betrachten Aktionen welche zum Beispiel kausal siehe hierzu Kapitel 2 3 1 zeitlich vor einer anderen geschahen d rfen auf keinem Rechner in der verkehrten Reihenfolge aufgef hrt werden Skalierbarkeit Ressourcenschonung Ein System zur Fernsteuerung besteht oft mals nur aus zwei Rechnern Im NUSS Projekt werden jedoch gerade Szenarien mit vielen Rechnern gleichzeitig verwendet Zum Beispiel bei einer Vorlesung in der der Vortragende gemeinsam mit 100 Studenten eine Anwendung bedient Demnach muss ein solches System skalierbar sein Dies bedeutet dass die Komplexit t im Idealfall kleiner als O n ist das System bei einer Verdoppelung der Rechnerzahl also h chstens doppelt so viele Ressourcen z B Bandbreite verwendet Ist dies nicht der Fall so ist darauf zu achten dass das System so ausgelegt wird so dass die innerhalb der angedachten Szenarien maximal ben tigten Ressourcen ausreichend vorhanden sind Sicherheit Rechte Letztendlich sollte immer eine Einschr nkung der Rechte f r einzelne Benutzer m glich sein W hrend dies bei einer vollkommen generischen
61. orhanden so wird letztendlich der Befehl wie in Kapitel 3 5 2 beschrieben in ein Bytearray verpackt und das Paket an den Java Teil geschickt Der Input Stub hat die Aufgabe empfangene Pakete wieder in seine urspr ngliche Form zu bringen unmarshalling und diese zu verteilen Daf r ruft das Modul ent sprechend des Pakettyps die vorgesehenen Funktionen im PP control Modul auf So erstellt das Modul beispielsweise bei einem Paket vom Typ Textannotation ein neues Wird kein Java verwendet so besteht die M glichkeit das Paket an eine IP Adresse zu broad casten In diesem Fall kommt das gesendete Paket danach bei allen Clients die es empfangen direkt im Input Stub an KAPITEL 4 IMPLEMENTIERUNG 53 Textobjekt setzt darin die Eigenschaften Text Farbe und Schriftgr sse und positio niert diese Annotation an der urspr nglich angegebenen Position 4 4 2 Java Der verwendete Java Teil besteht im Kern aus den folgenden Klassen Pachet Transport Client Class Hussin socket Socket icreste gt gt Packet Transport server Object lt creste gt gt Muss n sendPacket ps Out OutputStream payload barte fl length int woid Sin Input Stream mainfangs Strin void packer Receivedipa oad byte length int void ps Out OutputStream receive Packet psin Input Stream packet Buffer byte void icc IClient Callback CommandProcessor lt oreate gt gt ClientClass s Socket
62. rPoint beschr nkt und Objekte werden nicht wie blich sondern durch eine eigene GUI erzeugt Der Wrapper ist demnach nicht generisch und muss f r jede zu steuernde Anwendung neu geschrieben werden Die Schnittstelle nach aussen liefert eine fernzusteuernde An wendung welche das weitere System mit anwendungsspezifischen Nachrichten in einem generischen Format versorgt Powerpoint Client pons MES d Framework Abbildung 3 1 Systemdesign KAPITEL 3 ENTWURF 38 Der Client ist eine Komponente welche fiir die Kommunikation mit dem Fernsteue rungsserver zustandig ist Seine Aufgabe ist es e mit dem Server zu kommunizieren die Verteilung von Dateien zu organisieren e Server zu erstellen oder einem bestehenden beizutreten Gruppen bekanntzugeben und zu suchen Rechte zu berpr fen Als letzte Komponente existiert noch ein Server welcher die Nachrichten der einzelnen Clients koordiniert und verteilt Der Server an sich kommuniziert nicht mit dem NUSS Framework Da der Server von einem Client aus initiiert wird bernimmt dieser das Eintragen der Gruppe in die Registry 3 3 NUSS Anbindung Das System soll an das NUSS Framework wie in NOLLO2 NOLLO3 und BoZh02 beschrieben angebunden werden Dabei soll es dessen M glichkeiten zur Authentifizie rung der Gruppenverwaltung und dem Rechtemanagement verwenden Einen ber blick ber den NUSS Framework liefert Abbildung 3
63. rs kennen k nnen sie ihn eindeutig adressieren 2 Der Server antwortet sofort durch ein Antwort Paket in dem er seine eigene Unicast IP zus tzlich mitsendet Da das LRMP Protokoll bereits ber eine ein deutige Senderkennung verf gt k nnen Clients mit diesem Wissen alle weiteren KAPITEL 3 ENTWURF 44 Pakete von dem Server ausfiltern Da die Antwort unabhangig vom Zustand des Servers sofort zu erfolgen hat konnen Clients ohne lange Wartezeit feststellen ob der zustandige Server erreichbar ist Ist dies der Fall so warten diese nun auf ein Paket vom Typ Sendebeginn 3 Hat der Server seinen vor der Anfrage begonnenen Sendeprozess beendet oder ist er bereits in einem Wartezustand so beginnt er mit dem Datentransfer Dies geschieht durch ein Paket vom Typ Sendebeginn mit Metainformationen wie Dateiname gefolgt von entsprechend der Dateigr sse vielen Daten Paketen Danach schickt er noch ein Ende Paket um dem Client ber den komplettierten Transfer zu informieren Um mehrere Dateien zu versenden so m sste dieses Protokoll nur leicht abgewandelt werden Nach dem Versenden einer Datei schickt der Server z B nicht ein Ende Paket sondern ein NeueDatei Paket mit dem n chsten Dateinamen Unicast bertragung Um den Dateitransfer mittels Unicast zu realisieren wurde eine TCP Verbindung gew hlt Ein Client verbindet sich auf dem Server auf einem durch die SPP Server Adr
64. ruppennamen zu erken nen Um diesen Status zu ndern muss nur auf diesen Button geklickt werden e Refresh R Erneuert die Gruppenliste e Neue Untergruppe erstellen Erstellt eine neue Untergruppe mit dem Namen welcher in dem daraufhin er scheinenden Fenster eingegeben wird e Untergruppe l schen X Hiermit konnen Untergruppen insofern man dieser beigetreten ist und ebenfalls das n tige Recht besitzt gel scht werden A 5 3 PowerPoint Oberfl che Innerhalb der PowerPoint Oberfl che haben die Maustasten folgende Bedeutung ANHANG A BENUTZERHANDBUCH 78 Rechte Maustaste ffnet ein Kontextmen in dem die meisten Einstellungen vorge nommen werden k nnen siehe Kontextmen Linke Maustaste Abh ngig von der gerade ausgew hlten Aktion in der Befehlsleiste bzw im Kontextmen A 5 4 Kontextmen Im Kontextmen stehen folgende Optionen zur Verf gung e Abbruch Schlie t das Fenster wieder Achtung verwenden Sie bitte diesen Eintrag da es sonst Probleme mit Tastatureingaben geben kann e Befehlsleiste einblenden ffnet das Fenster SPP Befehlsleiste e Notizen einblenden ffnet das Fenster Notizen Kommentare e Uhr einblenden ffnet das Fenster Uhrzeit Timing e DONUT Eintr ge betrachten Meldet DONUT dass es ein Fenster mit allen Eintr gen ffnen soll e Annotationsverbreitung W hlt die Gruppe aus in welche die Annotationen gesendet werd
65. s tzlich aufgestellten Notebooks arbeiten KAPITEL 5 EVALUATION 60 Abbildung 5 1 Notebookeinsatz Innerhalb dieser Vorlesung wurde SharedPowerPoint fiir folgende Zwecke verwendet e Nachtragliches Vervollstandigen von Folien Zusammenfassungen und Sammlungen von Eigenschaften wurden interaktiv ge l st Dabei wurden die Inhalte auf vorher teilweise leeren Folien von den Teil nehmern m ndlich und letztendlich schriftlich erarbeitet e Pr sentationsfolien mit kleingedruckten Inhalten In gr sseren Beispielen musste nicht auf die Lesbarkeit von Details in den hinteren Reihen R cksicht genommen werden Dadurch liessen sich komplexe Diagramme oder Codebeispiele anhand einer bersichtsfolie realisieren e Unterst tzung der Zuh rer Teilnehmern der Vorlesung war es m glich sich die letzten Folien anzusehen ohne vorher ein Skript oder einen Foliensatz ausdrucken zu m ssen Dadurch liessen sich Verst ndnisprobleme vermeiden und Zwischenfragen besser vorbereiten KAPITEL 5 EVALUATION 61 e Bessere Nachbereitung Die w hrend der Vorlesung erstellten Foliens tze wurden von Dr Burger f r die Teilnehmer erreichbar in das Internet gestellt Dadurch liessen sich auch f r die jenigen die kein Notebook besitzen oder an einer Vorlesung nicht teilnehmen konnten die Folienkommentare downloaden e Einsatz von DONUT Ab dem 13 01 2003 wurde zus tzlich das aus SPP verwendbare DONUT System eingesetzt Dadurch konnten Teilne
66. s die falsche IP Adresse angegeben Zur L sung siehe vorherige Frage Die Multicast Verteilung funktioniert nicht Dies kann mehrere Gr nde haben e Ist Ihr Netzwerk Multicast fahig e Beherrscht Ihr Computer Multicastnachrichten Dienste wie Personal Firewalls SW Router oder mehrere Netzwerkkarten k nnten dies verhindern e Haben Sie in den Einstellungen Multicast abgeschaltet A SN Feedback und Kontakt Sollten w hrend des Betriebs Fehler auftreten welche hier nicht erw hnt wurden so w re ich ber eine Mail an Holger Cermann gmx de dankbar Ebenso sind Probleme W nsche und Anregungen immer willkommen Anhang B Zeitplan Im Folgenden ist der Zeitplan angef hrt nach dem diese Studienarbeit ablief Die einzelnen genannten Phasen berlappen sich teilweise oder laufen nach der offiziellen Beendigung weiter B 0 1 Phase 1 Grundlagen Beginn 01 10 2002 Dauer 3 Wochen Inhalt e Analyse Fernsteuerungsarten e Ermitteln der Anforderungen 82 ANHANG B ZEITPLAN 83 B 0 2 Phase 2 Analyse von Microsoft PowerPoint Beginn 19 10 2002 Dauer 2 Wochen Inhalt e Analyse der Architektur und des Objektmodells von PowerPoint e Suche nach M glichkeiten zum Abfangen von Nachrichten e Erstellung eines Prototypen B 0 3 Phase 3 Anforderungen an eine Middelware Beginn 29 10 2002 Dauer 2 Wochen Inhalt e Sammeln der ben tigten Rechte e Anforderungen an eine API e Bestimmung des Ablaufes ein
67. sentation Daher soll ein dementsprechender Eintrag bei Erstel lung einer solchen gemeinsam genutzten Prasentation dort eingetragen werden Wurde einer Gruppe beigetreten so stehen nun gruppenspezifische Befehle zur Verfiigung Dies sind Befehle des Rechtemanagements siehe n chstes Kapitel sowie M glichkeiten zur Erstellung von Untergruppen f r Teilmengen der Teilnehmer 3 3 4 Rechte Innerhalb einer Gruppe und Untergruppe gibt es ein Rechtemanagement Die Grund einstellungen der Rechte Mengen Bezeichnungen Einschr nkungen Kompatibilit ten Maximalwerte Defaultwerte werden bei dem Erstellen der Hauptgruppe berge ben Innerhalb des Rechtemanagements gibt es neben Rechten noch definierbare Rollen welche durch eine Menge von Rechten modelliert sind So kann es in SPP beispielsweise eine Rolle Akteur geben welcher mit Text und Linien annotieren und ausserdem bl ttern darf Besitzt ein Benutzer ein Recht zu Beginn nicht so muss er innerhalb der Anwendung ein Recht beantragen k nnen Das Verhalten des Rechtemanagements h ngt von den bergebenen Einstellungen ab Es kann je nach vorhandener Policy sofort abgelehnt vergeben oder nachgefragt werden Details zu der Einf hrung und Realisierung dieser Konzepte sind bereits detailliert in NOLLO2 und NOLLO03 erl utert und werden hier deshalb nicht vertieft Zur Verwaltung von Rechten Policies oder Rechteanfragen existiert eine generische Rechteverwaltung von KI
68. spezifi schen Wrapper erweitert welcher Betriebssystemoperationen abf ngt und in Anwen dungsoperationen und umgekehrt transformiert Diese Operationen werden danach an alle Anwendungsinstanzen verteilt und somit aus Sicht des MVC Paradigmas als Con trollernachrichten an ein an jedem Client replizierten Model mit direkt verbundener View Komponente gesendet Dieses Verfahren wird im weiteren genauer erl utert Das resultierende Modell hat den in Abbildung 3 1 beschriebenen Aufbau Direkt auf dem Rechner mit der zu steuernden Anwendung befindet sich eine weitere Wrapper Anwendung welche mittels e Betriebssystemoperationen Fensternachrichten KAPITEL 3 ENTWURF 37 e von der Anwendung bereitgestellten Methoden mit der ersteren kommuniziert Microsoft PowerPoint bietet hierftir ein ActiveX Object siehe hierzu MSDN an mittels dessen sich eine Pr sentation steuern l sst Da Po werPoint jedoch ber nahezu keine Ereignismeldungen ber lokal ausgef hrte Aktionen z B Mausklicks Tastatureingaben oder gar Objekterstellungen verf gt werden Ein gaben direkt vom Betriebssystem abgegriffen und nicht an PowerPoint weitergeleitet Nach aussen hin besitzt der Wrapper anwendungsspezifische Methoden und Ereignis meldungen wie Bl ttern Linien zeichnen oder hnliches Da der Wrapper somit die Anwendungslogik kennen muss wann erzeugt ein Mausklick ein Event wurde das fernzusteuernde Fenster auf die Pr sentationssicht von Powe
69. stellen Dadurch k nnen zus tzlich Freihandzeichnungen erstellt werden Da sich die in SPP angebotenen Linieneingaben aufgrund der langsamen Geschwindigkeit nicht f r eine Schrifteingabe eignen ist deren Integration ein klares Ziel f r die weitere SPP Entwicklung e Wechseln des Foliensatzes w hrend einer Vorlesung Wird ein Foliensatz beendet so sollte es m glich sein innerhalb einer existieren den Gruppe einen neuen Foliensatz zu verteilen 6 2 R ckblick Die Entwicklung dieser Software war im Vergleich zu den Vorgehenspl nen des Software Engineerings ein eher untypisches Projekt Die Anforderungen an die Software ergaben sich oftmals erst im direkten Test mittels Prototypen mit Vorlesungsteilnehmern und Vortragenden Ebenso war durch die gleichzeitige Konzeption und Erstellung des NUSS Frameworks nur eine stark evolution re Entwicklung m glich in der nach und nach Features eingeplant sowie eingebunden wurden Die Auswirkungen sind im Zeitplan zu erkennen in dem die einzelnen Abschnitte nur KAPITEL 6 AUSBLICK 65 einen zentralen Fokus darstellen und Entwicklung sowie Einsatz sich standig abwech seln 6 3 Weitere Schritte Der weitere Ablauf ist gepragt durch die Weiterentwicklung von SharedPowerPoint siehe 6 1 die Wartung sowie die Unterst tzung des Einsatzes in verschiedenen Vor lesungen ab dem Sommersemester 2003 6 4 Fazit Abschliessend ist festzustellen das die Entwicklung einer PowerPoint Fernst
70. t dem damit verbundenen Informationsverlust abzuw gen e Abstraktion von Graphikprimitive Der Unterschied zum allgemeinen Ansatz besteht hier darin dass nicht die letzt endlich erzeugten Bilder bermittelt werden sondern die f r deren Generierung KAPITEL 2 GRUNDLAGEN 20 im Betriebssystem verwendeten Graphikprimitive Dieses Verfahren ben tigt je doch eine weitere Unterst tzung durch das Betriebssystem welches die Fernsteue rungssoftware ber Zeichen oder andere Oberfl chenevents informieren muss Ein Beispiel f r diese Methode ist das X System X e bertragung von Differenzen Geht man davon aus dass sich in einer typischen Anwendung meist nur Teile des Fensterinhaltes ndern so entf llt bei einer reinen bertragung von Bilddifferen zen beziehungsweise von ge nderten Regionen ein Grossteil der sonst gesendeten Daten Das VNC System siehe Kapitel 2 2 1 verwendet unter anderem dieses sowie die folgenden Erweiterungen e Komprimierung der Informationen Die Datenmenge der resultierenden Graphikinformationen l sst sich weiterhin durch eine Komprimierung verringern So lassen sich beispielsweise bei der Codie rung von durchschnittlichen Fensterbildern 32 bit in das GIF Format Faktoren von 1 50 erreichen e Auslassen bestimmter Informationen Als letzte M glichkeit zur Optimierung des Ressourcenverbrauchs sei hier das gezielte Entfernen von f r nicht notwendig erachteten Bildinformationen an gef hrt Dies
71. t kein korrekter Prozess ma vor m Causal H ngt der Kontext einer Nachricht nicht nur von den vorher vom gleichen Prozess gesendeten Nachrichten sondern auch von den Nachrichten anderer Prozesse ab so muss eine kausale Ordnung verwendet werden Die Definition wird dementspre chend erweitert Wurde eine Nachricht m kausal vor einer Nachricht ma verschickt so empf ngt kein korrekter Prozess ma vor m Hierbei ist der Begriff kausal folgendermassen definiert Ein Ereignis a geschieht kausal vor b a b gdw 1 Ein Prozess erzeugt die Ereignisse a und b wobei a vor b erzeugt wurde 2 a ist ein Sendeereignis einer Nachricht und das Ereignis b ist deren Empfang 3 Es gibt ein Ereignis c f r das gilt a c und c gt b Ereignisse sind insofern nicht weiter eingeschr nkt Sende und Empfangsereignisse Ein Sendeereignis kann z B mittels Multicast und Broadcast mehrere Empf nger spe zifizieren siehe Kapitel 2 3 3 KAPITEL 2 GRUNDLAGEN 28 Timed Reliable Ist das Verschicken von Nachrichten Timed Reliable so kann man eine Konstante A in der Art angeben dass jeder korrekte Empfangerprozess bei einem Sendezeitpunkt t die Nachricht bis sp testens t A ausliefert Atomic Ein Broadcast oder Multicast ist Atomic wenn jeder Prozess die Nachrichten in der gleichen Reihenfolge bekommt Die Reihenfolge der Nachrichten untereinander spielt hierbei keine Rolle FIFO Atomic Zus tzlich zu der Atomic Fi
72. tei lung und die Benutzerverwaltung zust ndig ist Die Kommunikation wird durch eine TCP Verbindung realisiert Da die Daten zu dem Zeitpunkt der Erzeugung noch einen direkten Anwendungsbezug haben z B bl tter auf Folie 4 werden zuerst die vorhandenen Rechte berpr ft Bei einem negativen Ergebnis wird der Benutzer dar ber informiert Besitzt er die ent sprechenden Rechte so werden die strukturierten Daten in ein Bytearray umgewandelt siehe Kapitel 3 5 2 und an den Server geschickt Dieser hat einzig die Aufgabe die Daten an alle Clients zu verteilen Der Umweg ber den Server geschieht da e dadurch gesichert ist dass alle Clients die Datenpakete in der gleichen Reihenfolge erhalten Dies ist wichtig weil Aktionen gegenseitig kausal abh ngig sein k nnen z B das L schen eines von einem anderen Client erstellten Objektes e durch das Senden eines Paketes an den Server mittels einer TCP Verbindung gesichert ist dass entweder alle anderen korrekt funktionierenden Clients oder KAPITEL 3 ENTWURF 46 keiner der Clients dieses Paket bekommt e die Verwaltung der Clients nur an einer Stelle geschehen muss Empf ngt ein Client ein solches Paket so wandelt er es zur ck in das urspr ngliche Datenformat und f hrt die darin spezifizierte Anwendungsaktion durch 3 5 1 Skalierbarkeit Betrachtet man die Gr nde f r die Einf hrung des Servers so muss man feststel len dass die ben tigte Semantik f
73. ur Verf gung steht Danach befindet sich ein entsprechender Eintrag im Startmen welcher zum Starten ausgew hlt werden kann A 2 Systemvoraussetzungen e PC mit Betriebssystemen Windows 98 SE Windows XP Windows NT Windows 2000 69 ANHANG A BENUTZERHANDBUCH 70 Weitere Microsoft Betriebssysteme sind m glich wurden jedoch nicht getestet Wird SPP in heterogenen Umgebungen verwendet so ist bei der Erstellung der Folien darauf zu achten dass sich z B Animationen aufgrund verschiedener Office Versionen nicht unterschiedlich verhalten e Die empfohlene Mindestgeschwindigkeit der PC s betr gt 500 MHz e Microsoft PowerPoint 2000 oder PowerPoint XP 2002 jeweils auf jedem Rechner installiert e Mindestens Java 2 1 4 auf jedem Rechner installiert und der Aufruf mittels java bzw javaw muss ohne weitere Pfadangabe erfolgen k nnen e Bildschirmaufl sung mindestens 800 600 empfohlen wird 1024 768 oder h her e Mindestens 50 MB freier Speicherplatz Weitere Softwarekomponenten wie Visual Basic Runtimes DLL s f r das Subclassing von PowerPoint sowie dem inria net Irmp Paket f r Reliable Multicast werden durch Setup Pakete zur Verf gung gestellt Folgende Softwarekomponenten werden von SPP genutzt liegen dem Installationspaket jedoch nicht bei e Wenn mit dem NUSS Framework kommuniziert werden soll so muss auf einem er reichbaren Rechner ein NAP gestartet werden Innerhalb
74. ur leitet Ab dieser Stelle ist sichergestellt dass die Anwendung vom Benutzer direkt keine Eingaben entgegen nehmen kann welche den Systemzu stand einseitig ver ndern k nnen Werden Eingaben abgefangen so muss aufgrund des gew hlten Modells die Systemlo gik nachimplementiert werden Im Fall von SPP ist dies unter anderem das Zeichnen von Linien und die Eingabe eines Textes Um den jeweiligen Modus festzulegen steht neben einem Fenster mit Werkzeugleiste auch ein Kontextmen zur Verf gung Dieses Modul Context menu wird aufgerufen wenn ein Tastaturevent Rechte Maustaste gedr ckt empfangen wird Anstelle des PowerPoint Kontextmen s wird nun ein eige nes angezeigt Ist darin der Modus Textannotation gew hlt so wird bei einem linken Mausklick auf einer beliebige Stelle der Pr sentation ein Fenster ge ffnet welches eine Eingabe von Fliesstext und einer Schriftgr sse erlaubt Dieses Fenster erzeugt bei einem Klick auf OK eine Nachricht zum Erstellen der entsprechenden Textannotation Alle Nachrichten Textannotationen Bl ttern Linien werden an den sogenannten Output Stub gesendet Dieser berpr ft zuerst ob Lokale Annotationen ausgew hlt ist und schickt die Nachricht in diesem Fall ohne eine weitere berpr fung an den Input Stub Ist dies nicht der Fall so wird nun gepr ft ob alle ben tigten Rechte vorhanden sind und es wird im negativen Fall eine Benutzermeldung angezeigt Sind alle Rechte v
75. w Model Durch eine solche Aufteilung l sst sich eine Anwendung einfach fernsteuern indem das lokale Model mit entfernten Views und Controllern verbunden wird Eine gemeinsame Nutzung eines Models von mehreren Views und Controllern l sst sich ebenso realisieren da abgesehen vom Model an keiner Stelle zustandsspezifische Daten ge ndert werden k nnen 2 1 2 Schnappschuss des Fensterinhaltes Eine andere M glichkeit beliebige Anwendungen fernzusteuern ist das bertragen des Fensterinhaltes in Form eines Bildes Die Bildinformationen werden entweder periodisch oder nur bei einer nderung des Inhaltes bertragen Die letztere Alternative m ssen das Betriebssystem zum Beispiel durch das Senden von WM_PAINT Nachrichten in Microsoft Windows sowie das Fernsteuerungssystem zum Beispiel durch Abfangen eben dieser Nachrichten unterst tzen Durch diese Erweiterung wird nicht nur weni ger Netzwerklast erzeugt es kann auch schneller auf Ereignisse reagiert werden Um Netzwerkressourcen weitergehend zu schonen stehen zudem folgende M glichkeiten zur Verf gung e Verringern der Updateh ufigkeit Darunter wird bei periodisch bertragenen Bildern eine Erh hung des Intervalls verstanden Wird nur bei nderungen bertragen so l sst sich in gewissem Masse mit diesem Verfahren zus tzliche Netzlast verringern in dem abgewartet wird ob eine nde rung nur kurzzeitig existiert und somit ignoriert werden kann Diese Optimierung ist mi
76. win Packet Received payload byte length int woid group Name List Vector new Operation void group Desclist vector HER username String results Vector we Win Connection current Group Description String lt oreate gt gt NAPO lt icreate gt gt Generic NAPO has RightQ void join Group grouplO String void getRight rec woid void connect ToNap ip String usemame String password String woid group Command rec void woid has Right grouplO String right ld String boolean get Right grouplD String gott ld String woid set Session Nrinumber int boolean get Sessions void clase Sessioni void set Event Callback we Win Connection void groups Changed void set Session descrption String ip String woid get Session ist vector ree Definition void maps Changed void Abbildung 4 2 Java Architektur Klassen fiir die Dateiverteilung oder die Donut Anbindung sind hierbei der Ubersicht lichkeit halber nicht enthalten Im Folgenden werden die einzelnen grundlegenden Klassen kurz beschrieben KAPITEL 4 IMPLEMENTIERUNG 54 e PacketTransport Die Klasse PacketTransport dient zur Ubertragung von Paketen iiber einer beste henden TCP Verbindung Da diese Kommunikationsart zwischen Client gt Server sowie zwischen VB gt Java verwendet wird stellt sie eine grundlegende Basisklasse dar Ihre Hauptaufgabe ist das Lesen von eingehenden Daten das Dekodieren des
77. zen Zeigende Hand Hiermit lassen sich Punkte kennzeichnen indem ein Symbol an der angeklickten Stelle eingef gt wird Dieses Symbol verschwindet bei einem weiteren Setzen des Pointers und wird auch nicht gespeichert e DONUT Frage D und DONUT Anmerkung D Wird ein DONUT Dienst gefunden so sind diese 2 M glichkeiten zus tzlich verf gbar au er im Broadcast Modus Beim Klicken auf einen Punkt ffnet sich ein DONUT Fenster in dem zu in der Pr sentationsdatei angegebenen Keywords Fragen Anmerkungen an den DONUT Server geschickt werden siehe DONUT Dokumentation ANHANG A BENUTZERHANDBUCH 77 Als n chstes stehen 6 vordefinierte Farben zur Auswahl Diese finden Verwendung beim Linienziehen und beim Setzen des Pointers die Texteingabe hat eine separate Auswahl Der j Button bzw der Button dient der Verkleinerung des Fensters wenn Gruppenbefehle nicht ben tigt werden Im Gruppenmanagement gibt es folgende Op tionen e Gruppenauswahl Dropdownliste Im einfachsten Fall l sst sich hier ausw hlen ob Annotationen nur auf dem eigenen Rechner Lokale Annotationen oder bei allen Teilnehmern Globale Annotationen sichtbar sind Werden Untergrup pen verwendet so lassen sich hier auch diese verwenden Annotationen k nnen hierbei nur in den Gruppen erfolgen in denen man auch Teilnehmer ist e Gruppe Beitreten Verlassen Der Gruppenstatus ist an einem Zeichen vor dem G
Download Pdf Manuals
Related Search
Related Contents
eBook Player JetCon 6300 Series User Manual IS FB15 fr Service Manual IO-16-REM-H - QWERTY: Control Systems & Engineers Vaccuperm VGS -141, -143, -145 DOF PRO v4.0 User Manual PDF, 02/09/09, Multi Page 1 of 22 E-Songbook 3/12/2012 file://D:\Old Notebook Télécharger - La Distinction BBA Certificate for Gen Copyright © All rights reserved.
Failed to retrieve file