-
Hintergrund
-
Diese
Erfindung bezieht sich auf das Gebiet der Informationsnetzwerke,
und insbesondere darauf, den Zugang zu Informationen über ein
Netzwerk zu kontrollieren.
-
Teile
der Offenbarung dieses Patentdokuments enthält Material, welches urheberrechtlichen Schutz
genießt.
Der Inhaber des Urheberrechtsschutzes erhebt keine Einwände gegen
die originalgetreue Reproduktion des Patentdokuments oder der Offenbarung
des Patentes durch Dritte, so wie sie in der Akte oder den Aufzeichnungen
des Patent- und Markenamtes erscheint, behält sich darüber hinaus jedoch alle Vervielfältigungsrechte
vor. Sun, Sun Microsystems, das Logo der Firma Sun, Java, JavaBeans,
Java TV API, und alle Java-basierten Marken und Logos sind Marken
oder eingetragene Handelsmarken von Sun Microsystems Inc., in den
USA und in anderen Staaten. Alle SPARC-Marken sind lizenziert, und
sind Marken von SPARC International Inc., in den USA und in anderen
Staaten. Produkte, welche mit SPARC-Marken versehen, sind basieren
auf einer Architektur, welche von Sun Microsystems Inc. entwickelt
wurde.
-
Stand der Technik
-
Cable
T.V. ist ein verbreiteter Mechanismus, der benutzt wird, um Fernsehkanäle und Programme aufzuteilen.
Kabelgesellschaften verlangen vom Teilnehmer bzw. Abonnenten eine
Gebühr
für den
Zugang zu verschiedenen Kanälen
und zu zur Verfügung
gestellten Programmen (nachfolgend als „Basis"-Kabel bezeichnet). Solch ein Basiskanal
kann mit einem kabeltauglichen Fernseher empfangen werden. Mit zusätzlichem
Geld kann ein Abonnent Zusatzkanäle
wie z. B. HBO, Showtime, und den Movie Channel, oder spezielle Programme
(z. B. Spielfilme) bezahlen, und zwar nach einem System, bei dem
der Zuschauer nur für
diejenigen Sendungen bezahlt, die er auch tatsächlich gesehen hat (Pay-per-View
Filme). Um den Zugang zu unberechtigt angesehenen Zusatzkanälen (und
Pay-per-View Filmen) zu beschränken,
verschlüsseln
Kabelgesellschaften die Fernsehsignale und stellen eine Set-top Box,
auch als Kabelbox bezeichnet, zur Verfügung, welche die Fähigkeit
hat, die Informationen wieder zu entschlüsseln. Es werden jedoch oftmals
Kabelboxen (nachfolgend als „illegale" Boxen bezeichnet) verkauft,
und im hinteren Teil technischer Magazine oder im Internet zum Verkauf
angeboten, welche ohne Autorisierung verschlüsselte Fernsehsignale wieder
entschlüsseln
oder „klären". Dies führt zu einem "Datendiebstahl", weil Daten, für welche
bezahlt werden muss, umsonst erlangt werden.
-
Ein
weiteres Gebiet, welches unter dem Datendiebstahl leidet, ist das
Internet. Wie beim Fernsehen basieren einige über das Internet und das WWW zugängliche
Informationen auf Abonnements. Um einen unberechtigten Zugang zu
den Informationen zu verhindern, wird ein Benutzernamen und ein Passwort
benötigt.
Allerdings können
Benutzernamen und Passwörter
und anderer Autorisierungstechniken von Hackern und andere nicht
autorisierten Benutzern umgangen werden.
-
Die
Eigentümer
der Informationen, einschließlich
der Kabelgesellschaften und Fernsehstationen, wünschen einen Weg, um sicherzustellen, dass
nicht autorisierte Benutzer keinen Zugang zu Informationen und gesendeten
Signalen erhalten, ohne dazu autorisiert sein. Ebenfalls ist ein
Verfahren wünschenswert,
welches nicht leicht umgangen werden kann, oder um das man sich
nicht leicht seinen Weg bahnen kann, wenn man illegale Boxen oder
Hacken einsetzt.
-
Um
Kabel- und Informations-/Fernsehsignalverteilung besser zu verstehen,
wird nun eine Beschreibung bzgl. der Art der Informationsübertragung und
der Übertragungsmedien
diskutiert. Gegenwärtig können Informationen
von bzw. zwischen verschiedenen Vorrichtungen (einschließlich Computer- und Kabelsysteme)
gemeinsam genutzt und zur Verfügung
gestellt werden, welche zu einem Netzwerk verknüpft werden (einschließlich eines
weltweiten Netzwerks so wie das Internet). Ein Netzwerk kann ein kleines
System sein, das physikalisch durch Kabel (ein local area network
oder „LAN") verbunden ist, oder
es können
verschiedene separate Netzwerke zu einem größeren Netzwerk (ein wide area
network oder „WAN") verbunden sein.
Andere Arten von Netzwerken sind das Internet, tel-com Netzwerke,
das World Wide Web, Intranets, Extranets, kabellose Netzwerke und
anderer Netzwerke, mit welchen elektronische, digitale und/oder
analoge Daten übertragen
werden können.
Das World Wide Web (WWW) wurde entwickelt, um ein einfacheres und einheitlicheres
Mittel zur Verfügung
zu stellen, um auf Informationen über das Internet zuzugreifen.
Das WWW ist eine Anwendung des Internets die üblicherweise benutzt wird,
um Informationen anzusehen (durch einen Mechanismus der als Webbrowser
bezeichnet wird), und um Informationen wieder zu bekommen (in der
Form von Web-Seiten).
-
Ein
Netzwerk ist nicht darauf beschränkt Computer
zu verbinden, und kann die Verbindung von jeder Art von Gerät wie einem
Fernseher oder einem Radio (zum Beispiel ein Kabelbereich) einschließen. Es
ist wünschenswert,
die Informationen zu den verschiedenen Vorrichtungen eines Netzwerkes
auf der Grundlage zu übermitteln,
dass diese Vorrichtung eine geeignete Autorisierung besitzt (z. B.
die Zurverfügungstellung
von Fernsehkanälen
für Kabelabonnenten
und ein beschränkter
Zugang für Nicht-Abonnenten).
-
Wie
oben beschrieben, verschlüsseln
Mechanismen des Standes der Technik lediglich die Informationen
vor ihrer Übertragung,
und entschlüsseln
die Informationen, damit sie vom jeweiligen Benutzer angeschaut
werden können
(einschließlich
einer Kabelbox), um den unberechtigten Zugang zu verhindern. Vorschriften,
welche in naher Zukunft in Kraft treten werden, beschränken jedoch
die Möglichkeit,
die Informationen unter Einsatz der gegenwärtig vorhandenen Mechanismen
zu verschlüsseln/entschlüsseln.
-
Die
Vorrichtungen eines Netzwerkes können mit
einer Vielzahl von Mitteln miteinander verbunden werden. Beispielsweise
können
Fernsehsignale, und andere Informationen über Kabel, Telefonkabel oder über Satelliten übertragen
werden. Verschiedene Einrichtungen können das Signal oder die Informationen übertragen.
Zum Beispiel kann die übertragende
Einrichtung einen Softwareentwickler, eine lokale Kabelgesellschaft,
eine lokale Telefongesellschaft, eine Fernsehstation oder einen
Motel-/Hotel-Operator etc. einschließen, ist darauf aber nicht
beschränkt.
-
Die über Netzwerke übertragenen
Informationen können
vertrauliches Material umfassen oder ein Material, welches urheberrechtlichen
Schutz genießt,
und für
welches der Eigentümer
(oder Vorrichtung/Einrichtung, welche die Informationen überträgt) den
Zugang beschränken
will. Z. B. mag der Eigentümer
von Computersoftware (z. B. Sun Microsystems Inc.TM)
oder von Filmrechten die Übertragung
von Computersoftware oder Filmen auf besonders autorisierte Personen
beschränken
wollen. Ähnlich
kann eine Kabelgesellschaft gewisse Kanäle kostenlos übertragen
und eine Bezahlung für
andere Kanäle oder
Programme fordern.
-
Wie
oben beschrieben, bezahlt bei einigen Kabelnetzwerken ein Zuschauer
oder Abonnent für den
Umfang des gewünschten
Service bzw. der gewünschten Übertragung.
Z. B. bezahlt ein Abonnent einen Geldbetrag für mehrere Basiskanäle (ein
Basis-Abonnent), und zahlt zusätzlich
für Zusatz- oder Premiumkanäle (ein
Premium-Abonnent). Der Abonnent kann auch auswählen, ob er weiteres Geld für ein besonderes
Programm ausgeben will, das als „Pay-per-View" Programm oder als „Video-on-Demand" Programm bezeichnet
wird. Um zu verhindern, dass ein Abonnent eine nicht autorisierte Übertragung
anschaut, wurden verschiedene Vorgehensweisen entwickelt.
-
Informationen
werden mit einer Vielzahl von Übertragungsmitteln
in analoger Form übertragen
(z. B. Kabel, Satellit, etc.). Die meisten Mittel haben ein Spektrum
(einen vorgegebenen Bereich von Übertragungsfrequenzen), über welches
die Informationen übertragen
werden können.
Z. B. kann ein Fernsehsignal mit einer Ultrahochfrequenz (UHF),
oder einer sehr hohen Frequenz (VHF) übertragen werden, und Radiostationen
können
Informationen über
einen bestimmten Frequenzbereich übertragen (z. B. 89–108 MHz
(Megahertz)). Ein bestimmter Kanal wird über eine bestimmte Frequenz übertragen
und verbleibt bei dieser Frequenz. Z. B. kann dem Kanal 2 110 MHz
zugeordnet werden, und wird er stets auf der Frequenz 110 MHz übertragen.
Daher erfordert der Stand der Technik die manuelle Zuweisung eines
bestimmten Kanals (Informationsstrom) zu einer bestimmten Frequenz.
Daher kann dem Kanal 2 110 MHz zugeordnet werden, und dem Kanal
4 kann 145 MHz zugeordnet werden, etc. Mit Bezug auf den Radiobereich
kann einer bestimmten Radiostation die Frequenz 106,7 MHz zugeordnet
werden, und einer anderen Station 98,7 MHz und einer weiteren 97,1 MHz,
etc. Der Stand der Technik stellt daher die manuelle Zuweisung und
das Einrichten der Übertragung
für einen
gegebenen Strom an Informationen bereit. Die manuelle Zuweisung
ist notwendig, weil der Empfänger
keinen Mechanismus hat um die Übertragungsfrequenz
eines bestimmten Kanals auf andere Weise als durch eine passive
vorbestimmte Anordnung zu bestimmen. Zu sätzlich zur Übertragung von Fernseh- oder
anderen Signalen in analoger Form können auch digitale Signale über ähnlich zugeordnete
Frequenzen übertragen
werden.
-
1 veranschaulicht
ein bekanntes Schema nach dem Stand der Technik, um den nicht autorisierten
Zugang zu verhindern. Der Sender 100 kann eine Seite im
Internet (nachfolgend als Webseite bezeichnet), eine lokale Kabelgesellschaft,
eine Videoquelle, oder ein anderer Sender von Informationen sein.
Der Sender 100 überträgt die Informationen
zur Verschlüsselungseinheit 102 (nachfolgend
auch als „Kopfende" bezeichnet), wo
die Informationen (z. B. Fernsehsignale) verschlüsselt werden, sodass die Informationen
nicht angeschaut werden können,
wenn sie nicht entschlüsselt
werden. Die verschlüsselten Informationen
werden dann per Satellit, Kabel, oder ein anderes Kommunikationsmittel 104 übertragen. Die
Informationen werden dann von einer Set-top (Kabel-) Box 106 empfangen.
Set-top Boxen können zum
Beispiel durch eine Kabelgesellschaft an Teilnehmer bzw. Abonnenten
verteilt werden. Innerhalb der Set-top Box stellt ein Entschlüsselungsmechanismus 180 die
Fähigkeit
bereit, die Informationen zu entschlüsseln, sodass sie angeschaut
werden können.
Die Set-top Box 106 kann an einen Fernseher 110 angeschlossen
werden, um die entschlüsselten Informationen
anzuschauen. Durch Benutzung des Schemas von 1 können nur
Endbenutzer mit richtig konfigurierten Set-top Boxen die vom Sender 100 übertragenen
Informationen entschlüsseln
und anschauen.
-
Die
Entschlüsselungseinheit 108 kann
ausgelegt werden, dass sie die Informationen in einer Vielzahl von
Arten entschlüsselt.
Z. B. kann von der Verschlüsselungseinheit 102 ein
Schlüssel
benutzt werden, um die Informationen zu verschlüsseln, welche von der Verschlüsselungseinheit 108 benutzt wird,
um die Informationen zu entschlüsseln.
Der Schlüssel
kann von Zeit zu Zeit geändert
werden, zur Set-top Box übertragen
werden (oder zu einem Decoder innerhalb der Set-top Box), und von
der Entschlüsselungseinheit
der Set-top Box (oder dem Decoder) benutzt werden. Der Schlüssel kann
als ein Datensignal während
der normalen Fernsehübertragung übertragen
werden. Normale Femsehsignale haben innerhalb jedes Feldes in jeder
Zeile zwischen den Chrominanz- und
den Luminanzsignalen ein vertikales Austastintervall (VBI) und ein
horizontales Austastintervall (HBI). Der Schlüssel kann entweder innerhalb
des VBI oder des HBI übertragen
werden.
-
Pay-per-View
Programme stellen dem Benutzer die Möglichkeit zur Verfügung, für ein spezielles
Programm oder einen speziellen Kanal für einen bestimmten Zeitraum
zu bezahlen. Damit die Entschlüsselungseinheit 108 ein
spezielles Programm entschlüsseln
kann, kann jede Set-top Box 106 oder Entschlüsselungseinheit 108 eine
eindeutige Adresse haben die es dem Sender 100 ermöglicht,
selektiv mit diesem zu kommunizieren. Ein Programm-Tag kann mit
dem Fernsehsignal übertragen
werden, welches z. B. eine bestimmte Stelle im Speicher der Entschlüsselungseinheit 108 identifiziert.
Die Speicherposition der Entschlüsselungseinheit 108 speichert eine
Information betreffend des Umstandes, ob der jeweilige Benutzer
autorisiert ist oder nicht, das jeweilige Programm zu empfangen.
Die Set-top Box 106 oder die Entschlüsselungseinheit 108 kann
mit dem Sender 100 kommunizieren, und die Speicherposition
kann aktualisiert werden, um den Empfang des jeweiligen Programms
zu ermöglichen.
Auf diese Weise können
Programme auf einer individuellen Basis angesehen werden.
-
Die übertragenen
Informationen können
auf eine Vielzahl von Arten übertragen
werden. Z. B. können
die Informationen übertragen
werden (1) in einem geradlinigen, unverschlüsselten Modus (z. B. muss die
Verschlüsselungseinheit 102 das
Signal nicht modifizieren), (2) in einem ersten verschlüsselten
Modus, bei dem der Inhalt aller ungeradzahligen Anzeigezeilen in
einem Einzelbild invertiert wird, wohingegen der Inhalt aller geradzahligen
Anzeigezeilen nicht invertiert wird, (3) in einem zweiten verschlüsselten
Modus, bei dem der Inhalt aller ungeradzahligen Anzeigezeilen in
jedem Einzelbild invertiert wird, wobei die verbleibenden Anzeigezeilen nicht
invertiert werden. Darüber
hinaus kann diese Verschlüsselung
auf einer Programm-zu-Programm-, oder einer Kanal-zu-Kanal Basis
erfolgen. Es ist jedoch bei jedem dieser Übertragungsbeispiele für jemanden
einfach, die ungeradzahligen Anzeigezeilen und die geradzahligen
Anzeigezeilen zu untersuchen, und unberechtigterweise eine Entschlüsselungsvorrichtung
zu schaffen, die es ermöglicht,
alle Kanäle
anzuschauen. Ein Verfahren zum Verhindern eines unberechtigten Zuganges
oder Anschauens von Informationen, welche über ein Netzwerk übertragen
werden, und welches nicht leicht umgangen werden kann, ist wünschenswert.
-
Die
US 5,937,002 beschreibt
ein Verfahren, mit dem ein orthogonales Frequenzsprung-Verfahren zwischen
einer mobilen Station und einer Basisstation in einem Radiokommunikationssystem
bewirkt werden kann. Kanalsprungsequenzen werden zugeteilt, sodass,
je besser die Verbindung in Bezug auf Dämpfung ist, desto schlechter
die Kanäle,
welche dieser Verbindung zugeteilt sind, in Bezug auf Interferenz
sind.
-
Zusammenfassung der Erfindung
-
Ein
Verfahren und eine Vorrichtung für
die Übertragung
von Informationen über
ein Netzwerk werden zur Verfügung
gestellt, so wie sie in den beigefügten Ansprüchen niedergelegt sind. Datenströme (welche
Medienströme,
wie z.B. Fernsehsignale, und Informationsströme, wie z.B. Web-Seiten) werden über ein
Netzwerk mit einem Kopfende (z. B. einer lokalen Kabelgesellschaft) übertragen,
und von einem Mitglieds-Speichermanager oder einer Set-top Box (auch
als Kabelbox bezeichnet) empfangen, welches es ermöglicht,
die Informationen zu benutzen, oder sie mit einem Fernseher anzusehen.
Datenströme
können über eine
Vielzahl von Frequenzen über Kabel
(oder andere Übertragungsmittel
wie einen Satelliten) übertragen
werden. Verfahren des Standes der Technik beschränken die Übertragung auf einem bestimmten
Kanal zu einer festgelegten Frequenz (z. B. 110 MHz). Auf diese
Weise wird Kanal 2 immer mittels einer bestimmten Frequenz übertragen,
Kanal 4 auf einer anderen bestimmten Frequenz, Kanal 7 auf einer
anderen bestimmten Frequenz, etc. Um ein nicht autorisiertes Anschauen
zu verhindern, verschlüsselt
der Stand der Technik das übertrage ne
Signal. Eine illegale Kabelbox muss jedoch nur die Informationen
auf einer bestimmten Frequenz entschlüsseln, um den gegebenen Kanal
bzw. das gegebene Programm zu sehen.
-
Ein
oder mehrere Ausführungsformen
der Erfindung sorgen für
ein Rotieren oder Umschalten der Frequenz, mit der ein gegebener
Datenstrom übertragen
wird, basierend auf einem Umschaltalgorithmus. Z. B. kann ein gegebener
Datenstrom (z. B. ein Film auf einer Pay-per-View Station) für ein gegebenes
Zeitintervall (z. B. 1/10 s, 10 Sekunden, 25 Sekunden, eine Minute,
etc.) auf einer Frequenz übertragen
werden, wird dann für
ein vorgegebenes Zeitintervall (z. B. 1/10 s, 10 Sekunden, 25 Sekunden, eine
Minute, etc.) zu einer anderen Frequenz umgeschaltet, dann für ein vorgegebenes
Zeitintervall zu einer weiteren Frequenz umgeschaltet, etc. Zusätzlich kann
der Umschaltalgorithmus willkürlich
geändert
werden. Durch das Umschalten der Frequenz muss eine illegale Kabelbox
die Reihenfolge der Frequenzen, (welche jederzeit geändert werden
kann) kennen, auf welchem ein Kanal übertragen wird, wodurch es
schwieriger gemacht wird, ein kontinuierliches Programm anzusehen.
-
Um
es dem Speichermanager des Mitglieds zu ermöglichen die Frequenz zu bestimmen,
auf der ein vorgegebener Strom an Informationen zu einem gegebenen
Zeitpunkt übertragen
wird, kann eine Schaltsoftware in Form eines ausführbaren
Programmcodes vom Kopfende-Server an den Speichermanager des Mitglieds
(oder Set-top Box) bereitgestellt werden. Die Schaltsoftware kann
sich auf einen bestimmten Datenstrom beschränken und kann spezifizieren,
welche Frequenz der vorgegebene Strom zu einem bestimmten Zeitpunkt
besitzt. In einer oder mehreren Ausführungsformen kann die Schaltsoftware
vor der Übertragung
an den Mitglieds-Speichermanager verschlüsselt werden, und bei seiner
Ankunft entschlüsselt
werden. Weiterhin ist in einer oder mehreren Ausführungsformen
der Erfindung die Schaltsoftware ein objektorientiertes Objekt,
welches dynamisch durch den Mitglieds-Speichermanager erzeugt wird
(mit Informationen vom Kopfende-Server), und welches die Fähigkeit
bereitstellt mit dem Kopfende zu kommunizieren, beispielsweise über einen
Fernprozeduraufruf- (RPC-) Mechanismus wie den entfernten Prozedurenaufruf,
wie z.B. das Java Remote Method Invocation (RMI) System.
-
Gemäß einer
oder mehreren Ausführungsformen
der Erfindung wird ein Mapping bestimmt, welches die Frequenz festlegt,
die einem bestimmten Strom zugeordnet wird bzw. zu diesem korrespondiert,
wobei dem Speichermanagerglied das Mapping übertragen wird, wenn dieses
installiert und ausgeführt
wird, wobei der Datenstrom auf verschiedenen Frequenzen zum Speichermanager
des Teilnehmers übertragen
wird, und wobei der Mitglieds-Speichermanager die geeignete Frequenz
einstellt, um einen kontinuierlichen Strom an Informationen zu erhalten
und zu benutzen. Durch Übertragung
von Informationen auf diese Art und Weise sind alle Verschlüsselungs-,
Frequenz-/Kanalumschalt-
und Konfigurationsangelegenheiten für den Endbenutzer transparent,
welcher lediglich einen virtuellen Kanal auswählen muss (z. B. NBC, ABC,
CBS, etc.), um fern zu sehen. Weiterhin ist ein illegales Sehen
eines bestimmten Kanals schwieriger, weil nach der Einstellung einer Frequenz,
1/10 s oder 10 Sekunden später,
der ausgewählte
Kanal auf einer anderen Frequenz übertragen wird.
-
Kurze Beschreibung
der Zeichnungen
-
1 veranschaulicht
ein bekanntes Schema nach dem Stand der Technik, um einen nicht
autorisierten Zugang zu verhindern.
-
2 ist
ein Blockdiagramm eines Computersystems, welches im Stande ist,
eine geeignete Ausführungsumgebung
bereitzustellen, in Übereinstimmung
mit einer oder mehreren Ausführungsformen
der Erfindung.
-
3 veranschaulicht
einen Kommunikationsmechanismus zwischen einem Kopfende und einem
Abonnenten gemäß einer
oder mehreren Ausführungsformen
der Erfindung.
-
4 veranschaulicht
die Elemente eines Mechanismus für
die Kontrolle eines Zugang zu Informationen über ein Netzwerk gemäß einer
oder mehreren Ausführungsformen
der Erfindung.
-
5 zeigt
den Informationsfluss zu einem Abonnenten gemäß einer oder mehreren Ausführungsformen
der Erfindung.
-
6 veranschaulicht
ein Verfahren, mit der die Entschlüsselung eines Umschaltalgorithmus
ermöglicht
wird, und welches einen konstanten Datenstrom zu einem Endbenutzer
bereitstellt, gemäß einer
oder mehreren Ausführungsformen
der Erfindung.
-
Ausführliche Beschreibung der Erfindung
-
Die
Erfindung ist ein Verfahren und eine Vorrichtung zur Kontrolle des
Zugangs zu Informationen über
ein Netzwerk. In der folgenden Beschreibung werden zahlreiche spezielle
Details dargelegt, um eine gründlichere
Beschreibung von Ausführungsformen
der Erfindung bereitzustellen. Es wird für den Fachmann jedoch offensichtlich
werden, dass die Erfindung ohne diese speziellen Details praktiziert
werden kann. In anderen Fällen
werden bekannte Merkmale nicht im Detail beschrieben, um nicht die
Erfindung unklarer werden zu lassen.
-
Die
folgende Beschreibung offenbart Ausführungsformen eines Verfahrens
zur Kontrolle des Zugangs zu Informationen über ein Netzwerk. Zuerst jedoch
wird nachfolgend eine Beschreibung einer Ausführungsform für eine Computervorrichtung
gegeben, die geeignet ist, eine Ausführungsumgebung für die Softwarevorrichtung
der Erfindung bereitzustellen.
-
Ausführungsform einer Computerausführungsumgebung
(Hardware)
-
Eine
Ausführungsform
der Erfindung kann als eine Computersoftware in Form eines computerlesbaren
Codes implementiert werden, welcher auf einer Vorrichtung wie eine
Vorrichtung/ein Computer 200, der in 2 dargestellt
ist, ausgeführt
wird, oder in der Form von Byte-Code Klassendateien bzw. bytecode
class files, welcher in einer JavaTM-Laufzeitumgebung
läuft,
welche auf einer Vorrichtung/einem Computer läuft, oder in der Form eines
Byte-Codes, welcher auf einem Prozessor läuft (oder Vorrichtungen die
Byte-Codes verarbeiten können
(so wie eine Set-top Box oder ein Fernseher)), welche in einer verteilten
Umgebung (z. B. einem oder mehreren Prozessoren in einem Netzwerk)
existieren. Eine Tastatur 210 und eine Maus 211 sind
an einen Systembus 218 gekoppelt. Die Tastatur und die
Maus sind für
die Eingabe von Benutzereingaben in das Computersystem und übertragen
diese Benutzereingaben zu dem Prozessor 213. Andere geeignete
Eingabegeräte
können
zusätzlich
oder anstelle der Maus 211 und der Tastatur 210 benutzt
werden. E/A- (Eingabe-/Ausgabe-)
Einheit 219, welche an den Systembus 218 gekoppelt
ist, repräsentiert
derartige E/A-Elemente,
wie beispielsweise einen Drucker, A/V- (Audio-/Video-) E/A, etc.
-
Die
Vorrichtung 200 beinhaltet einen Videospeicher 214,
einen Hauptspeicher 215 und einen Massenspeicher 212,
die alle wie die Tastatur 210, die Maus 211 und
der Prozessor 213 an den Systembus 218 angekoppelt
sind. Der Massenspeicher 212 kann sowohl fest eingebaute,
als auch auswechselbare Medien beinhalten, so wie magnetische, optische
oder magnetooptische Speichersysteme, oder jede andere vorhandene
Massenspeichertechnologie. Der Bus 218 kann zum Beispiel 32 Adressleitungen
für das
Adressieren des Videospeichers 214 oder des Hauptspeichers 215 besitzen.
Der Systembus 218 beinhaltet zum Beispiel auch einen 64-Bit-Datenbus
zum Datenaustausch zwischen und unter den Komponenten, wie den Prozessor 213,
den Hauptspeicher 215, den Videospeicher 214,
und den Massenspeicher 212. Alternativ können Multiplex- Daten-/Adressleitungen
anstelle separater Daten- und Adressleitungen benutzt werden.
-
In
einer Ausführungsform
der Erfindung ist der Prozessor 213 ein von Sun Microsystems
Inc. hergestellter Mikroprozessor, wie z.B. ein SPARCTM-Mikroprozessor
oder ein von Motorola hergestellter Mikroprozessor, wie beispielsweise
der 680X0-Prozessor, oder ein von Intel hergestellter Mikroprozessor,
so wie der 80X86, oder ein Pentium-Prozessor. Es kann jedoch jeder
geeignete Mikroprozessor oder Mikrocomputer benutzt werden. Der
Hauptspeicher 215 umfasst ein dynamisches RAM (DRAM). Der
Videospeicher 214 ist ein Video-RAM mit zwei Ports. Ein
Port des Videospeichers 214 ist an den Videoverstärker 216 gekoppelt. Der
Videoverstärker 216 wird
benutzt, um den Kathodenstrahlrohr- (CRT-) Rastermonitor 217 anzusteuern.
Der Videoverstärker 216 ist
allgemein bekannt und kann durch jede beliebige Vorrichtung implementiert
werden. Dieser Schaltkreis konvertiert im Videospeicher 214 gespeicherte
Pixeldaten in ein Rastersignal, welches vom Monitor 217 genutzt
werden kann. Monitor 217 ist ein Monitortyp, welcher zur
Anzeige grafischer Bilder geeignet ist. Die Vorrichtung 200 kann
aber muss nicht alle konstituierenden Teile 210–220 besitzen,
und muss auch kein Computer sein, sondern ein Mechanismus für die Übertragung von
Informationen, so wie eine Fernsehstation oder eine Kabelgesellschaft.
-
Die
Vorrichtung 200 kann auch eine Kommunikationsschnittstelle 220 besitzen,
welche an den Bus 218 gekoppelt ist. Die Kommunikationsschnittstelle 220 stellt
eine wechselseitige Datenkommunikation bereit und ist über eine
Netzwerkverbindung 221 mit einem lokalen Netzwerk 222 oder
mit einer lokalen Kabelgesellschaft 227 verbunden. Wenn
z. B. die Kommunikationsschnittstelle 220 eine Dienste
integrierende digitale Nachrichtennetz- (ISDN) Karte oder ein Modem
ist, stellt die Kommunikationsschnittstelle 220 eine Datenkommunikationsverbindung zum
korrespondierenden Typ einer Telefonleitung bereit, welcher einen
Teil des Netzwerklinks 221 umfasst. Wenn die Kommunikationsschnittstelle 220 ein lokales
Netzwerk (LAN) ist, stellt die Kommunikationsschnittstelle 220 eine
Datenkommunikationsverbindung über
den Netzwerklink 221 zu einem kompatiblen LAN bereit. Kabellose
Links sind auch möglich. In
jeder derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 220 elektrische,
elektromagnetische oder optische Signale, welche digitale Datenströme tragen,
welche verschiedene Arten von Informationen (z. B. Fernseh- oder
Video-/Audio-Ströme)
repräsentieren.
-
Der
Netzwerklink 221 bzw. die Netzwerkverbindung 221 stellt
typischerweise eine Datenkommunikation durch ein oder mehrere Netzwerke
zu anderen Datenvorrichtungen bereit. Zum Beispiel kann der Netzwerklink 221 eine
Verbindung über
ein lokales Netzwerk 222 zu einem lokalen Server-Computer 223,
oder zu einer Datenausrüstung
bereitstellen, welche von einem Internet-Service-Provider (ISP) 224 betrieben
wird. Der ISP 224 stellt seinerseits Datenkommunikationsdienste
für das
weltweite Datenpaket-Kommunikationsnetzwerk bereit, welches heutzutage
als das „Internet" 225 bezeichnet
wird. Das lokale Netzwerk 222 und das Internet 225 benutzen
jeweils elektrische, elektromagnetische oder optische Signale, welche
digitale Datenströme
tragen. Alternativ kann der Netzwerklink 221 eine Verbindung
zu einer lokalen Kabelgesellschaft 227 bereitstellen, welche
Informationen über
ein lokales Netzwerk 228 an den Abonnenten 229 überträgt. Die
Signale durch die verschiedenen Netzwerke und die Signale durch
den Netzwerklink 221 und durch die Kommunikationsschnittstelle 220,
welche die digitalen Daten zum und von der Vorrichtung 200 befördern, sind
exemplarische Formen von Trägerwellen, welche
Informationen transportieren.
-
Die
Vorrichtung 200 kann Nachrichten versenden und Daten, einschließlich Programmcode durch
das oder die Netzwerke, den Netzwerklink 221 und die Kommunikationsschnittstelle 220 empfangen.
Im Fall des Internets kann der entfernt aufgestellte Server-Computer 226 einen
angeforderten Code für
ein Anwenderprogramm durch das Internet 225, den ISP 224,
das lokale Netzwerk 222 und die Kommunikationsschnittstelle 220 übertragen.
Im Fall des Kabelfernsehens überträgt die lokale
Kabelgesellschaft 227 Video/Audio in der Form von Kanälen oder
Strömen
von Informationen durch ein lokales Netzwerk 228 zum End-Abonnenten 229,
welcher die Informationen auf einem Fernseher darstellen kann.
-
Der
empfangende Code kann vom Prozessor 213 ausgeführt werden,
wenn er empfangen wird, und/oder kann in einem Massenspeicher 212 oder
in anderem nicht flüchtigen
Speicher für
die spätere Ausführung gespeichert
werden. Auf dieser Art kann die Vorrichtung 200 einen Anwendungscode
in der Form einer Trägerwelle
empfangen.
-
Der
Anwendungscode kann in jeder Art eines Computerprogrammprodukts
verkörpert
sein. Ein Computerprogrammprodukt umfasst ein Medium, welches konfiguriert
ist, einen computerlesbaren Code zu speichern oder zu transportieren,
oder in welches ein computerlesbarer Code eingebettet sein kann.
Einige Beispiele von Computerprogrammprodukten sind CD-ROMs, Disketten,
Magnetbänder, Computerlaufwerke,
Server in einem Netzwerk, und Trägerwellen.
-
Die
oben beschriebenen Systeme dienen nur als Beispiele. Eine Ausführungsform
der Erfindung kann durch jede Art von System, Computersystem oder
eine Programmier- und Prozessumgebung implementiert werden.
-
Ausführungsform einer Softwarevorrichtung
für einen kontrollierten
Zugang zu Informationen
-
Eine
Ausführungsform
der Erfindung beinhaltet eine Softwarevorrichtung, welche ein Verfahren
für den
kontrollierten Zugang zu Informationen über ein Netzwerk umfasst. Die
Zugangskontrolle kann durch die Benutzung von Instanzen von Objektklassen
in Übereinstimmung
mit bekannten objektorientierten Programmierverfahren implementiert
werden. Ein Überblick über objektorientierte
Programmierung wird nachfolgend gegeben.
-
Obiektorientierte Programmierung
-
Objektorientierte
Programmierung ist eine Methode zum Entwickeln von Computerprogrammen durch
die Kombination gewisser fundamentaler Bausteine, und durch die
Schaffung von Beziehungen zwischen und unter den Bausteinen. Die
Bausteine werden in den objektorientierten Programmiersystemen "Objekte" genannt. Ein Objekt
ist eine Programmiereinheit, die eine Datenstruktur (ein oder mehrere Instanzvariablen),
und die Operationen (Verfahren), welche die Daten benutzen oder
sie beeinflussen können,
gruppiert. Daher besteht ein Objekt aus Daten und einer oder mehrerer
Operationen oder Prozeduren, welche auf die Daten angewandt werden
können.
Das Verknüpfen
von Daten und Operationen zu einem einheitlichen Baustein nennt
man "Verkapselung".
-
Ein
Objekt kann angewiesen werden, eines seiner Verfahren anzuwenden,
wenn es eine "Meldung" erhält. Eine
Meldung ist ein Befehl oder eine Anweisung, welche an das Objekt
gesendet wird, um ein gewisses Verfahren auszuführen. Eine Meldung besteht
aus einer Verfahrenswahl (z. B. den Namen eines Verfahrens) und
eine Vielzahl von Argumenten. Eine Meldung teilt dem empfangenden
Objekt mit, welche Operationen es ausführen soll.
-
Ein
Vorteil von objektorientierter Programmierung ist die Art wie Verfahren
aufgerufen werden. Wenn eine Meldung an ein Objekt gesendet wird,
ist es nicht notwendig, dass die Meldung das Objekt anweist, wie
es ein gewisses Verfahren ausführen
soll. Es ist lediglich notwendig zu fordern, dass das Objekt das
Verfahren ausführt.
Dies vereinfacht die Programmentwicklung erheblich.
-
Objektorientierte
Programmiersprachen basieren in erster Linie auf einem "Klassenschema". Das klassenbasierte,
objektorientierte Programmierschema wird allgemein in Liebermann, "Using Prototypical
Objects to Implement Shared Behavior in Object-Oriented Systems,
OOPSLA Proceedings, September 1986, S. 214–223, beschrieben.
-
Eine
Klasse definiert einen Objekttyp, welcher typischerweise sowohl
Variablen als auch Verfahren für
die Klasse definiert. Eine Objektklasse wird benutzt, um eine bestimmte
Instanz eines Objekts zu erzeugen. Eine Instanz einer Objektklasse
beinhaltet die Variablen und die für die Klasse definierten Verfahren.
Mehrere Instanzen derselben Klasse können von einer Objektklasse
erzeugt werden. Man sagt, dass jede von einer Objektklasse erzeugte
Instanz vom selben Typ oder derselben Klasse sei.
-
Zur
Veranschaulichung kann eine Arbeitnehmer-Objektklasse "Name" und "Gehalt" als Instanzvariablen
besitzen, und ein "Lege_Gehalt_fest"-Verfahren. Instanzen
der Arbeitnehmer-Objektklasse können
erzeugt werden, oder für
jeden Beschäftigten in
einem Unternehmen instanziiert werden. Man sagt, dass jede Objektinstanz
vom Typ „Arbeitnehmer" ist. Jede Arbeitnehmer-Objektinstanz
besitzt die Instanzvariablen "Name" und "Gehalt" und das "Lege_Gehalt_fest"-Verfahren. Der Wert,
welcher den Variablen "Name" und "Gehalt" in jeder Arbeitnehmer-Objektinstanz
zugeordnet ist, beinhaltet den Namen und das Gehalt eines Arbeitnehmers
im Unternehmen. Eine Meldung kann an die Arbeitnehmer-Objektinstanz
des Arbeitnehmers gesendet werden, um das "Lege_Gehalt_fest"-Verfahren
aufzurufen, um das Gehalt des Arbeitnehmers zu modifizieren (das
heißt
den Wert, welcher der Variablen "Gehalt" in dem Arbeitnehmer-Objekt
des Arbeitnehmers zugeordnet ist).
-
Eine
Hierarchie von Klassen kann definiert werden, sodass eine Objektklassendefinition
eine oder mehrere Unterklassen hat. Eine Unterklasse erbt die Definition
seiner Eltern (und die der Großeltern
etc.). Jede Unterklasse in der Hierarchie kann dem Verhalten, welches
durch die Klasse der Eltern spezifiziert ist, etwas hinzufügen oder
es verändern. Einige
objektorientierte Programmiersprachen unterstützen die mehrfache Vererbung,
bei der eine Unterklasse eine Klassendefinition von einer oder mehreren
Elternklassen erbt. Andere Programmiersprachen unterstützen nur
die einfache Vererbung, bei der die Unterklasse darauf beschränkt ist,
die Klassendefinition von nur einer Elternklasse zu erben. Die Programmiersprache
Java stellt auch einen Mechanismus bereit, als" Schnittstelle" bekannt, welche einen Satz von konstanten
und von Abstraktverfahren- Deklarationen umfasst. Eine Objektklasse
kann die in einer Schnittstelle definierten Abstraktverfahren implementieren.
Für eine
Schnittstelle stehen sowohl die einfache als auch die mehrfache
Vererbung zur Verfügung.
Dies bedeutet, dass eine Schnittstelle die Schnittstellendefinitionen
von mehr als einer Elternschnittstelle erben kann.
-
Ein
Objekt ist ein generischer Begriff, welcher in der objektorientierten
Programmierumgebung benutzt wird, um sich auf ein Modul zu beziehen,
das verwandten Code und Variablen enthält. Eine Softwareanwendung
kann geschrieben werden, indem man eine objektorientierte Programmiersprache
benutzt, und wobei die Funktionalität des Programms durch den Gebrauch
von Objekten implementiert wird. Die durch Objekte in einer objektorientierten Programmierumgebung
bereitgestellte Verkapselung kann auf das Konzept von Kanälen oder
Video/Audioströmen
erweitert werden.
-
Implementierung in der
Programmiersprache Java
-
Ausführungsformen
der Erfindung können mit
jeder Art von Programmiersprache (objektorientiert oder nicht) implementiert
werden, einschließlich aber
nicht beschränkt
auf Programmiersprachen wie Java, FORTRAN, Assembler, C, C++, Small
Talk, ADA, LISP oder Visual Basic. Die nachfolgend beschriebene
Beschreibung, Beispiele und Implementierungen können sich auf die Programmiersprache Java
oder auf die Java TVTM Anwendungs-Programmierschnittstelle
(API) beziehen oder sie benutzen, aber die Erfindung ist nicht auf
den Gebrauch der Programmiersprache Java oder Java TV API beschränkt und
kann mit jeder Art von Programmiersprache implementiert werden.
Ausführungsformen der
Erfindung können
implementiert werden, indem man Java TV API benutzt, was es einer
Set-top Box oder digitalen Fernsehern ermöglicht, interaktive Fernsehinhalte
zu empfangen, wie z. B. erweitertes Fernsehen, Video-on-Demand,
elektronische Programmieranleitungen, und interaktive Sportereignisse
mit Betrachtung aus einer Multikamera-Perspektive. Java TV API ist
eine Erweiterung der Java-Plattform und der Standardoptionen, die
in der Programmiersprache Java verfügbar sind.
-
Die
Programmiersprache Java ist eine objektorientierte Programmiersprache,
bei der jedes Programm eine oder mehrerer Objektklassen umfasst. Im
Unterschied zu vielen anderen Programmiersprachen, in welchen ein
Programm in einen maschinenabhängigen,
ausführbaren
Programmcode kompiliert wird, werden Java-Klassen in maschinenunabhängige Klassendateien
aus Bytecodes kompiliert. Jede Klasse enthält Code und Daten in einem
plattformunabhängigen
Format, welches als Klassendatei-Format bezeichnet wird. Das Computersystem,
welches als Ausführungsvehikel
agiert, unterstützt
die Java-Laufzeitumgebung. Die Laufzeitumgebung enthält ein Programm,
welches als virtuelle Maschine bezeichnet wird, und welches dafür verantwortlich
ist, den Java-Klassencode
auszuführen.
-
Anwendungen
können
als selbsttätig
lauffähige
Java-Anwendungen konzipiert sein, so wie Java-Applets, die durch ein Applet-Tag in
einem HTML-Dokument identifiziert werden, und von einer Browser-Anwendung
geladen werden. Die Klassendateien, die der Anwendung oder dem Applet
zugeordnet sind, können
auf einem lokalen Computersystem gespeichert werden, oder auf einem über ein Netzwerk
zugänglichen
Server. Jede Klasse wird bei Bedarf durch einen „Klassen-Lader" in die Java-Laufzeitumgebung
geladen.
-
Java-Klassen
werden bei Bedarf vom Netzwerk (auf einem Server gespeichert) geladen,
oder von einem lokalen Dateisystem, und zwar wenn sie das erste
Mal während
einer Anwendung oder der Ausführung
eines Applets referenziert werden. Die Laufzeitumgebung lokalisiert
und lädt
jede Klassendatei, analysiert das Format der Klassendateien, weist
Speicher für
die verschiedenen Komponenten der Klasse zu, und verknüpft die
Klasse mit anderen bereits geladen Klassen. Dieser Prozess führt dazu, dass
der Code in einer Klasse schneller durch die virtuelle Maschine
ausführbar
wird.
-
Ausführungsformen
der Softwarevorrichtung können
unter Einsatz jeder Programmiersprache implementiert werden die
Standard-OOP-Objektklassen verwendet. Für die Zwecke der nachfolgenden Beschreibung
sollen Bezüge
auf Software, Softwareobjekte und Kanalkontroll-Software sich auf
Instanzen von OOP-Objektklassen beziehen.
-
Implementierung einer
Softwarevorrichtung für
den kontrollierten Zugang zu Informationen über ein Netzwerk
-
Wie
vorstehend beschrieben, kann die Erfindung in jeder Programmiersprache
implementiert werden, und Beispiele und Beschreibungen, welche die
Programmiersprache Java benutzen, sind Beispiele von einer oder
mehreren Ausführungsformen der
Erfindung.
-
Umschalten von Datenströmen
-
Ein
Strom von Daten oder Informationen kann aus einem bestimmten Kanal
(z. B. CNN, ESPN, NBC etc.) oder einem bestimmten Programm oder
Programmen (z. B. ein Pay-per-View Programm, ein Wochenendzugang
für einen
Kanal, etc.) bestehen. Ein oder mehrere Ausführungsformen der Erfindung
sorgen für
ein Alternieren oder Umschalten der Informationen für einen
bestimmten Strom von Daten über
ein oder mehrere Frequenzbänder/Kommunikationspfade.
Ein Kommunikationspfad schließt Frequenzbänder und
andere Mechanismen ein, durch welche Informationen übertragen/kommuniziert
werden. 3 veranschaulicht einen Kommunikationsmechanismus
zwischen einem Kopfende und einem Abonnenten gemäß einem oder mehrerer Ausführungsformen
der Erfindung. Das Kabel oder Kommunikationsmittel 300 kann
aus einer Vielzahl von Frequenzbändern
A–E (302–310)
bestehen. Das Kopfende 312 überträgt Informationen, wie beispielsweise
einen Datenstrom über
das Kommunikationsmittel 300, wo es letztlich den Abonnenten 314 erreichen
wird. Der Strom kann auf einem Frequenzband, wie z.B. dem Band B 310, übertragen
werden. Alternativ kann der Strom über wechselnde Bänder übertragen
werden. Beispielsweise kann ein Strom für ein vorgegebenes Zeitintervall
(zum Beispiel eine Minute, 1/10 s, etc.) auf einem Band A 302 übertragen werden,
dann für
ein vorgegebenes Zeitintervall auf einem Band E 304 (z.
B. 30 Sekunden, zwei Sekunden, etc.), dann für ein vorgegebenes Zeitintervall (zum
Beispiel eine Minute, 20 Sekunden, etc.) auf einem Band B 304,
etc. Durch das Wechseln der Frequenzbänder, auf welchen der Strom übertragen wird,
kann der Abonnent 314 den Strom nicht anschauen, ohne zu
wissen, auf welchem Band der Strom übertragen wird (wodurch ein
nicht berechtigter Zugang verhindert wird). Der Strom kann über zahlreiche
wechselnde Frequenzbänder
in einer Vielzahl von Arten übertragen
werden, solange ein Abonnent 314 weiß, auf welchem Band der Strom übertragen
wird. Auf diese Weise kann ein Strom (Teil eines Mediums) zu verschiedenen
Zeiten auf einer Vielzahl von Frequenzen sein in Übereinstimmung
mit einer gegebenen Sequenz/einem gegebenen Muster von Frequenzen/Kommunikationspfaden.
-
Verarbeitung der Datenströme durch
den Abonnenten
-
4 veranschaulicht
die Elemente eines Mechanismus, um den Zugang zu Informationen über ein
Netzwerk gemäß einer
oder mehreren Ausführungsformen
der Erfindung zu kontrollieren. Die Videoquelle 400 stellt
den Video-/Audio-/Informationsinhalt bereit, welcher verteilt werden
muss. Zum Beispiel kann die Videoquelle 400 eine Fernsehstation
sein, oder ein Web-Host, welcher die Fernsehshow- bzw. HTML/Grafiken
bereitstellt. Der Kopfende-Server 402 hat eine kontrollierende
Beziehung zum Kopfende 404 und ist für eine Vielzahl von Funktionen
(der Kopfende-Server 402 und das Kopfende 404 können durchgehend
in der Beschreibung von einer oder mehreren Ausführungsformen der Erfindung
austauschbar verwendet werden) verantwortlich. Zum Beispiel kann
der Kopfende-Server 402 Mittel bereitstellen, um einer
externen Anwendung Daten hinzuzufügen, sie wegzunehmen, zu aktualisieren
und von dieser zu erhalten.
-
Zusätzlich können der
Kopfende-Server 402 oder das Kopfende 404 Mittel
bereitstellen, um Kanal-Frequenzbindungen
zu steuern. Mit anderen Worten können
der Kopfende-Server 402 oder das Kopfende 404 einen
bestimmten Kanal oder Strom an ein bestimmtes Frequenzband (z. B.
stellt der Kopfende-Server 402 oder das Kopfende 404,
ein Mapping zwischen einem Strom und einem bestimmten physikalischen
Kanal (Band) bereit) binden. Der Kopfende-Server 402 kann
auch sicherstellen, dass die verschiedenen Abonnenten mit dem Kopfende-Server
verbunden sind, und dass die übertragenen
Informationen unter allen Abonnenten gleichzeitig vorliegen. Zusätzlich können der
Kopfende-Server 402 und das Kopfende 404 einen
externen Internetzugang und höhere
Netzwerkdienste bereitstellen, und können die Schnittstelle bereitstellen,
durch welche Web-Anwendungen Zugang zu verschiedenen Kontrollmechanismen
wie beispielsweise Kanal-Frequenzbindungen, automatische Umschaltfunktionen, Benutzungsdaten
sowie vorbeugende und situationsabhängige Diagnoseroutinen erhalten.
-
Der
Kopfende-Server 402 und das Kopfende 404 kommunizieren
mit einem oder mehreren Quell-Speichermanagern 414 und
mit einem oder mehreren Mitglieds-Speichermanagern 418.
Jeder Quell-Speichermanager 414 ist verbunden mit und verantwortlich
für einen
einzigen optischen Knoten 416 des Kopfendes und stellt
den Anwendungs-Server für
den Versorgungsbereich zur Verfügung,
welcher mit dem Knoten 416 verknüpft ist. Damit ist für einen
Versorgungsbereich (nachfol gend als Mitgliedsspeicher bezeichnet)
mit einem definierten Satz an Abonnenten oder Mitgliedern, der Quell-Speichermanager 414 verantwortlich
für (1)
ein Modem und einen optischen Knoten 416 (dies stellt die
Fähigkeit
bereit, über
ein Netzwerk zu kommunizieren) und (2) einen Server, der die Konfigurationen für alle Mitglieder
im vorbestimmten Mitgliedsspeicher (z. B. bestimmt der Quell-Speichermanager 414 die
Hardware- und Softwarekonfiguration für jedes Mitglied, und kann
eine Datenbank mit solchen Konfigurationsinformationen betreiben)
bereitstellt. Der Quell-Speichermanager 414 kann
auch sicherstellen, dass benötigte
Aktualisierungen für
jede Software von oder für
seine Mitglieds-Speichermanager 418 richtig und rechtzeitig
vorgenommen werden. Der Kopfende-Server 402 und der Quell-Speichermanager 414 können als
logisch unterschiedliche Funktionen behandelt werden und können in
unterschiedlichen Maschinen implementiert sein. In einer oder mehreren
Ausführungsformen
können
jedoch der Kopfende-Server 402 und der Quell-Speichermanager 414 innerhalb
eines gemeinsamen Codes einer einzigen Maschine implementiert sein.
-
Jeder
Mitglieds-Speichermanager 418 ist mit einer Set-top Plattform 420 verknüpft, welche
mit dem Fernseher eines Mitglieds/Abonnenten verbunden ist. Der
Mitglieds-Speichermanager 418 und die Set-top Plattform 420 können austauschbar
miteinander mit Bezug auf eine oder mehreren Ausführungsformen
der Erfindung diskutiert werden. Der Mitglieds-Speichermanager 418 ist
derart konfiguriert, dass er unabhängig davon, auf welchem Frequenzband
der Strom empfangen wird, einen Strom von Informationen zum Abonnenten/Mitglied
liefert. Folglich besitzt der Mitglieds-Speichermanager 418 das vom
Kopfende-Server 402 und vom Quell-Speichermanager 414 bereitgestellte
Wissen betreffend des Mappings bzw. des Abbildens zwischen Strömen/Kanälen und
Frequenzbändern
zu einem bestimmten Zeitpunkt. Wenn zum Beispiel der Abonnent ESPN
als gewünschten
Kanal auswählt,
legt der Mitglieds-Speichermanager 418 fest, welches Frequenzband
zu welchem Zeitpunkt gelesen wird, um den gesamten ESPN-Strom zu
empfangen. Im Wesentlichen hebt der Mitglieds-Speichermanager 418 das
Umschalten der Datenströme
von den variierenden Frequenzbändern,
auf welchen der Kopfende-Server 402 den Strom überträgt, auf.
-
Die
Datenströme
können
mit einem speziellen Internetprotokoll- (IP-) Kommunikationssystem über ein
Internetgateway 406 übertragen
werden. Ein Protokoll ist ein Satz standardisierter Regeln für den Austausch
von Informationen zwischen Computern. Protokolle spezifizieren allgemein
das Datenformat, die zeitliche Abfolge, die Sequenzialisierung und
die Fehlerüberprüfung von
Datenübertragungen.
In einer oder mehreren Ausführungsformen
der Erfindung wird ein IP-Kommunikationssystem
(ein IP-Kanal) mit einer Vielzahl von Video-/Audiokanälen (z.
B. das traditionelle Kabelsystem) kombiniert, um einen Kontrollkanal
zu erschaffen. Ein Kontrollkanal kann benutzt werden, um traditionelle
Medien und Internetinformationen (und Dateien) auszustrahlen. Folglich kann
durch den Kontrollkanal Software übertragen werden und auf einem
Computer oder einer Vorrichtung ausgeführt werden, welchem bzw. welcher
es ermöglicht
wurde, die Software auszuführen.
Durch die Kontrolle der Übertragung
aller Informationen über
einen Kontrollkanal kann sich eine gegebene Information/ein gegebenes
Medium zu verschiedenen Zeiten auf verschiedenen Kanälen befinden.
-
Zusätzlich zu
den oben genannten Komponenten können
ein Betriebsmanager 408, ein Speichermanager 410,
und ein Business-Manager 412 benutzt werden. Zum Beispiel
kann der Betriebsmanager 408 einen Zugang zu Diensten betreffend
die Kommunikation und den Status einer Kommunikation bereitstellen,
beispielsweise vorbeugende oder situationsabhängige Diagnoseroutinen, die
Qualität
der Dienstüberwachung,
automatische Warnsignaldienste, Strategien eines Leistungsabfalls
ohne üble
Folgen und Bandbreitenzuordnung. Der Speichermanager 410 kann
die Mittel bereitstellen, um beliebige zusätzliche Anwendungen in dem
Netzwerk zu überwachen
und zu aktualisieren, beispielsweise eine Anwendung, bei der komplexe
Sätze digitaler
Medien und Grafiken, Intelligenz und Interaktivität basierend auf
der Programmiersprache Java und fortgeschrittene Vernetzung in einen
dreidimensionalen Raumkontext (nachfolgend als "MediaSpacesTM Java
Framework" bezeichnet)
integriert, und darin verteilt werden. Der Business-Manager 412 kann
einen Zugang zu Geschäfts-
und Marketingangelegenheiten bereitstellen, welche sich auf anwendungsbasierte
Dienste wie das Erstellen von Benutzungsstatistiken beziehen.
-
5 veranschaulicht
den Informationsfluss zum Mitgliedsabonnenten gemäß einer
oder mehreren Ausführungsformen
der Erfindung. Bei Schritt 500 wird dem Kopfende 402 der
Informationsstrom zur Verfügung
gestellt. Das Kopfende 402 benutzt ein Umschaltschema und
bestimmt das geeignete Kanal-Mapping bei Schritt 502. Bei
Schritt 504 wird der Strom gemäß dem Umschaltschema auf mehreren Frequenzbändern übertragen.
Bei Schritt 506 empfängt
der Mitglieds-Speichermanager 418 die Übertragung und entschlüsselt das
Umschaltschema, um zu bestimmen, wie der Strom von Informationen
erhalten und benutzt werden soll. Bei Schritt 508 wird der
Informationsstrom benutzt. Die Benutzung des Stroms kann beispielsweise
in der Anzeige des Video-/Audiostroms auf einem Fernseher oder in
der Anzeige von Web-Seiten auf einem Computer bestehen. Der Informationsstrom
kann somit über
ein Netzwerk verteilt werden, und vom Endbenutzer, wie beispielsweise
einem Kabelabonnenten oder Computerbenutzer, benutzt werden.
-
Die
Fähigkeit
des Mitglieds-Speichermanagers 418, das Umschaltschema
zu entschlüsseln, kann
in einer Vielzahl von Arten erreicht werden. 6 veranschaulicht
ein Verfahren, welches es gemäß einer
oder mehreren Ausführungsformen
der Erfindung dem Mitglieds-Speichermanager 418 ermöglicht,
einen Umschaltalgorithmus zu entschlüsseln und dem Zuschauer/Endbenutzer
einen kontinuierlichen Datenstrom bereitzustellen. Bei Schritt 600 legt
der Kopfende-Server 402 fest, wie ein bestimmter Strom über verschiedene
Bandbreiten übertragen wird
(z. B. auf welchen Bändern
ein bestimmter Strom zu einem gegebenen Zeitpunkt übertragen wird
(z. B. der zu benutzende Umschaltalgorithmus)). Bei Schritt 602 wird
der Umschaltalgorithmus oder Anweisungen betreffend des Kanals,
der zu einer bestimmten Zeit für
einen bestimmten Strom einzustellen ist, in die Software integriert
(nachfolgend als "Schaltsoftware" bezeichnet). Zum
Beispiel kann die Schaltsoftware in der Form eines objektorientierten Objekts
vorliegen, das sich selbst initialisieren kann und Verfahren enthält, um die
Set-top Plattform 420 zu instruieren, welches Frequenzband
einzustellen ist, um den jeweiligen Strom zu erhalten. In einer oder
mehreren Ausführungsformen
kann ein separates und unterschiedliches Schaltsoftware-Objekt für jeden
Strom erzeugt werden (z. B. ein Kanal oder ein Programm). Die Schaltsoftware
kann in jeder beliebigen Programmiersprache geschrieben sein. In
einer oder mehreren Ausführungen
kann die Schaltsoftware in einer objektorientierten oder einer Skriptsprache geschrieben
sein, einschließlich
aber nicht beschränkt
auf die Programmiersprachen Java, C++, oder Smalltalk. In einer
Implementierung in der Programmiersprache Java kann es dem Mitglieds-Speichermanager 418,
oder einem Fernseher, mit welcher die Set-top Plattform 420 verbunden
ist, ermöglicht
werden, Programme, die in der Programmiersprache Java geschrieben
sind, auszuführen.
-
Bei
Schritt 604 wird die Schaltsoftware zum Mitglieds-Speichermanager 418 übertragen.
In einer oder mehreren Ausführungsformen
wird die Schaltsoftware vor der Übertragung
verschlüsselt. Verschlüsselung
(nachfolgend als Kryptografie bezeichnet) umfasst ein System für das Senden
von Informationen von einem Sender zu einem Empfänger über ein Medium, sodass die
Information "sicher" ist, das heißt, dass
nur der geplante Empfänger
die Informationen gewinnen kann. Während der Verschlüsselung
wird die Information konvertiert, und zwar von einem Format, in
welchem sie ohne zusätzliche
Anstrengungen angeschaut werden kann, in ein verschlüsseltes
Format, in welchem die Informationen nur nach einer Entschlüsselung
angesehen werden kann. Die Schaltsoftware kann mit einer beliebigen Art
von Verschlüsselungsalgorithmus
verschlüsselt sein,
einschließlich
aber nicht beschränkt
auf Kryptografie mit einem öffentlichen
oder einem geheimen Schlüssel,
bei der ein "Schlüssel" benutzt wird, um die
Software zu verschlüsseln,
und der gleiche oder ein unterschiedlicher "Schlüssel" benutzt wird, um
die Software zu entschlüsseln.
Weiterhin kann in einer oder mehreren Ausführungsformen der Verschlüsselungsmechanismus,
sofern gewünscht,
geändert werden.
-
Durch
Verschlüsselung
der Schaltsoftware können
nur Einzelpersonen/Einheiten mit der Entschlüsselungssoftware (und dem geeigneten "Schlüssel") die Schaltsoftware
benutzen. Folglich werden nicht berechtigte Benutzer daran gehindert die
Schaltsoftware, welche das Frequenz-Kanal-Mapping bereitstellt,
zu installieren und zu benutzen, und werden extreme Schwierigkeiten
haben, einen kontinuierlichen Strom an Informationen zu erhalten
(durch die Bestimmung derjeniger Bänder, welche einen Kanal zu
einem gegebenen Zeitpunkt beinhalten). Bei Schritt 606 entschlüsselt der
Mitglieds-Speichermanager 418 die
Schaltsoftware und installiert die Schaltsoftware, um das Anschauen/die Benutzung
eines kontinuierlichen Stroms zu ermöglichen. In einer oder mehreren
Ausführungsformen kann
der Installationsprozess das Laden eines übertragenen Schaltsoftware-Objekts
bei der Set-top Plattform 420 beinhalten. Weiterhin kann
das Schaltsoftware-Objekt durch den Mitglieds-Speichermanager 418 dynamisch
erzeugt werden.
-
In
einer oder mehreren Ausführungsformen sichert
der Mitglieds-Speichermanager 418 die Möglichkeit, mit dem Kopfende-Server 402 zu
kommunizieren. In einer derartigen Ausführungsform kommuniziert der
Kopfende-Server 402 mit einem Mitglieds-Speichermanager 418 um
den Mitglieds-Speichermanager 418 richtig
zu konfigurieren, sodass dieser einen bestimmten Strom kontinuierlich
empfängt
und ihn einstellt. Zum Beispiel kann der Mitglieds-Speichermanager 418 vom
Kopfende-Server 402 einen
bestimmten Strom anfordern. In Antwort darauf kann der Kopfende-Server 402 den
Mitglieds-Speichermanager 418 auffordern, sich zu identifizieren,
indem er für
eine gegebene Set-top Plattform 420 einen Hardware-Identifikator
bereitstellt. Nach dem Erhalt eines richtig autorisierten Hardware-Identifikators
kann der Kopfende-Server 402 die Schaltsoftware verschlüsseln und
dem Mitglieds-Speichermanager 418 die Schaltsoftware übertragen.
Der Mitglieds-Speichermanager 418 kann die Schaltsoftware
entschlüsseln,
die Schaltsoftware installieren, und den gewünschten Strom einstellen. Folglich
verhindert die Kommunikation zwischen dem Mitglieds-Speichermanager 418 und
dem Kopfende-Server 402 nicht berechtigte Benutzer an der
Benutzung der übertragenen
Informationen.
-
In
einer oder mehreren Ausführungsformen kann
der Mitglieds-Speichermanager 418 einen bestimmten Strom
mittels dynamischer Signalisierung einstellen. Bei der dynamischen
Signalisierung besitzt der Mitglieds-Speichermanager 418 das
Wissen betreffend des Umstandes, welcher gegebene Strom mit einer
Kommunikation verknüpft
ist. Darüber
hinaus kann jede Kommunikation ein besonderes Verschlüsselungsschema
verwenden. Deshalb besitzt der Mitglieds-Speichermanager 418 das
Wissen darüber,
was der Verschlüsselung-/Entschlüsselungsschlüssel für eine bestimmte
Kommunikation mit dem Kopfende-Server 402 ist. Zum Beispiel
kann der Kopfende-Server 402 in einer oder mehreren Ausführungsformen
der Erfindung Objekte für
einen bestimmten Strom bereitstellen, und besitzt das Softwareobjekt
des Mitglieds-Speichermanagers das Wissen darüber, mit welchem Objekt im
Kopfende-Server 402 das Objekt des Mitglieds-Speichermanagers
kommuniziert. Das Objekt des Mitglieds-Speichermanagers kann auch
das Wissen dazu bereithalten, welcher Schlüssel zum Verschlüsseln/Entschlüsseln für eine bestimmte
Kommunikation mit dem Kopfende-Server 402 bestimmt
ist. In einer solchen Ausführungsform
ist der unberechtigte Zugang schwieriger, weil ein unberechtigter
Benutzer zu bestimmen hat, mit welchem Objekt im Kopfende-Server 402 der
unberechtigte Benutzer kommuniziert, und weil er auch bestimmen
muss, welchen Schlüssel
für die
Verschlüsselung
der jeweiligen Kommunikation bestimmt ist.
-
Gemäß einer
oder mehreren Ausführungsformen
kann die Schaltsoftware in regelmäßigen oder unregelmäßigen Zeitabständen übertragen
werden. Dies hat zur Folge, dass dann, wenn ein unberechtigter Benutzer
es geschafft hat, den Umschaltalgorithmus/das Umschaltmuster für einen
bestimmten Strom herauszufinden, das neue Umschaltmuster den unberechtigten
Benutzer zwingen wird den Versuch zu unternehmen, das neue Umschaltmuster
zu bestimmen.
-
Wie
oben beschrieben, stellt die Set-top Plattform 420 und
der Mitglieds-Speichermanager 418 die Fähigkeit bereit, zu einer gegebenen
Zeit in einen bestimmten Kanal oder Informationsstrom hineinzuwechseln
oder diesen einzustellen. Folglich gibt es für einen gegebenen Strom keine
spezielle zugewiesene Frequenz. In einer oder mehreren Ausführungsformen
der Erfindung können
jedoch gewisse Ströme
oder Kanäle
auf eine spezielle Frequenz festgelegt sein, und stehen die verbleibenden
Frequenzen des Spektrums für
das Umschalten zur Verfügung.
Zum Beispiel mag eine Kabelgesellschaft allen Nutzern in seinem
Gebiet eine gewisse Teilmenge von Kanälen gratis bereitstellen (z.
B. NBC, ABC, CBS und FOX). Folglich können diese bestimmten Kanäle mit einer
speziellen Frequenz verknüpft
werden. Zusätzliche
Kanäle
oder zusätzliche
Programme der Kabelgesellschaft können dann, wie oben beschrieben,
die Schaltsoftware benutzen, indem die verbleibenden Frequenzen,
welche beim Kommunikationsmedium verfügbar sind, benutzt werden.
Um einen gewünschten
Kanal oder Informationsstrom auszuwählen, kann der Endbenutzer
anstelle einer Zahl, welche zu einer bestimmten Frequenz korrespondiert,
einen virtuellen Kanal auswählen.
Das heißt,
der Endbenutzer wählt
lediglich NBC, ESPN oder PAY-PER-VIEW 1 anstelle von Kanal 4, 28,
oder 75 aus. Alle anderen Transaktionen, einschließlich der
Frequenzumschaltung und der Kommunikation mit dem Kopfende-Server 402 sind
für den
Benutzer transparent.
-
In Übereinstimmung
mit einer oder mehreren der oben beschriebenen Ausführungsformen
kann anstelle einer Verschlüsselung
oder Chiffrierung von Informationen ein Informationsstrom auf verschiedenen
Frequenzbändern übertragen
werden. Daher wird die Information darüber, wo im Spektrum übertragener
Signale ein Strom auftritt, verschlüsselt, anstelle einer Verschlüsselung
des Stromes selbst. Dies bedeutet, dass das Verfahren und die Vorrichtung
für den
kontrollierten Zugang zu Informationen über ein Netzwerk, welches für einen
Endbenutzer transparent ist, im Zusammenspiel mit einem oder mehreren
Ausführungsformen
beschrieben wurde. Die Erfindung wird durch die Ansprüche und
ihren vollen Äquivalenzbereich
definiert.