-
Die
vorliegende Erfindung betrifft ein Dienstleistungssystem, das Informationsdienstleistungen an
Computer liefert, und es ermöglicht,
Informationen von einem geeigneten Server über ein größeres Gebiet hinweg zu erhalten.
-
In
jüngerer
Zeit haben breitgefächerte
Informationsdienste zur Verwendung durch Endbenutzer, die diese
Dienste in Anspruch nehmen, infolge der Ausbreitung von Netzwerktechniken,
wie beispielsweise Internet und PC-Kommunikationssystemen, sowie
der Ausbreitung von Geschäftstätigkeiten über Netzwerke überraschend
zugenommen.
-
Ein
Mittel wie beispielsweise das "World Wide
Web" (weltweites
Netz), das derzeit von der Internet-Technik zur Verfügung gestellt
wird, verlangt jedoch, daß jeder
Endbenutzer einen Computer als Verbindungsziel erreichen kann, der
Informationen liefern kann. Er kann nicht gleichzeitig mit zwei
oder mehr informationsanbietenden Computern verbunden werden. Für den Endbenutzer
ist es daher schwierig, aus einem Meer von Informationen, das eine
ungeheure Informationsmenge enthält,
einen wirklich notwendigen Dienst zu finden und diesen ohne Vorkenntnisse
und Zeitaufwand effizient zu nutzen.
-
Wenn
ein Endbenutzer seinen oder ihren Computer mit einem informationsanbietenden
Computer über
ein PC-Kommunikationssystem verbindet, stellt dieses lediglich einen
Kommunikationsweg zu dem informationsanbietenden Computer bereit
oder leiht seine Datenbank dem Informationsanbieter. Jeder Endbenutzer
muß mit
einem System eines Ziel-Informationsanbieters verbunden sein, um Schritt
für Schritt
einen Dienstinhalt entgegennehmen zu können und um einen gewünschten
Dienst von dem System zu erbitten.
-
Es
wurden einige weitere Techniken wie beispielsweise CORBA und DCOM
vorgeschlagen, um ein vereinheitlichtes Kommunikationsinterface
und -protokoll auf verschiedenen Plattformen einzurichten und dadurch
die wechselseitigen Verbindungsmöglichkeiten
zwischen diesen Plattformen zu verbessern. Wie beim WWW verlangen
diese Techniken, daß der
Benutzer sie versteht, bevor er eine solche Plattform erreichen
kann. Der Benutzer, der sie nicht versteht, kann den nächstliegenden
Dienst nicht finden. CORBA verwendet eine Technik, die als Liefer-
oder Handelsdienst (Trading Service) bezeichnet wird und versucht,
aufgrund von Benutzungsbedingungen, die vom Benutzer eingegeben werden,
die nächstliegende
Plattform zu finden. Alle Benutzer dieses Dienstes müssen die
Benutzungsbedingungen verstehen. Die Endbenutzer können die
gewünschte
Bedingung nicht dem Zustand des Dienstangebots entsprechend dynamisch ändern und
die Lieferbedingung für
das Dienstangebot eingeben. Es wurde eine Technik vorgeschlagen,
die TINA genannt wird. Sie wird zur Standardisierung der Techniken
zur Verarbeitung von Kommunikationsverbindungen zwischen den Benutzern
im Kommunikationsgebiet auf der Grundlage der CORBA-Technik verwendet.
Sie verlangt, daß jeder
Endbenutzer ein mit ihm zu verbindendes Ziel kennt, wobei eine dem Handeln
bzw. dem Liefern ähnliche
Technik, die als "Broker" bezeichnet wird,
verwendet wird. Sie weist also die gleichen Probleme wie CORBA auf.
-
US 5,475,819 , von der der
Oberbegriff des Anspruchs 1 ausgeht, offenbart Vorrichtungen und Verfahren
zur Vermittlung bei der Datenkommunikation zwischen mehreren Clients
und mehreren Servern in einem Netzwerk. Dabei ist ein namensauflösender Dienst
(Name Service) für
Remote Procedure Calls (RPCs) vorgesehen, der von den Clients wegen einer
Dienstanforderung angesprochen wird und ihnen jeweils einen den
angeforderten Dienst liefernden Server bzw. Service Provider nennt.
Eine Besonderheit dieses Stands der Technik liegt in der Abspeicherung
von verketteten Listen aus Diensten und zugehörigen Servern in Form sogenannter
Konfigurationsprofile der Server. Damit soll eine besondere Flexibilität bei der
Zuweisung und Nutzung des namensauflösenden Dienstes für die Netzwerkteilnehmer erreicht
werden.
-
US 5,341,477 offenbart eine
als "Broker" bezeichnete Vermittlungsvorrichtung,
die ähnlich
einem namensauflösenden
Dienst einem Client einen von mehreren Servern vorschlägt, die
jeweils den vom Client gewünschten
Dienst anbieten. Der Vorschlag berücksichtigt die freie Kapazität der einzelnen
Server.
-
Die
bekannten Informationsdienste liefern einen stationären Inhalt
und damit in Antwort auf die gleiche Anfrage stets den gleichen
Dienst, unabhängig
vom Endbenutzer oder dem zum Zeitpunkt der Dienstanforderung bestehenden
Systemstatus.
-
Der
Erfindung liegt die Aufgabe zugrunde, eine Vermittlungsvorrichtung
und ein Vermittlungsverfahren bereitzustellen, über die auch ein Client, der
die Adresse eines Servers zur Lieferung eines Dienstes nicht kennt,
einen zu ihm passenden Zieldienst erreichen kann.
-
Diese
Aufgabe wird durch die in den unabhängigen Ansprüchen angegebene
Erfindung gelöst. Die
Unteransprüche
sind auf bevorzugte Ausführungsformen
der Erfindung gerichtet.
-
Dabei
soll ein Verfahren und eine Vorrichtung zur Verfügung gestellt werden, die eine
Vorliebe und eine Benutzungsgeschichte für jeden Endbenutzer auswerten,
einen Dienst eines informationsanbietenden Computers (Server) auswählen, um
das Auswertungsergebnis zu treffen, und den ausgewählten Dienst
zur Verfügung
stellen kann. Das Verfahren und die Vorrichtung ermöglichen
es vorzugsweise, einen bereitzustellenden Dienst vom Endbenutzer aus
zu ändern,
wenn eine Hinzufügung
oder eine Änderung
eines Dienstes eines informationsanbietenden Computers auftritt,
den zu liefernden Dienst im Zuge einer Bewertung einer Umgebung
und einer Qualität
des Dienstes bzw. der Information des Systems zu ändern und
einige Arbeiten an Vertreter abzugeben, wie beispielsweise die Bitte
an einen informationsanbietenden Computer um Zulas sung zur Verwendung
eines Dienstes, wenn die Dienste mehrerer informationsliefernder
Computer integriert entgegengenommen werden, die Anordnung der Dienste
und die Zahlung der Dienstgebühren
an einen Informationsanbieter.
-
Ein
Dienstanbietersystem mit mehreren Einrichtungen (Clients), um Informationen
zu erhalten, und mehreren Einrichtungen (Servern), um Informationen
zu liefern, die über
ein Netzwerk verbunden sind, ist bei einem bevorzugten Ausführungsbeispiel so
konfiguriert, daß mindestens
eine Einrichtung vorhanden ist, die zwischen den Einrichtungen zum
Erhalten von Informationen und den Einrichtungen zum Liefern von
Informationen vermittelt und die dazu dient, den Empfang von Inhalten,
die von den Einrichtungen zum Erhalten von Informationen verlangt
werden, die Übermittlung
einer Anforderung zum Liefern von Informationen an mindestens eine
der Einrichtungen zum Liefern von Informationen, das Erhalten der
verlangten Informationen und das Verteilen der Informationen an
die Einrichtungen zum Erhalten von Informationen zu steuern.
-
Die
Vermittlungseinrichtung kann auch so angeordnet sein, daß sie den
Vorgang des Empfangs und des Speichers von Attributinformationen,
die von mindestens einer der Einrichtungen zum Liefern von Informationen
angeboten werden, und das Auffinden mindestens einer der Einrichtungen
zum Liefern von Informationen auf der Grundlage mindestens einer der
Attributinformationen, einer Typinformation, die die Einrichtung
zum Erhalten von Informationen betrifft, und eines von der Einrichtung
zum Erhalten von Informationen verlangten Inhalts steuert.
-
Die
Vermittlungseinrichtung kann auch so angeordnet sein, daß die den
Vorgang des Empfangens und Speicherns von Auffindungsgrundsatzinformationen,
die von mindestens einer der Einrichtungen zum Liefern von Informationen
angeboten werden, und das Auffinden mindestens einer der Einrichtungen
zum Liefern von Informationen auf der Grundlage der Auffin dungsgrundsatzinformationen
zum Verteilen der Informationen an die aufgefundene Einrichtung
steuert.
-
Ferner
können
mehrere Netzwerke mit mehreren damit verbundenen Einrichtungen zum
Erhalten von Informationen und mehreren Einrichtungen zum Liefern
von Informationen ein Netzwerk zur Verbindung dieser Netzwerke,
eine Gateway-Einheit zur Verbindung der Netzwerke und in jedem Netzwerk mindestens
eine Einrichtung zur Vermittlung zwischen den Einrichtungen zum
Erhalten von Informationen und den Einrichtungen zum Liefern von
Informationen aufweisen, wobei die Vermittlungseinrichtungen dazu
dienen, den Vorgang des gemeinsamen Nutzens der von den Einrichtungen
zum Erhalten von Informationen in dem jeweiligen Netzwerk verlangten Inhalte,
des Auffindens mehrerer Einrichtungen zum gemeinsamen Liefern von
Informationen und des gemeinsamen Verteilens von Informationen von
diesen Einrichtungen zu steuern.
-
Außerdem kann
die Vermittlungseinrichtung so eingerichtet sein, daß sie den
Vorgang des Empfangens und Speicherns von Attributinformationen, die
von mindestens einer der Einrichtungen zum Liefern von Informationen
angeboten werden, des gemeinsamen Nutzens der Attributinformationen
mit einer anderen Vermittlungseinrichtung in einem anderen Netzwerk,
des Auffindens mindestens einer der Vorrichtungen zum Liefern von
Informationen gemeinsam mit einer anderen Vermittlungseinrichtung in
einem anderen Netzwerk auf der Grundlage der Attributinformationen,
von Typinformationen betreffend die Einrichtung zum Erhalten von
Informationen und/oder eines Inhalts, der von der Einrichtung zum Erhalten
von Informationen verlangt wird, und des Verteilens von Informationen
an die Einrichtung zum Erhalten von Informationen steuert.
-
Zwischen
einer von mehreren Einrichtungen zum Erhalten von Informationen
und einer von mehreren Einrichtungen zum Liefern von Informationen ist
ein Vermittlungsprozeß angeordnet.
Die Vermittlungseinrichtung kann so eingerichtet sein, daß sie den
Vorgang des Auffindens von Inhalten, die von den Einrichtungen zum
Erhalten von Informationen verlangt werden, des gemeinsamen Nutzens
der verlangten Inhalte im Vermittlungsprozeß, der in mindestens einer
Einrichtung angeordnet ist, des Übermittelns
einer Anforderung zum Liefern von Informationen zu einer der Einrichtungen
zum Liefern von Informationen auf der Grundlage der Inhalte, des
Erhaltens der verlangten Informationen und des Verteilens der Informationen
an die Einrichtungen zum Erhalten von Informationen steuert.
-
Außerdem ist
die Vermittlungseinrichtung aus einer Kommunkationsmanagementeinheit,
einer Dienstvermittlungsmanagementeinheit und mindestens einem Dienstvermittlungsagenten
aufgebaut. Die Kommunikationsmanagementeinheit empfängt den
von der Einrichtung zum Erhalten von Informationen verlangten Inhalt
und Registrierattributinformationen, die von der Einrichtung zum
Liefern von Informationen angeboten werden, und verwaltet den Kommunikationsvorgang
bei der Lieferung von Informationen. Die Dienstvermittlungsmanagementeinheit
findet die Einrichtung zum Liefern von Informationen auf der Grundlage
der Typinformationen bezüglich
der Einrichtung zum Erhalten von Informationen, der Attributinformationen
bezüglich
der Einrichtung zum Liefern von Informationen und/oder von Vermittlungsgrundsatzinformationen
zum Auffinden der Einrichtung zum Liefern von Informationen. Der
Dienstvermittlungsagent wählt
und startet die Anwendungsprogramme in den Einrichtungen zum Liefern
von Informationen, die aufzufinden sind, übergibt einen geeigneten Wert
an die Anwendungsprogramme und gewinnt die Inhalte der Informationen,
die von den Anwendungsprogrammen angeboten werden, um die Verteilung
der Informationen zu den Einrichtungen zum Erhalten von Informationen
zu steuern.
-
Die
Vermittlungseinrichtung kann auch folgendermaßen aus einer Kommunikationsmanagementeinheit,
einer Dienstvermittlungsmanagementeinheit und mindestens einem Dienstvermittlungsagenten
aufgebaut sein. Die Dienstvermittlungsmanagementeinheit nutzt die
Typinformationen bezüglich
der Einrichtung zum Erhalten von Informationen, die Attributinformatio nen
betreffend die Einrichtung zum Erhalten von Informationen und Vermittlungsgrundsatzinformationen
zum Auffinden der Einrichtung zum Liefern von Informationen gemeinsam
mit einer anderen Vermittlungseinrichtung in einem anderen Netzwerk.
Die Dienstvermittlungsmanagementeinheit findet eine Einrichtung
zum Liefern von Informationen zusammen mit einer anderen Vermittlungseinheit
aufgrund mindestens einer dieser Informationsbestandteile. Der Dienstvermittlungsagent wählt und
startet Anwendungsprogramme, die in den aufzufindenden Einrichtungen
zum Liefern von Informationen laufen, übergibt den Anwendungsprogrammen
einen geeigneten Wert, gewinnt die Inhalte der Informationen, die
von den Anwendungsprogrammen angeboten werden, und integriert die
Inhalte der von den Anwendungsprogrammen angebotenen Informationen
ineinander, um den Vorgang der Informationsverteilung zu steuern.
-
Bevorzugte
Ausführungsbeispiele
der Erfindung werden im folgenden anhand der Zeichnungen erläutert. Darin
zeigt
-
1 die
Darstellung eines Systemaufbaus nach einem ersten Ausführungsbeispiel
der Erfindung,
-
2 ein
Beispiel einer Dienstvermittlungsgrundsatztabelle,
-
3 ein
Beispiel einer Client-Tabelle,
-
4 ein
Beispiel einer Dienstanbietertabelle,
-
5 ein
Beispiel einer Nachricht zum Registrieren eines Dienstangebots von
einem Server an einen Dienstvermittlungsserver,
-
6 ein
Beispiel eines Nachrichtenformats zur Anforderung eines Dienstes
bei der Übertragung von
einem Client an einen Dienstvermittlungsserver,
-
7 ein
Flußdiagramm
mit einem Prozeß zum
Registrieren eines Dienstangebots in einem Dienstvermittlungsserver,
-
8 ein
Flußdiagramm
eines Prozesses zum Registrieren von Client-Informationen in einem Dienstvermittlungsserver,
-
9 ein
Flußdiagramm
eines Prozesses zum Anfordern eines Dienstes von einem Client in
einem Dienstvermittlungsserver,
-
10 ein
Flußdiagramm
mit einem Prozeß zum
Steuern der Verteilung eines Dienstes an einen Dienstvermittlungsagenten
in einem Dienstvermittlungsserver,
-
11 eine
Systemkonfiguration nach einem zweiten Ausführungsbeispiele der Erfindung,
-
12 eine
Systemkonfiguration nach einem dritten Ausführungsbeispiel der Erfindung,
und
-
13 eine
Systemkonfiguration nach einem vierten Ausführungsbeispiel der Erfindung.
-
Die
in 1 dargestellte Systemkonfiguration weist vier
Arten an Terminals, einschließlich Dienstanbieterservern 141 bis 14n,
Dienstanforderungs-Clients 131 bis 13m, einen
Dienstvermittlungsserver 100 und ein Kommunikationssteuersystem auf,
die über
verschiedene Kommunikationsmedien mit einem Weitverkehrsnetzwerk
verbunden sind. Ein solches Kommunikationsmedium kann irgendein
Medium, einschließlich
dem Ethernet, ATM (asynchronen Übertragungsnetzwerk),
Block- bzw. Rahmenweitergabenetzwerk und einem Steuernetzwerk sein.
-
Die
Server 141 bis 14n benachrichtigen das System
von den Dienstinformationen zum Zweck des Anbietens eines gewünschten
Dienstes für
einen Endbenutzer. Der Nutzer des anbietenden Servers kann ein Unternehmen
oder eine Einzelperson sein, die den Dienst innehat und mit ihm
wirbt. Der eigentliche Dienstinhalt gibt Informationen für Managementpersonen,
Objekte und Geld an, die zwischen einem Nutzer des Servers und einem
Endbenutzer durch den Informationsdienst übertragen werden. Bei dem Informationsdienst
kann es sich beispielsweise um elektronisches Einkaufen, eine Reservierung
einer körperlichen
Verteilungsdienstleistung wie eines Umzugsservice oder einer Anforderung
unter Abgabe eines Auftrags für
eine Ware, eine Reparatur oder die Einteilung von Aushilfskräften handeln.
Der Server 141 beinhaltet eine Kommunikationsmanage menteinheit 1411 zur
Kommunikation mit dem Kommunikationsmedium 110 und eine
Anwendungseinheit 1412 zur Ausführung und Verwaltung eines Dienstanbieterprozesses
für die
Bedürfnisse
der tatsächlichen
Benutzer. Der Server 141 kann ein Datenbank-Server, ein
WWW-Server, ein FTP-Server, ein WAIS-Server, ein Gopher-Server o.ä. sein.
-
Die
Clients 131 bis 13m können direkt von einem Endbenutzer,
der die genannten Dienste nutzt, oder gemeinsam von mehreren Endbenutzern
genutzt werden. Die Clients 131 bis 13m übermitteln eine
Anforderung an einen Dienstvermittlungsserver 100 über das
Kommunikationsmedium 110 und empfangen von dem Server 141 Informationen.
Sie können
gemietete Terminals, PCs, Workstations, jeweils ein Multimedia-Kiosk,
ein persönlicher
digitaler Assistent (PDA) oder ähnliches
sein.
-
Die
Clients bestehen aus Kommunikationsmanagementeinheiten 1311 bis 13m1 zur
Verwaltung eines Kommunikationsprozesses über das Kommunikationsmedium 110 und
aus Anwendungseinheiten 1312 bis 13m2 zur Verwaltung
von Userinterfaces oder ähnlichem,
die vom Endbenutzer verlangt und ihm zur Verfügung gestellt werden. Der Dienstvermittlungsserver 100 findet
einen Ort und einen Typ eines Dienstes, der zwischen den Servern 141 bis 14n und
den Clients 131 bis 13m ausgetauscht werden soll,
und führt
den Vermittlungsprozeß unter
Steuerung der Lieferung des gefundenen Orts und Typs. Tatsächlich kann
der Server ein PC, eine Workstation, ein allgemeiner Computer oder ähnliches
sein. Der Dienstvermittlungsserver 100, der als Ziel von
einem Client angegeben wird, empfängt eine vom Client 131 abgegebene
Anforderung und bestimmt den Typ der Information, die dem Client 131 geliefert
werden soll, auf der Grundlage der Bedingungsinformation der Anforderung,
des im Server 141 vorab gespeicherten Clients, der persönlichen Information
und der Information über
die Vorgeschichte des Nutzers des Servers und verschiedener Statusinformationen
beim Empfang einer Anforderung. Der Server empfängt die Anforderung nicht,
es sei denn, sie enthält
eine von einem Client angegebene gewisse Adresse.
-
Um
einen Vermittlungsprozeß zwischen
dem Client und dem Server durchzuführen, überträgt der Dienstvermittlungsserver 100 eine
Anforderung für den
Versuch, Informationen zu erhalten, an den Server, der die Informationen
des notwendigen Typs gewinnen kann und unter den Servern 141 bis 14n ausgewählt ist.
Dabei bestimmt der Dienstvermittlungsserver 100 die dem
Client 131 zu liefernden Informationen auf der Grundlage
von von den Servern 141 bis 14n empfangenen Informationen
und Informationen, die der Server 100 selbst besitzt, und überträgt die Dienstanforderung
zur Gewinnung der Informationen an die Server 141 bis 14n.
-
Wenn
in dem vorangegangenen Prozeß Dienste
von zwei oder mehr Servern einem Client für die Anforderung der Dienste
zugeteilt werden, ordnet der Dienstvermittlungsserver diese Dienste
und verarbeitet sie synchron. Das Liefern der Dienste von den Servern
wird entsprechend der Anforderung des Endbenutzer und des dafür geltenden
Status durchgeführt.
Zur gleichen Zeit beinhaltet der Synchronprozeß einen Prozeß zur Integrierung
bzw. Verbindung mehrerer Dienste, einen Prozeß zur Durchführung einer
Reservierung, so daß der
Zieldienst zu einer festgelegten Zeit angeboten werden kann, einen Prozeß zum Anordnen
der Anforderungen mehrerer Clients, einen Prozeß zum Liefern eines Dienstes
an einen festgelegten Client usw.
-
Der
Dienstvermittlungsserver 100 beinhaltet die folgenden drei
Komponenten. Im einzelnen besteht der Server 100 aus einer
Kommunikationsmanagementeinheit, um eine Kommunikation in Verbindung
mit dem Kommunikationsmedium durchzuführen, einer Dienstvermittlungsmanagementeinheit zum
Auffinden eines Servers, um eine Anforderungsbedingung des Clients 131 und
einen Diensttyp optimal zu treffen und eine Datenbank mit für das Auffinden
benötigten
Managementinformationen zu verwalten, und einem Dienstvermittlungsagenten
bzw. -manager zur Steuerung und zum Verwalten eines Prozesses von
dem aufgefundenen dienstanbietenden Server gegenüber dem Client. Der Dienstvermittlungsserver 100 speichert
drei Arten an Datenbanken.
-
Die
Dienstvermittlungsgrundsatz-Datenbank 104 beinhaltet Bedingungsinformationen
zum Auffinden des geeignetsten der vom Client angeforderten Bedingung
und des dem Client zu liefernden Diensttyp am nächsten kommenden Servers. Ein Beispiel
einer Dienstvermittlungsgrundsatz-Datenbank ist in 2 dargestellt.
Informationen werden jeweils in einem Serverauswahlgrundsatz 104A gespeichert.
Darin wird Raum zum Speichern eines Informationselements in Zuordnung
zu jedem Auswahlgrundsatz in einer Struktur vorgesehen, die dynamisch
erweitert werden kann, ohne den Fortgang des Verfahrens zu blockieren.
Es ist beispielsweise denkbar, daß eine Tabelle vorgesehen ist,
in der eine Spalte die jeweiligen Typauswahlgrundsätze beschreibt,
mit denen die einzelnen Informationselemente in einer Listenstruktur
verbunden sind.
-
Ein
Beispiel der tatsächlich
in der Dienstvermittlungsgrundsatz-Tabelle gespeicherten Daten ist in 2 gezeigt.
Die in 2 dargestellten Informationselemente stellen ein "Verfahren zur Eingrenzung von
Servern", eine "Prioritätsbedingung", und ein "Behandeln von Serverfehlern" dar. In der Dienstvermittlungsgrundsatz-Tabelle
werden die Informationselemente bei jedem Auswahlgrundsatz mit einer
individuellen Grundsatzidentifizierung (Grundsatz-ID) eindeutig
verwaltet. Der Inhalt der einzelnen Informationselemente bei den
einzelnen mit 1041 bezeichneten Auswahlgrundsätzen beinhaltet
die folgenden drei Punkte.
-
Das "Verfahren zum Eingrenzen
von Servern" bei
einem gewissen Grundsatz verwendet ein Blockpaßverfahren, d.h. einen Auffindungsgrundsatz zum
Auffinden aller der von einem Client angegebenen Bedingungen in
dem Vermittlungsserver, um den passenden Server zu finden. Nach
einem anderen Grundsatz wird das "Verfahren zum Eingrenzen von Servern" schrittweise ausgeführt, um
die Bedingungen innerhalb des Vermittlungsservers 100 zu
erhalten und den Auffindungsprozeß innerhalb der in 1 gezeigten
Managementeinheit 102 auszuführen und in jedem Schritt den
Client über
den Server und den als Auffindungsergebnis ausgegebenen Dienst zu
befragen.
-
Wo
zwei oder mehr dienstanbietende Server ihre Informationen ausgeben,
kann als Grundsatz beispielsweise die Art der Prioritätsbedingung,
unter der die dienstanbietenden Server ausgewählt werden, in der "Prioritätsbedingung" festgelegt werden. Dabei
kann einem Grundsatz gefolgt werden, bei dem das Auffinden desjenigen
Servers angegeben wird, bei dem die Kosten für den Dienst minimiert werden
können,
und das Auffinden des Servers unter der Bedingung geschieht, daß die Entfernung
oder die Entfernungsdaten zwischen dem den Dienst anfordernden Client
und dem den Dienst anbietenden Server minimiert werden.
-
Bei
einem Grundsatz zum "Behandeln
eines Serverfehlers" ist
es möglich,
anzugeben, ob unter gewissen Bedingungen ein anderer Server ausgewählt oder
das Auffinden des Servers beendet werden soll. Zur Verwendung der
Dienstvermittlungsgrundsatz-Tabelle 1041 ist es notwendig,
eine Struktur vorzusehen, in der der vorangegangene Auffindungsprozeß und ein
Prozeß zum
zusätzlichen
Angeben von Daten, die für
das Auffinden benötigt
werden, beim Auffindungsprozeß gemeinsam
im Dienstvermittlungsserver 100 ausgeführt werden. In einer Ausführungsform
ist es möglich,
den Auffindungsprozeß auf
der Grundlage einer Regel-Datenbank durchzuführen. Die Auffindungsregeln
stellen eine Technik dar, um das Auffinden aufgrund der Bedingungsdaten
gemäß einem
festen Format, das als Regel bezeichnet wird, vorzunehmen.
-
Die
Registrierung des Inhalts jedes Dienstanbieterserver-Auswahlgrundsatzes 104A kann
von einem Administrator des Dienstvermittlungsservers 100 oder
einem Nutzer des Servers 141 festgelegt werden. Wenn der
Client 131 eine Anforderung für einen Dienst abgibt, führt die
Dienstvermittlungsverwaltungseinheit 102 den Auffindprozeß durch,
sobald der zu verwendende Auswahlgrundsatz über eines der folgenden Verfahren
festgelegt worden ist. Eines ist ein Verfahren zum Festlegen des
Auswahlgrundsatzes durch den Client. Dieses Verfahren verlangt,
daß der
Auswahlgrundsatz im Rahmen der Dienstauswahlbedingung, die vom Client
festgelegt werden muß,
aus drücklich
angegeben ist. Das andere ist ein Verfahren mit Beschreibung eines
Auswahlgrundsatzes, der für
jeden Client zu verwenden ist, wenn nicht anders durch den Client
in der Bedingungsinformation der Datenbank 105 angegeben,
wobei die Bedingungsinformation für jeden Client von der Dienstvermittlungsmanagementeinheit verwaltet
wird. In diesem Verfahren wird die Bedingungsinformation als individuelle
Information für
jeden Client behandelt. Die Dienstanforderungsclient-Tabelle 105 zum
Speichern individueller Clientinformationen weist eine Struktur
auf, bei der der Inhalt der Bedingungsinformationen dynamisch änderbar ist.
Daher kann eine Information über
den Auswahlgrundsatz, der als Teil der individuellen Information registriert
werden soll, dynamisch geändert
werden.
-
3 zeigt
die Struktur der Client-ID-Tabelle 105. Die Client-ID-Tabelle 1051 verwaltet
die individuelle Information über
jeden Client, die vom Nutzer eingegeben wird. In der Praxis weist
ein Dienstanforderer, der dem Endbenutzer entspricht, eine Dienstanforderer-ID 1051A,
mit der der Dienstvermittlungsserver den Dienstanforderer eindeutig
identifizieren kann, eine Dienstanfordererinformation 1051B,
d.h. an jeden Dienstanforderer individuell angepaßte Information,
und eine Dienstanforderer-Client-Terminalinformation 1051C zum
Speichern von Attributinformationen über ein Dienstanfordererclientterminal
auf.
-
Der
Aufbau der Tabelle 1051 kann vorzugsweise dynamisch geändert werden.
Dies bedeutet, daß die
einzelnen in der Tabelle zu registrierenden Informationen betreffend
die Dienstanfordererinformation 1051B und die Client-Terminalinformation 1051C keine
feste Struktur aufweisen. Zum Beispiel ist die Dienstanfordererinformation
in ein gemeinsames Informationselement mit einem Anforderername und
-geschlecht und eine erweiterte Information mit unterschiedlichen
Beschreibungen wie beispielsweise seinem Alter und Geburtsdatum
eingeteilt, so daß darin
die gleiche individuell angepaßte
Information dynamisch registriert werden kann. Der Nutzer des Servers
oder der Administrator des Dienstvermittlungsservers kann die erweiterten
Informationselemente als Bedingung zum Auffinden des Servers hinzufügen. Zu
diesem Zweck kann die Tabelle eine Struktur aufweisen, in der die
Dienstanforderer-ID
in einer Spalte angeordnet ist, jedes Informationselement als ein
Tabellenelement festgelegt ist und die Tabellenelemente als Liste
miteinander verbunden sind. In einem solchen Fall kann jeder Client
irgendeine der Informationselemente der Ziel-Dienstanfordererinformation 1051B frei
wählen.
Außerdem
kann der Nutzer des Servers oder der Administrator des Dienstvermittlungsservers
Informationselemente dynamisch hinzufügen. Eine solche Listenstruktur
ist auch beim Verwalten von Informationselementen wie einer Adresse
und eines Kommunikationstyps für
die einzelnen Clientterminals, die als Dienst-Client-Terminalinformation 1051C abgelegt
sind, vorteilhaft.
-
Durch
Verwalten und individuelles Anpassen von Informationen für die einzelnen
oben angegebenen Dienstanforderer in der Client-ID-Tabelle 1051 ist es
möglich,
eine Vorliebe des Endbenutzers und eine Vorgeschichte der Verwendung
des Dienstes festzustellen, um den Dienst auszuwählen und dabei die Anforderung
des jeweiligen Endbenutzers zu treffen. Der Dienstvermittlungsserver
ermöglicht
es, daß der Endbenutzer
den Dienst, der seine oder ihre Vorliebe trifft, selbst auffinden
kann und daß das
System die Vorgeschichte der Verwendung des Dienstes automatisch
selbst speichert und verwaltet, wodurch Last von dem Endbenutzer
abgenommen wird.
-
Die
Anfordererinformation oder das Informationselement, das in der Client-Terminalinformation abgelegt
werden soll, wird vom Server oder Administrator des Dienstvermittlungsservers
registriert, während
die einzeln angepaßte
Information, aufgrund der der Dienst angeboten wird, lediglich von
seiten des Dienstanbieters bestimmt wird. Die Informationselemente,
die von jedem Server 141 registriert werden, können auf
verschiedene Art beschrieben werden. In 3 kann beispielsweise
ein Server ein Informationselement für ein Alter regi strieren, während ein
anderer Server ein Geburtsdatum registrieren kann. Um diese unterschiedlichen
Beschreibungen aufzunehmen, ist es denkbar, eine Informationselementenlistentabelle
zur eindeutigen Identifizierung der Informationselemente der individuell
angepaßten
Information in dem Dienstvermittlungsserver oder dem System vorliegen
zu haben. In dieser Informationselementenlistentabelle wird ein
gemeinsames Informationselement so festgelegt, daß der Server
die Beschreibungen der zu registrierenden Informationselemente eindeutig
identifizieren kann. Jedes gemeinsame Informationselement soll einem
Informationselement entsprechen, das auf andere Weise beschrieben
ist, aber den gleichen Inhalt aufweist. Falls beispielsweise das
gemeinsame Element ein Alter darstellt, soll das Geburtsdatum dem
Alter in der Tabelle als anderes Informationselement für das gemeinsame
Element entsprechen. Das Informationselement der individuell angepaßten Information,
das in der Clienttabelle 1051 zu verwenden ist, kann allein
aus den Informationselementen ausgewählt werden, die in der Informationselementenlistentabelle
registriert sind.
-
Die
individuell angepaßte
Information, die in der Client-ID-Tabelle 1051 zu registrieren
ist, wird dann registriert, wenn die Anforderung vom jeweiligen
Client empfangen wird. Bei einem ersten System wird beispielsweise
dann, wenn der Client 131 den Erhalt eines Dienstes beantragt,
der von dem Dienstvermittlungsserver 100 angeboten wird,
das individuell angepaßte
Informationselement, das für
den Client registriert werden soll, ausgewählt, der Endbenutzer gebeten,
den Inhalt des Elements anzugeben, und dieser in der Tabelle 1051 registriert.
Das zu registrierende Informationselement hängt von der Vorliebe des Endbenutzers
ab. In einem anderen System kann die Dienstanforderungsinformation 1051B dynamisch
registriert werden. Dies bedeutet, daß der Endbenutzer ein Medium
bei sich trägt,
um seine oder ihre eigene angepaßte Information zu speichern,
beispielsweise eine IC-Karte, und daß er mit der so mitgeführten angepaßten Information
eine Anforde rung für
einen Dienst abgibt. Dabei wird die Information über einen Dienstanforderer,
die mit der Information mit übertragen
wird, dynamisch in der Dienstanforderer-Client-Tabelle registriert.
Auf der Grundlage der registrierten Information wird der Prozeß zum Auffinden
des Servers ausgeführt.
Dieser Systemtyp bewirkt, daß die
an die einzelnen Benutzer angepaßte Information stets auf einer
Seite des Systems behalten wird und verhindert, daß seine oder
ihre Privatsphäre
offengelegt werden kann.
-
4 zeigt
eine Anordnung für
eine Dienstdatenbank 106. Die Dienstanbieterdatenbank 106 enthält Attributinformationen über einen
Dienstanbieter wie beispielsweise die Bedingung, aufgrund der der
Dienst angeboten wird. Die Tabelle besteht aus einem Diensttyp 1061A zum
Identifizieren des Inhalts des Dienstes, der von dem Server angeboten
wird, eine Server-ID 1061B zur Angabe eines logischen Orts
des Servers, eine Dienstanbietungsbedingung 1061C zum Ablegen
der Bedingungsinformation für das
Anbieten des Dienstes und ein Dienstinterface 1061D mit
einer Beschreibung einer Liste der Interfaceinformationen, die vom
Client angegeben werden müssen.
Ebenso wie die oben angegebene Client-ID-Tabelle 1051 weisen
die Dienstanbietungsbedingung 1061C und das Dienstinterface 1061D eine Struktur
auf, bei der jedes Informationselement dynamisch hinzugefügt werden
kann. Beispielsweise kann für
die einzelnen Servicetypen eine Listenstruktur verwendet werden.
Wie bei der Dienstanfordererinformation kann jedes Informationselement,
das von den einzelnen informationsanbietenden Diensten festgelegt
wird, von ihnen jeweils in anderer Weise beschrieben sein. Dabei
kann ein gemeinsames Informationselement so eingerichtet sein, daß es den Informationselementen
entspricht, die jeweils auf eigene Art in der angegebenen Informationselementenlistentabelle
beschrieben sind.
-
Bei
einem ersten System stellt das Dienstelement 1061A eine
ID dar, die für
jeden Server eindeutig identifizierbar sein soll. Dabei bezieht
sich die Zuordnung der ID auf das Anwendungsprogramm, das in dem
Dienstanbieterserver läuft.
Um den Diensttyp eindeutig zu identifizieren, wird die ID zusammen
mit der Server-ID 1061B als Paar verwaltet. Bei einem zweiten
System werden die Diensttypen vom Dienstvermittlungsserver eindeutig
verwaltet. Die anzubietenden Diensttypen sind auf seiten des Dienstvermittlungsservers
registriert. Dann bestimmt jeder Dienstanbieterserver den anzubietenden Dienst
auf der Grundlage des Diensttyps und verlangt vom Dienstvermittlungsserver
eine Attributinformation des zu liefernden Dienstes zum Zwecke des Aufrufens
des Dienstes.
-
Die
Server-ID 1061B stellt eine logische Identifizierung des
Servers dar, die von der physikalischen Adresse des Kommunikationsmediums
nicht abhängt.
Die Identifizierung ist im System eindeutig festgelegt. Das Verfahren
verwaltet die IDs im Dienstvermittlungsserver eindeutig und ordnet
die IDs den über
den Dienstvermittlungsserver angebotenen Diensten zu, wenn der dienstanbietende
Server den Dienst anmeldet.
-
Das
dienstanbietende System verwendet den Diensttyp und Bedingungsinformation 1061C für den Auffindprozeß der Dienstvermittlungsverwaltungseinheit 102.
Der Nutzer (Anbieter) des Servers legt die Attributinformationen
des Dienstes, der unter dieser Bedingung angeboten werden soll,
fest. Die Attributinformationen beschreiben die Bedingungen des
vom Nutzer des Servers anzubietenden Dienstes, einschließlich einer
Gebühr,
einer Anbietungszeit, eines Konto-Orts, einer Bankverbindung, einer Liste
von Bankverbindungen, wo sein oder ihr Honorar zu zahlen ist, usw.
Auf der Grundlage dieser Bedingungen wird der nächstgelegene Diensttyp und Server
aufgrund der Anforderung von einem Dienstanforderungsclient aufgefunden.
-
Das
Dienstinterface 1061D speichert Parameterinformationen,
die festgelegt werden, wenn der Client 131 einen Dienst
verlangt. Die Informationselemente über die Bedingungsinformation,
aufgrund der der Servicetyp aufgesucht wird, und die danach benötigte Information,
wenn der Dienst geliefert wird, werden vom Server in diesem Dienstinterface
registriert. Un ter Verwendung eines Auffindprozesses für den Dienst über die
Dienstvermittlungsmanagementeinheit unter Verwendung der Dienstanbietertabelle
kann der Endbenutzer seinen oder ihren Zieldienst nutzen, ohne die
Dienstinhalte und die Verbindungsadressen einer riesigen Anzahl
an Servern kennen zu müssen.
-
Die
Informationselemente der Dienstanbietungsbedingung 1061C weisen
eine Struktur auf, in der eine Änderung
der einzelnen Elemente und ein Hinzufügen eines neuen Elements dynamisch
vorgenommen wird. Dadurch ist es möglich, bei einer Statusänderung
den naheliegenden Dienst zu verwenden. Dies bedeutet, daß der Endbenutzer
zu einem Zeitpunkt, zu dem ein guter Dienst hinzugefügt wird, den
naheliegendsten Dienst verwenden kann, ohne alle Änderungen
zu kennen, obwohl sehr viele Informationsanbieter zum Informationsdienst-Geschäft hinzukommen
und die von den bestehenden informationsanbietenden Computern angebotenen
Dienste sich häufig ändern.
-
Die
Informationselemente des Dienstinterface 1061D weisen eine
Struktur auf, bei der die Änderung
der Elemente und das Hinzufügen
neuer Elemente dynamisch vorgenommen werden kann. Dies vereinfacht
eine Änderung
der Dienste, unter Berücksichtigung
der Anforderung des Endbenutzers entsprechend der Umgebung des Systems
und der Qualität
der Informationen und Dienste. Durch Integrieren der Dienstinterfaces
verschiedener Typen miteinander und Benachrichtigen des Clients
von den Informationselementen zu einem normalen Zeitpunkt ist es
möglich,
die nächstliegende
Dienstbedingung zu diesem Zeitpunkt auszuwählen. Dies macht es für den Endbenutzer
leichter, den Status einheitlich zu beurteilen und den nächstliegenden
Dienst auch bei einer Änderung
auszuwählen.
-
5 zeigt
ein Registrierformat für
Dienste, die von einem Server 141 einem Dienstvermittlungsserver 100 angeboten
werden. Bei der Registrierung muß der Server seine bzw. ihre
eigene Server-ID entsprechend dem obigen System gewinnen. Die vorliegende
Beschreibung beruht auf der Annahme, daß die Server-ID bereits erhalten
wurde. Das Registrierungsformat bein haltet eine Server-ID 461,
eine Diensttyp-ID 462 zur Angabe des Inhalts des angebotenen
Dienstes, eine Dienstanbietungsbedingung 463 zur Angabe
einer Auffindbedingung auf Dienstanbieterseite zur Verwendung durch
den Prozeß zum
Auffinden des Dienstes und ein Dienstinterface 464 zur
Angabe eines Typs für
Parameterinformationen über
die Art der Anforderungsbedingung, die von dem Client festgelegt
werden sollen, wenn der Dienst geliefert werden soll. Jedes Informationselement
ist in der in 4 dargestellten Dienstanbietertabelle
beschrieben. Einer oder mehrere Dienste können diesem Format hinzugefügt werden.
Das in 5 dargestellte Format wird zur Registrierung eines
Dienstes verwendet. Zwei oder mehr Formate können miteinander verbunden
sein, wenn sie übertragen
werden.
-
6 zeigt
ein Beispiel eines Dienstanforderungsnachrichtenformats 480,
das verwendet wird, wenn von dem Client dem Dienstvermittlungsserver gegenüber ein
Dienst angefordert wird. Wie erwähnt, kann
die Dienstanforderer-ID vom Client vorab gewonnen werden. Hier wird
angenommen, daß der
Client seine oder ihre eigene Dienstanforderer-ID erhalten hat.
Das Nachrichtenformat besteht aus einer Dienstanforderer-ID 481 zum
eindeutigen Identifizieren des Clients in dem System, einer Dienstanforderungsbedingung 482 zur
Festlegung der Bedingungsinformation, die für das Auffinden benötigt wird, wenn
der Dienst angefordert wird, und einer Dateneinheit 483.
Hier wird angenommen, daß die
in 3 gezeigte Dienstanfordererinformation in die
Dateneinheit eingesetzt ist, wenn diese übertragen wird. Dies bedeutet,
daß die
Dienstanfordererinformation, wenn sie selbst in einem tragbaren
Medium wie beispielsweise einer IC-Karte registriert ist, in die
Dateneinheit 483 eingesetzt wird, wenn diese übertragen wird.
Wenn die Dienstanfordererinformation im Dienstvermittlungsserver
gespeichert und für
den Auffindprozeß verwendet
wird, wird diese Dateneinheit nicht verwendet. Die Vermittlungsserveradresse wird
der Dienstanforderer-ID hinzugefügt
oder ist in ihr enthalten.
-
Die
Beschreibung betrifft nun den allgemeinen Betrieb des Dienstvermittlungsservers 100 beim ersten
Ausführungsbeispiel.
-
7 stellt
ein Flußdiagramm
dar, das den Prozeß zum
Registrieren eines Dienstes vom Server beim Dienstvermittlungsserver
beschreibt. Die Registrierinformation über den vom Server angebotenen
Dienst wird von der im Dienstvermittlungsserver enthaltenen Kommunikationsmanagementeinheit empfangen
(701, 702). Der Empfang der Registrierinformation
erfolgt im Format nach 5. Dann wird ein neuer Auswahlgrundsatz
gesucht, der nicht in der Dienstvermittlungsgrundsatz-Datenbank
im Vermittlungsserver enthalten ist (702). Wenn vorhanden, wird
die neue Information über
den Auswahlgrundsatz in der Dienstvermittlungsgrundsatztabelle gespeichert.
Das Hinzufügen
des Grundsatzes stellt eine mögliche
Zusatzfunktion beim Registrieren des Dienstes dar. Wenn kein neuer
Grundsatz gefunden werden kann, ist dieser Prozeß nicht notwendig. Als nächstes wird
gesucht, ob eine neue Art an Informationselement der zu verwendenden
Anfordererinformation in einer Client-ID-Tabelle registriert ist
(705). Wenn ein Informationselement gefunden wird, wird es
zur Informationselementenmanagementtabelle in der Client-ID-Tabelle
hinzugefügt.
Außerdem
wird ein neues Element zu den Elementen der Dienstanfordererinformation 1051B in
der Client-ID-Tabelle hinzugefügt
(706). Wenn keine zusätzliche
Bedingung beim Hinzufügen
eines neuen Dienstes vorliegt, wird der Prozeß 706 nicht aufgeführt.
-
Dann
wird gesucht, ob ein neues Dienstinterface zu registrieren ist (707).
Wenn ein neues Element notwendig ist, das angegeben werden muß, wenn
der Endbenutzer einen neuen Dienst verlangt, wird es zur Informationselementenmanagementtabelle
des Dienstinterface in der Dienstanbietertabelle hinzugefügt (708).
Wenn kein hinzuzufügendes
Informationselement vorliegt, wird dieser Prozeß nicht ausgeführt. Nach
Beendigung des Hinzufügens
des neuen Informationselements werden die Dienstanbietungsbedingung,
der Diensttyp und die Server-ID bezüglich des zu registrierenden
Dienstes zur Dienstanbietertabelle 1061 hinzugefügt (709).
Damit ist ein Dienstregistrierprozeß beendet.
-
8 stellt
eine Prozedur zum Hinzufügen eines
Clients beim Dienstvermittlungsserver dar. Die Anforderung zur Registrierung
von einem neuen Client wird in der Kommunikationsmanagementeinheit empfangen
(801). Auf der Grundlage der empfangenen Informationen
wird dem neuen Client die Client-ID zugeordnet und die Informationen über den Client
werden in der Client-Tabelle registriert (802). Wenn die
Informationen über
den Client dabei im Dienstvermittlungsserver gespeichert sind, werden die
Informationen über
den Dienstanforderer in der Client-ID-Tabelle registriert. Wenn
die Informationen über
den Anforderer jedoch auf einem tragbaren Medium gehalten werden,
werden die Anfordererinformationen nicht in der Tabelle gespeichert.
Die Beendigung der Registrierung wird dem Client übermittelt (803)
und der Prozeß ist
damit beendet.
-
9 zeigt
den Prozeß zum
Empfang einer Anforderung eines Dienstes von einem Client. Eine Dienstanforderungsnachricht
wird in der Kommunikationsmanagementeinheit empfangen (901).
Das Nachrichtenformat ist das gleiche wie bei 6. Durch
Bezugnahme auf das Nachrichtenformat wird festgestellt, ob die Dienstanfordererinformation
in der Dateneinheit enthalten ist (901). Wenn die Dienstanfordererinformation
zu diesem Zeitpunkt in der Dateneinheit enthalten ist, wird die
Dienstanfordererinformation, die im Nachrichtenformat vorliegt,
im entsprechenden Bereich der Client-ID-Tabelle abgelegt (903),
um die Dienstanfordererinformation dynamisch zu registrieren.
-
Dann
wird in der Dienstvermittlungsmanagementeinheit der Prozeß zum Auffinden
des Dienstes ausgeführt,
indem auf die Dienstanfordererinformation in der Client-ID-Tabelle 105,
eine von dem Dienstinterface in der Dienstanbietertabelle 106 festgelegte
Anforderungsbedingung, die Anbietungsbedingung der einzelnen Dienste
und die Dienstauswahlgrundsatzinforma tion in der Dienstvermittlungsgrundsatz-Datenbank
Bezug genommen wird (904). Wenn beim Aufsuchen ein oder
mehr relevante Server gefunden werden, wird ein Betrieb durchgeführt, bei
dem ein Dienstvermittlungsagent erzeugt wird, um den Prozeß zum Liefern
des Dienstes entsprechend der Dienstanforderung zu steuern (906).
Wenn kein relevanter Server gefunden wird, wird das Versagen, den
Dienst zu liefern, dem Client mitgeteilt (907). Damit ist
der Prozeß der
Dienstvermittlungsmanagementeinheit beendet und der Empfang der nächsten Dienstanforderung
wird abgewartet.
-
10 stellt
ein Flußdiagramm
für einen
allgemeinen Prozeß des
Dienstvermittlungsagenten im Dienstvermittlungsserver dar. Wenn
der zu liefernde Dienst und der dienstanbietende Server von der Dienstvermittlungsmanagementeinheit
aufgefunden worden sind, wird der Dienstvermittlungsagent erzeugt
(1001). Das Anbieten des Dienstes wird im anbietenden Server
vorläufig
reserviert (1003). Wenn die Vorbereitung zur Lieferung
des Dienstes gegenüber
dem Client bejaht werden kann (1004), wird vom Client der
Inhalt des Dienstes (1005) erfragt. Wenn bei dieser Frage
der Inhalt des Dienstes auf seiten des Clients geprüft werden
kann, verlangt die Dienstvermittlungsmanagementeinheit vom Server
die Lieferung des Dienstes (1007). Wenn dabei aber keine vorläufige Reservierung
vorgenommen wird oder der anfragende Client den Inhalt des zu liefernden
Dienstes zurückweist,
wird ein Versagen des Lieferns des Dienstes an den Client übertragen
(1011). Wenn die Anforderung zum Liefern des Dienstes für den dienstanbietenden
Server an alle aufgefundenen anbietenden Server übermittelt worden ist (1008),
wird ein Synchronprozeß betreffend
die von den einzelnen Servern gelieferten Dienste ausgeführt (1009). Dabei
bedeutet der Synchronprozeß einen
Prozeß zum
Integrieren bzw. Verbinden von Informationsteilen von mehreren Dienstanbietern,
das Reservieren des Lieferns vom Server zu einem angegebenen Zeitpunkt,
das Zwischenspeichern des Inhalts des Dienstes vom Server und das
Unterstützen
des entsprechenden Dienstprozesses bei den Servern. Wenn der anbie tende
Dienst synchron gemacht worden ist, wird er an den anfordernden
Client übermittelt
(1010) und der Prozeß des
dienstvermittelnden Agenten ist beendet.
-
Der
Agent kann bei jeder Anforderung für einen Dienst erzeugt und
beendet werden. Oder er kann für
jeden Client erzeugt und beendet werden. Im letzteren Fall wird
auf die nächste
Anforderung des gleichen Clients gewartet, wenn der vorliegende Prozeß ausgeführt worden
ist.
-
Die
Beschreibung wendet sich nun dem zweiten Ausführungsbeispiel zu.
-
11 zeigt
eine Systemkonfiguration des zweiten Ausführungsbeispiels. Die darin
gezeigte Systemkonfiguration weist zwei Systemkonfigurationen auf,
wie sie im ersten Ausführungsbeispiel
beschrieben wurden, die durch ein Kommunikationsmedium 1108 und
Gateways 1103 und 1105 miteinander verbunden sind,
die entsprechenderweise in diesen Konfigurationen vorhanden sind.
Dies bedeutet, daß jede
der Systemkonfigurationen Clients, Server, den Dienstvermittlungsserver,
das Kommunikationssteuersystem und das Gateway beinhaltet. Ein Kommunikationsmedium 110 kann
mit einem Kommunikationsmedium 1109 über Gateways 1103 und 1105 und ein
dazwischen angeordnetes Kommunikationsmedium 1108 in Verbindung
treten. Im Hinblick auf die Übertragungskapazität jedes
Kommunikationsmediums können
nicht alle Informationen über
eine Anforderung und das Anbieten eines Dienstes zwischen verschiedenen
Kommunikationsmedien übertragen werden.
Daher ist jeweils ein Dienstvermittlungsserver 1101, 1102 bei
jedem Kommunikationsmedium angeordnet. Stattdessen können mit
einem Kommunikationsmedium auch mehrere Dienstvermittlungsserver 1101,
die einander zugeordnet sind, verbunden sein.
-
Das
vorliegende Ausführungsbeispiel
betrifft ein System zur Verwirklichung eines Prozesses zum Zusammenarbeiten
der Dienstvermittlungsserver und zum Auswählen des nächstkommenden Dienstes aus
dem Server, der von jedem einzelnen Dienstvermittlungsserver verwaltet
wird. Dies geschieht auf der Grundlage der Anforderung von einem
Client, der von jedem einzelnen Dienstvermittlungsserver verwaltet
wird.
-
Die
einzelnen Dienstvermittlungsserver, Clients und der interne Aufbau
jedes Servers entsprechen denen des ersten Ausführungsbeispiels, außer daß die in
den jeweiligen Dienstvermittlungsservern angeordnete Datenbank von
mehreren Dienstvermittlungsservern gemeinsam genutzt wird. Die Dienstvermittlungsgrundsatz-Datenbank 104,
die Client-Datenbank 105 und die Dienstanbieterdatenbank 106 werden
einem anderen speziellen Dienstvermittlungsserver im System zur
Registrierung der Informationen dieser Datenbanken mitgeteilt. Der
Ausdruck "speziell" kann eine Bedeutung
entsprechend den folgenden drei Systemen haben. Im ersten System
fließt
die Registrierinformation vom Client an alle Dienstvermittlungsserver
innerhalb des Systems. Darin nutzen alle Dienstvermittlungsserver
die Dienstinformation aller im System angeordneten Server gemeinsam.
Im zweiten System sind die Dienstvermittlungsserver in mehrere Gruppen
eingeteilt, so daß die
Registrierinformation über
den Dienst vom Client oder Server an die Dienstvermittlungsserver
in der entsprechenden Gruppe fließt. Dabei nutzt eine Gruppe
mit den Dienstvermittlungsservern die Dienstinformation gemeinsam.
Im dritten System sind die speziellen Dienstvermittlungsserver,
die miteinander zusammenarbeiten, vorbestimmt und die Dienstinformation
wird von diesen Vermittlungsservern gemeinsam genutzt.
-
Beim
vorliegenden Ausführungsbeispiel
ist bei jedem Kommunikationsmedium ein Dienstvermittlungsserver
angeordnet. Der Dienstvermittlungsserver 1102 weist die
Clients 1141 bis 114i und die Server 1131 bis 113j auf,
die von ihm verwaltet werden. Der Dienstvermittlungsserver 1101 weist
die Clients 131 bis 13m und die Server 1111 bis 111n auf, die
von ihm verwaltet werden. Wie angegeben, werden die Informationen
auf dem Dienstvermittlungsserver 11022 mit dem anderen
Dienstvermittlungsserver 1101 gemeinsam genutzt. Wenn eine Dienstanforderung
vom Client 1141 empfangen wird, sucht der Dienstvermittlungsserver 1102 den
Dienst über
die in ihm angeord nete Dienstvermittlungsmanagementeinheit 102,
benachrichtigt die Dienstvermittlungsmanagementeinheit im anderen
Dienstvermittlungsserver 1101 von der Anforderungsbedingung
und findet dann den Dienst auf. Wenn der nächstgelegene Dienst im Server 1101 aufgefunden wird,
wird diese Information der im Dienstvermittlungsserver 1102 befindlichen
Dienstvermittlungsmanagementeinheit mitgeteilt. Wenn der nächstgelegene
Dienst auf dem Kommunikationsmedium 1109 des Dienstvermittlungsservers 1102 ebenso
wie in dem Server 1111, der von dem anderen Dienstvermittlungsserver 1101 auf
dem anderen Kommunikationsmedium 110 verwaltet wird, aufgefunden
wird, startet die Vermittlungsmanagementeinheit den Dienstvermittlungsagenten
und steuert die Lieferung des Dienstes.
-
Nach
dem vorliegenden Ausführungsbeispiel nutzen
die jeweiligen Dienstvermittlungsserver und Clients und die von
ihnen verwalteten Server die Informationen gemeinsam, suchen den
der Anforderung des Clients am nächsten
kommenden, geeignetsten Dienst und liefern ihn aus. Diese Dienstvermittlungsserver
ermöglichen
es, eine Zunahme der Anzahl an Clients und Servern oder eine breiter
werdende Systemkonfiguration zu handhaben. Insbesondere ermöglichen
sie es, einen Dienst mehreren Servern hinzuzufügen und auf einfache Weise
einen Dienst aufzufinden und an mehrere Clients zu liefern.
-
Der
Aufbau der einzelnen Tabellen, die in der Dienstvermittlungsverwaltungseinheit
gespeichert sind, folgt der Beschreibung des ersten Ausführungsbeispiels.
Daher kann eine dynamische Attributänderung flexibel gehandhabt
werden.
-
Im
folgenden soll unter Bezug auf die Flußdiagramme des ersten Ausführungsbeispiels
beschrieben werden, welche Prozesse zur Kommunikation zwischen den
Dienstvermittlungsservern verwendet werden.
-
In 7 werden
der Prozeß 704 zur
Registrierung eines neuen Auswahlgrundsatzes in der Dienstvermittlungsgrundsatz-Tabelle, der Prozeß 706 zur
Hinzufügung
eines Informationselements der Dienstanfordererinformation zur Client-ID-Tabelle, der
Prozeß 708 zur
Hinzufügung
einer Dienstinterfaceein heit zur Dienstanbietertabelle und der Prozeß 709 zur
Registrierung der Attributinformationen über die Lieferung von Diensten,
wie beispielsweise eine Dienstlieferbedingung, in der Dienstanbietertabelle ausgeführt, um
der Dienstvermittlungsverwaltungseinheit in dem anderen Dienstvermittlungsserver
die für
diese Prozesse relevanten Informationen mitzuteilen.
-
In 8 wird
der Prozeß 802 zur
Registrierung der Dienstanfordererinformation in der Clienttabelle
ausgeführt,
um der Dienstvermittlungsmanagementeinheit in dem anderen Dienstvermittlungsserver
die Registrierinformation mitzuteilen. In 9 wird der
Prozeß 901 zum
Empfang einer Anforderung für
einen Dienst und zum Gewinnen der für das Auffinden notwendigen
Bedingungsinformation aus dem Anforderungsformat sowie der Prozeß 902 zum
Registrieren der Dienstanfordererinformation in der Client-ID-Tabelle
ausgeführt,
um die Dienstvermittlungsmanagementeinheit in dem anderen Dienstvermittlungsserver
von der angeforderten Information und der Registrierinformation
in Kenntnis zu setzen. Außerdem
wird der Prozeß 905 ausgeführt, um
auf die Auffindung des entsprechenden Servers und Dienstes zu warten.
Der Prozeß 906 wird
ausgeführt, um
den Dienstvermittlungsagenten zu generieren und um die Dienste,
die von dem eigenen Dienstvermittlungsserver verwaltet werden, und
diejenigen von denjenigen Servern, die von anderen Dienstvermittlungsservern
verwaltet werden, zu liefern und zu verwalten. In 10 werden
die Prozesse 1003 und 1007 zur Durchführung einer
vorläufigen
Reservierung gegenüber
den anbietenden Servern ausgeführt,
um eine Anfrage bei entsprechenden Servern durch unterschiedliche
Kommunikationsmedien durchzuführen.
-
Es
folgt die Beschreibung des dritten Ausführungsbeispiels.
-
Die
Systemkonfiguration des dritten Ausführungsbeispiels ist in 12 wiedergegeben.
Darin stellen die Server 1201 bis 120n und die
Clients 1211 bis 121n die Funktion des Dienstvermittlungsservers zur
Verfügung.
Mittels des gleichen Verarbeitungssystem wie beim zweiten Ausführungsbeispiel
nutzen die Dienstvermittlungsmanagementeinheiten 12012 bis 120n2 und 12112 bis 121m2 die
zu verwaltenden Informationen gemeinsam und suchen und liefern den
am nächsten
kommenden Denst. Bei diesem Ausführungsbeispiel
weist die Systemkonfiguration keinen Vermittlungscomputer auf, der
als Dienstvermittlungsserver bezeichnet wurde. Stattdessen ist die
Vermittlungsfunktion, d.h. die Dienstvermittlungsmanagementeinheit
und die Dienstvermittlungsagentenfunktion auf die einzelnen Server
oder Clients verteilt. Wenn in der Vermittlungsfunktion eines Servers oder
Clients ein Fehler auftritt, ist dies zur Fortsetzung des Prozesses
des Suchens und Lieferns des Dienstes unter Verwendung einer andere
Vermittlungsfunktion vorteilhaft. 12 demonstriert
die Systemkonfiguration, wobei alle Server und Clients eine Vermittlungsfunktion
aufweisen. Stattdessen kann ein anderes System auch so konfiguriert
sein, daß lediglich
bestimmte Server und Clients, die aus bestimmten Gründen festgelegt
sind, die Vermittlungsfunktion beinhalten. Auch diese Systemkonfiguration
kann die zuvorgenannten Vorteile bewirken.
-
Im
folgenden wird ein viertes Ausführungsbeispiel
beschrieben.
-
Die
allgemeine Systemkonfiguration des vierten Ausführungsbeispiels ist in 13 dargestellt.
Das System ist so eingerichtet, daß mehrere Clients 131 bis 13m und
mehrere Server 141 bis 14n an ein Kommunikationsmedium
angeschlossen sind und mehrere Dienstvermittlungsserver 1301 und 1302 zwischen
den Clients und den Servern in Verbindung mit dem Kommunikationsmedium
angeordnet sind. Die Kommunikationssteuerung durch das Kommunikationsmedium
erfolgt durch das Kommunikationssteuersystem 120. Dabei
weist jeder der Dienstvermittlungsserver 1301 und 1302 die
Funktion auf, sowohl die Clients als auch die Server zu verwalten.
Dies ermöglicht
es, die beim Vermittlungsprozeß auftretende
Belastung auf einen anderen Vermittlungsserver 1301 zu
verteilen, wenn auf dem Vermittlungsserver 1302 eine hohe
Verarbeitungslast liegt.
-
Wenn
in irgendeinem der Vermittlungsserver ein Fehler auftritt, kann
ein anderer Vermittlungsserver diesen ersetzen, um nach dem Fehler
die Dienstanforderung in Vertretung zu bearbeiten. Die angegebene
Abfolge an Prozessen wird so ausgeführt, daß die Attributinformationen
der Clients und der Server von den Dienstvermittlungsservern 1301 und 1302 wie
beim zweiten Ausführungsbeispiel
angegeben gemeinsam genutzt werden. 13 zeigt eine
Zuordnung zwischen den Dienstvermittlungsservern lediglich als Beispiel.
Stattdessen kann das System auch so eingerichtet sein, daß eine Koordinierung
zwischen drei Dienstvermittlungsservern stattfindet, die verteilt
angeordnet sind. Auch ein solches System ermöglicht es, einen Vermittlungsprozeß zwischen
Clients und Servern durchzuführen.