-
HINTERGRUND
-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft eine System zum Liefern einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung zur Anzeige für einen Benutzer. Insbesondere betrifft die Erfindung ein System zur Lieferung einer Multimedia-Präsentation einer Audio-Datei für einen Benutzer, so daß der Benutzer ein Musikinstrument in Verbindung mit der Multimedia-Präsentation spielen kann.
-
BESCHREIBUNG DES STANDES DER TECHNIK
-
Viele digitale Signalverarbeitungs(DSP)-Algorithmen verwendende Softwarepakte wurden entwickelt, um es Computerbenutzern zu ermöglichen, Musik zu schaffen und zu bearbeiten. Ferner ermöglichte die Entwicklung des MIDI(Musical Instrument Digital Interface)-Standardprotokolls den Austausch von Musikinformationen zwischen Musikinstrumenten, Synthesizern und Computern. Das MIDI-Protokoll definiert die Codes eines musikalischen Ereignisses, welche den Einsatz einer Note, deren Tonhöhe, Auftakt, Lautstärke und musikalische Eigenschaften, wie z. B. Vibrato angeben. Ein Computer mit einer Midi-Schnittstelle kann zur Aufnahme einer musikalischen Session verwendet werden, doch statt die analogen Schallwellen aufzunehmen, wie bei einem Bandrekorder, speichert die Recheneinrichtung die Musik als Tastenanschläge und Steuercodes. Die Aufnahme kann dann unter Verwendung eines Softwarepakets in völlig andersartiger Weise als bei der herkömmlichen Aufnahme bearbeitet werden; zum Beispiel kann der Rhythmus durch Bearbeitung der Zeitcodes in den Midi-Nachrichten geändert werden. Als anderes Beispiel kann die Recheneinrichtung leicht eine Darbietung (bzw. Aufführung) von einer Tonart in eine andere transponieren. Die Vielfalt der Bearbeitungsarten einer Midi-Aufnahme, ist praktisch unbegrenzt.
-
Ferner wurden bestimmte Softwareprogramme mit und ohne Verwendung von MIDI entwickelt, um dem Benutzer eine Verwendung seiner Recheneinrichtung zum musizieren zu erlauben, wobei ein Musikinstruments (zum Beispiels eines Keyboards oder Gitarre) in seine Recheneinrichtung eingekoppelt wird. Im allgemeinen wird das analoge Audiosignal von dem Musikinstrument einer Analog-zu-Digital-(A/D)-Wandlung unterzogen (zum Beispiel durch eine im Computer befindliche Soundkarte ausgeführt) und die digitale Version des Audiosignals kann dann der digitalen Signalverarbeitung durch den Computer derart unterzogen werden, daß sie durch ein Computerprogramm verändert werden können. Diese Veränderung kann unter Kontrolle des Benutzers (zum Beispiel für die Musikbearbeitung) stattfinden oder auf vorher bestimmte bzw. vordefinierte Weise durch das Softwareprogramm. Das digital veränderte Signal kann dann zur Wiedergabe an den Benutzer zurück in die analoge Form gewandelt werden (zum Beispiel digital zu analog(D/A)-Wandlung). Zum Beispiel könnte ein Benutzer, der eine in seinen oder ihren Computer eingeklinkte bzw. eingekoppelte Gitarre spielt, wählen, daß das Gitarren-Audiosignal derart digital verändert wird, daß es verzerrt wiedergegeben wird.
-
Die
WO0146829 (A1) offenbart einen Server, der Dateien über ein Netzwerk bereitstellt. Ein Benutzer kann die Dateien mittels eines Clients abrufen und zu den abgerufenen Dateien auf einem Musikinstrument spielen.
-
Die
DE 694 27 873 T2 ofeenbart ein mikroprozessorunterstütztes Musikintrument mit einem Erreger, der eine Mehrzahl von Erregungssignalen als Antwort auf das Spiel des Benutzers erzeugt, einem Audio-Synthesizer, einem Speicher, der eine Partitur speichert, einer Video-Anzeigeeinheit, und einer digitalen Verarbeitungsvorrichtung.
-
Die
US 5,583,308 A offenbart ein autmatisiertes System zum Erlernen eines Musikinstruments, welches Audiodaten für ein Musikintrument in einer maschinenlesbaren Form speichert. Mit dem zu erlernenden Musikinstrument gespielte Töne werden in Audiodaten umgewandelt und mit den gespeicherten Audiodaten gemischt. Die resultierenden Autdiodaten werden beispielsweise auf eine üblichen CD-ROM gespiechert. Die
GB 2 354 095 A offenbart einen Server, welcher mit einem Benutzer birektional verbunden ist und diesem Audiosignale bereitstellt. Sofern der Benutzer feststellt, dass dieser die Audiosignale gern dauerhaft erhalten möchte, teilt er dies dem Server mit, woraufhin dieser die Audiosignale in einer speicherbaren, mit einem benutzerspezifischen Code bereitstellt.
-
Bei all den Vorteilen der digitalen Signalverarbeitung, die es dem Benutzer ermöglichen, ihre Computer zum Schaffen und Bearbeiten von Musik zu verwenden, werden Computer leider noch nicht richtig in einer Weise dazu verwendet, dem Benutzer das Lernen eines erfolgreichen Spielens von Musik zu erleichtern.
-
Ferner haben gegenwärtig Benutzer keinen raschen und leichten Zugriff auf ein großes Angebot musikalischer Auswahlmöglichkeiten, von denen sie lernen möchten.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die vorliegende Erfindung betrifft ein System und ein Verfahren zum Liefern einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung zur Anzeige für einen Benutzer und erlaubt es dem Benutzer ferner, ein Musikinstrument in Verbindung mit der Multimedia-Präsentation zu spielen.
-
In einer ersten Ausführungsform überträgt ein Server, als Reaktion auf eine Auswahl eines Musikstücks an einer Recheneinrichtung durch einen Benutzer, eine dem Musikstück zugeordnete Session-Datei über ein Computernetzwerk an die Recheneinrichtung. Die Session-Datei enthält eine Audio-Datei und Multimedia-Daten, so daß die Recheneinrichtung die Session-Datei zur Präsentation einer Multimedia-Präsentation der Audio-Datei für den Benutzer verarbeiten kann. Eine einen Analog-zu-Digital-(A/D)-Wandler umfassende Schnittstelleneinrichtung ist mit der Recheneinrichtung und dem Musikinstrument des Benutzers gekoppelt. Die Schnittstelleneinrichtung koppelt das Musikinstrument so mit der Recheneinrichtung, daß der Benutzer das Musikinstrument in Verbindung mit der Multimedia-Präsentation der Audio-Datei spielen kann. So wird Benutzern ein einfacher und schneller Zugriff auf eine große Auswahl von Musikstücken ermöglicht, die sie von einem Server herunterladen können und der Benutzer kann mit dem heruntergeladenen Musikstück musizieren, welches zum Erleichtern des Lernens in einem Multimedia-Präsentationsformat präsentiert wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die Merkmale und Vorteile der vorliegenden Erfindung werden anhand der nachfolgenden Beschreibung der vorliegenden Erfindung deutlich, wobei:
-
1 eine Blockdarstellung ist, die ein beispielhaftes System zur Lieferung einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung zeigt,
-
2 ein herkömmliches Datenverarbeitungs- oder Computersystem zeigt, welches mit Ausführungsformen der vorliegenden Erfindung verwendbar ist.
-
2b einen üblichen Aufbau des herkömmlichen Datenverarbeitungs- oder Computersystems aus 2a zeigt.
-
3a eine Aufsicht einer Schnittstelleneinrichtung zeigt.
-
3b eine Vorderansicht einer Schnittstelleneinrichtung zeigt.
-
3c eine Rückansicht einer Schnittstelleneinrichtung zeigt.
-
3d eine schematische Ansicht der inneren Komponenten der Schnittstelleneinrichtung zeigt,
-
4 eine Blockdarstellung mit einer ausführlicheren Ansicht des Beispielsystems zum Liefern einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung aus 1 zeigt, wobei üblicherweise verwendete Softwaremodule gezeigt sind.
-
5a ein Ablaufdiagramm zeigt, welches ein Verfahren zum Liefern einer Multimedia-Präsentation für einen Benutzer darstellt,
-
5b ein Ablaufdiagramm zeigt, welches ein Verfahren zum Bereitstellen eines Klangs für einen Benutzer darstellt.
-
5c ein Ablaufdiagramm zeigt, welches ein Verfahren zum Bereitstellen eines Musikstücks für einen Benutzer zeigt,
-
5d ein Schaubild zeigt, welches den Inhalt einer Session-Datei darstellt.
-
6a eine Bildschirmansicht zeigt, die insbesondere die Control-Panel-Grafikschnittstelle für eine Gitarre (zum Beispiel für die Ausführungsform, wobei das Musikinstrument eine Gitarre ist) darstellt,
-
6b eine Bildschirmansicht zeigt, welche dem Benutzer bei erfolgreicher Anmeldung am Server angezeigt wird.
-
6c einer Bildschirmansicht der Anzeige zeigt, die dem Benutzer nach Auswahl eines Musikstücks (zum Beispiel eines Jamtracks) angezeigt wird, und zeigt insbesondere eine Multimedia-Präsentation (zum Beispiel mit Musik-Notation) für das ausgewählte Musikstück, so daß der Benutzer sein oder ihre Gitarre in Verbindung mit der Multimedia-Präsentation spielen kann,
-
7a zeigt ein Sicherheitssystem,
-
7b zeigt die zugehörigen Sicherheitskomponenten der im Sicherheitssystem verwendeten Sicherheitseinrichtung,
-
8a zeigt ein Ablaufdiagramm, welches einen Vorgang (Arbeitsgang) für den Server zur Berechtigung der Sicherheitseinrichtung darstellt,
-
8b zeigt ein Ablaufdiagramm, welches einen Vorgang für die Sicherheitseinrichtung zeigt, um auf eine Berechtigungsanfrage von dem Server zu antworten,
-
8c zeigt ein Ablaufdiagramm, das einen Vorgang für den Server darstellt, um die Sicherheitseinrichtung mit dem aktuellen Datum und dem Ablaufdatum (Verfallsdatum) der Bezugsrechte zu aktualisieren,
-
8d zeigt ein Ablaufdiagramm, das einen Vorgang für den Server darstellt, um den Speicher der Sicherheitseinrichtung zu entsperren,
-
8e zeigt ein Ablaufdiagramm, das einen Vorgang für die Sicherheitseinrichtung zur Aktualisierung des von dem Server empfangenen aktuellen Datums und des Berechtigungs-Ablaufdatums (Berechtigungs-Verfalldatums) darstellt,
-
8f zeigt ein Ablaufdiagramm, das einen Vorgang für den Server zum Sperren des nicht-flüchtigen Speichers des Sicherheitseinrichtungs-Speichers der Sicherheitseinrichtung darstellt,
-
8g zeigt ein Ablaufdiagramm, das einen Vorgang für die Sicherheitseinrichtung zum Sperren des Sicherheitseinrichtungs-Speichers darstellt,
-
8h zeigt ein Ablaufdiagramm, das einen Vorgang für die Recheneinrichtung zur Aktualisierung des aktuellen Datums an der Sicherheitseinrichtung darstellt,
-
8i zeigt ein Ablaufdiagramm, das einen Vorgang für die Sicherheitseinrichtung zur Aktualisierung des aktuellen Datums und der von der Recheneinrichtung empfangenen Zeit darstellt,
-
9 zeigt ein Beispiel eines sicheren Werte-Lieferungssystems,
-
10a zeigt ein Ablaufdiagramm, das einen Vorgang für den Server zum Verschlüsseln von Werten darstellt,
-
10b zeigt ein Ablaufdiagramm, das einen Vorgang für den Server zum liefern von Werten darstellt,
-
10c zeigt ein Ablaufdiagramm, das einen Vorgang darstellt, wobei die Recheneinrichtung die Funktionen eines Extrahierens eines Wert-Schlüssels von der Sicherheitseinrichtung durchführt,
-
10d zeigt ein Ablaufdiagramm, das einen Vorgang darstellt, wobei die Recheneinrichtung die Funktion des Entschlüsselns eines Wertes ausführt,
-
10e zeigt ein Ablaufdiagramm, das einen Vorgang darstellt, wobei die Sicherheitseinrichtung den Werte-Schlüssel extrahiert.
-
DETAILLIERTE BESCHREIBUNG
-
In der nachfolgenden Beschreibung werden die verschiedenen Ausführungsformen der vorliegenden Erfindung detailliert beschrieben. Jedoch sind diese Details zur Erleichterung des Verständnisses der Erfindung und zur Beschreibung beispielhafter Ausführungsformen zur Implementierung der Erfindung aufgenommen. Solche Details sollten nicht zur Einschränkung der Erfindung auf die bestimmten, beschriebenen Ausführungsformen verwendet werden, da andere Abwandlungen und Ausführungsformen möglich sind, wobei man im Schutzbereich der Erfindung bleibt. Außerdem wird es dem Fachmann deutlich, obwohl zahlreiche Details dargestellt sind um ein tiefes Verständnis der vorliegenden Erfindung zu ermöglichen, daß diese bestimmten Details nicht zur Anwendung der vorliegenden Erfindung erforderlich sind. Bei anderen Gelegenheiten sind Details wie zum Beispiel bekannte Verfahren, Datentypen, Protokolle, Abläufe (Prozeduren), Komponenten, Netzwerkausrüstungen, Vorgänge, Schnittstellen, elektrische Strukturen, Schaltungen etc. nicht ausführlich beschrieben worden, oder in einer Blockschaubildweise gezeigt, um nicht die vorliegende Erfindung zu verschleiern bzw. unklar zu machen. Ferner werden Aspekte der Erfindung in bestimmten Ausführungsformen beschrieben, können jedoch in Hardware, Software, Firmware, Middleware oder einer Kombination davon implementiert bzw. umgesetzt sein.
-
Es wird nun auf 1 Bezug genommen. 1 zeigt ein Blockschaubild mit einem Beispielsystem 100 zur Lieferung einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung 102. Ein oder mehrere Server 104 sind mit der Recheneinrichtung 102 über ein Computernetzwerk (zum Beispiel das Internet) 105 gekoppelt. Bei einer Ausführungsform überträgt der Server 104 eine dem Musikstück zugeordnete Session-Datei an die Recheneinrichtung 102 über das Computernetzwerk (zum Beispiel das Internet) 105, in Reaktion auf eine Auswahl eines Musikstücks an einer Recheneinrichtung 102 durch einen Benutzer. Die Session-Datei enthält eine digitale Audio-Datei und Multimedia Daten. Die Recheneinrichtung 102 verarbeitet die Session-Datei, um die Multimedia-Präsentation der Audio-Datei für den Benutzer darzustellen, wie beschrieben wird. Der Server oder die Server 104 sind außerdem über Netzwerkverbindungen mit einer Werte(Asset)-Datenbank 107 gekoppelt, welche die Session-Dateien und andere Werte speichert und mit einer Benutzer-Informationsdatenbank 109, welche die benutzerbezogenen Informationen speichert, wie beschrieben wird.
-
Eine Schnittstelleneinrichtung 106 mit einer Sicherheitseinrichtung 110 ist mit der Recheneinrichtung 102 und dem Musikinstrument 112 (zum Beispiel einer Gitarre) des Benutzers verbunden. Die Schnittstelleneinrichtung 106 koppelt das Musikinstrument 112 mit der Recheneinrichtung 102 über eine Eingabe/Ausgabe(I/O)-Verbindung 114 (zum Beispiel eine Universal-Serial-Bus-Verbindung), so daß der Benutzer das Musikinstrument 112 in Verbindung mit einer Multimedia-Präsentation der durch die Recheneinrichtung 102 verarbeiteten digitalen Audio-Datei spielen kann. Ferner kann die Schnittstelleneinrichtung 106 mit einer analogen Soundeinrichtung, wie zum Beispiel verstärkten Lautsprechern 120 oder Kopfhörern 122 verbunden sein, um die dem ausgewählten Musikstück zugeordnete Audio-Datei zusammen mit dem Sound von dem Musikinstrument 112 des Benutzers wiederzugeben, während der Benutzer mit seinem oder ihrem Musikinstrument spielt.
-
Insbesondere führt die Schnittstelleneinrichtung 106 eine analog zu digital (A/D) Wandlung des Audio-Signals von dem Musikinstrument 112 durch und überträgt das digitalisierte Audiosignal des Musikinstruments 112 über eine I/O-Verbindung 114 zu der Recheneinrichtung 102, wo das digitalisierte Audiosignal des Musikinstruments 112 eine digitale Signalverarbeitung (DSP) durch ein Softwaremodul durchlaufen kann, um ein verarbeitetes digitales Audiosignal des Musikinstruments zu erzeugen, zum Beispiel, um es auf die Audiodatei des Musikstücks zuzuschneiden bzw. anzupassen, das durch den Benutzer ausgewählt wurde. Die Recheneinrichtung 112 erzeugt ein gemischtes digitales Signal sowohl von der digitalen Audio-Datei und von dem verarbeiteten digitalen Signal des Musikinstruments, welches von der Recheneinrichtung 112 über die I/O-Verbindung 114 zu der Schnittstelleneinrichtung 106 übertragen wird, wo das gemischte Digitalsignal in die analoge Form (D/A-Wandlung) in ein gemischtes analoges Audiosignal gewandelt wird, das durch eine analoge Soundeinrichtung, wie zum Beispiel Lautsprecher 120 oder Kopfhörer 122 ausgegeben wird. So kann der Benutzer zusammen mit dem heruntergeladenen Musikstück spielen, welches in einem Multimedia-Präsentationsformat auf der Recheneinrichtung dargestellt wird, um das Lernen des Benutzers zu erleichtern. Ferner erhält der Benutzer schnellen und einfachen Zugriff auf eine große Vielfalt von Musikstücken, die von dem Server 104 heruntergeladen werden können, wie beschrieben wird.
-
Es sollte dem Fachmann der Netzwerktechnik klar sein, daß die Recheneinrichtung 102 und der/die Server 104 mit dem Computernetzwerk 105 auf vielfältige Arten gekoppelt sein können, einschließlich direkter Verbindung oder Anwahl-Telefon- oder andere Netzwerkübertragungsleitungen, unter Verwendung eines Modem-Pools (nicht gezeigt) oder durch ein zusätzliches Netzwerk oder einen Gateway (nicht gezeigt). Zum Beispiel kann die Recheneinrichtung 102 mit dem Server 104 über eine Verbindung unter Verwendung eines oder mehrerer herkömmlicher Telefonsysteme (POTS), oder über ein Funknetz-Telefonsystem, Kabel, digitale Teilnehmerleitungen, ein digitale Dienste integrierendes Netz, Satellitenverbindung, Computernetzwerk (zum Beispiel das Internet, ein Wide-Area Netzwerk (WAN), oder ein lokales Netzwerk (LAN), etc.), oder im allgemeinen mit jeder Art von privatem oder öffentlichem Telekommunikationssystem und einer Kombination von diesen kommunizieren. Beispiele von Übertragungsmedien für diese Verbindungen sind elektrische Kabel, Lichtleiter, Twisted-Pair-Kabel oder drahtlose Kanäle (zum Beispiel Radiofrequenz (RF), terrestrisch, Satelliten oder andere drahtlose Signalübertragungsverfahren), sind jedoch nicht auf diese Arten beschränkt.
-
Insbesondere ist das Computernetzwerk 105 üblicherweise ein Computernetzwerk (zum Beispiel das Internet, ein Wide-Area-Netzwerk (WAN) oder ein lokales Netzwerk (LAN), etc.) mit Paketformat, Paket-Schaltung, Verbindungsorientierung etc., ein Netzwerk welches das Transmission Control Protocol/Internet Protocol (TCP/IP), Asynchronen Übertragungsmodus (ATM), Frame Relay (FR), Point-to-Point Protocol (PPP), Systems Network Architecture (SNA), Voice over Internet Protocol (VoIP) oder eine beliebige andere Art von Protokoll verwenden kann. Das Computernetzwerk 105 ermöglicht einen Datenverkehrs zwischen der Recheneinrichtung 102 und dem/den Servern 104 unter Verwendung von Paketen. Der Datenverkehr durch das Computernetzwerk 105 kann von beliebiger Art sein, einschließlich Audio, Text, Graphik, Video, E-Mail, Fax, Multimedia, Dokumente, Stimme oder anderen generischen Datenformen. Das Computernetzwerk 105 ist üblicherweise ein Datennetzwerk, welches eine Switching- oder Routing-Ausrüstung enthalten kann, die zum Übertragen von digitalem Datenverkehr hergestellt ist. Es sollte klar sein, daß die Konfiguration in 1 nur beispielhaft ist die Ausführungsformen der vorliegenden Erfindung mit einer beliebigen Art von Telekommunikationssystem und/oder Computernetzwerk, Protokollen und Kombinationen davon verwendet werden können. Ferner können die Netzwerkverbindungen zwischen dem/den Servern 104 und der Werte-Datenbank 107 und der Benutzerinformations-Datenbank 109 ebenfalls in einer in den vorangehend beschriebenen Beispielen angegebenen Weise gekoppelt sein.
-
Nachdem kurz eine beispielhafte Netzwerkkonfiguration beschrieben wurde, in der Ausführungsformen der vorliegenden Erfindung angewendet werden können, zeigt 2a eine herkömmliche Datenverarbeitung oder ein Computersystem 200, welches mit Ausführungsformen der vorliegenden Erfindung verwendbar ist. Insbesondere zeigt 2a ein Beispiel einer allgemeinen Datenverarbeitung oder eines Computersystems 200, welches als beispielhafte Recheneinrichtung 102 (zum Beispiel Personal Computer) oder Servercomputersystem 104 verwendet werden kann, wobei verschiedene Aspekte der vorliegenden Erfindung anwendbar sind.
-
Wie gezeigt, besteht die Datenverarbeitung oder das Computersystem 200 aus einer Systemeinheit 202, Ausgabeeinrichtungen wie einer Anzeigeeinrichtung 204 und einem Drucker 210, und Eingabeeinrichtungen wie beispielsweise einer Tastatur 208 und einer Maus 206. Das Datenverarbeitungssystem 200 empfängt Daten zur Verarbeitung durch die Bedienung der Eingabeeinrichtung 208 und 206 oder unmittelbar von festen oder entfernbaren Medien-Speichereinrichtungen, wie zum Beispiel der Diskette 212 und einer (nicht gezeigten) Netzwerkverbindungs-Schnittstellen. Das Datenverarbeitungssystem 200 verarbeitet dann die Daten und stellt die erzeugten Ausgabedaten über Ausgabeeinrichtungen, wie zum Beispiel die Anzeigeeinrichtung 204, den Drucker 210 oder die festen oder entfernbaren Medien-Speichereinrichtungen wie der Diskette 212 oder Netzwerkverbindungsschnittstellen zur Verfügung. Es sollte klar sein, daß die Recheneinrichtung 102 eine beliebige Art von Computersystem oder Recheneinrichtung (zum Beispiel ein Personalcomputer (Laptop/Desktop), ein Netzwerkcomputer, eine Handheld-Recheneinrichtung, ein Servercomputer oder jede andere Art von Computer) sein kann. Ferner enthält im Falle der Recheneinrichtung 102 das Datenverarbeitungssystem 200 einen seriellen I/O-Anschluss 113 (zum Beispiel einen USB-Anschluss), um Eingabe und Ausgabe von Daten von der Schnittstelleneinrichtung 102 durch die I/O-Verbindung 114 (zum Beispiel eine USB-Verbindung) zu ermöglichen.
-
Es wird nun auf 2b Bezug genommen. Es ist ein abstrahiertes (high-level) Blockschaubild der Komponenten eines Datenverarbeitungssystems 200 gezeigt, wie z. B. das durch 2a dargestellte. In einem herkömmlichen Computersystem enthält die Systemeinheit 202 eine Verarbeitungseinrichtung, wie zum Beispiel einen Prozessor 220, in Kommunikationsverbindung über einen lokalen oder Systembus 214 oder andere Kommunikationsmittel zur Kommunikation von Daten zwischen solchen Einrichtungen mit einem Hauptspeicher 222, der verschiedene Arten von Cache, Speicher mit wahlfreiem Zugriff (RAM) oder andere dynamische Speichereinrichtungen mit hoher Geschwindigkeit enthalten kann. Der Prozessor verarbeitet Informationen zur Implementierung der Funktionen der Ausführungsformen der vorliegenden Erfindung. Als illustrative Beispiele kann der „Prozessor” eine zentrale Verarbeitungseinheit mit jeder Art von Architektur, wie zum Beispiel Complex Instruction Set Computers (CISC), Reduced Instruction Set Computers (RISC), Very Long Instruction Wort (VLIW) oder eine Hybridarchitektur oder einen digitalen Signalprozessor, einen Mikrokontroller, eine Zustandsmaschine etc. enthalten.
-
Der Hauptspeicher 222 kann Daten und Anweisungen zur Ausführung durch den Prozessor 220 speichern und kann zur Speicherung von temporären Variablen oder anderen vorläufigen Informationen während der Ausführung der Anweisung durch den Prozessor 220 verwendet werden. Das Computersystem 200 umfaßt ferner einen Nur-Lese-Speicher (ROM) und/oder andere statische Speichereinrichtungen 224, die mit einem lokalen Bus 214 zur Speicherung von statischen Informationen und Anweisungen für den Prozessor 220 gekoppelt sind. Beispiele von nichtflüchtigen Speichern 224 sind Festplatten, Flash-Speicher, batteriegepufferte Speicher mit wahlfreiem Zugriff, Nur-Lese-Speicher (ROM) und ähnliches, wobei der flüchtige Hauptspeicher 222 einen Speicher mit wahlfreiem Zugriff (RAM), einen Speicher mit dynamischem wahlfreiem Zugriff (DRAM) oder einen Speicher mit statischem wahlfreiem Zugriff (SRAM) und ähnliches enthalten kann.
-
Die Systemeinheit 202 des Datenverarbeitungssystems 200 weist ferner einen Erweiterungsbus 216 auf, der Kommunikation zwischen verschiedenen Einrichtungen und mit dem Systembus 214 verbundenen Einrichtungen über die Busbrücke 218 ermöglicht. Zur Speicherung von Daten und Anweisungen über den Erweiterungsbus 216 kann eine Datenspeichereinrichtung 228, wie zum Beispiel eine magnetische Disk 212 oder eine optische Disk, z. B. CD-ROM oder DVD, und ein entsprechendes Laufwerk mit dem Datenverarbeitungssystem 200 gekoppelt sein. Das Computersystem 200 kann ferner über den Erweiterungsbus 216 mit einer Anzeigeeinrichtung 204, wie zum Beispiel einer Kathodenstrahlröhre (CRT) oder einem Flüssigkristall-Display (LCD), zur Anzeige von Daten, wie zum Beispiel Meeting-Package-Beschreibungen und zugeordneten Bildern, für einen Computerbenutzer gekoppelt sein. Üblicherweise ist eine alphanumerische Eingabeeinrichtung 208 mit alphanumerischen oder andersartigen Tasten zur Mitteilung/Angabe von Informationen und/oder Anweisungsauswahlen an den Prozessor 220 mit dem Bus 216 gekoppelt. Eine andere Art von Benutzer-Eingabeeinrichtung ist die Cursor-Steuereinrichtung 206, wie zum Beispiel eine herkömmliche Maus, Trackball, oder Cursor-Steuertasten zur Mitteilung/Angabe von Steuerinformationen und Anweisungsauswahl an den Prozessor 220 und zur Steuerung der Cursorbewegung auf der Anzeige 204. In dem Fall der Recheneinrichtung 102 enthält das Datenverarbeitungssystem 200 ferner einen seriellen I/O-Anschluss 113 (zum Beispiel einen USB-Anschluss), um Eingabe und Ausgabe von Daten von der Schnittstelleneinrichtung 106 durch die serielle I/O-Verbindung 114 (zum Beispiel eine USB-Verbindung) zu ermöglichen.
-
Eine Kommunikationseinrichtung 226 ist ferner mit dem Bus 216 zum Zugriff auf entfernte Computer oder Server, wie zum Beispiel dem Server 104 oder andere Server oder beispielsweise das Internet gekoppelt. Die Kommunikationseinrichtung 226 kann ein Modem, eine Netzwerk-Schnittstellenkarte oder andere bekannte Schnittstelleneinrichtungen enthalten, wie solche zur Bildung einer Schnittstelle mit Ethernet, Token-Rings oder anderen Arten von Netzwerken. In jedem Fall kann auf diese Weise das Computersystem 200 mit einer Anzahl von Servern 104 über eine Netzwerk-Infrastruktur gekoppelt sein, wie zum Beispiel die in 1 gezeigte und oben beschriebene.
-
In Fortsetzung des Beispiels der herkömmlichen Datenverarbeitung oder des Computersystems 200 können sowohl die Recheneinrichtung 102 als auch der Server 104 unter Steuerung eines Betriebssystems arbeiten, welches zur Ausführung in den Speicher der Einrichtung gebooted wird wenn die Einrichtung eingeschaltet oder zurückgesetzt wird. Anderseits steuert das Betriebssystem die Ausführung eines oder mehrerer Softwaremodule oder Computerprogramme. Diese Softwaremodule enthalten üblicherweise Anwendungsprogramme bzw. Anwendungen, die den Benutzer bei der Verwendung der Recheneinrichtung 102 und des Servers 104 und der verschiedenen Funktionen, die mit der Lieferung einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung 102 zur Anzeige für den Benutzer unterstützen, und um dem Benutzer ein Spielen eines Musikinstruments in Verbindung mit der Multimedia-Präsentation und auch Funktionen bezüglich Sicherheit und Vertriebsmethoden zu ermöglichen, wie beschrieben wird. Diese Funktionen können als einzelne oder mehrere Anweisungen (zum Beispiel Codesegmente) implementiert sein, um die erwünschten Funktionen der Erfindung auszuführen. Bei Implementierung in Software (zum Beispiel durch ein Softwaremodul) sind die Elemente der vorliegenden Erfindung Anweisungen/Codesegmente zur Ausführung der erforderlichen Aufgaben. Die Anweisungen veranlassen beim Lesen und Ausführen durch eine Maschine oder einen Prozessor (zum Beispiel den Prozessor 220) die Maschine oder den Prozessor, die erforderlichen Operationen zur Implementierung und/oder Verwendung der Ausführungsformen der Erfindung auszuführen. Die Anweisungen oder Codesegmente können in/auf einem maschinenlesbaren Medium (zum Beispiel einem prozessor-lesbaren Medium oder einem Computerprogrammprodukt) gespeichert sein oder durch ein Computerdatensignal auf einer Trägerwelle, oder mit einem durch einen Träger modulierten Signal über ein Übertragungsmedium oder eine Kommunikationsverbindung übertragen werden. Das maschinenlesbare Medium kann jedes Medium enthalten, das Informationen in durch eine Maschine (zum Beispiel einen Prozessor, einen Computer, etc.) lesbarer und ausführbarer Form speichern kann. Beispiele für maschinenlesbare Medien sind elektronische Schaltungen, eine Halbleiter-Speichereinrichtung, ein ROM, ein Flash-Speicher, ein löschbar-programmierbares ROM (EPROM), eine Diskette, eine Compact Disk CD-ROM, eine optische Platte, eine Festplatte, ein Lichtleitermedium, eine Funkfrequenz(RF)-Verbindung, etc. Das Computerdatensignal kann jede Art von Signal sein, welches sich über ein Übertragungsmedium ausbreiten kann, wie zum Beispiel elektronische Netzwerkkanäle, Lichtleiter, Luft, elektromagnetisch, RF-Verbindungen, etc. Die Codesegmente können über Netzwerke wie zum Beispiel das Internet, Intranet, etc. heruntergeladen werden.
-
Nun wird auf 3a Bezug genommen. 3a zeigt eine Aufsicht auf eine Schnittstelleneinrichtung 106. Die Schnittstelleneinrichtung 106 koppelt das Musikinstrument 112 über die Eingabe/Ausgabe(I/O)-Verbindung 114 derart mit der Recheneinrichtung 102, daß der Benutzer ein Musikinstrument 112 in Verbindung mit einer Multimedia-Präsentation der durch die Recheneinrichtung 102 verarbeiteten Audio-Datei spielen kann. Wie oben in 3a gezeigt, enthält die Schnittstelleneinrichtung 106 einen Lautstärke-Regler bzw. Volume-Regler (bzw. Lautstärke Einstellrad) oder -Knopf 304 zur Einstellung der Lautstärke des Musikinstruments 112 und der Audio-Datei und eine LED-Anzeige 308 zur Anzeige des Betriebsstatus der Schnittstelleneinrichtung (d. h. ob eingeschaltet oder ausgeschaltet). Die Schnittstelleneinrichtung 106 kann ein metallisches Gehäuse, Plastikgehäuse, oder metallisiertes Plastikgehäuse zur Aufnahme der inneren elektronischen Komponenten aufweisen. Es wird nun noch kurz auf 3b Bezug genommen. Diese zeigt eine Frontansicht der Schnittstelleneinrichtung 106, wobei die Schnittstelleneinrichtung einen Eingangs-Anschluss 310 zur Aufnahme eines Eingangsstecker (oder einer anderen Eingabeeinrichtung) von einem Musikinstrument 112 enthält, so daß das Musikinstrument elektrisch mit der Schnittstelleneinrichtung 106 gekoppelt ist.
-
Es wird nun auf 3c Bezug genommen. 3c zeigt eine Rückansicht der Schnittstelleneinrichtung 106. Die Schnittstelleneinrichtung 106 enthält Ausgangsanschlüsse 320 und 322 für linke und rechte Lautsprecher, die zur Aufnahme von Lautsprechersteckern für verstärkte Lautsprecher 120 verwendet werden können, so daß die Schnittstelleneinrichtung 106 mit verstärkten Lautsprechern verbunden werden kann. Dies ermöglicht es dem Benutzer, der sein oder ihr Musikinstrument 112 spielt, sowohl das Musikinstrument als auch eine dem von der Recheneinrichtung 102 verarbeitetem Musikstück zugeordnete Audio-Datei zu hören. Ferner enthält die Schnittstelleneinrichtung 106 einen zusätzlichen Line-In-Anschluß (Eingangs-Anschluß) 323. Zum Beispiel kann der zusätzliche Line-In-Anschluß 323 zur Unterstützung einer Eingabe von einer Soundkarte der Recheneinrichtung 102 verwendet werden, so daß Klänge von Spielen oder anderen Softwareprogrammen von der Recheneinrichtung 102 einfach durch die Schnittstelleneinrichtung 106 zu den Lautsprechern 120 oder Kopfhörern 122 geleitet werden können.
-
Ferner enthält die Schnittstelleneinrichtung 106 einen Kopfhörer-Ausgangsanschluß 326, der zur Aufnahme von Kopfhörer-Steckern für Kopfhörer 122 verwendet werden kann, um dem Benutzer zu ermöglichen, sein oder ihr Musikinstrument 112 und auch die Audio-Datei unter Verwendung der Kopfhörer 122 zu hören. Die Schnittstelleneinrichtung 106 weist ferner einen seriellen I/O-Anschluß 330 (zum Beispiel einen USB-Anschluß) auf, um einen I/O-Stecker (I/O-Verbinder) (zum Beispiel einen USB-Stecker) aufzunehmen, so daß die I/O-Verbindung 114 (zum Beispiel eine USB-Verbindung) zwischen der Schnittstelleneinrichtung 106 und der Recheneinrichtung 102 gebildet werden kann. Es sollte klar sein, daß die Schnittstelleneinrichtung 106 eine beliebige Anzahl von anderen Eingängen und Ausgängen aufweisen kann.
-
Es wird nun auf 3d Bezug genommen. 3d ist eine schematische Ansicht der inneren Komponenten 334 der Schnittstelleneinrichtung 106. Die Schnittstelleneinrichtung 106 enthält einen Mikroprozessor 340, der die Komponenten der Schnittstelleneinrichtung 106 zur Ausführung von Funktionen steuert, die eine A/D und D/A-Wandlung von Signalen zwischen dem Musikinstrument 112 und der Recheneinrichtung 102 betreffen, sowie Sicherheitsfunktionen, die eine Sicherheitseinrichtung 110 verwenden, wie später ausführlich beschrieben wird.
-
Wie in 3d gezeigt, enthält die Schnittstelleneinrichtung 106 ein Instrument, das in Reihe mit dem Eingangs-Anschluß 310 der mit einem Verstärker 336 verbunden ist. So wird beispielsweise ein durch den Eingangsanschluß 310 hereinkommendes analoges Audiosignal von einem Musikinstrument 112 durch einen Verstärker 336 verstärkt. Der Verstärker 336 ist mit einem Analog zu Digital(A/D)-Wandler 338 derart verbunden, daß das verstärkte analoge Audiosignal durch den A/D-Wandler 338 verarbeitet wird und in ein digitalisiertes Audiosignal des Musikinstruments gewandelt wird.
-
Der Mikroprozessor 340 der Schnittstelleneinrichtung 106 ist mit Komponenten der Sicherheitseinrichtung 110, einem Puffer-RAM 344 und einer digitalen Audioschnittstelle 346 gekoppelt. Der Mikroprozessor 340 steuert die Komponenten 334 der Schnittstelleneinrichtung 106 zur Ausführung von Funktionen, die die A/D- und D/A-Wandlung von Signalen zwischen dem Musikinstrument 112 und der Recheneinrichtung 102 betreffen. Die digitale Audioschnittstelle 346 führt herkömmliche Funktionen bezüglich der Formatierung und Zeitablaufsteuerung (Timing) der digitalisierten Audiosignale durch. Die digitale Audioschnittstelle 346 kann eine Anzahl von Zeitsteuerungs-Zeitgebern aufweisen, um diese Funktionen auszuführen. Um mit dem vorliegenden Beispiel fortzufahren, wird als nächstes das digitalisierte Audiosignal des Musikinstruments 112 durch die digitale Audioschnittstelle 346 formatiert. Ferner ist die digitale Audioschnittstelle 346 mit einem Puffer-RAM 344 gekoppelt, das zur Speicherung von Teilen der digitalisierten Audiosignale zur Anpassung der Übertragungsrate (Rate Matching) verwendet wird.
-
Ferner ist das Puffer-RAM 344 mit dem Mikroprozessor 340 und einem seriellen I/O-Controller 348 verbunden. Der serielle I/O-Controller 348 steuert den Strom digitaler Daten zu und von der Recheneinrichtung 102 über die serielle I/O-Verbindung 114. In einem Beispiel kann der serielle I/O-Controller 348 ein USB-Controller und die serielle I/O-Verbindung 114 eine USB-Verbindung sein. Die von dem seriellen I/O-Controller 348 gesteuerten digitalen Daten können die digitalisierten Audiosignale enthalten, die unmittelbar von dem Musikinstrument 112 kommen und zu der Recheneinrichtung 102 zur digitalen Signalverarbeitung (DSP) gesendet werden, und das gemischte digitale Signal sowohl von dem verarbeiteten digitalen Audiosignal des Musikinstruments, das die DSP durch die Recheneinrichtung 102 durchlaufen hat und der digitalen Audiodatei, die dem von der Recheneinrichtung 102 kommenden ausgewählten Musikstück zugeordnet ist. Es sollte jedoch klar sein, daß das digitalisierte Signal des Musikinstruments nicht durch die Recheneinrichtung 102 zur DSP-Verarbeitung geleitet werden muß und direkt zur der DAC 350 und weiter zu der analogen Soundeinrichtung durchgeleitet werden kann, so daß der Benutzer mit der Audio-Datei weiter zusammenspielen kann. Das Puffer-RAM 344 wird außerdem zur Speicherung des digitalen Audiosignals des Musikinstruments (vor der DSP-Verarbeitung), der digitalen Audiodatei und des gemischten digitalen Signals für herkömmliche Zwecke, wie zum Beispiel Anpassung der Übertragungsrate, verwendet.
-
Die digitale Audioschnittstelle 346 ist ferner mit einem Digital nach Analog-Wandler(DAC) 350 verbunden. Das gemischte digitale Signal sowohl von dem verarbeiteten digitalen Audiosignal des Musikinstruments als auch der digitalen Audiodatei von der Recheneinrichtung 120 werden durch den DAC 350 zur Wandlung dieser gemischten digitalen Signale in analoge Form, d. h. ein gemischtes analoges Audiosignal, verarbeitet, so daß das gemischte analoge Audiosignal durch eine analoge Soundeinrichtung, wie verstärkte Lautsprecher 120 oder Kopfhörer 122, abgespielt werden kann. Wie vorangehend beschrieben, sollte es jedoch klar sein, daß die digitalisierten Signale des Musikinstruments nicht zu der Recheneinrichtung 102 zur DSP-Verarbeitung durchgeleitet werden müssen, sondern direkt zu dem DAC 350 und weiter zu der analogen Soundeinrichtung geleitet werden können, so daß der Benutzer mit der Audiodatei weiter zusammenspielen kann.
-
Mit den Ausgängen des DAC 350 ist ein Mischer 352 verbunden. Der Mischer empfängt analoge Audiosignal-Eingänge von anderen Eingangsquellen, wie z. B. dem Line-In-Anschluss 323, die durch die Verstärker 358 beziehungsweise 360 verstärkt werden, so daß sie auch durch die verstärkten Lautsprecher 120 oder Kopfhörer 122 wiedergegeben werden können.
-
Diese zusätzlichen analogen Audiosignal-Eingänge von dem Line-In-Anschluß 323 können mit dem analogen Audiosignal des Musikinstruments und der Audio-Datei gemischt werden oder können einfach durch die Schnittstelleneinrichtung zu den Lautsprechern 120 oder Kopfhörern 122 geleitet werden. Zum Beispiel können die zusätzlichen Line-In-Eingänge von dem Line-In-Anschluß 323 von einer Soundkarte der Recheneinrichtung 102 stammen, so daß Töne von Spielen oder anderen Softwareprogrammen von der Recheneinrichtung 102 einfach durch die Schnittstelleneinrichtung 106 zu den Lautsprechern 120 oder Kopfhörern 122 geleitet werden können. Auf diese Weise können andere Softwareprogramme weiterhin mit der in die Recheneinrichtung 102 (beispielsweise einem Personalcomputer) eingeklinkten Schnittstelleneinrichtung 106 verwendet werden und der Benutzer braucht sein oder ihr Personalcomputersystem nicht zu rekonfigurieren, um zwischen der Verwendung der Schnittstelleneinrichtung und der Nichtverwendung der Schnittstelleneinrichtung umzuschalten.
-
Die analogen Signale von dem Mischer 352 werden dann durch die Line-Outs (Ausgänge) (zum Beispiel links und rechts) 360 und 362 über die Lautsprecheranschlüsse und 320 und 322 zu den verstärkten Lautsprechern 120 geleitet. Insbesondere können die analogen Signale durch die Verstärker 364 und 366 unter Steuerung eines Lautstärke-Controllers 368 verstärkt werden, der wiederum durch das Lautstärke-Wählrad 304 gesteuert wird. In gleicher Weise werden die analogen Signale von dem Mischer 352 auch durch die Line-Outs 360 und 362 (zum Beispiel links und rechts) über den Kopfhörer-Anschluß 326 zu den Kopfhörern 122 geleitet. In gleicher Weise können die analogen Signale durch die Verstärker 374 und 376 unter Steuerung der Lautstärke-Steuerung 368 verstärkt werden, die wiederum durch den Lautstärke-Regler 304 gesteuert wird.
-
Auf diese Weise koppelt die Schnittstelle 106 eine Musikinstrument 112 über eine Eingabe/Ausgabe(I/O)-Verbindung 114 mit einer Recheneinrichtung 102, so daß der Benutzer ein Musikinstrument 112 in Verbindung mit einer Multimedia-Präsentation einer durch die Recheneinrichtung 102 verarbeiteten Audio-Datei spielen kann. Wie bereits beschrieben, führt die Schnittstelleneinrichtung 106 insbesondere eine analog zu digital(A/D)-Wandlung des Audiosignals von dem Musikinstrument 112 durch und übertragt das digitalisierte Audiosignal des Musikinstruments über die I/O-Verbindung 114 an die Recheneinrichtung 102, wo das digitalisierte Signal des Musikinstruments 112 eine digitale Signalverarbeitung (DSP) durchlaufen kann, die durch ein Softwaremodul durchgeführt wird (zum Beispiel um die Audiodatei des durch den Benutzer gewählten Musikstücks anzupassen). Ein gemischtes digitales Signal von sowohl der digitalen Audio-Datei und dem verarbeiteten digitalen Signal des Musikinstruments wird von der Recheneinrichtung 102 zurück über die I/O-Verbindung 114 zu der Schnittstelleneinrichtung 106 übertragen, wo das gemischte digitale Signal in die Analogform gewandelt wird (D/A-Wandlung), das heißt ein gemischtes analoges Audiosignal, welches durch die Lautsprecher 120 oder die Kopfhörer 122 ausgegeben wird. So kann ein Benutzer zusammen mit einem heruntergeladenen Musikstück spielen, das in einem Multimedia-Präsentationsformat auf der Recheneinrichtung präsentiert wird, um das Lernen des Benutzers zu erleichtern, wie später beschrieben wird.
-
Die Schnittstelleneinrichtung 106 enthält ferner eine Sicherheitseinrichtung 110. Die Sicherheitseinrichtung 110 enthält Komponenten, die zur eindeutigen Identifizierung der Schnittstelleneinrichtung 106 an dem Server 104 (bzw. gegenüber dem Server) verwendet werden können, so daß der Zugriff auf den Server 104 nur einem Benutzer erlaubt wird, der mit einer autorisierten Schnittstelleneinrichtung arbeitet. Ferner wird die Sicherheitseinrichtung 110 in Verbindung mit dem Server 104 verwendet, um sicherzustellen, daß die Audio-Dateien richtig verschlüsselt und entschlüsselt werden, so daß nur eine in richtiger Weise autorisierte Schnittstelleneinrichtung 106 Audio-Dateien empfangen und verwenden kann. Dies schützt gegen unautorisierte Vervielfältigung von lizenziertem Material und ermöglicht eine sichere Verdienstmöglichkeit für Anbieter von Inhalten (zum Beispiel von Audiodateien).
-
Die Sicherheitseinrichtung enthält einen Mikroprozessor 340, einen sicheren Speicher 379 mit Sicherheits-Logik 380, einen Programmspeicher 382 zum Speichern der Sicherheits-Firmware 383 und einen nicht-flüchtigen Speicher (zum Beispiel EEPROM) 384. Allgemein ermöglicht die Sicherheits-Firmware 383 bei Ausführung durch den Mikroprozessor 340 in Verbindung mit dem sicheren Speicher 379 und dem nicht-flüchtigen Speicher 384 einen sicheren Betrieb, der es dem Server 104 ermöglicht, die Schnittstelleneinrichtung 106 eindeutig zu identifizieren und erlaubt es der Recheneinrichtung 102 in Verbindung mit der Schnittstelleneinrichtung 106 die Audiodateien zu entschlüsseln, die speziell zur Verwendung durch die autorisierte Schnittstelleneinrichtung 106 verschlüsselt wurden. Der sichere Speicher 379 enthält sowohl einen Nur-Lese-Speicher (ROM) als auch beschreibbaren Speicher, der zum Lesen und Schreiben unter Verwendung der in der Sicherheits-Logik 380 implementierten Hardware gesperrt und entsperrt werden kann.
-
Ein mit einer Seriennummer 386 der Schnittstelleneinrichtung 106 verknüpfter Benutzerschlüssel 387 wird durch die Sicherheits-Logik 380 zur Authentifizierung der Schnittstelleneinrichtung 106 gegenüber dem Server 104 verwendet. Ferner wird durch die Sicherheits-Logik 380 ein Speicherschlüssel 389 verwendet, um zunächst den sicheren Speicher 379 zu entsperren. Die Seriennummer 386, der Benutzerschlüssel 387 und der Speicherschlüssel 389 sind in dem sicheren Speicher 379 während der Herstellung geschützt und können danach nicht mehr überschrieben werden, da der sichere Speicher 379 geschützt ist. Die Seriennummer 386, der Benutzerschlüssel 387 und der Speicherschlüssel 389 sind ebenfalls in der Benutzer-Informationsdatenbank 109 des Servers gespeichert, so daß der Server 104 anfänglich eine Anfrage und Antwort zur eindeutigen Authentifizierung der Schnittstelleneinrichtung 106 erzeugen und den sicheren Speicher 379 und den nicht-flüchtigen Speicher 384 öffnen und sperren kann, wie später ausführlich beschrieben wird.
-
Der nicht-flüchtige Speicher 384 wird als Erweiterung des sicheren Speichers 379 verwendet. Die Firmware 383 verhindert Zugriff auf den nicht-flüchtigen Speicher 384, bis der sichere Speicher 379 ebenfalls entsperrt wurde. Der nicht-flüchtige Speicher 384 weist einen Hardware-Schreibschutz auf, der durch die Firmware 383 gesteuert wird. Der nicht-flüchtige Speicher 384 speichert die Schlüssel 388, wie zum Beispiel die Werte-Verschlüsselungsschlüssel (zum Beispiel Audio-Datei-Schlüssel), die bestimmten erworbenen Werten (zum Beispiel Audio-Dateien) zugeordnet sind, das gegenwärtige Datum und die Daten der Bezugsrechte für bestimmte Werte 390 und Werte-Informationen (zum Beispiel Informationen über Werte) 392. Es sollte klar sein, daß die Seriennummer 386, der Benutzerschlüssel 387, der Speicherschlüssel 389, die Schlüssel 388, die Daten 390, die Werte-Informationen 392 und auch die Firmware 383 stattdessen oder zusätzlich in einem beliebigen der Sicherheitseinrichtungs-Speicher angeordnet sein kann: dem Programmspeicher 382, dem sicheren Speicher 379, dem nichtflüchtigen Speicher 384; diese bestimmte Anordnung ist nur eine Ausführungsform.
-
Wie später ausführlicher beschrieben wird, ermöglicht die Sicherheitseinrichtung 110 in Verbindung mit der Recheneinrichtung 102 und dem Server 104 dem Server 104 die eindeutige Identifizierung der Schnittstelleneinrichtung 106 und ermöglicht es der Recheneinrichtung 102 in Verbindung mit der Schnittstelleneinrichtung 106 die Audio-Dateien zu entschlüsseln, die speziell zur Verwendung durch die autorisierte Schnittstelleneinrichtung 106 entschlüsselt wurden, zusätzlich zu vielen anderen Funktionen.
-
4 zeigt ein Blockdiagramm, das eine auführliche Ansicht des Beispielsystems 100 darstellt, welches zur Lieferung einer Multimedia-Präsentation einer Audio-Datei an eine Recheneinrichtung 102 dient und zeigt üblicherweise verwendete Softwaremodule. Wie bereits vorangehend beschrieben wurde, ist der/sind die Server 104 mit der Recheneinrichtung 102 über ein Computernetzwerk (zum Beispiel das Internet) 105 gekoppelt. Ferner ist eine Schnittstelleneinrichtung 106 mit der Recheneinrichtung 120 gekoppelt und ein Musikinstrument 112 ist mit der Schnittstelleneinrichtung gekoppelt. Bei einer Ausführungsform überträgt der Server 104 als Reaktion auf die Auswahl eines Musikstücks an einer Recheneinrichtung 102 durch einen Benutzer, eine zu einem Musikstück gehörige Session-Datei an die Recheneinrichtung 102 über das Computernetzwerk (zum Beispiel das Internet) 105. Diese Session-Datei enthält eine Audio-Datei und Multimediadaten. Die Recheneinrichtung 102 verarbeitet die Session-Datei zur Präsentation der Multimedia-Präsentation der Audio-Datei für den Benutzer, so daß der Benutzer ein Musikinstrument 112 in Verbindung mit einer Multimedia-Präsentation der durch die Recheneinrichtung 102 verarbeiteten Audio-Datei spielen kann.
-
Wie in 4 gezeigt weisen die Recheneinrichtung 102 und der Server 104 insbesondere jeweils eine Mehrzahl von Softwaremodulen auf, welche die Funktionen der Ausführungsformen der vorliegenden Erfindung ermöglichen. Diese Softwaremodule enthalten üblicherweise Anwendungsprogramme bzw. Anwendungen, die dem Benutzer bei der Verwendung der Recheneinrichtung 102 und des Servers 104 unterstützen und für die verschiedenen Funktionen, die mit der Lieferung einer Multimedia-Präsentation einer Audiodatei an einer Recheneinrichtung 102 zur Anzeige für einen Benutzer verbunden sind, und die es dem Benutzer erlauben, ein Musikinstrument in Verbindung mit der Multimedia-Präsentation zu spielen, wie auch andere Funktionen, die die Sicherheiten und die Verkaufsverfahren betreffen, wie beschrieben wird. Zum Beispiel enthält die Recheneinrichtung 102 ein Anwendungs-Modul 402, das ferner einen eingebetteten Browser 404, ein Audio-Wiedergabesoftware-Modul 406 und Sicherheitssoftwaremodul 408 aufweist. Ferner enthält die Recheneinrichtung 102 ein Gerätetreiber-Softwaremodul 410 und ein Audio-DSP-Softwaremodul 412. Serverseitig enthält der Server 104 ein Server-Softwaremodul 415, ein Anwendungs-Softwaremodul 416, ein Datenbank-Softwaremodul 418, ein Verkaufs-Softwaremodul 420 und ein Sicherheitssoftwaremodul 422.
-
Das Anwendungs-Softwaremodul 402 der Recheneinrichtung 102 bildet eine Schnittstelle und steuert die Implementierung des eingebetteten Browsers 404 und alle anderen Softwaremodule (zum Beispiel des Audio DSP-Softwaremoduls 412, des Audio-Wiedergabe-Softwaremoduls 406, des Gerätetreiber-Softwaremoduls 410 und des Sicherheitssoftwaremoduls 408), so daß die Ausführungsformen der Erfindung, betreffend die Präsentation einer Multimedia-Präsentation einer Audio-Datei für einen Benutzer, um dem Benutzer ein Zusammenspielen eines Musikinstruments in Verbindung mit einer Multimedia-Präsentation zu erlauben, wie auch andere, die Sicherheit und den Verkauf betreffenden Funktionen, in geeigneter Weise implementiert sind. Bei einer Ausführungsform zeigt das Anwendungs-Softwaremodul 402 in Verbindung mit dem eingebetteten Browser 404 dem Benutzer anfänglich eine Web-Seite (zum Beispiel eine Homepage) und bietet dem Benutzer eine Vielzahl von Musikstücken an, aus denen er auswählen kann. Der eingebettete Browser 404 ist insbesondere für das Anwendungs-Softwaremodul 402 zugeschnitten und seine verschiedenen Funktionen können auf einer beliebigen Art von herkömmlich bekannten Browsern basieren, wie zum Beispiel dem Microsoft Explorer.
-
Das Anwendungs-Softwaremodul 402 bewirkt auch die Anzeige einer Control-Panel-Grafikschnittstelle für ein Musikinstrument 112, die Einstellungen enthält, welche die Klangcharakteristika des Musikinstruments bestimmen. Die Control-Panel-Grafikschnittstelle ermöglicht es dem Benutzer auch, die Klangcharakteristika für das Musikinstrument 112 einzustellen. Ferner stellt das Anwendungs-Softwaremodul 402 die Einstellungen der Control-Panel-Grafikschnittstelle, als Reaktion auf die an die Recheneinrichtung 102 durch den Server gesendeten Multimedia-Daten der Session-Datei eines ausgewählten Musikstücks (zum Beispiel durch den Benutzer ausgewählt), auf vorbestimmte Werte ein, um die Klangcharakteristika des Musikinstruments nachzubilden, die mit der Audio-Datei des durch den Benutzer ausgewählten Musikstücks verknüpft sind. Ferner kann das Anwendungs-Softwaremodul 402 ein durch den Benutzer ausgewähltes Musikstück (zum Beispiel ein von dem Server 104 an die Recheneinrichtung 102 gesendetes) abspielen, wobei eine Spur (track) aus der Audio-Datei entfernt ist, die dem Musikinstrument des Benutzers zugeordnet ist, so daß der Benutzer sein oder ihr Musikinstrument 112 in Verbindung mit einer Multimedia-Präsentation der Audio-Datei spielen kann, wobei diese nicht das Musikinstrument des Benutzers enthält. Ferner verarbeitet das Anwendungs-Softwaremodul 402 die Multimediadaten der Session-Datei, um die Anzeige der Musiknoten für den Benutzer zu bewirken, die der Audio-Datei des Musikstücks zugeordnet sind. Die Anzeige der Multimedia-Präsentation kann auf einer Anzeigeeinrichtung 204 der Recheneinrichtung 102 stattfinden und der Klang kann durch die verstärkten Lautsprecher 120 der Schnittstelleneinrichtung 106 geleitet werden.
-
Um diese Funktionen zu leisten, verwendet das Anwendungs-Softwaremodul 402 ein herkömmliches Gerätetreiber-Softwaremodul 410, ein Audio-DSP-Softwaremodul 412 ein Audiowiedergabe-Softwaremodul 406. Das Audio-DSP-Softwaremodul 412 verarbeitet das Audiosignal des Musikinstruments 112 (zum Bespiel unter Verwendung von DSP-Algorithmen), so daß der Benutzer die Klangcharakteristika des Musikinstruments einstellen kann. Wie bereits beschrieben, kann das Audio-DSP-Softwaremodul 412 von dem Anwendungs-Softwaremodul 402 verwendet werden, um die Einstellungen der Control-Panel-Grafikschnittstelle auf vorbestimmte Werte zu setzen, um die Klangcharakteristika des Musikinstrumentes derart nachzubilden, daß sie in richtiger Weise zu dem durch den Benutzer ausgewählten Musikstück passen. Ferner kombiniert das Audio-DSP-Softwaremodul 412 sowohl die digitale Audio-Datei und das verarbeitete digitale Audiosignal des Musikinstruments zur Erzeugung des gemischten digitalen Audiosignals, wie bereits beschreiben. Ferner steuert das Anwendungs-Softwaremodul 412 ein Audiowiedergabe-Softwaremodul 406 zur Steuerung der Übertragung des gemischten digitalen Signals der digitalen Audio-Datei und des digitalen verarbeiteten Klangs des Musikinstruments 112 zurück zu der Schnittstelleneinrichtung 106, wo sie über die verstärkten Lautsprecher 120 oder die Kopfhörer 122 für den Benutzer wiedergegeben wird. Jedoch kann das Anwendungs-Softwaremodul 402 das Audiowiedergabe-Softwaremodul 406 auch ansteuern, um die Übertragung von nur der digitalen Audio-Datei zu steuern, in dem Fall, in dem das Musikinstrument nur durch die Schnittstelleneinrichtung 106 und nicht zur Verarbeitung durch die Recheneinrichtung 102 geleitet wird. Es sollte klar sein, daß im Stand der Technik Audio-DSP-Softwaremodule für eine Vielfalt von verschiedenen Musikinstrumenten bekannt sind. Zum Beispiel sind allgemeine Arten von DSP-Softwaremodulen, die MIDI-Dateien verändern können, wohl bekannt (zum Beispiel MIDI Shop). Ferner sind Audiowiedergabe-Softwaremodule zur Wiedergabe von Audio-Dateien und Audio-Signalen von einem Musikinstrument ebenfalls bekannt.
-
In einer bestimmten Ausführungsform, die im weiteren zur Beschreibung von Aspekten der vorliegenden Erfindung verwendet wird, sind das Anwendungs-Softwaremodul 402, das Audio-DSP-Softwaremodul 412, die Webseite für das Login des Benutzers und die Control-Panel-Grafikschnittstelle auf die Unterstützung einer Gitarre als Musikinstrument 112 gerichtet. Insbesondere sollte klar sein, daß DSP-Algorithmen zur Veränderung der Audio-Signale von einer Gitarre im Stand der Technik bekannt sind und leicht in eine Software auf der Recheneinrichtung 102 implementiert werden können. Ein DSP-Algorithmus zur Veränderung von Audiosignalen von einer Gitarre zur Nachbildung verschiedener Verstärker und Lautsprechergehäuse-Konfigurationen, der in dem Audio-DSP-Softwaremodul 412 zur Umsetzung von Aspekten der vorliegenden Erfindung geeignet ist, ist in dem Patent Nr. 5,789,689 mit dem Titel „Tube Modeling Programmable Digital Guitar Amplification System” beschrieben, welches hier durch Verweis aufgenommen wird. Ferner ist eine große Vielzahl von Software-Implementierten Control-Panel-Grafikschnittstellen für eine Vielzahl von verschiedenen Instrumenten bekannt und es gibt einige grundsätzliche Control-Panel-Grafikschnittstellen, die für Gitarren bekannt sind, zum Beispiel enthält AMPS FARM eine Art von Software-Implementierter Control-Panel-Grafikschnittstelle für eine Gitarre. Jedoch enthält keine von diesen viele der neuen und nicht-offensichtlichen Merkmale der Control-Panel-Grafikschnittstelle für Gitarren, die später ausführlicher beschrieben wird. Ferner werden die Aspekte des Sicherheits-Softwaremoduls 408 der Recheneinrichtung 102 später ebenfalls ausführlicher beschrieben.
-
Bei einer Ausführungsform der vorliegenden Erfindung enthält der Server 104 ein Server-Softwaremodul 415, ein Anwendungs-Softwaremodul 416, ein Datenbank-Softwaremodul 418, ein Verkaufs-Softwaremodul 420 und ein Sicherheits-Softwaremodul 422. Das Anwendungs-Softwaremodul 416 bildet eine Schnittstelle und steuert die Implementierung des Server-Moduls 415 und alle anderen Softwaremodule (zum Beispiel des Datenbank-Softwaremoduls 418, des Verkaufs-Softwaremoduls 420 und des Sicherheits-Softwaremoduls 422) an dem Server 104, so daß die Ausführungsformen der Erfindung bezüglich der Anzeige einer Multimedia-Präsentation einer Audio-Datei für einen Benutzer, um es dem Benutzer zu ermöglichen, ein Musikinstrument in Verbindung mit der Multimedia-Präsentation zu spielen, und auch andere Funktionen betreffend die Sicherheit und Verkaufsfunktionen in richtiger Weise implementiert sind.
-
Am Server 104 stellt das Anwendungs-Softwaremodul 416 in Verbindung mit dem Server-Softwaremodul 415 der Recheneinrichtung 102 die Daten zur Verfügung, die zur Implementierung dieser Funktionen der Erfindung erforderlich sind, wie beschrieben werden wird. Das Server-Softwaremodul 415 kann eine herkömmliche Serversoftware zur Übertragung und zum Empfang von Daten zu und von einer Recheneinrichtung 102 sein. Zum Beispiel kann der Server 104 unter Verwendung des Hypertext Transfer Protocol (HTTP) und Hypertext Markup Language (HTML) oder Extensible Markup Language (XML) mit der Recheneinrichtung 102 über das Computernetzwerk 105 kommunizieren, um verschiedene Funktionen und Daten an den Benutzer bereitzustellen. An der Recheneinrichtung 102 kann die Recheneinrichtung 102 Daten zu dem Server 104 liefern oder auf verarbeitete oder nicht verarbeitete Daten von diesem zugreifen, unter Verwendung des eingebetteten Browsers 404, der Teil des Anwendungs-Softwaremoduls 402 ist oder auch durch andere Browser wie z. B. NetscapeTM NavigatorTM, herausgegeben von der NetscapeTM Corporation of Mountain View, CA, dem Internet ExplorerTM herausgegeben von MicrosoftTM Corporation of Redmond, WA, der Benutzerschnittstelle von America OnlineTM oder jedem anderen Browser oder HTML/XML-Übersetzer eines bekannten Lieferanten.
-
Sas Server-Softwaremodul 415 überträgt als Reaktion von der Auswahl eines Musikstückes an der Recheneinrichtung 102 durch den Benutzer unter der Steuerung des Anwendungs-Softwaremoduls 416 eine Session-Datei zu der Recheneinrichtung 102 über das Computernetzwerk 105, wie bereits beschrieben. Die Session-Datei enthält eine Audio-Datei und Multimediadaten, so daß die Recheneinrichtung 102 die Session-Datei zur Präsentation einer Multimedia-Präsentation für den Benutzer verarbeiten kann, um es dem Benutzer zu ermöglichen, sein oder ihr Musikinstrument 112 (zum Beispiel eine Gitarre) in Verbindung mit der Multimedia-Präsentation der Audiodatei zu spielen. Wie weiter beschrieben wird, empfängt und überträgt das Server-Softwaremodul 415 unter der Steuerung des Anwendungs-Softwaremoduls 416 eine Vielfalt von verschiedenen Arten von Daten zu und von der Recheneinrichtung 102 zur Implementierung der Funktionen der Erfindung.
-
Das Datenbank-Softwaremodul 418 kann eine herkömmliche Datenbank-Software, wie zum Beispiel MySQL sein, um die Eingabe und Ausgabe von Daten von der Werte-Datenbank 107 und der Benutzer-Informationsdatenbank 109 unter der Steuerung des Anwendungs-Softwaremoduls 416 zu steuern, wie später ausführlicher beschrieben wird. Ferner werden die Aspekte und Funktionen des Verkaufs-Softwaremoduls 420 und des Sicherheits-Softwaremoduls 422 später ausführlicher beschrieben.
-
Die zwischen dem Server 104 und der Recheneinrichtung 102 ausgetauschten Daten enthalten Session-Dateien mit Multimediadaten und Audio-Dateien, Benutzerinformationen, Verkaufsinformationen zur Verfolgung der Erwerbs- und Lizenzierungsbeschränkungen der Audio-Dateien und andere Elemente, Sicherheitsinformationen mit verschlüsselten Schlüsseln und entschlüsselten Werten und Audio-Dateien, Multimedia-Daten für die Präsentation einer Webseite, zusammen mit einer Vielzahl anderer Daten. Viele der Informationen bezüglich der Session-Dateien, Multimediadaten, Audio-Dateien, Verkaufsinformationen und anderen Werten können in der Werte-Datenbank 107 gespeichert werden, wie beschrieben wird. Benutzerinformationen, einschließlich des Benutzernamens, der E-Mail Adresse, der Heimatadresse, der Verbindungsgeschwindigkeit der Recheneinrichtung, der Kreditkartennummer, der Bezugsrechtsinformationen einschließlich einer Benutzer-Seriennummer für seine Sicherheits-Einrichtung 110, der Benutzerschlüssel, der Speicherschlüssel und andere Benutzerinformationen können in der Benutzerinformations-Datenbank 110 gespeichert werden, wie beschrieben wird. Es wird dem durchschnittlichen Fachmann in dem maßgeblichen Gebieten der Technik schnell klar werden, daß die Werte-Datenbank 107 und die Benutzerinformations-Datenbank 109 auf einer Speichereinrichtung gespeichert sein kann, einschließlich verschiedenen Massenspeichereinrichtungen, wie zum Beispiel ein oder mehrere DASD-Arrays, Bandlaufwerken, optischen Laufwerken oder ähnlichem und daß die vorangehend erwähnten Informationen in einem von einer Vielfalt von Formaten und Datenstrukturen gespeichert werden können.
-
In einer bestimmten Ausführungsform, die im weiteren zur Beschreibung einiger Aspekte der vorliegenden Erfindung verwendet wird, werden die Recheneinrichtung 102, der Server 104 und seine zugeordneten Werte- und Benutzerinformations-Datenbanken 107 und 109 und die Schnittstelleneinrichtung 106, zusammen mit den zugeordneten Softwaremodulen zur Unterstützung einer Gitarre 112 als Musikinstrument verwendet. Es sollte jedoch dem Fachmann klar sein, daß die vorliegende Erfindung verwendet werden kann, um jede Art von Musikinstrument zu unterstützen. Ferner sollte klar sein, daß die vorliegende Erfindung auch den Fall unterstützen kann, wobei ein Mikrophon als Musikinstrument verwendet wird und das Eingangs-Audiosignal eine menschliche Stimme ist, so daß Ausführungsformen der Erfindung als virtuelle Karaoke-Maschine betrieben werden können. Diese Aspekte werden noch deutlicher, nach dem weiteren Lesen der Beschreibung.
-
Es wird nun auf 5a Bezug genommen. 5a zeigt anhand eines Ablaufdiagramms ein Verfahren 500 zum Liefern einer Multimedia-Präsentation für einen Benutzer unter Verwendung des vorangehend beschriebenen beispielhaften Systems 100 aus 4. Bei Block 502 stellt das Anwendungs-Softwaremodul 402 dem Benutzer die Control-Panel-Grafikschnittstelle 600 gemäß 6 dar, nachdem ein Benutzer das Anwendungs-Softwaremodul 402 auf seine oder ihre Recheneinrichtung 102 geladen hat. Zum Beispiel kann die Control-Panel-Grafikschnittstelle 600 auf der Anzeigeeinrichtung 204 der Recheneinrichtung 102 angezeigt werden. Als nächstes verwendet die Recheneinrichtung 102 das Anwendungs-Softwaremodul 402, um dem Benutzer die Anmeldung an dem Server 104 zu erlauben und auf den Server zuzugreifen. Der Server zeigt dem Benutzer eine auf Gitarren bezogene Webseite an, die im weiteren als GUITARPORT Webseite bezeichnet wird. Daher wird dem Benutzer zuerst eine GUITARPORT-Homepage angezeigt und später andere GUITARPORT-Webseiten.
-
Es wird nun auch auf 6a Bezug genommen. Die Anmeldung an dem Server 104 kann durch die Auswahl des Benutzers von der GUITARPORT-Online-Schaltfläche 606 erreicht werden. Zum Beispiel kann die Recheneinrichtung 102 den Server 104 über das Computernetzwerk (zum Beispiel das Internet) unter Verwendung von Standard-Computernetzwerkprotokollen (zum Beispiel TCP/IP) kontaktieren. Bei Block 506 identifiziert der Server 104 unter der Steuerung des Anwendungs-Softwaremoduls 416 und in Verbindung mit dem Sicherheits-Softwaremodul 422 den Benutzer auf Basis einer eindeutigen Kennung von der Sicherheits-Einrichtung 110 (zum Beispiel der Seriennummer der Schnittstelleneinrichtung 106), um zu bestimmen, ob Zugriff auf den Server 104 autorisiert werden sollte. Diese Sicherheitsmerkmale werden später ausführlicher beschrieben. Wenn der Benutzer nicht durch den Server 104 autorisiert wird, wird die Session (bzw. die Sitzung) bei Block 508 abgebrochen. Wenn jedoch der Benutzer zur Verwendung des Servers 104 autorisiert ist, geht das Verfahren 500 zu Block 510.
-
Bei Block 510 verwendet das Anwendungs-Softwaremodul 402 den eingebetteten Browser 404 zur Anzeige der GUITAPORT-HOMEPAGE, die von dem Server 104 empfangen wurde, wie in 6b gezeigt. Die GUITAPORT-Homepage wird anfänglich unterhalb der Control-Panel-Grafikschnittstelle für Gitarren 600 angezeigt. Es wird auch auf 6b Bezug genommen. Die GUITAPORT-Homepage enthält Merkmale (features), Nachrichten, Diskussionen, Benutzerseiten, Gitarren-Tools, Musikstücke (zum Beispiel die neuesten Jamtracks) und Klänge. Die GUITAPORT-Homepage wird später gesondert beschrieben. Ferner kann der Server 104 auf Grundlage der Benutzerinformationen, die für den Benutzer (zum Beispiel insbesondere die musikalischen Vorzüge des Benutzers) in der Benutzerinformations-Datenbank 109 an dem Server 104 gespeichert sind, die GUITAPORT-Homepage auf die musikalischen Vorzüge des Benutzers zuschneiden. Wenn zum Beispiel ein Benutzer Rock and Roll bevorzugt, dann werden die neuesten Jamtracks (zum Beispiel Musikstücke) auf die Rock and Roll-Musikstücke zeigen, oder auch auf bestimmte Rock and Roll Klänge. Ferner können andere Komponenten der GUITARPORT-Homepage auch mit den Vorlieben des Benutzers verzahnt sein, zum Beispiel die Nachrichten, die Merkmale und so weiter. Bei Block 512 darf der Benutzer aus einem Klang oder einem Musikstück (zum Beispiel einem Jamtrack) auswählen. Wenn der Benutzer einen Klang auswählt, dann wird das Verfahren 500 in 5b bei Block 514 fortgesetzt. Wenn der Benutzer andererseits ein Musikstück (zum Beispiel einen Jamtrack) auswählt, wird das Verfahren 500 in 5c bei Block 516 ausgewählt. Ein Jamtrack ist eine Art von Musikstück, das von dem Server 104 heruntergeladen werden kann.
-
Um die Verfahren der Erfindung und zugeordnete Control-Panel-Grafikschnittstellen zu erklären, werden nun einige Control-Panel-Grafikschnittstellen beschrieben. Es wird nun auf 6a Bezug genommen. 6a zeigt eine Bildschirmansicht, die insbesondere die Control-Panel-Grafikschnittstelle für eine Gitarre 600 darstellt. Wie bereits beschrieben, erzeugt das Anwendungs-Softwaremodul 402 die Control-Panel-Grafikschnittstelle 600 und ermöglicht in Verbindung mit dem DSP-Softwaremodul 412 dem Benutzer die Änderungen der Einstellungen der Control-Panel-Grafikschnittstelle (oder die Einstellungen können auf vorbestimmte Werte gesetzt werden, die durch eine Session-Datei oder einen vorbestimmten Patch bestimmt sind), so daß das Audio-DSP-Softwaremodul 412 das Audiosignal von Gitarre 112 zur Anpassung an die gewünschten Einstellungen verarbeitet. Die Einstellungen der Control-Panel-Grafikschnittstelle 600 für eine Gitarre werden nun beschrieben.
-
Die Control-Panel-Grafikschnittstelle 600 enthält eine Mehrzahl von Standard-Reglerknöpfen 604, die bei den meisten Gitarrenverstärkern üblich sind, einschließlich: einem Drive Reglerknopf 606, einem Bass-Reglerknopf 608, einem Middle-Reglerknopf 610 (Mitten-Regler), einem Treble-Reglerknopf 612 (Höhen-Regler), einem Presence-Reglerknopf 614 (Präsenz-Regler) und einem Volume-Reglerknopf 616 (Lautstärke-Regler). Diese Reglerknöpfe sind durch den Benutzer anwählbar, um den Klang der Gitarre zu verändern. Die Control-Panel-Grafikschnittstelle 600 enthält ferner einen Boost-Schalter 620 zur Verstärkung der Leistung des Audiosignals von der Gitarre. Bei Auswahl schaltet ein Bypass-Knopf 622 die DSP-Verarbeitung aus, so daß das direkte, unverarbeitete Audiosignal von der Gitarre verwendet wird. Eine Vergleiche-Schaltfläche 624 ermöglicht bei Auswahl zwei verschiedene Control-Panel-Grafikschnittstellenkonfigurationen nebeneinander zu vergleichen. Eine Reduzieren(Collapse)-Schaltfläche 628 reduziert bei Auswahl die Größe der Control-Panel-Grafikschnittstelle 600. Eine Stummschaltungs-Gitarrenschaltfläche 630 schaltet bei Auswahl das Audiosignal von der Gitarre stumm (Mute).
-
Der Master-Volume-Regler 632 steuert die Lautstärke des Audiosignals der Gitarre 112 und die Lautstärke jedes anderen Audiosignals (zum Beispiel von einer Audio-Datei), welches gegenwärtig verarbeitet wird. Die Auswahl der Brumm-Reduzierung-Schaltfläche 634 ermöglicht es dem Benutzer, die Brumm-Wechselwirkung zwischen der Gitarre 112 und der Anzeigeeinrichtung 204 zu verringern. Sobald die Brumm-Reduzierungs-Schaltfläche 634 ausgewählt ist und die Lerne-Schaltfläche 636 gedrückt wird, mißt die Recheneinrichtung 102 die Brumm-Wechselwirkung zwischen der Gitarre 112 und der Anzeigeeinrichtung 204 (zum Beispiel kann der Benutzer sein oder ihre Gitarre neben die Anzeigeeinrichtung bewegen) und die DSP-Verarbeitung kompensiert die Brumm-Wechselwirkung und entfernt sie. Die Noise-Gate-Schaltfläche 638 verstärkt bei Auswahl das Eingangs-Audiosignal von der Gitarre, wenn es unterhalb eines Schwellen-Pegels liegt, verstärkt das Audiosignal von der Gitarre jedoch nicht, wenn es oberhalb eines Schwellen-Pegels liegt. So kann die Noise-Gate-Schaltfläche 638 verwendet werden, um Dinge wie den durch die Handhabung der Gitarre verursachten Krach loszuwerden. Ein Guitar Pan-Schieberegler 640 kann verwendet werden, um den Klang der Gitarre zwischen den linken und den rechten Lautsprechern zu verschieben.
-
Wie bereits beschrieben kann ferner der Benutzer einen Klang auswählen oder ein Klang kann automatisch für den Benutzer ausgewählt werden, damit dieser mit dem von ihm ausgewählten Musikstück mitspielen kann. Die Art des ausgewählten Klangs wird in dem Klangfeld 642 angezeigt. Eine beliebige Anzahl von Klängen, die Verstärkermodelle wiedergeben, basierend auf nahezu jeder Art von Gitarrenverstärker (zum Beispiel MARSHALL, FENDER, VOX, ROLAND, etc.) nahezu jede Art von Lautsprechergehäusen und viele andere Arten von Effekten können wiedergegeben werden. Zum Beispiel können die Klänge für die Hells Bells Rhythm Section von AC/DC, ein Heavy Funk Rock Lead, einem '64 Fender Deluxe oder ein beliebiger anderer Klang ausgewählt werden (zum Beispiel einer der Top 10 Klänge 685 (6b)) oder durch den Benutzer erstellt werden. Insbesondere sollte klar sein, daß die DSP-Algorithmen zur Veränderung der Audiosignale von einer Gitarre 112 in der Technik bekannt sind und leicht in eine Software auf der Recheneinrichtung 102 implementiert werden können. Zum Beispiel ist ein Beispiel von DSP-Algorithmen zur Veränderung der Audiosignale von einer Gitarre zur Nachahmung verschiedener Verstärker und Lautsprechergehäuse-Konfigurationen, welcher in dem Audio-DSP-Softwaremodul 412 zur Implementierung des Aspekte der vorliegenden Erfindung verwendet werden kann, ausführlich in der Patentnummer 5,789,689 mit dem Titel „Tube Modeling Programmable Digital Guitar Amplification System” beschrieben, welches hier durch Verweis aufgenommen wird.
-
Üblicherweise kann ein Klang über den Gitarrenverstärker, das Lautsprechergehäuse und eine Anzahl von verschiedenen Effekten, wie auch anderen Einstellungen bestimmt werden. Wiederum kann der Klang durch den Benutzer ausgewählt, durch den Benutzer erstellt oder voreingestellt werden, um mit dem ausgewählten Musikstück zusammenspielen zu können. Die Art des nachgeahmten Gitarrenverstärker-Klangs wird in dem Gitarrenverstärker-Modellfeld 644 angezeigt (zum Beispiel '90 Marshall JCM-800). Die nachgeahmte die Lautsprechergehäuse-Konfiguration wird in dem Lautsprechergehäuse-Modellfeld 646 angezeigt (zum Beispiel 4x12 '78 Marshall with Stock 70s). Die Lautsprechergehäuse-Konfiguration 646 imitiert bzw. simuliert den Effekt eines Lautsprechergehäuses auf den verstärkten Gitarrenklang. Ferner wird eine Anzahl von digital produzierten und wohlbekannten Effektboxen durch die Control-Panel-Grafikschnittstelle 600 bereitgestellt, um Klänge zu erzeugen. Insbesondere ist eine Compression-Effekt-Box 650, eine Delay-Effekt-Box 652 eine Modulations-Effekt-Box 654 (zum Beispiel mit Chorus, Flanger, Rotary, Tremolo, etc.) und eine Reverb-Effekt-Box 656 bereitgestellt. Effekt-Boxen sind üblicherweise in zusätzlichen digitalen Audioinstrument-Prozessoren zu finden, die mit einer Gitarre und einem herkömmlichen Verstärker gekoppelt werden. Ferner zeigt diese bestimmte Control-Panel-Grafikschnittstelle 600, daß die Delay-Effekt Box 652 gerade ausgewählt ist und zeigt bestimmte Eigenschaften des Delay-Effekts an, wie zum Beispiel die Delay-Zeit 660, den Rückkopplungs-Prozenanteil 662 und den Pegel-Prozentanteil 664. Wie bereits beschrieben kann ein Benutzer sich an der GUITARPORT-Webseite durch Auswahl der GUITARPORT-Online Schaltfläche 606 anmelden.
-
Es wird nun auf 6b Bezug genommen. 6b zeigt eine Bildschirmansicht von der dem Benutzer angezeigten Ansicht, wenn dieser sich erfolgreich an dem Server 104 angemeldet hat. Insbesondere zeigen das Anwendungs-Softwaremodul 402 und der eingebettete Browser 404 die von dem Server 104 empfangene GUITARPORT-Homepage 670 an, die unterhalb der Control-Panel-Grafikschnittstelle 600 angeordnet ist, und führen in Verbindung mit den von dem Server 104 empfangenen Daten viele der durch den Benutzer angeforderten Funktionen aus. Es sollte klar sein, daß die Control-Panel-Grafikschnittstelle 600 die gleiche ist, wie die in 6a gezeigte, bis darauf, daß in diesem Fall die Kompressions-Effekt-Box ausgewählt wurde und ein Kompressions-Effektfenster (zum Beispiel zur Ermöglichung der Auswahl anderen Kompressionsverhältnisses) gezeigt ist.
-
Wie in 6b gezeigt, enthält die GUITARPORT-Homepage 670 eine Home-Schaltfläche 671, eine Feature-Schaltfläche 672, einen Nachrichten-Schaltfläche 673, eine Diskussions-Schaltfläche 674, eine Benutzer-Schaltfläche 675 und eine Gitarren-Tools-Schaltfläche 676. Wenn ein Benutzer die Home-Schaltfläche 671 auswählt, wird der Benutzer zu der GUITARPORT-Homepage zurückgeführt. Ein Drücken der Feature-Schaltfläche 672 bringt den Benutzer zu einer Feature-Seite, die Dinge wie Künstlerinterviews, Studiomitteilungen und andere das Gebiet der Musik betreffene Artikel enthält, die der Benutzer für nützlich erachten kann. Anwahl der Nachrichten-Schaltfläche 673 bringt den Benutzer zu einer Nachrichten-Seite, die Artikel zu dem Thema Musik und insbesondere Gitarren bereitstellt. Wenn der Benutzer die Diskussions-Schaltfläche 674 auswählt, wird der Benutzer zu einem Nachrichtenbrett (Bulletin Board) gebracht, das es dem Benutzer erlaubt, Nachrichten (zum Beispiel Fragen, Antworten, Nachrichten, Artikel, etc.) zu jedem Thema zu hinterlassen, welche sich jedoch üblicherweise auf Musik und insbesondere Gitarren beziehen. Die Auswahl der Benutzer-Schaltfläche 675 stellt dem Benutzer eine Benutzerseite zur Verfügung, die dem Benutzer die Aktualisierung seines Benutzerprofils (zum Beispiel Name, Adresse, Art von Bezugsrechten, musikalische Vorzüge, etc.) ermöglicht. Ein Druck auf die Guitar-Tools-Schaltfläche 676 bringt den Benutzer zu einer Tools-Seite, die dem Benutzer Informationen zum Spielen einer Gitarre zur Verfügung stellt, zum Beispiel: Was ist die Darstellung eines C-Akkords, wie stelle ich meinen Verstärker ein, etc. Dies kann durch ”häufig gestellte Fragen”-Listen (FAQ), eine durchsuchbare Datenbank, E-Mail-Fragen an einen Gitarrentechnicer etc. ermöglicht werden.
-
Die GUITARPORT-Homepage kann auch mit auswählbaren Icons bestückt sein, die Links auf neue Artikel, Interviews, Nachrichten, Akkorde, Guitarren-Licks, die neuesten Jamtracks (zum Beispiel Musikstücke) und die beliebtesten Klänge darstellen. Zum Beispiel zeigt 6b auswählbare Studio-Mitteilungs-Icons-Links 678 und 679, einen auswählbaren Interview-Icon-Link 680, einen auswählbaren Tagesnachrichten-Icon-Link 681, einen Akkord-Der-Woche-Icon-Link 682 und einen Lick-Der-Woche-Icon-Link 683 wie auch neueste Jamtracks(zum Beispiel Musikstücke)-Links 684 und Klang-Links 685. Ferner kann, wie bereits beschrieben, die GUITARPORT-Webseite auf Grundlage von Benutzerinformationen (zum Beispiel den bestimmten musikalischen Vorlieben des Benutzers), die in der Benutzerinformations-Datenbank 109 an dem Server 104 gespeichert sind, auf den Benutzer zugeschnitten sein. Mit diesen Informationen kann der Server 104 insbesondere die GUITARPORT-Webseite zur Anpassung an die musikalischen Vorlieben des Benutzers zuschneiden. Wenn zum Beispiel ein Benutzer Rock and Roll bevorzugt, dann werden die neuesten Jamtracks 684 (zum Beispiel Musikstücke) auf Rock and Roll-Musikstücke und die jeweiligen Klänge 685 weisen. Ferner können die anderen Komponenten der GUITARPORT-Webseite mit den Vorlieben des Benutzers ebenfalls verzahnt sein, zum Beispiel die Studio-Mitteilung, Interviews, Nachrichten, Akkord der Woche, Lick der Woche, etc.
-
Ferner weist die Control-Panel-Grafikschnittstelle 600 einige auswählbare Schaltflächen auf, die mit der GUITARPORT-Webseite interagieren. Wie in der 6b gezeigt, ist die GUITARPORT-Online-Schaltfläche 606 zur Verbindung mit der GUITARPORT-Webseite bereits angewählt.
-
Eine Künstler und Ausrüstungs-Schaltfläche 687 ist bereitgestellt und stellt dem Benutzer bei Auswahl eine Liste der Künstler zur Verfügung, aus denen sie auswählen können, so daß der Benutzer über den Künstler geschriebene Artikel auffinden kann und Biographien der Künstler und die Art der durch den Künstler benutzten musikalischen Ausrüstung bereitgestellt wird. Die Tracks-Schaltfläche 680 stellt bei Auswahl dem Benutzer eine Liste von Musikstücken (zum Beispiel Jamtracks) zur Verfügung, aus denen der Benutzer wählen kann. Als Reaktion auf die Auswahl eines Musikstück durch einen Benutzers (zum Beispiel ein Jamtrack), überträgt der Server eine Session-Datei, die dem ausgewählten Musikstück zugeordnet ist, an die Recheneinrichtung 102 über das Computernetzwerk (zum Beispiel das Internet) 105. Die Session-Datei enthält eine Audio-Datei und Multimediadaten. Die Recheneinrichtung verarbeitet die Session-Datei zur Anzeige einer Multimedia-Präsentation der Audio-Datei für den Benutzer, wie beschrieben wird. Die Klang-Schaltfläche 689 stellt dem Benutzer bei Auswahl eine Liste von zur Auswahl stehenden Klängen bereit. In Abhängigkeit von der Auswahl eines Klanges durch den Benutzer, überträgt der Server 104 eine Patch-Information (zum Beispiel Typ des Verstärkers, der Lautsprechergehäuse, der Effekteinstellungen, etc.), so daß die Control-Panel-Grafikschnittstelle 600 richtig konfiguriert wird und das DSP-Softwaremodul 412 das Gitarrensignal zur Emulation des richtigen Klangs in richtiger Weise verarbeitet. Es sollte jedoch klar sein, daß der Benutzer mit oder ohne Verbindung zu der GUITARPORT-Webseite vorher gespeicherte Klänge und Musikstücke (zum Beispiel Jamtracks) nutzen kann.
-
Ferner weist die Control-Panel-Grafikschnittstelle 600 eine Stimmer-Schaltfläche 690 auf, die bei Auswahl die Wirkung der Recheneinrichtung als Chromatischer-Stimmer erlaubt, so daß der Benutzer seine Gitarre stimmen kann. Die Control-Panel-Grafikschnittstelle 600 weist ferner eine Hilfe-Schaltfläche 691, die bei Auswahl dem Benutzer Standardhilfemerkmale zur Verfügung stellt. Ferner weist die Control-Panel-Grafikschnittstelle 600 Back- und Forward-Pfeile 692 und 693 auf, die es dem Benutzer erlauben, vorwärts und rückwärts durch vorher besuchte Webseiten der GUITARPORT-Webseite zu schalten.
-
Wie bereits beschrieben, wird das Verfahren 500 bei 5b (Block 514) fortgesetzt, wenn der Benutzer einen Klang auswählt. Zum Beispiel kann der Benutzer einen der bereitgestellten Klänge auswählen, indem er die Klänge-Schaltfläche 689 auswählt oder einen der Topklänge 685 (zum Beispiel Heavy Funk Rock Lead (6b)). Es wird nun auf 5b Bezug genommen. 5b zeigt einen Ablaufdiagramm eines Verfahrens 501 zum Bereitstellen eines Klangs für einen Benutzer. In Reaktion auf die Klangauwahl des Benutzers überträgt der Server 104 Patch-Informationen (zum Beispiel Verstärkerart, Lautsprechergehäuse, Effekteinstellungen, etc.) an die Recheneinrichtung 102 (Block 518). Das Anwendungs-Softwaremodul 402 stellt die Control-Panel-Grafikschnittstelle 600 auf die geeignete Konfiguration zur Nachahmung der Klangcharakteristika des Klangs für das Musikinstrument (zum Beispiel die Gitarre) ein (Block 520). Ferner verarbeitet das DSP-Softwaremodul 512 in geeigneter Weise das Audiosignal der Gitarre zur Emulation des geeigneten Klangs. So kann der Benutzer seine oder ihre Gitarre 112 mit dem richtigen Klang spielen, die über die Schnittstelleneinrichtung 106 mit der Recheneinrichtung 102 verbunden ist. Zum Beispiel können die Patches Gitarrenklänge für verschiedene Musikkünstler darstellen (zum Beispiel Jimi Hendrix, Eric Clapton, Jerry Garcia, Chet Atkins, Robert Cray, etc.), oder können speziell für die GUITARPORT-Webseite zur Präsentation verschiedener Gitarren-Styles erstellt worden sein, wie zum Beispiel Rock, Country, Jazz, etc.
-
Wie bereits beschrieben wird das Verfahren 500 bei 5c (Block 516) fortgesetzt, wenn der Benutzer ein Musikstück auswählt. Zum Beispiel kann der Benutzer eines der bereitgestellten Musikstücke (zum Beispiel Jamtracks) durch Auswahl der Tracks-Schaltfläche 688 oder einen der neuesten Jamtracks (zum Beispiel Welcome to the Jungle (6b)) auswählen. Es wird nun auf 5c Bezug genommen. 5c zeigt einen Ablaufdiagramm eines Verfahrens 503 zur Bereitstellung eines Musikstücks für einen Benutzer. Insbesondere überträgt der Server 104 in Reaktion auf die Auswahl eines Musikstücks (zum Beispiel Jamtracks) durch den Benutzer eine Session-Datei, die dem ausgewählten Musikstück (zum Beispiel Jamtrack) zugeordnet ist, an die Recheneinrichtung 102 über das Computernetzwerk (zum Beispiel das Internet) 105 (Block 524). Die Session-Datei enthält eine Audio-Datei und Multimediadaten.
-
Es wird nun kurz auf 5d Bezug genommen. 5 zeigt die Inhalte einer Session-Datei 539. Die Session-Datei 539 enthält eine Audio-Datei 540, die dem Musikstück (zum Beispiel Jamtrack) zugeordnet ist. Die Audio-Datei 540 des Musikstücks ist üblicherweise ein Song, mit dem der Benutzer zusammenspielen möchte. Die Audio-Datei 540 kann der vollständige Song sein (das heißt mit allen Instrumentenspuren und Vokalspuren). Alternativ können aus der Audio-Datei 540 eine oder mehrere Spuren (tracks) entfernt sein, zum Beispiel: ein oder mehrere Gitarrenspuren sind entfernt, ein oder mehrere Gesangs-Spuren sind entfernt, eine oder mehrere Baß-Spuren sind entfernt, ein oder mehrere Schlagzeug-Spuren sind entfernt, etc. Wie beschrieben wird kann zum Beispiel der Benutzer ein Musikstück (zum Beispiel Jamtrack) mit daraus entfernter Gitarrenspur auswählen, so daß die Audio-Datei 540 durch die Recheneinrichtung 102 und die Schnittstelleneinrichtung 106 (zum Beispiel durch die verstärkten Lautsprecher 120) mit entfernter Gitarrenspur abgespielt wird, so daß der Benutzer zusammen mit dem Song mit entfernter Gitarrenspur spielen kann.
-
Ferner weist die Session-Datei 539 einen Multimedia-Block 542 auf, der mit JAVA-Script eingebettete HTML-Daten zur Präsentation und Anzeige von Multimediainformationen für den Benutzer. Unter kurzem Bezug auf 6c können insbesondere die Multimediadaten durch das Anwendungs-Softwaremodul 402 und den eingebetteten Browser 404 der Recheneinrichtung 102 (zusammen mit anderen Softwaremodulen der Recheneinrichtung 102) verarbeitet werden, wie im weiteren ausführlicher beschrieben wird, um den Namen des Songs oder Musikstücks 601, die Musik-Notation 603, die dem Notenblatt 605 zugeordnet ist darzustellen, so daß der Benutzer mit der abgespielten Audio-Datei 540 zusammenspielen kann. Der Multimedia-Datenblock 542 enthält ferner alle anderen erforderlichen Daten zur Erreichung dieser Funktionen.
-
Die Session-Datei 539 enthält ferner einen Patch-Block 544, der Patch-Informationen enthält, so daß die Gitarre 112 den richtigen Klang oder Sound hat, um mit dem zugeordneten ausgewählten Musikstück/der Audiodatei 540 zusammenzuspielen. Die Patch-Information enthält die Art des Verstärkers und des Lautsprechergehäuses, die Effekteinstellungen und so weiter, so daß die Einstellungen der Gitarre an der Control-Panel-Grafikschnittstelle 600 zum Zusammenspielen mit dem ausgewählten Musikstück/der Audio-Datei eingestellt sind. Das Anwendungs-Softwaremodul 402 stellt die Control-Panel-Grafikschnittstelle 600 auf die richtige Konfiguration zur Nachahmung der Klangcharakteristika des Klangs für die Gitarre und für das bestimmte Musikstück/die Audio-Datei 540 ein. Ferner verarbeitet das DSP-Softwaremodul 412 die Gitarrensignale in geeigneter Weise, um den richtigen Klang zu emulieren, so daß der Gitarrenklang zu dem Musikstück/der Audio-Datei 540 paßt.
-
Ferner enthält die Session-Datei 539 eine MIDI-Datei 546, welche die Tempowechsel, die Programmänderungen, die Änderungen der Vorzeichen, Positionsmarkierer und so weiter für das ausgewählte Musikstück/die Audiodatei 540 darstellt. MIDI-Dateien sind in der Technik bekannt. Die Recheneinrichtung 102 (zum Beispiel unter Verwendung des Anwendungs-Softwaremoduls 402) interpretiert die Tempo-Map des Midi-Files während der Wiedergabe zur Konvertierung der aktuellen Audio-Wiedergabeposition in die entsprechende Audio-Datei-Position in der MIDI-Datei, um zu bestimmen, welche Ereignisse in der MIDI-Datei auftreten sollen. Programmänderungen von der Midi-Datei werden zur Auswahl von Patch-Informationen 544 zur Auswahl von Verstärker, Lautsprechergehäusen und Effekteinstellungen und so weiter verwendet und für die Verstärker-Steuerelemente der Control-Panel-Grafikschnittstelle 600, die für die jeweilige Position in der Audio-Datei (zum Beispiel dem bestimmten Ton für die unter Verwendung des DSP-Softwaremoduls 412 emulierten Gitarre) benötigt wird. Vorzeichenänderungen von der MIDI-Datei 546 werden zur Anzeige der aktuellen Vorzeichen an den Benutzer verwendet. Markierungen der Midi-Datei 546 werden verwendet, um Anzeigeereignisse an verschiedenen Punkten des Musikstücks zu veranlassen. Jeder Markierung in der MIDI-Datei 546 ist ein Text-Etikette zugeordnet. Das Etikett entspricht einer JavaScript-Funktion, die beim Erreichen des Etiketts ausgeführt werden soll.
-
Es wird nun kurz auf 6c Bezug genommen. Beispielsweise ist das Musikstück (zum Beispiel Jamtrack) der LA Smooth Jazz in C 601 und dessen zugeordnetes Notenblatt 605 mit der musikalischen Notation 603 wurde durch den Benutzer ausgewählt und wird angezeigt. Mit dem LA Smooth Jazz Musikstück sind MIDI-Markierer verknüpft. Die Text-Etiketten 609 für die MIDI-Markierer 607 werden oberhalb von der Musik-Notation 603 angezeigt und stammen aus der MIDI-Datei 546 der Session-Datei 539. In diesem Beispiel stellen die Text-Etiketten 609 der MIDI-Markierer 607 verschiedene Abschnitte des Musikstücks/der Audio-Datei 540 dar. Intro, Verse, Bridge, Chorus, Solo 1, etc. Zum Beispiel kann eine MIDI-Markierung 607 das Text-Etikett 609 „Chorus” aufweisen. Die MIDI-Markierung 607 für das Textetikette 609 „Chorus” bewirkt, daß die Musik-Notation 603 (zum Beispiel Akkorde, Noten, Gitarrentabulatur und Texte etc.) angezeigt werden, wenn der Chorus des Songs einsetzt. Als anderes Beispiel ist, wie in 6c gezeigt, die Musik-Notation 603 für das Intro (zum Beispiel die Akkorde) gezeigt. Wenn dann die Recheneinrichtung 102 eine MIDI-Markierung 607 von der zugeordneten Session-Datei 539 empfängt, verarbeitet der die MIDI-Markierung unter Verwendung von JavaScript, welches die entsprechende Funktion nachschlägt und das zugehörige Script ausführt. Das JavaScript lädt üblicherweise ein Bild oder zeichnet etwas auf die Anzeigeeinrichtung. In diesem Beispiel zeigt das JavaScript die Musik-Notation 603 (zum Beispiel die Akkorde) für das Intro des ausgewählten Musikstücks, LA Smooth Jazz in C an, wenn es die MIDI-Markierung 607 für das „Intro” empfängt.
-
Zurück zu der das Verfahren 503 darstellenden 5c wird bei Block 528 die Session-Datei 539 (zum Beispiel die Audio-Datei 540 und der Rest der Multimediadaten) zur Präsentation einer Multimedia-Präsentation einer Audio-Datei 540 für den Benutzer (zum Beispiel mit einer Musik-Notation 603) verarbeitet. Dies ermöglicht es dem Benutzer, eine Gitarre 112 in Verbindung mit der Multimedia-Präsentation der Audio-Datei 540 zu spielen (Block 530).
-
Unter weiterem Bezug auf die 6c kann die Recheneinrichtung 102 Bilder, Text und Graphiken während der Wiedergabe anzeigen (zum Beispiel auf der Anzeigeeinrichtung 204). Zum Beispiel kann die Recheneinrichtung Musiknotation 603 anzeigen, so daß während des Spielens des Musikstücks/Jamtracks (zum Beispiel mit einer Audiodatei 540), die gegenwärtige Position in dem Musikstück angezeigt wird, üblicherweise zusammen mit anderen Informationen: zum Beispiel den Texten, den Vorzeichen und der Gitarrentabulatur (zum Beispiel Akkorde, Noten, bildlichen Darstellung (Griffdarstellung) etc.) und ein Benutzer kann seine oder ihre Gitarre 112 in Verbindung mit der Multimedia-Präsentation der Audio-Datei 540 spielen.
-
In dem vorliegenden Beispiel der 6c wurde beispielsweise das Musikstück (zum Beispiel Jamtrack) LA Smooth Jazz in C 601 und das zugehörige Notenblatt 605 mit der Musik-Notation 603 durch den Benutzer ausgewählt und auf der GUITARPORT-Anzeige 671 angezeigt. In diesem Beispiel sind die Text-Etiketten 609 der Midi-Markierungen 607 angezeigt und stellen verschiedene Abschnitte des Musikstücks/der Audio-Datei 540 dar: Intro, Verse, Bridge, Chorus, Solo 1, etc. Wie in 6c gezeigt, ist die Musik-Notation 603 für das Intro (zum Beispiel die Akkorde) gezeigt. Dementsprechend kann der Benutzer sein oder ihre Gitarre 112 in Verbindung mit der Musik-Notation 603 und der Audio-Datei 540 spielen. Während die Audio-Datei 540 fortläuft, kann die Musik-Notation 603 automatisch aktualisiert werden (zum Beispiel zu dem nächsten Abschnitt des Musikstücks, Bridge, Chorus, Solo, etc.), so daß der Benutzer die Musik-Notation lesen kann und mitspielen kann. Ferner kann der Benutzer Versionen des Musikstücks/der Audio-Datei 540 mit und ohne Gitarrenspur auswählen, um ein Lernen oder Jammen zu aktivieren. Wie bereits beschrieben, können Musikstücke/Audio-Dateien ausgewählt werden, denen die Gesangsstimmen, das Schlagzeug, der Baß und so weiter entfernt wurden.
-
Ferner enthält ein Patch-Block 544, Patch-Informationen, so daß die Gitarre 112 den richtigen Klang und Sound hat, um mit der zugehörigen Musikstück/der Audio-Datei 540 zusammenzuspielen. Die Patch-Information enthält die Art des Verstärkers, des Lautsprechergehäuses, der Effekteinstellungen und so weiter, so daß die Einstellungen der Gitarre auf der Schaltflächenschnittstelle 600 eingestellt sind, um mit dem ausgewählten Musikstück/Audio-Datei zusammenzuspielen und auch Änderungen innerhalb des gleichen Musikstücks angepaßt werden. Dies kann, wie bereits beschrieben, durch die Midi-Markierungen ausgelöst werden. Das Anwendungs-Softwaremodul 402 setzt die Control-Panel-Grafikschnittstelle 600 auf die geeignete Konfiguration, um die Soundcharakteristika des Klangs der Gitarre für das jeweilige Musikstück oder den Abschnitt des Musikstücks nachzubilden und das DSP-Softwaremodul 412 verarbeitet in geeigneter Weise das Gitarrensignal zur Emulierung des richtigen Klangs, so daß der Gitarrensound mit dem Musikstück/der Audio-Datei 540 zusammenpaßt.
-
Wie bereits beschrieben wird die Gitarre des Benutzers elektrisch durch die Recheneinrichtung 120 geleitet, was es der Recheneinrichtung 120 erlaubt, den Klang der Gitarre während der Wiedergabe zu steuern, so daß das Verstärkermodell, seine Einstellungen und beliebige Effekte sich dynamisch ändern können, wie es während des Musikstücks/der Audio/Datei 540 erforderlich ist. Wie in 6c gezeigt, wird ein Verstärkermodell auf Grundlage eines '90 Marshall JCM-800 Verstärkers mit einer Delay-Einstellung zur Emulation eines Jazz-Sounds verwendet, um mit dem Intro des ausgewählten LA Smooth Jazz in C Musikstücks zusammenzuspielen. Auf diese Weise werden passende Patche für jeden Abschnitt eines Musikstücks/Jamtracks automatisch bereitgestellt, zum Beispiel von einem Klang während des Chorus zu einem anderen Klang während des Solos überzugehen.
-
Unter Betrachtung der 6c werden bestimmte Aspekte der GUITARPORT-Anzeige 671 beschrieben, um bestimmte Merkmale der Erfindung hervorzuheben. Wie gezeigt wurde die Tracks-Schaltfläche 688 ausgewählt und das Musikstück LA Smooth Jazz in C 601 wurde speziell durch den Benutzer ausgewählt. Dementsprechend wird das mit dem LA Smooth Jazz in C 601 verknüpfte Notenblatt 605 mit der Musik-Notation 603 weiter auf der GUITARPORT-Anzeige 671 angezeigt. Unterhalb des ausgewählten Musikstücks (zum Beispiel Jamtrack) Smooth Jazz in C 601 befinden sich Schaltflächen, die die Art und Weise der Auswahl der Musikstücke steuern. Die Web-Laden-Schaltfläche 611 erlaubt es einem Benutzer, ein Musikstück von der GUITARPORT-Webseite auszusuchen und dieses auf die Recheneinrichtung 102 des Benutzers zu laden (zum Beispiel um es in dem lokalen Speicher zu speichern. Die Festplatten-Schaltfläche 613 erlaubt es einem Benutzer, ein Musikstück auszuwählen, welches bereits lokal auf der Recheneinrichtung 102 (zum Beispiel auf der Festplatte des Benutzers) gespeichert ist. Die CD-Schaltfläche 615 erlaubt es einem Benutzer, ein Musikstück von einer CD in dem CD-Laufwerk der Recheneinrichtung 102 des Benutzers auszuwählen. Wenn ein Song auf der CD ausgewählt wird, bestimmt der GUITARPORT-Server 104, ob er eine zugeordnete Session-Datei 539 für den Song verfügbar hat und, falls dies der Fall ist, und ein Benutzer dies auswählt, stellt die Multimedia-Präsentation für den Song (zum Beispiel die Patch-Datei, die Musik-Notation) etc. dem Benutzer zur Verfügung.
-
Die Jam-Schaltfläche 617 startet die Multimedia-Präsentation der Musikstücks (z. B. Jamtracks) bei Auswahl durch einen Benutzer, wie beschrieben, so daß der Benutzer jammen kann. Der Mischer-Schieberegler 619 steuert die Lautstärke des Musikstücks. Die automatische Auswahl-Ein/Aus-Schaltfläche kann zum Umschalten verwendet werden, zwischen den vordefinierten Patch-Einstellungen für die Control-Panel-Grafikschnittstelle 600 (das heißt die Verstärkereinstellung), die für die gegenwärtig gespielte Multimedia-Präsentation automatisch ausgewählt werden (zum Beispiel automatische Auswahl Ein) oder anderenfalls kann der Benutzer die Einstellungen der Control-Panel-Grafikschnittstelle 600 (das heißt die Einstellungen des Verstärkers) selber nach eigenem Gefallen einstellen (zum Beispiel automatische Auswahl Aus).
-
Eine übliche Zeitanzeige 623 für Musikstücke (zum Beispiel Jam Tracks) und Loops wird zusammen mit herkömmlichen digitalen Multimedia-Steuermerkmalen 625 (zum Beispiel Play, Record, Stop, Rücklauf, schneller Vorlauf, etc.) bereitgestellt. Eine Lick-Lernschaltfläche 627 verringert bei Auswahl die Geschwindigkeit des gegenwärtig gespielten Musikstücks (zum Beispiel Jamtracks) ohne die Tonhöhe zu verändern, um einen Lernen zu vereinfachen. Ferner ist eine Loop-Schaltfläche 629 zur Verfügung gestellt, die bei Auswahl einen aktuellen Abschnitt des Musikstücks/Jamtracks (zum Beispiel Intro, Chorus und so weiter) loopt (das heißt wiederholt abspielt), um das Lernen dieses Abschnittes des Musikstücks zu erleichtern. Ferner können die Track-Details 631 ausgewählt werden, die Informationen über das Musikstück bereitstellen. Zum Beispiel, wann es aufgenommen wurde, Informationen über die Künstler, welche Art von Gitarren, Verstärkern und Effekte verwendet wurden. Außerdem können die Credits 633 ausgewählt werden, die Informationen darüber bereitstellen, wo ein Musikstück herkommt, zum Beispiel Sony, Arist, etc. oder ob das Musikstück speziell für die GUITARPORT Webseite erstellt wurde (und durch Wen). Zum Beispiel können Musikstücke (zum Beispiel Jamtracks) zum Erleichtern des Lernens eines bestimmten Musiktyps, zum Beispiel Rock, Blues, Jazz, Country, etc. exklusiv für die GUITARPORT-Webseite auf Kundenwunsch erzeugt werden.
-
Dementsprechend erlaubt es die vorliegende Erfindung einem Benutzer, seine oder ihre Gitarre 112 mit einer Recheneinrichtung 102 über die Schnittstelleneinrichtung 106 zu koppeln, so daß er oder sie Klänge und Musikstücke von der GUITARPORT-Webseite herunterladen kann. Die Schnittstellen-Einrichtung 106 ist zusammen mit Bezugsrechten erforderlich, um die Online-Bezugsdienste (zum Beispiel Herunterladen der Musikstücke und Klänge) zu erhalten. Die Schnittstelleneinrichtung 106 identifiziert den Benutzer eindeutig und wird in Verbindung mit dem Rest des Systems 100 zur Autorisierung des Benutzers, zum Verschlüsseln und Entschlüsseln von Audio-Dateien und zur Verfolgung des Kaufs von Werten verwendet, wie später ausführlicher beschrieben wird. Ferner überträgt der Server 104 in Beantwortung einer Auswahl eines Musikstücks (zum Beispiel Jamtracks) durch den Benutzer eine Session-Datei 539, die dem Musikstück zugeordnet ist, an die Recheneinrichtung 102 über das Computernetzwerk 105. Die Session-Datei 539 enthält eine Audio-Datei und Multimediadaten, so daß die Recheneinrichtung die Session-Datei zur Präsentation der Multimedia-Präsentation der Audio-Datei für den Benutzer verarbeiten kann. Die Recheneinrichtung 102 verarbeitet die Session-Datei 539 zur Präsentation der Multimedia-Präsentation der Audio-Datei für den Benutzer (zum Beispiel einschließlich eines Scrollens der Musik-Notation 603), so daß der Benutzer seine oder ihre Gitarre 112 in Verbindung mit der Multimedia-Präsentation der Audio-Datei spielen kann. Ferner wird eine intuitive Control-Panel-Grafikschnittstelle 600 für die Gitarre bereitgestellt, die der bekannten Gitarrenausrüstung ähnlich ist.
-
Die Control-Panel-Grafikschnittstelle 600 enthält ein Verstärker-Bedienfeld mit Standard-Steuerelementen, die dem Benutzer die Auswahl von mehreren verschiedenen Arten von Verstärkern zum Erzielen von unterschiedlichen Klängen erlauben. Ferner wird ein Satz von Effekt-Boxen bereitgestellt.
-
Wie bereits beschrieben, kann der Benutzer Musikstücke anhören, während er die Musik-Notation 603 betrachtet, (zum Beispiel Akkorde, Noten, Tabulatur (Grifftabellen), Texte, etc.). Diese Musikstücke können sowohl kommerzielle Musikstücke enthalten, als auch Musikstücke die exklusiv für die Verwendung durch die GUITARPORT-Webseite zur Erleichterung des Lernens von der Gitarre erstellt wurden. Benutzer können mit Versionen eines Musikstücks mit und ohne Original-Gitarrenspur spielen, um die Übung zu erleichtern. So wird Benutzern schnell und leicht der Zugriff auf eine Vielfalt von Musikstücken (Jamtracks) bereitgestellt, die sie von einem Server 104 herunterladen können, und der Benutzer kann dann mit dem heruntergeladenen Musikstück zusammenspielen, welches ihn zum Erleichtern des Lernens in einem Multimedia-Präsentationsformat dargestellt wird.
-
Benutzern kann der Zugriff auf Hundert oder Tausende von Musikstücken (zum Beispiel Jamtracks) in einer Bandbreite von verschiedenen Stilrichtungen zur Verfügung gestellt werden. Musikstücke können unter anderem sein: bereits vorhandene Soundaufnahmen; Remixe von bereits vorhandenen Soundaufnahmen (beispielsweise ohne Gitarrenspur oder ohne Gesangsspur); wiederaufgenommene Versionen von vorher veröffentlichten und mit Copyright belegten Songs, Originalsongs, die für die GUITARPORT-Webseite erzeugt wurden (zum Beispiel Songs, die zum leichten Erlernen der Gitarre erstellt wurden); Schlagzeug-Loops, Rhythmen (Grooves), etc. Ferner können zum Erleichtern des Jammens und der Übung Grooves (zum Beispiel Rhythmus-Abschnitte, Drumbeats, etc.) bereitgestellt werden. Ferner kann die GUITARPORT-Webseite auch den Verkauf von vielen anderen musikbezogenen Werken, außer Musikstücken (zum Beispiel Jamtracks) ermöglichen, zum Beispiel: CDs von einer Vielzahl von Künstlern, gedruckten Notenblättern, Tabulaturen, Gitarren-Notation, Akkordtabellen, Texten, digitalen Notenblättern, T-Shirts, Musik-Memorabilia etc. Zusätzlich wird jedes einzelne heruntergeladene Musikstück oder Klang oder jede Art von Kauf nachverfolgt, und für den genauen Bericht an die lizenzierenden Partner für Inhalte (zum Beispiel die Inhaber des Copyrights) aufgezeichnet, wie später ausführlich beschrieben wird.
-
Ausführungsformen der vorliegenden Erfindung stellen ferner eine Sicherheitseinrichtung 110 bereit, um einen Benutzer eindeutig zu identifizieren und um zur Entschlüsselung von verschlüsselten Werten für die Verwendung durch die Recheneinrichtung 102. So schützt die Sicherheitseinrichtung vor der nicht-autorisierten Vervielfältigung von lizenziertem Material und ermöglicht eine sichere Vergütungsmöglichkeit für Lieferanten der Inhalte (Content Provider). Üblicherweise betreffen die Werte Musikstücke (zum Beispiel Jamtracks), einschließlich Audio-Dateien (zum Beispiel copyright-geschützte Soundaufnahmen), es sollte jedoch klar sein, daß die Werte eine beliebige Art von Daten sein können, die über ein Computernetzwerk übertragen werden (zum Beispiel Multimedia, Video, Filme, Stimme, Software, generischen Datenformaten, etc.) Wie später ausführlicher beschrieben wird, ermöglicht die Sicherheitseinrichtung 110 in Verbindung mit der Recheneinrichtung 102 und dem Server 104 dem Server 104 die eindeutige Identifizierung der Sicherheitseinrichtung 110 und ermöglicht einer Recheneinrichtung 102, der mit der autorisierten Sicherheitseinrichtung 110 gekoppelt ist, die Werte zu entschlüsseln, die für die autorisierte Sicherheitseinrichtung 110 verschlüsselt wurden, zusammen mit vielen anderen Funktionen. Wie beschrieben wird, enthält die Sicherheitseinrichtung 110 eine eingebettete elektronische Seriennummer und einen Benutzerschlüssel, der mit einer Hardwareverschlüsselung und einer Schlüsselspeicher-Schaltung kombiniert ist, um jede Sicherheitseinrichtung 110 gegenüber dem Server 104 eindeutig zu identifizieren, und um sicherzustellen, daß Werte nur mit einer Recheneinrichtung 102 arbeiten, die mit einer autorisierten Sicherheitseinrichtung gekoppelt ist und dadurch eine sichere Verdienstmöglichkeit für die Lieferanten der Inhalte ermöglichen.
-
Es wird nun auf 7a Bezug genommen. 7a zeigt ein Sicherheitssystem 700. Der Server 104 ist, wie bereits beschrieben, über das Computernetzwerk 105 (zum Beispiel das Internet) mit der Recheneinrichtung 102 gekoppelt und die Recheneinrichtung 102 ist wiederum über eine I/O-Verbindung (zum Beispiel eine USB-Verbindung mit einer Sicherheitseinrichtung 110 verbunden.
-
Um die Sicherheitsaspekte des Sicherheitssystems 700 hervorzuheben, enthält der Server 104 das Sicherheits-Softwaremodul 422, das Anwendungs-Softwaremodul 416, das Server-Softwaremodul 415, das Datenbank-Softwaremodul 418 und, nicht gezeigt, das Verkaufs-Softwaremodul 420. Ferner sind mit dem Server 104 über die Computernetzwerk-Verbindungen die Werte-Datenbank 104 und die Benutzerinformations-Datenbank 109 gekoppelt. Zur Hervorhebung der Sicherheitsaspekte des Sicherheitssystems 700 ist ferner gezeigt, daß die Recheneinrichtung 102 das Anwendungs-Softwaremodul 402 mit dem Sicherheits-Softwaremodul 408 und der Sicherheits-Hardwareschnittstellensoftware 704 enthält. Die Sicherheitseinrichtung 110 enthält Sicherheitsdienste 706 und Sicherheitskomponenten 710 zur Implementierung der Sicherheitsdienste 706. Ferner ist ein lokaler Wertespeicher 712, zum Beispiel ein lokaler Speicher in Form einer Festplatte, über die I/O-Verbindung 714 mit der Recheneinrichtung 102 gekoppelt oder ist ein Teil der Recheneinrichtung 102. Der lokale Wertespeicher 712 kann zur Speicherung von Werten (zum Beispiel Audio-Dateien) verwendet werden, die vorher durch den Benutzer heruntergeladen wurden.
-
Die Sicherheitseinrichtung 110 enthält Sicherheitskomponenten 710, die zur Implementierung der Sicherheitsdienste 706 verwendet werden können. Solche Sicherheitsdienste 706 enthalten die eindeutige Identifizierung der Sicherheitseinrichtung 110 gegenüber dem Server 104, so daß der Zugriff auf den Server 104 nur einem Benutzer erlaubt wird, der mit einer autorisierten Sicherheitseinrichtung 110 arbeitet. Ein anderer Sicherheitsdienst 706, der durch die Sicherheitseinrichtung 110 in Verbindung mit dem Server 104 ausgeführt wird ist die Sicherstellung der richtigen Verschlüsselung und Entschlüsselung von Werten (zum Beispiel Audio-Dateien), so daß nur Recheneinrichtungen 112 Werte empfangen und verwenden können, die mit einer in richtiger Weise gekoppelten Sicherheitseinrichtung 110 gekoppelt sind.
-
Unter Bezugnahme auf den Server 104 enthält der Server 104 das Sicherheits-Softwaremodul 422, das die Sicherheits-Programme und Algorithmen zur Durchführung der Sicherheitsfunktionen enthält, wie beschrieben wird. Das Sicherheits-Softwaremodul 422 koordiniert die Informationen von einer Uhr/einem Kalender auf dem Server 104 und verschiedenen Datenbänken, das heißt der Benutzerinformations-Datenbank 109 und der Werte-Datenbank 107, zur Authentifizierung der Benutzer und zur Lieferung von verschlüsselten Werten zu authentifizierten Benutzern. Die Uhr/der Kalender ist ein üblicher Teil eines Server-Computers 104, der die genaue Ermittlung von Datum und Zeit ermöglicht. Ferner arbeitet der Server 104 in einer sicheren Betriebsumgebung (zum Beispiel unter Verwendung von Secure Sockets Layer (SSL), S-HTTP, etc.).
-
Die Benutzerinformationsdatenbank 109 enthält Bezugsrecht- und Registrierungsinformationen für jeden Benutzer, der für den Zugriff auf dem Server 104 registriert ist (zum Beispiel in einer Ausführungsform, eines GUITARPORT-Webseitenbeziehers); und der auch eine autorisierte Sicherheitseinrichtung 110 hat. Die Bezugsrechts-Informationen für jeden Benutzer enthalten das Ablaufdatum für die Bezugsrechte des Benutzers und die eindeutige Seriennummer des Benutzers für seinen oder ihre Sicherheitseinrichtung 110, den Benutzerschlüssel und Speicherschlüssel, die zur Bestimmung der Authentizität jeder Sicherheitseinrichtung 110 benötigt werden und zur Verschlüsselung und Entschlüsselung von Werten, wie beschrieben werden wird.
-
Die Werte-Datenbank 107 enthält Werte (zum Beispiel Multimedia-Präsentationen, die Musikstücken und Audio-Dateien zugeordnet sind, wie vorangehend beschrieben, Jamtracks mit vollständigen Songs und Songs, bei denen verschiedene Instrumentalspuren entfernt wurden) sowie beliebige andere Arten von digitalen Daten-Werten. Ferner enthält die Werte-Datenbank 107 eindeutige Werte-Verschlüsselungsschlüssel für jeden Wert (zum Beispiel jede Audio-Datei). Ferner sollte klar sein, daß die Werte-Datenbank 107 jede andere Art von Werten enthalten kann, die über ein Computernetzwerk 105 auf eine Recheneinrichtung 102 heruntergeladen und gekauft oder gemietet werden können.
-
Unter Bezug auf die Recheneinrichtung 102 enthält die Recheneinrichtung 102 insbesondere das Anwendungs-Softwaremodul 402 und das Sicherheits-Softwaremodul 408. Das Sicherheits-Softwaremodul 408 enthält Standardverschlüsselungs- und Entschlüsselungsroutinen zur Verschlüsselung und Entschlüsselung von Werten, wie beschrieben wird. Jede geeignete Blockmodus-Chiffrierung (Block Mode Cipher), welche Pseudo-Zufallsgeneratoren verwendet, um XOR-Operationen von Pseudo-Zufallszahlen mit Daten anzuwenden, kann verwendet werden. Einige Beispiele sind Data Encryption Standard (DES), International Date Encryption Algorithm (IDEA), etc. Ferner ermöglicht das Sicherheits-Softwaremodul, wie später beschrieben wird, daß die Recheneinrichtung 102 als Leitung zur Interaktion zwischen dem Server 104 und der Sicherheitseinrichtung 110 verwendet wird und insbesondere zur Authentifizierung der Diensteinrichtung 110. Jedoch wird nicht vorausgesetzt, daß das Anwendungs-Softwaremodul 402 und das Sicherheits-Softwaremodul 408 in einer sicheren Betriebsumgebung ausgeführt werden.
-
Die Sicherheitshardware-Schnittstellensoftware 704 stellt eine Standard Eingabe/Ausgabe-Schnittstelle (zum Beispiel eine USB-Schnittstelle) zwischen der Recheneinrichtung 102 und der Sicherheitseinrichtung 110 zur Verfügung. Ferner verwendet die Recheneinrichtung eine Standard-Uhr/Kalender (das heißt bei fast allen Computern üblich), welche dem Anwendungs-Softwaremodul 412 die genaue Bestimmung des Datums und der Uhrzeit für Interaktionen zwischen der Recheneinrichtung 102 und der Sicherheitseinrichtung 110 erlauben.
-
Unter Bezug auf 7b wird nun insbesondere die Sicherheitseinrichtung 110 betrachtet. Die 7b zeigt die zugehörigen Sicherheitskomponenten 710 der Sicherheitseinrichtung 110. Wie in 7b gezeigt enthält die Sicherheitseinrichtung 110 einen Mikroprozessor 340, einen sicheren Speicher 379 mit Sicherheits-Logik 380, einem Programmspeicher 382 zur Speicherung von Sicherheits-Firmware 383 und nicht-flüchtigem Speicher 384 zum Beispiel EEPROM). Ferner steuert ein I/O-Controller 716 den Fluß von digitalen Daten zu und von der Recheneinrichtung 102 über die serielle I/O-Verbindung 114. In einem Beispiel kann der serielle I/O-Controller 716 ein USB-Controller sein und die serielle I/O-Verbindung 114 kann eine USB-Verbindung sein. Die durch den seriellen I/O-Controller 716 gesteuerten digitalen Daten können Schlüssel, Werte-Informationen und andere Daten enthalten, wie beschrieben wird.
-
Im allgemeinen ermöglicht die Sicherheits-Firmware 383 bei Ausführung durch den Mikroprozessor 340 in Verbindung mit dem sicheren Speicher 379 und dem nicht-flüchtigen Speicher 384 sichere Operationen, die dem Server 104 die eindeutige Identifizierung der Sicherheitseinrichtung 110 erlauben und es der Recheneinrichtung 102 in Verbindung mit der Sicherheitseinrichtung 110 erlauben, Werte zu entschlüsseln, die speziell für die Verwendung durch eine Recheneinrichtung 102, der mit der autorisierten Recheneinrichtung 102 gekoppelt ist, zu entschlüsseln. Der sichere Speicher 379 enthält sowohl Nur-Lese-Speicher (ROM) und beschreibbaren Speicher, der zum Lesen und Schreiben unter Verwendung der Hardware-Implementierten-Sicherheits-Logik 380 gesperrt und entsperrt werden kann.
-
Ein mit der Seriennummer 386 der Sicherheitseinrichtung 110 verknüpfter Benutzerschlüssel 387 wird durch die Sicherheits-Logik 380 zur Authentifizierung der Sicherheitseinrichtung 110 an den Server 104 verwendet. Ferner wird ein Speicherschlüssel 389 von der Sicherheits-Logik 380 verwendet, um anfänglich den sicheren Speicher 379 zu entsperren. Die Seriennummer 386, der Benutzerschlüssel 387 und der Speicherschlüssel 389 werden während der Herstellung in dem sicheren Speicher 379 gesichert und können danach nicht mehr geschrieben werden, sobald der sichere Speicher 379 versiegelt (gesichert) wurde. Die Seriennummer 386, der Benutzerschlüssel 387 und der Speicherschlüssel 389 sind ebenfalls in der Benutzerinformations-Datenbank 109 des Servers gespeichert, so daß der Server 104 anfänglich eine Anfrage und Antwort zur eindeutigen Authentifizierung der Sicherheitseinrichtung 110 erzeugen kann und den sicheren Speicher 379 und den nicht-flüchtigen Speicher 384 öffnen und sperren kann, wie später ausführlicher beschrieben wird.
-
Der nicht-flüchtige Speicher 384 wird als Erweiterung des sicheren Speichers 379 verwendet. Die Firmware 383 verhindert den Zugriff auf den nicht-flüchtigen Speicher 384, bis der sichere Speicher 379 ebenfalls entsperrt wurde. Der nichtflüchtige Speicher 384 weist einen Hardware-Schreibschutz auf, der durch die Firmware 383 gesteuert wird. Der nicht-flüchtige Speicher 384 speichert die Schlüssel 388, wie zum Beispiel die Werte-Verschlüsselungsschlüssel (zum Beispiel Audio-Dateischlüssel), die bestimmten erworbenen Werten (zum Beispiel Audio-Dateien) zugeordnet sind, das aktuelle Datum und die Bezugsrechts-Daten für bestimmte Werte 390 und Werte-Informationen (zum Beispiel Informationen über Werte) 392. Es sollte klar sein, daß Seriennummer 386, der Benutzerschlüssel 387, der Speicherschlüssel 389, die Schlüssel 388, die Daten 390, die Werte-Information 392 und auch die Firmware 383 statt dessen in jedem beliebigen Sicherheitseinrichtungs-Speicher angeordnet oder zusätzlich angeordnet sein kann: dem Programmspeicher 382, dem sicheren Speicher 379, dem nicht-flüchtigen Speicher 384; diese bestimmte Anordnung ist nur eine Ausführungsform.
-
Ferner enthalten die Sicherheits-Software auf dem Server 104, wie beschrieben wird, die Recheneinrichtung 102 und die Firmware der Sicherheitseinrichtung 110 Standardverschlüsselungs- und entschlüsselungsroutinen zur Verschlüsselung und Entschlüsselung von Werten, Schlüsseln, Daten und (Kalenderdaten) anderen zwischen diesen Einrichtungen gesendeten Daten. Jede geeignete Blockmodus-Chiffrierung, welche Pseudozufallsgeneratoren für XOR-Verknüpfungen von Pseudozufallszahlen mit Daten durchführt, kann verwendet werden. Einige Beispiele sind Data Encryption Standard (DES), International Date Encryption Algorithm (IDEA), etc.
-
Verschiedene Sicherheitsfunktionen, die durch die Kombination des Servers 104, der Recheneinrichtung 102 und der Sicherheitseinrichtung 110 implementiert sind, werden nun unter Bezug auf die Ablaufpläne der 8a–8i beschrieben.
-
Eine der durchzuführenden Sicherheitsfunktionen ist, daß der Server 104 eindeutig eine Sicherheitseinrichtung 110 identifiziert, um sicherzustellen, daß die mit der Sicherheitseinrichtung 110 gekoppelte Recheneinrichtung zum Zugriff auf den Server und dessen viele Funktionen (zum Beispiel in einer Ausführungsform die GUITARPORT-Webseite) autorisiert ist. Ferner bestimmt der Server 104 die Authentizität der Sicherheitseinrichtung 110 zur Verhinderung von unautorisiertem Zugriff auf den Server 104 und dessen Werte (zum Beispiel Audio-Dateien). Dies wird durchgeführt, wenn ein Benutzer erstmalig versucht, sich an dem Server 104 anzumelden und kann danach wiederholt ausgeführt werden. Dieser Authentifizierungsprozeß enthält die Ausgabe einer codierten Anfrage des Servers 104 an die Sicherheitseinrichtung über eine Scriptsprache, die durch das Sicherheits-Softwaremodul 422 des Servers 104 ausgeführt wird. Die Firmware 383 der Sicherheitseinrichtung 110 führt ein Programm zur Erzeugung einer Antwort aus. Eine autorisierte Sicherheitseinrichtung 110 gibt eine eindeutige (einzigartige) Antwort, die der Server 104 unter Verwendung des Sicherheits-Softwaremoduls 422 auf Gültigkeit überprüft. Ist die Antwort für die bestimmte Sicherheitseinrichtung 110 gültig, wird die Session fortgesetzt. Wenn diese Antwort nicht gültig ist, wird die Session abgebrochen.
-
Nun wird auf 8a Bezug genommen. 8a zeigt ein Ablaufdiagramm, das einen Vorgang 800 des Servers 104, zur Authentifizierung der Sicherheitseinrichtung 110 zeigt. Die Schritte 800 des Vorgangs sind allgemein durch das Sicherheits-Softwaremodul 422 des Servers 104 implementiert, in Verbindung mit den anderen Softwaremodulen auf dem Server. Zunächst fordert der Server 104 die Seriennummer 386 von der Sicherheitseinrichtung 110 an (Block 802), die in dem sicheren Speicher 379 der Sicherheitseinrichtung 110 gespeichert ist. In Reaktion auf die empfangene Seriennummer bestimmt der Server, bei Block 803, ob die Seriennummer sich in der Benutzerinformations-Datenbank 109 befindet. Ist dies nicht der Fall, wird die Session abgebrochen (Block 805). Wenn sich die Seriennummer jedoch in der Benutzerinformations-Datenbank 109 befindet, verschafft sich der Server 104 den Benutzerschlüssel für die Seriennummer aus der Benutzerinformations-Datenbank 109 (Block 806). Wie bereits beschrieben, speichert die Benutzerinformations-Datenbank 109 einen eindeutigen Benutzerschlüssel für jede Seriennummer, die jeder Sicherheitseinrichtung 110 zugeordnet ist. Der Server 104 verschafft sich außerdem eine Zeit und ein Datum von der Uhr/dem Kalender des Servers 104, die später verwendet werden, um zu überprüfen, ob die Bezugsrechte abgelaufen sind (Block 808).
-
Als nächstes berechnet der Server 104 eine Anfrage Block 810) und die erwartete Antwort von der Sicherheitseinrichtung 110 (Block 812). Die Anfrage ist im wesentlichen eine Anforderung an die Sicherheitseinrichtung 110, zur genauen Identifizierung durch Senden einer passenden Antwort. Diese Anfrage wird an dem Server 104 durch Ausführung einer mathematischen Transformation des Benutzerschlüssels 387 erzeugt, der der Sicherheitseinrichtung 110 zugeordnet ist. Sowohl der Server 104, als auch die Sicherheitseinrichtung 110 verwenden dieselbe mathematische Transformation und verfügen über den gleichen Benutzerschlüssel 387, so daß die an der Sicherheitseinrichtung 110 erzeugte Antwort die gleiche sein sollte, wie die am Server erzeugte (vorausgesetzt, es ist tatsächlich die Sicherheitseinrichtung, die der Seriennummer des Benutzers zugeordnet ist). In einer Ausführungsform kann die gemeinsame mathematische Transformation des Servers 104 und der Sicherheitseinrichtung 110 jede geeignete Ein-Wege-Hashing-Funktion sein.
-
Die Anfrage wird dann von dem Server 104 an die Sicherheitseinrichtung 110 (Block 814) gesendet. Der Server 104 wartet dann auf die Antwort von der Sicherheitseinrichtung 110 (Block 816). Wenn ein festgelegter Zeitraum verstrichen ist, wird in dem Vorgang 800 eine Zeitbegrenzung ausgelöst und die Session wird abgebrochen (Block 817). Wenn jedoch innerhalb des festgelegten Zeitraums eine Antwort empfangen wird, bestimmt der Server 104, ob die Antwort von der Sicherheitseinrichtung 110 der erwarteten Antwort entspricht (Block 818).
-
Wenn dies nicht der Fall ist, wird die Session abgebrochen (Block 819). Ist dies jedoch der Fall, wird dem Benutzer die Anmeldung an dem Server 104 erlaubt und der Vorgang 800 ist abgeschlossen (Block 821). Zum Beispiel kann der Benutzer auf die GUITARPORT-Webseite zugreifen, wie bereits beschrieben.
-
Es wird nun auf 8b Bezug genommen. 8b zeigt ein Ablaufdiagramm, das einen Vorgang 822 darstellt, bei dem die Sicherheitseinrichtung 110 auf die Authentifizierungsanfrage von dem Server 104 antwortet. Die Schritte des Vorgangs 822 sind im allgemeinen unter der Steuerung der Firmware 383 der Sicherheitseinrichtung 110 implementiert. Zuerst wird der Benutzerschlüssel 389 aus dem sicheren Speicher 379 gehalten (Block 824). Als nächstes wird bei Block 826 die Antwort auf die Anfrage berechnet. Wie bereits beschrieben ist die Antwort üblicherweise eine mathematische Transformation (zum Beispiel eine Ein-weg-Hashing-Funktion), die sowohl der Server 104 als auch die Sicherheitseinrichtung 110 gemeinsam haben, von dem Benutzerschlüssel 389 (wiederum gemeinsam am Server 104 und der Sicherheitseinrichtung 110). Die Antwort auf die Anfrage wird an den Server 104 (Block 828) gesendet. Der Vorgang 822 ist dann abgeschlossen (Block 830).
-
Andere Sicherheitsfunktionen, die durch die Kombination des Servers 104, die Recheneinrichtung 102 und die Sicherheitseinrichtung 110 implementiert sind, betreffen die Aktualisierung des aktuellen Datums und der Bezugsrechts-Ablaufdaten, die an der Sicherheitseinrichtung 110 gespeichert sind. Das aktuelle Datum und das Bezugsrechte-Ablaufdatum 390 werden in den nicht-flüchtigen Speicher 384 der Sicherheitseinrichtung 110 gespeichert. Der Server 104 aktualisiert sowohl das Bezugsrechte-Ablaufdatum und das aktuelle Datum 390 in der Sicherheitseinrichtung 110. Jedoch aktualisiert das Anwendungs-Softwaremodul 402 der Recheneinrichtung 102 das aktuelle Datum 390 auch, wenn der Server 104 nicht verbunden ist. Da das Anwendungs-Softwaremodul 402 nicht als sicher betrachtet wird, aktualisiert der Server 104 das Bezugsrechte-Ablaufdatum und das aktuelle Datum 390, wenn er verbunden ist, um die Sicherheit zu gewährleisten.
-
Es wird nun auf 8c Bezug genommen. 8c zeigt ein Ablaufdiagramm das einen Vorgang 832 darstellt, wobei der Server 104 die Sicherheitseinrichtung 110 mit dem aktuellen Datum und dem Bezugsrechte-Ablaufdatum aktualisiert. Diese Vorgangsschritte 832 sind im allgemeinen durch das Sicherheits-Softwaremodul 422 auf dem Server 104 in Verbindung mit den anderen Softwaremodulen an dem Server 104 implementiert. Zunächst wird das Bezugsrechte-Ablaufdatum aus der Benutzerinformations-Datenbank 109 für den Benutzer erhalten (Block 834). Als nächstes wird das aktuelle Datum von der Uhr/dem Kalender des Servers 104 erhalten (Block 836). Das Bezugsrechte-Ablaufdatum und das aktuelle Datum werden dann verschlüsselt (Block 838). Im weiteren sendet der Server 104 eine Anweisung an die Sicherheitseinrichtung 110, um den Sicherheitseinrichtungsspeicher 721 mit dem nicht-flüchtigen Speicher 384 zu entsperren (840). 8d beschreibt den Vorgang des Entsperrens des Sicherheitseinrichtungsspeichers 721, wie beschrieben wird. Auf Grundlage einer Antwort von der Sicherheitseinrichtung 110 bezüglich der Frage, ob der Sicherheitseinrichtungsspeicher 721 erfolgreich entsperrt wurde, bestimmt der Server 104, ob die Entsperr-Operation erfolgreich war oder nicht (Block 842). Wenn der Sicherheitseinrichtungsspeicher 721 nicht erfolgreich entsperrt wurde, schlägt der Vorgang 832 fehl (Block 844).
-
Wenn jedoch der Sicherheitseinrichtungs-Speicher 721 erfolgreich entsperrt wurde, sendet der Server 104 das verschlüsselte Bezugsrechte-Ablaufdatum und das aktuelle Datum an die Sicherheitseinrichtung 110, und die Sicherheitseinrichtung 110 aktualisiert die Daten (Block 846). 8e beschreibt den Vorgang der Aktualisierung der Daten durch die Sicherheitseinrichtung 110, wie beschrieben wird. Der Server sendet eine Anweisung an die Sicherheitseinrichtung zur Sperrung des Sicherheitseinrichtungsspeichers 721 (Block 848). Die 8f und 8e beschreiben den Vorgang der Sperrung des Sicherheitseinrichtungsspeichers 721, wie beschrieben wird. Der Vorgang 832 ist dann abgeschlossen (Block 850).
-
Es wird nun auf 8d Bezug genommen. 8d zeigt ein Ablaufdiagramm, das einen Vorgang 852 zeigt, wobei der Server 104 den Sicherheitseinrichtungsspeicher 721 der Sicherheitseinrichtung 110 entsperrt. Bei Block 854 erhält der Server 104 die Seriennummer 386 von der Sicherheitseinrichtung 110. Als nächstes erhält der Server bei Block 856 den Speicherschlüssel 389, welcher der Seriennummer für den Benutzer aus der Benutzerinformations-Datenbank 109 zugeordnet ist. Der Server 104 erhält dann die aktuelle Zeit und das Datum von der Uhr/dem Kalender des Servers 104 (Block 858). Der Server erhält dann das aktuelle Kryptogramm von der Sicherheitseinrichtung 110 (Block 860). Das aktuelle Kryptogramm ist eine durch die Sicherheitseinrichtung 110 bei jeder Authentifizierung der Sicherheitseinrichtung 110 durch den Server 104 erzeugte Zufallszahl.
-
Der Server 104 berechnet als nächstes eine Entsperrungs-Nachricht zur Entsperrung des Sicherheitseinrichtungsspeichers 721 und einem passenden erwarteten Antwortwert von der Sicherheitseinrichtung 110 (Block 862). Als nächstes sendet der Server 104 die Speicher-Entsperrnachricht an die Sicherheitseinrichtung 110 (Block 864).
-
Ist die Entsperr-Nachricht gültig, das heißt durch die Sicherheitseinrichtung 110 so dechiffrierbar, daß die Sicherheitseinrichtung 110 in richtiger Weise zur Entsperrung ihres Sicherheitseinrichtungsspeichers 371 angewiesen wird (so daß sowohl die Sicherheitseinrichtung und der Server autorisierte Teilnehmer sein müssen), sendet die Sicherheitseinrichtung 110 die erwartete Antwort zurück an den Server 104. Der Server 104 erfordert eine passende und erwartete Rückantwort von der Sicherheitseinrichtung 110, um zu verifizieren, daß es die autorisierte Sicherheitseinrichtung 110 ist und, daß der Sicherheitseinrichtungsspeicher 371 daher entsperrt wurde. Im Gegensatz kann die Sicherheitseinrichtung 110 auf Grundlage der Entsperrungs-Nachricht verifizieren, daß der Server 104 zur Anweisung der Sicherheitseinrichtung zum Entsperren seines Sicherheitseinrichtungsspeichers 371 autorisiert ist. Die symmetrische erwartete Antwort, die an dem Server 104 erzeugt wurde und die an der Sicherheitseinrichtung 110 erzeugte Antwort, unter Verwendung des Speicherschlüssels 389 und, bei einer Ausführungsform, des Kryptogramms, können auf einem propietären Anti-Werie-Tapping-Algorithmus basieren, der von der ELVA-Corporation erstellt und lizenziert wird. Jedoch kann jeder geeignete Zero-Knowledge Proof-Algorithmus zur genauen Authentifizierung von zwei Parteien verwendet werden. Ferner kann bei einer Ausführungsform die Sicherheits-Logik 380, welche den ELVA-Anti-Wire-Tapping-Algorithmus implementiert, eine Kryptographieeinrichtung sein, die von der ATMEL-Corporation hergestellt wird.
-
In Fortsetzung des vorliegenden Beispiels wartet der Server 104 auf eine passende Antwort von der Sicherheitseinrichtung 110 für einen festgelegten Zeitraum (Block 866). Wenn die Sicherheitseinrichtung 110 nicht in einem festgelegten Zeitraum antwortet, schlägt der Vorgang 852 fehl (Block 868). Wenn der Server 104 zeitgerecht eine Antwort von der Sicherheitseinrichtung 110 empfängt, dann bestimmt der Server 104 bei Block 870, ob er die erwartete Antwort von der Sicherheitseinrichtung 110 empfangen hat. Falls nicht, so schlägt der Vorgang 852 fehl (Block 872). Wenn der Server 104 die erwartete Antwort von der Sicherheitseinrichtung 110 empfängt, dann weiß der Server 104, daß der Sicherheitseinrichtungsspeicher 721 der Sicherheitseinrichtung 110 entsperrt wurde. Dementsprechend wird der Speicher entsperrt, so daß die Sicherheitseinrichtung das aktuelle und das Bezugsrechte-Ablaufdatum aktualisieren kann, welches von dem Server 104 empfangen wurde, wie unter Bezug auf 8e beschrieben wird. Der Vorgang 852 ist dann abgeschlossen (Block 873). Ferner sollte klar sein, daß der Sicherheitseinrichtungsspeicher 721 zur Durchführung vieler anderer Funktionen entsperrt werden kann, zum Beispiel, zum Speichern von Werte-Informationen 392, Werte-Schlüsseln 391, etc. wie beschrieben wird.
-
Es wird nun auf 8e Bezug genommen. 8e zeigt ein Ablaufdiagramm, das einen Vorgang 874 darstellt, wobei die Sicherheitseinrichtung 110 das aktuelle und Bezugsrechte-Ablaufdatum aktualisiert, die von dem Server 104 empfangen wurden. Wiederum wird die Sicherheitseinrichtung und Steuerung der Firmware 383 zur Implementierung ihrer Funktionen betrieben. Bei Block 876 entschlüsselt die Sicherheitseinrichtung 110 das aktuelle Datum und das von dem Server 104 empfangene Bezugsrechte-Ablaufdatum. Als nächstes speichert die Sicherheitseinrichtung 110 bei Block 878 das aktuelle Datum und das Bezugsrechte-Ablaufdatum 390 in dem nicht-flüchtigen Speicher 384. Der Vorgang 874 ist dann abgeschlossen (Block 880).
-
Es wird nun auf 8f Bezug genommen. 8f stellt in einem Ablaufdiagramm einen Vorgang 882 dar, wobei der Server 104 den nicht-flüchtigen Speicher 384 des Sicherheitseinrichtungsspeichers 721 der Sicherheitseinrichtung 110 sperrt. Um dies zu erreichen, sendet der Server 104 lediglich eine Speicher-Sperranweisung an die Sicherheitseinrichtung 110 (Block 884). Der Vorgang 882 ist dann abgeschlossen (Block 886). Nachdem der Server 104 ein Speicher-Sperrkommando zum Sperren des nicht-flüchtigen Speichers 384 gesendet hat, kann die Sicherheitseinrichtung 110 den sicheren Speicher 379 sperren. Es wird nun auf die 8g Bezug genommen. 8g stellt einen Ablaufdiagramm eines Vorgangs 888 dar, wobei die Sicherheitseinrichtung 110 den sicheren Speicher 379 sperrt. Bei Block 870 bestimmt die Sicherheitseinrichtung 110, ob der sichere Speicher 379 entsperrt ist. Ist dies nicht der Fall, zeigt dies an, daß der Speicher 379 bereits gesperrt ist und der Vorgang 888 ist abgeschlossen (Block 899). Wenn der sichere Speicher 379 entsperrt ist, prüft die Sicherheitseinrichtung 110, ob das Speicher-Sperrkommando bereits empfangen wurde (Block 892). Ist dies der Fall, sperrt die Sicherheitseinrichtung 110 den sicheren Speicher 379 und die Sicherheits-Logik 380 (Block 894) und sperrt den Zugriff auf den nichtflüchtigen Speicher 384 (Block 898). Der Vorgang 888 ist dann abgeschlossen (Block 899).
-
Wenn jedoch bei Block 892 die Speicher-Sperranweisung nicht empfangen wurde, dann prüft die Sicherheitseinrichtung 110, ob die Speicher-Entsperrzeit überschritten wurde. Ist dies nicht der Fall, ist der Vorgang 888 abgeschlossen und die Sicherheitseinrichtung 110 kann den Sicherheitseinrichtungs-Speicher 721 später sperren (Block 899). Andererseits sperrt die Sicherheitseinrichtung 110 den sicheren Speicher 379 und die Sicherheits-Logik 380 (Block 894), wenn die Speicher-Entsperrzeit überschritten wurde, und sperrt den Zugriff auf den nicht-flüchtigen Speicher 384 (Block 898), so daß der Vorgang 888 dann abgeschlossen ist (Block 899). Dementsprechend ist der gesamte Sicherheitseinrichtungs-Speicher 721 gesperrt, wenn der sichere Speicher 391 sowie der nicht-flüchtige Speicher 384 gesperrt ist. Nachdem also der Sicherheitseinrichtungs-Speicher 721 entsperrt wurde, um das aktuelle und das Bezugsrechte-Ablaufdatum zu aktualisieren und die Werte-Information 392, die Werte-Schlüssel 391 etc. zu speichern, kann er wieder gesperrt werden.
-
Wie bereits beschrieben können das Anwendungs-Softwaremodul 402 und das Sicherheits-Softwaremodul 408 der Recheneinrichtung 102 zur Aktualisierung des aktuellen Datums und der Zeit in der Sicherheitseinrichtung 110 verwendet werden. Dies ist jedoch nicht sicher und diese Daten und Zeiten werden immer genau gegen die Daten und Zeiten geprüft, die von dem Server 104 empfangen werden, wie bereits beschrieben.
-
Es wird nun auf 8h Bezug genommen. 8h zeigt ein Ablaufdiagramm, das einen Vorgang 801 darstellt, wobei das Anwendungs-Softwaremodul 402 der Recheneinrichtung in Verbindung mit den anderen Softwaremodulen das aktuelle Datum und die Sicherheitseinrichtung 110 aktualisiert. Bei Block 805 bestimmt die Recheneinrichtung 102, ob die Sicherheitseinrichtung 110 das Datum und die Zeit anfordert. Wenn nicht, ist der Vorgang 801 abgeschlossen (Block 807). Wenn jedoch die Sicherheitseinrichtung 110 Datum und Zeit anfragt, dann erhält die Recheneinrichtung 102 das Datum und die Zeit von der Uhr/dem Kalender der Recheneinrichtung 102 (Block 809). Die Recheneinrichtung 102 sendet dann das Datum und die Zeit an die Sicherheitseinrichtung 110 (Block 811). Der Vorgang 801 ist dann abgeschlossen (Block 813).
-
Es wird nun auf 8i Bezug genommen. 8i zeigt ein Ablaufdiagramm, das einen Vorgang 815 darstellt, wobei die Sicherheitseinrichtung 110 das von der Recheneinrichtung 102 erhaltene aktuelle Datum und die Uhrzeit aktualisiert. Bei Block 823 bestimmt die Sicherheitseinrichtung 110, ob das empfangene aktuelle Datum jenseits des Bezugsrechte-Ablaufdatums liegt. In diesem Fall speichert die Sicherheitseinrichtung 110 den Verfall der Bezugsrechte (zum Beispiel im nicht-flüchtigen Speicher 384) (Block 825). Der Vorgang 815 ist dann abgeschlossen (Block 827). Die Sicherheitseinrichtung kann dann die Recheneinrichtung 102 anweisen, dem Benutzer anzuzeigen, daß seine oder ihre Bezugsrechte abgelaufen sind und der Server 104 leitet den Benutzer zur Aktualisierung der Bezugsrechte bei der nächsten Verbindung.
-
Wenn andererseits das aktuelle Datum nicht jenseits des Bezugsrechte-Ablaufdatums liegt, wird die Sicherheitseinrichtung 110 prüfen, ob das von dem Anwendungs-Softwaremodul 402 der Recheneinrichtung 102 empfangene Datum gültig ist, im Vergleich mit dem vertrauenswürdigen (trusted) Datum und der Uhrzeit, die von dem Server 104 bei der letzten Aktualisierung erhalten wurde (Block 829). Ist dies nicht der Fall, wird die Sicherheitseinrichtung 110 von einer Sicherheitsverletzung ausgehen und den Verfall der Bezugsrechte speichern (Block 825). Der Vorgang 815 ist dann abgeschlossen (Block 827). Wiederum kann die Sicherheitseinrichtung 110 die Recheneinrichtung 102 anweisen, den Benutzer anzuzeigen, daß sein oder ihre Bezugsrechte abgelaufen sind und der Server 104 leitet den Benutzer zur Aktualisierung der Bezugsrechte bei der nächsten Verbindung. Wenn jedoch das Datum des Anwendungs-Softwaremoduls 402 der Recheneinrichtung 102 durch die Sicherheitseinrichtung 110 als gültig bestimmt wird, wird die Sicherheitseinrichtung das Datum und die Zeit 390 in dem nichtflüchtigen Speicher 384 speichern (Block 831). Der Vorgang 815 ist dann abgeschlossen (Block 833).
-
Ein anderer Sicherheitsdienst 706, der durch die Sicherheitseinrichtung 110 in Verbindung mit dem Server 104 durchführt, ist die Sicherstellung, daß digitale Werte (zum Beispiel Audio-Dateien) in geeigneter Weise verschlüsselt und entschlüsselt werden, so daß nur eine Recheneinrichtung 102 Werte empfangen und verwenden kann, die mit einer richtig autorisierten Sicherheitseinrichtung 110 gekoppelt ist. Wie bereits beschrieben, enthält die Werte-Datenbank 104 Werte (zum Beispiel Musikstücken zugeordnete Multimedia-Präsentationen, Audio-Dateien (zum Beispiel wie bereits beschrieben, Jamtracks mit vollständigen Songs und Songs mit verschiedenen entfernten Tonspuren)) und andere digitale Daten-Werte. Ferner enthält die Werte-Datenbank 107 eindeutige Werte-Verschlüsselungsschlüssel für jeden Wert (zum Beispiel für jede Audio-Datei). Ferner sollte klar sein, daß die Werte-Datenbank 107 jede Art von digitalen Daten-Werten enthalten kann (zum Beispiel Multimediadaten, Videodaten, Stimmendaten, Software, anderen generische Datenformen etc.), die erworben oder gemietet und auf eine Recheneinrichtung 102 heruntergeladen werden können, der mit einer autorisierten Sicherheitseinrichtung 110 über ein Computernetzwerk 105 verbunden ist. So wird der Begriff „Wert” im weiteren Verlauf so verwendet, daß er insbesondere Audio-Dateien enthält (zum Beispiel Jamtracks), die bereits unter Bezug auf die GUITARPORT-Webseite beschrieben wurden), jedoch ferner eine beliebige andere Art von digitalen Werten enthält.
-
Eine Ausführungsform der vorliegenden Erfindung stellt ferner ein sicheres Werte-Liefersystem zur Verfügung. Werte werden durch das Sicherheitssystem 700 (wiederum auch unter Bezug auf 7a) verschlüsselt, um gegen die unautorisierte Vervielfältigung von lizenziertem Material zu schützen. Jeder Wert wird in der Werte-Datenbank 107 des Servers 104 gespeichert und mit einem anderen, eindeutigen Werte-Schlüssel speziell für diesen Wert verschlüsselt. Jeder Wert wird eindeutig unter Verwendung des Sicherheits-Softwaremoduls 422 auf dem Server 104 in Verbindung mit den anderen Softwaremodulen verschlüsselt. Wenn der verschlüsselte Wert zu dem anforderndie Recheneinrichtung 102 gesendet wird, wird der verschlüsselte Wert in dem Werte-Speicher 712 der Recheneinrichtung 102 gespeichert. Ferner wird der Werte-Schlüssel für den Wert unter Verwendung des Benutzerschlüssels der zugeordneten Sicherheitseinrichtung 100 des anfordernden Computers 102 verschlüsselt und der verschlüsselte Werte-Schlüssel wird ebenfalls zu dem anforderndie Recheneinrichtung 102 gesendet, wo er in dem Werte-Speicher 712 der Recheneinrichtung 102 gespeichert wird. Wie bereits beschrieben ist jeder Benutzerschlüssel 389 für jede Benutzer-Sicherheitseinrichtung 110 eindeutig (einzigartig) und jeder Benutzerschlüssel 389 wird sowohl an der Sicherheitseinrichtung 110 als auch in der Benutzerinformations-Datenbank 109 am Server 104 gespeichert. Wenn die Zeit für den Zugriff auf den Wert an der Recheneinrichtung 102 gekommen ist, zum Beispiel, wenn der Benutzer einen heruntergeladenen Audio-Datei-Wert (zum Beispiel als Teil einer Multimedia-Präsentation eines Jamtracks zur Erleichterung des Lernens der Gitarre) spielen möchte, sendet das Sicherheits-Softwaremodul 408 in Verbindung mit dem Anwendungs-Softwaremodul 402 und den anderen Softwaremodulen der Recheneinrichtung 102 den verschlüsselten Werteschlüssel zur Entschlüsselung an die Sicherheitseinrichtung 110. Der entschlüsselte Werteschlüssel wird dann von der Sicherheitseinrichtung 110 an die Recheneinrichtung 110 zurückgeschickt, wo er von der Recheneinrichtung 102 verwendet wird, der wiederum mit dem Sicherheits-Softwaremodul 408 in Verbindung mit dem Anwendungs-Softwaremodul 402 und den anderen Softwaremodulen arbeitet, um den Wert (zum Beispiel einer Audio-Datei) in den Speicher zu entschlüsseln. Der entschlüsselte Wert kann dann verwendet werden. Zum Beispiel kann eine verschlüsselte-Audio-Datei zur Wiedergabe dekomprimiert werden.
-
Es wird nun auf Bezug 9 Bezug. 9 zeigt ein Beispiel eines sicheren Werte-Lieferungssystems 900, wie bereits beschrieben. Bei Block 902 wird ein Wert (A) 904 mit einem Werteschlüssel (AK) 906 verschlüsselt. Der verschlüsselte Wert 905 (zum Beispiel (EAKA))) wird dann an die Recheneinrichtung 102 gesendet, wo er im Speicher (zum Beispiel dem Werte-Speicher 712) gespeichert wird (Block 910). Außerdem wird bei Block 920 der Werte-Schlüssel (AK) 906 mit dem Benutzerschlüssel (UK) 389 des Benutzers verschlüsselt. Der verschlüsselte Werteschlüssel 909 (zum Beispiel (EUK(AK))) wird dann an die Recheneinrichtung 102 geschickt, wo er im Speicher gespeichert wird (Block 924). Bei Block 930 entschlüsselt die Sicherheitseinrichtung 110 den verschlüsselten Werte-Schlüssel 909 mit dem eindeutigen Benutzerschlüssel (UK) 389 des Benutzers (zum Beispiel DUK[EUK(AK)]), um den Werteschlüssel 906 (AK) zu erhalten, welcher dann zu der Recheneinrichtung 102 weitergeleitet wird. Bei Block 923 kann die Recheneinrichtung 102 dann den verschlüsselten Wert 905 mit dem Werteschlüssel (AK) 906 entschlüsseln (zum Beispiel DAK[EAK(A)]), um den Wert (A) zu erhalten. Der Wert kann dann durch das Anwendungs-Softwaremodul 402 der Recheneinrichtung 102 verwendet werden. Wenn zum Beispiel der Wert eine Audio-Datei ist, kann die Audio-Datei zur Wiedergabe als Teil einer Multimedia-Präsentation eines Jamtracks zur Erleichterung des Lernens einer Gitarre dekomprimiert werden. Es sollte klar sein, daß die Verschlüsselungs- und Entschlüsselungsalgorithmen in der Technik bekannt sind und daß verschiedene Arten von Verschlüsselung- und Entschlüsselungsalgorithmen durch den Server 104, die Recheneinrichtung 102 und die Sicherheitseinrichtung 110 verwendbar sind.
-
Die Sicherheitssoftware auf dem Server 104, der Recheneinrichtung 102 und die Firmware der Sicherheitseinrichtung 110 enthalten Standard-Verschlüsselungs- und Entschlüsselungsroutinen zur Verschlüsselung und Entschlüsselung von Werten, Schlüsseln, Daten und anderen Daten, die zwischen diesen Einrichtungen gesendet werden. Jede geeignete Blockmodus-Chiffrierung (Blockmode Cipher), welche Pseudozufallsgeneratoren verwendet, um XOR Verknüpfungen von Pseudozufallszahlen mit Daten durchzuführen, kann verwendet werden. Einige Beispiele sind der Data Encryption Standard (DES), International Date Encryption Algorithm (IDEA), etc.
-
Nun wird eine ausführlichere Ausführungsform des sicheren Werte-Liefersystem 900. Wie bereits beschrieben verschlüsselt der Server 104 jeden an einen Benutzer gesendeten Wert mit einem eindeutigen Werteschlüssel. Ferner sendet der Server 104 auch eine Kennzeichnung, ob der Wert durch den Benutzer gemietet oder besessen werden soll. Gemietete Werte abgelaufen, wenn die Bezugsrechte des Benutzers abgelaufen und können nicht nach Ende der Bezugsrechte verwendet werden. Von dem Benutzer besessene Werte abgelaufen nicht, wenn die Bezugsrechte des Benutzers abgelaufen. Der Server 104 sendet ferner in einer verschlüsselten Form den eindeutigen Werteschlüssel, der zur Entschlüsselung des Wertes bei dem Benutzer erforderlich ist, wobei der Werteschlüssel mit dem Benutzerschlüssel 389 der Sicherheitseinrichtung 110 für den Benutzer verschlüsselt ist, so daß die Sicherheitseinrichtung 110 den verschlüsselten Werteschlüssel entschlüsseln kann und die Recheneinrichtung 102 dann den Wert mit dem entschlüsselten Werteschlüssel entschlüsseln kann, um dem Benutzer Zugriff auf den Wert zu ermöglichen. So kann ein Wert in sicherer Weise von einem bestimmten Benutzer geliefert werden, der eine bestimmte Sicherheitseinrichtung besitzt.
-
Die Recheneinrichtung 102, der mit dem Anwendungs-Softwaremodul 402, dem Sicherheits-Softwaremodul 408 und in Verbindung mit anderen Softwaremodulen betrieben wird, führt viele Funktionen bezüglich der Entschlüsselung von und dem Zugriff auf die Werte durch, wie bereits beschrieben wurde. Die Recheneinrichtung 102 empfängt und speichert die verschlüsselten Werte und den verschlüsselten Werteschlüssel in dem lokalen Speicher (zum Beispiel dem Wertespeicher 712). Die Recheneinrichtung 102 sendet den verschlüsselten Werteschlüssel (und eine Kennzeichnung, ob der Wert gemietet oder besessen wird) an die Sicherheitseinrichtung 110. Unter der Steuerung der Firmware 383 entschlüsselt die Sicherheitseinrichtung 110 den Werteschlüssel und bestimmt, ob der Wert aufgrund von verstrichenen Bezugsrechten abgelaufen ist. Wenn der Wert nicht abgelaufen ist, sendet die Sicherheitseinrichtung 110 den verschlüsselten Werteschlüssel zu der Recheneinrichtung 102, so daß der Wert durch die Recheneinrichtung entschlüsselt und dann verwendet werden kann. Wie bereits beschrieben, entschlüsselt die Recheneinrichtung 102 den Wert mit dem Werteschlüssel, um den Wert zu erhalten.
-
Andererseits benachrichtigt die Sicherheitseinrichtung 110 die Recheneinrichtung 102, wenn die Bezugsrechte abgelaufen sind und die Recheneinrichtung 102 benachrichtigt den Benutzer, daß die Bezugsrechte abgelaufen sind. Die bestimmten Schritte des Vorgangs werden nun beschrieben, um diese Funktionalität auszuführen.
-
Es wird nun auf 10a Bezug genommen. 10a zeigt ein Ablaufdiagramm, das einen Vorgang 1000 darstellt, wobei der Server 104 Werte verschlüsselt. Der Server 104 arbeitet mit der Steuerung des Anwendungs-Softwaremoduls 416, des Sicherheits-Softwaremoduls 422 und in Verbindung mit anderen Softwaremodulen, um die Funktionen des Vorgangs auszuführen, wie beschrieben wird. Bei Block 1002, erhält der Server 104 Zeit und Datum von der Uhr/dem Kalender des Servers 104. Als nächstes erzeugt der Server 104 einen Verschlüsselungsschlüssel (Block 1004). Der Server 104 verschlüsselt dann den Wert mit einem eindeutigen Werteschlüssel (Block 1006). Der Server 104 speichert dann den verschlüsselten Wert und den Werteschlüssel in der Werte-Datenbank 107 (Block 1008). Der Vorgang 1000 ist dann abgeschlossen (Block 1010).
-
Es wird nun auf 10b Bezug genommen. 10b zeigt ein Ablaufdiagramm, das einen Vorgang 1012 darstellt, wobei der Server 104 den Wert liefert. Bei Block 1014 erhält der Server 104 den Wert, den Werteschlüssel und eine Statuskennzeichnung, ob der Wert von der Werte-Datenbank 107 gemietet oder besessen wird. Die Statuskennzeichnung kann als Miete-Flag ausgeführt sein, zum Beispiel entspricht ein Gesetz des Miete-Flag einem durch den Benutzer gemieteten Wert und ein nicht gesetztes Miete-Flag entspricht einem Wert, der von dem Benutzer besessen oder gekauft ist. Ferner erhält der Server 104 den Benutzerschlüssel 389 für den Benutzer (entsprechend der Sicherheitseinrichtung 110 des Benutzers) aus der Benutzerinformations-Datenbank 109 (Block 1016). Als nächstes verschlüsselt der Server 104 den Werteschlüssel und das Miete-Flag unter Verwendung des Benutzerschlüssels 389 von dem Benutzer (Block 1018). Der Server 104 sendet dann den verschlüsselten Werteschlüssel und das verschlüsselte Miete-Flag an die Recheneinrichtung 102 (Block 1020). Ferner sendet der Server 104 den verschlüsselten Wert an die Recheneinrichtung 102 (Block 1022). Der Vorgang 1012 ist dann abgeschlossen (Block 1024).
-
Es wird nun auf 10c Bezug genommen. 10c zeigt ein Ablaufdiagramm, das einen Vorgang 1026 darstellt, wobei die Recheneinrichtung 102 die Funktionen des Extrahierens des Werteschlüssels von der Sicherheitseinrichtung 110 ausführt. Die Recheneinrichtung 102 arbeitet unter Steuerung des Anwendungs-Softwaremoduls 402, des Sicherheits-Softwaremoduls 408 und in Verbindung mit den anderen Softwaremodulen, zur Ausführung der Funktionen des Vorgangs, wie beschrieben wird. Bei Block 1028 sendet die Recheneinrichtung 102 den von dem Server 104 empfangenen verschlüsselten Werteschlüssel und Miet-Flag an die Sicherheitseinrichtung 110. Als nächstes erhält die Recheneinrichtung 102 eine Antwort von der Sicherheitseinrichtung 110 (Block 1030). Die Antwort enthält eine Benachrichtigung, ob der Wert abgelaufen ist, und falls der Wert nicht abgelaufen ist, den entschlüsselten Werteschlüssel. Der Erzeugung der Anwendung an der Sicherheitseinrichtung 110 wird später unter Bezug auf 10e beschrieben.
-
Bei Block 1032 bestimmt die Recheneinrichtung 102 auf Grundlage der Antwort von der Sicherheitseinrichtung 110, ob der Zugriff auf den Wert abgelaufen ist (Block 1032). Wenn zum Beispiel der Wert gemietet ist und die Bezugsrechte abgelaufen sind (das heißt das aktuelle Datum liegt jenseits des Bezugsrechte-Ablaufdatums für den Wert), dann ist der Zugriff auf den Wert abgelaufen. Wenn der Zugriff auf den Wert abgelaufen ist, dann benachrichtigt bei Block 134 die Recheneinrichtung 102 den Benutzer, daß der Zugriff auf den Wert abgelaufen ist. Wenn der Zugriff auf den Wert nicht abgelaufen ist (das heißt der Wert befindet sich im Besitz oder das Bezugsrechte-Ablaufdatum ist noch nicht verstrichen), dann extrahiert die Recheneinrichtung den Werteschlüssel von der Sicherheitseinrichtungsantwort (Block 1036). Der Vorgang 1026 ist dann abgeschlossen (Block 1038).
-
Es wird nun auf 10d Bezug genommen. 10d zeigt ein Ablaufdiagramm, das einen Vorgang 1040 darstellt, wobei die Recheneinrichtung 102 die Funktionen der Entschlüsselung des Wertes durchführt. Bei Block 1024 initialisiert die Recheneinrichtung 102 einen Entschlüsselungsalgorithmus mit dem von der Sicherheitseinrichtung 110 empfangenen Werteschlüssel. Als nächstes lädt die Recheneinrichtung 102 den verschlüsselten Wert in den Speicher (Block 1044). Die Recheneinrichtung 102 entschlüsselt dann die Speicherkopie des verschlüsselten Wertes unter Verwendung des von der Sicherheitseinrichtung 110 empfangenen Werteschlüssel, um den verschlüsselten Wert zu entschlüsseln (das heißt der verschlüsselte Wert ist mit dem Werteschlüssel verschlüsselt) (Block 1046). So wird an der Recheneinrichtung 102 der Wert zur Verwendung durch die Recheneinrichtung 102 erhalten. Der Wert kann durch Anwendungen der Recheneinrichtung verwendet werden. Wenn der Wert beispielsweise eine Audio-Datei ist, kann die Audio-Datei für die Wiedergabe als Teil einer Multimedia-Präsentation eines Jamtracks zur Erleichterung des Lernens einer Gitarre wiedergegeben werden, wie bereits beschrieben.
-
Es wird nun auf 10e Bezug genommen. 10e zeigt ein Ablaufdiagramm, das einen Vorgang 1050 darstellt, wobei die Sicherheitseinrichtung 110 den Werteschlüssel extrahiert. Wie bereits beschrieben arbeitet die Sicherheitseinrichtung 110 unter der Steuerung der Firmware 383. Bei Block 1052 empfängt die Sicherheitseinrichtung 110 den verschlüsselten Werteschlüssel und das Miet-Flag von der Recheneinrichtung 102. Der verschlüsselte Werteschlüssel und das Miet-Flag sind mit dem Benutzerschlüssel verschlüsselt. Die Sicherheitseinrichtung 110 erhält dann den Benutzerschlüssel 389 aus dem nichtflüchtigen Speicher 384 (Block 1054). Als nächstes entschlüsselt die Sicherheitseinrichtung 110 den Werteschlüssel und das Miet-Flag mit dem Benutzerschlüssel 389 (Block 1056).
-
Die Sicherheitseinrichtung bestimmt dann, ob der Wert gemietet ist (Block 1058). Falls nicht (das heißt er befindet sich im Besitz) gibt die Sicherheitseinrichtung 110 den entschlüsselten Werteschlüssel an die Recheneinrichtung 102 zurück (Block 1060) und die Verarbeitung 1050 ist vollständig (Block 1068). Wenn der Wert jedoch gemietet ist, bestimmt die Sicherheitseinrichtung 110 als nächstes, ob die Bezugsrechte abgelaufen sind (das heißt, wenn das aktuelle Datum jenseits des Bezugsrechte-Ablaufdatum für den Wert liegt) (Block 1062).
-
Ist dies nicht der Fall, gibt die Sicherheitseinrichtung 110 den entschlüsselten Werteschlüssel an die Recheneinrichtung 102 zurück (Block 1060) und die Verarbeitung 1050 ist vollständig (Block 1068). Wenn die Bezugsrechte jedoch abgelaufen sind, gibt die Sicherheitseinrichtung 110 eine Antwort mit einer Kennzeichnung an die Recheneinrichtung 102 zurück, daß die Bezugsrechte abgelaufen sind (Block 1064). Die Verarbeitung 1050 ist dann vollständig (Block 1068).
-
Es sollte klar sein, daß die Sicherheitssoftware des Servers 104, die Recheneinrichtung 102 und die Firmware der Sicherheitseinrichtung 110 Standard-Verschlüsselungs- und Entschlüsselungsroutinen zur Verschlüsselung und Entschlüsselung von Werten, Schlüsseln, Daten und anderen Daten verwenden, die zwischen diesen Einrichtungen gesendet werden, wie beschrieben wurde. Jede geeignete Blockmodus-Chiffrierung (Block Mode Cipher), die Pseudozufallsgeneratoren verwendet, um XOR-Verknüfungen von Pseudozufallszahlen mit Daten auszuführen, kann verwendet werden. Beispiele sind Data Encryption Standard (DES), International Date Encryption Algorithm (IDEA), etc.
-
Wie bereits beschrieben stellt das sichere Wertelieferungssystem sicher, daß digitale Werte verschlüsselt und entschlüsselt werden, so daß nur eine Recheneinrichtung, die mit einer richtig autorisierten Sicherheitseinrichtung gekoppelt ist, die wiederum einem bestimmten Benutzer/Bezugsberechtigtem zugeordnet ist, Werte empfangen und verwenden kann. Ausführungsformen der vorliegenden Erfindung stellen ein sicheres Wertelieferungssystem zur Verfügung, wobei digitale Werte durch den sicheren Server 104 in richtiger Weise verschlüsselt werden und nur durch eine Recheneinrichtung 102 entschlüsselt werden können, der mit einer richtig autorisierten Sicherheitseinrichtung 110 gekoppelt ist, so daß nur richtig autorisierte Recheneinrichtungen 102 die Werte empfangen und verwenden können, wodurch ein Schutz gegen unautorisierte Vervielfältigung von lizenziertem Material bereitgestellt wird. Wie bereits beschrieben enthält die Werte-Datenbank 107 in einer Ausführungsform Werte (zum Beispiel in Multimedia-Präsentation), die Musikstücken zugeordnet sind, Audio-Dateien, (wie zum Beispiel Jamtracks mit vollständigen Songs und Songs mit verschiedenen entfernten Instrumentalspuren), wie auch andere digitale Werte. Zum Beispiel ist in einer Ausführungsform der Wert einer Audio-Datei, die Audio-Datei kann zur Wiedergabe als Teil einer Multimedia-Präsentation eines Jamtracks zur Erleichterung des Lernens einer Gitarre dekomprimiert werden wie bereits beschrieben. Ferner sollte klar sein, daß die Werte-Datenbank 107 beliebige andere digitale Werte enthalten kann (zum Beispiel Multimedia, Video, Filme, Stimme, Soundaufnahmen, Software, andere generische Datenformen), die erworben oder gemietet werden können und auf eine Recheneinrichtung 102 über ein Computernetzwerk 105 heruntergeladen werden können.
-
Die verschiedenen Aspekte der vorangehend beschriebenen Erfindungen können als einzelne oder mehrere Anweisungen (zum Beispiel Softwaremodule, Programme, Codesegmente und so weiter) zur Ausführung der verschiedenen beschriebenen Funktionen implementiert sein. Beim Lesen und Ausführen durch einen Prozessor veranlassen diese Anweisungen den Prozessor zur Ausführung der Operationen, die zur Implementierung und/oder der Verwendung von Ausführungsformen der Erfindung erforderlich sind. Im allgemeinen sind diese Anweisungen faßbar verkörpert in und/oder lesbar von einem maschinenlesbaren Medium, Einrichtung oder Träger, wie zum Beispiel einem Speicher, Datenspeichereinrichtungen und/oder Endgeräten. Diese Anweisungen können von dem Speicher, Datenspeichereinrichtungen und/oder Endgeräten in den Speicher der Recheneinrichtung 102, des Servers 104 und der Schnittstelleneinrichtung 106 zur Verwendung während des Betriebs geladen werden. Diese Anweisungen können verwendet werden, um einen Universalprozessor oder einen spezialisierten Prozessor, der mit den Anweisungen programmiert ist, die Schritte der vorliegenden Erfindung auszuführen. Alternativ können die Merkmale oder Schritte der vorliegenden Erfindung durch bestimmte Hardwarekomponenten ausgeführt werden, welche fest verdrahtete Logik zur Ausführung dieser Schritte aufweisen, oder durch eine beliebige Kombination von programmierten Computerkomponenten und angepaßten Hardwarekomponenten. Während Ausführungsformen der vorliegenden Erfindung unter Bezug auf das World Wide Web beschrieben wurden, sind die Verfahren, Systeme und Einrichtungen, die hier beschrieben wurden, in gleicher Weise auf jede andere Netzwerk-Infrastruktur oder anderes Datenkommunikationssystem anwendbar.
-
Während die vorliegende Erfindung und ihre verschiedenen funktionalen Komponenten anhand von bestimmten Ausführungsformen beschrieben wurde, sollte klar sein, daß die Ausführungsformen der vorliegenden Erfindung in Hardware, Software, Firmware, Middelware oder einer Kombination von diesen und unter Verwendung in Systemen, Subsystemen, Komponenten oder Unterkomponenten von diesen implementiert werden können. Sofern sie in Software implementiert sind (zum Beispiel als Softwaremodul), sind die Elemente der vorliegenden Erfindung die Anweisungen/Codesegmente zur Ausführung der erforderlichen Aufgaben. Die Programme oder Codesegmente können auf einem maschinenlesbaren Medium gespeichert sein, wie zum Beispiel einem prozessorlesbaren Medium oder einem Computerprogrammprodukt, oder durch ein Computer-Datensignal über ein Übertragungsmedium oder eine Kommunikationsverbindung übertragen werden, das durch eine Trägerwelle oder durch einem mit einem Träger modulierten Signal dargestellt wird. Das maschinenlesbare Medium oder prozessorlesbare Medium kann ein beliebiges Medium sein, das Informationen in Form von durch eine Maschine (zum Beispiel ein Prozessor, ein Computer, etc.) lesbaren und ausführbaren Daten speichern oder übertragen kann. Beispiele für maschinen-prozessorlesbare Medien sind elektronische Schaltungen, Halbleiter-Speichereinrichtungen, ein ROM, ein Flash-Speicher, ein löschbares programmierbares ROM (EPROM), eine Diskete, eine Compact Disc CD-ROM, eine optische Platte, eine Festplatte, ein Lichtleitermedium, eine Funk(RF)-Verbindung, etc. Das Computer-Datensignal kann jedes Signal enthalten, welches sich über ein Übertragungsmedium, wie zum Beispiel elektronische Netzwerkkanäle, Lichtwellenleiter, Luft, elektromagnetisch, RF-Verbindungen, etc. fortpflanzen kann. Die Codesegmente können über ein Computernetzwerk, wie zum Beispiel das Internet, ein Intranet, etc. heruntergeladen werden.
-
Während diese Erfindung unter Bezug auf veranschaulichende Ausführungsformen beschrieben wurde, soll die Beschreibung nicht in einer beschränkenden Weise aufgefaßt werden. Verschiedene Abwandlungen der veranschaulichenden Ausführungsformen, sowie andere Ausführungsformen der Erfindung, die dem Fachmann klar werden an den sich die Erfindung richtet, sind so zu betrachten, daß sie unter den Schutzbereich und Erfindungsgedanken fallen.