Beschreibungdescription
System und Verfahren zur Unterstützung der Gruppeninteraktion (GIA) in hypermedialen InformationsräumenSystem and method to support group interaction (GIA) in hypermedia information spaces
Die Erfindung betrifft ein System und Verfahren zur Unterstützung derThe invention relates to a system and method for supporting the
Gruppeninteraktion (GIA) in hypermedialen Informationsräumen für Klienten und Diensterbringer (Server) nach dem Oberbegriff der Patentansprüche 1 und 10.Group interaction (GIA) in hypermedia information rooms for clients and service providers (servers) according to the preamble of claims 1 and 10.
Das Internet hat sich zu dem Standardnetzwerk für verteilte Anwendungen entwickelt. Ein wesentliches Problem bei der Entwicklung verteilter, komplexer Anwendungen ist in speziellen Anwendungskontexten die Abhängigkeit der Systemarchitektur und derThe Internet has become the standard network for distributed applications. A major problem in the development of distributed, complex applications in special application contexts is the dependency of the system architecture and the
Implementierung von den jeweiligen Netzwerkstrukturen.Implementation of the respective network structures.
Die Internet-Protokolle im Umfeld des Word-Wide-Web (WWW) unterstützen im wesentlichen die Repräsentation, Speicherung, Verteilung und Darstellung hypermedialer Informationen in plattformübergreifender Form.
Der Erfindung liegt die Aufgabe zugrunde, ein System und ein Verfahren, die die bestehenden hypermedialen Informationssysteme für Klienten und Server, zum Beispiel web-basierte Informationssysteme, um koordinierte Funktionen zur Unterstützung menschlicher Interaktion erweitern. Die Erfindung wird für das System durch die kennzeichnenden Merkmale desThe Internet protocols in the context of the Word Wide Web (WWW) essentially support the representation, storage, distribution and display of hypermedia information in a cross-platform form. The invention is based on the object of a system and a method which expand the existing hypermedia information systems for clients and servers, for example web-based information systems, by coordinated functions to support human interaction. The invention is for the system by the characteristic features of
Patentanspruchs lund für das Verfahren durch die kennzeichnenden Merkmale des Patentanspruchs 10 beschrieben. Vorteilhafte Weiterbildungen und Ausgestaltungen sind in den Unteransprüchen angegeben.Claim lund for the method described by the characterizing features of claim 10. Advantageous further developments and refinements are specified in the subclaims.
Das GIA-System wird im folgenden als Referenzimplementierung, d.h. in einer möglichen Ausführung der GIA-Architektur dargestellt. Die Entscheidungen für spezifische Umsetzungsvarianten, z.B. WWW als Hypermediasystem oder die dargestellte Ausprägung der Bedienschnittstelle, ergeben sich nicht zwingend aus der GIA-Architektur, sondern es werden entsprechend dem Stand der Technik die derzeit vorteilhaftesten Varianten gewählt.The GIA system is used in the following as a reference implementation, i.e. shown in a possible version of the GIA architecture. The decisions for specific implementation variants, e.g. WWW as a hypermedia system or the version of the user interface shown do not necessarily result from the GIA architecture, but the currently most advantageous variants are selected in accordance with the prior art.
Das GIA-System hat den Vorteil, daß hypermediale Informationssysteme um koordinierte Funktionen zur Unterstützung menschlicher Interaktion plattformübergreifend erweitert werden und eine stabile und Netzwerk transparente Kopplung von Systembausteinen über Internetdienste erzielt wird. Die Systembausteine sind auf verschiedenen Rechnern in einem Internet und im Rechner in verschiedenen Prozeßräumen verteilt. Die Kopplung der Systembausteine erfolgt über Ereignisse. Es wird sowohl eine synchrone als auch eine asynchrone Kopplung unterstützt. Durch die asynchrone Kopplung der Bausteine wird die Stabilität und Flexibilität des Gesamtsystems wesentlich erhöht. Vorteilhafterweise wird im Gegensatz zu bestehenden Ansätzen ( RMI, SUN/CORBA) eine Übertragung nicht auf ein bestimmtes Kommunikationsprotokoll beschränkt, sondern es werden beliebig bestehende Internet-Protokolle (Sockets, RMI, NNTP, SMTP etc.) und neuartige sog. verteilte Ereignissystem Protokolle zur Kopplung eingesetzt. Die GIA-Architektur unterstützt den transparenten, gleichzeitigen Einsatz mehrerer Protokolle (Multiprotokollkopplung). Außerdem ist eine automatische Auswahl adäquater Kopplungsprotokolle vorgesehen (Autoprotokollselektion). Die Kopplungsprotokolle sind von Hardware- und Software- Plattformen unabhängig.
Das erfindungsgemäße GIA-System wird im folgenden am Beispiel einer Internetseite dargestellt. Die Informations- und Kontrollabläufe der WWW-basierten Gruppeninteraktion werden als Ausfuhrungsbeispiele anhand von Aktivitätsdiagrammen unter Bezugnahme auf schematische Abbildungen näher erläutert.The GIA system has the advantage that hypermedia information systems are expanded to include coordinated functions to support human interaction across platforms and that a stable and network-transparent coupling of system components via Internet services is achieved. The system modules are distributed on different computers in an Internet and in the computer in different process rooms. The system blocks are linked via events. Both synchronous and asynchronous coupling are supported. The asynchronous coupling of the blocks significantly increases the stability and flexibility of the overall system. In contrast to existing approaches (RMI, SUN / CORBA), transmission is advantageously not restricted to a specific communication protocol, but rather any existing Internet protocols (sockets, RMI, NNTP, SMTP etc.) and new so-called distributed event system protocols Coupling used. The GIA architecture supports the transparent, simultaneous use of several protocols (multiprotocol coupling). In addition, an automatic selection of adequate coupling protocols is provided (auto protocol selection). The coupling protocols are independent of hardware and software platforms. The GIA system according to the invention is shown below using the example of a website. The information and control processes of the WWW-based group interaction are explained in more detail as exemplary embodiments on the basis of activity diagrams with reference to schematic diagrams.
In Fig.l ist die GIA-Systemarchitektur dargestellt.The GIA system architecture is shown in FIG.
Fig. 2 zeigt ein Aktivitätsdiagramm „Anmeldung".Fig. 2 shows an activity diagram "registration".
Fig. 3 zeigt ein Aktivitätsdiagramm „URL-Wechsel"3 shows an activity diagram “URL change”
Fig. 4 zeigt ein Aktivitätsdiagrarnm"Beginn des Folgens".Fig. 4 shows an activity diagram "start of following".
Fig. 5 zeigt ein Aktivitätsdiagramm „URL- Wechsel beim Folgen"5 shows an activity diagram "URL change when following"
Zur Beschreibung der Erfindung werden die auch in der deutschen Sprache geläufigen, fachspezifischen englischen Ausdrücke verwendet.The subject-specific English expressions, which are also familiar in the German language, are used to describe the invention.
Das vorliegende GIA-System besteht einerseits aus neuartigen CSCW ( Computer Supported Cooperativ Work) Diensten, z.B. Dienst für die Benutzer- und Gruppenwahrnehmung (Awareness) und Diensten zur Unterstützung kooperativer Navigation im Informationsraum (Cooperative Navigation). Derzeit sind fünf koordinierte CSCW - Funktionen im GIA-System realisiert:The present GIA system consists on the one hand of new types of CSCW (Computer Supported Cooperative Work) services, e.g. Service for user and group perception (awareness) and services to support cooperative navigation in the information space (cooperative navigation). Five coordinated CSCW functions are currently implemented in the GIA system:
1. Benutzerwahrnehmung (awareness): Während die Web-Benutzer sich auf der Web- Seite bewegen, nehmen sie andere Benutzer und Betreuer war, die sich am selben Ort oder untergeordneten Orten befinden. Die Web-Benutzer werden in einer Raumplanmetapher visualisiert. Die Wahrnehmung anderer Benutzer vermittelt die1. User awareness (awareness): While the web users move around on the web page, they are aware of other users and supervisors who are in the same place or subordinate places. The web users are visualized in a room plan metaphor. The perception of other users conveys the
Belebtheit des Systems und steigert so dessen Attraktivität. Wahrnehmung ist auch
eine Voraussetzung, um andere Benutzer kennenzulernen und Gemeinschaften zu bilden.Liveness of the system and thus increases its attractiveness. Perception is too a prerequisite for getting to know other users and building communities.
2. Orts-Chat: Die Web-Benutzer können im GIA-System mit den anderen Benutzern einer Seite kommunizieren. Wechselt ein Benutzer die Seite, so kann auch seine Orts-Chat-Gruppe automatisch gewechselt werden.2. Local chat: The web users can communicate with the other users of a page in the GIA system. If a user changes the page, his local chat group can also be changed automatically.
3. Orts-Diskussionsforen: Den Orten kann ein asynchrones Diskussionsforum zugeordnet werden. Beim Betreten des Ortes kann der Benutzer das Forum aktivieren und Anmerkungen zu den Informationen einfügen oder auf bestehende Anmerkungen antworten. So wird auch asynchrone menschliche Kommunikation unterstützt. Analog dem Orts-Chat kann bei einem Seitenwechsel das Forum angepaßt werden.3. Location discussion forums: An asynchronous discussion forum can be assigned to the locations. When entering the site, the user can activate the forum and add comments to the information or reply to existing comments. This also supports asynchronous human communication. Similar to the local chat, the forum can be adapted when changing pages.
4. Kooperative Navigation: Die Benutzer können ihre Browser verbinden. So sind individuelle Anleitung oder interaktive "Guided Tours" realisierbar.4. Cooperative navigation: Users can connect their browsers. In this way, individual instructions or interactive "guided tours" can be realized.
5. Bekannten-Chat: Es ist möglich Chat-Gruppen zu gründen, die unabhängig von den wechselnden Orten der Benutzer existieren. So können stabile und ortsunabhängige5. Known chat: It is possible to set up chat groups that exist regardless of the changing locations of the users. So stable and location independent
Kommunikationskanäle aufgebaut werden.Communication channels are established.
Die Bausteine der Klienten/Server Architektur sind in externe Anwendungen und interne Anwendungen gegliedert. Externe Anwendungen sind kommerziell verfügbare Systeme, die nur über Standardschnittstellen gesteuert werden können und deren Bedienschnittstelle im allgemeinen nicht verändert werden kann. Interne Anwendungen liegen im Quellcode vor und können deswegen besser gesteuert werden. Zudem kann ihre Bedienschnittstelle den Bedürfnissen des Anwendungsumfeldes angepaßt werden.The building blocks of the client / server architecture are divided into external applications and internal applications. External applications are commercially available systems that can only be controlled via standard interfaces and whose user interface cannot be changed in general. Internal applications are available in the source code and can therefore be better controlled. In addition, their user interface can be adapted to the needs of the application environment.
Gemäß Fig. 1 gliedert sich der Server 2 in den GIA-Server 5 für interne Anwendungen und externe Server Anwendungen 4.1, the server 2 is divided into the GIA server 5 for internal applications and external server applications 4.
Der GIA-Server 5 implementiert über entsprechende Manager alle Systemfunktionen, die für den Server notwendig sind, jedoch von bereits kommerziell verfügbaren serverseitigen CSCW (Computer Supported Cooperative Work) Anwendungen nicht oder nur unzureichend abgedeckt werden. Bausteine des GIA-Servers sind
beispielsweise ein GIA-Haupt-Manager, Gruppen-Manager, Struktur-Manager, Notifikations-Manager und externe Anwendungsadapter 3b.The GIA server 5 implements, via appropriate managers, all system functions that are necessary for the server, but which are not or only insufficiently covered by server-side CSCW (Computer Supported Cooperative Work) applications that are already commercially available. Components of the GIA server are for example a GIA main manager, group manager, structure manager, notification manager and external application adapter 3b.
Zu den externen Anwendungen gehören alle Anwendungen zur Unterstützung der GIA- Funktionen, die durch kommerziell verfügbare Systeme abgedeckt werden können. Hierzu gehören die Server für Internet-Protokolle, wie der EMAIL-, NNTP-, IRC- und HTTP-Server, wie auch Datenbanken und das Dateisystem des Server-Betriebssystems.External applications include all applications that support GIA functions that can be covered by commercially available systems. These include the servers for Internet protocols, such as the EMAIL, NNTP, IRC and HTTP servers, as well as databases and the file system of the server operating system.
Der Klient 1 gliedert sich in den GIA- Klienten 6 für interne Anwendungen, die GIA- Internet-Protokoll-Klienten 8 und in externe Klienten Anwendungen 7.Client 1 is divided into GIA clients 6 for internal applications, GIA Internet protocol clients 8 and external client applications 7.
Der GIA-Klient 6 implementiert alle Systertifunktionen, die für die internen Anwendungen notwendig sind, jedoch von bereits kommerziell verfügbaren klientenseitigen CSCW-Systemen nicht oder nur unzureichend abgedeckt werden. Bausteine des GIA-Klienten 6 sind beispielsweise ein GIA-Haupt-Klient, RMV (Room Map View)-Klient, Notifikations-Klient und externe Anwendungsadapter 3c.The GIA client 6 implements all system functions that are necessary for the internal applications, but are not or only insufficiently covered by client-side CSCW systems that are already commercially available. Components of the GIA client 6 are, for example, a GIA main client, RMV (Room Map View) client, notification client and external application adapter 3c.
Die GIA-Intemet-Protokoll-Klienten 8 implementieren klientenseitige Bedienschnittstellen für Anwendungen, die aus standardisierten Internet-Protokollen bestehen. EMAIL-, NNTP- und der IRC -Klient gehören zu dieser Kategorie.The GIA Internet protocol clients 8 implement client-side user interfaces for applications that consist of standardized Internet protocols. EMAIL, NNTP and the IRC client belong to this category.
Zu den externen Klienten Anwendungen 7 gehören alle Anwendungen zur Unterstützung der GIA-Funktionen, die durch kommerziell verfügbare Systeme abgedeckt werden. Hierzu gehören beispielsweise WWW-Browser.External client applications 7 include all applications to support the GIA functions that are covered by commercially available systems. These include, for example, WWW browsers.
Die Verbindungen zwischen den Bausteinen sind einerseits die bekannten Internet Protokolle, z.B. SMTP, POP, NNTP, IRC und HTTP und andererseits ein neu entwickeltes Verbindungensystem zur Koppelung von GIA-Bausteinen, ein sogenanntes verteiltes Ereignissystem DES (Distributed Event System).The connections between the blocks are the well-known Internet protocols, e.g. SMTP, POP, NNTP, IRC and HTTP and, on the other hand, a newly developed connection system for coupling GIA modules, a so-called distributed event system DES (Distributed Event System).
Die GIA-Server Bausteine 5 sind serverseitige Anwendungen, die im Quellcode vorliegen und damit besonders koordiniert zusammenwirken. Die Funktionen des GIA-
Servers werden von Managern implementiert, die innerhalb von Server-Programmen ablaufen.The GIA server modules 5 are server-side applications that are present in the source code and thus interact in a particularly coordinated manner. The functions of the GIA Servers are implemented by managers who run within server programs.
Dem GIA-Haupt-Manager kommt in der GIA-Architektur eine zentrale Bedeutung zu. Er verwaltet für jeden am System angemeldeten GIA-Klienten eine entsprechende Session-Datenstruktur. Erfolgt die Kommunikation der Klienten mit den Managern über einen zentralen Punkt, dann ist der Haupt-Manager für die GIA-Klienten auch die Schnittstelle zu allen weiteren Managern und für alle Manager die Schnittstelle zu den GIA-Klienten. Der GIA-Haupt-Manager bietet anderen Komponenten Sessionspezifische Ereignisse (An-, Abmeldung, Ortswechsel) an. Der Gruppen-Manager implementiert die GIA-Funktionen zur Benutzergruppierung. Benutzer, die auf den strukturierten Informationsräumen interagieren, werden von dem Gruppen-Manager anhand ihrer Interaktionen mit dem GIA-System gruppiert. Die entstehenden Benutzergruppen werden vom Gruppen-Manager dynamisch anhand modifzierbarer Gruppierungsmetriken verwaltet. Klienten und andere Server können die Gruppen und deren Mitglieder vom Gruppen-Manager abfragen.The GIA main manager is of central importance in the GIA architecture. It manages a corresponding session data structure for each GIA client logged on to the system. If the communication with the managers takes place via a central point, then the main manager for the GIA clients is also the interface to all other managers and for all managers the interface to the GIA clients. The GIA main manager offers other components session-specific events (registration, deregistration, change of location). The group manager implements the GIA functions for user grouping. Users who interact in the structured information spaces are grouped by the group manager based on their interactions with the GIA system. The resulting user groups are managed dynamically by the group manager based on modifiable grouping metrics. Clients and other servers can query the groups and their members from the group manager.
Der Struktur-Manager implementiert Funktionen zur Strukturierung des Informationsraumes. Über die zugeordneten Adapter 3b werden unterschiedliche strukturierte Informationsquellen eingebunden (Dateisystem, Datenbanken etc.). Die Strukturinformation wird dynamisch gehalten und kann von den Klienten und anderen Servern abgefragt werden.The structure manager implements functions for structuring the information space. Different structured information sources (file system, databases etc.) are integrated via the assigned adapters 3b. The structure information is kept dynamic and can be queried by the clients and other servers.
Der Notifikations-Manager implementiert Funktionen zur Reaktion auf Veränderungen des Informationsraumes oder des GIA-Systems selbst. Er nimmt Anfragen entgegen, die Beschreibungen von Zustandsänderungen des Informationsraumes enthalten und löst bei Eintreten von nachgefragten Veränderungen eigenständig Benachrichtigungs- Ereignisse aus.The Notification Manager implements functions for reacting to changes in the information room or the GIA system itself. It accepts inquiries that contain descriptions of changes in the state of the information room and independently triggers notification events when changes occur.
Die externen Server Anwendungen 4 liegen nicht im Quellcode vor und können deshalb nicht direkt abgefragt oder gesteuert werden. Externe Server Anwendungen 4 sind serverseitige Anwendungen, die kommerziell verfügbar sind und in das GIA-System über Adapter 3 a eingebunden sind. Die Adapter 3 a verbinden die externenThe external server applications 4 are not in the source code and therefore cannot be queried or controlled directly. External server applications 4 are server-side applications that are commercially available and are integrated into the GIA system via adapter 3 a. The adapter 3 a connect the external
Serveranwendungen mit dem GIA-Haupt-Manager und dem Notifϊkations-Manager durch Implementierung von Funktionen zur Steuerung (Aktor) und Abfrage (Sensor)
von externen Anwendungen. Die Adapter koppeln die anwendungsspezifischen Details der Interaktion mit externen Anwendungen. Beispielsweise interagiert der NNTP- Adapter mit Anwendungen, die das NNTP-Protokoll zur Verfügung stellt und setzt interne Anfragen in NNTP-Anfragen, sowie NNTP -Antworten in interne Ergebnisse um.Server applications with the GIA main manager and the notification manager by implementing functions for control (actuator) and query (sensor) from external applications. The adapters couple the application-specific details of the interaction with external applications. For example, the NNTP adapter interacts with applications provided by the NNTP protocol and converts internal requests into NNTP requests and NNTP responses into internal results.
Der EMAIL-Server verwaltet asynchrone benutzeradressierte elektronische Nachrichten. Beispiele für Implementierungen sind Server, die auf den Internet- Protokollen SMTP und POP aufbauen. Der NNTP-Server verwaltet asynchrone inhaltlich adressierte Hierarchien elektronischer Nachrichten. Die Nachrichtenhierarchien sind in sogenanntenThe EMAIL server manages asynchronous user-addressed electronic messages. Examples of implementations are servers that are based on the Internet protocols SMTP and POP. The NNTP server manages asynchronous content-related hierarchies of electronic messages. The message hierarchies are in so-called
Diskussionsforen organisiert. Der Nachrichtenaustausch zwischen Klient und Server basiert auf dem Internet-Protokoll NNTP.Discussion forums organized. The exchange of messages between client and server is based on the Internet protocol NNTP.
Der IRC-Server verwaltet synchrone elektronische Nachrichten, die über sogenannte Kanäle auf Grundlage des Internet-Protokolls IRC verteilt werden. Der HTTP-Server verwaltet hypermediale Multimediadaten. Die Daten sind z.B. im HTML-Standard repräsentiert und werden über das HTTP-Protokoll ausgetauscht.The IRC server manages synchronous electronic messages that are distributed via so-called channels based on the Internet protocol IRC. The HTTP server manages hypermedia multimedia data. The data are e.g. represented in the HTML standard and are exchanged via the HTTP protocol.
Die GIA-Klienten Bausteine 6 sind klientenseitige Anwendungen, die im Quellcode vorliegen und damit besonders koordiniert zusammenwirken können.The GIA client building blocks 6 are client-side applications that are available in the source code and can therefore work together in a particularly coordinated manner.
Der GIA-Haupt-Klient hat zwei wesentliche Funktionen. Einerseits stellt er die Hauptverbindung zum GIA-Server dar und stellt somit den internen Klienten Ereignisse des Servers zur Verfügung. Andererseits koordiniert er die CSCW-Dienste durch Interaktion zwischen den dienstspezifischen Klienten-Bausteinen und den Adaptern 3c, 3d.The main GIA client has two main functions. On the one hand, it represents the main connection to the GIA server and thus makes events of the server available to internal clients. On the other hand, he coordinates the CSCW services through interaction between the service-specific client modules and the adapters 3c, 3d.
Der RMV -Klient stellt die Position eines Benutzers im Informationsraum auf Grundlage einer Raumplanmetapher dar. Der aktuelle Standpunkt wird als Gang dargestellt, die vom aktuellen Standpunkt erreichbaren Informationsräume durch vom Gang aus erreichbare Räume im Raumplan. Am aktuellen Standpunkt wird der Benutzer und alle anderen Benutzer dargestellt, die sich im selben Informationsraum befinden. Das gleiche gilt für die Subräume, wo die jeweilig anwesenden Benutzer visualisiert werden.
Der Notifikations-Klient ermöglicht es dem Benutzer des GIA-Systems, sich über Veränderungen des Informationsraumes benachrichtigen zu lassen. Beispielsweise wird bei Eingang einer neuen Nachricht in einem Forum des NNTP-Servers eine email an den Benutzer geschickt.The RMV client represents the position of a user in the information room on the basis of a room plan metaphor. The current position is represented as a corridor, the information rooms that can be reached from the current point of view by rooms in the room plan that are accessible from the corridor. The current position shows the user and all other users who are in the same information room. The same applies to the subspaces where the respective users present are visualized. The notification client enables the user of the GIA system to be notified of changes in the information space. For example, when a new message arrives in a forum of the NNTP server, an email is sent to the user.
Folgende GIA-Internet-Protokoll-Klienten 8 werden beispielsweise im GIA-System verwendet.The following GIA Internet protocol clients 8 are used, for example, in the GIA system.
Ein EMAIL -Klient zum Verfassen, Senden und Empfangen benutzeradressierter elektronischer Nachrichten und deren Versendung auf Grundlage bestehender Internet- Standards.An EMAIL client for composing, sending and receiving user-addressed electronic messages and sending them based on existing Internet standards.
Ein NNTP-Klient zum Verfassen, Senden und Empfangen inhaltlich adressierter elektronischer Nachrichten im Rahmen sogenannter Diskussionforen von NNTP- Servern. Der Nachrichtenaustausch zwischen Klient und Server basiert auf dem Internet-Protokoll NNTP. Ein IRC -Klient zum Verfassen, Senden und Empfangen synchroner elektronischer Nachrichten, die über sogenannte Kanäle auf Grundlage des Internet-Protokolls IRC ausgetauscht werden.An NNTP client for composing, sending and receiving content-related electronic messages in the context of so-called discussion forums of NNTP servers. The exchange of messages between client and server is based on the Internet protocol NNTP. An IRC client for composing, sending and receiving synchronous electronic messages that are exchanged via so-called channels based on the Internet protocol IRC.
EMAIL-, NNTP- und IRC-Klient liegen im Quellcode vor und können direkt vom GIA- Klienten angesteuert und abgefragt werden.EMAIL, NNTP and IRC clients are available in the source code and can be accessed and queried directly by the GIA client.
Die externen Klienten Anwendungen 7 liegen nicht im Quellcode vor und können deshalb nicht direkt abgefragt oder gesteuert werden. Die externen Klienten Bausteine sind klientenseitige Anwendungen, die kommerziell verfügbar sind und über den Adapter 3d in das System eingebunden werden. Der Adapter 3d implementiert Funktionen zu Steuerung (Aktor) und Abfrage (Sensor) von externe Anwendungen. Der Adapter koppelt die anwendungsspezifischen Details der Interaktion mit externen Anwendungen. Beispielsweise interagiert der HTTP -Adapter mit Browsern, die den aktuellen Ausschnitt des Informationsraumes darstellen. Der Aktor des Adapters stößt das Laden neuer Seiten durch das GIA-System an und der Sensor leitet Seitenwechsel durch den Benutzer an das GIA-System weiter. Beispielsweise erlaubt der HTTP-Klient das Laden von Hypermediadaten über das HTTP -Protokoll und das Darstellen der HTML -Daten auf dem Klienten-Rechner.
Im folgenden werden beispielhafte Informations- und Kontrollabläufe der Bausteine des GIA-Systems beschrieben. Nicht angegeben werden die standardisierten Interaktionen auf der Grundlage von Internet-Protokollen (SMTP, POP, NNTP, IRC, HTTP), da diese aus den entsprechenden RFC (Request For Comment) - Dokumenten entnommen werden können.The external client applications 7 are not in the source code and therefore cannot be queried or controlled directly. The external client modules are client-side applications that are commercially available and integrated into the system via the 3d adapter. The adapter 3d implements functions for control (actuator) and query (sensor) of external applications. The adapter couples the application-specific details of the interaction with external applications. For example, the HTTP adapter interacts with browsers that represent the current section of the information space. The actuator of the adapter initiates the loading of new pages by the GIA system and the sensor forwards page changes by the user to the GIA system. For example, the HTTP client allows the loading of hypermedia data via the HTTP protocol and the display of the HTML data on the client computer. In the following, exemplary information and control processes of the components of the GIA system are described. The standardized interactions based on Internet protocols (SMTP, POP, NNTP, IRC, HTTP) are not specified, since these can be found in the corresponding RFC (Request For Comment) documents.
Die Kopplung der Bausteine erfolgt über das verteilte Ereignissystem DES. Die Abläufe im System werden im folgenden mit Aktivitätsdiagrammen dargestellt. In diesen Diagrammen sind Aktivitäten als abgerundete Rechtecke dargestellt. Die horizontale Anordnung dieser Aktivitäten ergibt sich aus dem "Ort", an dem sie stattfinden (hier die entsprechenden Softwarekomponenten). Die vertikale Anordnung spiegelt den zeitlichen Ablauf wieder. Die Aktivitäten sind über Pfeile miteinander verbunden, auf denen der jeweils zugehörige Ereignisklasse vermerkt ist.The blocks are linked via the distributed event system DES. The processes in the system are shown below with activity diagrams. In these diagrams, activities are shown as rounded rectangles. The horizontal arrangement of these activities results from the "place" at which they take place (here the corresponding software components). The vertical arrangement reflects the chronological sequence. The activities are linked by arrows on which the relevant event class is noted.
Ausführungsbeispiel: Anmeldung (Fig. 2)Exemplary embodiment: registration (FIG. 2)
Beginnt der GIA-Anwender z.B. den Anmeldevorgang, wird er vom GIA-Klienten nach seinen Benutzerangaben gefragt. Mit diesen Informationen versorgt, schickt der GIA- Klient ein Ereignis El (NewSessionEvent) an den GIA-Haupt-Manager. Bei Erhalt des NewSessionEvent legt der GIA-Haupt-Manager eine neue Sessionklasse an. Im Anschluß daran wird ein weiteres Ereignis E2 (NewSessionConfirmationEvent) an den GIA-Klienten geschickt, das ihm anzeigt, daß die neue Session erfolgreich angelegt wurde. Darüberhinaus enthält dieses Ereignis auch die Session ID (Identifikation) des GIA-Klienten, die er bei jeder weiteren Anfrage an den Session- Server zur Identifikation mitschicken muß. Da sich der Gruppen-Manager für das Anlegen neuer Sessions registriert hat, wird auch er mittels eines weiteren Ereignisses E3 (SessionlnitiatedEvents) darüber informiert. Erhält der GIA-Klient das NewSessionConfirmationEvent, ist für ihn der Anmeldevorgang abgeschlossen. Er setzt das User Interface auf aktiv. Nach Erhalt des Sessionini tiatedEvent trägt der Gruppen Manager das darin übergebene SessionData-Objekt in seine Sessiontabelle und in das entsprechende Gruppen-Objekt ein. Nun muß der Gruppen Manager nur noch ein weiteres Ereignis E4 (GroupChangeEvent) an den GIA-Klienten schicken.
Mit Erhalt des GroupChangeEvent kann der GIA-Klient seine Ortskarte und das Orts- Chat aktualisieren.If the GIA user starts the registration process, for example, the GIA client will ask for his user information. Provided with this information, the GIA client sends an event El (NewSessionEvent) to the GIA main manager. Upon receipt of the NewSessionEvent, the GIA main manager creates a new session class. Another event E2 (NewSessionConfirmationEvent) is then sent to the GIA client, indicating that the new session was successfully created. In addition, this event also contains the session ID (identification) of the GIA client, which he must send to the session server for identification with every further request. Since the group manager has registered for the creation of new sessions, he is also informed of this by means of another event E3 (SessionlnitiatedEvents). If the GIA client receives the NewSessionConfirmationEvent, the registration process is completed. It sets the user interface to active. After receiving the Session InitiatedEvent, the group manager enters the SessionData object transferred in it into its session table and into the corresponding group object. Now the group manager only has to send another event E4 (GroupChangeEvent) to the GIA client. Upon receipt of the GroupChangeEvent, the GIA client can update their location map and location chat.
Ausführungsbeispiel: URL -Wechsel (Fig. 3) Werm der GIA-Anwender eine neue Seite im HTTP -Klienten lädt, registriert das der GIA-Klient über den entsprechenden Adapter. Dies löst innerhalb des GIA-Haupt- Klienten ein Ereignis E5 (URLChangeEvent) aus, für das sich der GIA-Haupt-Manager registriert hat. Bei Erhalt des URLChangeEvent durch den GIA-Haupt-Manager aktualisiert dieser das entsprechende Session-Objekt. Da sich der Gruppen-Manager für das Ändern von URLs registriert hat, erhält er ein weiteres Ereignis E6 (URLUpdateEvent). Erhält der Gruppen Manager ein URLChangeEvent, entfernt er das entsprechende SessionData-Objekt aus der Teilnehmerliste der verlassenen Gruppe und trägt es in die Teilnehmerliste der neuen Gruppe ein. Dies löst ein weiteres Ereignis E7 (GroupChangeEvent) aus, das über den GIA-Haupt-Manager an den GIA-Klienten geschickt wird.Exemplary embodiment: URL change (FIG. 3) If the GIA user loads a new page in the HTTP client, the GIA client registers this via the corresponding adapter. This triggers an event E5 (URLChangeEvent) within the main GIA client for which the main GIA manager has registered. Upon receipt of the URLChangeEvent by the GIA main manager, he updates the corresponding session object. Since the group manager has registered for changing URLs, it receives another event E6 (URLUpdateEvent). If the group manager receives a URLChangeEvent, it removes the corresponding SessionData object from the participant list of the abandoned group and enters it in the participant list of the new group. This triggers another event E7 (GroupChangeEvent), which is sent to the GIA client via the GIA main manager.
Mit Erhalt des GroupChangeEvent kann der GIA-Klient seine Ortskarte und das Orts- Chat aktualisieren.Upon receipt of the GroupChangeEvent, the GIA client can update their location map and location chat.
Ausführungsbeispiel: Folgen (Fig.4)Exemplary embodiment: consequences (Fig. 4)
Zu Beginn des Folgens wählt ein "Folge"-Klient (Klient 1) seinen "Führungs"-Klienten (Klient 2) aus und aktiviert (z.B. per Auswahl aus einem Popup-Menü) den Folgen- Modus. Dies löst ein Ereignis E8 (StartFoUowingRequestEvent) aus, das diesen Sachverhalt dem GIA-Haupt-Manager mitteilt. Der GIA-Haupt-Manager reagiert auf dieses StartFoUowingRequestEvent, indem er das Session-Objekt von Klienten 1 in die "Folge-Liste" im Session-Objekt von Klient 2 hinzufügt und die "Führungs-Referenz" im Session-Objekt von Klienten 1 auf das Session-Objekt von Klient 2 setzt. Außerdem schickt er jeweils ein weiteres Ereignis E9 (FollowingStatusEvent) an Klient 1 und Klient 2. Klient 2 wird durch dieses FollowingStatusEvent über seinen neuen "Folgenden" informiert.At the beginning of the following, a "follow" client (client 1) selects its "lead" client (client 2) and activates the follow mode (e.g. by selecting from a pop-up menu). This triggers an event E8 (StartFoUowingRequestEvent), which communicates this to the GIA main manager. The GIA main manager responds to this StartFoUowingRequestEvent by adding the session object from client 1 to the "follow-up list" in the session object from client 2 and the "leadership reference" in the session object from client 1 sets client 2's session object. He also sends another event E9 (FollowingStatusEvent) to client 1 and client 2. Client 2 is informed about his new "following" by this FollowingStatusEvent.
Klient 1 wird je nach FollowingStatusEvent über das erfolgreiche oder fehlgeschlagene Folgen informiert.
Depending on the FollowingStatusEvent, client 1 is informed of the successful or failed follow-up.