-
Verwandte Patentanmeldungen
-
Verwandte Patentanmeldungen beinhalten die
gemeinschaftlich übertragene,
gleichzeitig anhängige
Patentanmeldung EP-A-0 632 672 mit dem Titel „ SYSTEM AND METHOD FOR PROVIDING MULTIMEDIA
QUALITY OF SERVICE SESSIONS IN A COMMUNICATIONS NETWORK"; die gemeinschaftlich übertragene
US-Patentanmeldung A-5 388 097 mit dem Titel „SYSTEM AND METHOD FOR BRNDWIDTH
RESERVATION FOR MULTIMEDIA TRAFFIC IN COMMUNICATIONS NETWORKS"; und die gemeinschaftlich übertragene,
gleichzeitig anhängige
Patentanmeldung EP-A-0 632 673 mit dem Titel „MULTIMEDIA RESOURCE RESERVATION
SYSTEM".
-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht
sich auf Datenverarbeitungssysteme und insbesondere auf Dätenverarbeitungssysteme,
die eine Ressourcenreservierung bereitstellen, um eine gewünschte Dienstqualität zu gewährleisten.
-
Stand der Technik
-
Die Bereitstellung von Arbeitsplatzrechnern, die über digitale
Datenübertragungsnetzwerke
miteinander verbunden sind, wobei die Benutzer der einzelnen Arbeitsplatzrechner
für Aufgaben
wie z. B. die Bereitstellung von Dateien von einem Host oder Server
an Clientcomputer über
das Netzwerk miteinander kommunizieren können, ist seit langem geläufig. Früher erfolgte
dies in der Regel mit einer über
die Tastatur eingegebenen Notiz, einer Daten- oder Programmdatei,
die an einen anderen Benutzer übertragen
wurde. In jüngerer
Zeit verlangen die Benutzer jedoch verstärkt nach Multimedia-Dateidiensten, Desktop-Konferenzen,
Fernpräsentationen
und anderen Multimedia-Anwendungen zwischen den Benutzern eines
Netzwerks. Derartige Multimedia-Anwendungen, die mit datenintensiven
Klang-, Sprach- und Bildabläufen
verbunden sind, erfordern jedoch Leistungsgarantien für Datenübertragungsleitungen mit
hoher Plattenzugriffsrate und großer Bandbreite zwischen verteilten
Rechnersystemen mit minimaler Übertragungsverzögerung,
maximalem Datendurchsatz und der Fähigkeit stoßweise anfallende Datenübertragungen
zu bewältigen.
In der Folge hat es sich als äußerst schwierig
erwiesen, die entsprechenden Ressourcen einzuplanen, um so die Anforderungen derartiger
Multimedia-Anwendungen zu erfüllen.
-
Nach dem Stand der Technik ist bekannt, dass
für bestimmte
Daten in einem Netzwerk, z. B. Multimedia-bezogene Daten, eine Prioritätsverarbeitung
notwendig sein kann. Aus diesem Grund wurde in der Literatur beispielsweise
eine Dienstqualität (Quality
of Service, QoS) oder Bandbreite definiert. Dienstqualität oder auch
Bandbreite beschreibt verschiedene Parameter, die festgelegt werden
können, um
bestimmte Mindestanforderungen zu definieren, die bei der Übertragung
bestimmter Datentypen über das
Netzwerk erfüllt
sein müssen.
In diesem Zusammenhang wird beispielsweise auf die Dienstqualitätsstandards
gemäß dem OSI
TP4 Open System Interconnect Standard X.214 sowie auf die Dienstqualitätsstandards
gemäß der CCITTQ.931-
(ISDN), Q.933-(Frame
Relay) und Q.93B-Entwürfe
(B-ISDN ATM) verwiesen. Ein weiteres Beispiel ist ein Prioritätsmechanismus
mit einer speziellen Netzwerkstruktur gemäß dem IEEE 802.5-Standard für Token-Ring-Netzwerke.
Dabei kann eine Station im Ring, die ein Vollbild mit einer hohen
Priorität
senden möchte,
dies in einem Zugriffskontrollfeld (Access Control, AC) eines vorbeikommenden
Vollbildes anzeigen. Wenn eine das Vollbild sendende Station das Token
freigibt, tut sie dies mit der Priorität des AC-Felds und setzt es
dann auf die ursprüngliche
Priorität
zurück,
wie dies in einem IEEE 802.5-konformen Protokoll für die Zugriffssteuerung
auf Medien festgelegt ist. Die IEEE-Norm und ihre Realisierungen
geben lediglich ein Protokoll für
die Erhöhung und
Verringerung der Priorität
vor. Der Benutzer eines derartigen Dienstes, z. B. ein Client-/
Serverdateisystem, muss dann jedoch selbst ermitteln, wann Dienstqualitätsgarantien
für bestimmte
Dateizugriffe erforderlich sind. So benötigen z. B. Lesevorgänge aus
Multimedia-Dateien für
die Wiedergabe von Klang-, Sprach und Bilddaten von einem Server auf
einem Client bestimmte Garantien für die Dienstqualität.
-
Die Zuordnung von Ressourcen bei
der Herstellung einer Verbindung zwischen digitalen Computern, z.
B. für
eine Client-/Serversitzung, ist in der Technik geläufig, wobei
Speicher für
die Aufnahme sitzungsbezogener Daten zugeordnet wird. Pufferspeicher
wird auch häufig
für den
Dateizugriff auf Computern wie beispielsweise Servercomputern reserviert.
Pufferspeicher können
außerdem
auf dem Clientcomputer für
eine Multimedia-Datei reserviert werden, wobei ein Pufferspeicher
groß genug
sein muss, um einen Vorrat an Dateielementen speichern zu können, so
dass Verzögerungsschwankungen zwischen
Server und Client aufgefangen werden. Das heißt, in dem Pufferspeicher sollten
genug Dateielemente gespeichert sein, damit der Pufferspeicher während der
Wiedergabe von Klang-, Sprach- oder Bilddaten nicht leer läuft. Andernfalls
kommt es zu Störimpulsen
oder Signalschwankungen, die zu einer Verschlechterung der Wiedergabequalität führen. Wenn
die maximale Verzögerung
z. B. zwei Sekunden und der Multimedia-Datenfluss durchschnittlich 150 Kilobyte
pro Sekunde beträgt,
wird ein Pufferspeicher mit einer Mindestgröße von 300 Kilobyte benötigt, um
die Dienstqualität
aufrechtzuerhalten.
-
Viele Dateitypen enthalten in ihren
Dateianfangsetiketten Daten, mit denen derartige Dienstqualitätsparameter
bestimmt werden können.
Bei anderen Dateitypen kann muss die Datei eventuell gelesen, syntaktisch
analysiert oder durchsucht werden, um derartige Dienstqualitätsparameter
zu bestimmen. In einer universellen Client-/Serverumgebung gibt
es jedoch eine sehr große
Anzahl verschiedener Dateitypen und -formate, und möglicherweise
verfügt ein
Dateiserver nicht über
die entsprechende Programmierung, um die Dienstqualitätsparameter
in allen Fällen
ermitteln zu können.
Darüber
hinaus kann ein Anwendungsprogramm, das in einer Client-/Serverumgebung
auf einem Arbeitsplatzrechner ausgeführt wird, möglicherweise nicht feststellen,
ob eine Datei, auf die zugegriffen wird, sich auf dem Arbeitsplatzrechner
oder auf einem entfernten Dateiserver befindet. Wenn sich die Datei
auf dem Arbeitsplatzrechner mit dem Anwendungsprogramm befindet,
ist die Dienstqualität
in der Regel gewährleistet.
Wenn die Datei, auf die zugegriffen wird, sich jedoch auf einem
entfernten Server befindet, unterliegt der Dateizugriff den Serverressourcen
wie z. B. Festplattenzyklen oder Bandbreite, Zyklen der Festplattensteuerung,
Systembusressourcen, Serverprozessorressourcen und Netzwerkressourcen.
In der Folge ist es schwierig, bei Fernzugriffen auf Dateien in
einer Client-/Serverumgebung die Dienstqualität aufrechtzuerhalten.
-
EP-A-0 43 488 beschreibt ein Verfahren
für die
Zuordnung von Bandbreite zur Übertragung
einer Nachricht, bevor die Nachricht übertragen wird. Die erforderliche
Bandbreite wird aus einer Tabelle ermittelt, die im Terminaladapter
gespeichert ist. N. K. Petersen et. al.: „Anticipating the ISO File
Transfer Standards in an Open Systems Implementation", Computer Networks
and ISDN systems, Amsterdam, NL, Band 9, April 1985, Seiten 267
bis 279, beschreiben die Bereitstellung einer Initialisierungsphase,
in der vor einem Befehl zum Öffnen
die Eigenschaften der Datei ausgetauscht werden, bevor die Datei
tatsächlich übertragen
wird.
-
Zusammenfassung der Erfindung
-
Die Erfindung stellt ein Verfahren
nach Anspruch 1 und eine Vorrichtung nach Anspruch 5 bereit. Vorteilhafte
Ausführungsformen
der Erfindung sind in den betreffenden abhängigen Ansprüchen definiert.
-
Weitere Einblicke in die Merkmale
und Vorteile der vorliegenden Erfindung können aus den verbleibenden
Abschnitten der Beschreibung sowie aus den Zeichnungen gewonnen
werden, wobei gilt:
-
Kurze Beschreibung der
Zeichnungen
-
1 ist
ein Blockschaltbild eines typischen Datenverarbeitungssystems, das
von einer bevorzugten Ausführungsform
der Erfindung genutzt wird;
-
2 ist
eine Darstellung eines Datenverarbeitungssystems, das drei Arbeitsplatzrechner
beinhaltet, die über
ein Netzwerk gemäß der vorliegenden
Erfindung miteinander verbunden sind;
-
3 ist
eine Darstellung, die ein mehrschichtiges Computernetzwerkmodell
für die
Datenübertragung
auf Grundlage des OSI-Referenzschichtenmodells zeigt;
-
4 ist
eine Darstellung eines bevorzugten Schichtenmodells für die Verbindung
offener Systeme, welche die Beziehung der Komponenten der vorliegenden
Erfindung zu den Schichten zeigt;
-
5 ist
ein Ablaufdiagramm, das die Initialisierung eines Hostsystems mit
standardmäßigen Dienstqualitätsparametern
für Dateitypen
zeigt;
-
6 zeigt
eine Standardtabelle, die von dem Prozess aus 5 erzeugt wird;
-
7A bis 7C bilden ein Ablaufdiagramm, das
ein bevorzugtes Verfahren für
die einzeln vorgenommene Ermittlung der Dienstqualitätsparameter für Dateien
zeigt;
-
8 ist
eine Darstellung einer Reservierungstabelle, die von dem Ressourcenreservierungssystem
verwendet wird, um gemäß einer
bevorzugten Ausführungsform
der Erfindung Ressourcenreservierungen zu verarbeiten; und
-
9A und 9B bilden ein Ablaufdiagramm, das
ein bevorzugtes Verfahren für
die Reservierung einer gewünschten
Dienstqualität
für verschiedene Ressourcen
zeigt.
-
Ausführliche Beschreibung
-
1 ist
ein Blockschaltbild eines typischen Datenverarbeitungssystems 100,
das von einer bevorzugten Ausführungsform
der Erfindung genutzt wird. Das Datenverarbeitungssystem beinhaltet
einen oder mehrere Hauptprozessor (en) 110, der/die mit
einem Hauptspeicher 120 in dem Computergehäuse 105 verbunden
ist/sind, an das die Eingabeeinheit en) 130 und die Ausgabeeinheit
en) 140 angeschlossen sind. Der/die Hauptprozessor en) 110 kann/können einen
einzelnen Prozessor oder mehrere Prozessoren beinhalten.
-
Zu den Eingabeeinheiten 130 können eine Tastatur,
eine Maus, ein Tablett oder andere Arten von Eingabeeinheiten gehören. Die
Ausgabeeinheit en) 140 kann/können einen Textbildschirm,
einen Plotter oder andere Arten von Ausgabeeinheiten beinhalten.
-
Der Hauptprozessor kann außerdem über einen
Grafikadapter 200 mit einer oder mehreren Grafikausgabeeinheit(en) 210 wie
beispielsweise einer Grafikanzeige verbunden sein. Der Grafikadapter 200 kann
sich in einem Adaptersteckplatz 160A befinden. Der Grafikadapter 200 empfängt auf
dem Bus 150 Grafikbefehle vom Hauptprozessor 110,
um so die gewünschte
Grafikausgabe des Hauptprozessors darzustellen.
-
In Steckplatz 160C kann
sich ein Kommunikationsadapter 250 wie beispielsweise ein
Modem oder ein Netzwerkadapter für
Netzwerke wie Token-Ring- oder Ethernet-Netzwerke befinden. Der Steckplatz
ermöglicht
die Kommunikation mit dem Hauptprozessor 110 über den
Bus 150. Der Kommunikationsadapter 250 kann über die
Datenübertragungsleitung 260 mit
anderen Datenverarbeitungssystemen 270 kommunizieren. Somit
kann der Hauptprozessor über
den Bus 150, den Steckplatz 160C, den Kommunikationsadapter 250 und
die Datenübertragungsleitung 260 mit
anderen Datenverarbeitungssystemen 270 kommunizieren.
-
In Steckplatz 160D kann
sich eine Festplatte 255 befinden, um dem Hauptprozessor
weiteren Speicherplatz zur Verfügung
zu stellen. Computerlesbare Wechselmedien 290, wie beispielsweise
eine Magnetplatte oder eine CD (Compact Discl, können in eine Ein-/Ausgabeeinheit 285,
z. B. ein Plattenlaufwerk oder ein CD-ROM-Laufwerk (Compact Disc – Read Only
Memory), eingelegt werden. Die Daten werden durch die E/A-Einheit
von dem Wechselmedium gelesen bzw. darauf geschrieben, wobei die Steuerung
von der Steuereinheit 280 der E/A-Einheit übernommen
wird. Die E/A-Steuereinheit kommuniziert über den Steckplatz 160E und
den Bus 150 mit dem Hauptprozessor. Der Hauptspeicher 120,
die Festplatte 255 und die Wechselmedien 290 werden in
ihrer Gesamtheit als Speicher für
die Speicherung von Daten bezeichnet, die dann vom Prozessor 110 verarbeitet
werden. Eine der bevorzugten Realisierungen der vorliegenden Erfindung
beinhaltet mehrere Sätze
von Befehlen in einem Codemodul, das sich im Hauptspeicher 120 befindet.
Solange sie von dem Computersystem nicht benötigt werden, können die Befehlssätze in einem
anderen Computerspeicher, z. B. einem Festplattenlaufwerk, oder
auf einem Wechselmedium wie beispielsweise einer optischen Platte oder
einer Diskette gespeichert werden, um später von einem CD-ROM-Laufwerk
oder dem Diskettenlaufwerk gelesen zu werden.
-
2 zeigt
ein Datenverarbeitungssystem, das eine Anzahl von Arbeitsplatzrechnern
(hier die drei Arbeitsplatzrechner 300, 320 und 330)
umfasst, die über
zwei Datennetzwerke 310 und 340 (auch als „Datenübertragungsleitungen" bezeichnet) miteinander
verbunden sind, um so die Kommunikation zwischen den Arbeitsplatzrechnern
(auch als „Knoten" bezeichnet) zu ermöglichen.
Dabei wird davon ausgegangen, dass die in 2 gezeigte Datenverarbeitung zu einem
Typ gehört,
der die gleichzeitige Echtzeitkommunikation zwischen den Benutzern
ermöglicht.
Das Netzwerk funktioniert gemäß einem
herkömmlichen
Netzwerkprotokoll wie beispielsweise dem Token-Ring-Protokoll, das in dem Referenzdokument
mit dem Titel Token Ring Network Architecture, SC30-3374, IBM, 1989,
beschrieben ist.
-
2 zeigt
lediglich eine mögliche
Hardwarekonfiguration eines Datenverarbeitungsnetzwerks. Auch anderweitige
Konfigurationen sind möglich.
So könnte
das Datenverarbeitungssystem z. B. auf einem sternförmigen Netz
oder auf einem Hostprozessor, der mit einer Vielzahl von nichtintelligenten
Datenstationen verbunden ist, oder aber auf einer Vielzahl von entfernten
Prozessoren beruhen, die über
ein Datenübertragungsnetzwerk
miteinander verbunden sind. Darüber
hinaus könnten
die Netzwerke auch auf dem Telefonnetz, dem ISDN-Netz oder einem
beliebigen anderen Wählnetz
basieren. Außerdem
könnten
sich die Arbeitsplatzrechner innerhalb eines einzigen Arbeitsbereichs
oder innerhalb eines räumlich
eng begrenzten Bereichs befinden oder sie könnten auch weiter voneinander
entfernt sein. Ausführliche
technische Planungsinformationen zur Konfigurierung eines Netzwerks
aus Arbeitsplatzrechnern gemäß der Erfindung
können dem
IBM Extended Services for OS/2 Example Scenarios Manual, 1991, entnommen
werden.
-
Multimedia-Datenverarbeitung beinhaltet
die Verarbeitung verschiedener Medien wie beispielsweise Bilddaten,
waveform-Audiodaten,
Musical Instrument Digital Interface (MIDI)-Ströme,
Animationen, Grafiken und Text. Medienverarbeitung beinhaltet die
Erfassung, Erstellung (Bearbeitung) und Wiedergabe von Medienströmen und
anderen Datenverarbeitungsanwendungen. Multimedia-Dokumente, die
auf einem nichtflüchtigen
Medium wie beispielsweise einer Platte gespeichert sind, werden
als aufgezeichnete Multimedia-Anwendungen
bezeichnet. Daneben gibt es Live-Multimedia-Anwendungen, bei denen zwei oder mehr
Personen unter Verwendung eines Computers gleichzeitig miteinander
kommunizieren. Live-Multimedia-Anwendungen erfolgen in der Regel
raum- und zeitübergreifend,
woraus sich ergibt, dass sie vom Prinzip her verteilter Natur sind. Auch
bei aufgezeichneten Multimedia-Anwendungen müssen verteilte Dateisystemdienste
grobe Mengen an gespeicherten Medien, z. B. Daten auf Videospeicherplatten,
Klangdaten oder computererzeugte Bilder, gemeinsam nutzen. Aus diesem
Grund ist es von größter Bedeutung,
dass ein Schema zur Prioritätensetzung
für Multimedia-Anwendungen
gemäß der Erfindung
eine verteilte Umgebung unterstützt.
-
Damit der Aufbau der Netzwerke nicht übermäßig komplex
wird, werden diese aus einer Abfolge von Schichten aufgebaut, wobei
jede Schicht auf der vorhergehenden Schicht aufbaut, wie dies in
Computer Networks, Tannenbaum, Rndrew S., Prentice Hall (1988),
sowie OSI, A Model for Computer Communications Standards, Black,
Ulysses, Prentice Hall, 1991, beschrieben ist. Die Anzahl der Schichten,
ihre jeweilige Bezeichnung, der Inhalt und die Funktion einer jeden
Schicht sind von Netzwerk zu Netzwerk unterschiedlich. Bei jedem
Netzwerk haben die Schichten jedoch die Aufgabe, den höheren Schichten
bestimmte Dienste bereitzustellen, wobei diese Schichten mit den
Details der eigentlichen Umsetzung der angebotenen Dienste nichts
zu tun haben. Aufgabe, Funktion und Einzelheiten der einzelnen Schichten sowie
ihre Interaktion werden in den oben genannten Literaturverweisen
dargelegt und sind Kommunikationsprogrammierern mit entsprechenden
Fachkenntnissen vertraut.
-
Die Gewährleistung der Priorität ist ein
wichtiger Faktor bei der Sicherstellung von Bandbreite oder Dienstqualität und wird
durch eine Komponente erreicht, die in Hardwarelogik oder in Software
ausgeführt
sein kann. Die Komponente steuert den Zugriff auf die Prioritätsschlange
oder den Übertragungskanal,
der mit dem LAN-Abschnitt des gemeinsam genutzten Mediums verbunden
ist. Der Zugriff auf die Prioritätsschlange
bzw. den Übertragungskanal
erfolgt über
diese Komponente, so dass sämtliche Übertragungstransaktionen
der Zurückweisung bzw.
Führung
durch die Komponente unterliegen. Eine ausführlichere Behandlung dieser
Komponente und der zugehörigen
Komponente für
die Bandbreitenverwaltung einer Station findet sich in der gemeinschaftlich übertragenen,
gleichzeitig anhängigen
Patentanmeldung EP-A-0 583 965 mit dem Titel „Network Priority Management".
-
3 ist
eine Darstellung, die ein mehrschichtiges Computernetzwerkmodell
für die
Datenübertragung
auf Grundlage des OSI-Referenzschichtenmodells zeigt. Weitere Einzelheiten
zu diesem OSI- und zugehörigen
IEEE-Modellen können
dem oben weiter erwähnten
Dokument OSI, A Model for Computer Communications Standards entnommen werden.
Dargestellt ist ein Clientsystem 20A, das über eine
Datenübertragungsleitung 30 mit
einem Serversystem 20B kommuniziert. Die sieben Schichten
des OSI-Modells für
jedes System sind anhand der Bezugsziffern 40 bis 52 dargestellt.
Die unterste Schicht ist die Bitübertragungsschicht 40A und 40B, die
für die
Realisierung eines physischen Schaltkreises zwischen dem Datenendgerät und der
Datenübertragungseinrichtung
zuständig
ist.
-
Eine Sicherungsschicht 42A und 42B ist
zuständig
für die Übertragung
von Daten über
die Leitung. Eine Vermittlungsschicht 44A und 44B legt
die Schnittstelle des Benutzers zum Netz fest und definiert außerdem die
Netzvermittlung/-wegeleitung sowie die Übertragung zwischen den Netzwerken.
Eine Transportschicht 46A und 46B bildet eine Schnittstelle
zwischen dem Datenübertragungsnetzwerk
und den oberen drei Schichten. Diese Schicht ist von besonderem
Interesse, da sie dem Benutzer Optionen für den Erhalt bestimmter Qualitätsniveaus
bereitstellt und so konzipiert ist, dass sie den Benutzer von einigen
der physischen und funktionalen Aspekte des Netzwerks isoliert.
Eine Kommunikationssteuerungsschicht 48A und 48 dient
als Benutzerschnittstelle zur darunter liegenden Transportschicht
und stellt ein Mittel für
den Datenaustausch zwischen Benutzern dar wie beispielsweise gleichzeitige Übertragung,
abwechselnde Übertragung,
Fixpunkt-Prozeduren u. Ä. Die
verbleibenden beiden Schichten, eine Darstellungsschicht 50A und 50B sowie
eine Verarbeitungsschicht 52A und 52B, stellen
sicher, dass Benutzeranwendungen miteinander kommunizieren können, und
unterstützen
darüber
hinaus den Prozess der Endbenutzeranwendung. Dabei ist zu beachten, dass
in der Darstellung alle Schichten des Clientsystems mit den entsprechenden
Schichten des Serversystems kommunizieren. Obwohl es für jede dieser Schichten
so erscheint, als würde
diese Kommunikation direkt erfolgen, sind die entsprechenden Linien gestrichelt
abgebildet, da ausschließlich über das Netzwerk
eine direkte Kommunikation stattfindet.
-
Aus 3 geht
hervor, dass es weitere Ausführungen
der Technik eines derartigen OSI-Referenzmodells gibt, die eine
verschieden starke Ähnlichkeit
mit diesem aufweisen, wobei ein Teil einer solchen Ausführung in
der linken Hälfte
von 3 als IEEE-Modell
abgebildet ist, bei dem erkennbar ist, dass eine Bitübertragungsschicht 60 der
Bitübertragungsschicht
des OSI-Modells entspricht. Das IEEE erachtete es als notwendig,
die Sicherungsschicht in zwei Teilschichten zu untergliedern, um
so verschiedene Verbindungskonfigurationen zu handhaben, weshalb
ein Übertragungsmittelzugriff
(Medium Access Control, MAC) 62 und eine logische Verbindungssteuerung
(Logical Link Control, LLC) 64 bereitgestellt wurden. Die
Teilschicht ist protokollspezifisch (wie beispielsweise für ein Ethernet-LAN),
wobei die LLC als Schnittstelle zu einem Protokoll einer höheren Schicht,
in der Regel der Vermittlungsschicht, dient (und die Vermittlungsschicht
von den einzelnen Aktionen der MAC-Teilschicht isoliert). Die Abbildung
verschiedener Arten eines mehrschichtigen Computerkommunikationsnetzes
in 3 hat u. a. den Zweck
darzustellen, dass die Erfindung eine beliebige Zahl von Ausführungen
derartiger Mehrschichtmodelle zulässt und somit in ihrer Anwendung nicht
auf das in dieser Beschreibung schwerpunktmäßig behandelte OSI-Referenzmodell
beschränkt ist.
-
4 ist
eine Darstellung eines bevorzugten Schichtenmodells für die Verbindung
offener Systeme, welche die Beziehung der Komponenten der vorliegenden
Erfindung zu den Schichten und zu dem Datenverarbeitungssystem zeigt.
Ein Anwendungsprogramm 70 auf einem Clientsystem sucht
eine über eine
Anwenderprogramm-Schnittstelle
(Application Program Interface, API) 72 zu einer Umleiteinheit 74 eine
Datei, auf die zugegriffen werden soll. Wenn die Datei nicht auf
dem Clientsystem gefunden werden kann, ermittelt die Umleiteinheit,
auf welchem entfernten System, wie beispielsweise dem Serversystem,
sich die angeforderte Datei befindet. Wenn die Datei auf dem Clientsystem
gefunden wird, wird mit einem nicht abgebildeten lokalen Dateisystem
auf sie zugegriffen. wenn sich die Datei auf dem Serversystem befindet,
leitet die Umleiteinheit eine Anforderung für den Zugriff auf die angeforderte
Datei über ein
Transportprotokoll 76 (z. B. Netbios oder TCP/IP) und einen
Netzwerkadapter-Einheitentreiber 78 an das Serversystem.
Der Netzwerkeinheitentreiber sendet die Anforderung dann über einen
Netzwerkadapter 79 und eine Datenübertragungsleitung 80 (z. B.
Ethernet oder Token Ring) weiter zum Netzwerkadapter des Serversystems 99 und
zum Netzwerkadapter-Einheitentreiber 98 und somit zum Serversystem.
Im Anschluss daran leitet der Netzwerkadapter-Einheitentreiber die
Anforderung an das Transportprotokoll 96 weiter. Das Transportprotokoll
leitet die Anforderung danach an ein Hochleistungsdateisystem (High
Performance File System, HPFS) 94 weiter. Das Hochleistungsdateisystem
leitet die Dateianforderung dann an ein Ressourcenreservierungssystem
(Resource Reservation System, ARS) 92 weiter. Das Ressourcenreservierungssystem
ermittelt daraufhin, ob für
die angeforderte Datei Dienstqualitätsparameter vorhanden sind.
Wenn dies nicht der Fall ist, teilt das Ressourcenreservierungssystem
dies dem Hochleistungsdateisystem mit. Das Hochleistungsdateisystem
greift dann auf einem nicht abgebildeten lokalen Plattenlaufwerk
auf die Datei zu. Wenn das Ressourcenreservierungssystem feststellt,
dass Dienstqualitätsparameter
für die angeforderte
Datei vorhanden sind, reserviert es automatisch die entsprechenden
Ressourcen, um sicherzustellen, dass die Dienstqualität für die Datei aufrechterhalten
bleibt. Dieser Prozess wird weiter unten ausführlich beschrieben. Das Ressourcenreservierungssystem
gibt eine entsprechende Benachrichtigung an das Hochleistungsdateisystem
weiter. Das Hochleistungsdateisystem öffnet daraufhin die Datei und
greift auf sie zu, indem es ein lokales Dateisystem und ein lokales
Plattenlaufwerk verwendet. Daraufhin wird dem anfordernden Anwendungsprogramm
mit Dienstqualitätsgarantien,
sofern vorhanden, der Zugriff auf die Datei ermöglicht, und das Anwendungsprogramm
wird entsprechend benachrichtigt. Die Benachrichtigung erfolgt über das
Transportprotokoll 96, den Netzwerkeinheitentreiber 98,
den Netzwerkadapter 99, die Datenübertragungsleitung 80,
den Netzwerkadapter 79, den Netzwerkeinheitentreiber 78,
das Transportprotokoll 76, die Umleiteinheit 74 und
die Dateisystem-API 72. Dabei ist zu beachten, dass die
Elemente der Client- und Serversysteme in der Abbildung den Schichten
des oben beschriebenen OSI-Modells entsprechen. Zusätzlich entsprechen
die Elemente der Client- und Hostsysteme den Elementen des oben
beschriebenen Datenverarbeitungssystems. Die Elemente 70 bis 78 befinden
sich im Speicher des Clientsystems und werden vom Prozessor des
Clientsystems ausgeführt.
Die Netzwerkadapter 79 und 99 sind Kommunikationsadapter
für das
Client- bzw. Hostsystem. Darüber
hinaus können
sich Teile der Netzwerkadapter-Einheitentreiber auf den Netzwerkadaptern
befinden und von diesen ausgeführt
werden. Die Datenübertragungsleitung 80 kann
ein Netzwerk wie beispielsweise ein Ethernet- oder Token-Ring-Netzwerk
sein. Die Elemente 92 bis 98 befinden sich im
Speicher des Hostsystems und werden vom Prozessor des Hostsystems
ausgeführt.
-
Dieses System gestattet den einfachen
Zugriff auf Dateien innerhalb eines Netzwerks und stellt außerdem die
Funktionen für
ein automatisches Ressourcenreservierungssystem bereit, wie weiter
unten beschrieben wird.
-
Ermittlung der Dienstqualitätsparameter
Der Stand der Technik kennt viele verschiedene Arten von Dienstqualitätsparametern.
von besonderem Interesse für
eine bevorzugte Ausführungsform
der Erfindung sind die Parameter Datendurchsatz, Datenblock (Burst)
und Verzögerung.
-
Datendurchsatz bezeichnet die durchschnittliche
Menge an Daten, die innerhalb einer bestimmten Zeitspanne über die
Datenübertragungsleitung übertragen
wird, z. B. 150 Kilobyte pro Sekunde. Datenblock bezeichnet die
maximale Datenmenge, die innerhalb einer kurzen Zeitspanne über die
Datenübertragungsleitung übertragen
wird. Verzögerung
ist die maximal zulässige
Verzögerung
und wird üblicherweise
durch die Größe des Pufferspeichers
im Verhältnis
zum Datendurchsatz bestimmt.
-
Standardmäßige Dienstqualitätsparameter können für verschiedene
Dateitypen bereitgestellt werden. Dateien werden üblicherweise
als XXXXXX.YYY gespeichert, wobei .YYY die Dateierweiterung ist.
Die Erweiterung gibt üblicherweise
an, um welchen Dateityp es sich handelt (z. B. .VOC für eine Sprachdatei
und .WAV für
eine Audiodatei). Diese Standardwerte können zur Verfügung gestellt
werden.
-
5 ist
ein Ablaufdiagramm, das die Initialisierung eines Hostsystems mit
standardmäßigen Dienstqualitätsparametern
für bestimmte
Dateitypen zeigt. In Schritt 350 stellt der Benutzer dem
Hochleistungsdateisystem (HPFS) eine Dienstqualitätsdatei (QoS-Datei)
bereit, die Dateitypen und Dienstqualitätsparameter für jeden
Dateityp auflistet. Der Benutzer kann diese QoS-Datei auf verschiedene
Arten zur Verfügung
stellen. Eine Softwarekopie einer QoS-Datei kann mit einem Satz
Multimedia-Dateien von einem Lieferanten bereitgestellt werden,
so dass der Benutzer sie installieren kann, oder der Lieferant kann
ein Softwarehilfsmittel bereitstellen, mit dem der Benutzer die
QoS-Datei erzeugen kann. Außerdem
kann der Benutzer auf eine Gruppe von Abfragen des Hostsystems reagieren.
In Schritt 360 wird der erste Eintrag in der QoS-Datei
gelesen. Wenn das Ende der Datei in Schritt 370 nicht erreicht
wurde, fährt
die Verarbeitung mit Schritt 380 fort. In Schritt 380 werden
eine Beschreibung des Dateityps und seine Dienstqualitätsparameter
aus dem Datensatz gewonnen und in eine im Speicher befindlichen Standardtabelle
aufgenommen. 6 zeigt
eine Standardtabelle 392, die von dem in 5 beschriebenen Prozess erzeugt wurde.
Die Standardtabelle kann Werte für
den Dateityp 393, den Datendurchsatz 394, den
Datenblock 395 und die Verzögerung 396 enthalten.
Danach kehrt die Verarbeitung zu Schritt 360 zurück, um den
nächsten
Datensatz in der QoS-Datei zu lesen. Wenn in Schritt 370 das
Ende der Datei erreicht wurde, wird die Standardtabelle mit den
Dateitypen und den Dienstqualitätsparametern dem
Ressourcenreservierungssystem (RRS) zur späteren Verwendung bereitgestellt,
wie weiter unten beschrieben wird.
-
Die 7A bis 7C bilden ein Ablaufdiagramm,
das ein bevorzugtes Verfahren für
die einzeln vorgenommene Ermittlung der Dienstqualitätsparameter
für Dateien
zeigt. Es gibt viele Typen von Dateien, für die eine Dienstqualität erforderlich
ist, und die Dienstqualitätsparameter
für eine
einzelne Datei sollten vorzugsweise dann erhalten werden, wenn diese
Datei an den Hostcomputer übertragen
wird, um darauf gespeichert zu werden. Diese einzeln vorgenommene
Ermittlung der Dienstqualitätsparameter für Dateien
kann für
bestimmte Dateitypen wie Sprachdateien (VOC), Audiodateien (WAV),
audiovisuelle Dateien (AVI) oder andere Typen von Multimediadateien
automatisch erfolgen. Diese Dienstqualitätsparameter können aber
auch durch eine Abfrage des Bedieners erhalten werden, wenn die
Dateien zur Speicherung an den Hostcomputer übertragen werden. In einer
alternativen Ausführungsform
lassen sich die Dienstqualitätsparameter
ermitteln, wenn eine Datei zum ersten Mal verwendet wird oder aber
bei jeder Verwendung einer Datei. In einer weiteren alternativen
Ausführungsform
können
die Dienstqualitätsparameter
für eine
Anwendung ermittelt werden, indem die Dienstqualitätsparameter
einer jeden Datei, auf welche die Anwendung zugreift, akkumuliert
werden.
-
In Schritt 400 wird die
Datei zur Speicherung an den Hostcomputer übertragen. Der Hostcomputer kann
die Datei von einem externen Medium wie beispielsweise einer CD-ROM
oder Diskette oder aber über
einen Kommunikationsadapter von einem anderen Datenverarbeitungssystem
empfangen. In Schritt 405 wird ermittelt, ob Dienstqualitätsparameter
für die übertragene
Datei berechnet werden sollen. Der Benutzer kann die Berechnung
der Dienstqualitätsparameter
anfordern, indem er einen bestimmten Befehl verwendet, um die Datei
an das Hostsystem zu übertragen.
Außerdem
kann das Hostsystem für
bestimmte Dateitypen die Dienstqualitätsparameter automatisch berechnen.
Wenn keine Parameter berechnet werden sollen, endet die Verarbeitung.
Andernfalls kann in Schritt 410 ein Dienstprogramm für die Berechnung
der Dienstqualitätsparameter
ausgeführt
werden, um die Dienstqualitätsparameter
für die Datei
zu ermitteln. Dieses Dienstprogramm kann auf Anforderung des Benutzers
ausgeführt
werden, der die Datei auf dem Hostsystem speichert, oder sie kann
bei bestimmten Typen von vorgekennzeichneten Dateien automatisch
ausgeführt
werden. In Schritt 420 wird die Erweiterung der Datei gewonnen. Dateien
werden üblicherweise
als XXXXXX.YYY gespeichert, wobei .YYY die Dateierweiterung ist.
Die Erweiterung beschreibt üblicherweise
den Typ der Datei (z. B. .VOC für
eine Sprachdatei und .WAV für eine
Audiodatei). Multimediadateien werden vorzugsweise in zwei Typen
untergliedert: in einen Typ mit fester Abtastlänge und einen Typ mit variabler
Abtastlänge.
Erstere haben Abtastdatensätze
mit einer festen Länge
und können
einen Dateianfangssatz beinhalten, der die Datensätze beschreibt.
Ein Beispiel für
eine Datei mit fester Abtastlänge
ist eine Sprachdatei (VOC-Datei), die üblicherweise über ein Dateianfangsetikett,
gefolgt von einer Anzahl nahtlos aneinander anschließender Bytes,
verfügt,
wobei jedes Byte ein 8-Bit-abtastwert ist. Das Dateianfangsetikett
stellt Daten zur Abtastfrequenz (z. B. 8000, 11.000 oder 44.000
Abtastungen pro Sekunde) und zur Anzahl der Kanäle (z. B. 1 für Mono,
2 für Stereo, mehr
als 2 für
Mehrkanalton) bereit. Dateien mit variabler Abtastlänge weisen
Abtastdatensätze
mit variabler Länge
auf und erfordern einen höheren
Verarbeitungsaufwand, um gemäß der bevorzugten
Ausführungsform
der Erfindung die Dienstqualitätsparameter
zu ermitteln. Ein Beispiel für
eine Datei mit variabler Abtastlänge
ist eine Digital Video Interactive-Datei (DVI-Datei), die über eine
Abfolge von Bezugsvollbildern verfügt, wobei zwischen je zwei
aufeinanderfolgenden Bezugsvollbildern zwei oder mehr Deltavollbildern
angeordnet sind. Die Größe der Deltavollbildern
ist abhängig
vom Ausmaß der
Bewegung zwischen den Bezugsvollbildern. Wenn in Schritt 430 ausgehend
von der Erweiterung festgestellt wird, dass es sich um eine Datei
mit fester Abtastlänge
handelt, fährt
die Verarbeitung mit dem Ablaufdiagramm aus 7B fort. Wenn es sich um eine Datei mit
variabler Abtastlänge
handelt, fährt
die Verarbeitung mit dem Ablaufdiagramm aus 7C fort.
-
Nachdem die Dienstqualitätsparameter
erhalten wurden, werden sie in Schritt 440 vorzugsweise
als erweiterte Attribute der Datei gespeichert. Viele Betriebssysteme,
z. B. OS/2 (Warenzeichen der International Business Machines Corporation),
sind in der Lage, erweiterte Attribute einer beliebigen Datei zu
speichern und abzurufen, ohne dass die Datei hierfür geöffnet werden
muss. Erweiterte Attribute werden ausführlich in OS/2 2.0 Technical
Library, Programming Guide, Band 1, Version 2.00 beschrieben. Auf
diese Weise kann vor dem Öffnen
der Datei auf die erweiterten Attribute zugegriffen werden, um zu
ermitteln, ob geeignete Ressourcen für die Verwendung der Datei
zur Verfügung
stehen. In alternativen Ausführungsformen
können
die Dienstqualitätsparameter
in der Datei oder aber mit einer entsprechenden Dateireferenz in
einer Tabelle gespeichert sein. Wenn die Dienstqualitätsparameter
bei jeder Verwendung der Datei ermittelt werden, müssen sie nicht
gespeichert werden.
-
7B ist
ein Ablaufdiagramm, das ein bevorzugtes Verfahren für die Ermittlung
der Dienstqualitätsparameter
für Dateien
mit fester Abtastlänge
(d. h. Dateien, bei denen jede Abtastung eine feste Länge aufweist
und die üblicherweise über einen
Anfangssatz verfügen,
der die Datensätze
beschreibt). In Schritt 500 wird das Dateianfangsetikett
gelesen. Wenn kein Dateianfangsetikett vorhanden ist, wird der erste
Datensatz in der Datei gelesen. In Schritt 510 werden aus
dem Dateianfangsetikett oder dem ersten Datensatz Daten zur Ermittlung
der Dienstqualität
gewonnen. Bei Datensätzen
mit fester Abtastlänge
werden die Anzahl der gleichzeitigen Kanäle oder Datenströme, die
Daten-Abtastfrequenz und die Abtastgröße aus der Datei gewonnen.
-
In Schritt 520 werden anhand
der aus der Datei erhaltenen Daten die Dienstqualitätsparameter berechnet.
Diese Parameter werden ermittelt, um die Dateien zu lesen. Die Parameter könnten jedoch auch
ermittelt werden, um in die Dateien zu schreiben. Üblicherweise
werden die Dienstqualitätsparameter
für den
Lesedurchsatz und den Lesedatenblock ermittelt. Datendurchsatz bezeichnet
die durchschnittliche Anzahl der Bits oder Bytes, die pro Sekunde übertragen
werden müssen,
um eine Echtzeitnutzung der Daten zu ermöglichen. Als Faktoren spielen
dabei die Anzahl der Kanäle
(Mono, Stereo oder Mehrkanal), die Abtastfrequenz und die Abtastgröfle eine
Rolle. So kann der Datendurchsatz z. B. gleich der Anzahl der Datenströme mal der
Abtastfrequenz mal der Abtastgröße sein.
Das bedeutet, dass ein Stereosignal mit einer Abtastfrequenz von
44 Kilohertz und einer Abtastgröße von 16
Bit pro Abtastung für
eine Musikdatei in CD-Qualität
bei einem Datendurchsatz von 176 Kilobyte pro Sekunde verwendet
werden kann. Zusätzlich
können
weitere QoS-Parameter wie Datenblock, Mindestdatendurchsatz, maximaler
Datendurchsatz oder andere Werte berechnet werden. Als Datenblock
wird die Datenmenge bezeichnet, die üblicherweise innerhalb einer kurzen
Zeitspanne übertragen
wird. Es können
auch weitere Parameter ermittelt werden, zu denen verschiedene Abweichungswerte
für Dateien
mit variabler Abtastlänge
gehören.
So könnten
beispielsweise ein durchschnittlicher Datendurchsatz und eine Standardabweichung
vom Datendurchsatz ermittelt werden. Zur Ermittlung dieser Parameter
wird die zu übertragende
Datenmenge ermittelt. Danach kehrt die. Verarbeitung zu 7A zurück, wo die Parameter als erweiterte
Attribute der Datei gespeichert werden.
-
7C ist
ein Ablaufdiagramm, das ein bevorzugtes Verfahren für die Ermittlung
der Dienstqualitätsparameter
für Dateien
mit variabler Abtastlänge zeigt
(d. h. Dateien, bei denen jede Abtastung eine variable Länge aufweist
und die üblicherweise über einen
Anfangssatz verfügen,
der die Datensätze
beschreibt).
-
In Schritt 600 werden das
Dateianfangsetikett und das Dateiendetikett gelesen, sofern vorhanden.
In Schritt 610 wird aus den Daten im Anfangs- oder Endetikett
der Datei die Anzahl der Vollbilder in der Bilddatei ermittelt.
In Schritt 620 wird auch die Bildfrequenz ausgehend von
den Daten im Anfangs- oder Endetikett der Datei ermittelt. So weisen
NTSC-Signale (National Television Standard Committee) z. B. eine
Bildfrequenz von 29,97 Vollbilder pro Sekunde und Signale, die der
PAL-Fernsehnorm entsprechen, eine Bildfrequenz von 25 Vollbildern
pro Sekunde auf. In Schritt 630 wird das erste Vollbild
der Datei gelesen. In Schritt 640 wird die Anzahl der Bytes
in dem Vollbild berechnet und gespeichert. In Schritt 650 wird
ermittelt, ob es sich um das letzte Vollbild der Datei handelt.
Wenn dies nicht der Fall ist, kehrt die Verarbeitung zu Schritt 630 zurück, um das nächste Vollbild
zu lesen und daraus Daten zu gewinnen. Wenn dies der Fall ist, werden
in Schritt 660 die verschiedenen Dienstqualitätsparameter
einschließlich
Datendurchsatz und Datenblock berechnet. Danach kehrt die Verarbeitung
zu 7A zurück, wo in Schritt 450 die
Dienstqualitätsparameter
als erweitertes Attribut der Datei gespeichert werden.
-
Ermitteln der Netzwerkkapazität Vor der
Reservierung von Ressourcenkapazität sollte für die verschiedenen Typen von
Netzwerken und anderen Ressourcen vorzugsweise die reservierbare
Kapazitätsmenge
ermittelt werden. Die Ressourcenkapazität kann durch eine Abfrage des
Systembedieners einfach erhalten werden. Möglicherweise kennt der Bediener
jedoch die Kapazität
nicht, oder die Kapazität hat
sich seit der Bedienerabfrage geändert.
So kann ein Netzwerk beispielsweise langsamer geworden sein, weil
mehr Clients zum Netzwerk hinzugefügt wurden, wodurch die Netzbelastung
gestiegen ist. Zur Ermittlung der Ressourcenkapazität kann aber
auch festgestellt werden, welche Ressourcen zur Verfügung stehen.
So kann ein Hostsystem z. B. beim erstmaligen Programmladen feststellen,
welche Ressourcen im System vorhanden sind (dies wird mitunter auch
als „Sniffing" bezeichnet). Danach kann
das Hostsystem die festgestellten Ressourcen mit einer Tabelle vergleichen,
die alle Kapazitäten
für alle
Typen von Ressourcen enthält,
um so die Ressourcenkapazität
zu ermitteln. Die Ressourcenkapazität kann darüber hinaus ermittelt werden,
indem bestimmte Bewertungshilfsmittel ausgeführt werden, anhand derer die
tatsächliche
Kapazität
der Ressourcen festgestellt wird. Dazu gehört z. B. die Ausführung einer
Folge von Lese- und Schreiboperationen für ein Plattenlaufwerk, um dessen
Kapazitäten
zu ermitteln.
-
Reservieren von Dienstqualität
-
8 ist
eine Darstellung einer Reservierungstabelle 800, die von
dem Ressourcenreservierungssystem verwendet wird, um gemäß einer
bevorzugten Ausführungsform
der Erfindung Ressourcenreservierungen zu verarbeiten. Die Reservierungstabelle
führt eine
jede Ressource 810, ihren Einbauplatz 820 und
ihre für
die Reservierung zur Verfügung stehenden
Kapazitäten 830 auf.
Die Reservierungstabelle enthält
außerdem
eine variable Anzahl von Reservierungen 840 für jede Ressource.
So verfügt z.
B. ein Ethernetadapter in Adaptersteckplatz Nr. 1 über eine
Kapazität
von 2 Megabyte pro Sekunde und zwei Reservierungen für diese
Kapazität. Die 9A und 9B bilden ein Ablaufdiagramm, das ein bevorzugtes
Verfahren für
die Reservierung einer gewünschten
Dienstqualität
für verschiedene
Ressourcen zeigt. Dieser Reservierungsprozess wird vorzugsweise
für gewünschte Dateien, üblicherweise Multimedia-
oder andere Dateitypen, die einen unterbrechungsfreien Dienst benötigen, durchgeführt, wenn
diese Dateien geöffnet
werden. Der unten beschriebene Prozess kann jedoch auch verwendet werden,
um Dienstqualität
für gewünschte Sitzungen oder
Anwendungen bereitzustellen. Die unten genannten Verarbeitungsschritte
finden üblicherweise statt,
wenn das Hostsystem von einem Anwendungsprogramm eine Anforderung
empfängt,
eine Datei zu öffnen
und über
das Netzwerk zu übertragen.
Diese Anforderung kann in Form eines Lese-, Schreib- oder anderweitigen
Befehlstyps vorliegen. Üblicherweise befindet
sich das Anwendungsprogramm, das die Anforderung ausgibt, auf einem
Clientsystem des Netzwerks und benötigt den Inhalt der Datei.
-
In Schritt 900 wird die
Anforderung eines Anwendungsprogramms empfangen, eine Datei, die
im Netzwerk verwendet werden soll, auf dem Hostsystem zu öffnen. Bei
der Datei kann es sich um einen Dateityp handeln, der für die Aufrechterhaltung
der Dienstqualität
eine Reservierung benötigt,
oder das Anwendungsprogramm kann eine Reservierung für die Datei
anfordern. Bei der bevorzugten Ausführungsform erkennt das Hochleistungsdateisystem (HPFS)
eine Datei, die eine Reservierung benötigt, indem es die Erweiterung
der Datei mit einer Liste der Dateierweiterungen vergleicht, die
vom Ressourcenreservierungssystem (ARS) bereitgestellt wird. In Schritt 910 ermittelt
das HPFS, ob die Datei über
erweiterte Attribute verfügt.
Wenn dies nicht der Fall ist, fährt
die Verarbeitung mit Schritt 915 fort. Wenn erweiterte
Attribute für
die Datei vorhanden sind, liest das HPFS in Schritt 930 die
erweiterten Attribute in den Speicher ein. In Schritt 940 ermittelt
das HPFS, ob Dienstqualitätsparameter
(QoS-Parameter)
in den erweiterten Attributen enthalten sind. Wenn nicht, kehrt
die Verarbeitung zu Schritt 915 zurück. In Schritt 915 ermittelt
das RRS, ob für
die angeforderte Datei Standardparameter vorhanden sind. Wenn ja, werden
die Dienstqualitätsparameter
aus der Standardtabelle gelesen. Wenn keine Standardparameter vorhanden
sind, gibt es für
die Datei keine Dienstqualitätsparameter,
und die Datei wird normal geöffnet. Bei
einer alternativen Ausführungsform
kann das Hostsystem nun Dienstqualitätsparameter für die Datei
ermitteln, wobei dies auf Anforderung durch das Clientsystem stattfinden
kann. Bei dieser alternativen Ausführungsform fährt die
Verarbeitung mit dem weiter unten beschriebenen Schritt 950 fort.
-
Wenn in den erweiterten Attributen
der Datei oder in der Standardtabelle Dienstqualitätsparameter gefunden
oder ermittelt werden, fährt
die Verarbeitung unter Verwendung des Ressourcenreservierungssystems
fort, eine Reservierung für
die Datei vorzunehmen. In Schritt 950 wird auf der Platte
eine Reservierung vorgenommen, um die die für die Datei benötigten Dienstqualitätsparameter
zu erfüllen.
So kann ein Videodatenstrom z. B. 150 Kilobyte pro Sekunde benötigen, während eine
Platte eine Bandbreite von 1,8 Megabyte pro Sekunde haben kann.
In diesem Schritt wird auf der Platte eine Reservierung von 150
Kilobyte pro Sekunde vorgenommen. Wenn in Schritt 955 festgestellt
wird, dass die Reservierung nicht erfolgreich vorgenommen werden
konnte, ist die Dateiöffnung
fehlgeschlagen, und die Verarbeitung kehrt zu Schritt 925 zurück. In Schritt 925 wird an
das Anwendungsprogramm, das die Dateianforderung ausgegeben hat,
ein Fehlersignal zurückgegeben.
Das Anwendungsprogramm kann dann anfordern, dass die Datei ohne
Reservierung geöffnet wird.
Bei einer alternativen Ausführungsform
kann der von dem entfernten System empfangene Befehl eine Anweisung
enthalten, die Datei auch dann zu öffnen, wenn die Dienstqualität nicht
reserviert wurde. Bei dieser alternativen Ausführungsform kehrt die Verarbeitung
zu Schritt 920 zurück,
um die Datei zu öffnen.
Wenn die Plattenreservierung erfolgreich war, wird in Schritt 960 eine
Busreservierung vorgenommen, um die Dienstqualitätsanforderungen für eine Datei
zu erfüllen.
So könnten
beispielsweise 150 Kilobyte pro Sekunde für einen auf dem Bus übertragenen
Videodatenstrom reserviert werden. Wenn in Schritt 965 festgestellt
wird, dass die Busreservierung fehlgeschlagen ist, kehrt die Verarbeitung
zu Schritt 925 zurück,
um ein Fehlersignal an das Anwendungsprogramm zu erzeugen. Wenn
eine Busreservierung erfolgreich vorgenommen wurde, wird in Schritt 970 Hauptspeicherplatz
reserviert, um die Dienstqualitätsanforderungen
der Datei zu erfüllen. So
kann es beispielsweise notwendig sein, 64 Kilobyte pro Sekunde zu
reservieren, damit der Lesepufferspeicher eine Videosystem-Leseoperation durchführen kann.
In Schritt 975 wird ermittelt, ob die Speicherreservierung
erfolgreich war. Wenn dies nicht der Fall ist, kehrt die Verarbeitung
zu Schritt 925 zurück. Andernfalls
fährt die
Verarbeitung mit. Schritt 980 fort, wo eine Netzwerkreservierung
vorgenommen wird, um die Dienstqualitätsanforderungen der Datei zu
erfüllen.
So kann für
einen Videodatenstrom z. B. eine Netzwerkreservierung von 1,2 Megabyte
pro Sekunde notwendig sein. Wenn in Schritt 985 festgestellt
wird, dass die Netzwerkreservierung nicht erfolgreich war, kehrt
die Verarbeitung zu Schritt 925 zurück, um ein Fehlersignal an
das Anwendungsprogramm zurückzugeben.
Andernfalls wird in Schritt 990 die Datei geöffnet, und
es wird ein Erfolgssignal an das anfordernde Anwendungsprogramm
zurückgegeben,
das anzeigt, dass die Datei mit der reservierten Dienstqualität zur Verfügung steht.
-
Ein Hauptvorteil der vorliegenden
Erfindung besteht darin, dass eine Datei erst dann für die Übertragung
geöffnet
werden kann, wenn eine Reservierung vorgenommen wurde. Das Öffnen einer
Datei für
die anschließende Übertragung
ist eine Operation, die eine erhebliche Arbeitslast für das Hostsystem
mit sich bringt. In üblichen
Datenverarbeitungssystemen muss ein Dateiverzeichnis auf dem Hostsystem
gelesen werden, und Steuerstrukturen für den Zugriff auf die Datei
müssen
eingerichtet werden. Diese Arbeitslast wirkt sich besonders nachteilig
aus, wenn das Hostsystem durch eine Vielzahl von Anforderungen an
seine Systemressourcen bereits stark ausgelastet oder überlastet
ist. Die vorliegende Erfindung trägt somit zur Verringerung dieser
Last bei, indem keine Dateiöffnung
angefordert wird, wenn die Ressourcen nicht vorhanden sind.
-
Obwohl die vorliegende Erfindung
auf den vorhergehenden Seiten ausführlich mit Blick auf bestimmte
Ausführungsformen
beschrieben wurde, dürfte
es für
den Fachmann offensichtlich sein, dass auch alternative Ausführungsformen
möglich
sind.