-
Die
Erfindung betrifft ein Verfahren und eine Einrichtung zur Verarbeitung
von Anforderungen in Client/Server-basierten Informationsnetzwerken,
bei denen ein Server im Auftrag eines Client bestimmte Aufgaben
in einem betriebsinternen Intranet oder dem Internet durchführt, wobei
die Anforderungen über
meist stark frequentierte Leitungsverbindungen vom Client zum Server übertragen
werden. Die Erfindung ist bevorzugt dort einsetzbar, wo Informationen in
einem Informationsnetz abgerufen werden, insbesondere in einem Netz,
in dem die Informationen im voraus nicht genauer lokalisierbar sind.
-
Das
World Wide Web (WWW) als derzeit populärster Dienst des Internet hat
in jüngster
Vergangenheit einen beachtlichen Aufschwung im Bereich von Informationen
aller Art erfahren. Internetbenutzer können durch das Netz "Surfen" und sie interessierende
Informationen in recht einfacher Weise zusammensuchen. Jedoch stellt
sich dieses Surfen im allgemeinen als sehr zeitaufwendig dar, und
auch im Zeitalter der Hochgeschwindigkeitsübertragungseinrichtungen wie "ISDN" sind die erforderlichen
Leitungsverbindungen nicht schneller als das langsamste Glied in
der Kette der Verbindungen zwischen dem Benutzer und dem jeweiligen
Ursprungsort der gesuchten Informationen. Eine der Ursachen dafür ist die
Tatsache, daß die
eigentlichen Informationswege beim sogenannten "TCP/IP"-Übertragungsprotokoll (Transmission
Control Protocol/Internet Protocol) im allgemeinen nicht vorhersehbar
sind und damit schlechte Teilverbindungen einer gesamten Leitungsverbindung
den Datendurchsatz reduzieren.
-
Aus
diesen Gründen
fallen beim Endbenutzer des Internets zum einen erhebliche Kosten
für die Unterhaltung
der erforderlichen Telefonverbindung zum Netzanbieter an. Andererseits
erfordert das Surfen große
Zeitaufwendungen, bis die gesuchten Informationen letztlich auf
dem Bildschirm der Benutzers erscheinen.
-
Darüber hinaus
wird das Internet zunehmend auch im geschäftlichen Umfeld als Kommunikationsmedium
genutzt. Nach einem Bericht ("WWW-User-Report"), April/Mai 1996,
auf den beispielsweise in Internet Business, Verlag Neue Mediengesellschaft,
Ulm, Herausgeber W. Dreyer und H. Summa, verwiesen wird, stellen
derzeit mehr als die Hälfte
der Internet-Benutzer Geschäftskunden dar.
In diesem Bereich sind allerdings die gewohnten hohen Antwortzeiten
bei einer Nachsuchung von Informationen nicht tragbar. Es wird an
dieser Stelle hervorgehoben, daß schnellere
Leitungsverbindungen zwischen dem Internetanbieter und dem Internet in
der Regel keine höheren
Datendurchsätze
ermöglichen,
da, wie oben bereits ausgeführt,
die Nettoübertragungsraten
im wesentlichen durch Engpässe
in der gesamten Übertragungskette
bestimmt sind. In dem besonderen Fall, daß der Engpaß bei dem Netzanbieter selbst
begründet
ist, können
die Durchsatzraten im allgemeinen durch verbesserte Leitungsverbindungen
bedeutend erhöht
werden, was allerdings weitere Kosten bei dem Netzanbieter und damit
letztlich beim Endbenutzer verursacht.
-
Ein
vorrangiges Ziel auf seiten des Netzanbieters ist jedenfalls eine
optimale Auslastung der Internetzugriffe, und somit besteht beim
Netzanbieter ein erhebliches Interesse an Technologien zur Minimierung
oder Vermeidung von Datenübertragungsspitzen
und zur möglichst
homogenen Verteilung der Netzauslastung im Tagesverlauf. Im weiteren
Interesse des Netzanbieters liegt daher ein möglichst gleichmäßig über die
Zeit verlaufender Datenverkehr, wobei Netzwerkzugriffe kontinuierlich
bei optimalen Übertragungsraten
erfolgen.
-
Zusätzlich besitzen
die Benutzer des Internets für
gewöhnlich
nur ein geringes Know how über den
im Hintergrund ablaufenden Datenverkehr im Netz. Sie werden lediglich
mit relativ niedrigen Durchsatzraten konfrontiert, ohne dabei deren
Hintergründe
und Ursachen genauer zu kennen. Neben den vorgenannten, seitens
der Netzanbieter bereitgestellten Diensten besteht somit auch ein
Bedarf an einem zusätzlichen
Dienst, der sowohl beim Netzanbieter als auch beim Endbenutzer zu
einer Steigerung des Datendurchsatzes beiträgt. Dies setzt allerdings bei einem
solchen Dienst auch besondere Kenntnisse über Netzwerktopologien und
Datenübertragungverkehr
und deren Umsetzung beim Datenverkehr voraus.
-
Im
Bereich von benutzerspezifizierten Anforderungen in Informationsnetzen
existieren zudem bereits eine Reihe von Ansätzen zur Bewältigung
der enormen Informationsflut. Diesen liegt die Erkenntnis zugrunde,
daß das
Surfen im Internet ein recht zeitintensives Unterfangen darstellt
und darüber
hinaus die empfangenen Informationen nicht generell von Interesse
für den
jeweiligen Benutzer sind.
-
Einen
ersten Ansatz stellen sogenannte "intelligente Agenten" dar, welche die 'online' verfügbare Information nach denjenigen
Informationen durchforsten, die für den Benutzer von besonderem
Interesse sind. Ein entsprechendes Agentenprogramm wird beispielsweise
in einem Artikel von D. Jeapes mit dem Titel "Neural Intelligent Agents" beschrieben, der
in Online & CD
ROM Review, Vol. 20, Nr. 5, Seiten 260–262, vorveröffentlicht
ist. Darin beschrieben ist ein autonomes Programm, das auf neuronalen Netzen
basiert. Bei diesem System teilt der Benutzer dem Agenten vor dem
Beginn einer neuen Nachsuchung Informationen, beispielsweise über das
gewünschte
Fachgebiet, mit.
-
Ein ähnlicher
der vorliegenden Gattung entsprechender Ansatz ist in einem Artikel
von S. W. Loke et al. mit dem Titel "CiFi: An Intelligent Agent for Citation
Finding on the World Wide Web",
Springer Verlag Berlin, 1996, Konferenzauszug zu PRICAI '96: Topics in Artificial
Intelligence 4th Pacific Rim International Conference on Artificial
Intelligence, beschrieben. Hierin wird ein regelbasierter Agent
für das World
Wide Web vorgeschlagen, der dem Benutzer beim Auffinden von Informationen
zur Seite steht. Dieser Agent sucht und findet völlig autonom Webseiten, wobei
er ein Spektrum an Suchstrategien anwendet. Ein heuristisches Suchverfahren
steht hierbei im Vordergrund, bei dem die Nachsuchung zunächst in
der im World Wide Web bekannten LYCOS-Suchmachine startet.
-
Ein
weiteres agentenbasiertes Verfahren im Bereich von Datenbankzugriffen
bei Datenbanken unterschiedlichen Typs ist aus den vorveröffentlichten
europäischen
Patentanmeldungen
EP 0 747 841 ,
EP 0 747 843 und
EP 0 747 844 bekannt. Der
darin beschriebene intelligente Agent nimmt eine Vermittlerrolle
zwischen einem Client und einem Server ein und veranlaßt auf Anforderungen
des Client hin den Server dazu, die mit den Anforderungen verbundenen
Aufträge
völlig
autonom abzuwickeln. Das besondere Augenmerk ist allerdings darauf
gerichtet, die erforderlichen Routinearbeiten seitens des Benutzers
möglichst
zu minimieren bzw. Interventionen durch den Benutzer auszuschließen oder
zumindest in großem
Maße zu
reduzieren. Die dort vorgeschlagene Lösung sieht einen Kontrollprogramm-Agenten vor, der
zwischen einem Netzwerk und einem an das Netzwerk angegliederten
Server angeordnet ist. Die beispielsweise von einem Web-Server verarbeiteten Benutzeranforderungen
werden zunächst
an den Kontrollprogramm-Agenten
weitergegeben, der wiederum die Bearbeitung der Anforderung in dem
Netzwerk mittels Subagenten vornimmt. Der Kontrollprogramm-Agent
wiederum liefert nach Durchführung der
entsprechenden Aufgaben die vollständigen Ergebnisse in Form eines
Berichtes zurück
an den Client, und zwar in einer Darstellungsform und an eine Adresse
gerichtet, die in der ursprünglichen
Anforderung festgelegt wurden. Durch diese Vorgehensweise ist gewährleistet,
daß der
Benutzer nur einen Auftrag abgeben muß, wobei auch hier die eigentliche Arbeit
von Agenten im Hintergrund übernommen wird.
-
Die
genannten Lösungen
führen
zwar bereits eine Reihe von Erleichterungen für den Benutzer bei der Nachsuchung
von Informationen in lokalen und/oder verteilten Informationsnetzen
ein, sie haben allerdings noch den Nachteil, daß die von einem Benutzer abgesetzten
Anforderungen ohne Berücksichtigung
des Zeitfaktors bearbeitet werden, und somit zeitabhängige Betriebskosten,
z.B. anfallende Gebühren
bei den übertragenden
Leitungsnetzen, keine Berücksichtigung
finden.
-
Darüber hinaus
haben diese Lösungen
den weiteren Nachteil, daß den
unterschiedlichen Übertragungskapazitäten der
Leitungsverbindungen zwischen dem Endbenutzer und dem Informationsnetz nicht
Rechnung getragen wird. Zwischen dem Endbenutzer und dem Netzanbieter
liegen meist Leitungsverbindungen extrem unterschiedlicher Übertragungsbandbreite,
z.B. ISDN- oder Modem-Verbindungen zu den üblichen Schaltnetzen. So fallen
für die
Unterhaltung der Leitungsverbindungen zwischen dem Netzanbieter
und einem im Informationsnetz angesiedelten Server in der Regel
relativ geringe oder gar keine Kosten an, wohingegen der Verbindungsaufbau
zwischen dem Endbenutzer und dem Netzanbieter sich in der Regel
relativ kostenintensiv darstellt.
-
In
dem Artikel „Dienstboten-Software", in: Funkschau,
1996, Heft 8, Seiten 54 bis 56, ist eine sogenannte erste Agenten-Anwendung (Software) beschrieben,
die aus den Angeboten von sechs Online-Musikläden nach einer vom Benutzer
gesuchten Platte sucht und gleichzeitig Preisvergleiche anstellt. Der
Auftraggeber des Agenten müsse
sich nicht durch alle sechs Web-Sites "hangeln", sondern dies werde vom Agenten erledigt
und dieser bringe anschließend
das Ergebnis auf den Bildschirm, zusammen mit der Anfrage, ob er
das gefundene Album bestellen soll.
-
Mittels
einer neuen Kommunikationssprache, sogenanntem Telescript, seien
weiterhin Agenten realisiert worden, die durch die Netze reisen
und im Auftrag eines Benutzers unterschiedliche Aufgaben erledigen.
Zum Beispiel das Überbringen
von Nachrichten, das Suchen nach Informationen, das Überwachen
von Datenbanken auf besondere Ereignisse etc.
-
Ferner
sei ein neuer Ansatz in Agenten-Systemen das "Remote Programming" (RP). Während beim "Remote Procedure Calling (RPC)" noch die ständige Verbindung
zwischen Client und Server bestehen müsse, über die der Client durch eine
Folge von Prozeduralstufen und Datenübertragungen die Serverdienste
beanspruche, bestehe diese Verbindung beim RP nur kurzzeitig. Hier
erfolge der Zugriff eines Clients auf Serverdienste dadurch, daß Prozeduren
und Daten als Paket vom Client zum Server geschickt werden, wo anschließend die
Verarbeitung erfolge, ohne daß der
Client noch online sei. Dieses Prinzip eröffne auch die Möglichkeit,
daß ein
Agent eine Reihe von Servern nacheinander besuchen kann und erst
zum Client zurückkehrt,
wenn seine Aufgabe vollständig
erfüllt
ist.
-
An
dem ersten bekannten Agenten-System ist nachteilig, daß dieses
nur eine vorgegebene Anzahl an URLs (sechs Online-Musikläden) abfragt, und
daß dieser
Vorgang online erfolgen muß.
Dieses bekannte erste Agenten-System ist also wenig flexibel und
verursacht zudem hohe Verbindungskosten, insbesondere wenn die Abfrage
auf weitere Anbieter ausgedehnt wird.
-
Bei
dem zweiten aus diesem Artikel bekannten Agenten-System ist nachteilhaft,
daß das
System ebenfalls nur vom System zuvor festgelegte URLs bzw. Web-Adressen
auf Anforderung des Benutzers abfragt, wobei zudem eine ständige Kommunikation zwischen
dem Client und dem Server (Agenten) erforderlich ist. Auch dieses
zweite bekannte Agenten-System ist also wenig flexibel und verursacht
zudem hohe Verbindungskosten.
-
Das
dritte aus diesem Artikel bekannte Agenten-System ist schließlich eine
Weiterbildung des zweiten bekannten Systems und zwar dahingehend, daß die Online-Verbindung
zwischen dem Server bzw. Agenten und dem Client erst dann wieder
hergestellt werden muß,
wenn der Agent die zuvor vom Agenten-System festgelegten URLs abgefragt hat. Auch
dieses dritte System hat also den Nachteil, daß dem Benutzer lediglich der
Inhalt vorbestimmter Web-Seiten übermittelt
wird, wie beispielsweise eine Wetterkarte, eine Liste mit Börsenkursen
usw.
-
In
der Anleitung „GNU
Wget Manual, Version 1.4.4" ist
ein Hilfsmittel zur Beschaffung von binären Dokumenten aus dem Web
unter Verwendung des HTTP- und des FTP-Protokolls bekannt. Wget
soll im Hintergrund arbeiten können,
wenn der Benutzer nicht eingeloggt ist. Es soll zwischen korrekt
und nicht korrekt übertragenen
Seiten unterscheiden können
und versucht sie ggf. so oft wie nötig zu beschaffen bzw. solange,
bis ein vom Benutzer vorgegebenes Limit erreicht ist. Wget erzeugt
lokale Kopien entfernter Verzeichnis-Hierarchien.
-
Der
vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren
und eine Einrichtung der vorbeschriebenen Gattung bereitzustellen,
die die vorgenannten Nachteile vermeiden und insbesondere eine Berücksichtigung
der vorgenannten Zeit- und Kostenproblematik ermöglichen. Darüber hinaus
soll mit der Erfindung zum einen eine Grundlage dafür geschaffen
werden, Zugangsnetze zu dem Informationsnetz hinsichtlich einer
Lastverteilung optimieren zu können.
Zum anderen soll mit Hilfe der Erfindung eine möglichst kontinuierliche Auslastung
der Internet-Anbindung zwischen einem Netzanbieter, einem Intranet
oder einem Endbenutzer einerseits, und dem Internet andererseits,
erreicht werden. Darüber
hinaus wird auch eine möglichst
optimale Ressourcenauslastung zwischen den bei der Bearbeitung von Benutzeranforderungen
ablaufenden Prozessen und den für
die Übertragung
der Aufträge
an das Internet erforderlichen Kommunikationsmitteln anvisiert.
-
Diese
Aufgabe wird gelöst
durch die Merkmale der unabhängigen
Verfahrens- und Einrichtungsansprüche. Weitere bevorzugte und
vorteilhafte Ausgestaltungen sind Gegenstand der jeweiligen Unteransprüche.
-
Im
Rahmen einer ersten Optimierungsstufe gemäß der Erfindung wird ein kommerzieller
Dienst bereitgestellt, der innerhalb des Leitungsnetzes angeordnet
ist und der eine Hintergrundverarbeitung der genannten Benutzeranforderungen,
insbesondere in Form einer Stapelverarbeitung, in dem Netz ermöglicht.
Mit der Übermittlung
einer Anforderung an den Dienst übernimmt
dieser – unabhängig (entkoppelt)
vom Benutzer – die
Ausführung
des Auftrags. Durch die im Hintergrund ablaufende Verarbeitung wird
insbesondere die Möglichkeit
geschaffen, die Startzeit bzw. den Zeitablauf der Bearbeitung eines Benutzerauftrages
so zu steuern, daß die
Leitungskosten insgesamt minimiert werden.
-
Entsprechend
einer zweiten Optimierungsstufe sieht die Erfindung vor, daß zur Erreichung
einer möglichst
kontinuierlichen Auslastung einer Internet-Anbindung ohne Überlast
Situationen nicht mehr Anforderungen an das Internet abgegeben werden, als
durch die naturgemäß begrenzte
Bandbreite bearbeitet werden können.
Daher werden Informationen (z.B. Dokumente), die den seitens des
Anwenders spezifizierten Bedingungen genügen, nicht sofort angefordert,
sondern einer Liste mit Zieladressen, z.B. Dokumentenadressen (URLs)
hinzugefügt. Diese
Liste oder Pool von Adressen wird für das Generieren bzw. Aufsetzen
neuer Erfassungs- und Analyseprozesse genutzt, wenn ausreichend
freie Bandbreite für
die Bearbeitung verfügbar
ist.
-
Im
einzelnen werden die Verarbeitung der Benutzeranforderungen, z.B.
die Analyse von bereits vorliegenden Informationen (Suche nach weiteren enthaltenen
Referenzen) und das Anfordern von weiteren Informationen aus dem
Internet, basierend auf bereits vorliegenden Ergebnissen der Analyse,
unabhängig
(entkoppelt) voneinander ausgeführt.
Hierzu werden die Zwischenergebnisse, z.B. aufgefundene Referenzen
(URLs), in einem Pool (Puffer) zwischengespeichert. Durch diese
Maßnahmen
wird insbesondere ermöglicht,
daß eine
Verarbeitung von Benutzeranforderungen (Analyseprozesse) auch bei etwa
nicht vorhandenen freien Übertragungskapazitäten (Bandbreiten)
fortgesetzt werden kann. Entsprechend können etwa vorliegende freie Übertragungskapazitäten optimal
genutzt werden, indem im Puffer bereits zwischengespeicherte Auftragsadressen
sofort für
die weitere Auftragsprozessierung genutzt werden können. Durch
die genannte Entkopplung wird somit eine kontinuierliche Auslastung
der Internet-Anbindung ermöglicht.
-
Der
erfindungsgemäße Dienst
richtet sich besonders an die Bedürfnisse von Netzanbietern und ihren
Kunden (Endbenutzer), sowie an Intranet-Administratoren. Mit Hilfe
dieses Dienstes werden zudem sowohl auf der Anbieter- als auch auf
der Anwender-(Benutzer-)seite erhebliche Kosten eingespart. Dies
wird – anstelle
der bislang erforderlichen Online-Nachsuchungen – insbesondere durch eine im
Hintergrund (offline) durchgeführte
Bearbeitung der Benutzeranforderungen ermöglicht. Eine Hintergrundbearbeitung
von Aufträgen
ermöglicht
dabei insbesondere die Anwendung von optimierten Zeitplänen für die Übertragung
von Informationen sowohl innerhalb des Informationsnetzes als auch
außerhalb des
Netzes zwischen z.B. einem Netzanbieter und dem Endbenutzer. Aufgrund
der dadurch ermöglichten
optimalen Durchsatzraten an Netzwerkverbindungsstellen werden dabei
erhebliche Kosten eingespart. Die vom Kunden gewünschten Informationen werden
durch den erfindungsgemäßen Dienst
in Zeiten geringer Netzwerkauslastung in dem Informationsnetz aufgespürt und gesammelt,
und erst nach Abschluß der
Recherchen an den Endbenutzer übermittelt.
-
Die Übermittlung
der gesammelten Informationen kann dabei in einem weiteren Ausführungsbeispiel
der Erfindung erst auf Antrag des Benutzers erfolgen, wobei die
Informationen zwischenzeitlich bei dem vorgeschlagenen Dienst selbst
zwischengespeichert werden.
-
Bei
ausreichender Sicherung der Kommunikation können die Informationen allerdings
auch direkt zum Endbenutzer transportiert werden, z.B. in Form einer
FTP-Upload.
-
Neben
einfachen Aufträgen
können
auch Daueraufträge
angenommen werden, die etwa werktags aktuelle Börsenkurse von Servern abrufen
und dem Auftraggeber (Endbenutzer) als Informationspaket zur Verfügung stellen.
-
Ein
weiterer Vorteil der Hintergrundverarbeitung ist die Entlastung
des Endbenutzers bei den Benutzereingaben, die gegenwärtig bei
z.B. 'Web-Browsern' noch interaktiv
erfolgen müssen.
Diese Interaktivität
wird bei der Erfindung ersetzt durch einen einmaligen Auftrag, der
unter anderem die Suchbegriffe, die Suchtiefe, und gegebenenfalls
weitere Bedingungen, z.B. über
die zunächst
anzusprechende Suchmaschine, eine Zeitbegrenzung, eine Mengenbegrenzung,
zu verwendende Protokolle (beispielsweise NNTP für News, FTP für Dateiarchive),
oder Regelungen für
zu ladende, eingebettete Bilder, Klänge, etc., enthält.
-
Bei
der erfindungsgemäßen Einrichtung
entsprechend der ersten Optimierungsstufe ist nun vorgesehen, daß ein entsprechender
Agent innerhalb des Leitungsnetzes angeordnet ist. In einem bevorzugten
Ausführungsbeispiel
ist der Agent an der Nahtstelle zwischen einer Verbindung zu einem
Leitungsnetz relativ hoher Übertragungsbandbreite
und einer Verbindung zu einem Leitungsnetz relativ niedriger Übertragungsbandbreite
angeordnet, beispielsweise auf einem Server des jeweiligen Dienstanbieters.
-
Ein
weiteres Ausführungsbeispiel
des Agenten betrifft Übertragungsdienste,
die auf einer Modemverbindung basieren. In einem solchen Szenario ist
es vorteilhaft, den Agenten im Bereich der Leitungsverbindung zwischen
dem Endbenutzer und dem Modemdienst anzuordnen. Diese Anordnung hat
insbesondere den Vorteil, daß die
durch die geringen Übertragungsraten
einer Modemverbindung bedingten hohen Leitungskosten sehr effektiv
minimiert werden können,
da die vom Agenten zum Endbenutzer übertragenen Informationen durch
den Agenten bereits in eine derart kompakte Form gebracht werden,
die möglichst
geringe Übertragungskapazitäten erfordert.
-
Bei
dem erfindungsgemäßen Verfahren
und der Einrichtung kann weiterhin vorgesehen sein, daß die von
dem Agenten bereitgestellten Nachsuchungsergebnisse dem Benutzer
wiederum als recherchierbare Datenpakete bereitgestellt werden,
in denen die – wie
in der HTML (Hypertext Markup Language) Dokumentenbeschreibungssprache üblichen – 'Hyperlinks' weiterhin enthalten
sind. Dadurch wird beim Endbenutzer ein lokales "Surfen" in den übermittelten Informationen
ermöglicht,
wobei die Nachteile der großen
Antwortzeiten beim interaktiven Arbeiten mit dem Internet automatisch
entfallen. Hyperlinks auf nicht bereitgestellte Dokumente werden
dabei so verändert,
daß sie
wieder in das Internet zeigen und ein Anwender ohne Umwege direkt
ins Internet gelangt, um dort weitere, nicht durch die Suchkriterien
erfaßte
Dokumente zu lesen und gegebenenfalls vom Netz herunter zu laden.
-
Bei
der Erfindung kann weiterhin vorgesehen sein, daß Filterfunktionen bereitgestellt
werden, durch die der Umfang der vom Agenten aufgefundenen Informationen
sinnvoll beschränkt
werden kann.
-
Gemäß einem
weiteren Ausführungsbeispiel ist
eine Bandbreitenreservierung vorgesehen, mittels der die Auslastung
der Übertragungsressourcen
innerhalb des Informationsnetzes optimiert werden kann.
-
Darüber hinaus
können
die verfügbaren Übertragungskapazitäten sowohl
zwischen dem Informationsnetz und dem Agenten als auch zwischen dem
Agenten und dem Endbenutzer gemäß einem weiteren
Ausführungsbeispiel
dadurch besser genutzt werden, daß die vom Agenten erfaßten und
an den Benutzer übertragenen
Informationen mittels eines Filters mimimiert werden, dessen Parameter
vom Benutzer bereits bei der Anforderung angegeben werden können.
-
Ferner
kann vorgesehen sein, daß die
vom Agenten zum Benutzer übermittelten
Informationen vor der Übertragung
zusätzlich
komprimiert werden, um auch die Übertragungsressourcen
zwischen diesen beiden optimal nutzen zu können. Diese Ausführungsform
ist besonders vorteilhaft anwendbar bei einer Modemverbindung mit
im allgemeinen relativ geringen freien Übertragungskapazitäten zwischen dem
Benutzer und dem Netzanbieter bzw. dem Agenten.
-
Die
Anforderungen des Benutzers können
in vorteilhafter Weise mittels eines (Auftrags-)Formulars an den
Agenten weitergegeben werden, das die für den Hintergrund- bzw. Stapelbetrieb
erforderlichen Informationen enthält. Darin können vom Benutzer sowohl Kriterien
für die
anvisierten Informationen als auch die vorgenannten Parameter für die Filterung
der übertragenen
Informationen angegeben werden. Die nachgesuchten Informationen
können hierbei
entweder in Form von Suchbegriffen oder als direkte Suchadressen
(z.B. als URLs) eingegrenzt werden.
-
In
einem weiteren Ausführungsbeispiel
arbeitet der Agent mit einer oder mehreren im Informationsnetz angesiedelten
Suchmaschinen zusammen, um beispielsweise Nachsuchungen besonders
effizient gestalten zu können.
Hierbei können
auch regelmäßig verwendete
Informationen bereits beim Agenten vorgespeichert sein (Cachebetrieb).
Insbesondere können
Aufträge
entsprechend einer Benutzeranforderung an mehrere Suchmaschinen
parallel (gleichzeitig) erteilt werden. Dadurch kann die Ausbeute
der angeforderten Informationen deutlich erhöht werden und die Suche dadurch
beschleunigt werden, daß die
Nachsuchung bereits nach dem Eintreffen der ersten Informationen
beim Agenten abgebrochen werden kann. Das Eintreffen von Informationen
beim Agenten zu unterschiedlichen Zeitpunkten kann beispielsweise
durch unterschiedliche Verarbeitungsgeschwindigkeiten der angesprochenen
Suchmaschinen bedingt sein.
-
In
einem weiteren Ausführungsbeispiel – entsprechend
der zweiten Optimierungsstufe – kann vorgesehen
sein, daß mindestens
ein neuer Programmfaden generiert bzw. gestartet wird, sobald freie
Bandbreiten verfügbar
sind.
-
In
einer bevorzugten Ausführungsform
kann als ein weiteres Prozeßmittel
ein Zeitplanungsmodul (Scheduler) vorgesehen sein, das in regelmäßigen Zeitabständen die
verfügbaren Übertragungsbandbreiten überprüft und zum
Zwecke der Generierung neuer Programmfäden auf die anderen Prozeßmittel sowie
den Pufferspeicher entsprechenden Zugriff hat.
-
Ferner
kann vorgesehen sein, daß in
dem Pufferspeicher auch Zusatzinformationen über die Erfassungstiefe der
referenzierten Dokumente bei der Nachsuchung abgelegt sind, um insbesondere ein
rechtzeitiges Abbrechen der Analyse- und Nachsuchungsprozesse zu
garantieren, die ohne derartige Abbruchkriterien endlos weiterlaufen
würden.
-
Weiter
können
in dem Pufferspeicher sämtliche
Kundenaufträge,
insbesondere alle neu eingehenden Aufträge, zusammen mit etwa vorliegenden Filterbedingungen
des jeweiligen Suchauftrags, in vorteilhafter Weise zwischengespeichert
werden.
-
In
einem besonders vorteilhaften Ausführungsbeispiel werden sämtliche
für eine
Implementierung der Erfindung erforderlichen Komponenten, insbesondere
die den Kern einer Dokumentenanforderung betreffenden funktionellen
Teile, in Objekt-orientierter Technologie bereitgestellt.
-
Im
folgenden Teil wird die Erfindung anhand von bevorzugten Ausführungsbeispielen
näher erläutert. Im
einzelnen zeigen
-
1 ein
bei der Erfindung zugrundegelegtes Informationsnetz nach dem Stand
der Technik;
-
2 eine
schematische Übersicht über den erfindungsgemäßen Dienst
entsprechend einer ersten Optimierungsstufe;
-
3 im
Vergleich mit 2, eine entsprechende schematische
Darstellung einer zweiten Optimierungsstufe gemäß der Erfindung;
-
4 ein
der 1 entsprechendes Diagramm, bei dem zusätzlich ein
der vorliegenden Erfindung entsprechender Dienst zwischen dem Netz und
einem Netzanbieter zwischengeschaltet ist;
-
5 ein
den 1 und 4 entsprechendes Diagramm, das
ein weiteres Ausführungsbeispiel der
vorliegenden Erfindung illustriert, bei dem der erfindungsgemäß vorgeschlagene
Dienst beim Netzanbieter selbst angeordnet ist;
-
6 eine
gemäß der Erfindung
im Hintergrund ablaufende Dokumentennachsuchung auf eine Benutzeranforderung
hin;
-
7a,
b anhand eines Flußdiagramms
den funktionellen Ablauf einer Auftragsbearbeitung bei einem Agenten
entsprechend der Erfindung, sowie eine weitere Verarbeitung aufgrund
von Referenzen zwischen vorliegenden Dokumenten;
-
8 eine
schematische Blockdarstellung eines bevorzugten Ausführungsbeispiels
der zweiten Optimierungsstufe gemäß der Erfindung;
-
9 eine
schematischer Zeitverlauf der Erfassungs- und Analyseprozesse gemäß der zweiten Optimierungsstufe
der Erfindung;
-
10 ein
exemplarisches Objektmodell des Agenten, bei dem die wesentlichen
Klassen zur Auftragsbearbeitung dargestellt wurden (Beschreibung
nach UML – Unified
Modelling Language)
-
11 eine
bevorzugte Ausführungsform
eines objektorientierten JobSchedulers gemäß der zweiten Optimierungsstufe
der Erfindung; und
-
12 ein
zusammenfassendes detailliertes Interaktionsdiagramm einer Auftragsarbeitung
gemäß der Erfindung.
-
1 illustriert
zunächst
das der Erfindung zugrundeliegende Umfeld eines Informationsnetzes, hier
dem Internet, bei dem eine Reihe von Endbenutzern über einen
Netzanbieter Zugang zu dem Informationsnetz haben. Die jeweilige
Situation ist dabei im wesentlichen durch zwei Übertragungsstrecken gekennzeichnet,
zum einen die Übertragungsstrecke zwischen
dem Netzanbieter und dem Internet, die im allgemeinen durch extreme Überlastung
in Spitzenzeiten und eine extreme Unterbelastung zu anderen Zeiten
charakterisiert ist, auf der anderen Seite die Einzelverbindungen
zwischen den Endbenutzern und dem Netzanbieter, deren Übertragungseigenschaften
oftmals konträr
zueinander stehen. Gegenüber
den Kommunikationsverbindungen zwischen dem Netzanbieter und dem
Internet sind die Leitungsverbindungen zwischen dem Netzanbieter
und dem Endbenutzer typischerweise durch extreme Unterbelastungen
zu Spitzenzeiten sowie weit unter den verfügbaren Bandbreiten liegende
Datendurchsatzraten charakterisiert.
-
Anhand
von 2 werden die beiden Optimierungsstufen des erfindungsgemäßen Dienstes zunächst gegenübergestellt.
In der ersten Optimierungsstufe dient der vorgeschlagene Dienst
insbesondere dazu, die Leitungsverbindung 1 zwischen dem
Netzanbieter und dem Endbenutzer dadurch zu optimieren, daß die Leitung
möglichst
wenig frequentiert wird. Dies wird im Grundsatz dadurch erreicht, daß die Generierung
von Benutzeranforderungen und deren Bearbeitung voneinander entkoppelt
abgewickelt werden. Im Gegensatz dazu wird bei der zweiten Optimierungsstufe
insbesondere die Leitungsverbindung zwischen dem Netzanbieter und dem
Informationsnetz (z.B. dem Internet) optimiert. Diese Optimierung
basiert auf dem Konzept, daß die in
diesem Beispiel beim Netzanbieter angesiedelten Funktionseinheiten
Aufträge
bearbeiten und zeitlich parallel Anforderungen an das Informationsnetz
verschicken. Somit kann ein 'Pool' von Dokumentenadressen
im voraus generiert werden, der zu optimalen Leitungsbedingungen
zum Informationsnetz sukzessive abgearbeitet werden kann. Damit
wird erreicht, daß freie Übertragungskapazitäten sofort
genutzt werden können
und nicht erst noch auf neue Dokumentenadressen aus den Analyseprozessen gewartet
werden muß.
Die im Pool abgelegten Aufträge
können
zudem priorisiert werden, beispielsweise kann Dokumenten ohne Bilder
gegenüber
Dokumenten mit Bilder der Vorrang gegeben werden, oder kleine gegenüber großen Dokumenten
bei der Bearbeitung der Anforderungen bervorzugt werden.
-
In 3 ist
eine Ausführungsform
der Erfindung dargestellt, bei der die bei beiden Optimierungsstufen
erforderlichen Funktionselemente direkt beim Endbenutzer angesiedelt
sind. Aufgrund der im folgenden noch ausführlich beschriebenen Eigenschaften
des erfindungsgemäßen Dienstes,
kommen die Vorteile bei der Leitungsoptimierung bereits hier zum
Tragen.
-
Der
vorliegenden Erfindung liegt nun in der ersten Optimierungsstufe
das Konzept zugrunde, einen Agenten bereitzustellen, der dem jeweiligen Endbenutzer
das Durchsuchen des Informationsnetzes und das Aufsammeln der angeforderten
Informationen sowie deren Vermittlung an den Endbenutzer abnimmt.
Die Anforderungen des Benutzers werden dabei von dem Agenten in
Form einer Hintergrund- bzw. Stapelverarbeitung offline vom Benutzer
durchgeführt.
Die Erfindung ermöglicht
dabei, das Durchsuchen und Einsammeln von Informationen in dem Informationsnetz
nach einem Zeitplan durchzuführen,
bei dem die Ausführung
der Benutzeranforderungen erst zu einem Zeitpunkt oder in einer
Zeitspanne erfolgt, die erst im Anschluß an das Erstellen des Anforderungsauftrags
durch den Benutzer liegt. Die im Hintergrund ablaufende Stapelverarbeitung wird
dabei vorzugsweise zu Zeiten durchgeführt, in denen das Informationsnetz
zumindest nicht voll ausgelastet ist. Durch dieses Verfahren wird
zum einen die Auslastung der in dem Informationsnetz fließenden Datenströme optimiert
und zum anderen Verkehrsspitzen bei der Übertragung deutlich reduziert. Durch
Reduzieren der erforderlichen Übertragungsbandbreite
für den
Zugriff auf das Informationsnetz werden letztlich auch die Betriebskosten
gesenkt.
-
Im
Falle einer Wählverbindung
ergibt sich ein Kostenvorteil bereits aus der der Erfindung zugrundeliegenden
zeitlichen und räumlichen
Entkopplung zwischen dem Benutzer und der Auftragsbearbeitung durch
den Agenten. Nachdem der Benutzer seine Anforderung an den Agenten übermittelt
hat, kann nämlich
die Wählverbindung
zwischen beiden unterbrochen werden. Eine neue Wählverbindung muß erst dann
wieder aufgebaut werden, wenn die nach abgeschlossener Auftragsbearbeitung
beim Agenten vorliegenden gesammelten Informationen an den Benutzer übermittelt
werden sollen. Der hierbei entstehende Kostenvorteil ist somit darin
begründet,
daß die
Notwendigkeit für
das Aufrechterhalten einer Wählverbindung
von der Abgabe einer Anforderung bis zur Übertragung der gesuchten Informationen
an den Benutzer nunmehr entfällt.
-
Die
genannte Entkopplung ermöglicht
zudem ein gegenüber
dem Stand der Technik wesentlich verbessertes zeitliches Konnektivitätsverhalten von
mobilen Systemen, z.B. Laptops, zu den genannten Informationssystemen.
Nachdem auch hier ein Suchauftrag an den Agenten erteilt worden
ist, kann das mobile System vollständig vom Informationsnetz getrennt
werden. Erst zu einem späteren
Zeitpunkt, nachdem mit der Erledigung des Auftrags seitens des Agenten
gerechnet werden kann, kann die Verbindung zu dem Informationsnetz
erneut aufgebaut werden und die Informationen vom Agenten zum mobilen System übertragen
werden. Damit wird unter anderem die Mobilität dieser Systeme entscheidend
verbessert.
-
Im
Umgang mit dem Internet ist der Endbenutzer gegenwärtig darauf
angewiesen, das Informationsnetz nach den gesuchten Informationen
online und interaktiv zu durchsuchen. In einem ersten Schritt wird
gewöhnlich
eine sogenannte Suchmaschine angesprochen, um sich über sämtliche
auf dem anvisierten Gebiet im Internet vorliegenden Dokumente einen Überblick
zu verschaffen. Mittels der in HTML-Dokumenten bereitgestellten
Hyperlinks kann nun ausgehend von den seitens der Suchmaschine zunächst bereitgestellten
Informationen weitere noch detailliertere Informationen von den
jeweiligen Ursprungsservern abgerufen werden. Dieser im allgemeinen
mehrstufige Prozeß bedeutet
einen enormen Zeitaufwand, um schließlich das gewünschte Dokument
zu erhalten, und ist somit im geschäftlichen Bereich nahezu nicht
durchführbar.
-
Der
erfindungsgemäß vorgeschlagene Dienst
führt nun
an Stelle des Endbenutzers die beschriebenen Suchschritte eigenständig durch
und übermittelt
erst am Ende eines Suchvorganges die gesamten Informationen in Form
eines einzelnen Pakets an den Benutzer. Da dieses Informationspaket den
ursprünglichen
Hyperlinks entsprechende Referenzen bereitstellt, steht es dem Benutzer
frei, das nunmehr begrenzte Informationspaket lokal weiter nach
noch spezielleren Informationen zu durchsuchen.
-
Im
Hinblick auf den ebenfalls zu optimierenden Zugang des Netzanbieters
zu dem Informationsnetz ist es besonders vorteilhaft, den erfindungsgemäßen Dienst
in der Nähe
des Netzanbieters anzusiedeln. In dem in 4 dargestellten
ersten Ausführungsbeispiel
der Erfindung ist dieser Dienst innerhalb des Übertragungsleitungsbereichs
zwischen dem Internet und dem Netzanbieter angeordnet. Es sind allerdings
auch andere Implementierungswege vorstellbar, bei denen die Steuerungsfunktionen
entsprechend der vorbeschriebenen Funktionalität z.B. durch eine spezialisierte
Hardware realisiert sind. Der Dienst sammelt völlig autonom die von dem jeweiligen
Benutzer gewünschten
Informationen und übermittelt
entweder die aufgefundenen Informationen direkt an den Benutzer
oder speichert sie zwischen, so daß die Informationen für den Endbenutzer
auf Abruf zur Verfügung
stehen. In beiden Fällen
wird jedenfalls die Verbindung zwischen dem Benutzer und dem Netzanbieter
mit nahezu optimaler Übertragungsrate
betrieben, da sämtliche
Daten nach dem Beenden der Stapelverarbeitung beim Netzanbieter verfügbar sind
und keinerlei Daten über
das Internet online abgerufen werden müssen. Da der vorgeschlagene
Dienst eine eingehendere Terminierung der zu bearbeitenden Suchaufträge ermöglicht,
verhindert der vorgeschlagene Dienst sehr effizient, daß viele
Benutzer zur selben. Zeit online Zugang zu dem Internet haben, so
daß es
nicht weiter erforderlich ist, die bisher notwendige Vielzahl von
gleichzeitigen Zugriffen zu dem Netz bereitzustellen.
-
Es
wird an dieser Stelle hervorgehoben, daß der Dienst gemäß der Erfindung
zwischen dem Client und dem Server, und nicht – wie beispielsweise in den
in der Beschreibungseinleitung zitierten Europäischen Patentanmeldungen – hinter
dem Server plaziert ist. Darüber
hinaus muß entweder
dem Server oder einem Server-Skript die Existenz des Dienstes (Agenten)
bekannt sein, da dieser aktiv abgefragt werden muß. Der hier
vorgestellte Agent ist nur dem Client bekannt und tritt anderen
Servern gegenüber auch
nur als gewöhnlicher
Client, z.B. als ein Web Browser, auf.
-
Gegenüber dem
in 4 dargestellten Ausführungsbeispiel kann es auch
zweckmäßig sein, den
erfindungsgemäßen Dienst
beim Netzanbieter selbst bereitzustellen, da der Anbieter die besseren Ausgangsbedingungen
für eine
Optimierung des Netzwerkverkehrs vorliegen hat. Ein entsprechendes Ausführungsbeispiel
ist in 5 dargestellt. Bei diesem Ausführungsbeispiel sind das für den vorgeschlagenen
Dienst erforderliche Kontrollprogramm sowie die erforderliche Datenbank
bzw. der Zwischenspreicher beim Internetanbieter selbst, z. B. auf einem
Server des Netzanbieters, angeordnet.
-
Das
im Internet (oder World Wide Web) am meisten verwendete Übertragungsprotokoll
ist das sogenannte HTTP-Protokoll (Hypertext Transfer Protocol).
Für gewöhnlich wird
dieses Protokoll zur Übertragung
von HTML-Dokumenten verwendet. Dieses Übertragungsprotokoll eignet
sich jedoch auch dazu, Informationen jeglicher Art zu übertragen,
die eine sogenannte URL (Uniform Resource Locator) aufweisen. Hypertextdokumente
beinhalten Text, sogenannte "links", und die in die
jeweiligen Dokumente eingebetteten Daten. Diese Dokumente können daher
als ein "Dokumentennetz" betrachtet werden,
bei dem Dokumente auf andere Dokumente verweisen und bei dem die
Dokumente nahezu sämtliche
Informationsarten wie Bild-, Ton- oder Textinformationen beinhalten
können.
-
Die
in einem Dokument eingebetteten Daten werden zunächst mit dem jeweiligen Dokument
zusammen präsentiert,
jedoch erfordert ein Zugriff auf diese Daten jeweils eine neue HTTP-Anforderung (-Auftrag),
um diese Daten zu laden. Referenzierte Dokumente können ihrerseits
unter Verwendung des HTTP-Protokolls über das Netz übertragen
werden. Ein HTTP-Webserver kann nun zu allen bereitgestellten Informationen
den Dateityp ("Content
Type") übermitteln.
-
Gemäß einem
weiteren Ausführungsbeispiel des
erfindungsgemäßen Dienstes
(Agenten) ist vorgesehen, daß der
Benutzer (Client) vor dem Beginn der eigentlichen Nachsuchung ein
Formular ausfüllt, in
dem der Suchauftrag im einzelnen spezifiziert ist. Dieses Formular
kann z.B. von einem Web Server bereitgestellt werden, der mit dem
Agenten in Verbindung steht. In dem Formular kann nun entweder eine direkte
Internetadresse (URL) angegeben werden, sofern der Benutzer bereits über eine
Adresse zu den gesuchten Informationen verfügt, oder aber ein oder mehrere,
gegebenenfalls logisch verknüpfte,
Suchbegriffe. Im Falle von verwendeten Suchbegriffen wird der Agent
zunächst
mindestens eine im Internet angesiedelte Suchmaschine konsultieren.
-
Zur
Eingrenzung der insgesamt aufgefundenen Informationen zu dem avisierten
Fachgebiet sowie zu Zwecken der Kostenminimierung kann in dem Auftragsformular
bereits eine maximale Obergrenze der später an den Benutzer übermittelten
Treffer angegeben werden, z.B. die jeweils ersten zehn Treffer zu
einem Sachgebiet. Ferner kann die Suchtiefe für die Recherche angegeben werden,
d.h. eine Obergrenze dafür
gesetzt werden, wie oft der Server "Links" in Dokumenten weiterverfolgt oder Unterverzeichnisse
in FTP- (File Transfer Protocol) Archiven. Darüber hinaus läßt sich
die Informationsflut weiter einschränken durch Limitierung der
Suchzeit bzw. Zeit für
das Herunterladen von Informationen vom Netz sowie durch Limitierung
des Informationsaufkommens selbst.
-
Optional
können
das von dem Agenten bei der Recherche zu benutzende Protokoll sowie
die gesuchten Medien- und Datentypen genauer angegeben werden. So
kann oftmals auf die Übermittlung von
Bilddaten verzichtet werden, für
deren Übertragung
relativ große Übertragungskapazitäten erforderlich
sind. Die genannten Protokolle betreffen zum einen die in Hypertextdokumenten
meist enthaltenen Links zu anderen Dokumenten bzw. Webseiten. Diese
Links können
HTTP- oder FTP-Links
sein, wobei HTTP-Links rekursiv mit anderen HTTP-Links verknüpft sein
können.
Zum anderen kann bei den Protokollen Berücksichtigung finden, daß nicht
alle Fundstellen im weltweiten Informationsnetz HTTP-basiert sind.
Die im Rahmen der Erfindung verwendeten Suchroutinen können überdies
dazu verwendet werden, aktuelle Tagesnachrichten von einem News-Server abzurufen.
-
Im
Gegensatz zu HTTP-Dokumenten sind FTP-Dokumente nicht weiter recherchierbar
bzw. können
Nachsuchungen nicht innerhalb von FTP-Archiven gestartet werden,
da weder Typ noch Inhalt der Dateien vorab bekannt sind.
-
Eine
exemplarische Anwendung der Erfindung im Bereich einer Dokumenten-Nachsuchung wird
nun anhand von 6 näher erläutert. In dem zugrundeliegenden
Suchauftrag wird in diesem Beispiel unter anderem angegeben, daß die Suche
unter Berücksichtigung
von HTTP- und FTP-Links erfolgen soll, bei einer Suchtiefe von 'zwei', bei der nur Dokumente
bis zur zweiten Generation (d.h. insgesamt zwei Ebenen in der Netzstruktur)
berücksichtigt
werden. Ferner sollen lediglich Dokumente des Medientyps 'HTML' und 'Postscript' nachgesucht werden.
-
Sämtliche
der aus dem Netz extrahierten Informationen werden zunächst in
einen Ordner zwischengespeichert. Die in dem jeweiligen Dokument enthaltenen
Referenzen auf andere Dokumente oder eingebettete Dateien werden
dabei so umgeschrieben, daß sie
auf die lokalen Kopien im Ordner zeigen. Bei nicht vom Netz heruntergeladenen
Dateien, z.B. solchen außerhalb
der angegebenen Suchtiefe, werden die ursprünglichen Links beibehalten,
um dem Aufraggeber (Endbenutzer) weitere noch tiefergehenden Recherchen,
auf diese Links aufbauend, zu ermöglichen.
-
Das
in 7a dargestellte Flußdiagramms zeigt den funktionellen
Ablauf einer Auftragsbearbeitung durch einen Agenten gemäß der Erfindung.
Die beim Agenten eintreffenden Suchaufträge werden zunächst in
eine Auftragsliste gespeichert. Für jeden der derzeit ausgeführten Aufträge werden
in dem Ausführungsbeispiel
die gezeigten Bearbeitungsschritte durchlaufen. Für den Fall,
daß ein
Auftrag bereits zu Ende geführt
wurde und damit abgeschlossen werden kann, wird der Auftrag zunächst aus
der Liste der aktiven Aufträge
entfernt. Die entsprechend dem jeweiligen Auftrag erfaßten Informationen
werden gleichzeitig zwischengespeichert. In diesem Ausführungsbeispiel
werden dann die gespeicherten Nachsuchungsergebnisse auf Abruf des
Auftraggebers hin vom Agenten an den Auftraggeber übermittelt.
Zum Zwecke einer Optimierung der Kommunikationsverbindung zwischen
dem Agenten und dem Benutzer ist in diesem Beispiel weiter vorgesehen, daß die auf
der Agentenseite erledigten Aufträge zuvor in eine Abholschlange
eingereiht werden.
-
Solange
ein Auftrag nicht abgeschlossen werden kann, werden die im rechten
Teil des Diagramms gezeigten Schritte durchlaufen. Zunächst wird
für jeden
Teilauftrag geprüft,
ob die für
die Bearbeitung des Teilauftrags erforderliche Bandbreite verfügbar ist.
Dabei werden bereits die für
weitere interaktive Prozesse vorgesehenen Reserven berücksichtigt.
Weiter werden geprüft,
ob die Maximalwerte der für
den Agenten bzw. Auftrag verfügbaren
Programmfäden
(Threads) und die in dem Anforderungsprofil näher spezifizierten Filter wie
z.B. maximale Bearbeitungszeit oder Maximalmenge der erfaßten Informationen
noch einen weiteren Bearbeitungs-(Such-)prozess zulassen. Abhängig von
dieser Bedingung wird der Suchauftrag entweder abgebrochen oder
ein neuer Programmfaden gestartet, der das gesuchte Dokument beschafft.
Gleichzeitig wird dieses Dokument aus einer Dokumentenliste entfernt.
-
Hinsichtlich
der Verarbeitung der Suchaufträge
kommt dem Agenten folgende weitere Aufgabe zu: Ein bereits gestarteter
Informationstransfer vom Netz zum Zwischenspeicher des Agenten darf
nicht unterbrochen werden, da dies zu Datenverlusten führt und
einen Neustart der gesamten Datenübertragung erfordern würde. Daher
werden keine neuen Erfassungsaufträge gestartet, solange nicht
die erforderlichen Übertragungskapazitäten verfügbar sind. Der
Agent ermittelt somit regelmäßig die
jeweils aktuelle Situation bei den verfügbaren Bandbreiten und entscheidet
dann, ob ein weiteres Dokument angefordert werden kann (entkoppelt
in einem eigenen Programmfaden), ohne die interaktive Arbeit anderer Kunden
zu gefährden.
-
Der
Ablauf des für
die Dokumentenbeschaffung gestarteten Programmfadens wird nun an
dem in 7b gezeigten Flußdiagramm
näher verdeutlicht.
Sofern ein vorliegendes Dokument keine Referenzen auf andere Dokumente
aufweist, wird das Dokument zum Zwecke der vorteilhaften Übermittlung vom
Agenten zum Auftraggeber zunächst
komprimiert und danach einem etwa bestehenden Gesamtarchiv hinzugefügt. Im Falle
des Vorliegens von Referenzen, speziell beim Vorliegen noch nicht
bearbeiteter Referenzen, wird zunächst eine Beschreibung des
jeweils referenzierten Dokuments angefordert. Ergibt sich nun aus
der Dokumentenbeschreibung, daß dieses
Dokument nicht den vorliegenden Filterbedingungen gemäß dem Anforderungsprofil
genügt, wird
die Referenz weiterhin extern berücksichtigt, d.h. eine evtl.
relative Adresse auf die jeweilige externe Quelle (z.B. URL) im
Internet umgeschrieben. Genügt
jedoch das Dokument den Filterbedingungen, dann wird die vorliegende
Hyperlink in eine Referenz auf das Dokument, welches dann lokal
verfügbar
gemacht wird (lokale Quelle), umgeschrieben. Zudem wird die Dokumentenreferenz
in die Dokumentenliste des jeweiligen Auftrags eingetragen, um das
entsprechende Dokument auch für
den Anwender verfügbar zu
machen.
-
In
einem weiteren (nicht gezeigten) Ausführungsbeispiel der Erfindung
führt der
Agent eine dynamische Reservierung von Bandbreiten durch. Hier liegt
die Erkenntnis zugrunde, daß eine
Unterbrechung des Prozesses des Herunterladens von Informationen
aus den bereits genannten Gründen
nachteilig ist und es daher zweckmäßig ist, die verfügbaren Leitungsressourcen
nicht ständig
am oberen Limit zu betreiben, sondern Leitungsreserven bereitzustellen,
die für
neu zu startende Suchprozesse oder bei Erhöhung des Datendurchsatzes bei
laufenden Prozessen eingesetzt werden können. Auch beim Herunterladen
sehr großer
zusammenhängender Dateien
werden solche Reserven benötigt,
da sich hier eine Unterbrechung besonders negativ auswirken würde. Die
verfügbaren
Bandbreiten sind in einem gewissen Rahmen vorhersehbar, da ändernde Nutzungsgepflogenheiten
einzelner Internetbenutzer aufgrund der breiten Masse aller Benutzer
sich statistisch nur relativ gering auswirken. Zudem ändert sich der
Nutzungshabitus der breiten Internetklientel mit der Zeit nur relativ
gering.
-
Aus
dem vergangenen und dem aktuellen Benutzerverhalten läßt sich
die Bandbreitennutzung für
den interaktiven Verkehr in nächster
Zukunft ableiten. Die Differenz zwischen dieser zu erwartenden Last
und der maximal verfügbaren
Bandbreite bestimmt die freie Bandbreite für den Hintergrundbetrieb bzw.
den Stapelbetrieb des Agenten. Ein Teil dieser freien Bandbreite
wird hiervon jedoch nicht verwendet. Dieser Teil richtet sich nach
dem zu erwartenden zukünftigen
Benutzerverhalten und den zu erwartenden Änderungen im Datendurchsatz.
So steigt die freigehaltene Bandbreite, wenn mit mehr interaktiv
arbeitenden Kunden zu rechnen ist, und fällt, wenn die Anzahl konstant
bleiben oder fallen wird. Die Reserve fällt auch, wenn zu erwarten
ist, daß Verbindungen
in nächster
Zeit mehr umsetzen können,
weil eventuell in anderen Gebieten weniger Verkehr herrschen wird
(z.B. nachts in den USA). Im umgekehrten Fall steigt die Reserve
entsprechend.
-
Aus
der vorhergehenden Beschreibung wird deutlich, daß mit Hilfe
des vorgeschlagenen Dienstes (Agenten) auch die Leitungsverbindung
zwischen dem Netzanbieter und dem Endbenutzer (Client) in einem
optimalen Kosten-/Nutzungs-Fenster
betrieben werden kann, und somit für beide, den Netzanbieter und
den Endbenutzer, erhebliche Betriebskosten für die Unterhaltung von Leitungsverbindungen eingespart
werden können.
-
8 zeigt
nun eine schematische Blockdarstellung eines bevorzugten Ausführungsbeispiels der
Erfindung gemäß der zweiten
Optimierungsstufe. Eine URL-Liste (Pool) wird – wie bereits erwähnt – vom Scheduler
für das
Aufsetzen neuer Erfassungs- und Analyseprozesse genutzt. Hierbei
operieren die Analyseprozesse und der Scheduler getrennt voneinander.
Sie kommunizieren lediglich indirekt über die URL-Liste, aus der
sich der Scheduler immer dann eine URL eines noch anzufordernden
Dokuments herausgreift, wenn freie Bandbreite verfügbar ist.
Neue Adressen werden von den Dokumentenanalyseprozessen kontinuierlich
hinzugefügt,
sie bedingen jedoch keine direkte Interaktion mit dem Scheduler
und damit auch keine (notwendig) unmittelbare Weiterverarbeitung
der Adressen. Vielmehr startet der Scheduler neue Erfassungsprozesse
erst dann, wenn die Bedingung der freien Bandbreite erfüllt ist. Sollte
der Scheduler nicht rechtzeitig in der Lage sein, das Dokument vor
Auftragsabschluß anzufordern,
wird es aus der URL-Liste entfernt und der Auftrag abgeschlossen.
Die URL-Liste ist bevorzugt als FIFO-Liste (First-In-First-Out)
organisiert, um zeitlich früher
erfaßte
Adressen vor anderen Adressen zu priorisieren.
-
9 zeigt
schematisch einen Zeitverlauf der Erfassungs- und Analyseprozesse
gemäß der zweiten
Optimierungsstufe der Erfindung. Nach Abschluß einer Dokumentenerfassung
wird das Dokument auf etwa enthaltene Referenzen zu anderen Dokumenten
hin analysiert und bei Vorliegen solcher Referenzen die ermittelten
URLs in den URL-Pool abgelegt. Im Falle verfügbarer Bandbreiten werden nun
entsprechend den URLs weitere 'Tochterprozesse' (Threads) generiert,
die sich wiederum aus einer Dokumentenerfassung und einem Analyseprozeß zusammensetzen.
Die Generierung von Tochterprozessen endet dann mit der vom Auftraggeber
angegebenen Suchtiefe, wie oben bereits beschrieben wurde.
-
In 10 ist
nun eine bevorzugte Ausführungsform
des JobSchedulers gemäß der zweiten Optimierungsstufe
der Erfindung in objekt-orientierter Implementierung dargestellt.
Aufträge,
in denen bestimmte Dokumente über
URLs angefordert werden (Dokumentenerfassungsaufträge), werden
direkt in ein Objekt der Klasse 'Job' umgewandelt und
dem JobScheduler übergeben.
Ist der Auftrag eine Suchanfrage (Dokumentennachsuchungsauftrag),
dann werden innerhalb des die Anfrage annehmenden Programmfadens,
parallel und asynchron vom Agenten, mehrere Suchmaschinen befragt
und die zurückgelieferten
Adressen in die URL-Liste eingetragen. Danach wird entsprechend
der vorbeschriebenen Standardprozedur bei Dokumentenerfassungsaufträgen weiterverfahren,
d.h. mit den gefundenen Adressen ein Objekt der Klasse 'Job' erzeugt und dem
JobScheduler-Objekt übergeben.
Aufträge
werden ihrer Priorität
(z.B. Auftragsabschlußzeitpunkt
oder mögliche
Gebührenklasse)
nach sortiert und bearbeitet. Das JobScheduler-Objekt informiert
Auftragsabschluß das
WebAgent-Objekt über den
abgeschlossenen Auftrag. Das WebAgent-Objekt kann im folgenden z.B.
den Anwender über
den Auftragsabschluß über eine
E-Mail in Kenntnis setzen oder ihm die Daten durch einen FTP-Upload
zukommen lassen.
-
Um
das System nicht durch permanente Zustandsabfragen (polling) zu
belasten, sind die Funktionselemente des erfindungsgemäßen Dienstes,
insbesondere der JobScheduler, ereignisgesteuert. Der JobScheduler
fordert daher erst bei Erhalt eines Aufwecksignals, das üblicherweise
für einen
neuen Auftrag oder bei Beendigung einer Dokumentenerfassung gesendet
wird, anhängige
Prozesse (Objekte der Klasse 'Job') dazu auf, ihren
aktuellen Zustand zurückzumelden.
Den dringlichsten Aufträgen
erlaubt der Scheduler – ausreichend
Bandbreite vorausgesetzt – das
Starten eines oder mehrerer Programmfäden (Threads). Hierfür wird für jeden
Programmfaden ein Objekt der Klasse 'Thread' erzeugt. Jedes dieser zunächst eigenschaftslosen
Objekte wird über ein
Objekt der Klasse 'Jab::ThreadData' an das Job-Objekt
gekoppelt. Dies ermöglicht
einen Zugriff auf die Auftragsdaten. Kern dieser Daten ist eine
Dokumentenadresse im URL-Format. Die URL wird ferner in einem Objekt
der Klasse 'WebRequest' abgelegt.
-
Eine
erste Aktion des neuen Programmfadens ist die Beschaffung des (der)
referenzierten Dokuments (Dokumente) über eine Klasse 'Retriever'. Zur Kommunikation über TCP/IP
(Transmission Control Protocol/Internet Protocol-Standard) instanziiert diese
Klasse ein Objekt der Klasse 'Regulated
Transceiver'. Das
Retriever-Objekt liefert die Daten des Dokuments und – in Abhängigkeit
von dem jeweils verwendeten Dienstprotokoll – ein Objekt der Klasse 'HTTPDocumentInfo' oder 'FTPDocumentInfo' zurück. Handelt
es sich um ein über
das HTTP-Protokoll (Hypertext Transfer Protocol) geladenes Dokument,
so kann auch auf den Medientyp zurückgegriffen werden. In einem
solchen Fall überprüft der Programmfaden,
ob es sich um ein HTML-Dokument handelt und instanziiert mit den
Dokumentendaten ein Objekt der Klasse 'HTMLDocument'. Diese Klasse bietet die Möglichkeiten
zum Durchsuchen des Dokuments nach Hyperlinks. Das Thread-Objekt überprüft alle
referenzierten Dokumente auf ihre Eigenschaften und entscheidet,
ob das referenzierte Dokument der bereits existierenden URL-Liste
hinzugefügt
werden soll oder nicht. Auswahlkriterien sind die Benutzeroptionen,
wie beispielsweise Größe und Typ
der Datei. Terminiert der Programmfaden, so sendet dieser dem JobScheduler-Objekt
ein Aufwecksignal. Ist die URL-Liste eines Auftrags leer, so ist
der Auftrag abgeschlossen und der JobScheduler entfernt den Auftrag
aus der Liste aktiver Aufträge.
-
11 zeigt
den internen Ablauf nachdem der JobScheduler ein Aufwecksignal erhalten
hat (1). Er sichert sich (2) über eine Semaphore den ausschließlichen
Zugriff auf alle Datenstrukturen. Dies ist notwendig, da der JobScheduler
auch aus anderen Programmfäden
heraus angesprochen werden kann, z.B. aus Objekten der Klasse 'WebAgent' oder der Klasse 'Job'. Nachdem er einen
sicherern Zugriff erlangt hat, befragt (3) er die zu bearbeitenden
Aufträge
nach ihrem Zustand, meldet etwa abegeschlossene Aufträge an das
WebAgent-Objekt (A4, A4.1) weiter, oder läßt ein Job-Objekt neue Programmfäden starten
(B5, B5.1), wenn ausreichend Bandbreite verfügbar ist (B4). Abschließend gibt
er die Semaphore wieder frei (6) und wartet (1)
erneut auf ein Aufwecksignal.
-
Ein
exemplarisches Interaktionsdiagramm zur Illustration des Ablaufs
einer Auftragsarbeitung gemäß der Erfindung
ist in 12 dargestellt. Der Anwender
(Auftraggeber) übersendet
(1) zunächst dem
Agenten einen Auftrag sowie entsprechende Auftragsoptionen. Der
Agent erzeugt daraus ein Job-Objekt (1.1) und informiert
(1.2) den Scheduler über
dieses Objekt. Der Scheduler fordert dann das Job-Objekt auf – in Ahängigkeit
von der jeweils verfügbaren
Bandbreite – Programmfäden zur
Dokumentenerfassung zu starten (1.2.1, 1.2.2, 1.2.3,
und später 1.2.5).
Der Auftrag startet (1.2.1.1, 1.2.2.1, 1.2.3.1, 1.2.5.1)
diese Programmfäden
und hat weiter keine Kontrolle mehr über sie. Die Programmfäden melden
sich kurz vor der Terminierung beim Scheduler und teilen ihm ihren
Abschluß mit
(1.2.4, 1.2.6, 1.2.7, 1.2.8).
Der Scheduler erkennt, daß keine weiteren
Dokumente mehr geladen werden sollen, erklärt somit dem Agenten den Abschluß des Auftrags
(1.3) und geht wieder in Wartestellung. Der Agent startet
einen Programmfaden (1.4), der über ein Mail-Objekt (1.4.1)
dem Anwender mitteilt (1.4.1.1), daß der Auftrag abgeschlossen
wurde. Der Agent wird daraufhin nur noch für die Löschung des Auftrags angesprochen
(2). Diese Löschung
(2.1) bedingt gleichzeitig auch die Zerstörung des
Job-Objekts (2.2).