-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine elektronische Musikvorrichtung,
die eine Funktion zum Durchführen
einer Sitzung aufweist, in der Spieldaten mit anderen elektronischen
Musikvorrichtungen über
ein Kommunikationsnetz gegenseitig ausgetauscht werden.
-
2. Beschreibung des Standes
der Technik
-
Herkömmlicherweise
gibt es eine Technik zum Verbinden mit Kabeln einer Vielzahl von
Geräten,
die mit Spieldaten, wie zum Beispiel MIDI-Daten (Musical Instruments
Digital Interface) umgehen, die einen Spielinhalt einer musikalischen
Komposition zeigen, um es diesen Geräten zu erlauben, die Spieldaten
zueinander zu senden und voneinander zu empfangen und miteinander
betrieben zu werden.
-
Herkömmlicherweise
wurden zum Beispiel dedizierte Schnittstellen und Kabel zur Übertragung der
MIDI-Daten verwendet. In den letzten Jahren wurde jedoch eine Technik
zum Übertragen
einer MIDI-Nachricht über
ein anderes Kommunikationsprotokoll vorgeschlagen, wodurch die Übertragung
eines größeren Datenvolumens
an einen weiter entfernten Ort ermöglicht wurde, als dass bei
der bisherigen Technik möglich
war, bei der die dedizierte Schnittstelle verwendet wurde. Bei einer
solchen Technik hat der vorliegende Anmelder ein Kommunikationsprotokoll
mLAN (eingetragene Marke) vorgeschlagen, das als eine Schnittstelle
die IEEE 1394 (Institute of Electrical and Electronic Engineers)
einsetzt.
-
Eine
weitere vorgeschlagene Technik verwendet als ein Kommunikationsprotokoll
TCP (Transmission Control Protocol), UDP (User Datagram Protocol)
und IP (Internet Protocol) zur Ermöglichung der Sendung/des Empfangs
von MIDI-Daten über
das Internet.
-
Eine
solche Technik ist zum Beispiel in der
japanischen Patentanmeldungsoffenlegungsschrift Nr.
2004-301997 beschrieben. Diese Druckschrift beschreibt,
dass beim Durchführen
einer Sitzung zum Austauschen von MIDI-Daten über das Internet ein Verbindungsserver
entsprechenden der Sitzung beitretenden Endgeräten Identifikationen zuweist
und mitteilt, und wenn die MIDI-Daten übertragen
werden, fügt
jedes der Endgeräte
die Kanalnummer hinzu, welche mit der Identifikation (ID) der übertragenen
MIDI-Daten übereinstimmt.
-
Eine
weitere bekannte Technik, die in der
US 5,652,400 beschrieben
ist, definiert ein musikalisches Netzwerk, das einen Master-Knoten,
der Steuernachrichten sendet, und Slave-Knoten aufweist, welche
die Steuernachrichten über
logische Pfade empfangen und welche die Steuernachrichten entsprechend
ausführen.
-
Zusammenfassung der Erfindung
-
Das
oben genannte Kommunikationsprotokoll, das IEEE 1394 verwendet,
ist jedoch ein Protokoll, das spezifische beitretende Geräte im Voraus bezeichnet,
um eine Sitzungsgruppe zu bilden, und es nur den beitretenden Geräten erlaubt,
MIDI-Nachrichten
auszutauschen, und hat daher dahingehend ein Problem, dass ein Gerät, das nicht
bezeichnet wurde, bei der Sitzungsgruppe nicht "vorbeischauen" kann.
-
Die
in der
japanischen Patentanmeldungsoffenlegungsschrift
Nr. 2004-301997 beschriebene Technik hat dahingehend ein
Problem, dass Benutzer komplizierte Vorgänge ausführen müssen, damit ihre Endgeräte einer
Sitzung beitreten können.
Zum Beispiel bildet ein Benutzer manuell eine Gruppe und wählt hiernach
ein Benutzer eines anderen Endgeräts die Gruppe aus, um den Beitritt
zur Gruppe zu beantragen.
-
Die
Erfindung wurde zur Lösung
solcher Probleme gemacht, und es ist eine Aufgabe der Erfindung,
das Ausmaß der
Freiheit bei der Bildung einer Sitzung zum Datenaustausch zu erhöhen, wenn
eine Vielzahl von Geräten
Spieldaten zueinander senden bzw. voneinander empfangen, und es
zu ermöglichen,
dass jedes Gerät
der Sitzung mit einem einfachen Vorgang beitreten kann.
-
Zum
Erzielen der oben genannten Aufgaben ist die Erfindung eine elektronische
Musikvorrichtung nach Anspruch 1, die eine Funktion zum Ausführen einer
Sitzung hat, worin über
ein Kommunikationsnetzwerk Spieldaten gegenseitig mit anderen elektronischen
Musikvorrichtungen ausgetauscht werden, wobei die Vorrichtung aufweist:
Eine Sucheinrichtung, die nach einem die Sitzung verwaltendem Master-Gerät sucht;
eine Vorrichtung, die die eigene elektronische Musikvorrichtung
als das Master-Gerät
fungieren lässt,
wenn durch die Suche kein Master-Gerät gefunden wird, während, wenn
das Master-Gerät gefunden
wird, sie eine Beitrittsmitteilung, welche die eigenen Identifikationsdaten
enthält,
an das gefundene Master-Gerät
sendet; einen Speicher, der Identifikationsdaten der der Sitzung
beitretenden elektronischen Musikvorrichtungen als Informationen über die Sitzung
speichert; eine Sitzungsinformationsmitteilungsvorrichtung, die,
wenn die eigene elektronische Musikvorrichtung als das Master-Gerät fungiert
und eine Beitrittsmitteilung von einer der anderen elektronischen
Musikvorrichtungen empfängt,
in dem Speicher Identifikationsdaten der anderen elektronischen Musikvorrichtungen
speichert, der anderen elektronischen Musikvorrichtung einen eindeutigen
Kanal in der von der eigenen elektronischen Musikvorrichtung verwalteten
Sitzung zuweist und mitteilt und auch der anderen elektronischen
Musikvorrichtung die Identifikationsdaten der elektronischen Musikvorrichtungen, die
der von der eigenen elektronischen Musikvorrichtung verwalteten
Sitzung beitritt, sowie Informationen über entsprechende Kanäle auf der
Grundlage der im Speicher gespeicherten Identifikationsdaten mitteilt; eine
erste Datenhandhabungseinrichtung, die, wenn die eigene elektronische
Musikvorrichtung nicht als das Master-Gerät fungiert, eine Mitteilung über einen zugewiesenen
Kanal empfängt,
die von dem gefundenen Master-Gerät im Ansprechen auf die Beitrittsmitteilung
gesendet wird, und in dem Speicher von dem gefundenen Master-Gerät mitgeteilte
Identifikationsdaten speichert; und eine zweite Datenhandhabungseinrichtung,
die mit anderen elektronischen Musikvorrichtungen, die von den im
Speicher gespeicherten Identifikationsdaten spezifiziert sind, gegenseitig
Spieldaten austauscht.
-
Eine
solche elektronische Musikvorrichtung weist vorzugsweise ferner
ein Änderungsmitteilungsvorrichtung
auf, die, wenn die eigene elektronische Musikvorrichtung als das
Master-Gerät
fungiert und eine Verlassensmitteilung von einem der anderen elektronischen
Musikvorrichtungen empfängt,
die Identifikationsdaten der anderen elektronischen Musikvorrichtung
aus dem Speicher löscht
und den Inhalt einer Änderung
der im Speicher gespeicherten Identifikationsdaten den elektronischen
Musikvorrichtungen mitteilt, die der Sitzung beitreten, die von der
eigenen elektronischen Musikvorrichtung verwaltet wird, und zwar
auf der Grundlage der im Speicher abgelegten Identifikationsdaten.
-
Alternativ
dazu weist eine solche elektronische Musikvorrichtung vorzugsweise
ferner eine Änderungsmitteilungsvorrichtung
auf, die wenn die eigene elektronische Musikvorrichtung nicht als
das Master-Gerät
fungiert und eine Verlassensmitteilung von der elektronischen Musikvorrichtung
empfängt, die
als das Master-Gerät
fungiert, das die Sitzung verwaltet, der die eigene elektronische
Musikvorrichtung beigetreten ist, die Identifikationsdaten der elektronischen
Master-Musikvorrichtung
aus dem Speicher löscht
und die eigene elektronische Musikvorrichtung als ein Master-Gerät fungieren
lässt,
das die Sitzung verwaltet, der die eigene elektronische Musikvorrichtung
beigetreten ist, und Informationen, die angeben, dass die eigene
elektronische Musikvorrichtung das Master-Gerät ist, und den Inhalt einer Änderung
der im Speicher gespeicherten Identifikationsdaten den elektronischen
Musikvorrichtungen mitteilt, die an der Sitzung teilnehmen, die
von der eigenen elektronischen Musikvorrichtung verwaltet wird,
und zwar auf der Grundlage der im Speicher abgelegten Identifikationsdaten.
-
Die
oben genannten und weitere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden aus der nun folgenden detaillierten Beschreibung
ersichtlich, die zusammen mit den beiliegenden Zeichnungen zu lesen
ist.
-
Kurze Beschreibung der Zeichnungen
-
Es
zeigt:
-
1 in
einem Blockdiagramm eine Konfiguration einer ersten Ausführungsform
eines Kommunikationsverwaltungssystems für Spieldaten;
-
2 in
einer schematischen Darstellung eine Hardwarekonfiguration eines
in 1 gezeigten Endgeräts;
-
3A und 3B Tabellen,
die Informationen enthalten, die ein in 1 gezeigter
Verwaltungsserver zur Sitzungsverwaltung speichert;
-
4 ein
Fließdiagramm
eines Teils einer Verarbeitung für
empfangene Daten, die von dem in 1 gezeigten
Verwaltungsserver ausgeführt
wird;
-
5 ein
Fließdiagramm
der Verarbeitung, als Fortsetzung von 4;
-
6 eine
Tabelle, die eine Datenstruktur einer Beitrittsmitteilung zeigt;
-
7 eine
Tabelle, die eine Datenstruktur einer Statusmitteilung zeigt;
-
8 eine
Tabelle, die eine Datenstruktur einer Einstellungsänderungsmitteilung
zeigt;
-
9 eine
Tabelle, die eine Datenstruktur einer Verlassensmitteilung zeigt;
-
10 ein
Fließdiagramm
der Verarbeitung für
empfangene Daten, die vom in 1 dargestellten
Endgerät
ausgeführt
wird;
-
11 ein
Fließdiagramm
der Verarbeitung für
eine Datenübertragung,
die vom in 1 gezeigten Endgerät ausgeführt wird;
-
12 ein
Fließdiagramm,
das ein Beispiel für
eine Verarbeitungsabfolge zeigt, wenn ein erstes Endgerät A eine
Beitrittsmitteilung sendet, während kein
Endgerät
im Verwaltungsserver registriert ist;
-
13A und 13B Tabellen,
die einen Zustand einer Gruppenverwaltungstabelle bzw. einen Zustand
einer Endgerätverwaltungstabelle
zeigen, wenn die in 12 gezeigte Verarbeitung abgeschlossen
ist;
-
14 ein
Fließdiagramm,
das ein Beispiel einer Verarbeitungsabfolge zeigt, wenn ein nächstes Endgerät B eine
Beitrittsmitteilung sendet, die ihre Absicht zum Durchführen einer
Sitzung mit dem Endgerät
A anzeigt, nach der Verarbeitung in 12;
-
15 eine
Tabelle, die einen Zustand der Gruppenverwaltungstabelle und einen
Zustand der Endgerätverwaltungstabelle
zeigt, wenn die in 14 gezeigte Verarbeitung abgeschlossen
ist;
-
16 ein
Fließdiagramm,
das ein Beispiel für
eine Verarbeitungsabfolge zeigt, wenn ein nächstes Endgerät C eine
Beitrittsmitteilung sendet, welche ihre Absicht zum Durchführen einer
Sitzung mit dem Endgerät
A anzeigt, nachdem die Verarbeitung von 14 abgeschlossen
ist;
-
17 ein
Fließdiagramm,
das ein Beispiel einer Verarbeitungsabfolge zeigt, wenn im Endgerät A nach
der Verarbeitung in 16 ein Vorgang zum Andern einer
Einstellung in einem Klangquellenmodul durchgeführt wird;
-
18 ein
Fließdiagramm,
das ein Beispiel einer Verarbeitungsabfolge zeigt, wenn im Endgerät A nach
der Verarbeitung von 17 ein Sitzungsendvorgang durchgeführt wird;
-
19 in
einem Blockdiagramm eine schematische Konfiguration einer zweiten
Ausführungsform
eines Kommunikationsverwaltungssystems für Spieldaten;
-
20 in
einem Fließdiagramm
eine Verarbeitung, die ein in 19 dargestelltes
Endgerät ausführt, wenn
es einer Sitzung beitritt;
-
21 eine
Tabelle, die ein Beispiel einer Knoteninformationstabelle zeigt;
-
22 in
einem Fließdiagramm
eine Verarbeitung für
empfangene Daten, die von einem Master-Endgerät im System in 19 ausgeführt wird;
-
23 in
einem Fließdiagramm
eine Verarbeitung für
empfangene Daten, die von einem Endgerät ausgeführt wird, welches nicht das
Master-Endgerät
im in 19 dargestellten System ist;
-
24 in
einem Fließdiagramm
eine Verarbeitung für
eine Datenübertragung,
die von jedem der Endgeräte
im in 19 dargestellten System ausgeführt wird;
-
25 in
einem Fließdiagramm
ein Beispiel für
eine Verarbeitungsabfolge, wenn ein zweites Endgerät B eine
Beitrittsmitteilung an ein Master-Endgerät A sendet;
-
26 in
einem Fließdiagramm
ein Beispiel für
eine Verarbeitungsabfolge, wenn ein nächstes Endgerät C eine
Beitrittsmitteilung nach der Verarbeitung in 25 an
das Endgerät
A sendet; und
-
27 in
einem Fließdiagramm
ein Beispiel für
eine Verarbeitungsabfolge, wenn ein Sitzungsendvorgang im Endgerät A nach
der Verarbeitung in 26 durchgeführt wird.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
Es
folgt eine konkrete Beschreibung der besten Art und Weise der Umsetzung
der vorliegenden Erfindung anhand der Zeichnungen.
-
Erste Ausführungsform 1 bis 18
-
Es
folgt als Erstes eine Beschreibung einer ersten Ausführungsform
eines Kommunikationsverwaltungssystems für Spieldaten. 1 ist
ein Blockdiagramm, das eine schematische Konfiguration des Kommunikationsverwaltungssystems
für Spieldaten zeigt.
-
Ein
in 1 gezeigtes Kommunikationsverwaltungssystem 1 für Spieldaten
weist einen Verwaltungsserver 100 auf, der eine Sitzung
für das
Senden/Empfangen von MIDI-Daten, welche die Spieldaten sind, verwaltet,
wenn eine Vielzahl von Endgeräten 10 die
MIDI-Daten zueinander senden bzw. voneinander empfangen.
-
Jedes
der Endgeräte 10 entspricht
einer elektronischen Musikvorrichtung, und der Verwaltungsserver 100 entspricht
einer Kommunikationsverwaltungsvorrichtung für Spieldaten.
-
Die
Sitzung bedeutet hier, dass die Vielzahl von Endgeräten 10 MIDI-Daten
an Kommunikationspartner in einer spezifischen Gruppe senden bzw. von
ihnen empfangen (mit ihnen austauschen). Durch Senden einer Anforderung
an den Verwaltungsserver 100 wird jedes der Endgeräte 10 zu
einem Mitglied der Gruppe, um der Sitzung beizutreten, so dass es
dazu befähigt
wird, MIDI-Daten an die Endgeräte
in derselben Gruppe zu senden bzw. von ihnen zu empfangen. Ferner
verwaltet der Verwaltungsserver 100 Informationen über die
Mitglieder der die Sitzung durchführenden Gruppe. Ferner registriert
der Verwaltungsserver 100 im Ansprechen auf die Anforderung
vom Endgerät 10 das
anfordernde Endgerät 10 in
der Gruppe, und wenn sich die Mitglieder der Gruppe ändern, teilt
es den Mitgliedern der Gruppe die notwendigen Informationen mit,
wodurch den Mitgliedern ermöglicht
wird, die Sitzung normal auszuführen.
-
Der
Verwaltungsserver 100 ist auch dazu fähig, eine Vielzahl von Sitzungen
zur gleichen Zeit zu verwalten, und er verwaltet in diesem Fall
Informationen über
Mitglieder einer Vielzahl von Gruppen. Ferner sendet das Endgerät 10 auf
Seiten des Endgeräts 10 keine
MIDI-Daten an Endgeräte
bzw. empfängt
auch keine MIDI-Daten von diesen, die einer anderen Gruppe angehören, selbst
wenn diese mit demselben Verwaltungsserver 100 in Kommunikation
sind, sondern sendet MIDI-Daten nur an die Endgeräte, die
zur selben Gruppe gehören,
bzw. empfängt
MIDI-Daten von diesen.
-
Im
Kommunikationsverwaltungssystem 1 für Spieldaten ist das Senden/Empfangen
von MIDI-Daten im Grunde eine Peer-to-Peer-Kommunikation (P2P) unter
den Endgeräten 10 und
keine Kommunikation über
den Verwaltungsserver 100.
-
"Peer-to-Peer" ist hier eine Form
des Einsatzes eines Kommunikationsnetzes (typischerweise des Internets),
bei der Daten direkt unter Endgeräten (Menschen) ausgetauscht
werden. Bei der erfindungsgemäßen Anwendung
ist ein Kommunikationsprotokoll für die Peer-to-Peer-Kommunikation
nicht auf eine Spezifische eingeschränkt, doch ist für die Übertragung
von MIDI-Daten ein Kommunikationsprotokoll möglichst eines, bei dem ein
Zeitstempel, Synchronisationstakte und dergleichen zur Aufrechterhaltung
der Isochronie von Daten definiert sind. Ferner können unterschiedliche
Protokolle je nach den unter den Endgeräten ausgetauschten Daten verwendet
werden.
-
Als
Nächstes
zeigt 2 eine Hardwarekonfiguration des in 1 gezeigten
Endgeräts 10.
-
Wie
in 2 gezeigt, weist das Endgerät 10 eine CPU 11,
einen ROM 12, einen RAM 13, einen nichtflüchtigen
Speicher 14, eine Netzwerkschnittstelle (I/F) 15,
eine Spieleingabevorrichtung 16 sowie ein Klangquellenmodul 17 auf,
und diese sind an einen Systembus 18 angeschlossen. Das
Endgerät 10 weist
ferner ein Klangsystem 19 auf, das an das Klangquellenmodul 17 angeschlossen
ist.
-
Die
CPU 11, bei der es sich um einen Controller handelt, steuert
das Endgerät 10 zentral,
führt notwendige
im ROM 12 gespeicherte Steuerprogramme aus, um die Steueroperationen
zum Steuern des Datenlesens bzw. -schreibens vom nichtflüchtigen
Speicher 14 bzw. in diesen, die Kommunikation über die
Netzwerkschnittstelle 15, das Erfassen eines Spieleingabevorgangs über die
Spieleingabevorrichtung 16, die Erzeugung von Wellenformdaten durch
das Klangquellenmodul 17 auf der Grundlage von MIDI-Daten
und so weiter auszuführen.
-
Der
ROM 12 ist ein Speicher, der die von der CPU 11 ausgeführten Steuerprogramme,
Daten, die nicht geändert
zu werden brauchen, und dergleichen speichert. Der ROM 12 kann
aus einem überschreibbaren
nichtflüchtigen
Speicher, wie zum Beispiel einem Flashspeicher, bestehen, so dass
diese Daten aktualisiert werden können.
-
Der
RAM 13 ist ein Speicher, der als ein Arbeitsspeicher der
CPU 11 verwendet wird und in dessen Speicherbereich Parameterwerte
speichert, die vom Klangquellenmodul 17 bei der Verarbeitung
von MIDI-Daten (der Erzeugung der Wellenformdaten) verwendet werden,
und auch andere vorübergehend verwendete
Daten speichert.
-
Der
nichtflüchtige
Speicher 14, bei dem es sich um eine nichtflüchtige Speichervorrichtung
handelt, die aus einem nichtflüchtigen
RAM, einem Festplattenlaufwerk (HDD/Hard Disk Drive) oder dergleichen
besteht, speichert Daten, die ein relativ großes Volumen haben und die auch
ohne Leistung gespeichert bleiben sollen, wie zum Beispiel die von
der CPU 11 ausgeführten
Steuerprogramme und die MIDI-Musikdaten zum automatischen Spiel.
-
Die
Netzwerkschnittstelle 15 ist eine Schnittstelle zur Kommunikation
mit dem Verwaltungsserver 100 und den anderen Endgeräten 10 über ein
Netzwerk, wie zum Beispiel ein lokales Netz (LAN/Local Area Network)
oder das Internet, und kann zum Beispiel eine Schnittstelle zur
Kommunikation über Ethernet
(eingetragene Marke) sein. Der vom Endgerät 10 verwendete Kommunikationspfad
ist hierauf jedoch nicht eingeschränkt, und eine entsprechende Schnittstelle
ist gemäß einem
Protokoll für
den Kommunikationspfad, einem verwendet werdenden Kommunikationsprotokoll
oder dergleichen als die Netzwerkschnittstelle 15 vorbereitet.
Ferner kann die Kommunikationsschnittstelle 15 natürlich auch
in einer Vielzahl entsprechend einer Vielzahl von Protokollen vorgesehen
werden.
-
Die
Spieleingabevorrichtung 16 ist eine Vorrichtung, wie zum
Beispiel eine Tastatur, Streichinstrumente, ein Pad oder ein Mundstück zum Empfang von
Vorgängen
zum Spiel, und die Betätigung
der Spieleingabevorrichtung 16 durch einen Benutzer wird
von einer Detektionsschaltung, die verschiedene Arten von Sensoren
hat, in ein elektrisches Signal umgewandelt, das dann an die CPU 11 übertragen wird.
Dann erzeugt die CPU 11 auf der Grundlage dieses Signals
MIDI-Ereignisse
zum Anweisen des Klangquellenmoduls 17 zum Erzeugen von
Klang gemäß dieser
Spielbetätigung
des Benutzers und überträgt die MIDI-Ereignisse
an das Klangquellenmodul 17. Ferner überträgt die CPU 11, wenn
ein anderes Endgerät
als ein Kommunikationspartner des Endgeräts 10 eingestellt
ist, dieselben MIDI-Ereignisse
an das Endgerät.
-
Das
Klangquellenmodul 17 ist eine mit GM (General MIDI) kompatible
Klangquelle und ist ein Klangquellengerät, das auf der Grundlage der
MIDI-Ereignisse,
die von der CPU 11 gesendet werden, in einer Vielzahl von
Klangerzeugungskanälen
Wellenformdaten erzeugt, die ein digitales Audiosignal sind. Die
MIDI-Ereignisse enthalten nicht nur die Daten, die den Start und
den Stopp der Klangerzeugung anweisen, sondern auch Daten, die eine
Veränderung
einer Einstellung bezüglich
des Inhalts der Klangerzeugung, wie zum Beispiel eine Klangfarbe, anweisen.
Die MIDI-Ereignisse enthalten nicht nur die von der CPU 11 Erzeugten,
sondern auch diejenigen, die von den anderen Endgeräten 10 kommend empfangen
wurden. Wie später
noch beschrieben wird, werden die von der CPU erzeugten MIDI-Ereignisse
und die von den anderen Endgeräten 10 empfangenen
MIDI-Ereignisse durch Kanäle
unterscheidbar gemacht und wird der Inhalt der Klangerzeugung in
jedem Kanal entsprechend eingestellt, so dass das Klangquellenmodul 17 die
Wellenformdaten erzeugen kann, die insgesamt die Daten für ein von
den mehreren Endgeräten 10 gespieltes
Ensemble sind.
-
Das
Klangsystem 19 ist ein Klanggenerator, wie zum Beispiel
ein Lautsprecher, und hat eine Funktion zum Erzeugen von Klang gemäß den von dem
Klangquellenmodul 17 gelieferten Wellenformdaten.
-
Konkrete
Beispiele für
das Endgerät 10,
das wie oben strukturiert ist, sind typischerweise ein Keyboard,
eine elektronische Orgel und ein elektronisches Klavier, und sind
auch andere elektronische Musikinstrumente, einschließlich Schlagzeug, Streichinstrumente
und Blasinstrumente und dergleichen. Andere mögliche Beispiele sind Vorrichtungen ohne
jegliche Musikbetätigungsvorrichtungen,
wie zum Beispiel ein MIDI-Sequenzer oder ein PC (Personal Computer),
die mit einer Anwendung zum Umsetzen von Funktionen eines MIDI-Sequenzers
implementiert sind. Ferner können
auch tragbare Endgeräte,
wie zum Beispiel ein Mobiltelefon und ein PDA (Personal Digital
Assistant) ebenfalls als das Endgerät 10 fungieren, vorausgesetzt,
sie haben Funktionen zum Verarbeiten der MIDI-Daten.
-
Das
Endgerät 10 braucht
lediglich entweder die Funktion zum Senden der MIDI-Daten oder die Funktion
zum Empfangen der MIDI-Daten zu haben und braucht nicht notwendigerweise
sowohl die Sendefunktion als auch die Empfangsfunktion zu haben. Ferner
sind das Klangquellenmodul 17 und das Klangsystem 19 nicht
wesentlich.
-
Als
eine Hardware des Verwaltungsservers 100 kann ein bekannter
Rechner mit einer CPU, einem ROM, einem RAM, einer Festplatte (HDD),
einer Netzwerkschnittstelle und dergleichen verwendet werden. Da
Funktionen dieser Komponenten dieselben wie diejenigen der entsprechenden
Komponenten im oben beschriebenen Endgerät 10 sind, wird ihre
detaillierte Beschreibung hier weggelassen. Ferner weist der Verwaltungsserver 100 vorzugsweise eine
Hochleistungs-CPU und eine Festplatte mit großer Kapazität auf, ist hierauf jedoch nicht
eingeschränkt.
Ferner kann auch eines der Endgeräte 10 als der Verwaltungsserver 100 fungieren.
-
Als
Nächstes
zeigen 3A und 3B Beispiele
für Informationen,
die der Verwaltungsserver 100 zur Sitzungsverwaltung speichert.
-
Wie
in diesen Zeichnungen gezeigt, speichert der Verwaltungsserver 100 in
einem Speicher, wie zum Beispiel einer Festplatte oder einem RAM, eine
Gruppenverwaltungstabelle und eine Endgerätverwaltungstabelle als die
Informationen zur Sitzungsverwaltung.
-
Bei
der ersteren handelt es sich um eine Tabelle zur Verwaltung von
Informationen über
unter der Verwaltung des Verwaltungsservers 100 Sitzungen
durchführende
Gruppen. In dieser Tabelle werden Informationen über Mitglieder einer jeden
Gruppe, nämlich
der Sitzung beitretende Endgeräte, durch
Identifikationen (IDs) dieser Endgeräte in Entsprechung zu einer
Identifikation (ID) einer jeden Gruppe registriert. Bei der Gruppenidentifikation
handelt es sich hier um Daten, die lediglich innerhalb des Verwaltungsservers 100 verwendet
werden. Die Anzahl von Endgeräten 10,
die als Mitglieder einer Gruppe zugelassen werden, ist nicht spezifisch
eingeschränkt,
jedoch ist im allgemeinen MIDI die Anzahl nutzbarer Kanäle 16,
weshalb demgemäß die Anzahl
der Endgeräte 10 vorzugsweise
auf 16 eingeschränkt
ist.
-
Bei
der letzteren handelt es sich um eine Tabelle zum Verwalten von
Informationen über
die Endgeräte 10,
die unter der Verwaltung des Verwaltungsservers 100 die
Sitzung ausführen.
In dieser Tabelle sind eine Identifikation (ID) eines Kommunikationspartners,
den das Endgerät 10 bezeichnete,
als es den Beitritt zur Sitzung anforderte, Informationen über eine
Einstellung in einer Klangquelle, die vom Endgerät verwendet wird, die dem Endgerät zugewiesene
Kanalnummer und die Identifikation (ID) der Gruppe, zu der das Endgerät gehört, in Zuordnung zur
Identifikation (ID) eines jeden der Endgeräte 10 registriert.
-
Es
wird darauf hingewiesen, dass, wenn keine Sitzung unter der Verwaltung
des Verwaltungsservers 100 ausgeführt wird, in beiden Tabellen
keine Informationen registriert sind.
-
Ferner
können
in den in 3A und 3B gezeigten
Tabellen Informationen zum Identifizieren eines jeden der Endgeräte selbst,
wie zum Beispiel die Produktnummer oder die Registrierungsnummer als
die Identifikation des Endgeräts
verwendet werden, jedoch ist es vorzuziehen, Adresseninformationen,
wie zum Beispiel eine IP-Adresse, die zur Kommunikation mit dem
betreffenden Endgerät
verwendet wird, zu verwenden. Dieser Umstand wird im Einzelnen später noch
beschrieben.
-
Was
die Informationen über
die Einstellung in der Klangquelle betrifft, so können zum
Beispiel Informationen über
die Klangfarbe, die gemäß einem MIDI-Programmänderungsereignis
eingestellt sind, als die Programmnummer registriert werden, doch
ist dies nicht als Einschränkung
zu verstehen. Informationen über
eine Vielzahl von Gegenständen
können registriert
werden.
-
Als
Nächstes
zeigen 4 und 5 Fließdiagramme einer Verarbeitung
für empfangene
Daten, die von der CPU des oben beschriebenen Verwaltungsservers 100 ausgeführt wird,
wobei der Schwerpunkt auf einem Teil liegt, der einer Verarbeitung
für die
Sitzungsverarbeitung entspricht. Es wird darauf hingewiesen, dass
die CPU, wenn nicht anders angegeben, eines der beiden Geräte die unten beschriebene
Verarbeitung ausführt,
indem das notwendige Steuerprogramm ausgeführt wird.
-
Die
CPU des Verwaltungsservers 100 speichert in einem Empfangspuffer
vorübergehend
von einem externen Gerät,
wie zum Beispiel dem Endgerät 10,
empfangene Daten und führt
die in den Fließdiagrammen
in 4 und 5 gezeigte Verarbeitung zu einer
regulären
Zeit aus, um dadurch eine für die
empfangenen Daten geeignete Verarbeitung auszuführen.
-
In
dieser Verarbeitung wird zuerst der Empfangspuffer überprüft (S11).
Dann, wenn eine Beitrittsmitteilung gefunden wird (S12), wird bei
den Schritten S13 bis S20 eine der Beitrittsmitteilung entsprechende
Verarbeitung ausgeführt.
-
Hierzu
zeigt 6 eine Datenstruktur der Beitrittsmitteilung.
-
Die
Beitrittsmitteilung ist eine Mitteilung, die das Endgerät 10 an
den Verwaltungsserver 100 sendet, wenn es den Beitritt
zu einer Sitzung beantragt, und wie in 6 gezeigt,
enthält
sie Informationen, die anzeigen, dass diese Mitteilung die Beitrittsmitteilung
ist, eine ID (die eigene ID) eines die Mitteilung sendenden Geräts (des
mitteilenden Geräts),
eine ID eines Kommunikationspartners, mit dem das Endgerät 10 kommunizieren
möchte,
sowie Informationen über
eine Einstellung in einer Klangquelle im mitteilenden Gerät.
-
Übrigens
kann, wenn die Informationsübertragung
durch das Endgerät 10 an
den Verwaltungsserver 100 eine Paketübertragung ist, die die Beitrittsmitteilung
angebenden Informationen in einem Paket geschrieben sein, ebenfalls
ist jedoch auch die Verwendung einer ID des Pakets möglich. Ferner sind
als die eigene ID Daten über
eine Paketübertragungsgerät-ID verwendbar,
die an das Paket angehängt
sind. Wenn eine IP-Adresse als die ID verwendet wird, kann eine
IP-Adresse des Paketübertragungsgeräts verwendet
werden.
-
Ferner
handelt es sich bei den Informationen über die Einstellung in der
Klangquelle um Informationen über
einen Teil des Einstellungsinhalts, den das Klangquellenmodul 17 zum
Erzeugen von Klang gemäß dem MIDI-Ereignis
benötigt,
das vom mitteilenden Gerät
in der Sitzung gesendet wurde (hier der Inhalt der Einstellung für einen
Kanal), und enthält
nicht notwendigerweise den gesamten Inhalt der Einstellung in der
Klangquelle des mitteilenden Geräts.
-
Wenn
wir zur Beschreibung von 4 zurückkehren, kehrt zuerst, wenn
das mitteilende Gerät schon
in der Endgerätverwaltungstabelle
registriert wurde, in der oben beschriebenen Verarbeitung für die Beitrittsmitteilung
der Fluss direkt zu Schritt S12 zurück (S13). In diesem Fall wird,
da das mitteilende Gerät
höchstwahrscheinlich
einer Sitzung beigetreten ist, diese Verarbeitung ausgeführt, um
zu verhindern, dass dasselbe Gerät
gleichzeitig an einer weiteren Sitzung teilnehmen darf. Diese Beurteilung kann
aufgrund dessen getroffen werden, ob das mitteilende Gerät schon
in der Gruppenverwaltungstabelle registriert wurde oder nicht.
-
Dann
wird, wenn das mitteilende Gerät schon
registriert wurde, als Nächstes
beurteilt, ob ein durch eine "Kommunikationspartner-ID" angegebenes Gerät in der
Endgerätverwaltungstabelle
(oder Gruppenverwaltungstabelle) registriert wurde oder nicht (S14).
Wenn das nicht der Fall ist, ist unter dem aktuellen Status eine
Sitzung mit diesem Gerät
nicht möglich.
Deshalb wird eine neue Gruppe gebildet und das mitteilende Gerät in der
Gruppe registriert (S15) und muss warten, bis der Kommunikationspartner
den Beitritt zur Sitzung beantragt. Anders ausgedrückt, kann
eine neue Gruppe, falls gewünscht,
dadurch gebildet werden, dass eine ID eines Strohmann-Kommunikationspartners
in die Beitrittsmitteilung eingeschrieben wird. Eine ID der neuen
Gruppe kann durch ein entsprechendes Verfahren, wie zum Beispiel
durch die Verwendung der Seriennummer oder der Zufallsnummer, bestimmt
werden. Wenn auf der anderen Seite bei Schritt S14 positiv entschieden wird,
wird das mitteilende Gerät
in der Gruppe registriert, zu der der Kommunikationspartner gehört (S16).
In beiden Fällen
wird zum Registrieren des mitteilenden Geräts dessen ID in der Gruppeninformationstabelle
registriert.
-
Dann
wird in beiden Fällen
ein leerlaufender Kanal (CH) in der Gruppe, in der das mitteilende
Gerät registriert
ist, dem mitteilenden Gerät
zugewiesen (S17) und werden Informationen über das mitteilende Gerät in der
Endgerätverwaltungstabelle
registriert (S18). Als Informationen über den Kanal und die Gruppe
werden die bei Schritt S15 bis S17 bestimmten Informationen registriert.
Ein willkürliches
Verfahren kann für
die Kanalzuteilung verwendet werden, ein mögliches Beispiel des Verfahrens
besteht jedoch darin, den Endgeräten
in derselben Gruppe zugewiesene Kanäle dadurch aufzulisten, dass
auf die Endgerätverwaltungstabelle
Bezug genommen wird, und ein Kanal zufällig aus den Kanälen ausgewählt wird,
die nicht die aufgelisteten Kanäle
sind. Ein beliebiges Verfahren kann dazu verwendet werden, vorausgesetzt,
es kann einen Kanal eindeutig zuweisen und weist denselben Kanal
nicht mehreren Endgeräten
in derselben Gruppe zu.
-
Hiernach
wird eine Statusmitteilung an das mitteilende Gerät gesendet,
wodurch Informationen über
alle Endgeräte
in derselben Gruppe diesem mitgeteilt wird (S19), und wird eine
Statusmitteilung auch an alle Endgeräte in derselben Gruppe (außer dem
mitteilenden Gerät)
gesendet, zu der das mitteilende Gerät gehören soll, wodurch die Informationen über das
mitteilende Gerät
mitgeteilt werden (S20).
-
Hiernach
kehrt der Fluss zu Schritt S12 zurück und wird die Verarbeitung
wiederholt, und wenn weitere Daten im Empfangspuffer vorgefunden
werden, wird die Verarbeitung gemäß diesen Daten ausgeführt.
-
Es
wird darauf hingewiesen, dass in der oben beschriebenen Verarbeitung
bei den Schritten S13 bis S20 die CPU des Verwaltungsservers 100 als eine
Sitzungsinformationsmitteilungsvorrichtung fungiert.
-
Hierbei
zeigt 7 eine Datenstruktur der Statusmitteilung.
-
Wie
in 7 gezeigt, handelt es sich bei der Statusmitteilung
um eine Mitteilung, die der Verwaltungsserver 100 an das
Endgerät 10 sendet,
um die Informationen über
die Endgeräte 10 mitzuteilen,
die der Sitzung beitreten, und enthält Informationen, die angeben,
dass die vorliegende Mitteilung die Statusmitteilung ist, Informationen,
die ein Endgerät
angeben, dessen Status durch diese Statusmitteilung angegeben wird
(Endgerät-ID),
die Kanalnummer, die diesem Gerät
zugewiesen ist, sowie die Informationen über die Einstellung in der
Klangquelle in diesem Gerät.
-
Diese
Statusmitteilung kann auf der Grundlage der Informationen erstellt
werden, die in der Endgerätverwaltungstabelle
registriert sind. Ferner kann, wenn die Statusinformationen, welche
die Informationen über
die mehreren Geräte
mitteilt, gesendet wird (hauptsächlich
Schritt S19), die Statusmitteilungen für die entsprechenden Geräte gesendet
werden, oder kann die einzelne Statusmitteilung die Informationen über die
mehreren Geräte
enthalten. Auf der Seite des Endgeräts 10 wird die Einstellung
in der Klangquelle aufgrund der Informationen vorgenommen, die in
der Statusmitteilung enthalten sind.
-
Ferner
kann ähnlich
zu dem oben beschriebenen Fall der Beitrittsmitteilung eine ID eines
Pakets dazu verwendet werden anzugeben, dass diese Mitteilung die
Statusmitteilung ist, und es braucht nicht aller Inhalt der Einstellung
als der Inhalt der Einstellung in der Klangquelle enthalten sein.
-
Wenn
wir zur Beschreibung von 4 erneut zurückkehren, geht der Fluss, wenn
bei Schritt S12 keine Beitrittsmitteilung vorgefunden wird, zu Schritt
S21 weiter, und wenn eine Einstellungsänderungsmitteilung vorliegt,
wird bei den Schritten S22 und S23 eine Verarbeitung gemäß der Einstellungsänderungsmitteilung
ausgeführt.
-
Wenn
das Endgerät 10 die
Einstellung (der Teil, der durch die Beitrittsmitteilung dem Verwaltungsserver 100 mitgeteilt
wird) in seiner eigenen Klangquelle ändert, wird der entsprechende
Inhalt dem Verwaltungsserver 100 durch die Einstellungsänderungsmitteilung
mitgeteilt. Dann aktualisiert der Verwaltungsserver 100,
wenn er die Mitteilung erhält, die
Informationen in der Endgerätverwaltungstabelle aufgrund
des Inhalts der Mitteilung (S22) und sendet die Einstellungsänderungsmitteilung
an alle Endgeräte
in derselben Gruppe, zu der das mitteilende Gerät gehört, wodurch der Inhalt der Änderung
der Einstellung in der Klangquelle mitgeteilt wird (S23).
-
Hiernach
kehrt der Fluss zu Schritt S12 zurück und wird die Verarbeitung
wiederholt, und wenn weitere Daten im Empfangspuffer vorgefunden
werden, wird die Verarbeitung gemäß diesen Daten ausgeführt.
-
Hierzu
zeigt 8 eine Datenstruktur der Einstellungsänderungsmitteilung.
-
Wie
in 8 gezeigt, handelt es sich bei der Einstellungsänderungsmitteilung
um ein MIDI-Ereignis, das den Inhalt der Veränderung der Einstellung angibt,
und handelt es sich hier um ein MIDI-Programmänderungsereignis. Wenn es die
Einstellungsänderungsmitteilung
an den Verwaltungsserver 100 sendet, hängt das Endgerät 10 die
ID des die Mitteilung sendenden Geräts (die eigene ID) an diese
an. In ähnlicher
Weise zu dem oben beschriebenen Fall der Beitrittsmitteilung können auch
Daten über
die ID einer paketübertragenden
Vorrichtung, die an ein Paket angehängt sind, als die eigene ID
verwendet werden.
-
Das
MIDI-Programmänderungsereignis
enthält
ein Statusbyte, das angibt, dass diese MIDI-Daten das MIDI-Programmänderungsereignis
sind, die Kanalnummer, die einen Kanal angibt, dessen Einstellung
geändert
wird, sowie Informationen über
die Programmnummer, die den Inhalt der neu auf den Kanal anzuwendenden
Einstellung angeben.
-
Das
MIDI-Programmänderungsereignis
ist eine Art MIDI-Ereignis, und der Verwaltungsserver 100 greift
bei dessen Sendung/Empfang unter den an derselben Sitzung teilnehmenden
Endgeräten
nicht ein. Deshalb kann auch ohne Eingreifen des Verwaltungsservers 100 ein
jedes der Endgeräte
gemäß dem von
dem anderen Endgerät
empfangenen MIDI-Programmänderungsereignis
eine entsprechende Einstellung im Klangquellenmodul vornehmen.
-
Jedoch
wird, wenn der Inhalt des MIDI-Programmänderungsereignisses auch an
den Verwaltungsserver 100 gesendet wird und der Verwaltungsserver 100 dessen
Inhalt an die Endgeräte
in derselben Gruppe mitteilt, zu der, wie hier gezeigt, das die Mitteilung
sendende Gerät
gehört,
eine Redundanz der Daten größer. Demnach
ist es, selbst wenn entweder in der Übertragung unter den Endgeräten oder in
der Übertragung
vom Verwaltungsserver 100 an die Endgeräte ein Problem auftritt, immer
noch möglich,
eine entsprechende Einstellung im Klangquellenmodul vorzunehmen,
indem die über
die andere Route übertragenen
Daten verwendet werden. Darüber
hinaus ist es auch möglich,
dass die Seite des Verwaltungsservers 100 den Inhalt der
Einstellungen in den Klangquellen der Endgeräte nachverfolgt und durch die
bei Schritt S19 gesendete Statusmitteilung den Status der Einstellungen
in den Klangquellenmodulen 17 in den anderen Endgeräten der
Gruppe dem der Sitzung neu beitretenden Endgerät mitteilt, so dass das neu
beitretende Endgerät
eine entsprechende Einstellung vornehmen kann.
-
Es
versteht sich von selbst, dass auch andere Ereignisse als das MIDI-Programmänderungsereignis,
zum Beispiel ein MIDI-Steueränderungsereignis,
als die oben beschriebene Einstellungsänderungsmitteilung gesendet/empfangen
werden kann, vorausgesetzt, es handelt sich um Informationen über die
Einstellung in der Klangquelle.
-
Wenn
wir wieder zur Beschreibung von 4 zurückkehren,
geht der Fluss, wenn bei Schritt S21 keine Einstellungsänderungsmitteilung
vorgefunden wird, weiter zu Schritt S31 in 5, und wenn hier
eine Verlassensmitteilung vorgefunden wird, wird bei den Schritten
S32 bis S35 eine Verarbeitung gemäß der Verlassensmitteilung
ausgeführt.
-
Bei
der Verlassensmitteilung handelt es sich um eine Mitteilung, durch
das Endgerät 10 den
Verwaltungsserver 100 von seiner Absicht zum Verlassen
der Sitzung in Kenntnis setzt. Bei Empfang dieser Mitteilung löscht dann
der Verwaltungsserver 100 die Informationen über das
mitteilende Gerät
aus der Endgerätverwaltungstabelle
und der Gruppenverwaltungstabelle (S32, S33). Folglich wird auch
die Kanalzuteilung für
das mitteilende Gerät
gelöscht,
so dass dieser Kanal einem anderen Gerät zugewiesen werden kann. Wenn
dann als ein Ergebnis der Löschung
kein Mitglied in der Gruppe verbleibt, wird auch die Gruppe selbst
aus der Gruppenverwaltungstabelle gelöscht (S34, S35).
-
Hiernach
kehrt der Fluss zu Schritt S12 in 4 zurück und wird
die Verarbeitung wiederholt. Wenn sich weitere Daten im Empfangspuffer
befinden, wird die Verarbeitung gemäß diesen Daten ausgeführt.
-
Hierzu
zeigt 9 eine Datenstruktur der Verlassensmitteilung.
-
Wie
in 9 gezeigt, enthält die Verlassensmitteilung
Informationen, die angeben, dass die vorliegende Mitteilung die
Verlassensmitteilung ist, sowie die ID des mitteilenden Geräts, und
braucht keine anderen speziellen Informationen zu enthalten. Ferner
können,
wie bei dem oben beschriebenen Fall der Beitrittsmitteilung die
ID eines Pakets oder die ID eines paketübertragenden Geräts als diese
Daten verwendet werden.
-
Es
wird darauf hingewiesen, dass das die Verlassensmitteilung sendende
Endgerät 10 die
Sitzung dadurch verlassen kann, dass das Senden/Empfangen von MIDI-Daten
an andere Endgeräte
bzw. von diesen hiernach beendet wird. Ferner kann, wenn ein Kommunikationsfehler
beim Senden/Empfangen der MIDI-Daten auftritt, weil das die Sitzung
verlassende Endgerät
von einem bestimmten Zeitpunkt an nicht mehr antwortet, erkannt
werden, dass dieses Endgerät
die Sitzung verlassen hat. Da MIDI-Daten für den Kanal, der dem Endgerät zugewiesen
ist, das die Sitzung verlassen hat, nicht länger gesendet werden, tritt
kein spezielles Problem auf, selbst wenn der Inhalt der Einstellung
dieses Kanals nicht verändert
wird.
-
Es
besteht daher keine Notwendigkeit, dass der Verwaltungsserver 100 das
Verlassen den Endgeräten
der selben Gruppe besonders mitteilt, zu der das die Verlassensmitteilung
sendende Gerät
gehört. Der
Grund, aus dem das Endgerät 10 die
Verlassensmitteilung an den Verwaltungsserver 100 sendet,
ist der, dass der Inhalt der Gruppenverwaltungstabelle und der Endgerätverwaltungstabelle
mit dem aktuellen Status der Sitzung konsistent bleibt.
-
Wenn
wir zur Beschreibung von 5 zurückkehren, so geht, wenn sich
bei Schritt S31 keine Einstellungsänderungsmitteilung findet,
der Fluss zu Schritt S36 weiter. Wenn hier weitere Daten vorgefunden
werden, wird eine Verarbeitung gemäß dem Inhalt dieser Daten ausgeführt (S37),
und kehrt der Fluss zu Schritt S12 in 4 zurück. Wenn
sich auf der anderen Seite keine anderen Daten finden, so bedeutet
dies, dass die Verarbeitung für
alle Daten im Empfangspuffer abgeschlossen ist, weshalb die Verarbeitung
des Fließdiagramms
beendet ist.
-
Der
Verwaltungsserver 100 führt
die oben beschriebene Verarbeitung aus, so dass er durch eine Bezugnahme
auf die Gruppenverwaltungstabelle und die Endgerätverwaltungstabelle den Status der
von den Endgeräten
durchgeführten
Sitzung und den Inhalt der Einstellungen in den Klangquellen der Endgeräte nachverfolgen
und die Informationen hierüber
gegebenenfalls an die Endgeräte
weiterleiten kann.
-
Als
Nächstes
zeigt 10 ein Fließdiagramm einer Verarbeitung
für empfangene
Daten, die vom Endgerät 10 ausgeführt wird,
wobei der Schwerpunkt auf einem Teil liegt, der der Verarbeitung
für die
Durchführung
der Sitzung betrifft.
-
Das
Endgerät 10 speichert
auch vorübergehend
in einem Empfangspuffer vom Verwaltungsserver 100 und externen
Geräten,
wie zum Beispiel den anderen Endgeräten, empfangene Daten und führt die
im Fließdiagramm
von 10 gezeigte Verarbeitung zu einer regulären Zeit
aus, um die für
diese Daten geeignete Verarbeitung auszuführen.
-
Dann
wird bei dieser Verarbeitung zuerst der Empfangspuffer geprüft (S41).
Dann ist es, wenn eine Statusmitteilung, die die eigene ID wie die
Endgerät-ID
vorgefunden wird (S42), bekannt, dass der Verwaltungsserver 100 durch
diese Mitteilung dem Endgerät 10 einen
ihm zugewiesenen Kanal mitteilt. Dann wird der durch die Statusmitteilung
mitgeteilte Kanal dem Spieleingabegerät 16 zugewiesen (S43). Das
heißt,
dass die Kanalnummer, die an das MIDI-Ereignis angehängt ist,
das von der CPU 11 gemäß der Betätigung der
Spieleingabevorrichtung 16 erzeugt wird, auf die Kanalnummer
gesetzt wird, die vom Verwaltungsserver 100 zugewiesen
wird. Dann wird zur eigenen Verwendung eine Einstellung im mitgeteilten
Kanal im Klangquellenmodul 17 vorgenommen (S44). Diese
Einstellung entspricht dem Inhalt, der dem Verwaltungsserver 100 mitgeteilt
wird, wenn die Beitrittsmitteilung gesendet wird. Dann ist es, zum
Beispiel durch Einstellung der Klangfarbe, dem Klangquellenmodul 17 möglich, im
Ansprechen auf die Betätigung
der Spieleingabevorrichtung 16 einen Klang mit der gewünschten
Klangfarbe zu erzeugen.
-
Nach
Schritt S44 kehrt der Fluss zu Schritt S42 zurück und wird die Verarbeitung
wiederholt. Wenn weitere Daten im Empfangspuffer vorgefunden werden,
wird die Verarbeitung gemäß diesen
Daten ausgeführt.
-
Wenn
bei Schritt S42 andererseits keine die eigene ID enthaltende Statusmitteilung
vorgefunden wird, geht der Fluss zu Schritt S45 weiter. Dann ist es,
wenn eine die ID des anderen Endgeräts als die Endgerät-ID enthaltende
Statusmitteilung gefunden wird, bekannt, dass der Verwaltungsserver 100 durch diese
Mitteilung einen Kanal mitteilt, der einem anderen Endgerät zugewiesen
wird, das an derselben Sitzung teilnimmt (oder derselben Sitzung
neu beitritt), sowie den Inhalt der Einstellung in der Klangquelle bezüglich diesem
Kanal. Dann wird das Endgerät
in der Sendezielliste registriert, wenn sie in dieser noch nicht
registriert wurde (S46, S47). In beiden Fällen wird gemäß dem Inhalt
der Mitteilung der mitgeteilte Inhalt über den mitgeteilten Kanal
im Klangquellenmodul 17 eingestellt (S48). Hiernach kehrt
der Fluss zu Schritt S42 zurück
und wird die Verarbeitung wiederholt.
-
Es
wird darauf hingewiesen, dass die schon genannte Sendezielliste
eine Liste ist, in der Endgeräte,
die derselben Sitzung beitreten und die Sendeziele der gesendeten
MIDI-Daten sind, registriert werden, und Adressinformationen, wie
zum Beispiel IP-Adressen, die bei der Datenübertragung verwendet werden,
darin registriert werden. Wenn die Adressinformationen als die ID
des Gerätes
verwendet werden, können
die Adressinformationen unverändert
registriert werden, in anderen Fällen
werden die Adresseninformationen jedoch durch ein entsprechendes
Mittel erhalten. Ein Beispiel für
die Art und Weise, in der die Adressinformationen erhalten werden,
besteht darin, dass der Verwaltungsserver 100 die entsprechende
Beziehung zwischen der ID und der Adressinformation speichert und
jedes der Endgeräte 10 zur
Zeit der Registrierung in der Sendezielliste eine Anfrage an den
Verwaltungsserver 100 sendet. Die Verarbeitung ist in diesem
Fall jedoch kompliziert und erfordert mehr oder weniger zusätzliche Zeit.
Deshalb wird aus dieser Blickrichtung die Adressinformation, wie
zum Beispiel die IP-Adresse, vorzugsweise als die ID für jedes
der Endgeräte
verwendet. Ferner brauchen die in der Sendezielliste registrierten
Informationen nicht die Adresse selbst angebende Informationen zu
sein, sondern werden beliebige Informationen als die Adressinformationen
bezeichnet, vorausgesetzt, diese Informationen können als ein Schlüssel zum
Erhalten einer Adresse dienen, die für das Senden von Daten notwendig
ist.
-
Da
es ferner eine Voraussetzung ist, dass der Verwaltungsserver 100 dieselbe
Statusmitteilung an die an derselben Sitzung teilnehmenden Endgeräte gesendet
hat, kann derselbe Inhalt in den Klangquellenmodulen 17 der
Endgeräte
eingestellt werden, wenn die Endgeräte gemäß der Statusmitteilung die
Einstellung in den Klangquellenmodulen 17 vornehmen. Folglich
können
alle der Sitzung beitretenden Endgeräte in Reaktion auf ein MIDI-Ereignis
vom selben Endgerät
denselben Klang erzeugen. Wenn diese Gleichförmigkeit nicht aufrechterhalten
wird, das heißt
zum Beispiel wenn die auf den jeweiligen Kanal eingestellte Klangfarbe
sich je nach Endgerät unterscheidet,
erzeugt jedes Sendeziel für
dasselbe MIDI-Ereignis
einen anderen Klang, was zur Verwendung in einem die Sitzung verwendenden
Ensemble extrem ungünstig
ist. Im vorliegenden System kann ein solches Problem jedoch vermieden
werden.
-
Auf
der anderen Seite geht der Fluss, wenn bei Schritt S45 keine Statusmitteilung
vorliegt, welche die ID eines der anderen Geräte enthält, weiter zu Schritt S49.
Wenn dann eine Einstellungsänderungsmitteilung
vorgefunden wird, wird gemäß deren Inhalt
eine Einstellung im Klangquellenmodul 17 vorgenommen (S50).
Wie in der Beschreibung auf der Seite des Verwaltungsservers beschrieben,
ist es, da diese Mitteilung dieselbe ist, wie sie als das MIDI-Ereignis
von dem Endgerät
kommend empfangen wurde, das derselben Sitzung beigetreten ist,
nicht wesentlich, die Einstellung hier erneut zu ändern, sondern
ist die Verarbeitung absichtlich redundant gestaltet, um so die
Einstellungsänderung
sicherzustellen.
-
Wenn
bei Schritt S49 keine Einstellungsänderungsmitteilung vorliegt,
geht der Fluss weiter zu Schritt S51. Dann werden, wenn MIDI-Daten
vorliegen, die Daten entpackt, um an das Klangquellenmodul 17 geliefert
zu werden (S52). Die MIDI-Daten
enthalten eine Anweisung zum Starten oder Beenden der Klangerzeugung
und eine Anweisung zum Verändern
der Einstellung im Klangquellenmodul 17.
-
Wenn
bei Schritt S51 keine MIDI-Daten vorliegen, geht der Fluss zu Schritt
S53 weiter. Dann wird, wenn in der Übertragung der MIDI-Daten an
ein spezifisches Sendeziel eine vorbestimmte Anzahl von Malen ein Übertragungsfehler
auftritt, das dem Fehler entsprechende Sendeziel aus der Sendezielliste
gelöscht
(S54). Wenn ein bestimmtes Endgerät die Sitzung verlässt, so
tritt erwartungsgemäß ein Fehler
in der Übertragung
der MIDI-Daten an dieses Endgerät
auf. Deshalb wird in einem solchen Fall die Kommunikation mit diesem
Endgerät
beendet. Der Grund für
die Definition einer vorbestimmten Anzahl von Malen des Auftretens
des Fehlers als eine Grundlage zum Beenden der Kommunikation liegt darin,
dass verhindert werden soll, dass das zufällige Auftreten eines Fehlers
als das Verlassen der Sitzung gedeutet wird.
-
Wenn
wir zur Beschreibung von 10 zurückkehren,
geht, wenn bei Schritt S53 kein Übertragungsfehler
vorliegt, der Fluss zu Schritt S55 weiter, und wenn hier weitere
Daten vorgefunden werden, wird eine Verarbeitung gemäß deren
Inhalt ausgeführt
(S55, S56). Wenn auf der anderen Seite keine weiteren Daten vorliegen,
so bedeutet dies, dass die Verarbeitung für alle Daten im Empfangspuffer
abgeschlossen ist, weshalb die Verarbeitung im Fließdiagramm
beendet ist.
-
Nach
den Schritten S50, S52, S54 und S56 kehrt der Fluss zu Schritt S42
zurück
und wird die Verarbeitung wiederholt.
-
Als
Nächstes
zeigt 11 ein Fließdiagramm einer Verarbeitung
einer durch das Endgerät 10 ausgeführten Datenübertragung,
wobei der Schwerpunkt auf einem Teil liegt, der der Verarbeitung
zur Durchführung
der Sitzung entspricht.
-
Das
Endgerät 10 speichert
vorübergehend
in einem Sendepuffer die in Reaktion auf den Betrieb des Spieleingabegeräts 16 erzeugten
MIDI-Daten, an den Verwaltungsserver 100 zu sendende Mitteilungen
und dergleichen und führt
die im Fließdiagramm
von 11 gezeigte Verarbeitung zu einer regulären Zeit
zum Senden dieser Daten aus.
-
Es
wir darauf hingewiesen, dass die an den Verwaltungsserver 100 gesendeten
Mitteilungen die Beitrittsmitteilung, die Einstellungsänderungsmitteilung,
die Verlassensmitteilung und so weiter enthalten. Unter diesen wird
die Beitrittsmitteilung nämlich auf
der Grundlage der folgenden Informationen erzeugt: nämlich die
ID eines Kommunikationspartners, der durch die Betätigung eines
nicht gezeigten Betätigungselementes
oder dergleichen bestimmt wird; und der Einstellungsinhalt (Klangfarbennummer und
dergleichen), der beim Erzeugen von Klang auf der Grundlage der
MIDI-Daten zu verwenden ist, die vom Endgerät 10 selbst erzeugt
werden, wenn die ID des Kommunikationspartners bestimmt wird und
der Start der Sitzung angewiesen wird.
-
Eine
mögliche
Art und Weise zum Erzeugen der Einstellungsänderungsmitteilung ist die Überwachung
des Inhalts der Einstellung in dem Kanal, der ihm im Klangquellenmodul 17 zugewiesen
ist, und das Erzeugen einer Mitteilung, die gegebenenfalls eine Änderung
des Inhalts anzeigt, oder das Überwachen
des Inhalts von MIDI-Daten, die in den Sendepuffer geschrieben werden,
und das Duplizieren der MIDI-Daten als Paketdaten, die an den Verwaltungsserver 100 adressiert
sind, wenn MIDI-Daten über
die Änderung
des Inhalts der Einstellung im Klangquellenmodul 17, wie
zum Beispiel eine Programmänderung,
vorgefunden wird. Wenn die CPU 11 MIDI-Daten über die Änderung
des Inhalts der Einstellung erzeugt, können gleichzeitig die an den
Verwaltungsserver 100 adressierten Paketdaten erzeugt werden.
-
Die
Verlassensmitteilung wird erzeugt, wenn durch die Betätigung eines
nicht gezeigten Betätigungselements
oder dergleichen das Ende der Sitzung angewiesen wird.
-
Dann
wird zuerst in der in 11 gezeigten Verarbeitung der
Sendepuffer geprüft
(S61). Dann werden, wenn die MIDI-Daten vorgefunden werden, diese
MIDI- Daten auf Peer-to-Peer-Basis
direkt an die in die Sendeliste registrierten Geräte, nämlich alle Endgeräte, die
an derselben Sitzung teilnehmen, gesendet (S62, S63). Auf der anderen
Seite wird, wenn keine MIDI-Daten vorgefunden werden und eine an den
Verwaltungsserver 100 zu sendende Mitteilung vorliegt,
diese Mitteilung an den Verwaltungsserver 100 gesendet
(S64, S65). Dann kehrt in beiden Fällen der Fluss zu Schritt S62
zurück
und wird die Verarbeitung wiederholt. Wenn noch weitere Daten im Sendepuffer
vorgefunden werden, wird die Verarbeitung gemäß diesen Daten ausgeführt. Wenn
bei Schritt S64 keine Mitteilung vorliegt, dann bedeutet dies, dass
die Verarbeitung für
alle Daten im Sendepuffer abgeschlossen ist, weshalb die Verarbeitung im
Fließdiagramm
beendet ist.
-
Durch
Ausführen
der in 10 und 11 gezeigten,
oben beschriebenen Verarbeitung ist das Endgerät 10 dazu fähig, dem
Verwaltungsserver 100 die Anfrage zum Beitreten zur Sitzung
mitzuteilen, und ist dazu fähig,
den von ihm selbst genutzten Kanal, die Adressinformation des als
Kommunikationspartner gewählten
Geräts
und die Informationen über den
vom Kommunikationspartner genutzten Kanal auf der Grundlage der
vom Verwaltungsserver 100 erhaltenen Daten einzustellen,
um die MIDI-Daten auf der Grundlage dieser Einstellungen zu senden bzw.
zu empfangen.
-
Als
Nächstes
folgt anhand von 12 bis 18 die
Beschreibung eines Beispiels für
eine Betriebsabfolge des Verwaltungsservers 100 und des Endgeräts 10,
die durch Ausführen
der oben beschriebenen Verarbeitung umgesetzt wird. Es wird darauf
hingewiesen, dass in der Beschreibung dieser Zeichnungen unterschiedliche
Endgeräte
durch die Bezugszeichen mit A, B und C bezeichnet werden, um die
mehreren Endgeräte
voneinander zu unterscheiden.
-
Zuerst
zeigt 12 ein Beispiel für eine Verarbeitungsabfolge,
wenn ein erstes Endgerät
(Endgerät
A) die Beitrittsmitteilung sendet, während kein Endgerät im Verwaltungsserver 100 registriert
ist.
-
In
diesem Fall sendet das Endgerät
A (seine ID ist "ID#1") die Beitrittsmitteilung,
die die ID#1 als die eigene ID, die ID#2 (die ID eines Endgeräts B) als eine
Kommunikationspartner-ID und Prog#1 als die Informationen Ober die
Einstellung in der Klangquelle enthält, an den Verwaltungsserver 100 (S101).
-
Dann
führt der
Verwaltungsserver 100 nach Empfang der Beitrittsmitteilung
die Verarbeitung bei und nach Schritt S13 von 4 aus,
um eine neue Gruppe zu bilden (ihre ID ist "GRP#1") (S102), da das mit der ID#2 als der
Kommunikationspartner bezeichnete Gerät nicht registriert ist, registriert
das Endgerät
A in der Gruppenverwaltungstabelle als ein Mitglied der gebildeten
Gruppe (S103), weist dem Endgerät
A einen Kanal zu (S104), registriert Informationen über das
Endgerät
A in der Endgerätverwaltungstabelle
(S105) und sendet die Statusmitteilung an das Endgerät A, wodurch
diesem der zugewiesene Kanal mitgeteilt wird (S106). Übrigens
wird, da keine anderen Endgeräte
in der Gruppe registriert sind, in der das Endgerät A registriert
ist, die Statusmitteilung an keine anderen Endgeräte versendet.
-
Dann
führt,
in Reaktion auf die Mitteilung bei Schritt S106 das Endgerät A die
Verarbeitung bei und nach Schritt S43 in 10 aus,
um dem Spieleingabegerät 16 CH#1
zuzuweisen und den Inhalt von Prog#1 in dem Kanal CH#1 im Klangquellenmodul 17 einzustellen
(5107).
-
13A und 13B zeigen
Zustände
der Gruppenverwaltungstabelle und der Endgerätverwaltungstabelle, wenn diese
Verarbeitung abgeschlossen ist.
-
Wie
in diesen Zeichnungen gezeigt, wird in der Gruppenverwaltungstabelle
die Gruppe GRP#1 neu gebildet und ID#1, welches die ID des Endgeräts A ist,
hinzugefügt
und werden auch Informationen über
das Endgerät
A ebenfalls in der Endgerätverwaltungstabelle
registriert. Die Kanalnummer wird vom Verwaltungsserver 100 dynamisch
zugewiesen. Es wird darauf hingewiesen, dass die Informationen über den
Kommunikationspartner nach ihrer Registrierung in der Tabelle keine
besondere Bedeutung haben.
-
Als
Nächstes
zeigt 14 ein Beispiel für eine Verarbeitungsabfolge,
wenn das nächste
Endgerät
(Endgerät
B) die Beitrittsmitteilung sendet, die ihre Absicht zum Durchführen einer
Sitzung mit dem Endgerät
A nach der Verarbeitung in 12 angibt.
-
In
diesem Fall sendet das Endgerät
B (ihre ID ist "ID#2") die Beitrittsmitteilung,
welche die ID#2 als die eigene ID, ID#1 als die ID des Kommunikationspartners, Prog#2
als die Information über
die Einstellung in der Klangquelle enthält, an den Verwaltungsserver 100 (S111).
-
Dann
führt der
Verwaltungsserver 100, der die Beitrittsmitteilung empfängt, auch
die Verarbeitung bei und nach Schritt S13 in 4 aus. Da
das Gerät
mit der ID#1, das als der Kommunikationspartner bezeichnet wurde,
schon in der Gruppe GRP#1 registriert wurde, registriert der Verwaltungsserver 100 das
Endgerät
B in der Gruppenverwaltungstabelle als ein Mitglied der Gruppe GRP#1
(S112), weist dem Endgerät
B einen Kanal zu, der sich von dem unterscheidet, der dem Endgerät A zugewiesen
wurde (S113), registriert Informationen über das Endgerät B in der
Endgerätverwaltungstabelle
(S114) und sendet die Statusmitteilung an das Endgerät B, wodurch
der zugewiesene Kanal und die Informationen über das Endgerät A in derselben
Gruppe mitgeteilt wird (S115).
-
Dann
führt gemäß dieser
Mitteilung das Endgerät
B die Verarbeitung bei und nach Schritt S43 sowie die Verarbeitung
bei und nach Schritt S46 in 10 aus,
um dem Spieleingabegerät 16 CH#2
zuzuweisen, den Inhalt von Prog#1 und Prog#2 im CH#1 bzw. CH#2 im
Klangquellenmodul 17 einzustellen und die Adressinformation
des Endgeräts
A in der Sendezielliste zu registrieren (S116).
-
Ferner
sendet der Verwaltungsserver 100 die Statusmitteilung auch
an das Endgerät
A, wodurch die Informationen über
das Endgerät
B, das neu in derselben Gruppe registriert ist, mitzuteilen (S117).
Dann führt
das Endgerät
A die Verarbeitung bei und nach Schritt S46 in 10 aus,
um den Inhalt von Prog#2 in dem Kanal CH#2 im Klangquellenmodul 17 gemäß dieser
Mitteilung einzustellen und die Adressinformation des Endgeräts B in
der Sendezielliste zu registrieren (S118).
-
Dann
werden durch die vorhergehende Verarbeitung das Endgerät A und
das Endgerät
B dazu befähigt,
die MIDI-Daten auf der Peer-to-Peer-Basis zueinander zu senden bzw.
voneinander zu empfangen, um ihre Kommunikation zu beginnen (S119).
-
15 zeigt
Zustände
der Gruppenverwaltungstabelle und der Endgerätverwaltungstabelle, wenn diese
Verarbeitung abgeschlossen ist.
-
Wie
in 15 gezeigt, wird in der Gruppenverwaltungstabelle
ID#2, bei der es sich um die ID des Endgeräts B handelt, als ein Mitglied
der Gruppe GRP#1 hinzugefügt,
und werden die Informationen über
das Endgerät
B ebenfalls in der Endgerätverwaltungstabelle
registriert. Ferner ist es durch Bezugnahme auf die Endgerätverwaltungstabelle
oder durch direkte Bezugnahme auf die Gruppenverwaltungstabelle
bekannt, dass das Gerät
mit ID#1, das vom Endgerät
B als der Kommunikationspartner bezeichnet wurde, ein Mitglied der
Gruppe GRP#1 ist.
-
Als
Nächstes
zeigt 16 ein Beispiel einer Verarbeitungsabfolge,
wenn ein nächstes
Endgerät (Endgerät C) die
Beitrittsmitteilung sendet, die ihre Absicht zum Durchführen einer
Sitzung mit dem Endgerät
A angibt.
-
In
diesem Fall sendet das Endgerät
C (ihre ID ist "ID#3") die Beitrittsmitteilung,
welche die ID Nr. 3 als die eigene ID enthält, die ID#1 als die ID des Kommunikationspartners
und Prog#3 als die Informationen über die Einstellung in der
Klangquelle an den Verwaltungsserver 100 (S121). Es wird
darauf hingewiesen, dass dieselbe Operation wie die unten Beschriebene
auch ausgeführt
wird, wenn die ID des Kommunikationspartners ID#2 ist.
-
Dann
führt der
Verwaltungsserver 100, der die Beitrittsmitteilung empfängt, die
Verarbeitung in ähnlicher
Weise bei und nach Schritt S13 in 4 aus, um
das Endgerät
C in der Gruppenverwaltungstabelle als ein Mitglied der Gruppe GRP#1
zu registrieren (S122), da das Gerät mit ID#1, das als der Kommunikationspartner
bezeichnet ist, in der Gruppe GRP#1 registriert ist, dem Endgerät C einen
Kanal zuzuweisen, der nicht einer derjenigen ist, die dem Endgerät A und
dem Endgerät
B zugewiesen wurden (S123), die Informationen über das Endgerät C in der Endgerätverwaltungstabelle
zu registrieren (S124), und die Statusmitteilung an das Endgerät C zu senden,
wodurch der zugewiesene Kanal und die Informationen über das
Endgerät
A und das Endgerät
B in derselben Gruppe mitgeteilt werden (S125).
-
Dann
führt gemäß dieser
Mitteilung das Endgerät
C die Verarbeitung bei und nach Schritt S43 sowie die Verarbeitung
bei und nach Schritt S46 in 10 aus,
um dem Spieleingabegerät 16 CH#3
zuzuweisen, den Inhalt von Prog#1, Prog#2 und Prog#3 in den Kanälen CH#1,
CH#2 bzw. CH#3 im Klangquellenmodul 17 einzustellen und
Adressinformationen des Endgeräts
A und des Endgeräts
B in der Sendezielliste zu registrieren (S126).
-
Ferner
sendet der Verwaltungsserver 100 die Statusmitteilung auch
an das Endgerät
A und das Endgerät
B, wodurch Informationen über
das Endgerät
C mitgeteilt werden, das neu in derselben Gruppe registriert ist
(S127, S128). Dann führt
jeweils das Endgerät
A und das Endgerät
B die Verarbeitung bei und nach Schritt S46 in 10 gemäß dieser
Mitteilung aus, um den Inhalt von Prog#3 in dem Kanal CH#3 im Klangquellenmodul 17 einzustellen
und Adressinformationen des Endgeräts C in der Sendezielliste
zu registrieren (S129, S130).
-
Dann
wird durch die vorhergehende Verarbeitung das Endgerät C dazu
befähigt,
MIDI-Daten auf Peer-to-Peer-Basis an das Endgerät A und das Endgerät B zu senden
bzw. von ihnen zu empfangen, um mit ihnen die Kommunikation zu beginnen (S131).
Ferner führen
Endgerät
A und Endgerät
B ihre Kommunikation wie zuvor fort (S132). Daher werden durch die
vorhergehenden Verarbeitung die Endgeräte A, B und C dazu befähigt, miteinander
auf Peer-to-Peer-Basis zu kommunizieren.
-
Ferner
wird auf der Seite des Endgeräts
C dieses nur durch die Bezeichnung eines Kommunikationspartners
dazu befähigt,
gleichzeitig mit noch einem anderen Kommunikationspartner zu kommunizieren,
der mit diesem Kommunikationspartner kommuniziert.
-
Als
Nächstes
zeigt 17 ein Beispiel für eine Verarbeitungsabfolge,
wenn eine Verarbeitung zum Ändern
der Einstellung im Klangquellenmodul 17 im Endgerät A nach
der Verarbeitung von 16 durchgeführt wird.
-
In
diesem Fall erzeugt, wenn der Einstellungsänderungsvorgang erfasst wird,
das Endgerät
A ein entsprechendes MIDI-Ereignis (hier ein MIDI-Programmänderungsereignis
zum Ändern
der Einstellung am Kanal CH#1 auf Prog#4), um es an das Klangquellenmodul 17 zu
liefern, und ändert
die Einstellung im Klangquellenmodul 17 (S141). Ferner sendet
es dasselbe MIDI-Ereignis an die in der Sendezielliste registrierten
Sendeziele (S142). Dann führen
die anderen Endgeräte,
welche das MIDI-Ereignis empfangen, die Verarbeitung bei Schritt
S52 in
-
10 aus,
um ebenfalls die Einstellungen in den Klangquellenmodulen 17 gemäß dem MIDI-Ereignis
zu ändern
(S143).
-
Inzwischen
sendet das Endgerät
A die Einstellungsänderungsmitteilung,
die angibt, dass die Einstellung in dem Kanal CH#1 auf Prog#4 geändert wird,
auch an den Verwaltungsserver 100 (S144). Dann führt der
Verwaltungsserver 100 die Verarbeitung bei und nach Schritt
S22 in 4 aus, um die Information über das Endgerät A in der
Endgerätverwaltungstabelle
gemäß dem Inhalt
der Mitteilung zu ändern
(S145) und um die Einstellungsänderungsmitteilung
an die Endgeräte
in derselben Gruppe zu senden, zu der das Endgerät A gehört, wodurch diesen die Änderung
der Einstellung mitgeteilt wird (S146). Dann führt jedes der die Mitteilung
empfangenden Endgeräte
die Verarbeitung bei Schritt S50 in 10 aus,
um die Einstellung im Klangquellenmodul 17 gemäß dem Inhalt
der Mitteilung zu ändern (S147).
Wie oben beschrieben, wird die Verarbeitung bei Schritt S147 ausgeführt, um
einen Fehler zu verhindern, auch wenn dies normalerweise redundant ist,
da sich diese Verarbeitung mit der Verarbeitung bei Schritt S141
oder S143 überlappt.
-
Als
ein Ergebnis der vorhergehenden Verarbeitung kann die Änderung
der Einstellung im Klangquellenmodul 17 in einem Endgerät auch in
den anderen Endgeräten
widergespiegelt werden.
-
Als
Nächstes
zeigt 18 ein Beispiel für eine Verarbeitungsabfolge,
wenn ein Sitzungsendvorgang im Endgerät A nach der Verarbeitung in 17 durchgeführt wird.
-
In
diesem Fall sendet das Endgerät
A, wenn es den Endvorgang erfasst, die Verlassensmitteilung an den
Verwaltungsserver 100 (S151) und beendet zur gleichen Zeit
die Kommunikation mit den anderen Endgeräten (S152). Dann führt in Reaktion
auf die Verlassensmitteilung der Verwaltungsserver 100 die Verarbeitung
bei und nach Schritt S32 in 5 aus, um
die Informationen über
das mitteilende Endgerät A
aus der Gruppenverwaltungstabelle und der Endgerätverwaltungstabelle zu löschen (S153).
-
Ferner
kommunizieren das Endgerät
B und das Endgerät
C, welche die Sitzung mit dem Endgerät A durchgeführt haben,
nicht mehr mit dem Endgerät
A (S154) und führen
daher die Verarbeitung bei Schritt S54 in 10 aus,
um das Endgerät
A aus den entsprechenden Sendeziellisten zu löschen (S155, S156). Das Endgerät B und
das Endgerät
C führen
ihre Kommunikation jedoch fort (S157).
-
Durch
die vorhergehende Verarbeitung kann das Endgerät A die Sitzung verlassen.
-
Gemäß dem Kommunikationsverwaltungssystem 1 für Spieldaten,
das bisher geschrieben wurde, kann beim Beitreten der Sitzung lediglich
durch das Bezeichnen eines der Endgeräte, mit denen das Endgerät 10 Daten
austauschen möchte,
und durch das Senden einer Beitrittsanfrage an den Verwaltungsserver 100 jedes
der Endgeräte 10 der
Sitzung beitreten, der das bezeichnete Endgerät beigetreten ist, und an alle
Endgeräte,
die an derselben Sitzung teilnehmen, Daten senden bzw. von ihnen
empfangen. Ferner kann, wenn ein gewünschter Kommunikationspartner
keine Sitzung ausführt,
automatisch eine neue Sitzungsgruppe gebildet werden. Hierdurch
erübrigt
sich die Notwendigkeit für
einen komplizierten Vorgang, wie zum Beispiel einen Vorgang zum
Einrichten eines Sitzungsraums zum Beitreten zur Sitzung, so dass
das Ausmaß der
Freiheit bei der Bildung einer Sitzung erhöht werden kann und jedes Gerät mit einem
einfachen Vorgang der Sitzung beitreten kann.
-
Darüber hinaus
kann, wenn der Verwaltungsserver 100 auch die Informationen über die
Einstellungen in den Klangquellen verwaltet, dieser einem der Sitzung
neu beitretenden Endgerät
den Inhalt der Einstellungen in den Klangquellenmodulen in den Endgeräten mitteilen,
die schon an der Sitzung teilnehmen, und kann umgekehrt auch dem
schon an der Sitzung teilnehmenden Endgeräten den Inhalt der Einstellungen
in dem Klangquellenmodul des Endgerätes mitteilen, das der Sitzung
neu beitritt. Daher ist es, wenn jedes Endgerät diese Einstellung im Klangquellenmodul
auf der Grundlage dieser Mitteilung vornimmt, möglich, einen gemeinsamen Inhalt
in den Klangquellenmodulen der Geräte einzustellen, die an derselben
Sitzung teilnehmen, ohne einen speziellen Einstellvorgang eines
Benutzers, wenn ein jeweiliges Gerät der Sitzung beitritt. Daher
kann derselbe Klang gemäß einem
MIDI-Ereignis erzeugt werden, an welches Gerät das MIDI-Ereignis auch immer
gesendet wird.
-
Ferner
erfordert die Übertragung
der MIDI-Daten unter den Endgeräten
keinen Eingriff auf Seiten des Verwaltungsservers 100,
sondern handelt es sich um eine Peer-to-Peer-Übertragung, was eine Verzögerung bei
der Datenübertragung
verringern kann
-
Zweite Ausführungsform: 19 bis 27
-
Es
folgt eine Beschreibung einer zweiten Ausführungsform des Kommunikationsverwaltungssystems
für Spieldaten. 19 ist
ein Blockdiagramm, das eine schematisch Konfiguration des Kommunikationsverwaltungssystems
für Spieldaten zeigt.
-
Bei
dem in 19 dargestellten Kommunikationsverwaltungssystem 2 für Spieldaten
ist eine Vielzahl von Endgeräten 20 zur
Kommunikation miteinander über
ein Netzwerk 30 fähig
und hat jedes der Endgeräte 20 die
Funktion des Endgeräts 10 sowie
die Funktion des Verwaltungsservers 100, die in der ersten
Ausführungsform
beschrieben wurden. Das heißt,
das jedes der Endgeräte 20 sowohl
einer elektronischen Musikvorrichtung als auch einem Kommunikationsverwaltungsgerät für Spieldaten
entspricht. Es wird darauf hingewiesen, dass eines der Endgeräte 20 als
ein Master-Knoten in einer Sitzung einer Gruppe fungiert, und dass
die Funktion als der Verwaltungsserver 100 lediglich im
Master-Knoten aktiv ist und die Funktion als der Verwaltungsserver 100 in
den anderen Endgeräten 20 inaktiv
ist.
-
Sollte übrigens
eine Situation eintreten, bei der zwei oder mehr Endgeräte 20 in
einer Sitzung einer Gruppe gleichzeitig Master werden, verhandeln sie
miteinander entsprechend, und dadurch, dass einem Endgerät eine höhere Priorität eingeräumt wird, dessen
Zeitstempel für
eine Zeit, zu der es ein Master wird, früher ist, oder durch ein zufälliges Verfahren wird
eines der Endgeräte 20 als
ein Endgerät
bestimmt, das als ein Master-Knoten fungiert. Wenn zwei oder mehr
Endgeräte 20 gleichzeitig
versuchen, einer Sitzung beizutreten, so tritt eine solche Situation
wahrscheinlich auf. Eine weitere Möglichkeit besteht darin, innerhalb
eines Bereichs die Existenz lediglich eines Master-Knotens zu erlauben,
mit dem jedes Endgerät 20 über das
Netzwerk 30 in Kommunikation treten kann.
-
Als
das Netzwerk 30 sind verschiedene Arten von Kommunikationspfaden,
wie zum Beispiel LAN und das Internet, verwendbar. Jede beliebige Netzwerktopologie
ist einsetzbar.
-
Das
Endgerät 20 hat,
wie oben beschrieben, dieselbe Hardwarekonfiguration wie diejenige
des Endgeräts 10 der
ersten Ausführungsform,
weshalb ihre Beschreibung hier weggelassen wird. Ferner werden dieselben
Bezugszeichen wie in 2 dazu verwendet, die entsprechenden
Komponenten zu bezeichnen.
-
Hiernach
werden verschiedene Arten der von Endgerät 20 durchgeführten Verarbeitung
anhand der Fließdiagramme
in 20 bis 24 beschrieben.
Was mit der in der ersten Ausführungsform
beschriebenen Verarbeitung gemeinsam ist, wird nur kurz oder gar
nicht beschrieben.
-
Als
Erstes zeigt 20 ein Fließdiagramm einer Verarbeitung
zum Beitreten zu einer Sitzung.
-
Wenn
das Endgerät 20 eine
Anweisung zum Beitreten einer Sitzung durch ein nicht gezeigtes
Betätigungselement
entgegennimmt, so beginnt es mit der im Fließdiagramm von 20 gezeigten
Verarbeitung. Dann sendet das Endgerät 20 zuerst eine Master-Suchmitteilung
an alle Knoten des Netzwerks 30 oder an einen Adressbereich
aus, in dem angenommen wird, dass ein Partner existiert, mit dem
das Endgerät 20 über eine
Sitzung zu kommunizieren wünscht,
wodurch eine Suche ausgeführt
wird, um herauszufinden, ob es ein Endgerät 20 gibt oder nicht,
das schon ein Master-Knoten (hiernach einfach als "Master" bezeichnet) geworden
ist oder nicht (S201). Wenn der gewünschte Kommunikationspartner
einzeln bekannt ist, kann die Master-Suchmitteilung an diesen einzeln
gesendet werden. In der Verarbeitung bei Schritt S201 fungiert eine
CPU des Endgeräts 20 als
eine Sucheinrichtung.
-
Sollte
dann gegebenenfalls ein als ein Master fungierendes Gerät eine Antwort
zurückschicken, wird
auf der Grundlage der Existenz der Antwort beurteilt, ob ein Master
existiert oder nicht (S202). Wenn dies der Fall ist, wird an den
Master eine Mitteilung gesendet (S203) und die Verarbeitung beendet.
Diese Beitrittsmitteilung kann dieselbe Struktur wie die in 6 Gezeigte
haben, da es jedoch mindestens klar ist, dass der Master hier der
Kommunikationspartner ist, braucht die Kommunikationspartner-ID
nicht enthalten zu sein.
-
Wenn
auf der anderen Seite kein Master existiert, wird das eigene Gerät als ein
Master definiert (S204), ein von ihm selbst verwendeter Kanal bestimmt
(S205) und eine von ihm selbst verwendete Einstellung des bestimmten
Kanals in einem Klangquellenmodul 17 vorgenommen (S206).
Dann wird eine Knoteninformationstabelle erstellt, notwendige Informationen
darin registriert (S207) und dann die Verarbeitung beendet.
-
Als
Nächstes
zeigt 21 ein Beispiel für die Knoteninformationstabelle.
-
Die
Knoteninformationstabelle wird in jedem der Endgeräte 20 gespeichert
und entspricht der Endgerätverwaltungstabelle
der ersten Ausführungsform.
Sie enthält
Informationen über
eine Sitzung, der das Endgerät
selbst beigetreten ist, nämlich
Informationen über
die Endgeräte,
die der Sitzung beitreten, sowie Informationen über eine ID des Masters in
dieser Sitzung.
-
Die
IDs, die Kanalnummern und die Informationen über die Einstellungen in den
Klangquellen werden als die Informationen über die Endgeräte registriert.
Da hier die Informationen über
die Endgeräte
gehandhabt werden, die einer Sitzung beitreten, sind die Kommunikationspartner-ID
und die Gruppennummer nicht notwendig und werden nicht registriert.
-
Mindestens
der Master muss diese Knoteninformationstabelle speichern, doch
speichern hier alle Endgeräte 20,
die der Sitzung beitreten, die Knoteninformationstabelle, um die
Verarbeitung zu vereinfachen, wenn der Master die Sitzung verlässt.
-
Als
Nächstes
zeigt 22 ein Fließdiagramm einer Verarbeitung
gemäß empfangener
Daten, die vom Endgerät 20,
das der Master ist, ausgeführt
wird.
-
Das
Endgerät 20 speichert
in einem Empfangspuffer vorübergehend
Daten, die von externen Geräten,
wie zum Beispiel den anderen Endgeräten 20, empfangen
werden, und wenn das Endgerät 20 selbst
ein Master ist, so führt
es die im Fließdiagramm
in 22 gezeigte Verarbeitung zu einer regulären Zeit
aus, um die für
die Daten entsprechende Verarbeitung auszuführen.
-
Dann
wird in dieser Verarbeitung zuerst der Empfangspuffer geprüft (S211).
Wenn dann eine Beitrittsmitteilung vorliegt (S212), wird die Verarbeitung für die Beitrittsmitteilung
bei den Schritten S213 bis S218 ausgeführt. Diese Verarbeitung ist
dieselbe wie die Verarbeitung bei den Schritten S13 bis S20 von 4,
bis auf die folgenden Punkte. Nämlich:
bei der hier genannten Tabelle handelt es sich um die Knoteninformationstabelle,
keine Verarbeitung hinsichtlich einer Gruppe ist enthalten, der
Inhalt der Knoteninformationstabelle wird insgesamt zur Zeit der
Informationsmitteilung an das mitteilende Gerät gesendet, und der Master
selbst aktualisiert auch die Sendezielliste und nimmt die Einstellung
in der Klangquelle in derselben Weise wie bei den Schritten S47 und
S48 in 10 vor (S218).
-
Ferner
fungiert in der Verarbeitung bei den Schritten S213 bis S218 die
CPU des Endgeräts 20 als
eine Sitzungsinformationsmitteilungsvorrichtung. Ferner kann, da
die Endgeräte 20,
die nicht der Master sind, diesen Teil der Verarbeitung nicht ausführen, wie
noch beschrieben wird, behauptet werden, dass die Funktion der Sitzungsinformationsmitteilungsvorrichtung
wirksam wird, wenn sie als ein Master tätig werden, und umgekehrt.
-
Dann
kehrt nach Schritt S218 der Fluss zu Schritt S212 zurück und wird
die Verarbeitung wiederholt. Wenn sich weitere Daten im Empfangspuffer befinden,
wird die Verarbeitung gemäß diesen
Daten ausgeführt.
-
Wenn
sich auf der anderen Seite bei Schritt S212 keine Beitrittsmitteilung
findet, geht der Fluss zu Schritt S219 weiter, und wenn hier eine
Verlassensmitteilung aufgefunden wird, wird bei den Schritten S220
und S221 eine Verarbeitung gemäß der Verlassensmitteilung
ausgeführt.
Diese Verarbeitung entspricht der Verarbeitung bei und nach Schritt
S132 in 5. Da jedoch jedes der Endgeräte 20 hier
die Knoteninformationstabelle speichert, wird der Inhalt der Änderung
in der Tabelle auch den anderen Endgeräten mitgeteilt (S221).
-
Wenn
auf der anderen Seite bei Schritt S219 keine Verlassensmitteilung
vorgefunden wird, geht der Fluss zu Schritt S222 weiter. Wenn dann
eine Mastersuchmitteilung vorgefunden wird, wird als Antwort die
eigene ID zurückgeschickt
(S223).
-
Ferner
geht, wenn bei Schritt S222 keine Mastersuchmitteilung gefunden
wird, der Fluss zur Verarbeitung bei und nach Schritt S224 weiter,
und wenn MIDI-Daten, ein Kommunikationsfehler oder weitere Daten
vorgefunden werden, wird eine Verarbeitung gemäß den vorgefundenen Daten ausgeführt (S224
bis S229). Diese Verarbeitung ist dieselbe wie diejenige bei den
Schritten S51 bis S56 in 10.
-
Ferner
kehrt nach den Schritten S221, S223, S225, S227 und S229 der Fluss
zu Schritt S212 zurück
und wird die Verarbeitung wiederholt.
-
Als
Nächstes
zeigt 23 ein Fließdiagramm einer Verarbeitung
für empfangene
Daten, die vom Endgerät 20 ausgeführt wird,
das nicht der Master ist.
-
Das
Endgerät 20,
das nicht der Master ist, führt
die im Fließdiagramm
in 23 gezeigte Verarbeitung zu einer regulären Zeit
anstelle der im Fließdiagramm
in 22 gezeigten Verarbeitung durch, um eine Verarbeitung
auszuführen,
die für
die im Empfangspuffer gespeicherten Daten entsprechend ist.
-
Dann
wird in dieser Verarbeitung zuerst der Empfangspuffer geprüft (S231).
Wenn dann eine Statusmitteilung vorgefunden wird (S232), wird die
Knoteninformationstabelle die in sich selbst gespeichert ist, gemäß dem Inhalt
der Mitteilung aktualisiert (S233), wird ein Kanal der Spieleingabevorrichtung 16 zugewiesen,
im Klangquellenmodul die Einstellung vorgenommen und die Sendezielliste
aktualisiert (S234). Die Verarbeitung bei Schritt S234 entspricht
der Verarbeitung bei den Schritten S42 bis S48 in 10.
-
Wenn
auf der anderen Seite bei Schritt S232 keine Statusmitteilung vorgefunden
wird, geht der Fluss zu Schritt S235 weiter. Wenn dann eine Verlassensmitteilung
vorgefunden wird, wird bei den Schritten S236 bis S238 eine Verarbeitung
gemäß der Verlassensmitteilung
ausgeführt. Übrigens
sendet beim Verlassen der Sitzung jedes der Endgeräte 20,
das nicht der Master ist, die Verlassensmitteilung an den Master,
weshalb die Endgeräte 20,
welche nicht der Master sind, die Verlassensmitteilung lediglich
vom Master empfangen. Umgekehrt sendet der Master, wenn er die Sitzung
verlassen möchte,
die Verlassensmitteilung an das Endgerät 20, das der Master unter
den Endgeräten 20,
die an der Sitzung teilnehmen, als den nächsten Master benennen möchte.
-
Dann
wird in der Verarbeitung gemäß der Verlassensmitteilung
das eigene Gerät
zuerst als ein Master in der Knoteninformationstabelle registriert (S236)
und werden Informationen über
das Endgerät,
das die Sitzung verlassen hat (vorhergehender Master) aus der Knoteninformationstabelle
gelöscht (S237).
Hiernach fungiert das Endgerät 20,
das diese Verarbeitung ausführt,
als ein Master, und wird die Kanalzuweisung an das Endgerät, das die
Sitzung verlassen hat, gelöscht.
Hiernach wird die Statusmitteilung an alle anderen Endgeräte gesendet,
die in der Knoteninformationstabelle registriert sind, wodurch der
Inhalt der Veränderung
in der Tabelle diesen mitgeteilt wird (S238). Durch die vorhergehende Verarbeitung
kann der Master geändert
werden.
-
Ferner
geht, wenn bei Schritt S235 keine Verlassensmitteilung vorgefunden
wird, der Fluss zur Verarbeitung bei und nach Schritt S239, und
wenn MIDI-Daten, ein Kommunikationsfehler oder weitere Daten vorgefunden
werden, wird eine Verarbeitung gemäß den vorgefundenen Daten ausgeführt (S239 bis
S244). Diese Verarbeitung ist dieselbe wie die Verarbeitung bei
den Schritten S51 bis S56 von 10.
-
Ferner
kehrt nach den Schritten S234, S238, S240, S242 und S244 der Fluss
zu Schritt S232 zurück
und wird die Verarbeitung wiederholt.
-
Wenn
die Einstellung in der Klangquelle in jedem an der Sitzung teilnehmenden
Endgerät
verändert
wird, wird dem Endgerät 20,
das der Master ist, im Gegensatz zum Verwaltungsserver 100,
die Veränderung
durch das MIDI-Ereignis
mitgeteilt. Ferner ist es, ohne dass der Inhalt getrennt gespeichert
wird, möglich
zu wissen, welche Art der Einstellung an einem Kanal vorgenommen
wird, der einem jeweiligen Endgerät zugewiesen ist, indem auf
den Inhalt der Einstellungen im eigenen Klangquellenmodul 17 Bezug
genommen wird. Deshalb kann im Gegensatz zur ersten Ausführungsform
auf der Grundlage dieser Informationen der Inhalt der Informationen über die
Einstellung in der Klangquelle in der Knoteninformationstabelle
mit dem aktuellen Status der entsprechenden Endgeräte konsistent
gehalten werden, ohne dass dazu die Einstellungsänderungsmitteilung verwendet
wird (diese Verarbeitung ist in der Zeichnung nicht gezeigt). Auch
in dieser Ausführungsform kann
jedoch die Einstellungsänderungsmitteilung
getrennt von dem Senden/Empfangen des MIDI-Ereignisses gesendet/empfangen werden.
Dies gilt zusätzlich
zu den Endgeräten 20,
die nicht der Master sind, auch für den Master.
-
Als
Nächstes
zeigt 24 ein Fließdiagramm einer Verarbeitung
zum Datensenden, die von der CPU des Endgeräts 20 ausgeführt wird.
-
Diese
Verarbeitung wird gemeinsam vom Master und den Endgeräten, die
nicht der Master sind, ausgeführt.
Mitteilungen, die in dieser Verarbeitung übertragen werden, sind zum
Beispiel die Beitrittsmitteilung, die Verlassensmitteilung, die
Mastersuchmitteilung und dergleichen, und da ein Sendeziel nicht
eindeutig ist, wird die andere Partei, an welche die Mitteilung
gesendet werden soll (zum Beispiel der Master) angegeben, wenn die
Mitteilung bei den Schritten S254 und S255 gesendet wird. In anderen
Punkten ist die in 24 gezeigte Verarbeitung im
Wesentlichen die gleiche wie die in 11 in
der ersten Ausführungsform
gezeigte Verarbeitung.
-
Durch
Ausführen
der oben beschriebenen und in 22 und 24 gezeigten
Verarbeitung ist das Endgerät 20 als
der Master dazu fähig,
Operationen auszuführen,
die sowohl die Funktion des Endgeräts 10 als auch die
Funktion des Verwaltungsservers 100 in der ersten Ausführungsform
enthalten.
-
Ferner
sind durch Ausführen
der oben beschriebenen und in 23 und 24 gezeigten Verarbeitung
die Endgeräte 20,
die nicht der Master sind, dazu fähig, Operationen zum Fungieren
als ein nächster
Master durchzuführen,
wenn das vom Master angefordert wird, während sie dieselbe Funktion wie
diejenige des Endgeräts 10 in
der ersten Ausführungsform
umsetzen.
-
Es
folgt anhand von 25 bis 27 eine Beschreibung
eines Beispiels für
eine Operationsabfolge, welche jedes der Endgeräte 20 durch die oben beschriebene
Verarbeitung ausführt.
Es wird darauf hingewiesen, dass in diesen Zeichnungen entsprechende
Endgeräte
durch Referenzzeichen mit A, B und C bezeichnet werden, und die
mehreren Endgeräte
voneinander zu unterscheiden.
-
Als
Erstes zeigt 25 ein Beispiel für eine Verarbeitungsabfolge,
wenn ein zweites Endgerät (Endgerät B) die
Beitrittsmitteilung an ein Endgerät A (seine ID ist "ID#1"), das der Master
ist, sendet.
-
In
diesem Fall führt
das Endgerät
B (seine ID ist "ID#2") die Verarbeitung
bei Schritt S201 in 20 aus, um durch Rundsenden
eine Mastersuche auszuführen
(S311), und sendet das Endgerät
A, das der Master ist, hierauf eine Antwort zurück, indem die Verarbeitung
bei Schritt S223 in 22 ausgeführt wird (S312). Dann sendet
durch die Verarbeitung bei Schritt S203 in 20 das
Endgerät
B die Beitrittsmitteilung, welche die ID#2 als die eigene ID und
Prog#2 als die Informationen über
die Einstellung in der Klangquelle enthält, an das Endgerät A, das
die Antwort zurückschickt
(S313).
-
Dann
führt das
die Beitrittsmitteilung empfangende Endgerät A die Verarbeitung bei und
nach Schritt S214 in 22 aus, um dem Endgerät B einen
Kanal CH#2 zuzuweisen, der sich von einem Kanal unterscheidet, der
dem Endgerät
A zugewiesen ist (S314), die Informationen über das Endgerät B in der
Knoteninformationstabelle zu registrieren (S315), den Inhalt von
Prog#2 in dem Kanal CH#2 im zweiten Klangquellenmodul 17 gemäß dem Inhalt
der Mitteilung einzustellen und die Adressinformation des Endgeräts B in
der Sendezielliste zu registrieren (S316). Hiernach wird die Statusmitteilung
an das Endgerät
B gesendet, wodurch der Inhalt der Knoteninformationstabelle diesem
mitgeteilt wird (S317).
-
Dann
führt gemäß dieser
Mitteilung das Endgerät
B die Verarbeitung bei und nach Schritt S233 in 23 aus,
um die Knoteninformationstabelle zu aktualisieren (in diesem Fall
sie neu zu erstellen), CH#2 dem Spieleingabegerät 16 zuzuweisen, den
Inhalt von Prog#1 und Prog#2 in den Kanälen CH#1 bzw. CH#2 im Klangquellenmodul 17 einzustellen
und die Adressinformationen des Endgeräts A in der Sendezielliste
zu registrieren (S319).
-
Folglich
werden das Endgerät
A und das Endgerät
B dazu befähigt,
die MIDI-Daten auf Peer-to-Peer-Basis
zueinander zu senden bzw. voneinander zu empfangen, um ihre Kommunikation
zu beginnen (S320).
-
Als
Nächstes
zeigt 26 ein Beispiel für eine Verarbeitungsabfolge,
wenn ein nächstes
Endgerät
(Endgerät
C) die Beitrittsmitteilung an das Endgerät A nach der Verarbeitung in 25 sendet.
-
In
diesem Fall tauscht das Endgerät
C (seine ID ist "ID#3") in ähnlicher
Weise wie im Fall von 25 die Mastersuche und die Antwort
mit dem Endgerät
A aus (S331, S332) und sendet hiernach an das Endgerät A die
Beitrittsmitteilung, welche die ID#3 als die eigene ID und Prog#3
als die Informationen über
die Einstellung in der Klangquelle enthält (S333).
-
Dann
führt das
Endgerät
A, das die Beitrittsmitteilung empfängt, in ähnlicher Weise die Verarbeitung
bei und nach Schritt S214 in 22 aus,
um dem Endgerät
C einen Kanal CH#3 zuzuweisen, der sich von den Kanälen unterscheidet,
die dem Endgerät
A und dem Endgerät
B zugewiesen wurden (S334), die Informationen über das Endgerät C in der Knoteninformationstabelle
zu registrieren (S335), den Inhalt von Prog#3 in dem Kanal CH#3
im Klangquellenmodul 17 gemäß dem Inhalt der Mitteilung einzustellen
und die Adressinformation des Endgeräts C in der Sendezielliste
zu registrieren (S336). Hiernach wird die Statusmitteilung an das
Endgerät
C gesendet, wodurch der Inhalt der Knoteninformationstabelle dieser
mitgeteilt wird (S337). Ferner wird der Inhalt der Änderung
in der Knoteninformationstabelle auch dem Endgerät B mitgeteilt, das an derselben
Sitzung teilnimmt (S338).
-
Dann
aktualisieren das Endgerät
B und das Endgerät
C die entsprechenden Knoteninformationstabellen gemäß der Statusmitteilung
(S339) und stellen Sendeziele, Klangquellen und so weiter ein (S340).
Folglich wird das Endgerät
C dazu befähigt, MIDI-Daten
an das Endgerät
A und das Endgerät
B auf Peer-to-Peer-Basis
zu senden bzw. von ihnen zu empfangen, um mit ihnen eine Kommunikation
zu beginnen (S341). Ferner führen
das Endgerät
A und das Endgerät
B ihre Kommunikation wie zuvor fort (S342). Deshalb werden durch
die oben beschriebene Verarbeitung die Endgeräte A, B und C dazu befähigt, miteinander
auf Peer-to-Peer-Basis
zu kommunizieren.
-
Ferner
wird auf Seiten des Endgeräts
C dieses lediglich durch das Senden der Beitrittsmitteilung an den
Master dazu befähigt,
gleichzeitig mit allen Endgeräten
zu kommunizieren, die an der vom Master verwalteten Sitzung teilnehmen.
-
Als
Nächstes
zeigt 27 ein Beispiel für eine Verarbeitungsabfolge,
wenn eine Sitzungsendoperation im Endgerät A nach der Verarbeitung in 26 durchgeführt wird.
-
In
diesem Fall sendet, wenn es die Endoperation erfasst, das Endgerät A die
Verlassensmitteilung an eines der Endgeräte, die an der Sitzung teilnehmen
(S351), und beendet die Kommunikation mit den anderen Endgeräten (S352).
Das Endgerät,
an das die Verlassensmitteilung zu senden ist, kann in entsprechender
Weise entweder zufällig,
gemäß einem
Benutzerbefehl oder durch andere Verfahren bestimmt werden.
-
Hier
wird angenommen, dass das Endgerät B
das Sendeziel ist, so führt
das Endgerät
B die Verarbeitung bei und nach Schritt S236 in 23 aus, um
sich selbst als ein Master in der Knoteninformationstabelle zu registrieren
(S359) und die Informationen über
das Endgerät
A aus der Knoteninformationstabelle zu löschen (S354). Dann sendet das
Endgerät
B die Statusmitteilung an die anderen in der Knoteninformationstabelle
registrierten Knoten, wodurch der Inhalt der Änderung in der Knoteninformationstabelle
(hier wurde an der Tabelle selbst die Änderung vorgenommen) diesen
mitgeteilt wird (S355).
-
Hier
ist das Ziel dieser Mitteilung das Endgerät C, und das Endgerät C, das
diese Mitteilung empfängt,
führt die
Verarbeitung bei und nach Schritt S233 in 23 aus,
um die Knoteninformationstabelle gemäß dem Inhalt der Mitteilung
zu aktualisieren (S356).
-
Ferner
kommunizieren das Endgerät
B und das Endgerät
C, welche bisher die Sitzung mit dem Endgerät A durchgeführt haben,
aufgrund der Kommunikationsbeendigung des Endgeräts A nicht mehr mit dem Endgerät A (S357)
und führen
daher die Verarbeitung bei Schritt S242 in 23 aus,
um das Endgerät
A aus den entsprechenden Sendeziellisten zu löschen (S358, S359). Das Endgerät B und
das Endgerät
C führen
jedoch ihre Kommunikation fort (S360).
-
Alternativ
dazu kann die Löschung
des Endgeräts
A aus der Sendezielliste gleich auf Schritt S354 oder S356 folgen.
-
Durch
die vorhergehende Verarbeitung kann das Endgerät A die Sitzung verlassen und
den Betrieb als den Master auf das Endgerät B übertragen. In diesem Fall muss,
da die Knoteninformationstabelle in jedem Endgerät gespeichert ist, das Endgerät A lediglich
die Verlassensmitteilung senden, wenn es die Sitzung verlässt. Dies
kann das Auftreten einer Spitzenverarbeitungsbelastung zur Zeit
des Verlassens verhindern.
-
Die
Beschreibung der Ausführungsformen endet
hier, und es versteht sich von selbst, dass die Konfiguration der
Geräte,
der konkrete Inhalt der Verarbeitung, das Datenformat und so weiter
nicht auf diejenigen eingeschränkt
sind, die in den oben beschriebenen Ausführungsformen beschrieben wurden.
-
Zum
Beispiel ist das Format der handgehabten Spieldaten nicht auf das
MIDI-Format eingeschränkt, noch
ist das System auf ein System eingeschränkt, das die MIDI-Daten auf
einer Peer-to-Peer-Basis überträgt. Die
Daten können auch über den
Verwaltungsserver 100 oder über einen anderen Übertragungsserver
an die Endgeräte 10 bzw.
von ihnen übertragen
werden.
-
Ferner
ist in der ersten Ausführungsform eine
weitere mögliche
Verarbeitung zum Andern der Einstellung im Klangquellenmodul 17 der
Art, dass jedes der Endgeräte 10,
wenn es die Einstellung im Klangquellenmodul 17 ändert, während es
an der Sitzung teilnimmt, nicht den Inhalt der Änderung an die anderen Endgeräte sendet,
sondern den Inhalt lediglich an den Verwaltungsserver 100 sendet,
und die anderen Endgeräte
die Einstellungen in den Klangquellenmodulen 17 gemäß der Einstellungsänderungsmitteilung ändern, die
vom Verwaltungsserver 100 gesendet wird.
-
In
diesem Fall kann es sein, dass das Endgerät 10, das die Einstellung
zu ändern
versucht, dazu fähig
ist, die Einstellung im eigenen Klangquellenmodul 17 gemäß dem von
ihm selbst erzeugten MIDI-Ereignis zu ändern, oder die Einstellung
im eigenen Klangquellenmodul 17 auch gemäß der Einstellungsänderungsmitteilung
zu ändern,
die vom Verwaltungsserver 100 gesendet wird. In diesem
Fall kann der Inhalt der Einstellungen in den Klangquellenmodulen 17 aller
Endgeräte,
die an der Sitzung teilnehmen, leicht gleich gehalten werden.
-
Ferner
kann der Verwaltungsserver 100 den Inhalt der Einstellungen
in allen Endgeräten,
die an der jeweiligen Sitzung teilnehmen, allen Endgeräten, die
an der Sitzung teilnehmen, periodisch mitteilen, selbst wenn keine
spezifische Änderung
vorgenommen wird. Selbst wenn ein Teil der Daten aufgrund eines
Kommunikationsproblems unzureichend ist, macht es eine solche periodische
Mitteilung möglich, den
Mangel auszugleichen, wenn die Mitteilung hiernach gesendet wird.
-
Eine
weitere mögliche
Konfiguration besteht darin, dass die ID, die verwendet wird, wenn
das jeweilige Endgerät
der Sitzung beitritt, an einer Portal-Site oder dergleichen auf
dem Internet registriert bzw. gespeichert wird, so dass sie öffentlich
zugänglich
ist, und ein Benutzer einen Partner in einer Sitzung zum Beispiel
dadurch finden kann, dass er eine Benutzerliste der Poral-Site durchsucht.
In diesem Fall bezeichnet der Benutzer eine durch die Suche erhaltene
ID als eine ID des Kommunikationspartners, um eine Anforderung zum
Beitreten zur Sitzung an den Verwaltungsserver 100 zu senden.
-
Ferner
ist das Verwalten und das Mitteilen des Inhalts der Einstellung
in der Klangquelle nicht wesentlich als die Funktion des Verwaltungsservers 100,
sondern ist die minimal notwendige Funktion das Verwalten der IDs
der Endgeräte
in der jeweiligen die Sitzung ausführenden Gruppe, den Endgeräten die
Kanäle
zuzuweisen und die IDs und die Kanäle durch die oben beschriebene
Statusmitteilung mitzuteilen.
-
Ferner
wurde im Vorhergehenden das Beispiel beschrieben, bei dem jedem
der Sitzung beitretenden Endgerät
ein Kanal zugewiesen wird. Dies ist jedoch keine Einschränkung, sondern
es können auch
jedem Endgerät
mehrere Kanäle
zugewiesen werden.
-
Ferner
können,
wenn ein Gerät,
das die Funktionen sowohl des Endgeräts 10 als auch des Verwaltungsservers 100 aufweist,
vorgesehen ist, auch Geräte,
die diese Funktionen getrennt aufweisen, ganz einfach vorgesehen
werden, anstatt dass ein Gerät
vorgesehen wird, das wie in der zweiten Ausführungsform eine Kombination
der Funktionen aufweist. In diesem Fall kann es möglicherweise
einen Fall geben, bei dem das Endgerät 10 eine Sitzung
verwaltet, an dem das Endgerät 10 selbst
nicht teilnimmt. Ferner braucht in diesem Fall lediglich ein Endgerät 10 auch
die Funktion des Verwaltungsservers 100 zu haben.
-
Ferner
kann in der zweiten Ausführungsform beim
Senden der MIDI-Daten jedes der Endgeräte 20 die in der Knoteninformationstabelle
registrierten Endgeräte
als die Sendeziele behandeln, ohne die Sendezielliste zu speichern.
-
Ferner
können
Programme, die einen Computer dazu veranlassen, als die oben beschriebenen Endgeräte 10, 20 und
der Verwaltungsserver 100 zu fungieren, im Voraus in einem
ROM, auf einer HDD oder dergleichen gespeichert werden, oder es
können
solche Programme in einem nicht flüchtigen Aufzeichnungsmedium
(Speicher) wie zum Beispiel einer CD-ROM oder einer Diskette aufgezeichnet
werden, um von dem Speicher in einen RAM gelesen zu werden, wodurch
die CPU veranlasst wird die Programme auszuführen, oder können die
Programme auch zur Ausführung
von einem externen Gerät,
das ein Aufzeichnungsmedium enthält,
in dem die Programme aufgezeichnet sind, oder von einem externen
Gerät heruntergeladen
werden, das die Programme in einem Speicher, wie zum Beispiel einer HDD,
speichert. In jedem dieser Fälle
sind dieselben Auswirkungen erzielbar.
-
Ferner
versteht es sich von selbst, dass der Inhalt von Modifizierungsbeispielen
der entsprechenden Ausführungsformen
zur Anwendung innerhalb eines Bereichs kombiniert werden können, ohne dass
dadurch Unstimmigkeiten entstehen.
-
Wie
aus der vorhergehenden Beschreibung hervorgeht, ist es mit der erfindungsgemäßen elektronischen
Musikvorrichtung möglich,
wenn Spieldaten an eine Vielzahl von Endgeräten gesendet bzw. von diesen
empfangen werden, das Ausmaß der Freiheit
bei der Bildung einer Sitzung zum Daten Senden bzw. Empfangen zu
erhöhen,
und ist es möglich,
dass jedes Endgerät
mit einem einfachen Vorgang einer Sitzung beitritt.
-
Deshalb
kann eine Kommunikationsumgebung mit einem hohen Grad des Bedienkomforts
vorgesehen werden.