-
Dieser
Anmeldung hegen die am 27. Dezember 1996 angemeldete
Japanische Patentanmeldung Nr. 8-349939 und
die am 13 März
1997 angemeldete
Japanische
Patentanmeldung Nr. 9-059600 zugrunde
-
HINTERGRUND DER ERFINDUNG
-
a) Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Datenkommunikations-Techniken
und insbesondere auf Echtzeit-Datenkommunkations-Techniken. Eine "Echtzeit"-Antwort auf ein
Ereignis findet im wesentlichen simultan zu dem Ereignis selbst
statt. Bei Nachrichtenübertragungen
bedeutet jedoch, wegen der Zeitverzögerung für Übertragungszeit, Signalsynchronisation,
anderer erforderlicher Signalprozesse oder dergleichen, dass "Echtzeit" nicht genau simultan
ist.
-
b) Beschreibung von verwandtem Stand der
Technik
-
Als
Standard-Spezifikation für
Nachrichtenübertragungen
zwischen elektronischen Musikinstrumenten ist eine digitale Schnittstelle
für Musikinstrumente
(music instrumental digital interface = MIDI) bekannt. Elektronische
Musikinstrumente, die mit Schnittstellen der MIDI-Spezifikation
ausgerüstet
sind, können
miteinander durch Übertragen
von MIDI-Daten über
eine MIDI-Leitung kommunizieren.
-
Ein
elektronisches Musikinstrument überträgt zum Beispiel
MIDI-Daten eines Musikspiels von einem Spieler und ein anderes Musikinstrument
empfängt
dieses, um es wiederzugeben. Wenn ein elektronisches Musikinstrument
gespielt wird, kann ein anderes elektronisches Musikinstrument in
Echtzeit gespielt werden.
-
In
einem Kommunikations-Netzwerk, das eine Vielzahl von Universal-Computern
verbindet, werden verschiedene Arten von Daten übertragen. Zum Beispiel können Live-Musiktondaten
oder andere MIDI-Daten von einem Computer, welcher die Daten einmal
in seiner Speichervorrichtung, wie beispielsweise einer Festplatte,
speichert, über
das Kommunikations-Netzwerk auf einen anderen Computer übertragen
werden, welcher die empfangenen Daten in seiner Speichervorrichtung
speichert. Dies ist beispielsweise offenbart in Foss et al., „Routing
MIDI messages over Ethernet" (Zuleiten
von Nachrichten über
Ethernet) A. E. S. Journal, Vol. 44 No. 5, Mai 1996, Seiten 406–415. Ein
allgemeines Kommunikations-Netzwerk ist jedoch ausgelegt, um nur allgemeine
Datenkommunikation durchzuführen,
und ist nicht ausgelegt, um MIDI-Daten
richtig zu bearbeiten.
-
Obgleich
die MIDI-Spezifikation gestattet, dass die "Echtzeit"-Nachrichtenübertragung zwischen elektronischen
Musikinstrumenten durchgeführt
wird, ist sie speziell für
Nachrichtenübertragung über eine
weite Entfernung und Kommunikation über eine Anzahl von Knoten
nicht geeignet. Das allgemeine Kommunikations-Netzwerk ist im wesentlichen
so ausgelegt, einen Betrieb für
Fernkommunikation und Vielfachknoten-Kommunikation bereitzustellen, trägt aber
nicht einer "Echtzeit"-Kommunikation zwischen
elektronischen Musikinstrumenten Rechnung.
-
Echtzeit-Kommunikation
von Musikinformation braucht eine große Informationsmenge pro Zeiteinheit und
der Verkehr der Kommunikationsleitung wird stark. Im Vergleich mit
Punkt zu Punkt-Kommunikation ist es wahrscheinlicher, dass die Punkt
zu Mehrfachpunkt-Kommunikation von Musiktondaten den starken Verkehr von
Kommunikationleitungen hervorruft. Der starke Verkehr von Kommunikationsleitungen
erzeugt eine Übertragungsverzögerung und
behindert ein Echtzeit-Musikspiel.
-
KERN DER ERFINDUNG
-
Es
ist daher ein Ziel der vorliegenden Erfindung, Techniken von Musiktondaten-Kommunikation zu schaffen,
die ein Echtzeitmusikspiel bei Mehrfachknoten ausführen können.
-
Es
ist ein weiteres Ziel der vorliegenden Erfindung, Techniken zur
Daten-Kommunikation
zu schaffen, die einen starken Verkehr von Kommunikationsleitungen
vermeiden können.
-
Gemäß der Erfindung
werden eine Vorrichtung wie in Anspruch 1, ein Verfahren wie in
Anspruch 16 und ein Speichermedium wie in Anspruch 17 beansprucht.
-
Es
wird ein Musiktondaten-Kommunikationssystem bereitgestellt, das
Sendemittel, zum Übertragen von
eingegebenen MIDI-Daten in Echtzeit über ein Kommunikationsnetzwerk
aufweist.
-
Es
wird ein Daten-Kommunikationssystem bereitgestellt, aufweisend:
Empfangsmittel zum Empfangen von Daten; Zugriffsprüfmittel
zum Prüfen
der Anzahl der extern beanspruchten Kommunikationslinien; und Übertragungsmittel,
die in der Lage sind, die Menge der Daten, die von den Empfangsmitteln
empfangen werden entsprechend der Zahl der extern beanspruchten
Kommunikationslinien zu reduzieren und die reduzierten Daten an
die extern beanspruchte Kommunikationslinie zu übertragen.
-
Wenn
die Zahl der beanspruchten Kommunikationslinien groß ist, wird
die Menge der empfangenen Daten reduziert, um den Verkehrsstau abzumildern;
wenn jedoch die Zahl der Kommunikationslinien, auf die zugegriffen
wird, klein ist, ist es nicht immer erforderlich, die Datenmenge
zu reduzieren.
-
Ferner
wird ein Kommunikationssystem bereitgestellt, das eine Vielzahl
von Kommunikationsgeräten aufweist,
von denen jedes Empfangsmittel und Sendemittel aufweist, wobei:
die Empfangsmittel der Vielzahl von Kommunikationsgeräten die
gleichen Daten empfangen; die Sendemittel der Vielzahl von Kommunikationsgeräten die
Menge von Daten, die von den Empfangsmittel empfangen werden, reduzieren
können
und die reduzierten Daten übertragen
können;
und die Daten, die durch eine der Kommunikationsvorrichtungen reduziert
wurde, sich unterscheidet von den Daten die von einem anderen der
Kommunikationsgeräte
reduziert worden ist.
-
Da
die Daten, die von einem und einem anderen der Kommunikationsvorrichtungen
reduziert worden sind, unterschiedlich sind, ist die Qualität der von
dem jeweiligen Gerät übertragenen
Daten unterschiedlich. Beispielsweise kann der Datentyp oder der
Reduktionsfaktor der reduzierten Daten bei jeder Kommunikationsvorrichtung
unterschiedlich sein. Deswegen kann ein Benutzer Daten einer gewünschten
Qualität
dadurch erhalten, dass er auf eine geeignete Kommunikationsvorrichtung
zugreift.
-
Ferner
wird ein Musiktondatenkommunikationsverfahren bereitgestellt, das
die Schritte aufweist: (a) Übertragen
von MIDI-Daten über
ein Kommunikationsnetzwerk; und (b) Empfangen der übertragenen
MIDI-Daten und Weiterleitung der empfangenen MIDI-Daten an einen
Tongenerator in Echtzeit.
-
MIDI
Daten können
zu einer Anzahl Knoten unter Verwendung des Kommunikationsnetzwerks übertragen
werden. Bei jedem Knoten werden die MIDI-Daten in Echtzeit reproduziert, um Musiktöne zu erzeugen.
-
Es
wird auch ein Musiktondatenkommunikationsverfahren bereitgestellt,
aufweisend die Schritte: (a) Übertragen
von MIDI-Daten; und (b) Übertragen
von Wiederherstellungsdaten nachdem die MIDI-Daten übertragen
worden sind, wobei die Wiederherstellungsdaten anzeigen, dass die Übertragung
der MIDI-Daten fortgesetzt wird.
-
Wenn
es keinen Übertragungsfehler
gibt, können
die übertragenen
MIDI-Daten korrekt bei einer Partner-Kommunikationsvorrichtung empfangen
werden. Wenn es einen Übertragungsfehler
gibt, können
die übertragenen
MIDI-Daten nicht korrekt bei einer Partner-Kommunikationsvorrichtung
empfangen werden. Auch in einem solchen Fall kann der Kommunikationsfehler
durch Übertragung
der Wiederherstellungsdaten repariert werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine schematische Abbildung, die ein Musiktondaten-Kommunikations-Netzwerk zeigt.
-
2 ist
ein Blockschaltbild, das die Hardware-Struktur einer Kodiereinheit
und eines Homecomputers zeigt.
-
3 ist
ein Ablaufdiagramm, das ein Verfahren zeigt, welches MIDI-Daten-Kommunikationsfehler behandelt.
-
4 zeigt
das Format eines Kommunikationspakets.
-
5 ist
ein Flußdiagramm,
das die Operation eines durch eine Kodiereinheit auszuführenden Übertragungsprozesses
veranschaulicht.
-
6A und 6B sind
Flußdiagramme,
die die Operation eines durch die Dekodiereinheit auszuführenden
Unterbrechungsprozesses zeigt, wobei das Flußdiagramm von 6A einen Übertragungsprozess von
Rückgewinnungs-Tastendaten
und das Flußdiagram
von 6B einen Übertragungsprozess
von Rückgewinnungs-Tongenerator-Einstellungsdaten
veranschaulicht.
-
7 ist
ein Flußdiagramm,
das die Operation eines durch einen Homecomputer auszuführenden Empfangsprozesses
veranschaulicht.
-
8 ist
ein Flußdiagramm,
das Details eines Ereignisprozesses von Schritt SD6 aus 7 zeigt.
-
9 ist
ein Flußdiagramm,
das die Operation eines durch einen Homecomputer auszuführenden
Unterbrechungsprozesses zeigt.
-
10 ist
eine schematische Abbildung, die die Struktur eines Speichers eines
Proxy-Servers zeigt.
-
11 ist
eine graphische Darstellung, die das Verhältnis von Anzahl von Zugriffen
zu einem Ausdünnungsindex
zeigt.
-
12 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn ein Anwender auf den Proxy-Server zugreift.
-
13 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn ein Anwender einen Zugriff auf den Proxy-Server freigibt.
-
14 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn dieser Daten von einem Haupt-Server empfängt.
-
15 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn dieser Rückgewinnungsdaten
ausdünnt.
-
16 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn dieser vorzugsweise Taste-AUS-Ereignisdaten überträgt.
-
17 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn dieser Daten durch Löschen
von Bilddaten überträgt.
-
18 ist
ein Flußdiagramm,
das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist,
wenn dieser Daten durch Herabsetzen einer Auflösung der Daten überträgt.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 zeigt
ein Musiktondaten-Kommunikations-Netzwerk.
-
In
einem Konzertsaal 1 sind ein MIDI-Musikinstrument 2,
eine Kamera 4, Kodiereinheiten 3 und 5 und ein
Router 6 installiert. Das MIDI-Instrument 2 wird
von einem Spieler in dem Konzertsaal 1 gespielt. Das MIDI-Musikinstrument 2 ist
ein elektronisches Musikinstrument mit einer MIDI-Schnittstelle,
es erzeugt MIDI-Daten in Echtzeit in Entsprechung zu dem Spiel durch
den Spieler und liefert diese zu der Kodiereinheit 3. Die Kodiereinheit 3 überträgt ein Paket
von MIDI-Daten eines vorgegebenen Formats in Echtzeit in das Internet über den
Router 6. Das Datenformat wird nachfolgend bezugnehmend
auf 4 beschrieben.
-
Die
Kamera 4 nimmt ein Bild eines Spielers auf und liefert
es als Bilddaten zu der Kodiereinheit 5. Die Kodiereinheit 5 überträgt jedes
Paket von Bilddaten eines vorgegebenen Formats in das Internet über den Router 6.
Ein Mikrofon 13 tastet Töne eines Gesangs (Stimmendaten),
eines akustischen Musikinstrumentes (zum Beispiel eines Klaviers)
oder eines elektronischen Musikinstruments ab und liefert diese
Abtastdaten zu einer Kodiereinheit 14 als Tondaten. Die
Kodiereinheit 14 überträgt jedes
Paket von Tondaten eines vorgegebenen Formats in das Internet über den
Router 6. Das Datenformat wird nachfolgend bezugnehmend
auf 4 beschrieben.
-
Der
Router 6 überträgt MIDI-Daten
und Bilddaten in das Internet, was nachfolgend zu beschreiben ist. Die
Daten werden von dem Router 6 an den Haupt-Server 7 über eine öffenliche
Telefonleitung oder eine geleaste Telefonleitung und zu einer Vielzahl
von Proxy-Servern 12a, 12b, 12c, ...
und weiter zu einem world wide web (WWW)-Server 8 geliefert,
welcher Provider genannt wird.
-
Die
Proxy-Server 12a, 12b, 12c, ... werden
hier nachfolgend einzeln oder zusammengefaßt als ein Proxy-Server 12 bezeichnet.
Der Proxy-Server 12 wirkt so, dass die Verkehrsüberlastung
der Kommunikationsleitungen vermieden wird. Der Proxy-Server 12 steuert
die Menge von Daten, die von dem Haupt-Server 7 entsprechend
den Verkehrsbedingungen der Kommunikationsleitungen geliefert werden
und liefert reduzierte Daten an den WWW-Server 8. Wenn
zum Beispiel die Anzahl der Benutzer (Leitungen) groß ist, wird
entschieden, dass die Kommunikationsleitungen überlastet sind und die Daten
werden ausgedünnt,
um die Datenmenge zu reduzieren und die Verkehrüberlastung zu vermeiden.
-
Eine
Vielzahl von Proxy-Servern 12a, 12b, 12c,
... kann unterschiedliche Datenreduktionsmengen oder unterschiedliche
Datenreduzierungs-Verfahren haben. Die Datenreduktionsmenge beeinflußt die Ton- und
Bildqualitäten.
Je größer die
Datenreduktionsmenge ist, desto geringer sind die Ton- und Bildqualitäten.
-
Der
Proxy-Server 12a kann beispielsweise die Anzahl von zugreifenden
Benutzern einschränken,
um die Ton- und Bildqualitäten
zu verbessern, wogegen ein anderer Proxy-Server 12c die
Ton- und Bildqualitäten herabsetzen
kann, um die Anzahl zugreifender Benutzer zu erhöhen. Eine solche Funktion des
Proxy-Servers 12 kann die Verkehrsüberlastung der Kommunikationsleitungen
mindern.
-
Ein
Benutzer kann auf das Internet durch Verbinden seines Homecomputers 9 mit
dem WWW-Server 8 zugreifen, um MIDI-Daten und Bilddaten
in Echtzeit zu empfangen. Der hier verwendete Ausdruck "Homecomputer" (Heimcomputer) soll
für irgendeinen
Computer gelten, der für
ein "home = Heim"-Konzert entgegengesetzt
zu einem entfernter liegenden Konzertsaal verwendet wird. Der Homecomputer 9 weist
ein Anzeigegerät
zum Anzeigen von Bilddaten und einen externen oder eingebauten MIDI-Tongenerator (Tonquelle)
zum Erzeugen von Musiktonsignalen auf. Der MIDI-Tongenerator erzeugt Musiktonsignale
entsprechend den MIDI-Daten und liefert die Tonsignale zu einer
Tonausgabevorrichtung 11. Die Tonausgabevorrichtung 11 weist einen
D/A-Wandler, einen Verstärker
und einen Lautsprecher auf, um die Töne in Entsprechung zu den gelieferten
Tonsignalen wiederzugeben. Tondaten werden wiedergegeben, wobei
sie von einer analogen Form in eine digitale Form konvertiert, durch
einen Verstärker
verstärkt
und als Töne
von einem Lautsprecher wiedergegeben werden. Töne, die denen in dem Konzertsaal 1 gleich
sind, können
von der Tonausgabevorrichtung 11 in Echtzeit wiedergegeben
werden.
-
Wenn
ein externer MIDI-Tongenerator 10 verwendet wird, veranlaßt der Homecomputer 9,
dass der MIDI-Generator 10 Musiktonsignale erzeugt, und
die Tonausgabevorrichtung 11 gibt Töne wieder.
-
Da
die MIDI-Daten und Tondaten für
einen Anwender wichtiger sind als Bilddaten, werden die MIDI-Daten
und Tondaten mit einer Priorität
vor den Bilddaten verarbeitet. Obwohl ein Anwender sich über die Bilddaten
mit schlechter Bildqualität
und geringer Bildfolge nicht beeinträchtigt fühlt, ist es erforderlich; dass Toninformation
und Musiktoninformation von MIDI-Daten eine hohe Qualität aufweisen.
-
Ein
Anwender kann dem Musikspiel in Echtzeit zuhören, durch Verbinden des Homecomputers 9 mit dem
Internet, während
er jede Szene des Konzertsaals 1 auf der Anzeigevorrichtung
zu Haus betrachtet, ohne in den Konzertsaal 1 zu gehen.
Eine Anzahl von Benutzern können
zu Hause die in dem weiter entfernten Konzertsaal gespielte Musikaufführung genießen. MIDI-Daten
werden von dem Konzertsaal 1 zu jedem Benutzer so übertragen,
dass jeder Benutzer die Situation des Konzertsaals 1 gemeinsam
nutzen kann, als wenn der Spieler das elektronische Musikinstrument
zu Hause bei dem Benutzer spielte.
-
Der
Veranstalter eines Konzerts setzt eine vorgeschriebene Zahl des
Konzerts fest und verkauft Karten an die Anwender. Karten können Ränge aufweisen,
wie beispielsweise Rang A (Spezialplatz), Rang B (gewöhnlicher
Platz) und Rang C (Gallerie). Ein Anwender mit einer Rang A-Karte
kann beispielsweise auf den Proxy-Server 12a für einen
Empfang mit hoch qualitativer Ton- und Bildinformation zugreifen,
ein Anwender mit einer Rang B-Karte kann auf den Proxy-Server 12b für einen
Empfang von Ton- und Bildinformation mit einer reduzierten Datenmenge
zugreifen und ein Anwender mit einer Rang C-Karte kann auf den Proxy-Server 12c für einen
Empfang nur von Toninformation mit einer reduzierten Datenmenge
zugreifen.
-
Da
nicht eine Live-Musiktoninformation, sondern MIDI-Daten über das
Internet übertragen
werden, wird die Tonqualität
durch Geräusche
nicht herabgesetzt. Da jedoch eine Fern-Kommunikation über eine
Anzahl von Kommunikationsorte durch das Internet durchgeführt wird,
wird das folgende Verfahren, das sich mit Kommunikationsfehlern
befaßt,
erforderlich, wenn Daten von der Kodiereinheit 3 und 5 übertragen
werden und wenn Daten durch den Homecomputer 9 empfangen
werden. Kommunikationsfehler sind beispielsweise unter anderem eine
Datenänderung,
einen Datenverlust, eine Datenverdoppelung, eine Datensequenzänderung und
dergleichen.
-
2 zeigt
die Hardware-Struktur der Kodiereinheit 3 und 5 und
des Homecomputers 9, welcher ein Universalcomputer sein
kann.
-
Mit
einem Bus 31 sind eine Eingabevorrichtung 26,
wie beispielsweise eine Tastatur und eine Maus, eine Anzeigevorrichtung 27,
ein MIDI-Tongenerator 28, eine Kommunikations-Schnittstelle 29 zur
Verbindung mit dem Internet, eine MIDI-Schnittstelle 30, ein RAM 21,
ein ROM 22, eine CPU 23 und eine externe Speichervorrichtung 25 verbunden.
-
Verschiedene
Befehle können
von der Eingabevorrichtung 26 eingegeben werden. Bei dem
Homecomputer 9 zeigt die Anzeigevorrichtung 27 jede
Szene eines Konzertsaals an und der MIDI-Tongenerator 28 erzeugt
Musiktonsignale entsprechend den empfangenen MIDI-Daten und überträgt diese
zu einem externen Schaltkreis.
-
Die
Kommunikations-Schnittstelle 29 wird zur Übertragung
von MIDI-Daten und Bilddaten zu und von dem Internet verwendet.
Die MIDI-Schnittstelle 30 wird zur Übertragung von MIDI-Daten zu
und von einem externen Schaltkreis verwendet.
-
Die
externe Speichervorrichtung 25 kann ein Festplattenlaufwerk,
ein Floppy Disk-Laufwerk,
ein CD-ROM-Laufwerk, ein magnetooptisches Disk-Laufwerk oder dergleichen
sein und kann dort MIDI-Daten, Bilddaten, Computerprogramme und
dergleichen speichern.
-
Der
ROM 22 kann Computerprogramme, verschiedene Parameter und
dergleichen gespeichert haben. Ein RAM 21 weist einen Taste-EIN-Puffer 21a und
einen Tongenerator-Einstellpuffer 21b auf. Der Taste-EIN-Puffer 21a speichert
ein in MIDI-Daten
enthaltenes Taste-EIN-Ereignis, und der Tongenerator-Einstellpuffer 21b speichert
in MIDI-Daten enthaltene Tongenerator-Einstelldaten.
-
Der
RAM 21 weist auch Arbeitsbereiche, wie beispielsweise Puffer
und Register auf, um Daten in den ROM 22 und die externe
Speichervorrichtung 25 zu kopieren und zu speichern. In
Entsprechung zu den in dem ROM 22 oder RAM 21 gespeicherten
Computerprogrammen führt
die CPU 23 verschiedene Berechnungen und Signalbearbeitungen
durch. Die CPU 23 kann Zeittaktbefehle von einem Zeitgeber 24 holen.
-
Die
externe Speichervorrichtung 25 kann ein Festplattenlaufwerk
(hard disk drive = HDD) sein. Das HDD 25 kann verschiedene
Daten speichern, wie beispielsweise ein Anwendungsprogramm und MIDI-Daten. Wenn
es erforderlich ist, wird das Anwendungsprogramm nicht in dem ROM 22,
sondern auf einer in das HDD geladenen Festplatte gespeichert, dieses
Programm wird in den RAM 21 eingelesen, so dass die CPU 23 dieses
Anwendungsprogramm auf die gleiche Weise abarbeiten kann, als wenn
das Programm in dem ROM 22 gespeichert ist. Zusätzlich wird
in diesem Fall ein Aktualisieren und dergleichen eines Anwendungsprogramms einfacher.
Die externe Speichervorrichtung 25 enthält ein HDD und eine CD-ROM
(compakt-disk-read-only-memory)-Laufwerk,
welches verschiedene Daten lesen kann, wie beispielsweise ein auf
einer CD-ROM gespeichertes Anwendungsprogramm. Die gelesenen Daten,
wie beispielsweise ein Anwendungsprogramm, werden auf einem in dem
HDD geladenen Festplatte gespeichert. Installieren, Aktualisieren
und dergleichen eines Anwendungsprogramms werden einfacher. Andere
Arten von Laufwerken, wie beispielsweise ein Floppy Disk-Laufwerk,
ein magnetooptische (MO) Disk-Laufwerk, können als externe Speichervorrichtung 25 verwendet
werden.
-
Die
Kommunikations-Schnittstelle 29 ist mit einem Kommunikations-Netzwerk 32,
wie beispielsweise dem Internet, einem lokalen Netz (lokal area
network (LAN)) und einer Telefonleitung, und über das Kommunikations-Netzwerk 32 mit
einem Server-Computer 33 verbunden.
Wenn Anwendungsprogramme und Daten nicht auf einer in dem HDD 25 geladenen
Festplatte gespeichert sind, können
diese Programme und Daten von dem Server-Computer 33 heruntergeladen
werden. In diesem Fall überträgt ein Client,
wie beispielsweise die Kodiereinheit 3, 5 und
der Homecomputer 9, einen Befehl zum Herunterladen eines
Anwendungsprogramms oder von Daten an den Server-Computer 33 über die
Kommunikations-Schnittstelle 29 und das Kommunikations-Netzwerk 32.
Nach Empfang dieses Befehls liefert der Server-Computer 33 das angeforderte
Anwendungsprogramm oder Daten an den Client über das Kommunikations-Netzwerk 32,
wobei der Client diese über
die Kommunikations-Schnittstelle 29 empfängt und
auf der in dem HDD 25 geladenen Festplatte speichert.
-
Diese
Ausführungsform
kann in der Praxis auf einen kommerziell erhältlichen Personalcomputer reduziert
sein, in welchen Anwendungsprogramme und verschiedene Daten installiert
sind, die die Funktionen der Ausführungsform realisieren. Die
Anwendungsprogramme und verschiedene Daten können einem Anwender in Form
eines Speichermediums, wie beispielsweise einer CD-ROM und einer
Floppy Disk, welche der Personalcomputer lesen kann, zugeführt werden.
Wenn der Personalcomputer mit dem Kommunikations-Netzwerk verbunden
ist, wie beispielsweise dem Internet, einem LAN und einer Telefonleitung,
können
die Anwendungsprogramme und verschiedene Daten dem Personalcomputer über das
Kommunikations-Netzwerk zugeführt werden.
-
3 ist
eine schematische Abbildung, die ein Verfahren zum Behandeln von
Kommunikationsfehlern von MIDI-Daten zeigt, wobei ein Taste-EIN-Ereignis
bei einem hohen Pegel und ein Taste-AUS-Ereignis bei einem niedrigen
Pegel beispielhaft gezeigt sind.
-
In
diesem Beispiel wird ein Taste-EIN-Ereignis zu einem Zeitpunkt t1 übertragen
und ein Taste-AUS-Ereignis wird zu einem Zeitpunkt t4 übertragen.
Das zu dem Zeitpunkt t1 übertragene
Taste-EIN-Ereignis kann manchmal durch Kommunikationsfehler verlorengehen.
In einem solchen Fall kann der Homecomputer 9 auf der Empfängerseite
das Taste-EIN-Ereignis nicht empfangen und empfängt nur das Taste-AUS-Ereignis, so
dass ein richtiges Musikspiel nicht wiedergegeben werden kann. Der
Empfang von nur dem Taste-AUS-Ereignis ohne das Taste-EIN-Ereignis
entspricht nicht der Musikspielvorschrift.
-
Zur
Vermeidung eines solchen Falls während
der Periode nach der Übertragung
des Taste-EIN-Ereignisses zu dem Zeitpunkt t1 und vor der Übertragung
des Taste-AUS-Ereignisses
zu dem Zeitpunkt t4 werden Rückgewinnungsdaten
in einem vorgegebenen Zeitintervall in diesem Beispiel zu den Zeitpunkten
t2 und t3 periodisch übertragen.
-
Die
Rückgewinnungsdaten
sind Bestätigungsdaten,
welche die Empfängerseite
von einer Fortsetzung eines Taste-EIN-Zustands in Kenntnis setzen.
Sogar wenn das Taste- EIN-Ereignis
zu dem Zeitpunkt t1 nicht empfangen werden konnte, wird das Taste-EIN-Ereignis aktiviert,
wenn die Rückgewinnungsdaten
zu dem Zeitpunkt t2 empfangen werden, obgleich es eine geringe Verzögerung von
Zeitpunkt t1 gibt. Sogar wenn das Taste-EIN-Ereignis sowohl zu den
Zeitpunkten t1 als auch t2 nicht empfangen werden kann, wird es
in ähnlicher
Weise bei dem Zeitpunkt t3 aktiviert, wenn die Rückgewinnungsdaten empfangen
werden.
-
Im
allgemein schwächt
sich ein Musiktonsignal mit der Zeit ab. Es wird daher bevorzugt,
die Rückgewinnungs-Tastendaten
mit der Information einer herabgesetzten Geschwindigkeit (Lautstärke), die
dem Zeitverlauf entspricht, zu übertragen.
Die Geschwindigkeitsinformation ist immer in dem Taste-EIN-Ereignis
enthalten und wird zusammen mit dem Taste-EIN-Ereignis übertragen.
In diesem Beispiel werden Taste-EIN-Ereignisse (Rückgewinnungs-Tastendaten)
mit allmählich
herabgesetzten Geschwindigkeiten in der Reihenfolge der Zeitpunkte
t1, t2 und t3 übertragen.
-
Ein
Kommunikationsfehler eines Taste-EIN-Ereignisses kann daher durch
die Rückgewinnungs-Tastendaten
beseitigt werden. Ein Rückgewinnungs-Verfahren,
das zu verwenden ist, wenn das Taste-AUS-Ereignis zu dem Zeitpunkt
t4 verlorengeht, wird nachfolgend beschrieben.
-
Es
ist möglich,
Taste-AUS-Rückgewinnungsdaten
nach dem Taste-AUS-Ereignis ähnlich
dem Rückgewinnungs-Verfahren
für das
Taste-EIN-Ereignis zu übertragen.
Die Zeitdauer eines Taste-AUS ist jedoch viel länger als die eines Taste-EIN
jeder Taste der Tastatur. Wenn die Rückgewinnungs-Tastendaten nach
dem Taste-AUS-Ereignis übertragen
werden, bis das nächste
Taste-EIN-Ereignis auftritt, wird die Menge dieser Rückgewinnungsdaten übermäßig.
-
Die
Rückgewinnungs-Tastendaten
für das
Taste-EIN-Ereignis werden während
der Periode nach dem Taste-EIN-Zeitpunkt t1 und vor dem Taste-AUS-Zeitpunkt
t4 übertragen
und werden nicht nach dem Taste-AUS-Zeitpunkt t4 übertragen.
Dass die Rückgewinnungs-Tastendaten
nicht übertragen
werden, bedeutet, dass eine Taste-AUS-Ereignis bereits stattgefunden hat.
Wenn daher der Homecomputer 9 kein Taste-AUS-Ereignis zu dem
Zeitpunkt t4 empfangen kann, aber detektieren kann, dass die Rückgewinnungs-Tastendaten
nicht periodisch übertragen
werden, wird entschieden, dass der Tasten-Zustand gegenwärtig ein
Taste-AUS ist.
-
Wenn
die Rückgewinnungs-Tastendaten
nicht periodisch empfangen werden können während des Taste-EIN, kann der
Homecomputer 9 entscheiden, dass es einen Kommunikationsfehler
gegeben hat und aktiviert das Taste-AUS so, dass eine falsche Fortsetzung
der Tonwiedergabe vermieden werden kann. Die Beurteilung wird durch
Bezug auf den in 2 gezeigten Taste-EIN-Puffer 21a durchgeführt und
diesbezügliche Details
werden nachfolgend bezugnehmend auf das Flußdiagramm beschrieben.
-
Ähnlich zu
der Taste-EIN und Taste-AUS-Rückgewinnung
können
die Rückgewinnungs-Tongenerator-Einstelldaten
zur Rückgewinnung
von verlorengegangenen Rückgewinnungs-Tongenerator-Einstelldaten bezugnehmend
auf den in 2 gezeigten Torgenerator-Einstellpuffer 21b erhalten
werden.
-
4 zeigt
das Format eines Kommunikations-Pakets. Ein Kommunikations-Paket
wird von der in 1 gezeigten Kodiereinheit 3, 5 übertragen
oder von dem in 1 gezeigten Homecomputer 9 empfangen.
-
Das
Paket besteht aus einem Kopffeld 41 und einem Datenfeld 42.
Das Kopffeld 41 enthält
Kontrollsummen 43 von zwei Wörtern (ein Wort ist 16 Bits),
Daten ID 44 von vier Wörtern,
eine Sequenznummer 45 von vier Wörtern, Zeitdaten 46 von
vier Wörtern
und eine Ereignisdatenlänge 47 von
zwei Wörtern.
-
Die
Kontrollsummen 43 sind repräsentative Werte aller Daten
in dem Kopffeld 41 mit Ausnahme der Kontrollsummen und
in dem Datenfeld 42. Die Übertragungsseite berechnet
diese repräsentativen
Werte und überträgt ein Paket,
das den Kontrollsummen 43 hinzugefügt ist. Die Empfangsseite berechnet
die repräsentativen
Werte von Daten in dem Paket wieder und prüft, ob die wieder berechneten
repräsentativen
Werte sich mit den übertragenen
Kontrollsummen 43 decken. Wenn sie sich decken, wird entschieden,
dass es keinen Kommunikationsfehler gibt.
-
Das
Datum ID 44 ist eine Zahl zur Identifizierung der Art des
Datenfelds 42. Die Zahlen "0", "1" und "2" kennzeichnen
MIDI-Daten und die Zahl "3" kennzeichnet Bilddaten.
Die Zahl "0" kennzeichnet reale
Ereignisdaten (gewöhnliche
MDI-Daten), die Zahl "1" kennzeichnet die
Rückgewinnungs-Tastendaten
(3) und die Zahl "2" kennzeichnet
die Rückgewinnungs-Tongenerator-Einstelldaten.
-
Die
Sequenznummer 45 ist eine Nummer, die jedem Paket in der
sequentiellen Reihenfolge zugewiesen wird. Durch überprüfen der
Sequenznummer 45 kann die Empfangsseite die Pakete zurückgewinnen
oder neu ordnen, sogar wenn die Reihenfolge der Pakete sich durch
Kommunikationsfehler geändert
hat.
-
Die
Zeitdaten 46 kennzeichen eine Wiedergabezeit, wobei 1 ms
durch ein Bit repräsentiert
wird. Da diese Daten 46 vier Wörter aufweisen, kann die Zeitinformation
von 100 Stunden oder länger
gegeben werden. Die Verwendung dieser Zeitinformation 46 ermöglicht einen
simultanen Besuch einer Vielzahl von Konzertsälen. Einem simultanen Musikspiel
kann zu Hause zugehört
werden, durch das Zuweisen der Zeitinformation 46 als einer
Musikspielzeit in jedem Konzertsaal und durch Schaffen einer Synchronisation
zwischen einer Vielzahl von Konzertsälen. Obgleich die Zeitinformation 46 vorzugsweise
eine absolute Zeit ist, kann sie eine relative Zeit sein, die von
allen Konzertsälen
gemeinsam verwendet wird.
-
Die
Ereignisdatenlänge 47 kennzeichnet
die Länge
von Daten in dem Datenfeld 42.
-
Das
Datenfeld 42 enthält
reale Daten 48, welche MIDI-Daten oder Bilddaten sind.
Die MIDI-Daten enthalten die Rückgewinnungs-Tastendaten
und die Rückgewinnungs-Tongenerator-Einstelldaten.
-
Eine
hohe Kommunikationsgeschwindigkeit wird bevorzugt, zum Beispiel
64 kBits/s (ISDN). Die Datenlänge
eines Pakets ist nicht eingeschränkt.
Es sind vorzugsweise etwa 1 KBytes oder 512 Bytes unter dem Gesichtspunkt
der Kommunikationseffizienz.
-
5 ist
ein Flußdiagramm,
das die Operation eines durch die Kodiereinheit 3 auszuführenden Übertragungsprozesses
veranschaulicht.
-
In
Schritt SA1 werden MIDI-Daten von dem MIDI-Musikinstrument 2 empfangen.
In Schritt SA2 werden die empfangenen Daten im RAM 21 zwischengespeichert.
-
In
Schritt SA3 wird die Art eines Ereignisses der empfangenen Daten
geprüft.
Die Art eines Ereignisses schließt ein Tast-EIN-Ereignis, ein
Taste-AUS-Ereignis und ein Tongenerator-Einstelldaten-Ereignis ein. Wenn
die Art ein Taste-EIN ist, schreitet der Programmfluß zu Schritt
SA6 fort, in welchem das Taste-EIN-Ereignis in dem Taste- EIN-Puffer 21a (2)
registriert wird, worauf der Schritt SA7 folgt.
-
Wenn
die Art ein Taste-AUS ist, schreitet der Programmfluß zu Schritt
SA4 fort, in welchem der Taste-EIN-Puffer 21a gesucht wird.
Wenn dort der gleiche Tastenkode (Tonhöhe) ist, wird das entsprechende
Taste-EIN-Ereignis aus dem Taste-EIN-Puffer 21a gelöscht, worauf
der Schritt SA7 folgt.
-
Wenn
die Art Tongenerator-Einstelldaten sind, schreitet der Programmfluß zu Schritt
SA5 fort, in welchem die Tongenerator-Einstelldaten in dem Tongenerator-Einstellpuffer 21b (2)
registriert werden, worauf der Schritt SA7 folgt. Die Tongenerator-Einstelldaten enthalten
Programmänderungsdaten,
Steuerdaten, Exklusiv-Nachrichtendaten
und dergleichen.
-
In
Schritt SA7 werden, wie in 4 gezeigt
ist, die empfangenen MIDI-Daten zu Kontrollsummen 43, Daten
ID (Nr. 0) 44, die reale Ereignisdaten bezeichnen, einer
Sequenznummer 45, Zeitddaten 46 des Zeitgebers 24 (2)
und einer Ereignislänge 47 addiert.
In diesem Fall können
eine Vielzahl von Ereignissen der gleichen Art, die zu im allgemeinen
der gleichen Zeit erzeugt werden, erfaßt werden und in einem zu übertragendes
Paket angeordnet werden. Nach Schritt SA7 wird der Übertragungsprozeß beendet.
-
Mittels
Verwendung des gleichen Prozesses überträgt die Kodiereinheit 4 Bilddaten.
In diesem Fall ist das Datum ID 44 Nr. 3.
-
6A und 6B sind
Flußdiagramme,
die den Unterbrechungsprozeß zeigen,
der von der Kodiereinheit 3 auszuführen ist. Dieser Unterbrechungsprozeß wird bei
einem vorgegebenen Intervall im Ansprechen auf den von dem Zeitgeber 24 zugeführten Zeittakt
durchgeführt.
Der Unterbrechungsprozeß wird
beispielsweise in einem Intervall von 100 bis 200 μs durchgeführt.
-
6A ist
ein Flußdiagramm,
das den Übertragungsprozeß der Rückgewinnungs-Tastendaten veranschaulicht.
-
In
Schritt SB1 wird der Taste-EIN-Puffer 21a (2)
gesucht. In Schritt SB2 werden die Taste-EIN-Ereignisdaten in den
Taste-EIN-Puffer 21a paketiert, wie in 4 gezeigt,
und als Rückgewinnungsdaten übertragen.
In diesem Fall wird eine Geschwindigkeit (Tonlautstärke), die
geringer ist als die, die in den Taste-EIN-Puffer 21a gespeicherten
Taste-EIN-Ereignisdaten enthalten ist, auf die Rückgewinnungsdaten eingestellt,
wobei die Geschwindigkeit um eine Größe geringer eingestellt wird,
die der verstrichenen Zeit vom Beginn des Taste-EIN-Ereignissses
entspricht.
-
Das
Datum ID 44 in dem Paket ist Nr. 1, wodurch die Rückgewinnungs-Tastendaten
bezeichnet sind. Die Sequenznummer 45 dieses Paket ist
die gleiche, wie die der realen Ereignisdaten (5).
Nachdem die Rückgewinnungs-Tastendaten übertragen
sind, wird der Prozeß vor
diesem Unterbrechungsprozeß wiederaufgenommen.
-
6B ist
ein Flußdiagramm,
das den Übertragungsprozeß der Rückgewinnungs-Tongeneratordaten veranschaulicht.
Eine relativ geringe Zeitgenauigkeit wird für diesen Übertragungsprozeß benötigt, so
dass der Prozeß in
einem Intervall durchgeführt
werden kann, das länger
ist als das des Rückgewinnungs-Tastendaten-Übertragungsprozesses (6A).
-
In
Schritt SC1 wird der Tongenerator-Einstell-Puffer 21b (2)
gesucht. In Schritt SC2 werden die Ereignisdaten in den Tongenerator-Einstell-Puffer 21b paketiert,
wie in 4 gezeigt, und als Rückgewinnungs-Tongenerator-Einstellinformation übertragen.
-
Das
Datum ID 44 in dem Paket ist Nr. 2, wodurch die Rückgewinnungs-Tongenerator-Einstelldaten bezeichnet
sind. Die Sequenznummer 45 dieses Paket ist die gleiche,
wie die der realen Ereignisdaten (5) und Rückgewinnungs-Tastendaten
(6A). Nachdem die Rückgewinnungs-Tongenerator-Einstelldaten übertragen
sind, wird der Prozeß vor
diesem Unterbrechungsprozeß wiederaufgenommen.
-
7 ist
ein Flußdiagramm,
das den durch den Homecomputer 9 auszuführenden Empfangsprozeß zeigt.
-
In
Schritt SD1 werden Daten aus dem Internet empfangen. In Schritt
SD2 werden die Kontrolllsummen 43 (4) in dem
empfangenen Paket überprüft. Wenn
sie sich nicht decken, liegt(liegen) ein Datenfehler oder Fehler
vor.
-
In
Schritt SD3 wird überprüft, ob das Überprüfungsergebnis
der Kontrollsummen normal oder fehlerhaft ist. Wenn ein Fehler vorliegt,
bedeutet dies, dass die Daten in dem Paket einen Fehler oder mehrere
haben, so dass der Programmfluß zu
Schritt SD9 fortschreitet, um den Prozeß zu beenden, ohne irgendeine
Operation durchzuführen.
Ein Nichtdurchführen
einer Operation und Verwerfen der Daten mit geringer Zuverlässigkeit
ist effektiv, da keine falsche Tonwiedergabe und Einstellung durchgeführt werden.
-
Wenn
die Kontrollsummen normal sind, sind die Daten in dem Paket zuverlässig, so
dass der Programmfluß zu
Schritt SD4 fortschreitet, in welchem die Sequenznummer 45 (4)
in dem Paket überprüft wird.
Bei normaler Kommunikation nimmt die Sequenznummer 45 jedesmal
zu, wenn ein Paket empfangen wird. Die Reihenfolge von Sequenznummern
der empfangenen Pakete ändert
sich jedoch, wenn es einen Kommunikationsfehler oder mehrere gibt.
-
In
Schritt SD5 wird geprüft,
ob die empfangenen Daten die richtige Sequenznummer 45 aufweisen
und die aktuelle Zeit des Homecomputers 9 die gleiche ist
oder eine spätere
als die Wiedergabezeit 46 (4). Bei einem
simultanen Besuch einer Vielzahl von Konzertsälen, kann es bei einem Konzertsaal
vorkommen, dass dessen Zeitdaten 46 noch nicht die Wiedergabezeit
sind. Wenn die aktuelle Zeit die gleiche wird wie die der Zeitdaten 46,
ist eine der vorherigen Überprüfungsbedingungen
erfüllt.
-
Wenn
die aktuelle Zeit vor der Wiedergabezeit 46 liegt, schreitet
der Programmfluß zu
Schritt SD10 fort, in welchem die empfangenen Daten im RAM zur Vorbereitung
auf einen späteren
Prozeß zum
richtigen Zeitpunkt gepuffert oder zwischengespeichert werden. Nach
Schritt SD10 wird der Empfangsprozeß beendet.
-
Wenn
es erforderlich ist, die empfangenen Daten wiederzugeben, schreitet
der Programmfluß zu Schritt
SD6, in welchem ein Ereignisprozeß ausgeführt wird. Der Ereignisprozeß wird für MIDI-Daten
und Bilddaten durchgeführt,
die Details desselben werden nachfolgend bezugnehmend auf das Flußdiagramm
aus 8 beschrieben.
-
In
Schritt SD7 wird die Sequenznummer vorwärtsgezählt. In Schritt SD8 wird überprüft, ob Daten
in dem Puffer in Schritt SD10 zwischengespeichert vorliegen, ob
die Daten die richtige Sequenznummer 45 aufweisen, und
ob die aktuelle Zeit des Homecomputers 9 die gleiche ist
oder eine spätere
als die Wiedergabezeit 46.
-
Wenn
keine wiederzugebenden Daten vorhanden sind, wird der Wiedergabeprozeß beendet,
wogegen wenn wiederzugebende Daten vorliegen, der Programmfluß zu Schritt
SD6 zurückkehrt,
um die vorhergehenden Prozesse bei Schritt SD6 und SD7 durchzuführen. Die
empfangenen Daten, deren Reihenfolge durch einen Kommunikations-Fehler
geändert
wurde, können
in der vorhergehenden Weise geeignet bearbeitet werden. Wenn der
Puffer keine wiederzugebenden Daten hat, wird der Empfangsprozeß beendet.
-
Wenn
Daten einer vorgegebenen Menge oder mehr in dem Puffer gespeichert
sind, wird entschieden, dass die Daten mit der am nächsten zu
bearbeiteten Sequenznummer verlorengegangen sind, der Prozeß für diese
Daten wird übersprungen
und der Prozeß für die Daten
mit der nächsten
Sequenznummer wird durchgeführt.
-
8 ist
ein Flußdiagramm,
das eine detaillierte Operation des Ereignisprozesses in Schritt
SD6 aus 7 zeigt.
-
In
Schritt SE1 wird die Nummer der Daten ID 44 (4)
geprüft.
Wenn die Nummer "0" ist, bedeutet das
reale Ereignisdaten und der Programmfluß schreitet zu Schritt SE2
fort, in welchem die Art des Ereignisses geprüft wird. Die Art eines Ereignisses
schließt
ein Taste-EIN-Ereignis, ein Taste-AUS-Ereignis und ein Tongenerator-Einstelldaten-Ereignis
ein.
-
Wenn
die Art des Ereignisses ein Taste-EIN ist, schreitet der Programmfluß zu Schritt
SE3, in welchem das Taste-EIN-Ereignis in dem Taste-EIN-Puffer 21a (2)
registriert und zu dem Tongenerator übertragen wird. Nach Empfang
des Taste-EIN-Ereignisses führt
der Tongenerator einen Prozeß zum
Starten einer Tonwiedergabe durch. Danach kehrt der Prozeß zu dem
in 7 gezeigten Schritt SD7 zurück.
-
Wenn
die Art des Ereignisses eine Taste-AUS ist, schreitet der Programmfluß zu Schritt
SE4, in welchem der Taste-EIN-Puffer 21 gesucht wird. Wenn
der gleiche Tastenkode (Tonhöhe)
vorhanden ist, wird das Taste-EIN-Ereignis in dem Taste-EIN-Puffer 21a gelöscht und
das Taste-AUS-Ereignis wird zu dem Tongenerator übertragen. Nach Empfang des
Taste-AUS-Ereignisses führt
der Tongenerator einen Prozeß zum
Stoppen einer Tonwiedergabe durch. Danach kehrt der Prozeß zu dem
in 7 gezeigten Schritt SD7 zurück.
-
Wenn
die Art des Ereignisses Tongenerator-Einstelldaten sind, schreitet
der Programmfluß zu
Schritt SE5, in welchem die Tongenerator-Einstelldaten in dem Tongenerator-Einstell-Puffer 21b (2)
registriert und zu dem Tongenerator übertragen werden. Nach Empfang
der Tongenerator-Einstelldaten stellt der Tongenerator eine Klangfarbe,
eine Tonlautstärke
und dergleichen ein. Danach kehrt der Prozeß zu dem in 7 gezeigten
Schritt SD7 zurück.
-
Wenn
die Nummer der Daten ID "1" ist, bedeutet das,
dass die empfangenen Daten Rückgewinnungs-Tastendaten
sind und der Programmfluß schreitet
zu Schritt SE6 fort, in welchem die Rückgewinnungs-Tastendaten mit
dem entsprechenden Taste-EIN-Ereignis
in dem Taste-EIN-Puffer 21a verglichen werden und verschiedene
Punkte zwischen diesen werden als ein neues Taste-EIN-Ereignis verwendet,
welches in dem Taste-EIN-Puffer 21a registriert und zu
dem Tongenerator übertragen
wird. Auf diese Weise kann ein durch einen Kommunikationsfehler
verlorengegangenes Taste-EIN-Ereignis
wiedergewonnen werden.
-
In
Schritt SE7 wird ein Empfang von Rückgewinnungs-Tastendaten registriert.
Diese Registrierung ermöglicht,
dass der Taste-EIN-Status bestätigt
wird, bis die Rückgewinnungs-Tastendaten
nach dem Taste-AUS nicht periodisch übertragen werden. Wenn die
Rückgewinnungs-Tastendaten
nicht periodisch übertragen
werden, sogar wenn ein Taste-EIN-Ereignis in dem Taste-EIN-Puffer
vorhanden ist, bedeutet dies, dass das Taste-AUS-Ereignis verlorengegangen
ist. Danach kehrt der Prozeß zu
dem in 7 gezeigten Schritt SD7 zurück.
-
Wenn
die Nummer der Daten ID "2" ist, bedeutet das,
dass die empfangenen Daten Tongenerator-Einstelldaten sind und der
Programmfluß schreitet
zu Schritt SE8 fort, in welchem die Rückgewinnungs-Tongenerator-Einstelldaten
mit den entsprechenden Tongenerator-Einstelldaten in dem Tongenerator-Einstell-Puffer 21b verglichen
werden und verschiedene Punkte zwischen diesen werden als ein neues
Tongenerator-Einstelldaten-Ereignis
verwendet, welches in dem Tongenerator-Einstell-Puffer 21b registriert
und zu dem Tongenerator übertragen
wird. Auf diese Weise können
durch einen Kommunikationsfehler verlorengegangene Tongenerator-Einstelldaten
wiedergewonnen werden. Danach kehrt der Prozeß zu dem in 7 gezeigten
Schritt SD7 zurück.
-
Wenn
die Nummer der Daten ID "3" ist, bedeutet das,
dass die empfangenen Daten Bilddaten sind und der Programmfluß schreitet
zu Schritt SE9 fort, in welchem ein Prozeß zum Anzeigen der Bilddaten
auf der Anzeigevorrichtung durchgeführt wird. Die Bilddaten werden
mit einer niedrigeren Priorität
als die MIDI-Daten bearbeitet. Grundsätzlich wird ein Anzeigebild
in der Einheit eines Rahmens bearbeitet. Um den MIDI-Daten eine
Priorität
vor den Bilddaten zu geben, kann das Anzeigebild ein stehendes Bild
sein. Danach kehrt der Prozeß zu
dem in 7 gezeigten Schritt SD7 zurück. Wenn die Nummer der Daten
ID "4" ist, bedeutet das,
dass die empfangenen Daten Tondaten sind und der Programmfluß schreitet
zu Schritt SE10 fort, in welchem ein Prozeß zur Wiedergabe der Tondaten
durchgeführt
wird.
-
9 ist
ein Flußdiagramm,
das die Operation eines Unterbrechungsprozesses zeigt, der von dem Homecomputer 9 auszuführen ist.
Dieser Unterbrechungsprozeß wird
in vorgebenen Intervallen im Ansprechen auf einen von dem Zeitgeben 24 zugeführten Zeittakt
durchgeführt.
Der Unterbrechungsprozeß wird
beispielsweise in einem Zeitintervall von 100 bis 200 μs durchgeführt.
-
In
Schritt SF1 wird der Taste-EIN-Puffer 21a (2)
gesucht. In Schritt SF2 wird von in dem Taste-EIN-Puffer 21a (2)
gespeicherten Taste-EIN-Ereignissen dasjenige Taste-EIN-Ereignis,
dem Rückgewinnungs-Tastendaten
für eine
vorgegebene Periode nicht übertragen
wurden, gelöscht
und ein Taste-AUS-Ereignis wird dem Tongenerator übertragen.
Nachdem das Taste-AUS-Ereignis übertragen
ist, kehrt der Prozeß zu
dem Prozeß zurück, welcher
vor diesem Unterbrechungsprozeß ausgeführt wurde.
Die vorgegebene Periode kann ein Zeitdauer sein, die zum Empfangen
der Rückgewinnungs-Tastendaten
wenigstens zweimal ausreicht.
-
Bei
dem vorhergehenden Rückgewinnungsprozeß kann eine
fehlerhafte Fortsetzung einer Tonwiedergabe vermieden werden, sogar
wenn ein Taste-AUS-Ereignis durch einen Kommunikationsfehler verlorengegangen
ist. Die Beurteilung, dass Rückgewinnungs-Tastendaten
für die
vorgegebene Periode nicht empfangen werden, wird möglich, weil
der Empfang der Rückgewinnungsdaten
in Schritt SE7 in 8 registriert wird.
-
Da
die Rückgewinnungs-Tastendaten
und Rückgewinnungs-Tongenerator-Einstelldaten
(nachfolgend werden beide Daten zusammen Rückgewinnungs-Daten bezeichnet) übertragen
werden, wird eine geeignete Rückgewinnung
gewährleistet,
sogar wenn Daten geändert
sind oder Daten verlorengegangen sind.
-
Als
Nächstes
wird ein Verfahren zum Herabsetzen der Verkehrsüberlastung von Kommunikationsleitungen
beschrieben. Für
die Übertragung
von Musikspieldaten und Rückgewinnungsdaten
fließt
eine ziemlich große
Datenmenge in einer Kommunikationsleitung des Netzwerkes. Die Anzahl
der Benutzer, die zum gleichen Zeitpunkt auf den Server zugreifen,
um an dem Musikkonzert teilzunehmen, ist ebenfalls sehr groß.
-
Unter
solchen Umständen
kann eine gleichmäßige Wiedergabe
eines Musikspiel durch den Homecomputer 9 jedes Benutzers
in einigen Fällen
unmöglich
werden. Um die Überlastung
von Kommuniationsleitungen herabzusetzen, reduziert jeder von einer
Vielzahl von in 1 gezeigten Proxy-Servern 12 die
Datenmenge entsprechend dem Überlastungsgrad
der Kommunikationsleitungen.
-
Wenn
die Datenmenge reduziert ist, wird die Tonqualität oder Bildqualität herabgesetzt.
In diesem Zusammenhang hat jeder Proxy-Server 12 einen
Daten-Reduktionfaktor,
ein Daten-Reduktionsverfahren und die Anzahl von zugreifenden Benutzern,
die für
diesen Proxy-Server 12 spezifisch ist.
-
Wenn
die Anzahl der auf den Proxy-Server 12 zugreifenden Benutzer
gering ist, reduziert der Proxy-Server die Datenmenge nicht, wogegen,
wenn die Anzahl der zugreifenden Benutzer groß wird, der Proxy-Server die
Datenmenge reduziert und reduzierte Daten überträgt.
-
Die
folgenden Verfahren können
zur Reduzierung der Datenmenge verwendet werden.
-
(1) Daten-Trennung
-
Der
Proxy-Server empfängt
die Musiktondaten (MIDI-Daten), Bilddaten und Toninformation (Audiodaten).
Die Bilddaten erfordern eine nicht so hohe Bildqualität, wie die
MIDI-Daten. Daher kann der Proxy-Server nur MIDI-Daten und Toninformation übertragen
mittels Trennen der empfangenen Daten in MIDI-Daten, Toninformation
und Bilddaten. Jede der MIDI-Daten, Toninformation und Bilddaten
kann in ähnlicher
Weise weiter getrennt werden, um nur notwendige Daten zu übertragen.
Der überlastete
Verkehr der Kommunikationsleitungen kann durch Übertragen nur der wichtigen
Daten entlastet werden.
-
(2) Daten-Diskriminierung
-
Der
Proxy-Server kann die Prioritäts-Reihenfolge
von Daten ermitteln und wichtige Daten vorzugsweise übertragen.
Insbesondere wenn Kommunikationsleitungen überlastet sind, werden nur
wichtige Daten während
dieser Periode übertragen
und während
einer späteren
Periode werden die nicht wichtigen Daten übertragen.
-
Obgleich
dieses Verfahren nicht die Gesamtdatenmenge reduziert, kann die
während
jeder Periode übertragene
Datenmenge reduziert werden.
-
Zum
Beispiel ist ein Verlust eines Taste-AUS-Ereignissses ein fataler
Fehler im Vergleich zu einem Verlust eines Taste-EIN-Ereignisses.
Das Taste-AUS-Ereignis hat einen höheren Grad an Wichtigkeit von
Daten. Der Proxy-Server kann das empfangene Datenpaket in ein Taste-AUS-Ereignis
und andere Daten trennen, um zuerst das Taste-AUS-Ereignis und dann die anderen Daten
zu übertragen.
-
Wenn
ein Paket sowohl ein Taste-EIN-Ereignis als auch ein Taste-AUS-Ereignis
enthält
und das aus dem Paket abgetrennte Taste-AUS-Ereignis zuerst übertragen
wird und dann das Taste-EIN-Paket übertragen wird, ist diese Übertragungsreihenfolge
nicht richtig. In diesem Fall werden daher beide Ereignisse vorzugsweise
nicht übertragen.
Wenn es gleichfalls irgendeine Diskrepanz bei einer bevorzugten Übertragung
gibt, wird eine notwendige Gegenmaßnahme erforderlich.
-
(3) Daten-Auflösungseinstellung
-
Um
die Datenmenge zu reduzieren, kann der Proxy-Server Daten in einer
niedrigen Auflösung
an den Benutzer übertragen.
Wenn beispielsweise die Tonlautstärke um eine Stufe ansteigt,
wenn die Zeit fortschreitet, werden die Daten mit einer niedrigen
Auflösung,
bei der die Lautstärke
um zwei Stufen ansteigt, mit der halben Datenmenge übertragen.
Die Auflösung
kann nicht nur für
die Tonlautstärke
sondern auch für
andere Steuerdaten (von den Steuereinheiten gelieferte Daten), wie
beispielsweise ein Tonhöhenereignis
und ein Aftertouch-Ereignis, herabgesetzt werden. Unterschiedliche
Auflösungen
können
entsprechend der Art einer Steuereinheit eingestellt werden, um
die Gesamtauflösung
einer Vielzahl von Steuerdaten-Sätzen
herabzusetzen.
-
(4) Zeit-Auflösungseinstellung
-
Die
Rückgewinnungsdaten
werden periodisch übertragen.
Der Proxy-Server kann daher die Periode der Übertragung von Rückgewinnungsdaten
verlängern,
um die Datenmenge zu reduzieren. Die Übertragungsrate der Bilddaten
kann herabgesetzt werden. Zum Beispiel können acht Bilder pro Sekunden
auf vier Bilder pro Senkunde herabgesetzt werden, um die Datenmenge
zu reduzieren.
-
Nachfolgend
wird der Proxy-Server beschrieben. Der Aufbau des Proxy-Servers
ist ähnlich
dem des in 2 gezeigten Computers. Der Tongenerator 28 und
die MIDI-Schnittstelle 30 sind
nicht notwendigerweise erforderlich.
-
10 zeigt
die Struktur eines RAM des in 1 gezeigten
Proxy-Servers 12.
-
Ein
RAM von jedem einer Vielzahl von Proxy-Servern 12a, 12b, 12c,
... speichert die folgenden Daten.
-
(1) Die Anzahl der aktuellen Zugriffe: 51
-
Die
Zahl 51 von aktuellen Zugriffen ist die Anzahl der Benutzer
(Kommunikation-Leitungen),
die momentan auf den Proxy-Server zugreifen, und ändert sich
mit der Zeit. Die Zugriffszahl wird anfänglich auf "0" eingestellt,
sie nimmt zu wie die Anzahl der zugreifenden Benutzer zunimmt und
nimmt ab wie die Anzahl der zugreifenden Benutzer abnimmt.
-
(2) Überlauf-Kennzeichen: 52
-
Das Überlauf-Kennzeichen 52 zeigt
an, ob der Proxy-Server in einem Überlauf-Zustand ist. Das Überlauf-Kennzeichen
wird anfänglich
auf "0" eingestellt, was
kein Überlauf
bedeutet. Wenn die Anzahl von auf den Proxy-Server zugreifender
Benutzer eine zulässige
Zugriffszahl 54, die später
zu beschreiben ist, erreicht, wird das Überlauf-Kennzeichen 52 auf "1" eingestellt.
-
(3) Aktueller Ausdünnungsindex: 53
-
Der
aktuelle Ausdünnungsindex
53 ist
ein aktuell eingestellter Ausdünnungsindex.
Dieser kennzeichnet einen Datenreduktion(nachfolgend auch als Datenausdünnung)-Index und ein Ausdünnungs-Verfahren. Der
Ausdünnungsindex
53 wird
anfänglich
auf eingestellt, was keine Daten-Ausdünnung bedeutet. Tabelle 1 zeigt
Beispiele von Ausdünnungsindices. Tabelle 1
Ausdünnungs-Index | Ausdünnungs-Verfahren |
0 | alle
Daten sind übertragen
(keine Ausdünnung) |
1 | Jedes
dritte Rückgewinnungs-Tongenerator-Einstelldatum
wird übertragen |
2 | Jedes
vierte Rückgewinnungs-Tongenerator-Einstelldatum
wird übertragen |
m | Jedes
dritte Rückgewinnungs-Tastendatum
wird übertragen |
n | Auflösung der
Steuerdaten wird auf 1/2 eingestellt |
n
+ 1 | Auflösung der
Steuerdaten wird auf 1/4 eingestellt |
z | Bildaten
werden nicht übertragen |
-
Eine
Kombination von irgendeinem der Ausdünnungs-Indices kann als ein
Ausdünnungsindex
verwendet werden.
-
(4) Zulässige Zugriffszahl: 54
-
Die
zulässige
Zugriffszahl 54 ist die Maximalanzahl von Benutzern (Kommunikationsleitungen),
die auf den Proxy-Server zugreifen können, und diese kann irgendeinen
gewünschten
Wert annehmen. Die zulässige Zugriffszahl
entspricht der maximalen Zugriffskapazität des Proxy-Servers.
-
(5) Zulässiger Ausdünnungsindex: 55
-
Der
zulässige
Ausdünnungsindex 55 ist
der maximal zulässige
Wert eines Ausdünnungsindex,
der von dem Proxy-Server erlaubt wird. Vorzugsweise ist der zulässige Ausdünnungsindex
der zulässige
Maximalwert einer Gesamtausdünnung durch
jedes gewichtete Ausdünnungs-Verfahren.
Der Ausdünnungsindex
entspricht zum Beispiel einem Ausdünnungsquotienten und je größer der
Index ist, desto größer ist
der Ausdünnungsquotient.
Jeder Proxy-Server kann seinen spezifischen zulässigen Ausdünnungsindex in Entsprechung
zu der Zugriffszahl bestimmen.
-
(6) Tabellennummer: 56
-
Die
Tabellennummer 56 ist die Nummer einer Tabelle, die eine
Korrespondenz zwischen der Zugriffszahl und dem Ausdünnungsindex
zeigt. 11 zeigt Beispiele von charakterischen
Kurven 60a, 60b und 60c von drei Tabellen.
Jede Tabelle zeigt eine Korrespondenz zwischen der Zugriffszahl
und dem Ausdünnungsindex.
Es wird bevorzugt, dass je größer die
Zugriffszahl ist, desto größer ist
der Ausdünnungsindex
und desto größer ist
die Datenreduktionmenge. Die charakterischen Kurven 60a bis 60c müssen nicht
notwendigerweise einen kontinuierlichen Wert annehmen, aber können einen
diskreten Wert annehmen. Der Wert des Ausdünnungsindex zeigt nicht immer
die Datenreduktionsmenge an, so dass es nicht zwigend erforderlich
ist, einen größeren Wert
anzunehmen, wenn die Zugriffszahl ansteigt. Diese Tabellen sind
in einem Speicher (z. B., einem RAM) gespeichert.
-
Eine
Vielzahl von Tabellen (z. B., drei Tabellen 60a bis 60c)
werden vorbereitet und die Nummer der Tabelle, die am geeignetsten
für den
Proxy-Server ist, wird als die Tabellennummer 56 verwendet.
-
(7) Adresse eines nächsten Anwärter-Proxy-Servers: 57
-
Die
Adresse eines nächsten
Anwärter-Proxy-Servers 57 ist
eine Adresse des nächsten
Anwärter-Proxy-Servers
in Verbindung mit den späteren Überläufen. Wenn
ein Benutzer auf einen Proxy-Server zugreift und dieser Server am Überlaufen
ist, wird dieser Zugriff automatisch auf den Proxy-Server umgeschaltet,
der durch die Adresse eines nächsten
Anwärter-Proxy-Servers
bezeichnet wird.
-
12 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn ein Benutzer auf
diesen zugreift.
-
In
Schritt SG1 werden, wenn ein Zugriff von einem Benutzen (Client)
festgestellt wird, die Prozesse in Schritt SG2 und die drauffolgenden
Schritte durchgeführt.
Beim Zugreifen auf den Proxy-Server, kann ein Benutzer MIDI-Daten,
Toninformation und Bilddaten erhalten.
-
In
Schritt SG2 wird überprüft, ob das Überlauf-Kennzeichen 52 (10) "0" oder "1" ist.
Wenn das Überlauf-Kennzeichen "1" ist, bedeutet dies, dass die Zugriffszahl
größer als
die zulässige
Zugriffszahl ist und der Programmfluß schreitet zu Schritt SG6.
-
In
Schritt SG6 wird der Zugriff auf den nächsten Anwärter-Proxy-Server, der durch
die Adresse eines nächsten
Anwärter-Proxy-Servers 57 (10)
bezeichnet wurde, umgeschaltet. Der Benutzer wird nämlich automatisch
auf den nächsten
Proxy-Server umgeschaltet. Wenn der nächste Anwärter-Proxy-Server ebenfalls
am überlaufen
ist, wird auf den zweiten nächsten
Anwärter-Proxy-Server
zugegriffen. Auf diese Weise wird, wenn der Proxy-Server, auf den
zugegriffen wird, überlastet
ist, der Zugriff automatisch auf den nicht überlasteten Proxy-Server umgelegt.
Nachdem der Zugriff auf eine anderen Proxy-Server umgelegt ist,
beendet der Proxy-Server, auf den zuerst zugegriffen wurde, seine
Operation.
-
Wenn
in Schritt SG2 entschieden wurde, dass das Überlauf-Kennzeichen "0" ist, bedeutet das, dass die Zugriffszahl
dieses Proxy-Servers kleiner als die zulässige Zugriffszahl ist und
der Programmfluß schreitet zu
Schritt SG3.
-
In
Schritt SG3 wird die aktuelle Zugriffszahl 51 (10)
um 1 inkrementiert. Die Zugriffszahl 51 ist die Anzahl
von Benutzern, die aktuell auf den Proxy-Server zugreifen. Jedesmal
wenn ein Zugriff von einem Benutzer zugelassen wird, inkrementiert
der Proxy-Server die Zugriffszahl 51 um 1.
-
Dann
wird unter Bezugnahme auf die Tabelle (11), die
durch die Tabellennummer 56 (10) bezeichnet
wird, der Ausdünnungsindex,
der der aktuellen Zugriffszahl 51 entspricht, erhalten
und in den Speicher als der aktuelle Ausdünnungsindex 53 geschrieben.
Wenn der erhaltene Ausdünnungsindex
der gleiche ist wie der vorher verwendete, kann die Schreiboperation
weggelassen werden. Wenn die Zugriffszahl groß wird, wird der Ausdünnungsindex
mit einem großen
Ausdünnungsquotienten
ausgewählt.
-
In
Schritt SG4 wird geprüft,
ob die aktuelle Zugriffszahl 51 die gleiche ist wie die
zulässige
Zugriffszahl 54 (10). Wenn
sie gleich ist, schreitet der Programmfluß zu Schritt SG5 fort, in welchem
das Überlauf-Kennzeichen 52 auf "1" eingestellt wird, um so die Zugriffszahl
nicht um mehr zu erhöhen
als die zulässige Zugriffszahl.
Wenn sie nicht gleich ist, wird das Überlauf-Kennzeichen auf "0" belassen. Die vorhergehende Operation
durch den Proxy-Server wird daher beendet.
-
13 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn ein Benutzer seinen Zugriff
freigibt.
-
Wenn
eine Zugriffsfreigabe durch einen Benutzer (Client) in Schritt SH1
festgestellt wird, werden die Prozesse in Schritt SH2 und drauffolgende
Schritte durchgeführt.
-
In
Schritt SH2, wird die aktuelle Zugriffszahl 51 (10)
um eins dekrementiert. Jedesmal wenn eine Zugriffsfreigabe durch
einen Benutzer festgestellt wird, dekrementiert der Proxy-Server
die Zugriffszahl 51 um 1.
-
Dann
wird unter Bezugnahme auf die Tabelle (11), die
durch die Tabellennummer 56 (10) bezeichnet
wird, der Ausdünnungsindex,
der der aktuellen Zugriffszahl 51 entspricht, erhalten
und in den Speicher als der aktuelle Ausdünnungsindex 53 geschrieben.
Wenn der erhaltene Ausdünnungsindex
der gleiche ist wie der vorher verwendete, kann die Schreiboperation
weggelassen werden. Wenn die Zugriffszahl klein wird, wird der Ausdünnungsindex
mit einem kleinen Ausdünnungsquotient
ausgewählt.
-
In
Schritt SH3 wird überprüft, ob das Überlauf-Kennzeichen 52 (10) "1" ist. Wenn das Überlauf-Kennzeichen "1" ist, schreitet der Programmfluß zu Schritt
SH4, um das Überlauf-Kennzeichen
auf "0" einzustellen, um
so einen neuen Zugriff zu erlauben. Wenn das Überlauf-Kennzeichen "0" ist, wird es auf "0" beibehalten.
Danach wird die vorher beschriebene Operation durch den Proxy-Server
beendet.
-
Das Überlauf-Kennzeichen
muß nicht
in Schritt SH3 geprüft
werden, und das Überlauf-Kennzeichen wird
auf "1" eingestellt, unabhängig davon
ob der Überlaufwert "1" oder "0" ist.
Auch in diesem Fall kann eine zu der vorhergehenden äquivalente
Operation realisiert werden.
-
14 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn dieser Daten von
dem Haupt-Server empfängt.
-
In
Schritt SI1 empfängt
der Proxy-Server Daten in Paketform von dem Haupt-Server 7 (1).
Die Daten enthalten Musiktondaten (einschließlich von Rückgewinnungsdaten), Toninformation
und Bilddaten. Der Proxy-Server empfängt Daten, die nicht ausgedünnt sind.
Bei einer Vielzahl von Proxy-Servern empfangen alle die gleichen
Daten.
-
In
Schritt SI2 wird in Entsprechung zu dem aktuellen Ausdünnungsindex 53 (10)
ein Ausdünnungs-Verfahren
(Zustand) ermittelt. Wenn zum Beispiel der Ausdünnungsindex "0" ist, werden die Daten nicht ausgedünnt.
-
In
Schritt SI3 werden in Entsprechung zu den ermittelten Ausdünnungs-Verfahren
die vorgegebenen Daten aus dem Datenfeld 42 (4)
des empfangenen Pakets gelöscht.
-
In
Schritt SI4 werden die Kontrollsummen 43, Datenlänge 47 und
dergleichen in dem Paket-Kopffeld 41 (4)
erneuert, um die Daten in Übereinstimmung
zu bringen, deren vorgegebene Daten gelöscht wurden.
-
In
Schritt SI5 wird das erneuerte Paket zu dem WWW-Server 8 (1) übertragen.
Der WWW-Server 8 empfängt
die vorgegebenen ausgedünnten
Daten. Alle die Proxy-Server,
die die gleichen Daten von dem Haupt-Server 7 empfangen,
können
unterschiedliche Ausdünnungsoperationen
durchführen,
um Daten zu dem WWW-Server
zu übertragen.
Die vorher beschriebenen Prozesse durch den Proxy-Server werden
danach beendet.
-
15 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn dieser die Rückgewinnungs-Daten
ausdünnt.
Wenn Rückgewinnungs-Daten
empfangen werden, wird ein Rückgewinnungs_Zeitregister
auf "0" eingestellt und
danach wird dieses um 1 inkrementiert, jedesmal wenn eine vorgegebene
Zeit verstrichen ist. Das Rückgewinnungs_Zeitgeberregister
zeigt die verstrichene Zeit an, nachdem die vorhergehenden Rückgewinnungs-Daten
empfangen werden.
-
In
Schritt SJ1 wird geprüft,
ob das von dem Haupt-Server 7 empfangene Paket Rückgewinnungs-Daten
sind. Die Überprüfung wird
durchgeführt
bezugnehmend auf die Daten ID 44 (4). Wenn
der Wert der Daten ID "1" oder "2" ist, ist das empfangene Paket Rückgewinnungs-Daten.
Dieses Flußdiagramm
zeigt die Operation des Ausdünnens
von Rückgewinnungs-Daten,
und wenn Daten, die nicht Rückgewinnungs-daten sind,
empfangen werden, wird dieser Prozeß sofort beendet. Wenn die
Rückgewinnungs-Daten
empfangen werden, schreitet der Programmfluß zu Schritt SJ2 fort.
-
In
Schritt SJ2 wird geprüft,
ob der Wert des Rückgewinnungs_Zeitgeberregisters
größer als
die Zeit ist, die von dem Ausdünnungsindex
bezeichnet wurde. Das Rückgewinnungs_Zeitgeberregister
zeigt die verstrichene Zeit an, nachdem die vorhergehenden Rückgewinnungs-Daten
empfangen wurden. Die durch den Ausdünnungsindex bezeichnete Zeit
entspricht der Periode des Übertragens
der Rückgewinnungs-Daten.
-
Wenn
der Wert des Rückgewinnungs_Zeitgeberregisters
größer als
die durch den Ausdünnungsindex bezeichnete
Zeit ist, schreitet der Programmfluß zu Schritt SJ3 fort.
-
In
Schritt SJ3 wird das empfangene Paket zu dem WWW-Server 8 übertragen.
In Schritt SJ4 wird das Rückgewinnungs_Zeitgeberregister
auf "0" eingestellt, um
den vorher beschriebenen Prozeß zu
beenden. Das Rückgewinnungs_Zeitgeberregister
wird einen vorgegebenen Zeitintervall durch einen Unterbrechungsprozeß vorwärtsgezählt. Dieser
Unterbrechungsprozeß wird
bei dem vorgegebenen Zeitintervall durch den in 2 gezeigten
Zeitgeber 24 freigegeben.
-
Wenn
in Schritt SJ2 entschieden wird, dass der Wert des Rückgewinnungs_Zeitgebers
nicht größer als
die durch den Ausdünnungsindex
bezeichnete Zeit ist, bedeutet dies, dass die vorgegebene Zeit noch
nicht verstrichen ist und der Programmfluß schreitet zu Schritt SJ5.
-
In
Schritt SJ5 wird das gesamte Datenfeld der empfangenen Daten gelöscht und
nur das Kopffeld wird belassen. In Schritt SJ6 wird das Paket, das
nur aus dem Kopffeld besteht zu dem WWW-Server 8 übertragen, um
danach die vorher beschriebenen Prozesse zu beenden.
-
Bei
der vorhergehenden Operation wird das Paket mit nur dem Kopffeld übertragen.
Stattdessen kann das Paket selbst nicht übertragen werden, um die Datenmenge
weiter zu reduzieren. In diesem Fall ist es jedoch erforderlich,
zu beurteilen, ob das Paket durch Ausdünnen gelöscht ist oder durch einen Kommunikationsfehler
verloren gegangen ist. Wenn das Paket durch einen Kommunikationsfehler
verlorengegangen ist, ist es notwendig, es zurückzugewinnen, wogegen wenn
es durch Ausdünnen
gelöscht
worden ist, ist es unnötig, es
zurückzugewinnen.
-
Anstelle
des Vorwärtszählens des
Wertes des Rückgewinnungs_Zeitgeberregisters
durch den Unterbrechungsprozeß,
kann die Anzahl der Empfänge
von Rückgewinnungs-Daten
aus dem Haupt-Server gezählt werden.
Zum Beispiel von drei Empfängen
von Rückgewinnungs-Daten
von dem Haupt-Server werden die Rückgewinnungs-Daten, die bei
den ersten und zweiten Malen empfangen wurden, gelöscht und
die Pakete mit nur dem Kopffeld werden übertragen und für die Rückgewinnungs-Daten,
die beim dritten Mal empfangen werden, werden sowohl das Kopf- als
auch die Datenfelder übertragen.
Mittels dieses Prozesses ist es nicht erforderlich, den Wert des
Rückgewinnungs_Zeitgeberregisters
durch den Unterbrechungsprozeß zu
zählen.
-
Um
den Prozeß zu
vereinfachen, müssen
die Sequenznummer 45 und Zeitdaten 46 in dem Paket
nicht erneuert werden. Wenn in Gegnsatz dazu die Datenqualität verbessert
werden soll, können
die Sequenznummer 45 und Zeitdaten 46 erneuert
werden. Diese zusätzliche
Datenerneuerung kann die Daten, die durch Kommunikationsfehler verlorengegangen
sind, wie beispielsweise Datenverlust und Datenänderung, zuverlässiger wiederherstellen.
-
16 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn ein Taste-AUS-Ereignis
mit einer Priorität
vor dem Taste-EIN-Ereignis übertragen
wird.
-
In
Schritt SK1 werden die Taste-AUS-Ereignisdaten von dem Paket hergeleitet,
das von dem Haupt-Server empfangen wurde, und der Programmfluß schreitet
zu Schritt SK2 fort. Wenn das Paket keine Taste-AUS-Ereignisdaten
enthält,
wird das gesamte empfangene Paket zu dem WWW-Server 8 übertragen.
-
In
Schritt SK2 wird ein neues Paket mit dem Datenfeld, das nur die
hergeleiteten Taste-AUS-Ereignisdaten enthält, erzeugt.
-
In
Schritt SK3 wird das neu erzeugte Paket zu dem WWW-Server 8 übertragen.
-
In
Schritt SK4 wird das restliche Paket mit den Taste-AUS-Ereignisdaten,
die gelöscht werden,
zu dem WWW-Server 8 übertragen,
um danach die vorher beschriebenen Prozesse beendet. Bei den vorhergehenden Prozessen
werden die Daten in dem Paket in Taste-AUS-Ereignisdaten und andere
Daten getrennt, zuerst werden in Schritt SK3 vorzugsweise die Taste-AUS-Ereignisdaten übertragen
und dann werden in Schritt SK4 die anderen Daten übertragen.
-
Wenn
der Übertragungszeitpunkt
in Schritt SK4 gegenüber
dem Übertragungszeitpunkt
in Schritt SK3 verzögert
ist, können
Daten in einer verteilten Weise übertragen
werden, die Verkehrsüberlastung
kann herabgesetzt werden in Vergleich zu dem Fall, bei dem all die
Daten zu der gleichen Zeit übertragen
werden.
-
17 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn dieser Daten durch Löschen der
Bilddaten überträgt.
-
In
Schritt SL1 wird geprüft,
ob das von dem Haupt-Server empfangene Paket Bilddaten sind. Diese Überprüfung wird
realisiert durch Bezugnahme auf die Daten ID 44 (4).
Wenn der Wert des Datums ID "3" ist, sind das empfangene
Paket Bilddaten. Dieses Flußdiagramm
veranschaulicht die Operation des Löschens von Bilddaten, und wenn
Daten empfangen werden, die keine Bilddaten sind, wird dieser Prozeß sofort
beendet. Wenn die Bilddaten empfangen werden, schreitet der Programmfluß zu Schritt
SL2.
-
In
Schritt SL2 wird das Datenfeld des empfangenen Paket gelöscht und
nur das Kopffeld wird belassen. In Schritt SL3 wird ein Paket mit
nur dem Kopffeld zu dem WWW-Server 8 übertragen, um danach den vorhergehenden
Prozeß zu
beenden.
-
Auch
in diesem Fall muß,
anstelle des Übertragens
des Pakets mit nur dem Kopffeld, das Paket selbst nicht übertragen
werden, um die Datenmenge weiter zu reduzieren.
-
18 ist
ein Flußdiagramm,
das die Operation des Proxy-Servers zeigt, wenn dieser Daten durch Herabsetzen
der Auflösung überträgt.
-
In
Schritt SM1 werden die auszudünnenden
Daten von dem Paket, das von dem Hauptserver empfangen wurde, hergeleitet
und der Programmfluß schreitet
zu Schritt SM2 fort. Die auszudünnenden
Daten enthalten Steuerdaten, wie beispielsweise Lautstärkedaten,
Tonhöhen-Ereignisdaten
und Aftertouch-Ereignisdaten. Wenn das Paket keine auszudünnende Daten
enthält,
wird das gesamte empfangene Paket zu dem WWW-Server 8 übertragen.
-
In
Schritt SM2 werden die Daten in Werte konvertiert, die einer bezeichneten
Auflösung
entsprechen. Wenn zum Beispiel ein Auflösung 1/4 ist, werden die Datensätze vom
gleichen Typ in dem Paket alle mit 1/4 multipliziert und die Dezimalbrüche werden
abgeschnitten.
-
Von
Datensätzen
mit dem gleichen konvertierten Wert wird in Schritt SM3 nur ein
Datensatz in dem Paket belassen und alle anderen Datensätze werden
gelöscht.
Das resultierende Paket wird zu dem WWW-Server übertragen.
-
Die
auszudünnenden
Daten können
einer Moduln-Berechnung unterzogen werden und nur der Datensatz
mit dem Berechnungsergebnis "0" kann belassen werden,
um alle anderen Datensätze
zu löschen.
-
Bei
einer Vielzahl von Arten von auszudünnenden Datensätzen kann
jeder Art eine unterschiedliche Auflösung zugewiesen werden.
-
Bei
der im vorhergehenden beschrieben Ausführungsform können eine
Musikspielinformation (MIDI-Daten), Tondaten (Audiodaten) und ein
Musikspielbild (Bilddaten) in einem Konzertsaal zu einer Anzahl
von Benutzern unter Verwendung des Internets geliefert werden. Ein
Benutzer kann MIDI-Daten und Bilddaten in Echtzeit nach Hause erhalten,
ohne in den entfernten Konzertsaal zu gehen.
-
Wenn
die Kodiereinheit bei jeder einer Vielzahl von Konzertsälen Zeitdaten
zu MIDI-Daten und
dergleichen hinzufügt,
wird ein simultaner Besuch von einer Vielzahl von Konzertsälen möglich.
-
Jeder
von einer Vielzahl von Proxy-Servern reduziert die Datenmenge entsprechend
der Anzahl der Zugriffe auf den Proxy-Server, so dass die Verkehrsüberlastung
herabgesetzt werden kann. Wenn die Anzahl der Proxy-Server angehoben
wird, kann die Verkehrsüberlastung
gemindert werden, ohne die Daten auszudünnen. Wenn die Daten ausgedünnt werden,
kann die Verkehrsüberlastung
gemindert werden, sogar wenn die Anzahl der Proxy-Sever klein ist.
-
Wenn
die Datenmenge reduziert wird, wird die Tonqualität und Bildqualität heruntergesetzt.
In Verbindung damit kann jeder Proxy-Server einen Daten-Ausdünnungsquotienten
und -Verfahren, das für
den Proxy-Server am geeignetsten ist, auswählen und kann die gewünschte Anzahl
an zugreifenden Benutzern einstellen.
-
Der
Proxy-Server überträgt Information
von Daten-Ausdünnungsquotienten
und -Verfahren an einen Anwender, so dass diese Information auf
dem Bildschirm der Anzeigevorrichtung eines Homecomputers angezeigt
werden kann. Zum Beispiel kann "Nun
mit herabgesetzter Tonqualität", "Nun mit nur Musiktondaten" oder dergleichen
angezeigt sein. Diese Anzeige wird vorzugsweise gemacht, wenn ein
Benutzer auf den Proxy-Server zugreift. Ein Benutzer kann auf einen
gewünschten
Proxy-Server durch Bezugnahme auf diese Anzeige zugreifen.
-
Ein
Spiegel-Server wird auch in dem Internet verwendet. Dieser Spiegel-Server
unterscheidet sich von dem Proxy-Server der Ausführungsform darin, dass alle
Spiegel-Server die
gleiche Operation ausführen
und die gleichen Daten liefern.
-
Die
Ausführungsform
ist nicht auf das Internet beschränkt, sondern andere Kommunikations-Systeme können ebenfalls
verwendet werden, zum Beispiel digitale serielle Nachrichtenübertragungen
gemäß IEEE1394-Spezifikationen,
Nachrichten-Satelliten
und dergleichen.
-
Die
vorliegende Erfindung wurde im Zusammenhang mit bevorzugten Ausführungsformen
beschrieben. Die Erfindung ist nicht nur auf die vorher beschriebenen
Ausführungsformen
beschränkt.
Es ist offensichtlich, dass verschiedene Modifikationen, Verbesserungen,
Kombinationen und dergleichen von Experten auf diesem Gebiet durchgeführt werden
können,
ohne dabei von dem Umfang der Erfindung, wie sie durch die anhängenden
Ansprüche
definiert ist, abzuweichen.