-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf die Zugangskontrolle
zu digitalem Inhalt, und insbesondere auf Systeme und Verfahren
auf Basis von Zugangsausweisen zum Beschränken des Zugangs zu Datenstrommedien,
bei denen der Zugangsausweis zum Teil auf einer Zeitkomponente basiert.
-
2. Beschreibung des Standes
der Technik
-
Mit
dem Aufkommen des Internets und des World Wide Web (weltweites Netz)
hat sich eine Industrie um die Lieferung von digitalem Inhalt, wie
z. B. (Datenstrom-Medieninhalten) entwickelt. Beispielsweise können Datenstrommedien
für eine
beliebige Anzahl von Zwecken verwendet werden, einschließlich der
Unterhaltung, des Fernunterrichts und zu Unternehmenszwecken. Unterhaltungsunternehmen
streamen (senden mittels Datenstrom) Spielfilme und Sportereignisse,
Fernunterrichtsunternehmen streamen Unterrichtsinhalt, und Unternehmen
streamen Trainingsmaterial.
-
Bei
vielen solcher Anwendungen von Datenstrommedien ist die Kontrolle
des Zugangs zum Inhalt dringend erforderlich. Zum Beispiel können Unterhaltungsunternehmen
Endbenutzern jedes Betrachten eines Elements von Datenstrommedien
in Rechnung stellen, was in der Unterhaltungssprache als "pay-per-view" (zahlen pro Betrachtung)
bezeichnet wird. In ähnlicher
Weise stellen Fernunterrichtsunternehmen den Zugriff auf Online-Unterrichtskurse, und
somit für
den Zugriff auf Datenstrommedien, in Rechnung. Unternehmensinhalt ist
häufig
vertraulich und erfordert somit ebenfalls einen kontrollierten Zugang.
-
Das
Dokument
WO 00/58859 zeigt
ein Verfahren für
die Zugangskontrolle zu einem Inhalt unter Verwendung von Lizenzen.
-
Dementsprechend
wurden Systeme entwickelt, um den Zugang zu Datenstrommedien zu
begrenzen. Der derzeitige Industriestandard für die Beschränkung des
Zugangs zu Datenstrominhalt verwendet den Datenstrom-Medien-Server, der
Endbenutzer authentisiert, bevor der Datenstrom-Medieninhalt bereitgestellt wird. Genauer
enthält
der Datenstrom-Medien-Server
typischerweise ein Zusatzprogramm aus kompiliertem Code der die
Logik für
die Bestimmung enthält,
ob Zugang zu den Datenstrommedien bewilligt wird, oder nicht. Ein
solches Authentisierungs-Zusatzprogramm ist jedoch häufig kompliziert
und schwierig zu entwickeln und zu pflegen. Wenn z. B. der Bedarf
entsteht, die Logik für
die Gewährung
von Zugang zu dem Datenstrom-Medieninhalt zu ändern, ist das Ändern des
kompilierten Zusatzprogramms auf dem Datenstrom-Medien-Server schwierig.
Mit all der Logik, die sich auf dem Datenstrom-Medien-Server befindet,
muss ferner der Datenstrom-Medien-Server direkten Zugang zu einer
Datenbank oder einem verteilten Nachrichtenweiterleitungsdienst
haben. Selbst in Fällen,
in denen ein bestimmter Endbenutzer als autorisiert für den Zugriff
zum Datenstrom-Medieninhalt
bestätigt
wird, ist außerdem
ein solcher Endbenutzer häufig
fähig,
den Autorisierungsprozess zu umgehen, indem er seinen Zugang mit
unautorisierten Endbenutzern teilt. Ein solches Teilen des Zugangs
kann viele Formen annehmen, einschließlich der gemeinsamen Nutzung
von Benutzernamen und Passwörtern
der Verknüpfungen
zum Inhalt. Ähnliche
Probleme bestehen bei Systemen, die für die Kontrolle des Zugangs
zu anderen Formen von digitalem Inhalt verwendet werden. Dementsprechend
besteht Bedarf an einem verbesserten System und einem Verfahren
zur Zugangskontrolle zu digitalem Inhalt, insbesondere Datenstrom-Medieninhalt,
und zur Autorisierung von Endbenutzern.
-
3. Überblick über die
Erfindung
-
Die
vorliegende Erfindung, wie in den unabhängigen Ansprüchen definiert,
befriedigt diese und andere Bedürfnisse
durch Bereitstellen eines Systems und eines Verfahrens zur Zugangskontrolle
zu digitalem Inhalt, wie z. B. Audio-, Visuell-, Video-, Text- und
Datenstrommedien. Ein System und Verfahren gemäß der vorliegenden Erfindung
kontrolliert den Zugang zu Datenstrommedien und enthält einen
Netz-Server, einen Medien-Server und einen Endbenutzerprozessor,
wie z. B. einen Personalcomputer, die mit einem Netzwerk gekoppelt
sind.
-
Im
Betrieb erzeugt der Netz-Server kryptographisch einen Zugangsausweis
in Reaktion auf eine Endbenutzeranfrage nach Zugang zu einer Datei.
Der Zugangsausweis basiert wenigstens teilweise auf einer Zeit bei
oder in der Nähe
des Zeitpunkts, zu dem der Zugangsausweis erzeugt wird. In bestimmten
Ausführungsformen
basiert der Zugangsausweis auf zusätzlichen Informationen, die
z. B. ein Sicherheitszeitintervall oder eine Kennung des Endbenutzers
enthalten.
-
Bevor
ein Medien-Server Zugang zu der angefragten Datei gewährt, erzeugt
der Medien-Server einen Autorisierungs-Zugangsausweis, vorzugsweise
unter Verwendung desselben kryptographischen Algorithmus wie der
Netz-Server. Der
Medien-Server-Autorisierungszugangsausweis basiert wenigstens teilweise
auf einer Zeit bei oder nahe dem Zeitpunkt, zu dem der Medien-Server
die Anfrage für
den Zugang zu der Datei empfängt.
Der Medien-Server bestimmt, ob Zugang zu der Datei zu gewähren ist,
indem er den Zugangsausweis, wie vom Netz-Server erzeugt, mit dem
Zugangsausweis, wie durch den Medien-Server erzeugt, vergleicht.
-
In
einer Ausführungsform
ist dann, wenn die Zugangsausweise nicht übereinstimmen, der Zeitpunkt, zu
dem der Netz-Server den Zugangsausweis erzeugt hat, um mehr als
eine vorgegebene Größe verschieden von
dem Zeitpunkt, zu dem der Medien-Server den Zugangsausweis erzeugt
hat, wobei der Zugangsausweis logisch als "abgelaufen" betrachtet werden kann. Dementsprechend
gewährt
der Medien-Server keinen Zugang zu dem Medieninhalt. Wenn die Zugangsausweise übereinstimmen,
dann wurden die Zugangsausweise innerhalb eines autorisierten Zeitintervalls
erzeugt, wobei der Medien-Server dem Endbenutzer Zugang zu dem angeforderten
Medien inhalt gewährt.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Skizze, die das System gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ist
eine schematische Darstellung der Datenbank gemäß einer Ausführungsform
der vorliegenden Erfindung;
-
3 ist
eine schematische Darstellung des Arbeitsablaufs gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
4 ist
ein Flussdiagramm, das den Prozess des Erzeugens eines Zugangsausweises
gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt;
-
5 ist
ein Flussdiagramm, das den Prozess des Bestimmens, ob Zugang zu
einem Element des Datenstrom-Medieninhalts gewährt werden soll, gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
6 ist
eine Skizze, die das System gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung zeigt;
-
7 ist
eine Skizze, die die Datenbank gemäß einer anderen Ausführungsform
der vorliegenden Erfindung zeigt;
-
8 ist
eine Skizze, die den Arbeitsablauf gemäß einer anderen Ausführungsform
der vorliegenden Erfindung zeigt;
-
9 ist
eine Skizze, die das System gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung zeigt; und
-
10 ist
eine Skizze, die den Arbeitsablauf gemäß einer anderen Ausführungsform
der vorliegenden Erfindung zeigt.
-
GENAUE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Bestimmte
bevorzugte Ausführungsformen
der vorliegenden Erfindung werden im Folgenden mit Bezug auf die
Zeichnungen beschrieben. Obwohl die Erfindung für die Kontrolle des Zugangs
zu Inhalten im Zusammenhang mit der Zugangskontrolle zu Datenstrom-Mediendateien
beschrieben wird, ist klar, dass die vorliegende Erfindung auf alle
Typen von Medien oder Dateien anwendbar ist. Ferner wird ein Fachmann
erkennen, dass, obwohl die hier beschriebenen Ausführungsformen
sich auf Bedarfs-Datenstrommedien beziehen, die vorliegende Ausführungsform
auch auf Direkt-Datenstrommedien
(Live-Datenstrommedien) anwendbar ist.
-
Im
Allgemeinen enthält
das System der vorliegenden Ausführungsform
Endbenutzerprozessoren 102, einen Datenstrom-Medien-Server 104 und
einen Netz-Server 106 mit einer Inhaltsmanagement-(CM)-Datenbank 108,
die alle mit dem Internet gekoppelt sind. Die Endbenutzerprozessoren 102 enthalten
einen Internet-Browser, wie z. B. denjenigen, der von Microsoft
Corp. unter den Namen INTERNET EXPLORER zur Verfügung gestellt wird, oder den,
der von Netscape Communications unter dem Namen NETSCAPE NAVIGATOR
zur Verfügung
gestellt wird, und einen Datenstrom-Medienabspieler, wie z. B. denjenigen,
der von Microsoft Corp. unter dem Namen WINDOWS MEDIA PLAYER zur
Verfügung
gestellt wird, oder denjenigen, der von Real Netwerks Inc. unter
dem Namen REALPLAYER zur Verfügung
gestellt wird. Der Netz-Server 106 stellt eine Internetseite
zur Verfügung,
auf die von den Endbenutzern 102 zugegriffen werden kann.
Die Internetseite enthält
ihrerseits Verknüpfungen,
die von den Endbenutzern 102 aktiviert werden können, um
auf Datenstrom-Medieninhalt zuzugreifen, der sich auf dem Datenstrom-Medien-Server 104 befindet.
-
Es
ist klar, dass die vorliegende Erfindung unter Verwendung einer
beliebigen Anzahl von Computertechniken implementiert werden kann.
Obwohl z. B. die vorliegenden Ausführungsformen sich auf die Gewährung von
Zugang zu Inhalten über
das Internet beziehen, kann die vorliegende Erfindung über irgendein
Computernetzwerk verwendet werden, einschließlich z. B. eines Weitverkehrsnetzes.
In ähnlicher
Weise können die
Endbe nutzerprozessoren 102 irgendwelche Vorrichtungen sein,
die mit dem Netzwerk gekoppelt sein können, einschließlich z.
B. persönlicher
digitaler Assistenten, internetfähiger
Mobiltelephone, Festnetztelephone, die sich in das Netzwerk einwählen, Mobilcomputer,
Personalcomputer, Internetgeräte
und dergleichen. Ferner können
die hier beschriebenen Server irgendeinem Typ entsprechen, auf dem
eine beliebige Software läuft, wobei
die Software-Module,
Objekte und Zusatzprogramme, die hier beschrieben werden, in einer
beliebigen Programmiersprache geschrieben sein können. Schließlich können die
hier beschriebene Datenbank und die Speichervorrichtungen eine beliebige
Speichertechnik verwenden, einschließlich z. B. lokaler Computerspeicher,
netzwerkgebundener Speicher und irgendein bekanntes Speichermedium,
wie z. B. magnetische oder optische Speicher.
-
Eine
beispielhafte Darstellung der CM-Datenbank 108 ist in 2 gezeigt.
Wie gezeigt ist, enthält
die Datenbank 108 Informationen, die universell auf alle
Elemente des Datenstrominhalts anwendbar sind, sowie mehrere Tabellen
von zugehörigen
Daten. Die universellen Informationen 202 enthalten einen
Sicherheitsschlüssel,
ein Sicherheitszeitintervall und den Namen ("Host-Name") für
den Datenstrom-Medien-Server 104, auf dem sich der Inhalt
befindet. Der Sicherheitsschlüssel
und das Sicherheitsintervall werden beim Autorisieren von Endbenutzern 102 für den Zugang
zum Inhalt. verwendet, und werden daher vorzugsweise geheimgehalten
und vom Eigentümer
des Inhalts festgelegt. Der Sicherheitsschlüssel und das Sicherheitsintervall werden
für die
Zugangskontrolle zu allen Inhalten verwendet, obwohl in anderen
Ausführungsformen
jede Inhaltsdatei ihren eigenen Sicherheitsschlüssel und ein zugeordnetes Sicherheitsintervall
aufweist.
-
Die
CM-Datenbank 108 enthält
ferner eine Reihe von Tabellen, die Inhalt oder Datenstrom-Identifizierungsinformationen
enthalten. Genauer enthält
die Datenstrom-Tabelle 204 einen Datensatz für jedes
Element des Datenstrom-Inhalts, wie durch eine eindeutige Datenstromkennung
(ID) identifiziert. Ferner enthält
jeder Datensatz: die Datenstromeinzelheiten, die die Inhaltsdatei
beschreiben, einschließlich
z. B. des Erzeugungsdatums der Inhaltsdatei, einer Beschreibung
der Datei, einer Identifizierung, ob der Inhalt Audiomaterial und/oder
Videomaterial ist, der Plattform, auf die sich der Inhalt bezieht,
des Datums, zu dem der Inhalt zuletzt modifiziert wurde, irgendeines Codierer-Decodierers,
der zum Betrachten des Inhalts erforderlich ist, der Länge und
der Größe des Inhalts,
des Ablaufdatums (falls vorhanden) des Inhalts, des Datenstromtyps,
wie z. B. .asf oder-.rm, des Titels des Inhalts, des Autors des
Inhalts, des Status des Inhalts, eines Urheberrechtshinweises für den Inhalt,
der Bitrate des Inhalts und dergleichen. Jeder Datensatz enthält ferner:
den Vorspann, der zum Erzeugen einer Verknüpfung zum Medien-Server 104 verwendet
wird ("URL-Vorspann"); und den Namen
der Inhaltsdatei ("Dateiname"), wie auf dem Datenstrom-Medien-Server 104 gespeichert.
Es ist zu beachten, dass der Dateiname auf irgendeinen aktuellen
Pfad in einem Speicher zeigen kann, der mit einem Datenstrom-Medien-Server 104 für Bedarfsinhalt
gekoppelt ist, oder der Dateiname kann auf eine Parallelbezeichnung,
einen Anschluss oder einen Kanal für einen Direktdatenstrom verweisen.
-
Die
Datenbank 108 enthält
ferner Tabellen, die "Abspiellisten"-Informationen enthalten.
Eine Client-Abspielliste ist im Allgemeinen eine Gruppe von einer
oder mehreren Inhaltsdateien, die logisch für den Zweck der Verfügbarmachung
als Gruppe zugeordnet sind. Jede Inhaltsdatei, die als Teil einer
Abspielliste identifiziert ist, kann auch individuell verfügbar gemacht
werden. Solche Abspiellisten-Informationen sind innerhalb der Abspiellisten-Tabelle 208 und
der Abspiellisten-Datenstromtabelle 210 enthalten. Im Allgemeinen enthält die Abspiellisten-Tabelle 208 Datensätze, die
jede Abspielliste identifizieren, wie durch eine Abspiellisten-ID
identifiziert. Jeder Datensatz enthält ferner Abspiellisten-Einzelheiten,
die z. B. das Abspiellistenformat (wie z. B. Windows Media Player
oder RealPlayer), die Abspiellistenbeschreibung, den Abspiellistennamen und
dergleichen sowie die Autorisierte-Benutzer-Gruppe-ID für die Abspielliste enthalten.
-
Die
Autorisierte-Benutzer-Gruppe-ID entspricht einer Gruppe von Endbenutzern 102,
die autorisiert sind, die bestimmte Abspielliste zu betrachten.
Genauer enthält
die Datenbank 108 ferner eine Autorisierte-Benutzer-Tabelle 206,
die jeden Endbenutzer 102, wie durch eine eindeutige Endbenutzer-ID
identifiziert, mit einer oder mehreren Autorisierte-Benutzer-Gruppe-IDs
in Beziehung setzt. Damit ein Endbenutzer 102 eine Abspielliste
betrachten kann, muss der Endbenutzer 102 als Teil der
Autorisierte-Benutzer-Gruppe-ID
für diese Inhaltsdatei
identifiziert werden. In bestimmten anderen Ausfüh rungsformen wird keine Autorisierte-Gruppe-ID verwendet,
während
in anderen alternativen Ausführungsformen
jeder Inhaltsdatei eine Autorisierte-Gruppe-ID zugeordnet ist.
-
Die
Abspiellisten-Datenstrom-Tabelle 201 enthält Datensätze, die
jede Abspielliste, wie durch die Abspielliste-ID identifiziert,
mit den Bestandteil-Inhaltsdateien,
wie durch die Datenstrom-ID identifiziert, in Beziehung setzt. Jeder
Datensatz enthält
ferner die Informationen, die die Reihenfolge jeder Inhaltsdatei
in der Abspielliste anzeigen ("Sortierungsreihenfolge").
-
Nach
Beschreibung der in der vorliegenden Ausführungsform verwendeten Komponenten
wird im Folgenden der Prozess der Zugangskontrolle zu Datenstrom-Medieninhalt
beschrieben. Im Überblick
erzeugt eine auf dem Netz-Server 106 angeordnete Autorisierungs-Softwarekomponente
einen Hash-Wert oder einen "Zugangsausweis" auf der Grundlage
von Öffentlichschlüssel-Informationen,
Privatschlüssel-Informationen und
der aktuellen Zeit. Der öffentliche
Schlüssel
ist eine eindeutige Kennung für
den Datenstrominhalt, der vom Endbenutzer 102 angefordert
wird, und die Benutzer-ID des Endbenutzers. Der private Schlüssel enthält einen Sicherheitsschlüssel und
ein Sicherheitszeitintervall, die vom Eigentümer des Inhalts festgelegt
worden sind.
-
Der
Datenstrom-Medien-Server 104, auf dem sich der angeforderte
Inhalt befindet, empfängt
die Datenstromanfrage, die den öffentlichen
Schlüssel
und den Zugangsausweis, wie vom Netz-Server 106 erzeugt, enthält. Der
Datenstrom-Medien-Server 104 fährt fort und verwendet lokal
gespeicherte Privatschlüsselinformationen,
um seine eigene Version des Zugangsausweises zu erzeugen. Der Datenstrom-Medien-Server 104 verweigert
oder gewährt
Zugang zu dem angeforderten Datenstrom-Medieninhalt auf der Grundlage
eines Vergleichs der Zugangsausweise, wie durch den Datenstrom-Medien-Server 104 und
den Netz-Server 106 erzeugt.
-
Der
Prozess der Zugangskontrolle wird im Folgenden mit Bezug auf das
Ablaufdiagramm der 3 und die Flussdiagramme der 4 und 5 genauer
beschrieben. Im vorliegenden Beispiel fordert der Endbenutzer 102 Zugang
zu einer individuellen Datenstrom-Medien-Inhaltsdatei. Anfangs stellt
der Netz-Server 106 eine Internetseite zur Verfügung, die
den Endbenutzer auffordert, sich an einer Autorisierungsanwendung anzumelden,
und dem Endbenutzer die Option des Betrachtens bestimmter Datenstrommedien
präsentiert. Schritt 302.
Zum Beispiel kann eine solche Seite ein Formular enthalten, das
den Endbenutzer auffordert, eine von mehreren Inhaltsdateien für die Betrachtung
auszuwählen,
von denen jede ihre eigene Datenstromanforderungsverknüpfung aufweist,
seine Endbenutzer-ID, die der Eigentümer des Inhalts im Voraus dem
Endbenutzer zugewiesen und zur Verfügung gestellt hat) bereitzustellen
und eine Kreditkartennummer bereitzustellen, so dass dem Endbenutzer
der Zugang zum ausgewählten
Inhalt in Rechnung gestellt werden kann. In einer alternativen Ausführungsform
wird der Endbenutzer beim Eigentümer
des Inhalts im Voraus registriert durch Bereitstellen der Endbenutzer-Kontaktinformationen
und Abrechnungsinformationen, die der Eigentümer in einer Tabelle in der
Datenbank zusammen mit der zugewiesenen Endbenutzer-ID speichert.
-
In
Reaktion auf die Internetseite stellt der Endbenutzer die Benutzer-ID
des Endbenutzers zur Verfügung
und aktiviert eine Verknüpfung,
um sich somit an der Autorisierungsanwendung anzumelden und Zugang zu
der bestimmten Datenstrom-Medien-Inhaltsdatei, die der Verknüpfung zugeordnet
ist, anzufordern. Schritt 304. Eine beispielhafte Datenstromanfrage,
in der die Datenstrom-ID durch "123456" repräsentiert
wird, ist Folgende:
<a
href http://Webserver.company.com/getstream.asp?ID=123456>
-
In
der vorliegenden Ausführungsform
ist die Autorisierungsanwendung eine ".dll"-Softwarekomponente,
die sich auf dem Netz-Server 106 befindet. Fachleute werden
jedoch erkennen, dass eine beliebige andere Programmiersprache oder
Technik, wie z. B. eine Aktivserverseite (ASP) oder ein Servlet,
verwendet werden können,
um die hier beschriebene Funktion zu implementieren. Ungeachtet
der genauen Programmierungstechnik läuft die Authentisierungsanwendung
vorzugsweise auf dem Netz-Server 106, um irgendwelche Verarbeitungsengstellen
beim Endbenutzerprozessor 102 zu lindern.
-
Sobald
der Endbenutzer sich an der Authentisierungsanwendung anmeldet und
der Netz-Server 106 die Datenstromanfrage und die Endbenutzer-ID
vom Endbenutzer empfängt,
fährt der
Netz-Server 106 fort, indem er dynamisch den Authentisierungszugangsausweis
erzeugt und dynamisch eine Verknüpfung
zur ausgewählten
Inhaltsdatei erzeugt. Genauer gibt der Netz-Server 106 unter der Kontrolle
der Authentisierungsanwendung eine Anfrage an die Datenbank 108 nach
dem privaten Schlüssel
für die
Verwendung bei der Erzeugung des Autorisierungszugangsausweises
aus. Schritt 306. Der Netz-Server 106 gibt eine
Datenbankabfrage aus, um aus der CM-Datenbank 108 den privaten
Schlüssel
abzufragen, der den Sicherheitsschlüssel und das Sicherheitsintervall,
die der angeforderten Inhaltsdatei zugeordnet sind, umfasst. In
Reaktion hierauf gibt die CM-Datenbank 108 den privaten
Schlüssel
an den Netz-Server 106 zurück. Schritt 308.
-
Nach
Erhalt des privaten Schlüssels
von der Datenbank 108 erzeugt der Netz-Server 106 den
Zugangsausweis. Schritt 310. Wie mit Bezug auf 4 vollständiger beschrieben
worden ist, nutzt der Netz-Server 106 den privaten Schlüssel, die
Datenstrom-ID, die Endbenutzer-ID, die aktuelle Zeit und einen Hash-Algorithmus,
um den Zugangsausweis zu erzeugen. In der vorliegenden Ausführungsform
kann der Netz-Server 106 die Datenstrom-ID verwenden, um
den Zugangsausweis zu erzeugen, da die Datenstrom-ID des angeforderten
Inhalts in der Datenstromanforderungsverknüpfung enthalten ist, die vom
Endbenutzer im Schritt 304 aktiviert wird. In alternativen
Ausführungsformen
enthält
jedoch die vom Endbenutzer bereitgestellte Datenstromanforderung
andere eindeutige Identifizierungsinformationen als die Datenstrom-ID,
wie z. B. den Titel, den Autor und/oder den Dateinamen des Inhalts.
In einer solchen Ausführungsform
durchsucht der Netz-Server 106 die Datenstrom-Tabelle 204 und
erlangt die Datenstrom-ID auf der Grundlage der in der Datenstromanfrage
enthaltenen Identifizierungsinformationen. In einer weiteren alternativen
Ausführungsform
enthält
die Datenstromanfrage eine andere eindeutige Kennung als die Datenstrom-ID,
wie z. B. den Dateinamen oder den Pfad, die das System verwendet,
um den Zugangsausweis zu erzeugen.
-
Sobald
der Zugangsausweis erzeugt worden ist, erzeugt der Netz-Server 106 die
Verknüpfung
zum angeforderten Inhalt auf dem Medien-Server 104. Genauer
bewirkt der Medienabspieler, der sich beim Endbenutzerprozessor 102 befindet,
auf der Grundlage der oben gezeigten erläuternden Datenstromanforderung einen
Aufruf von "webserver.company.com" (d. h. dem Netz-Server 106),
der das Programm "getstream.asp" ausführt, um
dynamisch die Verknüpfung
zum Medien-Server 104 zu erzeugen. Schritt 312.
Fachleute werden erkennen, dass, obwohl die Anwendung "getstream" eine Aktivserverseite-(ASP)-Erweiterung
hat, diese nicht unbedingt ASP-Techniken
verwenden muss. Vielmehr kann eine beliebige Programmier- oder Skript-Sprache oder
-Technik, wie z. B. eine ".dll"-Komponente, verwendet
werden, um die gewünschte
Funktion zur Verfügung
zu stellen. Wie bei der Authentisierungsanwendung läuft jedoch
das Programm vorzugsweise auf der Server-Seite, um somit irgendwelche
Verarbeitungsengstellen beim Endbenutzerprozessor 102 zu
lindern. Das Programm "getstream.asp" arbeitet so, dass
es den Netz-Server 106 veranlasst, einen Aufruf der CM-Datenbank 108 durchzuführen, um
die Daten abzurufen, die zum dynamischen Erzeugen der Verknüpfung zum Medien-Server 104 erforderlich
sind. Genauer ruft der Netz-Server 106 den Host-Namen aus
der Universalinformationstabelle 202 und den URL-Vorspann
und den Dateinamen aus der Datenstromtabelle 204 ab. Das Programm "getstream.asp" hängt ferner
die Datenstrom-ID, den Zugangsausweis und die Endbenutzer-ID an das
Ende der Verknüpfung
an. Der Netz-Server 106 gibt anschließend die Verknüpfung an
den Medienabspieler beim Endbenutzerprozessor 102 zurück. Schritt 314.
-
Eine
erläuternde
Verknüpfung
zu der Mediendatei ist wie folgt beschaffen, wobei: der URL-Vorspann mittels "mms://" angefordert wird;
der Hostname durch "mediasrver.company.com" repräsentiert
wird; der Dateiname "stream1.asf" repräsentiert
wird, die Datenstrom-ID des angeforderten Inhaltselements durch "123456" repräsentiert
wird; der Zugangsausweis durch "uvw123xyz" repräsentiert
wird; und die Endbenutzer-ID durch "abc123def" repräsentiert wird.
<REF href="mms://mediaserver.company.com/stream1.asf?ID=123456& TICKET=uvw123xyz&USER_ID=abc123def">
-
Sobald
die Verknüpfung
empfangen worden ist, fährt
der Endbenutzerprozessor 102 damit fort, den Datenstrommedieninhalt
anzufordern. Schritt 316. Genauer bewirkt der auf dem Endbenutzerprozessor 102 befindliche
Medie nabspieler einen Aufruf von "mediaserver.company.com" (d. h. des Datenstrom-Medien-Servers 104),
wie in der Verknüpfung
identifiziert ist. Als Teil des Aufrufs liefert der Medienabspieler
dem Datenstrom-Medien-Server 104 die Kopie der angeforderten
Inhalts-Datenstrom-ID, den vom Netz-Server 106 erzeugten
Zugangsausweis und die Endbenutzer-ID.
-
Sobald
die Verknüpfung
empfangen worden ist, die die Datenstrom-ID, die Endbenutzer-ID
und den Zugangsausweis enthält,
fährt der
Datenstrom-Medien-Server 104 fort,
um zu bestimmen, ob dem Endbenutzer Zugang zum angeforderten Inhalt
zu gewähren
ist, oder nicht. Schritt 318. Wie im Folgenden mit Bezug
auf 5 genauer beschrieben wird, bestimmt der Datenstrom-Medien-Server 104,
ob Zugang zu gewähren
ist, oder nicht, durch unabhängiges
Erzeugen eines Zugangsausweises auf der Grundlage der lokal gespeicherten Privatschlüsselinformationen
und der Datenstrom-ID sowie der Endbenutzer-ID, die in der Verknüpfung enthalten
sind. Wenn der vom Datenstrom-Medien-Server 104 erzeugte
Zugangsausweis mit dem Zugangsausweis übereinstimmt, wie er vom Netz-Server 106 erzeugt
worden ist, liefert der Datenstrom-Medien-Server 104 im
allgemeinen den angeforderten Datenstrom-Medieninhalt an den Endbenutzerprozessor 102.
Schritt 320.
-
Der
Prozess des Erzeugens des Zugangsausweises durch den Netz-Server 106 wird
im Folgenden mit Bezug auf 4 genauer
beschrieben. Wie oben erwähnt
worden ist, wird der Zugangsausweiserzeugungsprozess vorzugsweise
von einem Autorisierungssoftware-Zusatzprogramm ausgeführt, das
sich auf dem Netz-Server 106 befindet. In der vorliegenden
Ausführungsform
beginnt der Prozess damit, dass der Netz-Server 106 die
Datenstromanfrage empfängt,
welche die Datenstrom-ID und die Endbenutzer-ID enthält. Schritt 402.
Der Netz-Server 106 fährt
anschließend
damit fort, auf die Datenbank 108 zuzugreifen, um die Privatschlüsselinformationen
abzurufen, die der angeforderten Datenstrom-ID zugeordnet sind.
Schritt 406. Solche Privatschlüsselinformationen enthalten
den universellen Sicherheitsschlüssel
und das Sicherheitsintervall. In einer alternativen Ausführungsform
weist jeder Datenstrom seinen eigenen Sicherheitsschlüssel und
sein eigenes Sicherheitsintervall auf, die als Felder in der Datenstromtabelle 204 gespeichert
sind, die der Netz-Server 106 auf der Grundlage der in
der Datenstromanfra ge enthaltenen Datenstrom-ID abfragt.
-
Wie
oben erwähnt
worden ist, verwendet der Netz-Server
106 ferner die aktuelle
Zeit, um den Zugangsausweis zu erzeugen. Genauer berechnet der Netz-Server
106 die
aktuelle Zeit und rundet die Zeit auf das nächste Vielfache des Sicherheitsintervalls
ab. Schritt
410. Die vorliegende Ausführungsform nutzt die koordinierte
Weltzeit (UTCE) in Sekunden, wie sie durch die Standardbibliotheksfunktion "time()" der Programmiersprache
C erzeugt wird. Ein beispielhafter Perl-Programmiercode zum Erzeugen
der Zeit abgerundet auf das nächste
Vielfache des Sicherheitsintervalls (repräsentiert durch die variable "$time") geschieht wie folgt, wobei
die variable "$interval" dem Sicherheitsintervall
entspricht, welches gleich 15 Minuten ist.
-
Wenn
beispielsweise die aktuelle Zeit der 31. Mai 2000 um 2:16:07 pm,
Zentralzeit, war, gibt die Funktion "time()" einen Wert etwa "959800567" zurück.
Das Abrunden dieses UTC-Wertes auf das nächste 15-Minuten-Intervall liefert
einen Wert von etwa "959800500", was eine Zeit am
31. Mai 2000 um 2:15:00 pm, Zentralzeit, ergibt.
-
Es
ist zu beachten, dass der vorangehende beispielhafte Code modifiziert
sein kann und immer noch in den Umfang der vorliegenden Erfindung
fällt.
Zum Beispiel muss das Sicherheitsintervall nicht in Minuten gemessen
werden; das Intervall kann in anderen Zeiteinheiten dargestellt
sein, solange eine geeignete Umsetzung durchgeführt wird, so dass das Intervall
in der Einheitszeit dargestellt wird, die von der Funktion "time()" verwendet wird.
Ferner beruht in alternativen Ausführungsformen die aktuelle Zeit
auf einem anderen Standard als der UTC. In einer solchen Ausführungsform
ist der Zeitstandard für
den Netz-Server 106 und den Datenstrom-Medien-Server 104 einzigartig.
Es ist ferner klar, dass es in den Umfang der vorliegenden Erfindung
fällt,
wenn der Endbenutzerprozessor 102 die Zeit berechnet und den
Wert zur Verwendung bei der Erzeugung des Autorisierungsausweises
an den Netz-Server 106 weitergibt. In weiteren alternativen
Ausführungsformen
wird das Sicherheitsintervall so gewählt, dass die Standardzeit
einfach auf eine gewünschte
Anzahl von Ziffern gestutzt wird.
-
Sobald
der Netz-Server 106 die Eingabewerte des Hash-Algorithmus – die Öffentlichschlüsselinformationen,
die Privatschlüsselinformationen
und den Zeitwert – eingegeben
hat, erzeugt der Netz-Server 106 die Eingabefolge für den Hash-Algorithmus.
Schritt 414. In der vorliegenden Ausführungsform ist der Hash-Algorithmus
der "MD5"-Nachrichten-Kurzfassungs-Algorithmus.
Auch in der vorliegenden Ausführungsform
nutzen der Medien-Server 104 und der Netz-Server 106 denselben
als Algorithmus.
-
Es
ist zu beachten, dass es in den Umfang der vorliegenden Erfindung
fällt,
im Wesentlichen irgendeinen Hash-Algorithmus oder kryptographischen
Algorithmus zu verwenden, um den Zugangsausweis zu erzeugen. Ferner
erzeugen die zwei Server, die die Zugangsausweise erzeugen (in der
vorangehenden Ausführungsform
der Netz-Server 106 und der Datenstrom-Medien-Server 104), vorzugsweise
denselben Zugangsausweis auf der Grundlage derselben Eingaben oder
Zugangsausweise innerhalb einer bekannten Abweichung voneinander
auf der Grundlage derselben Eingaben. In alternativen Ausführungsformen
wird einer von mehreren möglichen
Algorithmen verwendet, um die Sicherheit zu erhöhen. Beispielsweise verwenden
solche Ausführungsformen
einen zufällig
ausgewählten
Algorithmus aus mehreren möglichen
Algorithmen, oder können
einen aus mehreren Algorithmen auf der Grundlage des angeforderten
Inhalts, des Datums oder der Zeit der Anfrage, des bestimmten Endbenutzers,
der den Inhalt besitzenden Einrichtung und dergleichen auswählen. In
solchen Ausführungsformen
gibt das System an den Medien-Server einen Hinweis auf den vom Netz-Server verwendeten
Algorithmus, oder der Medien-Server enthält einen Logik, die ihn veranlasst,
denselben Algorithmus auszuwählen
und zu verwenden, der vom Netz-Server verwendet worden ist.
-
Eine
beliebige Anordnung von Eingabewerten kann als Eingabefolge verwendet
werden, solange die Eingabefolge für den bestimmten Hash-Algorithmus, der
verwendet wird, gültig
ist, und solange der Datenstrom- Medien-Server 104 die
Anordnung der Eingabefolge kennt. In der vorliegenden Ausführungsform
wird die folgende vorgegebene Anordnung verwendet, wobei "T" eine Ziffer des Zeitwertes repräsentiert, "K" ein alphanumerisches Zeichen des Sicherheitsschlüssels repräsentiert, "S" eine Ziffer der Datenstrom-ID repräsentiert
(einschließlich
irgendwelcher notwendiger vorangehender Füllzeichen), und "U" ein alphanumerisches Zeichen der Endbenutzer-ID
repräsentiert
(einschließlich
irgendwelcher notwendiger führender
Füllzeichen).
TTTTTTTTTTKKKKKKKKKKSSSSSSSSSSUUUUUUUUUU
-
In
alternativen Ausführungsformen
können
die Eingabefolgen unterschiedliche Längen aufweisen.
-
Sobald
die Hash-Algorithmus-Eingabefolge erzeugt worden ist, wendet der
Netz-Server 106 den Hash-Algorithmus auf die Eingabefolge
an, um somit den Zugangsausweis zu erzeugen. Schritt 418.
-
Der
Prozess des Datenstrom-Medien-Servers 104, der bestimmt,
ob Zugang zum angeforderten Inhaltsdatenstrom zu gewähren ist,
wird im Folgenden mit Bezug auf 5 beschrieben.
Anfangs ist zu beachten, dass, obwohl nicht erforderlich, der Medien-Server
der vorliegenden Ausführungsform 104 drei
Authentisierungszugangsausweise, jeweils auf der Grundlage eines
anderen Zeitwertes, für
die Verwendung bei der Bestimmung, ob Zugang zu gewähren ist,
erzeugt. Wie bei der Netz-Server-Funktion ist ferner vorzugsweise der
Prozess des Bestimmens, ob Zugang zu gewähren. ist, in einer Autorisierungs-Softwarekomponente
implementiert, die sich auf den Medien-Server 104 befindet.
-
Beim
Bestimmen, ob Zugang zu gewähren
ist, empfängt
der Datenstrom-Medien-Server 104 zuerst die
Datenstromanfrage, einschließlich
der Datenstrom-ID, der Endbenutzer-ID und des Zugangsausweises, vom
Medienabspieler, der sich am Endbenutzerprozessor 102 befindet.
Schritt 502. Sobald die Datenstromanfrage empfangen worden
ist, erzeugt der Medien-Server 104 die
Eingabefolge für
den Hash-Algorithmus. Diesbezüglich
ruft der Medien-Server 104 aus dem lokalen Speicher die
Privatschlüsselinformationen
ab, d. h. den Sicherheitsschlüssel
und das Sicherheitsintervall. Schritt 506. Der Medien-Server 104 speichert
vorzugsweise die Privatschlüsselinformationen
im lokalen Speicher, jedoch speichert in anderen Ausführungsformen der
Medien-Server 104 die Informationen in einem aktiven Verzeichnisbaum,
auf dem z. B. mittels des Leichtgewicht-Verzeichnis-Zugriffsprotokolls
zugegriffen wird, das von Microsoft Corporation bereitgestellt wird,
oder in einer entfernten Datenbank. In einer weiteren alternativen
Ausführungsform
ruft der Medien-Server 104 die Privatschlüsselinformationen
ab, indem er über
eine Netzwerkverbindung, wie z. B. ein Nahverkehrsnetz (LAN), auf
die Datenbank 108 zugreift.
-
Wie
der Netz-Server 106 berechnet auch der Medienserver 104 die
aktuelle Zeit und rundet die Zeit auf das nächste Vielfache des Sicherheitsintervalls
ab (d. h. auf einen vorangehenden Zeitpunkt). Schritt 510. Anders
als der Netz-Server 106 berechnet jedoch der Datenstrom-Medien-Server 104 auch
ein zweites Zeitintervall gleich der aktuellen Zeit, abgerundet
auf das übernächste Vielfache
des Sicherheitsintervalls unterhalb (d. h. früher als) des ersten Zeitwertes,
der vom Medien-Server 104 berechnet worden ist. Schritt 510.
Der Medien-Server 104 berechnet ferner einen dritten Zeitwert
gleich der aktuellen Zeit abgerundet auf (d. h. zeitlich früher) das
nächste
Vielfache des Sicherheitsintervalls. Schritt 510.
-
Der
Medien-Server 104 verwendet anschließend die abgerufenen Privatschlüsselinformationen,
die empfangenen Öffentlichschlüsselinformationen
und die drei Zeitwerte, um drei entsprechende Hash-Eingabefolgen
zu erzeugen. Schritt 514. Der Medien-Server 104 wendet
anschließend
jede der drei Eingabefolgen auf den Hash-Algorithmus an, um somit
drei Zugangsausweise zu erzeugen. Schritt 518.
-
Sobald
die Zugangsausweise unabhängig
erzeugt worden sind, bestimmt der Medien-Server 104, ob irgendeiner
der Zugangsausweise, die vom Medien-Server 104 erzeugt worden sind,
mit den Zugangsausweis übereinstimmt,
der vom Netz-Server 106 erzeugt worden ist. Schritt 522.
Wenn die Zugangsausweise nicht übereinstimmen,
dann ist es wahrscheinlich, dass die Datenstromanfrage nicht authentisch
ist und/oder abgelaufen ist (d. h. vom Medien-Server 104 zu
einem Zeitpunkt außerhalb
des Sicherheitsintervalls, gemessen ab dem Zeitpunkt der Benutzeranfrage,
erzeugt wurde). Dement sprechend verweigert der Medien-Server 104 den
Zugang zum angeforderten Inhalt. Schritt 526.
-
Wenn
die Tickets übereinstimmen,
ist es wahrscheinlich, dass die Datenstromanfrage sowohl authentisch
ist als auch innerhalb des Sicherheitsintervalls liegt. Vor der
Bewilligung des Zugangs bestimmt jedoch der Medien-Server 104 zuerst,
ob der Endbenutzer bereits Zugang zum gleichen Inhalt angefordert
hat und diesen betrachtet hat. Schritt 530. Der Medien-Server 104 hält vorzugsweise
in einem lokalen Speicher eine Liste von Endbenutzer-IDs und entsprechender
Datenstrom-IDs, auf die die Endbenutzer bereits Zugang erhalten
haben. Um zu bestimmen, ob der Endbenutzer bereits den angeforderten
Inhalt betrachtet hat, greift der Medien-Server 104 auf
einen Speicher zu, um zu bestimmen, ob die empfangene Endbenutzer-ID
und die Datenstrom-ID bereits vorher gespeichert worden sind. Wenn
die Endbenutzer-ID und die Datenstrom-ID bereits vorher gespeichert
worden sind, dann wird dem Endbenutzer der Zugang zu dem angeforderten
Inhalt verweigert. Schritt 530.
-
Wenn
die empfangene Endbenutzer-ID und die Datenstrom-ID vorher noch
nicht gespeichert worden sind, fährt
der Medien-Server 104 damit fort, die Endbenutzer-ID und
die Datenstrom-ID im Speicher zu speichern (Schritt 534),
und gewährt
dem Endbenutzer Zugang zum Inhalt. Schritt 538. Somit bietet
die Speicherung der Endbenutzer-ID und der Datenstrom-ID eine zusätzliche
optionale Sicherheitsschutzebene, die Endbenutzer daran hindert,
die auf den angeforderten Inhalt verweisende Verknüpfung mit
anderen zu teilen.
-
Es
ist klar, dass die Verwendung von drei Zugangsausweisen bevorzugt
wird, um eine Mangel an Synchronisation zwischen der lokalen Zeit
des Netz-Servers 106 und der lokalen Zeit des Medien-Servers 104 zu berücksichtigen.
Unter bestimmten Umständen
wird ferner der erste Zugangsausweis, der vom Medien-Server 104 erzeugt
wird (d. h. auf der Grundlage der aktuellen Zeit abgerundet auf
das nächste
Vielfache des Sicherheitsintervalls), nicht mit dem ersten Zugangsausweis übereinstimmen,
der vom Netz-Server 106 erzeugt
wird, selbst wenn der Endbenutzer autorisiert ist. Wenn z. B. ein
Sicherheitsintervall von 15 Minuten gegeben ist, werden dann, wenn der
Netz-Server 106 einen Zugangsausweis um 12:14:00 pm erzeugt
und der Medien-Server 104 seinen ersten Zugangsausweis
um 12:16:00 pm erzeugt, am selben Tag in der selben Zeitzone, die Zugangsausweise
nicht übereinstimmen,
selbst wenn die Anfrage innerhalb des Sicherheitsintervalls stattfindet.
Der Netz-Server erzeugt den Zugangsausweis auf der Grundlage des
Zeitwertes entsprechend 12:00:00 pm, während der Medien-Server 104 einen
Zugangsausweis auf der Grundlage eines Zeitwertes entsprechend 12:15:00
pm erzeugt. Dementsprechend erzeugt in der vorliegenden Ausführungsform
der Medien-Server 104 den zweiten Zugangsausweis auf der
Grundlage des dann aktuellen Zeitpunktes abgerundet auf das übernächste Vielfache
des Sicherheitsintervalls; im vorliegenden Beispiel ein Zeitwert
entsprechend 12:00:00 pm. Somit würde der zweite Zugangsausweis
mit dem Zugangsausweis, wie vom Netz-Server 106 erzeugt, übereinstimmen.
In ähnlicher
Weise ist es möglich,
einem Endbenutzer Zugang zu gewähren,
nachdem das Sicherheitsintervall verstrichen ist. In der vorliegenden
Ausführungsform
sollte daher das Sicherheitsintervall unter Berücksichtigung der Verwendung
mehrerer Zugangsausweise ausgewählt
werden. Der Netz-Server 106 und der
Medien-Server 104 weisen vorzugsweise Uhren auf, die innerhalb
etwa einer Hälfte
des Sicherheitsintervalls synchronisiert sind.
-
Es
ist klar, dass es ebenfalls in den Umfang der vorliegenden Erfindung
fällt,
wenn der Medien-Server 104 ein oder mehrere verschiedene
Zugangsausweise als eine alternative zu den drei Zugangsausweisen
in vorangehenden Ausführungsform
erzeugt. Obwohl ferner die vorangehende Ausführungsform die Zugangsausweise
als gemeinsam parallel erzeugt beschreibt, fällt es in den Umfang der Erfindung,
wenn der Medien-Server 104 die Zugangsausweise seriell
nacheinander erzeugt und/oder vergleicht. Es ist ferner klar, dass die
Zeitwerte in irgendeiner von mehreren Arten erzeugt werden können, einschließlich z.
B. durch einfaches Addieren oder Subtrahieren des Sicherheitsintervalls
vom ersten Zeitwert, der vom Medien-Server 104 berechnet
worden ist.
-
In
einer alternativen Ausführungsform
kann eine weitere Sicherheitsebene vorgesehen sein. Genauer, wenn
der vom Netz-Server 106 erzeugte Zugangsausweis mit einem
der vom Medien-Server 104 erzeugten Zugangsausweise übereinstimmt,
dann fährt
der Medien-Server 104 damit fort, zu bestimmen, ob der
selbe Zugangsausweis bereits vorher erzeugt worden ist. Der Medien-Server 104 pflegt
eine Liste von Zugangsausweisen, für die Zugang gewährt worden
ist. Eine solche Liste repräsentiert
logisch alle "verwendeten" Zugangsausweise.
Wenn der übereinstimmende
Zugangsausweis sich nicht auf der Liste der "verwendeten" Zugangsausweise befindet, dann gewährt der
Medien-Server 104 Zugang und liefert den angeforderten
Inhalt an den Medienabspieler, der sich am Endbenutzerprozessor 102 befindet.
Als Teil der Bewilligung des Zugangs aktualisiert der Medien-Server 104 ferner
die Liste der "verwendeten" Zugangsausweise.
Wenn der übereinstimmende
Zugangsausweis sich auf der Liste der verwendeten Zugangsausweise
befindet, dann verweigert der Medien-Server 104 den Zugang
und liefert eine entsprechende Nachricht an den anfragenden Endbenutzer.
Durch Verfolgen der verwendeten Zugangsausweise verhindert das System,
dass ein autorisierter Endbenutzer die vom Netz-Server 106 empfangene
Datenstromanfrage mit anderen teilt.
-
Es
ist also klar, dass es in den Umfang der vorliegenden Erfindung
fällt,
Fehlerberechnungen bei der Bestimmung, ob Zugang zu gewähren ist,
zu verwenden. Zum Beispiel verwendet eine Fehlerberechnung den Medien-Server 104,
der ein oder mehrere zusätzliche
Zugangsausweise auf der Grundlage des aktuellen Zeitpunkts plus
und/oder minus eines Fehlerintervalls, wie z. B. einer vorgegebenen
Zeitperiode (z. B. 15 Minuten, 30 Minuten und dergleichen), eines
festgelegten Prozentsatzes des anwendbaren Sicherheitsintervalls
(z. B. 50 %, 125 % und dergleichen) oder einer bestimmten anderen
Fehlerberechnung erzeugt. Solche Fehlerberechnungen können als
Alternative zu den zweiten oder dritten Zeitwerten in der vorangehenden
Ausführungsform
oder zusätzlich
hierzu verwendet werden.
-
In
alternativen Ausführungsformen
erzeugen der Netz-Server 106 und der Medien-Server 104 Zugangsausweise
durch Berechnen des Zeitwertes unterschiedlich zur vorangehenden
Ausführungsform.
In einer beispielhaften Ausführungsform
berechnen der Netz-Server 106 und der Medien-Server 104 den
aktuellen Zeitpunkt und runden diesen auf ein Vielfaches eines bestimmten
Intervalls, das nicht das Sicherheitsintervall ist, ab oder auf.
In einer solchen Ausführungsform,
bei der das Sicherheitsintervall 15 Minuten beträgt, erzeugt der
Netz-Server 106 den Zugangsausweis auf der Grundla ge des
aktuellen Zeitpunkts, der auf das nächste Intervall von 5 Minuten
abgerundet worden ist. Der Datenstrom-Medien-Server 104 erzeugt
seinerseits einen Zugangsausweis auf der Grundlage des aktuellen
Zeitpunkts, der auf das gleiche Intervall von 5 Minuten abgerundet
worden ist. Wenn die Zugangsausweise nicht übereinstimmen, fährt der
Medien-Server 104 damit fort, einen Zugangsausweis auf
der Grundlage des Zeitpunkts zu erzeugen, der auf das nächste niedrigere
Intervall abgerundet worden ist. Der Medien-Server fährt damit fort, Zugangsausweise
auf der Grundlage des nächsten
niedrigeren Intervalls für
eine festgelegte Anzahl von Zeitpunkten zu erzeugen, oder bis die
Zugangsausweise des Netz-Servers und des Medien-Servers übereinstimmen. Der Medien-Server 104 erzeugt
vorzugsweise wiederholt neue Zugangsausweise auf der Grundlage von
Zeitintervallen, deren Summe wenigstens das Sicherheitsintervall überspannt.
Im vorliegenden Beispiel erzeugt der Medien-Server 104 wenigstens drei
Zugangsausweise, mit jeweils einem Intervall von 5 Minuten für insgesamt
15 Minuten.
-
Es
klar, dass es in den Umfang der vorliegenden Erfindung fällt, die
Verwendung der Endbenutzer-ID im Autorisierungsprozess vollständig wegzulassen,
oder die Endbenutzer-ID in einer Weise verschieden von der obenbeschriebenen
zu verwenden. In einer alternativen Ausführungsform wird z. B. die Endbenutzer-ID nicht
als Teil der Eingabefolge in den Hash-Algorithmus verwendet. Stattdessen
enthält
die Datenbank 108 ferner Tabellen für die Verfolgung, welche Endbenutzer
Zugang zum Inhalt angefordert haben. Eine solche Ausführungsform
enthält
eine Betrachtende-Benutzer-(Datenstrom)-Tabelle, die Datensätze enthält, die Inhalt, wie durch die
Datenstrom-ID identifiziert, mit Endbenutzern, wie durch die Endbenutzer-IDs
identifiziert, die auf den Inhaltdatenstrom zugegriffen haben oder
diesen betrachtet haben, in Beziehung setzt. Die Ausführungsform
enthält
in ähnlicher
Weise eine Betrachtende-Benutzer-(Abspiellisten)-Tabelle, die Datensätze enthält, die
Abspiellisten, wie durch die Abspiellisten-ID identifiziert, mit
Endbenutzern, wie durch die Endbenutzer-IDs identifiziert, die auf
die Abspiellisten zugegriffen oder diese betrachtet haben, in Beziehung
setzt. Bevor der Autorisierungszugangsausweis erzeugt wird, prüft der Netz-Server
die entsprechende Betrachtende-Benutzer-Tabelle, um zu bestimmen,
ob der selbe Endbenutzer Zugang zu einem bestimmten Datenstrom oder
einer bestimmten Abspielliste angefordert hat. In dem Fall, in dem
ein Endbenutzer bereits vorher Zugang angefordert hat, verweigert
der Netz-Server entweder den Zugang oder stellt dem Endbenutzer
eine Internetseite zur Verfügung,
die anzeigt, dass dem Endbenutzer der nachfolgende Zugriff erneut
in Rechnung gestellt wird. Die Tabellen werden automatisch nach
einer Zeitperiode gelöscht,
wie z. B. nach dem Sicherheitsintervall oder nach einer bestimmten
Periode nach Ablauf desselben.
-
Es
ist klar, dass die vorliegende Erfindung auch in relativ komplexen
Systemen ausgeführt
werden kann, z. B. solchen, in denen ein Dienstanbieter Netz-Server,
Datenstrom-Medien-Server und Abspiellisten-Server im Auftrag seiner
Klienten – den
Eigentümern
des Inhalts – betreibt.
Eine solche Ausführungsform wird
im Folgenden mit Bezug auf die 6–8 beschrieben.
Es ist für
Fachleute klar, dass ein Großteil
der Funktionen der vorliegenden Ausführungsform dieselben sind wie
diejenigen der Ausführungsform
der 3, und daher mit beliebigen derselben Techniken
implementiert werden können.
-
Wie
in 6 gezeigt ist, enthält das System mehrere Komponenten ähnlich denjenigen
der Ausführungsform
der 1, einschließlich
Endbenutzerprozessoren 602, eines oder mehrerer Datenstrom-Medien-Server 604 und
eines oder mehrerer Netz-Server 606, die eine Datenbank 608 enthalten,
wobei alle mit dem Internet oder einem anderen Netzwerk gekoppelt
sind. Außerdem
enthält
das System der vorliegenden Ausführungsform
ferner einen Abspiellisten-Server 610, der ebenfalls vom
Dienstanbieter betrieben wird. Der Netz-Server 606, die
Datenstrom-Medien-Server 604, die Datenbank 608 enthalten,
und der Abspiellisten-Server 610 sind mit dem Netzwerk
des Dienstanbieters verbunden, wie z. B. einem Nahverkehrsnetzwerk
(LAN) oder einem Weitverkehrsnetzwerk (WAN), und dem Internet.
-
Im
Allgemeinen enthält
die Datenbank 608 die gleichen Informationen, die in der
Datenbank der Ausführungsform
der 2 enthalten sind, jedoch sind die Informationen
auf einer Grundlage von Klientenkonto zu Klientenkonto gespeichert.
Wie in 7 gezeigt ist, enthält die Datenbank 608 eine
Kontotabelle 702, die einen Datensatz für jeden Klienten enthält, wie
durch eine Konto-ID identifiziert. Jeder Datensatz enthält ferner: Klientenidentifizierungsinformationen
("Klienteninformation"), wie z. B. Klientenname,
Adresse, Abrechnungsinformationen und dergleichen; eine Angabe,
ob der Klienteninhalt geschützt
ist, oder nicht ("Erlaubt
Geschützt"); den Klientensicherheitsschlüssel ("Sicherheitsschlüssel"); und das Sicherheitsintervall
("Sicherheitsintervall").
-
Wie
bei der Ausführungsform
der 2 enthält
die vorliegende Datenbank 608 ferner eine Datenstromtabelle 704,
die Datenstromidentifizierungsinformationen für jede Inhaltsdatei enthält, wie
z. B. identifiziert durch die Datenstrom-ID, sowie eine Autorisierte-Benutzer-Tabelle 706,
die Endbenutzer-IDs den Autorisierte-Benutzer-Gruppe-IDs zuordnet,
eine Abspiellistentabelle 708, die Abspiellisten mit Identifizierungsinformationen
für jede
Abspielliste enthält,
wie durch die Abspiellisten-ID identifiziert, und eine Abspiellisten-Datenstrom-Tabelle 710,
die die Datenstrom-IDs identifiziert, die einer gegebenen Abspiellisten-ID
zugeordnet sind. Zusätzlich
zu den Informationsfeldern, die in Verbindung mit der Datenbank
der 2 beschrieben worden sind, enthalten die vorliegende
Datenstromtabelle 704 und die Abspiellistentabelle 708 ferner
ein Feld, das die Konto-ID angibt, die jeder Inhaltsdatei bzw. jeder
Abspielliste zugeordnet ist.
-
Die
vorliegende Datenbank 608 enthält ferner eine Datenstrom-Server-Tabelle 712,
die einem Datensatz für
jede Inhaltsdatei enthält,
wie durch die Datenstrom-ID spezifiziert, die den Host-Namen des
bestimmten Datenstrom-Medien-Servers 104 identifiziert,
auf dem sich die Inhaltsdatei befindet. Wie bei der Ausführungsform
der 2 ist der Host-Name der DNS-Name des Medien-Servers 104.
-
Die
Operation der vorliegenden Ausführungsform
wird im Folgenden mit Bezug auf das Arbeitsablaufdiagramm der 8 beschrieben.
Für die
Zwecke des vorliegenden Beispiels fordert der Endbenutzer Zugang zu
einer Abspielliste mit einem Element eines geschützten Inhalts. Anfangs stellt
der Netz-Server 606 eine Internetseite bereit, die den
Endbenutzer auffordert, sich an einer Autorisierungsanwendung anzumelden,
und dem Endbenutzer die Option der Betrachtung bestimmter Datenstrommedien
präsentiert.
Schritt 802. Wie bei der Ausführungsform der 3 kann
die beispielhafte Internetseite ein Formular enthalten, das den
Endbenutzer auffordert, eine bestimmte Inhaltsdatei durch Aktivieren
einer Verknüpfung,
Bereitstellen einer Endbenutzer-ID und Bereitstellen von Abrechnungsinformationen
auszuwählen.
In Reaktion auf die Internetseite stellt der Endbenutzer die Endbenutzer-Benutzer-ID
und Kreditkarteninformationen zur Verfügung und aktiviert die Datenstromanforderungsverknüpfung, um
somit Zugang zu einer bestimmten Datenstrom-Medieninhaltsdatei anzufordern.
Eine beispielhafte Datenstromanforderungsverknüpfung, bei der die Abspiellisten-ID
gleich "789000" ist, ist folgende:
<A href "http://playlistserver.company.com/makeplylist.dll?ID=789000">
-
Wenn
der Endbenutzer die Datenstromanforderungsverknüpfung aktiviert, veranlasst
ein auf dem Endbenutzerprozessor 602 laufendes Programmierskript,
die Datenstromanforderungsverknüpfung
und die Endbenutzer-ID zum Netz-Server 606 zu senden. Schritt 804.
Fachleute werden erkennen, dass das Endbenutzer-Skript in im Wesentlichen
einer beliebigen Programmiersprache implementiert sein kann, einschließlich z.
B. C++, Perl, Visual Basic, Java und dergleichen. In der vorliegenden
Ausführungsform
ist das Skript ein Java-Skript und läuft in Verbindung mit den Internet-Browser
des Endbenutzers.
-
Sobald
der Netz-Server 606 die Datenstromanforderung vom Skript
empfängt,
erzeugt der Netz-Server 606 unter der Anweisung eines Autorisierungssoftware-Zusatzprogramms
den Zugangsausweis. Diesbezüglich
richtet der Netz-Server 606 eine Anfrage an die Datenbank 608 für den privaten
Schlüssel
(in der vorliegenden Ausführungsform
den Sicherheitsschlüssel
und das Sicherheitsintervall, die der angeforderten Abspielliste
zugeordnet sind) zur Verwendung beim Erzeugen des Autorisierungszugangsausweises.
Schritt 806. In Reaktion hierauf gibt die Datenbank 608 den
privaten Schlüssel
an den Netz-Server 606 zurück. Schritt 808.
-
Sobald
der Netz-Server 606 den privaten Schlüssel von der Datenbank 608 erhalten
hat, erzeugt er den Zugangsausweis, wie oben mit Bezug auf 4 beschrieben
worden ist. Er verwendet die Abspiellisten-ID anstelle der im Datenstrom übermittelten
(Ersetzen durch die Abspiellisten-ID in der vorliegenden Ausführungsform).
Schritt 810. Wie hier beschrieben worden ist, wendet der
Netz-Server 606 den privaten Schlüssel, die Datenstrom-ID und die
Endbenutzer-ID sowie die Zeitwerte auf den Hash-Algorithmus an,
um den Zugangsausweis zu erzeugen. Der Netz-Server 606 gibt
dann den Zugangsausweis und die Endbenutzer-ID an den Web-Browser
zurück,
der auf dem Endbenutzerprozessor 602 läuft. Schritt 812.
-
Sobald
der Zugangsausweis empfangen ist, hängt das Skript, das auf dem
Endbenutzerprozessor 602 läuft, die Informationen an das
Ende der Datenstromanforderungsverknüpfung an. Schritt 814.
Eine beispielhafte Verknüpfung,
bei der die Abspiellisten-ID durch "789000" repräsentiert wird, der Zugangsausweis
durch "uvw123xyz" repräsentiert
wird und die Endbenutzer-ID
durch "abc123def" repräsentiert
wird, ist Folgende:
<A
href "http://playlistserver.company.com/makeplaylist?ID=789000& TICKET=uvw123xyzreturn&USER_ID=abc123def">
-
Das
auf dem Endbenutzerprozessor 602 laufende Skript veranlasst
anschließend
einen Aufruf des Abspiellisten-Servers 610, wie in der
Datenstromanforderungsverknüpfung
durch den Host-Namen "playlistserver.company.com" identifiziert ist.
Schritt 816. Dementsprechend wird dem Abspiellisten-Server 810 mit
der Verknüpfung
die Abspiellisten-ID, der Zugangsausweis und die Benutzer-ID zur
Verfügung
gestellt. Unter der Kontrolle des Objekts "makeplaylist.dll" erzeugt der Abspiellisten-Server 610 eine
Umleiterdatei, wie z. B. eine ASX-Datei, bei der der Inhalt sich
in Windows-Media-Format befindet. Schritt 818. Das Programm "makeplaylist" kann unter Verwendung
irgendwelcher einer Vielzahl von Programmen oder Techniken implementiert
werden, einschließlich
z. B. eines ASP. Die Umleiterdatei enthält eine Verknüpfung zum
angeforderten Inhalt zusammen mit dem Zugangsausweis und dem öffentlichen
Schlüssel
d. h. (Datenstrom-ID und Endbenutzer-ID). Um die Umleiterdatei zu
erzeugen, greift der Abspiellisten-Server 610 auf die Datenbank 608 zu,
um die Datenstrom-ID der Inhaltsdatei, die die Abspielliste und
die für
die Verknüpfung
zur Inhaltsdatei notwendigen Informationen umfasst, abzurufen, einschließlich des
Host-Namens, des
URL-Vorspanns und des Dateinamens, die der Datenstrom-ID zugeordnet
sind.
-
In
einer anderen Ausführungsform
wird kein Endbenutzer-Skript verwendet, um den Zugangsausweis an
die Datenstromanforderung anzuhängen.
Wenn der Endbenutzer seine Endbenutzer-ID zur Verfügung stellt und
die Datenstromanforderungsverknüpfung
aktiviert (im Schritt 804), erzeugt stattdessen die Authentisierungsanwendung,
die auf dem Netz-Server 606 läuft, den Zugangsausweis, hängt den
Zugangsausweis und die Endbenutzer-ID an die Datenstromanforderungsverknüpfung an
und veranlasst direkt einen Aufruf des Abspiellisten-Servers 610,
um die Umleiterdatei zu erzeugen. Da der Netz-Server 606 ferner
an den Abspiellisten-Server 610 Informationen weiterleitet,
die den Medienabspieler am Endbenutzerprozessor 602 identifizieren,
leitet der Abspiellisten-Server 610 die Umleiterdatei an
den Medienabspieler weiter (um somit die Schritte 812, 814 und 816 zu
umgehen). Eine solche Ausführungsform
wird im Folgenden mit Bezug auf 10 beschrieben.
-
Der
Abspiellisten-Server
610 leitet anschließend die
ASX-Umleiterdatei an den Medienabspieler beim Endbenutzerprozessor
602 weiter.
Schritt
820. Für
die Zwecke des vorliegenden Beispiels ist die ASX-Datei wie folgt
beschaffen, wobei der URL-Vorspann durch "mms://" repräsentiert wird; der Host-Name
des entsprechenden Medien-Servers
604 durch "mediaserver.company.com" repräsentiert
wird; der Dateiname durch "stream
1.asf" repräsentiert
wird; das angeforderte Element der Inhaltsdatenstrom-ID durch "123456" repräsentiert
wird, der Zugangsausweis durch "uvw123xyz" repräsentiert
wird und die Endbenutzer-ID durch "abc123def" repräsentiert wird:
-
Die
Umleiterdatei kann andere Informationen enthalten, wie z. B. Metadaten
für die
Inhaltsdatei, oder andere ungeschützte Dateien, wie z. B. Werbung.
-
Sobald
der Endbenutzerprozessor 602 die ASX-Datei empfangen hat,
fährt er
damit fort, den Datenstrom-Medieninhalt anzufordern. Genauer ruft
der Medienabspieler "mediaserver.company.com" auf (d. h. den Datenstrom-Medien-Server 604),
wie in der ASX-Datei identifiziert. Schritt 822. Sobald
der Aufruf gemacht ist, stellt der Medienabspieler dem Datenstrom-Medien-Server 604 die
Kopie der Datenstrom-ID des angeforderten Inhalts, den vom Netz-Server 606 erzeugten
Zugangsausweis und die Endbenutzer-ID zur Verfügung.
-
In
Reaktion auf den Aufruf des Medienabspielers fährt der Datenstrom-Medien-Server 604 damit
fort, zu bestimmen, ob dem Endbenutzer Zugang zum angeforderten
Inhalt zu gewähren
ist, oder nicht. Schritt 824. Der Datenstrom-Medien-Server 604 bestimmt,
ob Zugang zu gewähren
ist, oder nicht, durch unabhängiges Erzeugen
eines oder mehrerer Authentisierungszugangsausweise und Vergleichen
der Zugangsausweise mit dem vom Netz-Server 606 erzeugten Zugangsausweis.
Der Prozess des Erzeugens und Vergleichens der Autorisierungszugangsausweise
wird in der gleichen Weise bewerkstelligt, wie mit Bezug auf 5 beschrieben worden
ist, wobei die Abspiellisten-ID anstelle einer Datenstrom-ID verwendet
wird. Wenn ein vom Medien-Server 604 erzeugter Zugangsausweis
mit dem vom Netz-Server 606 erzeugten Zugangsausweis übereinstimmt,
gewährt
der Medien-Server 604 dem Endbenutzer Zugang zum angeforderten Inhalt.
Schritt 824.
-
Obwohl
klar ist, dass die vorangehenden Ausführungsformen Eigentümern von
geschütztem
Inhalt ein bedeutendes Niveau an Schutz gegen unautorisierten Zugriff
auf den geschützten
Inhalt bieten, können
zusätzliche
Schutzebenen implementiert werden. Eine solche zusätzliche
Schutzebene verwendet die Begrenzung der Anzahl der Inhaltsdateien,
auf die ein bestimmter Endbenutzer zu irgendeinem gegebenen Zeitpunkt zugreifen
kann. Eine weitere Schutzebene begrenzt die Anzahl unterschiedlicher
Prozessoren (z. B. Computer), die ein bestimmter Endbenutzer verwenden
kann, um auf geschützten
Inhalt zuzugreifen. Obwohl jede der vorangehenden Ausführungsformen
modifiziert werden kann, so dass sie solche zusätzlichen Schutzebenen enthält, wird
im Folgenden die Implementierung des zusätzlichen Schutzes mit Bezug
auf die 9 und 10 beschrieben.
-
Wie
in der Skizze der 9 deutlich wird, beruht die
vorliegende Ausfüh rungsform
auf der Ausführungsform,
die in den 6–8 dargestellt
ist und mit Bezug auf diese beschrieben worden ist. Im Allgemeinen
enthält
das Inhaltsliefer- und Authentisierungssystem den Netz-Server 606,
die Datenbank 608 und den Abspiellisten-Server 610,
wie oben beschrieben worden ist. Ferner, obwohl nicht notwendig,
enthält
das System mehrere Datenstrom-Medien-Server 604-1, 604-2, 604-n (generisch
mit 604 bezeichnet), von denen jeder durch eine Server-ID
identifiziert wird und geschützten
Inhalt enthält.
Die Datenstrom-Medien-Server 604 enthalten vorzugsweise
jeweils Kopien desselben Datenstrominhalts, wobei das System die
Belastung der mehreren Datenstrom-Medien-Server unter Verwendung
eines Umlaufschemas oder eines anderen Lastausgleichsschemas ausgleicht.
Die Datenbank 608 setzt jede Inhaltsdatei mit den Server-ID(s),
auf dem sie gespeichert ist, in Beziehung. Wie aus der folgenden
Beschreibung deutlich wird, ist die vorliegende Ausführungsform
insbesondere für
die Verwendung mit mehreren Datenstrom-Medien-Servern geeignet,
da sie einen nicht-autorisierten Endbenutzer daran hindert, auf
eine Inhaltsdatei auf einem bestimmten Medien-Server zuzugreifen,
indem er Zugriffsinformationen von einem weiteren Endbenutzer empfängt, der
autorisiert ist, auf dieselbe Inhaltsdatei auf einem anderen Medien-Server
zuzugreifen. Wie in 9 gezeigt ist, stehen die vorangehenden
Komponenten vorzugsweise über
ein geschütztes
Netzwerk miteinander in Verbindung; in anderen Ausführungsformen
jedoch ist der globale Cache-Server 902 nur
mit den Datenstrom-Medien-Servern 604 direkt gekoppelt,
wobei der Unternehmens-Server 904 nur mit dem globalen
Cache-Server 902 direkt gekoppelt ist. Wie bei den vorangehenden
Ausführungsformen
greifen die Endbenutzer auf den geschützten Inhalt über Endbenutzerprozessoren 602-1, 602-2, 602-n (generisch
mit 602 bezeichnet) zu, die mit dem Internet oder einem
anderen Netzwerk gekoppelt sind.
-
Im
Allgemeinen speichert der globale Cache-Server 902 Verbindungsinformationen
bezüglich
jeder Endbenutzerverbindung zu einem Datenstrom-Medien-Server 604 zwischen
und bietet eine zusätzliche
Ebene des Authentisierungsschutzes auf der Grundlage der Endbenutzer-ID.
Die Verbindungsinformation wird entweder im lokalen Datenspeicher,
wie z. B. einem Cache oder einer Datenbank, oder in einem entfernten
Speicher, wie z. B. der Datenbank 608, gespeichert. Wie
im Folgenden genauer beschrieben wird, leitet jeder Datenstrom-Medien-Server 604 die
Verbindungsinformationen an den globalen Cache-Server 902 für jeden
Endbenutzerzugriff weiter, den dieser Datenstrom-Medien-Server 604 autorisiert
hat. In der vorliegenden Ausführungsform
enthält
die Verbindungsinformation: die Endbenutzer-ID; die globale eindeutige
ID (GUID) des Medienabspielers des Endbenutzers; das Format des
Datenstrominhalts, zu dem dem Endbenutzer Zugang gewährt worden
ist (z. B. das Windows-Media-Format oder das RealPlayer-Format); die ID des
Servers, auf dem sich der Inhalt befindet, auf den vom Endbenutzer
zugegriffen wird; und eine Kennung (als "ppv-Schlitz" bezeichnet) des bestimmten Endbenutzerprozessors 602,
von dem aus der Endbenutzer angefragt hat und auf den Inhalt zugreift.
Wie bekannt ist, weisen Anbieter von Medienabspielern jedem Medienabspieler
typischerweise eine GUID zu, um den Medienabspieler zu identifizieren.
-
Jedem
Endbenutzer ist logisch eine Anzahl von Endbenutzerprozessoren 602 zugeordnet,
von denen aus der Endbenutzer auf Inhalt zugreifen kann. Im vorliegenden
Beispiel kann jeder Endbenutzer auf Inhalt von bis zu drei unterschiedlichen
Endbenutzerprozessoren zugreifen. Die drei verschiedenen Prozessoren
können z.
B. den Heimcomputer des Endbenutzers, den Arbeitscomputer und entweder
einen mobilen Computer, ein internetfähiges Mobiltelephon oder einen
internetfähigen
persönlichen
digitalen Assistenten (PDA) repräsentieren.
Ferner kann der Endbenutzer auf jedem der drei Prozessoren 602 mehrere
Medienabspieler besitzen, einen für jedes Medienformat, das vom
System unterstützt
wird. In der vorliegenden Ausführungsform
werden die Formate Windows Media und RealPlayer unterstützt. In
der vorliegenden Ausführungsform
kann dementsprechend jeder Endbenutzer nur bis zu drei verschiedene
ppv-Schlitz-Werte aufweisen, wobei der Endbenutzer für jeden
ppv-Schlitz-Wert zwei GUIDs haben kann, eine für jeden Formattyp von Medienabspieler.
-
In
der vorliegenden Ausführungsform
ist der ppv-Schlitz-Wert für
einen bestimmten Endbenutzerprozessor 602 die Cookie-ID
für diesen
Prozessor 602. Im Allgemeinen ist ein Cookie ein Satz von
Daten, den der Netz-Server 606 dem Browser des Endbenutzers übergibt,
wenn der Endbenutzer zum ersten Mal die System-Internetseite über einen
bestimmten Endbenutzerprozessor 602 besucht. Der Netz-Server 606 speichert die
Informationen, die der Cookie über
den Endbenutzer enthält,
wobei der Browser des Endbenut zers den Cookie speichert, typischerweise
als Textdatei, die in Systemordner des Browser auf dem Endbenutzerprozessor 602 gespeichert
wird. In dem Fall, in dem ein Endbenutzerprozessor 602 (z.
B. ein Internet-Browser) keine Cookies akzeptiert, erzeugt die Anwendung
eine Antwort, die den Benutzer auffordert, die Optionseinstellungen
zu ändern.
-
In
der vorliegenden Ausführungsform
wird die ppv-Schlitz-Information in einer Transaktionstabelle in der
Datenbank 608 gespeichert. Im Allgemeinen ordnet die Transaktionstabelle
einem Endbenutzer ein bestimmtes Datenstrom-Medien-Ereignis und
die drei ppv-Schlitze für
dieses Ereignis zu. Zu diesem Zweck enthält die Transaktionstabelle
die folgenden Felder: Endbenutzer-ID; Ereignis-ID (die ein gegebenes
Medienereignis eindeutig identifiziert); Datenstrom-ID; Datum des
Endbenutzerzugriffs für
das Ereignis; den ersten ppv-Schlitz-Wert; die GUIDs für den ersten
ppv-Schlitz; den zweiten ppv-Schlitz-Wert; die GUIDs für den zweiten
ppv-Schlitz, den dritten ppv-Schlitz-Wert;
und die GUIDs für
den dritten ppv-Schlitz-Wert. Auf der Grundlage dieser Beschreibung
wird klar, dass das Zuordnen des Endbenutzers und der ppv-Schlitzinformation
zu einem bestimmten Ereignis verwendet werden kann, um jeden Endbenutzer
auf nicht mehr als drei Endbenutzerprozessoren 602 pro
Ereignis zu beschränken,
während
in anderen Ausführungsformen
die Transaktionsdatenbank lediglich Endbenutzern ppv-Schlitz-Informationen (über alle
Ereignisse hinweg, statt auf einer ereignisweisen Basis) zuordnet,
wobei die Endbenutzer auf drei Endbenutzerprozessoren 602 über alle
Ereignisse hinweg beschränkt
werden können.
-
Wie
im Folgenden genauer beschrieben wird, empfängt der Unternehmens-Server 904 vom
globalen Cash-Server 902 alle Verbindungsinformationen
oder einen Teil derselben, einschließlich des ppv-Schlitz-Wertes. Ähnlich dem
globalen Cash-Server 902 enthält der Unternehmens-Server 904 lokalen
oder entfernten Datenspeicher und speichert in einer Datenbank einen
separaten Datensatz für
jeden einzigartigen Satz von Verbindungsinformationen. Auf der Grundlage
der Verbindungsinformationen begrenzt eine Autorisierungsanwendung,
die sich auf dem Unternehmens-Server 904 befindet, den
Zugriff eines Endbenutzers auf drei oder weniger Endbenutzerprozessoren 602 und
auf einen einzigen Medienabspieler für jeden der drei Prozessoren 602.
Die Anzahl der Endbenutzerprozessoren 602 (und somit die
Anzahl der ppv-Schlitz-Werte), die zulässig ist, ist in der Autorisierungsanwendung
des Unternehmens-Servers 904 konfigurierbar.
-
Obwohl
die zusätzlichen
Schutzebenen, die mit Bezug auf die vorliegende Ausführungsform
beschrieben werden, in Verbindung mit dem Authentisierungssystem
und den Verfahren der vorangehenden Ausführungsformen verwendet werden
können,
ist klar, dass irgendeine oder mehrere der zusätzlichen Schutzebenen, die
in Verbindung mit der vorliegenden Ausführungsform beschrieben worden
sind, als alleinige Authentisierungseinrichtung implementiert sein
können,
oder mit anderen Authentisierungseinrichtungen als denjenigen, die
hier vorher beschrieben worden sind, implementiert sein können. Im
Folgenden werden daher lediglich beispielhaft zusätzliche
Schutzebenen mit Bezug auf das Arbeitsablaufdiagramm der 10 beschrieben.
-
Anfangs
stellt der Netz-Server 606 eine Internetseite dem Endbenutzer
zur Verfügung,
welche den Endbenutzer auffordert, sich für den Dienst zu registrieren
und an einer Autorisierungsanwendung anzumelden. Die Internetseite
präsentiert
dem Endbenutzer ferner die Option des Betrachtens einer von vielen
Datenstrom-Medien-Dateien, die jeweils eine separate Datenstrom-Anforderungsverknüpfung aufweisen.
Schritt 1002. In Reaktion hierauf stellt der Endbenutzer
die Endbenutzer-Benutzer-ID zur Verfügung und aktiviert die gewünschte Datenstrom-Anforderungsverknüpfung auf
der Internetseite, um somit Zugang zu der bestimmten Datenstrom-Medien-Inhaltsdatei anzufordern.
Der Endbenutzer kann ferner Zahlungsinformationen zur Verfügung stellen,
wie z. B. eine Kreditkartennummer oder andere Kontoinformationen.
Wie bei den vorangehenden Ausführungsformen
kann das Bereitstellen der Endbenutzer-ID und die Aktivierung der
Datenstrom-Anforderungsverknüpfung als
ein einziger Schritt oder als separate Schritte stattfinden. Wenn
der Endbenutzer sich anmeldet, prüft eine auf dem Netz-Server 606 laufende
Authentisierungsanwendung, wie z. B. ein Java-Skript oder ein anderes
Software-Skript oder eine Komponente, den Endbenutzerprozessor 602 auf
ein ppv-Schlitz-Cookie, das anzeigt, dass sich der Endbenutzer schon
früher
am System angemeldet hat. Wenn kein Cookie vorhanden ist, weist
der Netz-Server 606 dem bestimmten Endbenutzerprozessor 602 ein
Cookie zu und speichert dieses auf dem Endbenutzerprozessor 602, um
somit den Prozessor 602 zu identifizieren. Durch Aktivieren
der Datenstrom-Anforderungsverknüpfung
werden die Datenstrom-Anforderungsverknüpfung und
die Endbenutzer-ID dem Netz-Server 606 übermittelt. Schritt 1004.
-
Wenn
der Endbenutzer sich am System anmeldet und Zugang zum Inhalt anfordert,
bestimmt die Authentisierungsanwendung des Netz-Servers 606,
ob der Endbenutzer die erlaubten drei ppv-Schlitze überschritten
hat, und aktualisiert die Transaktionstabelle, falls dies nicht
zutrifft. Schritt 1010a. Diesbezüglich vergleicht der Netz-Server 606 die
Cookie-ID, die zugewiesen wurde, als der Endbenutzer am System angemeldet
hat, mit allen ppv-Schlitz-Werten
in der Transaktionstabelle für
den bestimmten Endbenutzer (wie durch die Endbenutzer-ID identifiziert)
und das Ereignis (wie durch die Ereignis-ID identifiziert). Wenn
die Transaktionstabelle bereits drei ppv-Schlitz-Werte Enthält und die empfangene Cookie-ID
mit keinem der vorhanden drei ppv-Schlitz-Werte übereinstimmt, wird dem Endbenutzer
unterstellt, einen unautorisierten Zugriff von einem vierten Prozessor 602 zu
versuchen, wobei der Zugang verweigert wird.
-
In
dem Fall, in dem die Transaktionstabelle weniger als drei ppv-Schlitz-Werte für den Endbenutzer
für das
Ereignis enthält,
erzeugt der Netz-Server 606 einen Datensatz in der Transaktionstabelle.
Genauer erzeugt der Netz-Server 606 einen
Datensatz unter Verwendung der Endbenutzer-ID, der Ereignis-ID (die
vorher den vom Endbenutzer erworbenen Inhalt zugewiesen wurde),
der Datenstrom-ID des erworbenen Inhalts (die der Netz-Server 606 aus
der Datenbank 608 entsprechend der Abspiellisten-ID der
Datenstrom-Anforderungsverknüpfung abruft),
des Datums und des ppv-Schlitz-Wertes.
-
Wenn
dem Endbenutzer auf der Grundlage der ppv-Schlitz-Informationen
der Zugriff nicht verweigert wird, greift bei Empfang der Datenstromanforderungsverknüpfung und
der Endbenutzer-ID die auf dem Netz-Server 606 laufende
Authentisierungsanwendung auf die Datenbank 608 zu (Schritt 1006),
empfängt
die Privatschlüsselinformationen
von der Datenbank 608 (Schritt 1008), erzeugt
den Zugangsausweis und hängt den
Zugangsausweis, die Endbenutzer-ID und den ppv-Schlitz-Wert an die
Datenstromanforderungsverknüpfung
an (Schritt 1010b). Die Authentisierungsanwendung, die auf
dem Netz-Server 606 läuft,
leitet anschließend
an den Abspiellisten-Server 610 die
Datenstromanforderungsverknüpfung
weiter, die den angehängten Zugangsausweis,
die Endbenutzer-ID und den ppv-Schlitz-Wert enthält. Schritt 1012.
-
Sobald
der Abspiellisten-Server
610 die Datenstromanforderungsverknüpfung, den
Zugangsausweis, die Endbenutzer-ID und den ppv-Schlitz-Wert empfangen
hat, fährt
der Abspiellisten-Server
610 damit fort, die Umleiterdatei
zu erzeugen. Wie oben erwähnt
worden ist, greift der Abspiellisten-Server
610 zum Erzeugen der
Umleiterdatei auf die Datenbank
608 zu (Schritt
1014)
und ruft die Datenstrom-ID der Inhaltsdatei, die die Abspielliste
umfasst, ab, sowie den Host-Namen, den URL-Vorspann und den Dateinamen,
die alle der bestimmten Datenstrom-ID zugeordnet sind (Schritt
1016).
Mit diesen Informationen erzeugt der Abspiellisten-Server
610 die
Umleiterdatei. Schritt
1018. Der Abspiellisten-Server
610 leitet
anschließend
die Umleiterdatei an den bestimmten Medienabspieler am Endbenutzerprozessor
602,
wie durch GUID identifiziert, weiter. Schritt
1020. Eine
beispielhafte Umleiterdatei für
die vorliegende Ausführungsform,
bei der der URL-Vorspann durch "mms://"repräsentiert
wird; der Host-Name des entsprechenden Medien-Servers
604 durch "mediaserver.company.com" repräsentiert
wird, der Dateiname durch "stream1.asf" repräsentiert
wird; das angeforderte Element der Inhalts-Datenstrom-ID durch "123456" repräsentiert
wird; der Zugangsausweis durch "uvw123xyz" repräsentiert
wird; die Endbenutzer-ID durch "abc123def" repräsentiert
wird; und der ppv-Schlitz-Wert durch "1" repräsentiert
wird, ist folgende:
-
Sobald
der Medienabspieler beim Endbenutzerprozessor 602 die Umleiterdatei
empfangen hat, fährt er
damit fort, den Datenstrom-Medieninhalt vom entsprechenden Datenstrom-Medien-Server 604 abzurufen. Schritt 1022.
-
Genauer
ruft der Medienabspieler den bestimmten Datenstrom-Medien-Server 604 auf,
wie in der Umleiterdatei identifiziert ist. Wenn der Aufruf ausgeführt wird,
liefert der Medienabspieler dem Datenstrom-Medien-Server 604 eine
Kopie der Datenstrom-ID des angeforderten Inhalts, den vom Netz-Server 606 (im
Schritt 1010) erzeugten Zugangsausweis, die Endbenutzer-ID
und den ppv-Schlitz-Wert. Ferner leitet der Medienabspieler seine
GUID an den Datenstrom-Medien-Server weiter.
-
Wenn
die ursprüngliche
Datenstromanforderung und die Anmeldungsinformationen vom Endbenutzerprozessor 602 empfangen
werden, bestimmt eine auf dem Datenstrom-Medien-Server 604 laufende
Anwendung, ob der Medienabspieler die GUID weitergeleitet hat, oder
nicht (oder einen ungültigen
Vorgabewert weitergeleitet hat). Falls nicht, veranlasst die Anwendung,
dass dem Endbenutzer der Zugang verweigert wird, indem der Authentisierungsprozess
gestoppt wird, und benachrichtigt den Endbenutzer. Die Tatsache,
dass der Medienabspieler des Endbenutzers die GUID nicht bereitstellt,
wird vorzugsweise in der Datenbank 608 oder einem anderen
Datenspeicher vermerkt, wobei das nächste Mal, wenn der Endbenutzer
sich am System anmeldet, das System den Endbenutzer Anweisungen
dafür gibt,
wie er das Senden der GUID ermöglicht.
-
Wie
bei der Ausführungsform
der 6–8 erzeugt
der Datenstrom-Medien-Server 604 dann,
sobald er den Aufruf des Medienabspielers empfängt, unabhängig einen oder mehrere Authentisierungszugangsausweise
und vergleicht den einen oder die mehreren Zugangsausweise mit dem
vom Medienabspieler empfangenen Zugangsausweis. Schritt 1024.
In dem Fall, dass die Zugangsausweise "übereinstimmen", gewährt der
Datenstrom-Medien-Server 604 Zugang
zum Inhalt und überträgt den Inhalt
mittels Datenstrom zum Endbenutzer. Schritt 1026.
-
Jedes
Mal, wenn ein Datenstrom-Server 604 einem Endbenutzer Zugang
zum Inhalt gewährt,
sendet der Datenstrom-Medien-Server 604 die Informationen,
die diese bestimmte Verbindung identifizieren, zum globalen Cache-Server 902.
Schritt 1028. Wie oben erwähnt worden ist, enthält eine
solche Verbindungsinformation vorzugsweise die Endbenutzer-ID, das
Format des Datenstrom-Inhalts (z. B. Windows Media oder RealPlayer),
die Server-ID des Datenstrom-Medien-Servers 604, der den
Inhalt dem Endbenutzer zur Verfügung stellt,
die GUID des Medienabspielers des Endbenutzers, und dem ppv-Schlitz-Wert,
der den bestimmten Endbenutzerprozessor 602 repräsentiert,
von dem aus sich der Endbenutzer am System angemeldet hat.
-
Jedes
Mal dann, wenn ein Datenstrom-Server 604 einem Endbenutzer
Zugang zum Inhalt gewährt, speichert
der Datenstrom-Medien-Server 604 ferner lokal den Datenstromnamen
oder die Datenstrom-ID, die Endbenutzer-ID und Verbindungsinformationen für die Anforderung.
Immer dann, wenn eine Datenstromverbindung beendet wird, entfernt
der Datenstrom-Medien-Server 604 den
entsprechenden Eintrag in seinem Zwischenspeicher. Somit repräsentieren
alle Einträge
im Zwischenspeicher (Cache) aktuelle Datenströme oder Zugriffe. Unter Verwendung
eines Abfragedienstes, der auf dem Datenstrom-Medien-Server 604 läuft, wie
z. B. einer Software-Komponente oder eines Objekts, fragt der Medien-Server 604 periodisch
(z. B. alle zwei Minuten) seinen Zwischenspeicher nach Einträgen ab.
Für jeden
Eintrag sendet der Datenstrom-Medien-Server 604 erneut
die Verbindungsinformationen zum globalen Cache-Server 902.
-
Wie
oben erwähnt
worden ist, enthält
der globale Cache-Server 902 eine Datenbank oder einen
Cache (Zwischenspeicher), in denen jeder Datensatz empfangene Verbindungsinformationen
enthält.
Wenn der globale Cache-Server 902 Verbindungsinformationen
für einen
bestimmten Benutzer empfängt,
erzeugt der Server 902 typischerweise einen neuen Datensatz
in seiner Datenbank. Vor dem Erzeugen eines neuen Datensatzes bestimmt
jedoch der globale Cache-Server 902 zuerst, ob seine Datenbank
einen Datensatz mit derselben Endbenutzer-ID wie in den neu empfangenen
Verbindungsinformationen enthält.
Schritt 1030.
-
Der
globale Cache-Server 902 entfernt ferner den Datensatz
für einen
bestimmten Zugriff, wenn der Zugriff beendet ist. Wie oben erwähnt worden
ist, sendet jeder Datenstrom-Medien-Server 604 an den globalen Cache-Server 902 jeden
Satz von Verbindungsinformationen in vorgegebenen Intervallen für die Dauer
des durch die Verbindungsinformationen identifizierten Zugriffs
erneut. Der globale Cache-Server 902 löscht periodisch Daten sätze, für die keine
Verbindungsinformationen erneut gesendet wurden, um somit einen
Datensatz nur für
aktuelle Zugriffe zu halten. In anderen Ausführungsformen kann der globale
Cache-Server Datensätze
für eine
Verbindung, die nicht mehr in Gebrauch ist, auf der Grundlage eines
anderen Verfahrens löschen.
Zum Beispiel hält
in anderen Ausführungsformen
der globale Cache-Server 902 den Datensatz für eine bestimmte
Verbindung, bis der globale Cache-Server eine Beendigungsnachricht
von dem Datenstrom-Medien-Server
empfängt,
die anzeigt, dass eine bestimmte Verbindung beendet worden ist.
Kurz, die Existenz eines Datensatzes in der Datenbank des globalen
Cache-Servers zeigt an, dass ein bestimmter Endbenutzer (wie durch
die Endbenutzer-ID identifiziert) aktuell auf eine Inhaltsdatei
zugreift.
-
Wenn
der globale Cache-Server 902 bereits einen Datensatz mit
derselben Endbenutzer-ID wie der empfangenen enthält, versucht
der Endbenutzer (oder ein nicht autorisierter Benutzer, der die
Zugangsinformationen erlangt hat), auf mehrere Inhaltsdateien gleichzeitig
oder auf die gleiche Inhaltsdatei mehr als einmal zuzugreifen. In
der vorliegenden Ausführungsform
sind solche Mehrfachzugriffe nicht erlaubt. Dementsprechend gibt
der globale Cache-Server 902 eine Aufforderung sowohl an
den Medien-Server, von dem die neu empfangene Verbindungsinformation
empfangen worden ist, als auch an den Medien-Server, der durch die Server-ID
im existierenden Datenbankdatensatz identifiziert wird, aus, dass
der Zugriff des Endbenutzers zu beenden ist. Nach Veranlassen der
Datenstrom-Medien-Server 604, den Endbenutzer abzukoppeln,
entfernt der globale Cache-Server 902 aus seiner Datenbank
den Datensatz, der den bestimmten Endbenutzer betrifft.
-
Es
ist klar, dass diese zusätzliche
Ebene von Autorisierungsschutz optional ist und auf verschiedene Weise
implementiert werden kann. Zum Beispiel kann ein weiterer Server
den globalen Cache-Server 904 auffordern, zu bestimmen,
ob ein Benutzer Mehrfachzugriffe versucht. In einer solchen Ausführungsform
bewirkt der Abspiellisten-Server 610, nachdem er die Anforderungsverknüpfung, den
Zugangsausweis und die Endbenutzer-ID vom Netz-Server 606 empfangen
hat, einen Aufruf des globalen Cache-Servers 902, um zu bestimmen,
ob der globale Cache-Server 902 einen Datensatz des Endbenutzers,
der bereits auf Inhalt zugreift, enthält. Schritt 1018a.
Der globale Cache-Server 902 antwortet dem Abspiellisten-Server 610 mit
einer Anzeige, ob der Endbenutzer derzeit auf Inhalt zugreift, oder
nicht. Schritt 1018b. In Reaktion hierauf erzeugt die auf dem
Abspiellisten-Server 610 laufende
Authentisierungsanwendung eine falsche oder untaugliche Umleiterdatei.
In einer solchen Ausführungsform
ist die Umleiterdatei aufgrund des Fehlens eines Zugangsausweises oder
des Einschlusses eines Vorgabezugangsausweises, der vom Datenstrom-Medien-Server 604 erkannt wird,
untauglich.
-
In
dem Fall, in dem der globale Cache-Server 902 keinen existierenden
Datensatz in seiner Datenbank mit der Endbenutzer-ID identisch zu
derjenigen, die in einer neuen Verbindungsinformation empfangen
worden ist, identifiziert, erzeugt der globale Cache-Server 902 einen
neuen Datensatz in seiner Datenbank mit den empfangenen Verbindungsinformationen
und blockiert den Zugang des Endbenutzers zum Inhalt nicht.
-
Wenn
der globale Cache-Server 902 einen Endbenutzer nicht abkoppelt,
leitet der Server 902 alle Verbindungsinformationen oder
einen Teil derselben zum Unternehmens-Server 904 weiter,
der zwei zusätzliche Ebenen
eines optionalen Autorisierungsschutzes bewirkt. Schritt 1034.
In der vorliegenden Ausführungsform leitet
der globale Cache-Server 902 die Endbenutzer-ID, den ppv-Schlitz,
die GUID und das Datenstromformat an den Unternehmens-Server 904 weiter.
-
Der
Unternehmens-Server 904 verwendet diese vom globalen Cache-Server 902 empfangenen
Verbindungsinformationen, um den Zugang zu Inhalt auf der Grundlage
teilweise der GUID des Medienabspielers zu kontrollieren. Schritt 1036.
Wie oben erwähnt
worden ist, ist jedem Endbenutzer erlaubt, sich am System anzumelden
und auf Inhalt von drei unterschiedlichen Endbenutzerprozessoren 602 aus
zuzugreifen, die jeweils nur einen Medienabspieler für jedes
Format aufweisen. Dementsprechend veranlasst der Unternehmens-Server 904,
dass ein Endbenutzer abgekoppelt wird, wenn der Endbenutzer eine
Anfrage nach Zugriff unter Verwendung eines bestimmten Medienabspielers
(wie durch die GUID identifiziert) für ein bestimmtes Medienformat
auf einen bestimmten Endbenutzerprozessor 602 (wie durch
den ppv-Schlitz identifiziert) platziert und sich dieser Medienabspieler
von dem vorher auf demselben Endbenutzerprozessor 602 für dasselbe Medienformat
verwendeten Medienabspieler unterscheidet. Im Allgemeinen wird diese
Bestimmung durchgeführt
durch Zugreifen auf die Transaktionstabelle und Vergleichen der
neu empfangenen Verbindungsinformationen mit den bestehenden Einträgen für den Endbenutzer
und den ppv-Schlitz-Wert.
-
Wenn
der Unternehmens-Server 604 Verbindungsinformationen für einen
gegebenen Endbenutzer und ppv-Schlitz empfängt, greift der Unternehmens-Server 904 auf
die Transaktionstabelle zu, um zu bestimmen, ob eine GUID bereits
vorher für
diesen bestimmten Endbenutzer, dem ppv-Schlitz und das Format empfangen
worden ist, oder nicht. Falls nicht, veranlasst der Unternehmens-Server 904 eine
Aktualisierung der Transaktionstabelle, so dass diese die GUID widerspiegelt,
und der Unternehmens-Server 904 unternimmt nichts, um den
Zugriff des Endbenutzers zu beenden.
-
In
dem Fall, in dem die empfangenen Verbindungsinformationen einem
Datensatz in der Transaktionstabelle entsprechen, für den eine
GUID bereits empfangen worden ist, bestimmt der Unternehmens-Server 904,
ob die empfangene GUID mit der GUID für das bestimmte Medienformat,
die für
diesen ppv-Schlitz gespeichert ist, übereinstimmt, oder nicht. Wenn
die GUIDs nicht übereinstimmen,
dann sendet der Unternehmens-Server 904 einen Befehl an
den globalen Cache-Server 902, dass der Endbenutzerzugriff
auf den geschützten
Inhalt zu beenden ist, und dem Endbenutzer wird der Zugriff verweigert.
Ein solcher Befehl spezifiziert vorzugsweise die Endbenutzer-ID.
Schritt 1038. Der globale Cache-Server 902 gibt
seinerseits eine Anfrage an den einen oder die mehreren Datenstrom-Medien-Server 604 aus,
die derzeit dem Endbenutzer Inhalt zur Verfügung stellen.
-
Auch
wenn somit dem Endbenutzer vorübergehend
Zugang zum Inhalt gewährt
wird, sollte die vorliegende Ausführungsform so betrachtet werden,
dass sie den Zugang für
den unautorisierten Endbenutzer verweigert hat. Ein solcher vorübergehender
Zugang ist in der vorliegenden Ausführungsform erlaubt, da es vorzuziehen
ist, die Gewährung
von Zugang nicht aufgrund der Verarbeitung beim globalen Cache-Server 902 und
beim Unternehmens-Server 904 zu
verzögern.
Unter bestimmten Umständen,
in denen eine Verzögerung für eine Verarbeitung
des globalen Cache-Servers 902 und des Unternehmens-Servers 904 aufgetreten
ist, kann für
den Medienabspieler des Endbenutzers die Zeit ablaufen und die Gewährung von
Zugriff verhindert werden. Folglich gewährt der Medien-Server 604 der
vorliegenden Ausführungsform
Zugriff bei Übereinstimmung
von Zugangsausweisen, um somit zu verhindern, dass für den Medienabspieler
die Zeit abläuft,
wobei ein solcher Zugriff in dem Fall beendet wird, in dem der globale
Cache-Server 902 oder der Unternehmens-Server 904 feststellen,
dass der Zugriff unberechtigt war.
-
In
dem Fall, in dem der Unternehmens-Server 904 feststellt,
dass die neu empfangene Medienabspieler-GUID mit derjenigen übereinstimmt,
die im Speicher für
den ppv-Schlitz und das Format gespeichert ist, unternimmt der Unternehmens-Server 904 nichts
und erlaubt das Fortsetzen des Endbenutzerzugriffs.
-
Es
ist zu beachten, dass, obwohl der globale Cache-Server 902 vorzugsweise
Verbindungsinformationen von allen Datenstrom-Medien-Servern 904 im
System empfängt,
es möglich
ist, mehrere globale Cache-Server vorzusehen, von denen jeder Verbindungsinformationen
von einer Teilmenge der Medien-Server empfängt. In einer solchen Ausführungsform
stehen jedoch die mehreren globalen Cache-Server miteinander in
Verbindung.
-
Während ferner
die Funktionalität
des globalen Cache-Servers 902 und des Unternehmens-Servers 904 in
einem Server in bestimmten Ausführungsformen
kombiniert werden kann, hat die Verwendung von zwei getrennten Servern
gewisse Vorteile, einschließlich
einer Skalierbarkeit. Wenn z. B. das Autorisierungssystem für mehrere
Inhaltseigentümerkonten
verwendet wird, kann jedes Konto separate Autorisierungsregeln implementieren,
jeweils auf einem separaten Unternehmens-Server mit Zugang zum globalen
Cache-Server. In
einer solchen Ausführungsform
könnten
die Verbindungsinformationen zu den geeigneten Unternehmens-Server
auf der Grundlage bestehender Verbindungsinformationen oder eines
zusätzlichen
Feldes, das in den Verbindungsinformationen enthalten ist, wie z.
B. einer Konto-ID, gesendet werden.
-
In
der vorliegenden Ausführungsform
bietet das System jedem Endbenutzer die Gelegenheit, sich erneut
zu registrieren und die ppv-Schlitz-Informationen des Endbenutzers
(einschließlich
der ppv-Schlitz-Werte und der GUIDs) zu löschen, um somit dem Endbenutzer
zu erlauben, auf Inhalt von unterschiedlichen Maschinen und/oder
Medienabspielern aus zuzugreifen.
-
Es
ist klar, dass, obwohl die vorangehenden Ausführungsformen einen privaten
Schlüssel
verwenden, der sowohl einen Sicherheitsschlüssel als auch ein Sicherheitsintervall
umfasst, es in den Umfang der vorliegenden Erfindung fällt, mehr
oder weniger Informationen als privaten Schlüssel zu verwenden. Zum Beispiel wird
in anderen Ausführungsformen
kein Sicherheitsschlüssel
verwendet, während
in anderen Ausführungsformen
zusätzliche
Informationen im privaten Schlüssel
enthalten sind, einschließlich
z. B. eines Benutzernamens des Klienten und eines Passworts. In ähnlicher
Weise fällt
es in den Umfang der vorliegenden Erfindung, einen öffentlichen
Schlüssel
zu verwenden, der andere Informationen als die Datenstrom-ID und
die Endbenutzer-ID umfasst. Zum Beispiel können andere Inhaltsdatei-Identifizierungsinformationen
verwendet werden, einschließlich
z. B. des Dateipfadnamens. Außerdem
kann die Endbenutzer-ID in den Öffentlichschlüsselinformationen
in bestimmten Ausführungsformen
weggelassen werden. In anderen Ausführungsformen enthält die Öffentlichschlüsselinformation
zusätzliche
Informationen, wie z. B. den Titel oder andere Datenstromeinzelheiten
der angeforderten Inhaltsdatei.
-
Ferner
ist zu beachten, dass die Funktionalität, die als von den Netz-Servern
und den Datenstrom-Medien-Servern bereitgestellt beschrieben worden
ist, auf anderen hierzu zugeordneten Vorrichtungen implementiert
sein kann. In bestimmten Ausführungsformen
der vorliegenden Erfindung weist z. B. der Datenstrom-Medien-Server
einen damit verbundenen zugeordneten Anwendungs-Server auf, der
den gesamten Prozess des Verweigerns oder des Bewilligens von Zugang
zu Inhalten, oder einen Teil hiervon, implementiert. In ähnlicher
Weise fällt
es in den Umfang der vorliegenden Erfindung, dem Netz-Server einen
Anwendungs-Server beizuordnen, um die gesamte Funktionalität des Netz-Servers,
oder eines Teils hiervon, bereitzustellen, einschließlich z.
B. des Prozesses der Erzeugung des Autorisierungszugangsausweises.
Die Bezugnahme auf einen bestimmten Server bedeutet somit das Einschließen anderer
beigeordneter Server oder Prozessoren, die mit dem genannten Server
gekoppelt sind.
-
Es
ist ferner klar, dass die Autorisierungszugangsausweise nicht zu
genauen Zeitpunkten erzeugt werden müssen. Zum Beispiel kann der
Zugangsausweis, der vom Netz-Server erzeugt wird, auf den Zeitpunkt beruhen,
zu dem der Endbenutzer die Datenstromanforderungsverknüpfung aktiviert,
wenn der Netz-Server die Privatschlüsselinformationen von der Datenbank
empfängt,
oder auf irgendeinem anderen Zeitpunkt nahe der Aktivierung der
Datenstromanforderung. In ähnlicher
Weise kann der Medien-Server eine Autorisierung z. B. dann erzeugen,
wenn ein Aufruf vom Medienabspieler ausgeht, nachdem die Privatschlüsselinformationen abgerufen
worden sind, oder zu irgendeinem anderen Zeitpunkt nahe dem Zeitpunkt
eines Aufrufs des Inhalts. Wenn ferner der Medien-Server mehrere
Zugangsausweise erzeugt, können
die Zugangsausweise auf unterschiedlichen Zeitpunkten oder dem gleichen
Zeitpunkt beruhen. Dementsprechend bedeutet die Erwähnung eines
Zeitpunkts oder des aktuellen Zeitpunkts den Bezug auf einen Bereich
und nicht auf einen genauen Zeitpunkt.
-
Obwohl
die vorangehenden beispielhaften Ausführungsformen im Zusammenhang
mit der Zugangskontrolle zu einem einzigen Inhaltselement diskutiert
worden sind, ist für
Fachleute klar, dass jede der vorangehenden Ausführungsformen verwendet werden
kann, um den Zugang zu einer Abspielliste zu kontrollieren, die
mehrere geschützte
Inhaltsdateien umfasst. Eine beispielhafte Ausführungsform für die Zugangskontrolle zu
einer Abspielliste wird im Folgenden mit Bezug auf die Ausführungsform
der 6–8 beschrieben. Eine
solche. Ausführungsform
arbeitet entsprechend der vorangehenden Beschreibung, mit den im
Folgenden erwähnten
Modifikationen. Im Allgemeinen erzeugt der Netz-Server 606 einen
Zugangsausweis für
jeden Inhaltsdatenstrom, der in der Abspielliste enthalten ist,
auf der Grundlage jeder Datenstrom-ID des Datenstroms.
-
Der
Medienabspieler beim Endbenutzerprozessor 602 leitet die
Datenstromanforderung, die die Abspiellisten-ID enthält, an den
Abspiellistenprozessor 610 weiter. Der Abspiellistenprozessor 610 erzeugt
seinerseits die Umleiterdatei und gibt die Umleiterdatei an den
Medienabspieler zurück.
Das Objekt "makeplaylist.dll" verwendet die Abspiellisten-ID,
im vorliegenden Beispiel "789000", um eine geeignete
Umleiterdatei zu konstruieren. Genauer greift der Abspiellisten-Server 610 auf
die Abspiellistentabelle 708 und die Abspielisten-Datenstromtabelle 710 zu,
um zu bestimmen, welche Inhaltsdateien Teil der angeforderten Abspielliste sind,
und um die Reihenfolge der Inhaltsdateien in der Abspielliste zu
bestimmen. Die Dateinamen der Inhaltsdateien werden aus der Datenstromtabelle 704 abgerufen.
Ein Skript, das auf dem Endbenutzerprozessor 602 läuft, hängt anschließend die
Datenstrom-IDs, die Zugangsausweise und die Endbenutzer-ID an die
URL an, die mit dem entsprechenden Inhaltsdatenstrom verknüpft. In
der vorliegenden Ausführungsform
sind alle Inhaltsdatenströme
auf dem gleichen Medien-Server 604 angeordnet, wie in der
Datenstrom-Server-Tabelle 712 angegeben ist.
-
Eine
beispielhafte ASX-Umleiterdatei, die die Datenstrom-IDs, Zugangsausweise
und die Endbenutzer-ID, die an die URL-Verknüpfung für den entsprechenden Inhaltsdatenstrom
angehängt
sind, enthält,
ist folgende:
-
Der
Medienabspieler führt
anschließend
eine Reihe von Aufrufen des Datenstrom-Medien-Servers 604 durch,
einen für
jede der URL-Verknüpfungen,
die in der Umleiterdatei enthalten sind. Genauer führt der Medienabspieler
zuerst einen Aufruf des Medien-Servers 604 für einen
Zugriff auf den ersten Inhaltsdatenstrom durch (im vorliegenden
Beispiel mit der Datenstrom-ID 123456). In Reaktion auf den Aufruf,
und wie oben mit Bezug auf 5 allgemein
beschrieben worden ist, erzeugt der Medien-Server 604 unabhängig einen
Zugangsausweis und bestimmt, ob Zugang zum Inhalt zu gewähren ist.
Wenn kein Zugang gewährt
wird, wird der Endbenutzer darüber
benachrichtigt. Wenn andererseits der Medien-Server dem Endbenutzer
Zugang zum ersten Inhaltsdatenstrom gewährt, dann fährt der Medienabspieler damit
fort, Aufrufe an den Medien-Server 604 für die verbleibenden
Inhaltsdatenströme
in der Abspielliste durchzuführen.
Mit jedem Aufruf fährt
der Medien-Server 604 fort, Zugang zum angeforderten Inhaltsdatenstrom
zu bewilligen oder zu verweigern.
-
Es
ist zu beachten, dass es in einer solchen Ausführungsform jedoch bevorzugt
wird, dass jeder Inhaltsdatenstrom ein individuelles Sicherheitsintervall
aufweist, das für
die gesamte Dauer der Inhaltsdatenströme gilt, die vor dem Datenstrom
in der Abspielliste abgespielt werden. In einer Abspielliste, die
z. B. drei Inhaltsdatenströme
enthält,
von denen jeder fünf
Minuten dauert (wie in dem Datenstrom-Einzelheiten-Feldern der Datenstromtabelle 704 angegeben),
kann das Sicherheitsintervall für
den zweiten Datenstrom fünf
Minuten länger
sein als dasjenige für
den ersten Datenstrom, und das Sicherheitsintervall für den dritten
Inhaltsdatenstrom kann zehn Minuten länger sein als das Intervall
für den
ersten Datenstrom. Durch Berücksichtigen
der Dauer jedes Datenstroms in der Abspielliste trägt das System
dazu bei, zu verhindern, dass ein autorisierter Endbenutzer Zugang
zum ersten Inhaltsdatenstrom in der Abspielliste erhält, jedoch
nicht zu einem nachfolgenden Datenstrom, da der Zugangsausweis abgelaufen
ist. Die Sicherheitsintervalle können
auch irgendwelchen ungeschützten
Inhalt berücksichtigen,
wie z. B. Werbungen, die in der Abspielliste enthalten sind.
-
Andere
alternative Ausführungsformen
kontrollieren den Zugang zu einer Abspielliste, die mehrere geschützte Inhaltsdatenströme enthält, indem
ein Zugangsausweis auf der Grundlage der Abspiellisten-ID erzeugt
wird. Eine solche Ausführungsform
arbeitet entsprechend der Beschreibung des Systems der 6–8,
mit den im Folgenden erwähnten
Modifikationen. Sobald im Allgemeinen der Endbenutzer sich an der
Autorisierungsanwendung anmeldet und Zugang zu einer Abspielliste
anfordert, erzeugt der Netz-Server 606 einen
Zugangsausweis auf der Grundlage der Abspiellisten-ID und gibt den
Zugangsausweis an den Endbenutzerprozessor 602 zurück. In Reaktion
hierauf hängt
ein auf dem Endbenutzerprozessor 602 laufendes Skript den
Zugangsausweis und die Endbenutzer-ID an die Datenstromanforderungsverknüpfung an.
Folgendes ist eine erläuternde
Datenstromanforderungsverknüpfung,
die daran angehängte Öffentlichschlüsselinformationen
aufweist, wobei die Abspiellisten-ID durch "789000" repräsentiert wird; der Zugangsausweis durch "xyz321 abc" repräsentiert
wird und die Endbenutzer-ID
durch "abc123def" repräsentiert
wird.
-
-
Der
Endbenutzerprozessor
602 ruft anschließend den Abspiellisten-Server
610 auf,
wie durch den Namen "playlistserver.company.com" identifiziert ist.
Der Abspiellisten-Server
610 startet seinerseits das Objekt "makeplaylist.dll", das sich auf dem
Abspiellisten-Server
610 befindet, um die Umleiterdatei
zu erzeugen. In der vorliegenden Ausführungsform befinden sich alle
Inhaltsdatenströme
auf demselben Medien-Server
604. Anders als bei vorherigen
Ausführungsformen
hängt das
Objekt "makeplaylist.dll" auch an das Ende
der ersten URL-Verknüpfung
in der Umleiterdatei die Dateinamen für die nachfolgenden geschützten Inhaltsdatenströme in der
Abspielliste an, wobei nur die Abspiellisten-ID und der Zugangsausweis
an jede der nachfolgenden URL-Verknüpfungen angehängt werden.
Eine beispielhafte ASX-Umleiterdatei
ist wie folgt beschaffen, wobei: die Abspielliste drei Windows-Media-Format-Inhaltsdateien
mit den Dateinamen enthält,
die durch "stream1.asf", "stream2.asf" und "stream3.asf" repräsentiert
werden; die Abspiellisten-ID durch "789000" repräsentiert wird; die Endbenutzer-ID
durch "abc123def" repräsentiert
wird; und der Zugangsausweis durch "xyz321 abc" repräsentiert wird:
-
Der
Medienabspieler beim Endbenutzerprozessor 602 fährt damit
fort, Aufrufe an den mediaserver.company.com (d. h. den Host-Namen
des Datenstrom-Medien-Servers 604) für einen Zugang zu der ersten Inhaltsdatei
durchzuführen.
Der Medien-Server 604 fährt
fort, einen Zugangsausweis auf der Grundlage der Abspiellisten-ID
zu erzeugen und gewährt
oder verweigert Zugang, wie oben mit Bezug auf 5 diskutiert worden
ist. Wenn der Medien-Server 604 Zugang zur ersten Inhaltsdatei
in der Abspielliste gewährt
und den Medienabspieler diese zur Verfügung stellt, erzeugt der Medien-Server 604 einen
Datensatz in einer lokal gespeicherten Tabelle für die Abspiellisten-ID und
den entsprechenden Zugangsausweis und speichert in dem Datensatz
die Dateinamen der nachfolgenden Inhaltsdatenströme in der Abspielliste, wie
sie in der Umleiterdatei enthalten sind.
-
Wenn
der Medienabspieler anschließend
Zugang zum zweiten Inhaltsdatenstrom anfordert, stellt der Medienabspieler
die Abspiellisten-ID und den Zugangsausweis dem Medien-Server 604 zu
Verfügung.
Der Medien-Server 604 durchsucht seinerseits die Tabelle
nach dem Datensatz, der von der Abspiellisten-ID und dem Zugangsausweis
identifiziert wird. Wenn der Datensatz existiert, gewährt der
Medien-Server 604 Zugang zu dem zweiten Datenstrom und
markiert den Datenstrom als vom Endbenutzer mit dem bestimmten Zugangsausweis
betrachtet. Wenn ein nicht-autorisierter Endbenutzer versucht, auf
den zweiten Datenstrom unter Verwendung derselben URL-Verknüpfung zuzugreifen,
verweigert der Medien-Server 604 den Zugriff, da im zweiten
Datensatz bezüglich
der Abspiellisten-ID und des Zugangsausweises der zweite Datenstrom
als bereits betrachtet markiert worden ist. Derselbe Prozess wird
für die
Gewährung
von Zugang zu den übrigen
Inhaltsdatenströmen
in der Abspielliste verwendet. Wie für Fachleute offensichtlich
ist, vermeidet diese Ausführungsform
irgendeine Möglichkeit
des irrtümlichen
Verweigerns des Zugangs zu einem nachfolgenden Datenstrom in einer
Abspielliste aufgrund der Zeitverzögerung zwischen der Gewährung des
Zugangs zum ersten Datenstrom und einem solchen nachfolgenden Datenstrom.
-
Fachleute
werden erkennen, dass das Verfahren und das System der vorliegenden
Erfindung viele Anwendungen finden und auf viele unterschiedliche
Arten implementiert werden können,
und daher nicht durch die vorangehenden beispielhaften Ausführungsformen
und Beispiele begrenzt sein sollen. Der Umfang der vorliegenden
Erfindung deckt außerdem
herkömmliche
bekannte und zukünftig
entwickelte Variationen und Modifikationen der hier beschriebenen
Systemkomponenten ab, wie für
Fachleute klar ist.