-
Diese
Erfindung bezieht sich im Allgemeinen auf den Bereich von Sammelsendenetzen.
Genauer bezieht sich die Erfindung auf das Bereitstellen eines Vorschauabschnitts
eines Programms, der an die Kunden im Netz verteilt wird.
-
HINTERGRUND
-
Es
gibt eine Vielfalt von Systemen zur Verteilung von Inhalt, wie etwa
audiovisuellem Inhalt, an Benutzer über Netze. Ein Beispiel ist
die Per-Sendung-Bezahl-TV-Programmierung,
bei der ein Benutzer für
ein Programm zahlt, bevor er es anschaut. Ein anderes Beispiel ist
eine Programmierung auf Abonnement-Basis, bei der ein Benutzer einen
Dienstanbieter für
ein Abonnement zahlt, um die Programmierung für einen bestimmten Kanal für einen
vorarrangierten Zeitraum zu empfangen. Zum Beispiel sind HBOTM oder SHOWTIMETM Beispiele
für Programme
auf Abonnement-Basis, bei denen ein Benutzer eine monatliche Gebühr zahlt,
um jegliche auf dem bezeichneten Kanal für diese Programme rundgesendeten
Programme zu empfangen. Daher muss der Benutzer nicht für jede einzelne
Sendung oder jedes einzelne Ereignis, die/das auf diesen bestimmten
Kanälen
vorkommt, zahlen. Statt dessen deckt die Abonnementzahlung die gesamte
Programmierung ab.
-
Mit
dem Aufkommen von Sammelsendenetzen kann Programminhalt, wie etwa
Filme und Musik, nun in Sammelsendeübertragungen über Netze
verteilt werden. Zum Beispiel kann ein Server über das Internet einen Film
an Kundencomputer sammelsenden. Dies kann dadurch erreicht werden,
dass der Inhalt gleichzeitig an die Adresse jedes Kunden verteilt
wird. Es scheint jedoch kein kryptographisches System vorhanden
zu sein, um die Kommerzialisierung solcher Übertragungen zu erleichtern.
Und zwar scheint kein kryptographisches System in Gebrauch zu sein,
das es einem Benutzer ermöglicht,
eine Vorschau auf ein Programm, das später verschlüsselt werden und für den Benutzer
nicht verfügbar
sein wird, zu sehen.
-
In
Folge dessen müssen
die meisten Sammelsendeübertragungen
an eine Gruppe von Kunden übertragen
werden, die im Voraus als an dem Programminhalt interessiert bekannt
sind. Dies reduziert den kommerziellen Nutzen des Programminhaltanbieters
dadurch, dass der Programminhaltanbieter keine anderen interessierten
Zuschauer zum Erwerb des Programms verführen kann, indem er eine kostenlose
Vorschau des Programms bereitstellt.
-
Das
Dokument WO9907150 offenbart ein Kabelfernsehsystem, das bedingten
Zugriff auf Dienste bereitstellt. Die Dienstobjekte werden unter
Verwendung von öffentlichen
und/oder privaten Schlüsseln,
die von Dienstanbietern oder zentralen Autorisierungsvermittlern
bereitgestellt werden, verschlüsselt.
Schlüssel,
die von den Set-Tops zur selektiven Entschlüsselung verwendet werden, können auch
von öffentlicher
oder privater Beschaffenheit sein, und derartige Schlüssel können zu
unterschiedlichen Zeiten neu zugewiesen werden, um ein Kabelfernsehsystem
bereitzustellen, in dem Bedenken hinsichtlich Piraterie minimiert
sind.
-
Bis
zu einem gewissen Betrag können
interaktive Dienste ohne Autorisierung verwendet werden. „Kostenlose
Vorschauen" sind
möglich.
-
ZUSAMMENFASSUNG
-
Der
Gegenstand der vorliegenden Anmeldung ist in den beigefügten Ansprüchen definiert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockschaubild einer Ausführungsform
eines Inhaltverteilungssystems wie jene, die zum Sammelsenden von
Programminhalt über
das Internet verwendet werden.
-
2 ist
ein Blockschaubild einer Ausführungsform
eines Kundencomputerabschnitts des Inhaltverteilungssystems, das
in 1 gezeigt ist.
-
3 ist
ein Flussdiagramm, das eine Ausführungsform
der Erfindung, um einem Kunden eine kostenlose Vorschau bereitzustellen
veranschaulicht.
-
4 ist
ein Flussdiagramm, das eine andere Ausführungsform der Erfindung zum
Bereitstellen kostenlosen Vorschau-Inhalts veranschaulicht.
-
5 ist
ein Flussdiagramm, das eine Ausführungsform
der Erfindung zur Verteilung eines nicht verschlüsselten Abschnitts eines Programmes
und eines verschlüsselten
Abschnitts eines Programms veranschaulicht.
-
6 ist
ein Flussdiagramm, das eine Ausführungsform
der Erfindung zum Ermöglichen
der Anzeige einer kostenlosen Vorschau veranschaulicht.
-
7A und 7B sind
Graphen, die eine beispielhafte Verteilung kryptographischer Schlüssel während Abschnitten
eines Programmes zeigen.
-
8 veranschaulicht
ein Flussdiagramm zur Verteilung von Schlüsseln nach einer Ausführungsform der
Erfindung.
-
9 veranschaulicht
ein weiteres Flussdiagramm zur Verteilung von Schlüsseln gemäß einer
anderen Ausführungsform
der Erfindung.
-
10 veranschaulicht
ein Flussdiagramm für
eine Ausführungsform
der Erfindung, bei der Schlüssel an
mehrere Kunden sammelgesendet werden.
-
11 veranschaulicht
ein Flussdiagramm, das eine Ausführungsform
der Erfindung demonstriert, bei der Kunden Schlüssel von einem Server zum Empfangen
von Sammelsendeinhalt anfordern.
-
12 veranschaulicht
eine Ausführungsform
der Erfindung zur Verteilung von Schlüsseln an Kunden, bei der Kunden
eine Bestätigungsnachricht,
dass ein Schlüssel
empfangen wurde, senden können.
-
13 veranschaulicht
ein Flussdiagramm für
eine Ausführungsform
der Erfindung, bei der eine Liste aktiver Teilnehmer, die ein Programm
empfangen, erstellt wird und Kunden Bestätigungsmeldungen senden, die
anzeigen, dass sie auf der Liste verbleiben sollten.
-
14 veranschaulicht
ein Flussdiagramm für
eine Ausführungsform
der Erfindung, bei der ein modifiziertes RTP-Paket zum Signalisieren
von Veränderungen
eines kryptographischen Schlüssels
erstellt wird.
-
15 veranschaulicht
ein Flussdiagramm gemäß einer
Ausführungsform
der Erfindung, um Kunden in einem Sammelsendesystem einen gemeinsamen
Schlüssel
bereitzustellen.
-
16A und 16B veranschaulichen
ein Flussdiagramm gemäß einer
Ausführungsform
der Erfindung zum Bereitstellen einer anfänglichen Vorschau von Programminhalt.
-
17 veranschaulicht
ein Flussdiagramm gemäß einer
Ausführungsform
der Erfindung zum Bereitstellen einer einstellbaren anfänglichen
Schlüsselverteilungsperiode
zum Erwerben von Programminhalt.
-
18 veranschaulicht
ein Flussdiagramm gemäß einer
Ausführungsform
der Erfindung zum Bereitstellen ununterbrochenen Anschauens von
Programminhalt seitens eines spät
erwerbenden Kunden.
-
19 zeigt
ein Netz zur Verwendung gemäß einer
Ausführungsform
der Erfindung.
-
20A und 20B veranschaulichen
ein Flussdiagramm zum Befördern
von Datensätzen
von einem Ursprungsinhaltsserver zu einem Caching-Server gemäß einer
Ausführungsform
der Erfindung.
-
21 veranschaulicht
ein Flussdiagramm gemäß einer
Ausführungsform
der Erfindung, die das Bestimmen, ob ein Kunde zu Programminhalt
berechtigt ist, auf der Basis mindestens einer Regel vorsieht, die zu
dem Programminhalt zur Verwendung durch einen Caching-Server zugehörig ist.
-
22 veranschaulicht
eine Datenstruktur gemäß einer
Ausführungsform
der Erfindung zum Befördern
von Informationen von einem Ursprungsinhaltsserver zu einem Caching-Server.
-
23 veranschaulicht
einen Datensatz gemäß einer
Ausführungsform
der Erfindung, der einem individuellen Kunden bereitgestellt werden
kann, um den Anspruch dieses bestimmten Kunden auf anderen Programminhalt
zu definieren.
-
BESCHREIBUNG
DER SPEZIFISCHEN AUSFÜHRUNGSFORMEN
-
Unter
Bezugnahme auf 1 wird ein Blockschaubild eines
Inhaltverteilungssystems 100 gezeigt. In dieser Ausführungsform
schließt
das Inhaltverteilungssystem 100 ein aktuelles Dateiverzeichnis 104,
einen oder mehrere Ursprungsserver 108, einen oder mehrere
Kundencomputer 112, einen oder mehrere Inhaltsaustausche 116,
einen oder mehrere externe Ursprungsserver 118, ein Netz
wie etwa das Internet 120 und ein Web-Such-Verzeichnis
(Crawling-Verzeichnis) 124 ein. Ein bestimmter Kundencomputer 112 wird
gezeigt, der mit dem aktuellen Dateiverzeichnis 104 interagiert,
um ein Inhaltsobjekt zum Herunterladen auszuwählen. Das Objekt kann während des
Herunterladens gespielt werden, wenn es sich um ein Streaming-Medium
handelt, oder es kann zur späteren
Anzeige gespeichert werden. Das Inhaltsobjekt könnte verschiedene Arten von
Informationen sein, wie etwa Audio, Video oder Daten, die zum Herunterladen
vom Netz zur Verfügung
stehen. Des Weiteren kann es zum Sammelsenden und/oder Einzelsenden
verwendet werden.
-
Bei
einigen Ausführungsformen
bestimmen die Ursprungsserver 108 die bevorzugte Quelle,
um die Kundencomputer zum Herunterladen von Inhaltsobjekten anzuleiten.
Die Präferenz
des Kundencomputers 112 und der Standort der Kopien des
Inhaltsobjektes sind alles Erwägungen,
die der Ursprungsserver 108 dabei verwenden kann, den Kundencomputer
zu einer bevorzugten Informationsquelle umzuleiten. Diese Quelle kann
der Ursprungsserver 108 selbst sein oder einer der Inhaltsaustausche 116.
-
Inhaltsobjekte
eines externen Ursprungsservers 118 können auf einem zum Bereitstellen
dieser Inhaltsobjekte zugeteilten Inhaltsaustausch(e) vorinstalliert
werden. Um die Latenz beim erstmaligen Anfordern eines Inhaltsobjektes
zu vermindern, kann das aktuelle Dateiverzeichnis 104 den
externen Ursprungsserver 118 anrufen, um die von dem externen
Ursprungsserver 118 verfügbaren Inhaltsobjekte zu bestimmen.
Die verfügbaren
Inhaltsobjekte können
dem Web-Such-Verzeichnis 124 hinzugefügt werden. Sobald die verfügbaren Inhaltsobjekte
bekannt sind, kann das aktuelle Dateiverzeichnis 104 jedes
Inhaltsobjekt von dem/den zugehörigen
Inhaltsaustausch(en) anfordern, um das Laden jedes Inhaltsobjektes
auf den/die zugehörigen
Inhaltsaustausch(e) zu bewirken. Auf diese Weise können Inhaltsobjekte
auf den zugehörigen
Inhaltsaustauschen vorinstalliert werden.
-
2 veranschaulicht
im Groben, wie individuelle Systemelemente aus 1 auf
eine getrennte oder stärker
integrierte Art und Weise in verschiedenen, im Allgemeinen ähnlich konfigurierten
Verarbeitungssystemen implementiert werden können. Das gezeigte System 200 umfasst
Hardwareelemente, die über
einen Bus 208 elektrisch gekoppelt sind, einschließlich eines
Prozessors 201, einer Eingabevorrichtung 202,
einer Ausgabevorrichtung 203, einer Speichervorrichtung 204,
eines Lesegeräts 205a für maschinenlesbares
Speichermedium, eines Kommunikationssystems 206, einer
Verarbeitungsbeschleunigung (z. B. DSP oder Spezialprozessoren) 207 und
eines Speichers 209. Das Lesegerät 205a für maschinenlesbares
Speichermedium ist weiter mit einem maschinenlesbaren Speichermedium 205b verbunden,
wobei die Kombination übergreifend
fern gelegene, lokale, fixierte und/oder entfernbare Speichergeräte plus
Speichermedien, Speicher usw. zum vorübergehenden und/oder dauerhafteren
Halten von maschinenlesbaren Informationen darstellt, was die Speichervorrichtung 204,
den Speicher 209 und/oder jede andere derartige zugängliche
Ressource des Systems 200 einschließen kann. Das System 200 umfasst
auch Softwareelemente (die als gegenwärtig in einem Arbeitsspeicher 291 befindlich
gezeigt sind), einschließlich
eines Betriebssystems 292 und anderer Codierung 293 wie
etwa Programmen, Applets, Daten und dergleichen.
-
Das
System 200 ist hauptsächlich
aufgrund seiner weiträumigen
Flexibilität
und Konfigurierbarkeit als eine Implementierungsalternative wünschenswert.
Auf diese Weise könnte
zum Beispiel eine einzige Architektur benutzt werden, um einen oder
mehrere Server zu implementieren, die ferner gemäß gegenwärtig wünschenswerten Protokollen,
Protokollvariationen-, erweiterungen usw. konfiguriert werden können. Dem
Fachmann wird es jedoch ersichtlich, dass gemäß spezifischeren Anwendungserfordernissen
durchaus wesentliche Variationen benutzt werden können. Zum
Beispiel könnten
ein oder mehrere Elemente innerhalb einer Komponente des Systems 200 (z.
B. innerhalb des Kommunikationssystems 206) als Unterelemente
implementiert werden. Es könnte
auch angepasste Hardware benutzt werden, und/oder in der Hardware,
Software (einschließlich
so genannter „tragbarer
Software" wie etwa
Applets) oder beiden könnten
bestimmte Elemente implementiert werden. Während eine Verbindung zu anderen
Rechenvorrichtungen wie etwa Netzeingabe-/-ausgabevorrichtungen
(nicht gezeigt) eingesetzt werden kann, versteht es sich des Weiteren,
dass auch (eine) verdrahtete, drahtlose, Modem- und/oder andere
Verbindung oder Verbindungen zu anderen Rechenvorrichtungen benutzt
werden könnten.
Die verteilte Verarbeitung, das Anschauen mehrerer Stellen, das
Weiterleiten von Informationen, Zusammenarbeit, der Fernabruf und
das Fernvereinen von Informationen und verwandte Fähigkeiten
werden jeweils erwogen. Die Benutzung des Betriebssystems variiert
außerdem
je nach der bestimmten Hauptrechnervorrichtung und/oder den Prozessarten
(z. B. Computer, Anwendung, tragbare Vorrichtung usw.), und es werden
sicherlich nicht alle Komponenten des Systems 200 in allen
Fällen
erforderlich sein.
-
Das
Netz aus 1 kann auf eine Vielzahl von
Wegen implementiert werden. Gemäß einer
Ausführungsform
können
wir zum Beispiel die Verwendung eines UDP-Prokolls (UDP = User Datagram
Protocol) annehmen, das „Echtzeit-Transport-Protokoll"/„Echtzeit-Steuerprotokoll" (RTP/RTCP = Real-Time
Transport Protocol/Real-Time Control Protocol), „Internet-Gruppenverwaltungsprotokoll" (IGMP = Internet
Group Management Protocol), „Echtzeit-Streaming-Protokoll" (RTSP = Real-Time
Streaming Protocol) und möglicherweise „Sitzungsankündigungsprotokoll"/„Sitzungsbeschreibungsprotokoll" (SAP/SDP = Session
Announcement Protocol/Session Description Protocol) tragen kann.
Des Weiteren lässt
es sich zu Zwecken der Sammelsendeadressierung annehmen, dass die
Sammelsende-IP-Adressenzuteilung
und -zuweisung für
jedes Verwaltungssystem für
Internetprotokollrechte transparent ist. Die Sitzungsbeschreibung
kann unter Verwendung von entweder dem SAP-Protokoll, dem RTSP-ANNOUNCE-(Ankündigungs-)Befehl
oder über
HTTP verteilt werden. Als Geschäftsmodell
lässt sich
auch annehmen, dass Per-Sendung-Bezahl-TV, Abonnement und Per-Zeit-Bezahl-TV
alle wünschenswerte
Erwerbsoptionen sind. Des Weiteren wird angenommen, dass ein fernsehartiges Kanalhüpfen ein
erwartetes Benutzererlebnis für
Rundsende- wie Sammelsendeverteilung ist.
-
Die
folgenden Begriffe, die in diesem Patent verwendet werden, verstehen
sich wie folgt:
- Inhaltanbieter – eine Instanz, die Inhalt
z. B. an die Caching-Server verteilt, ohne notwendigerweise Inhalt
zu verbrauchen.
- Verbraucher – eine
Instanz, die einen von einem Caching-Server erhaltenen Inhalt verbraucht
und wahlweise Inhalt an andere Verbraucher in dem System weiterverteilt.
Die Rollen des Verbrauchers, des Caching- Servers und des Inhaltanbieters können als
eine Matrix von Inhaltsquellen und -senken angesehen werden, die
durch erlaubte Verhaltensweisen und Transfers miteinander in Beziehung
stehen.
- Programm – ein
Stück spezifisch
gekennzeichneten Inhalts mit einem Anfang und einem Ende.
- Dienst – eine
fortwährende
Sammlung von Programmen auf demselben Strom.
- Laufendes Programm – ein
Programm, das keinen spezifisch definierten Anfang und kein spezifisch
definiertes Ende hat, welches Zuschauer üblicherweise zu jeder beliebigen
Zeit aufnehmen oder verlassen. Dies ist für „TV-Shopping", „Modeschauen", laufenden Sportinhalt
usw. geeignet.
- Erwerbsoption – ein
Mechanismus, der es einem Kunden ermöglicht, Inhalt zu erwerben.
- Abonnement – ein
Erwerbsmechanismus, bei dem sich der Kunde für den Inhalt im Wesentlichen
im Voraus anmeldet und möglicherweise
dafür im
Voraus zahlt. Der Kunde wird typischerweise für mehr als ein Programm (z.
B. den ganzen Dienst) autorisiert. Wenn nur ein einziges Programm
autorisiert wird, ist es als Buch-im-Voraus-PPV bekannt.
- Per-Sendung-Bezahl-TV (PPV = Pay-Per-View) – ein Erwerbsmechanismus, bei
dem sich der Kunde für
ein einzelnes Programm oder Programmbündel anmeldet und gleichzeitig
dafür zahlt.
Dieser Mechanismus kann über
das Netz oder lokal freigegeben werden. In dem über das Netz freigegebenen
Fall kontaktiert der Kunde die Infrastruktur, wenn er den Erwerb
wünscht,
und die Infrastruktur gibt den Erwerb frei. Dieser Ansatz weist aufgrund
von Höchstnachfragen
vor einem Programm häufig
Skalierprobleme auf. In dem lokal freigegebenen Fall, häufig „IPPV" oder „Impuls"-PPV genannt, nimmt
der Kunde den Erwerb selbst lokal vor und speichert eine Aufzeichnung
des Erwerbs. Zu einem späteren
Zeitpunkt wird die Aufzeichnung den Infrastruktursystemen zur Rechnungsstellung
mitgeteilt. Dieser Ansatz ist effektiv, wenn Ereignisse sammelgesendet
werden, beispielsweise, da das Netz vor dem Programmbeginn keinen
plötzlichen
Anstieg der Nachfrage erlebt. In dem lokal freigegebenen Fall kann
der Kunde außerdem
den Inhalt sofort sehen, da es keine Netzlatenz oder Nachrichtenaustauschverzögerungen
gibt. In beiden Fällen
gelten PPV-Erwerbungen typischerweise für ein ganzes Programm, unabhängig davon,
wieviel tatsächlich
angesehen wird.
- Per-Zeit-Bezahl-TV (PBT = Pay-Per-Time) – ein Erwerbsmechanismus, bei
dem der Kunde für
die Zeitdauer, über
die der Inhalt tatsächlich
angesehen wurde, zahlt. Bei unterschiedlichen Programmen oder Diensten
können
die einzelnen Zeitinkremente unterschiedliche Dauern aufweisen.
PBT ist auf einen kleinen Satz von Programmen und Diensten beschränkt, bei
denen ein Zuschauer einen wahllosen Zugang ohne Verlust des wahrgenommenen
Wertes tolerieren kann. Einige Sport- und Musikereignisse gehören zu diesem
Typ.
- Per-Qualität-Bezahl-TV
(PBQ = Pay-Per-Quality) – Inhalt
kann mit einer unterschiedlichen Qualität (d. h. Bitraten) angeboten
werden, entweder als getrennte Ströme oder als geschichtete Ströme, wobei
jede zusätzliche Schicht
dem Inhalt zusätzliche
Qualität
verleiht. Der Kunde kann die höchste
Bitrate mitteilen, die er verbrauchen kann, und ihm kann angeboten
werden, das Programm mit dieser oder einer geringeren Qualität zu erwerben.
Der Server kann auch die Rate in Echtzeit auf der Basis des unmittelbaren
Zustandes des Netzes einstellen. Wenn eine vorübergehende Netzüberlastung
erkannt wird, kann die Qualität
des Inhalts für
einen gewissen Zeitraum vermindert werden und dann wieder auf die
bekanntgemachte Qualität
zurückgehen.
Der Server kann solche Vorkommnisse verfolgen und sie dem Rechnungszentrum
mitteilen, das dem Benutzer weniger als den ursprünglichen
Preis berechnen könnte.
Der Kunde kann auch die von dem Benutzer wahrgenommene Bitrate gemäß der Benutzerwahl
einstellen. Zum Beispiel hat ein Miniaturbildprogramm für den Benutzer einen
Wert, aber nicht, wenn seine Kosten gleich denen für ein Programm
sind, das auf dem vollen Bildschirm im Wohnzimmer anschaubar ist.
-
Zeitpunkt
des Erwerbs-Kunden können
Inhalt zu unterschiedlichen Zeiten erwerben:
- Im Voraus – der Kunde
entscheidet sich, den Inhalt auf beträchtliche Zeit im Voraus zu
erwerben. Solch ein Erwerb kann zu dem gesamten Dienst wie etwa
einem Abonnement statt zu einem einzelnen Programm zugehörig sein.
- Knapp vor oder während
des Programms – der
Kunde entscheidet sich, den Inhalt kurz vor dem Anfang des Inhalts
oder während
des Inhalts, sehr nahe zum Beginn hin, zu erwerben.
- Videoabruf (VOD = Video On Demand) – VOD ist ein Punkt-zu-Punkt-Liefersystem, das
einen einzelnen Verbraucher mit einem Strom auf der Basis seiner
individuellen Auswahl gespeicherten Inhalts bedient. Der Verbraucher
kann solche Funktionen wie eine ,Pause', ,Schnellvorlauf' und ,Rücklauf' aufrufen, um das Anschauerlebnis auf
seine unmittelbaren Bedürfnisse
zuzuschneiden.
- Sammelsenden – Sammelsenden
ist dem bestehenden TV-Rundfunk ähnlich.
Es liefert denselben Inhalt zur gleichen Zeit an einen oder mehrere
Verbraucher. Dies ist üblicherweise
planmäßig und
kann Live-Inhalt
sein.
- Kostenlose Vorschau – die
kostenlose Vorschau ist ein Mechanismus, der es Dem Verbraucher
ermöglicht,
ein kleines Stück
(z. B. mehrere Minuten) anzusehen, bevor er für den Inhalt zahlen muss. Dies
wird verwendet, um Benutzer zu dem Inhalt zu locken. Eine andere
Verwendung liegt darin, Perioden dichten Serververkehrs, wie etwa
den Anfang eines PPV-Ereignisses,
wenn die meisten Verbraucher für
den Inhalt angemeldet werden, auszugleichen. Der Verbraucher darf
sie sich möglicherweise
ansehen, während
seine Berechtigungsnachweise validiert werden. (Nach dem Ende der
kostenlosen Vorschauperiode, oder wenn es keine Vorschau gibt, ist
es möglich,
Perioden dichten Serververkehrs weiter dadurch auszugleichen, dass
ein separater Gruppenschlüssel
benutzt wird, der angemeldeten Kunden im Voraus bekannt ist.) Die
kostenlose Vorschau kann mit einer geringeren Qualität angeboten
werden.
- Ursprungsinhaltsserver (OCS = Origin Content Server) – Server
auf einem Computer eines Inhaltanbieters, der z. B. einem Caching-Speicher
Inhalt bereitstellt.
-
Erwerbsmodelle
-
Bei
dem Modell der Punkt-zu-Punkt-VOD-Lieferung von Inhalt sind die
Erwerbsoptionen relativ einfach, da über jedes Stück Inhalt
(ein Ereignis) separat verhandelt wird. Daher ist das Per-Sendung-Bezahl-Modell
zur Punkt-zu-Punkt-VOD-Lieferung geeignet. Da die Kommunikation
zwischen Verbraucher und Server typischerweise eine Zweiwegeverbindung
ist, erfolgt der primäre
Mechanismus zur Verhandlung über
den Zugang zu dem Inhalt des Weiteren vor dem Anschauen des Inhalts
(im Gegensatz zu dem Speicher-und-Weiterleit-IPPV-Mechanismus, der
in traditionellen Systemen eingesetzt wird).
-
Das
Sammelsendemodell bietet unterschiedliche Mechanismen an, um Inhalt
auf der Basis (1) von Verbraucherpräferenzen, (2) der
Beschaffenheit des Inhalts oder (3) der Art der Bekanntmachung
des Inhalts zu verkaufen.
-
Per-Sendung-Bezahl-TV
-
Per-Sendung-Bezahl-TV
(PPV) in dem Sammelsendemodell kann darin dem Punkt-zu-Punkt-VOD-Modell ähnlich sein,
dass ein Kunde ein einzelnes Ereignis erwirbt. Ein Unterschied liegt darin,
dass das Ereignis einmal verschlüsselt
und von mehrere Kunden geteilt wird; daher verhandeln ein Computer
eines Benutzers und der Caching-Server über keinen eindeutigen Inhaltverschlüsselungscode
pro Benutzer.
-
Ein
anderer Unterschied liegt darin, dass eine große Anzahl Kunden Zugang zu
demselben Ereignis zur gleichen Zeit – dem Anfang dieses Ereignisses – anfordern
werden. Dies erzeugt eine hohe Belastung des Systems innerhalb eines
relativ kleinen Zeitfensters. Zur Befähigung der Skalierbarkeit ist
es möglich,
eine kostenlose Vorschauperiode aufzusetzen, um dem Caching-Server
genügend
Zeit zu geben, den Inhaltverschlüsselungscode
an alle Teilnehmer zu verteilen.
-
Das
folgende Beispiel veranschaulicht eine Ausführungsform der Implementierung
des Per-Sendung-Bezahl-Modells. Dieses PPV-Szenario ist dem „Inhalt
auf Abruf"-Fall ähnlich,
in dem der Benutzer bestimmt, welchen Inhalt er wann erhalten möchte. Wenn
der Ursprungsinhaltsserver (OCS) erkennt, dass der Kunde kein Abonnent
ist, führt
er den Kunden durch einen Satz Erwerbsoptionen und andere Inhaltszugangsregeln
und -einschränkungen.
Sobald der Kunde die Erwerbsoption auswählt, wird sie in dem gesicherten
Objekt eingeschlossen. Das gesicherte Objekt kann auch alle Regeln,
die zu dem gegebenen Stück
Inhalt zugehörig
sind, oder einen Untersatz davon einschließen.
-
Der
Kunde liefert das gesicherte Objekt und ein Etikett mit seinen eigenen
Berechtigungsdaten (z. B. eine Liste abonnierter Dienste, Standort,
Fähigkeit,
für den
Inhalt zu zahlen, usw.) an den Caching-Server. Der Caching-Server
untersucht das von dem Kunden präsentierte
gesicherte Objekt und Etikett, um zu bestimmen, dass die Kundenauswahl
aus dem gesicherten Objekt und die Berechtigungsinformationen aus
dem Etikett mit den Inhaltszugangsregeln übereinstimmen. Wenn alle Regeln
eingehalten werden, gewährt
der Caching-Server Zugang zu dem angeforderten Inhalt, indem er
den Inhaltverschlüsselungscode über den
Programmschlüssel
liefert, z. B. wird der Programmschlüssel unter Verwendung seines
eindeutigen Schlüssels
an den Kunden geliefert, während
der Inhaltsschlüssel
unter dem Programmschlüssel
verschlüsselt
ist.
-
Abonnement
-
In
einer Ausführungsform
lässt es
sich annehmen, dass es eine große
Anzahl (Tausende oder Zehntausende) von Videoabruf-Servern und eine
relativ kleinere Anzahl (Hunderte, möglicherweise Tausende) von Servern,
die Sammelsendeinhalt anbieten, gibt. Das Abonnement-Modell ist
sinnvoll, wenn es einen kontinuierlichen Strom von Inhalt gibt,
der die meiste Zeit verfügbar
ist und zu dem ein Verbraucher zurückzukommen tendiert.
-
Wenn
der Zuschauer den Dienst abonniert, kann dem Zuschauer bei seinem
ersten Zugang zu dem Dienst ein Dienstschlüssel gegeben werden, der eine
längere
Nutzungsdauer aufweist als ein Programmschlüssel, welcher einem einzelnen
Programmereignis zugewiesen werden würde. Mit diesem Schlüssel kann der
Zuschauer zu dem Dienst zurückkommen
und den Inhalt ansehen, ohne über
irgendwelche neuen Schlüssel
zu verhandeln. Dies trägt
dazu bei, das Erlebnis des Fernsehkanalhüpfens zu kreieren.
-
Ein
Ziel einer verwandten Ausführungsform
für ein
solches Modell ist es, dass der Caching-Server verfolgt, wie viele
Kunden sich den Inhalt und wann tatsächlich ansehen. Wenn für Buchführungszwecke
eine gewisse Gesamtheit von Verbrauchern dazu aufgefordert wird,
den Server jedesmal, wenn sie einen solchen Dienst aufsucht, zu
kontaktieren (wie bei der Nielsen-Zuschauer-Verfolgung für terrestrisches
Fernsehen), darf diesen Verbrauchercomputern kein Dienstschlüssel gegeben
werden, sondern nur ein neuer Programmschlüssel. Dies wäre eine
Konfiguration oder eine Abonnement-Option, die in dem Etikett eingeschlossen
wäre.
-
Es
ist zu beachten, das das Abonnement-Modell auch für das Punkt-zu-Punkt-VOD-Szenario
als monatlicher Festpreis zur Videoausleihe sinnvoll ist.
-
Das
folgende Beispiel veranschaulicht eine Ausführungsform einer Implementierung
des Abonnement-Modells. Wenn ein Ursprungsinhaltsserver (OCS) Teil
des Verteilungsnetzes wird, zeigt er an, ob er VOD-Inhalt oder Sammelsendeinhalt
bereitstellen wird. Wenn eine Option zum Abonnieren angeboten wird, teilt
ein Bereitstellungszentrum dem OCS eine oder mehrere Dienst-Kennungen
zu.
-
Wenn
der Kunde/Verbraucher diesen Dienst abonnieren möchte, muss er eine Kreditkartennummer oder
ein anderes geeignetes Verfahren zur Rechnungsstellung bereitstellen,
und sein Serveretikett wird, zum Beispiel in einer Kerberosumgebung,
mit der Liste der abonnierten Dienste und anderen Autorisierungsdaten wie
etwa Autorisierung, Zahlungsfähigkeit
usw. aktualisiert.
-
Wenn
der Kunde/Verbraucher eine Verbindung mit einem OCS initiiert, stellt
er die folgenden Informationen bereit: seine eindeutige Verbraucherkennung,
sein Erwerbsvermögen
(ein Anzeichen dafür,
dass die Kreditkartennummer aufgezeichnet und verifiziert worden
ist) und eine Liste der Dienste, die er abonniert hat. Wenn der
OCS Zahlungsinhalt anbietet, überprüft er zunächst, ob
der Kunde/Verbraucher für
den Inhalt zahlen kann. Wenn der Inhalt auf einer Abonnement-Basis
verfügbar
ist, wird die Liste abonnierter Dienste mit der/den Dienst-Kennung(en)
des OCS verglichen. Wenn der OCS auf der Liste steht, werden die
Erwerbsmenüs
umgangen und der Kunde wird zu dem richtigen Caching-Server umgeleitet.
Wenn der Kunde den Dienst nicht abonniert hat, werden ihm die Erwerbsoptionen
präsentiert.
In beiden Fällen
erstellt der OCS ein gesichertes Objekt, das die OCS-Dienst-Kennung,
die Quellenkennung, das ausgewählte
Erwerbsverfahren (z. B. Abonnement, PPV, PBT usw.) und ein Anzeichen,
ob es ein kostenloser oder zahlungspflichtiger Inhalt ist, und andere
Zugangsregeln einschließen
kann.
-
Wenn
sich der Kunde/Verbraucher mit dem Caching-Server, der den ausgewählten Inhalt
zur Verfügung
stellen kann, verbindet, präsentiert
er das Caching-Server-Etikett, das Informationen über die
Identität des
Kunden, sein Erwerbsvermögen
und eine Liste abonnierter Dienste zusammen mit dem von dem OCS
erhaltenen gesicherten Objekt einschließt. Es ist zu beachten, dass
der Kunde weder das Etikett noch das gesicherte Objekt von dem OCS
lesen oder verändern
kann.
-
Der
Caching-Server vergleicht die Informationen von dem gesicherten Objekt
und dem Etikett. Wenn die Informationen übereinstimmen, wird dem Kunden
Zugang zu dem Inhalt gewährt
(ihm wird der Inhaltverschlüsselungscode
gegeben – direkt
oder indirekt in diesem Fall unter Benutzung eines Dienstschlüssels geliefert).
Ansonsten wird ein Zugang zu dem Inhalt verweigert. Der Caching-Server
teilt auch die ausgewählte Erwerbsoption
in den an den Rechnungsstellungsdienst gelieferten Nutzungs- und
Rechnungsdaten mit.
-
Der
Kunde kann das gesicherte Objekt und den Dienstschlüssel cachen,
so dass er den OCS oder den Caching-Server nicht noch einmal kontaktieren
muss, wenn er den Dienst verlässt
und anschließend
wieder zu ihm zurückkommt
(obwohl dies für
den Benutzer transparent ist, führt
dies zu einer Verzögerung
der Akquisitionszeit).
-
Es
ist zu beachten, dass der Abonnement-Modus von dem unten beschriebenen
PPV-Modus ohne Verwendung des Dienstschlüssels simuliert werden kann.
Der Caching-Server oder das Rechnungsstellungssystem erkennt, dass
dieser Kunde ein Abonnent ist, und wird daher keine Rechnung für individuelle
Ereignisse auf diesem Dienst erstellen.
-
Per-Zeit-Bezahl-TV
-
Per-Zeit-Bezahl-TV
(PBT) ist für
Inhalt geeignet, der keine gut definierte Start- oder Endzeit oder
einen in sich geschlossenen Handlungsablauf aufweist, wie etwa Modeschauen
oder anhaltende Sportereignisse (z. B. die Olympiade).
-
Einige
bestehende Alternativen zu dieser Erfindung basieren auf einer Baumhierarchie
von Schlüsseln und
einem Algorithmus zum Umschlüsseln
von Unterbäumen
der Hierarchie, wenn ein Verbraucher die Gruppe verlässt. Diese
bestehenden Alternativen können
große
Sammelsendegruppen bewältigen,
aber nur, wenn die Häufigkeit,
mit der Verbraucher die Gruppe verlassen, relativ gering und zeitlich
gut verteilt ist. Eine Ausführungsform
der Erfindung andererseits ist entworfen, um große Steilanstiege der Anzahl
von Verbrauchern, die eine Sammelsendung verlassen, zu bewältigen.
-
Für einen
Quasi-PBT-Ansatz kann ein Caching-Server den Inhalt in Zahlungssegmente
unterteilen und ihnen Segmentschlüssel zuweisen. Alle Verbrauchercomputer
würden über einen
Schlüssel
für jedes
Segment verhandeln, um zu verfolgen, wie viele Segmente sie angesehen
haben. Dies erzeugt eine große
Belastung des Caching-Servers an den Segmentgrenzen. Dies kann durch
einen Schlüsselverwaltungsansatz
abgemildert werden, bei dem jedem Kundencomputer Schlüssel für das gegenwärtige wie
auch für
das nächste Segment
gegeben werden. Dies gibt dem Caching-Server genügend Zeit, um die Schlüssel für das nächste Segment
während
des gegenwärtigen
Segments zu verteilen.
-
Das
folgende Beispiel veranschaulicht eine Ausführungsform der Implementierung
des Per-Zeit-Bezahl-Modells. Gewisser Inhalt eignet sich möglicherweise
nicht zum Verkauf als PPV. Ein Beispiel hierfür ist Inhalt, der keinen gut
definierten Anfang und kein gut definiertes Ende oder einen spezifischen
Handlungsablauf hat. Dies kann Inhalt wie etwa Modeschauen, gewisse
Arten von Sportereignissen usw. einschließen. Zu dem Zeitpunkt, zu dem
der Zuschauer mit dem OCS über
die Erwerbsoptionen verhandelt, kann es sich der Zuschauer aussuchen,
die Per-Zeit-Bezahl-TV-Option auszuwählen, wenn sie angeboten wird.
Der Zuschauer wird darüber
aufgeklärt,
welche die Zahlungsperioden sind und welche Kosten jede Zahlungsperiode
trägt.
Die Auswahl des Zuschauers wird in ein gesichertes Objekt eingeschlossen.
-
Wenn
der Kunde mit dem Caching-Server über Verschlüsselungscodes verhandelt, beginnt
er, den Sammelsendeinhalt zu empfangen. Der Kunde überwacht
die Ablaufzeit für
jede Zahlungsperiode und fordert einen neuen Satz Schlüssel von
dem Caching-Server an. Wenn der Zuschauer das Ansehen beendet oder sich
zu einem anderen Dienst begibt, fordert der Kunde keine neuen Schlüssel an
oder benachrichtigt den Caching-Server
aktiv, dass er die gegenwärtige
Sammelsendesitzung verlassen möchte.
Der Caching-Server zeichnet die Zeit, wenn jeder Kunde die Sammelsendung
aufnimmt oder verlässt,
für Rechnungsstellungszwecke
auf.
-
Kostenlose
Vorschau
-
In
einer Ausführungsform
der Erfindung kann den Kundencomputern in dem Sammelsendesystem eine
kostenlose Vorschau eines Programms bereitgestellt werden. Unter
Bezugnahme auf 3 ist ein Flussdiagramm 300 zum
Implementieren dieser Ausführungsform
der Erfindung zu sehen. In Block 304 wird verschlüsseltes
Material zur Verteilung an einen Kunden bereitgestellt. Solch verschlüsseltes
Material könnte
zum Beispiel von einem Inhaltsaustausch wie etwa einem großstädtischen
Videoaustausch oder einem Ursprungsserver, von dem der Inhalt stammt,
bereitgestellt werden. In Block 308 wird ein Schlüssel zur
Verwendung durch den Kundencomputer beim Entschlüsseln des ersten Abschnitts
des verschlüsselten
Programmmaterials im Voraus, zum Beispiel während der Bereitstellung, bereitgestellt.
In Block 312 des Verfahrens 300 wird der erste
Abschnitt des verschlüsselten
Programmmaterials an mindestens einen der Kunden verteilt. Schließlich kann
in Block 316 der Kunde den Schlüssel, der ihm zum Erhalten
des kostenlosen Vorschauabschnitts des Programms bereitgestellt
wurde, benutzen. Bis das Programm mit einem anderen Schlüssel verschlüsselt wird,
kann der Kunde somit das Programmmaterial entschlüsseln und
eine Vorschau des Programms ohne Gebühr erhalten.
-
Der
Dienstanbieter könnte
es einem Benutzer auf diese Weise ermöglichen, einen ersten Abschnitt des
Programmmaterials zu erhalten, indem er über einen vorbestimmten Zeitbetrag
davon absieht, den Code der Verschlüsselung zu ändern. Dies würde es einem
Benutzer ermöglichen,
die Vorschau durch die Verwendung des Verschlüsselungscodes anzuschauen.
-
4 veranschaulicht
noch eine weitere Ausführungsform
der Erfindung. Im Flussdiagramm 400 von 4 wird
einem Kunden ein Schlüssel
zur kostenlosen Vorschau im Voraus, z. B. während der Bereitstellung, bereitgestellt,
wie in Block 420 gezeigt. In Block 404 wird verschlüsseltes
Material zur Verteilung an einen Kunden bereitgestellt. In Block 408 wird
ein Inhaltsschlüssel
bereitgestellt. Der Inhaltsschlüssel
wird mit einem Schlüssel
zur kostenlosen Vorschau verschlüsselt,
wie in Block 412 gezeigt. Der verschlüsselte Inhaltsschlüssel wird
dann der Vielzahl von Kunden bereitgestellt, wie von Block 416 gezeigt.
Die Kunden können
dann den Schlüssel
zur kostenlosen Vorschau bei dem Kunden benutzen, um den verschlüsselten
Inhaltsschlüssel
zu entschlüsseln,
wie in Block 424 gezeigt. Ein erster Abschnitt des verschlüsselten
Programmmaterials kann an die Vielzahl von Kunden verteilt werden,
wie in Block 428 gezeigt. Die Kunden können den Inhaltsschlüssel dann
benutzen, um den verschlüsselten
Programminhalt zu entschlüsseln
und dadurch eine kostenlose Vorschau des Programminhalts zu erhalten,
wie in Block 436 gezeigt. Während dieses Prozesses kann
ein Benutzer über
eine Anzeige auf dem Bildschirm mit einem Angebot zum Erwerb des
Programmmaterials 440 aufgefordert werden. Zu diesem Zeitpunkt
kann der Benutzer sein Einverständnis
zu dem Angebot über
eine Benutzerschnittstelle anzeigen und dadurch den Programminhalt
erwerben. Zu diesem Zeitpunkt könnte
ein neuer Schlüssel
zur Verwendung beim Entschlüsseln
des verbleibenden verschlüsselten
Abschnitts des Programms an den Benutzer verteilt werden.
-
Statt
der Lieferung eines Inhaltsschlüssels,
der mit einem Schlüssel
zur kostenlosen Vorschau (FPK = Free Preview Key) verschlüsselt ist,
kann der FPK als Alternative auch verwendet werden, um den anfänglichen
Abschnitt des Inhalts direkt zu verschlüsseln, in welchem Fall der
anfängliche
Inhaltsschlüssel
den gleichen Wert aufweist wie der FPK.
-
Noch
eine andere Alternative ist es, einen Programmsegmentschlüssel (PSK
= Program Segment Key) zu verteilen, der mit dem FPK verschlüsselt ist.
Der PSK wird dann benutzt, um den Inhaltsschlüssel, der mit dem PSK verschlüsselt ist,
zu liefern.
-
Es
sollte sich verstehen, dass die verschiedenen in diesem Patent beschriebenen
Ausführungsformen zum
Beispiel mit wiederholten Vorgängen
während
einer Programmsammelsendung erreicht werden können. Auf diese Weise können in 4 die
Blöcke 412 und 428 mehr
als einmal wiederholt werden. Auf ähnliche Weise sollte es sich
verstehen, dass einige beschriebene Vorgänge zur gleichen Zeit stattfinden
können.
Die Blöcke 412 und 428 können wiederum
zum Beispiel zur gleichen Zeit auftreten. Während einige Beispiele aus Gründen der
Vereinfachung eine Beziehung zwischen einem Server und einem Kunden
beschreiben können, sollte
es sich zusätzlich
dazu verstehen, dass mehr als ein Kunde teilnehmen kann.
-
Unter
Bezugnahme auf 5 wird noch eine weitere Ausführungsform
der Erfindung gezeigt. Im Verfahren 500 aus 5 wird
Programmmaterial zunächst
zur Verteilung bereitgestellt, wie in Block 504 gezeigt. Ein
erster Abschnitt des Programmmaterials wird über das Netz an Kundencomputer
verteilt, wie in Block 508 gezeigt. In Block 512 wird
es dem Benutzer ermöglicht,
den verbleibenden Programminhalt zu erwerben. Während der erste Abschnitt des
Programmmaterials nicht verschlüsselt
wird, wird der verbleibende Abschnitt des Programms verschlüsselt, wie
in Block 516 gezeigt. Auf diese Weise kann ein Schlüssel z.
B. auf einem Server bereitgestellt werden, um diesen verbleibenden
Abschnitt des Programms zu verschlüsseln. In Block 520 wird der
verbleibende Abschnitt des Programms an die Kundencomputer verteilt,
die den verbleibenden Programminhalt in Block 512 angefordert
haben, um die verbleibenden Kundencomputer davon abzuhalten, den verschlüsselten
verbleibenden Abschnitt des Programms ohne die richtigen Entschlüsselungsmittel
empfangen oder anschauen zu können.
Auf diese Weise kann der Benutzer mit einem Schlüssel versehen werden, der betriebsfähig ist,
um den verschlüsselten
Abschnitt des Programmmaterials zu entschlüsseln. Dies ist noch ein weiteres
Verfahren des Bereitstellens einer kostenlosen Vorschau, insoweit
als das anfängliche
Programmmaterial ohne Verschlüsselung
verteilt wird, während
der verbleibende Abschnitt verschlüsselt wird. Somit benötigen die
Kundencomputer keinen Entschlüsselungscode,
um den ursprünglichen
Abschnitt des Programmmaterials anzuschauen. Ein Benutzer kann auf
diese Weise den anfänglichen
Abschnitt des Programmmaterials kostenlos anschauen und sich frei
entscheiden, ob er den verbleibenden Abschnitt des Programms erwerben
möchte
oder nicht.
-
6 veranschaulicht
noch eine weitere Ausführungsform
der Erfindung. Im Verfahren 600 aus 6 wird ein
Server zur Kommunikation mit mehreren Kundencomputern in Block 604 bereitgestellt.
Der Server ist konfiguriert, um den mehreren Kundencomputern ein
Programm von Inhaltsmaterial bereitzustellen, wie in Block 608 veranschaulicht.
Zum Beispiel könnte
eine Sammelsendeanordnung implementiert werden. In Block 612 wird
ein kostenloser Vorschauabschnitt des Programms zum Anschauen durch
die Kundencomputer bereitgestellt. Es sei davon ausgegangen, dass
der Kunde es sich gegen Ende der kostenlosen Vorschauperiode ausgesucht
hat, den Rest des Inhalts anzuschauen. Es ist wahrscheinlich nicht
genügend
Zeit übrig,
um mit dem Server zu kommunizieren und den zum Entschlüsseln des
Films notwendigen Schlüssel
zu empfangen; daher wird der angeschaute Inhalt zu einem Halt kommen
und dann einige Zeit später
wieder aufgenommen, nachdem solche Schlüssel angekommen sind. Die Erfindung
mit dem Konzept der anfänglichen
Vorschauperiode bietet einen Weg, auf dem das kontinuierliche Anschauen
trotz einer Latenz bei der Serverschlüsselverteilung möglich ist.
Block 620 veranschaulicht, dass eine anfängliche
Vorschauperiode für
einen Zeitraum bereitgestellt werden kann, der dafür ausreicht,
dass eine vorbestimmte Anzahl von Kunden Schlüssel zum Entschlüsseln des
verschlüsselten
Abschnitts des Programms empfangen.
-
7A veranschaulicht
einen Graphen, der die Anzahl Anforderungen eines Programms über der Programmdauer
zeigt. Wie aus 7A ersichtlich ist, sieht eine
anfängliche
kostenlose Vorschauperiode vor, dass Kundencomputer einen anfänglichen
Schlüssel
zum Anschauen eines verschlüsselten
Abschnitts des Programms anfordern. Diese Anzahl Anforderungen ist
wahrscheinlich in der kostenlosen Vorschauperiode hoch und fällt dann
in der verbleibenden Programmdauer ab. Auf diese Weise ermöglicht es
die kostenlose Vorschauperiode, dass das System die Anforderungen
von Schlüsseln
während
des anfänglichen
Anschauens des Programms unterbringt.
-
Unten
in 7A ist die Verteilung der Inhaltsschlüssel 0,
1 und 2 gezeigt. Der Inhaltsschlüssel
0 wird dem Benutzer in einer Ausführungsform zum Erhalten der
kostenlosen Vorschau bereitgestellt. Die Inhaltsschlüssel 1 und
2 veranschaulichen ein Beispiel, in dem nur zwei Schlüssel erforderlich
sind, um den Rest des Programminhalts zu entschlüsseln.
-
Beispielsweise
kann der Schlüssel
0 ein wohl bekannter Schlüssel
zur kostenlosen Vorschau sein, ein Inhaltverschlüsselungscode, der unter dem
Schlüssel
zur kostenlosen Vorschau verschlüsselt
ist, oder der Inhalt kann in der kostenlosen Vorschauperiode gar
nicht verschlüsselt
sein. Der Schlüssel
1 würde
einen Gruppenschlüssel
selbst oder einen Inhaltverschlüsselungscode,
der unter dem in der anfänglichen
Anschauperiode verwendeten Gruppenschlüssel verschlüsselt ist,
darstellen. (Im letzteren Fall dient Block 616 dazu, den verschlüsselten
Inhaltsschlüssel
an die Kunden sammelzusenden.) Und der Schlüssel 2 wäre der tatsächliche Inhaltverschlüsselungscode,
der nur an diejenigen Kunden geliefert wird, die den Inhalt erworben
haben. Auf diese Weise schauen Kunden, die sich auf den Inhalt abstimmen,
zunächst
eine kostenlose Vorschau an und treffen eine Entscheidung zum Kauf.
Diejenigen, die solche Anforderungen vornehmen, verwenden den Gruppenschlüssel, damit
ihr Anschauerlebnis weitergehen kann. Der Server würde den
Schlüssel
2 während
dieser Zeit liefern, so dass diese Zuschauer den Rest des Inhalts
auf eine kontinuierliche Weise weiter anschauen können. Es
ist zu beachten, dass das Konzept der anfänglichen Anschauperiode gültig ist,
ob das Programm eine kostenlose Vorschau anbietet oder nicht.
-
Schlüsselverteilung
-
Unter
verschiedenen Verteilungsverfahren wie etwa Per-Zeit-Bezahl-TV,
Per-Sendung-Bezahl-TV, auf Abonnement-Basis usw. können Verschlüsselungscodes
an Kunden verteilt werden, um den Empfang des Programminhalts zu
erleichtern. Eine Ausführungsform
der Erfindung stellt eine Mehrebenen-Schlüsselhierarchie bereit, um die
verschiedenen Erwerbsoptionen wie etwa Per-Sendung-Bezahl-TV oder
Per-Zeit-Bezahl- TV
unterzubringen. In einer Ausführungsform
der Erfindung können
die unterschiedlichen Arten von Schlüsseln und ihre Beziehungen
wie folgt konfiguriert sein:
- Eindeutiger Schlüssel (UK
= Unique Key): Dies könnte
zum Beispiel ein Sitzungsschlüssel
sein, der einem Kunden in einer Kerberosumgebung von dem Kerberos-Schlüsselverteilungszentrum
(KDC = Key Distribution Center) während des Etikettanforderungsnachrichtenaustausches
gegeben wird. Dieser Schlüssel
ist für
jeden Zuschauer und jede Sitzung eindeutig. Der Kunde behält eine
Liste mehrerer UK, einen für
jeden Caching-Server. Jeder UK wird verwendet, um den Schlüsselanforderungsnachrichtenaustausch
mit einem bestimmten Caching-Server zu initiieren. Der UK kann ebenfalls
benutzt werden, um einen verschlüsselten
Inhaltsschlüssel
(CK = Content Key), Dienstschlüssel
(SK = Service Key), Programmschlüssel
(PK = Program Key) oder Programmsegmentschlüssel (PSK = Program Segment
Key) zu liefern.
- Dienstschlüssel
(SK = Service Key): Dieser Schlüssel überspannt
mehr als eine Programmspanne und wird als Abonnement-Schlüssel mit
einer Dauer von mehreren Tagen bis mehreren Monaten verwendet. Er
wird von allen Abonnenten des Dienstes geteilt, kann sich aber von
Caching-Server zu Caching-Server unterscheiden. Wenn ein Kunde einen
von einem bestimmten Caching-Server angeforderten Dienst abonniert
hat, wird ihm beim ersten Mal, an dem der Caching-Server von dem
Kunden aufgesucht wird, während
des Schlüsselanforderungsnachrichtenaustausches
der SK gegeben, der unter Verwendung des UK des Kunden verschlüsselt wurde.
Sobald der Kunde den Schlüssel
hat, kann der Kunde den Inhalt dieses Dienstes entschlüsseln, bis
der SK abläuft.
Zu dem Zeitpunkt (oder vorzugsweise angemessen lange genug im Voraus,
um ein Überladen
des Servers zu vermeiden), fordert der Kunde die nächste Version
des SK von dem Caching-Server an.
-
Dieser
Mechanismus ermöglicht
es Kunden mit Abonnements, den Dienst schnell zu erlangen, ohne mit
dem Caching-Server über
Schlüssel
zu verhandeln, so dass die Belastung des Caching-Servers reduziert wird.
Dies setzt voraus, dass der Inhaltverschlüsselungscode, der Programmsegmentschlüssel und
der Programmschlüssel
häufig
verteilt werden.
-
Programmschlüssel (PK
= Program Key): Dieser Schlüssel
ist für
eine Programmspanne gültig.
Er wird verwendet, um Zugang zu einem individuellen Programmereignis,
das unter Verwendung der Per-Sendung-Bezahl-TV-Option erworben wurde, zu
gewähren. Ähnlich dem
SK wird er dem Kunden während
des Schlüsselanforderungsnachrichtenaustausches
gegeben. Der PK kann auch mit dem SK verschlüsselt werden und an alle Kunden,
die den SK besitzen, verteilt werden.
-
Programmsegmentschlüssel (PSK
= Program Segment Key): Dieser Schlüssel wird verwendet, um ein einzelnes
Programmereignis oder einen ganzen Dienst in erwerbliche Segmente
zu unterteilen. Die PSK werden unter Verwendung von entweder Einzelsende-
oder Sammelsendeverteilung geliefert. Kunden, die die Per-Zeit-Bezahl-TV-Erwerbsoption verwenden,
erhalten den PSK unter Verwendung des Schlüsselanforderungsnachrichtenaustausches.
Kunden, die die PPV-Erwerbsoption
verwenden, empfangen den PSK verschlüsselt unter dem PK unter Verwendung
der Sammelsendeverteilung. Kunden mit einem Abonnement können den
PSK verschlüsselt
unter dem SK oder PK unter Verwendung der Sammelsendeverteilung
empfangen. (Alternativ dazu können
Kunden mit einem Abonnement einen direkt unter dem SK verschlüsselten
CK empfangen.) Diese Segmente können
sich überschneiden,
um die Skalierbarkeit zu fördern.
Zu jedem gegebenen Zeitpunkt werden zwei PSK verteilt: der gegenwärtige PSK
und der nächste.
Dies ermöglicht
es Kunden, den Inhalt weiter zu empfangen, während sie den nächsten Satz
PSK von dem Caching-Server anfordern.
-
Inhaltsschlüssel (CK
= Content Key): Dieser Schlüssel
wird verwendet, um den Inhalt selbst zu verschlüsseln. Er sollte sich mindestens
so häufig
wie der PSK ändern.
Er kann auf verschiedenen Wegen verteilt werden, z. B.: (1) verschlüsselt unter
dem PSK für
diejenigen Zuschauer, die die Per-Zeit-Bezahl-TV-Option auswählen, (2)
verschlüsselt
unter dem PK oder UK für
Benutzer, die die PPV-Option auswählen, oder (3) verschlüsselt unter
einem SK für
diejenigen, die den Dienst abonniert haben.
-
Gruppenschlüssel (GK
= Group Key): Dieser Schlüssel
wird verwendet, um den CK oder den PSK, der wiederum den CK für die anfängliche
Anschauperiode verschlüsselt,
zu verteilen. Kunden erhalten den GK vor den auf PPV- oder PBT-Basis
verkauften Programmereignissen, zum Beispiel während der Bereitstellung. Das gibt
dem Zuschauer die Option, den Anfang des Inhalts anzusehen, während der
Kunde mit dem Caching-Server über den
(die) anderen Schlüssel
verhandelt.
-
Schlüssel zur
kostenlosen Vorschau (FPK = Free Preview Key): Dieser Schlüssel wird
verwendet, um den CK oder den PSK, der wiederum den CK für den Inhalt
in der anfänglichen
kostenlosen Vorschauperiode verschlüsselt, zu verteilen. Dies kann
ein fester Schlüssel
sein, der allen Kunden bekannt ist oder während der Bereitstellung verteilt
wird.
-
Tabelle
1 zeigt verschiedene Ausführungsformen
der Erfindung zur Verteilung der verschiedenen Schlüssel an
Kunden. Wie in Tabelle 1 gezeigt, werden nur Schlüssel, die
an individuelle Kunden unter Verwendung des UK verteilt werden (gezeigt
als unter dem UK verschlüsselte
Schlüssel),
auf eine Einzelsendeweise geliefert. Diese einheitenaddressierten
Nachrichten erfüllen
die Funktion der Freigabemeldung (EMM = Entitlement Management Message).
Als Alternative dazu können
mehrere EMM, die mit unterschiedlichen UK verschlüsselt sind,
zur verbesserten Effizienz in eine einzelne Sammelsendenachricht
kombiniert werden. Andere Schlüssel
können
nur einmal pro Gruppe autorisierter Kunden verschlüsselt und
sammelgesendet werden, da sie nur von denjenigen Kunden, die die
Schlüssel
höherer
Ordnung besitzen, entschlüsselt
werden können.
Diese gruppenadressierten Sammelsendenachrichten übernehmen
die Rolle von Steuermeldungsnachrichten (ECM-Nachrichten, ECM =
Entitlement Control Message).
-
-
Die
unterschiedlichen Ausführungsformen
der Erfindung stellen Modelle zur Verteilung der Schlüssel bereit,
die oben umrissen sind. Zum Beispiel könnten ein „Anfrage"-Modell („Pull"-Modell), ein „Abgabe"-Modell („Push"-Modell) und ein kombiniertes „Anfrage-Abgabe"-Modell („Push-Pull"-Modell) benutzt
werden. Dem Anfrage-Modell zu Folge verfolgt jeder Kunde die Schlüssel und
ihre Ablaufzeiten und fordert neue Schlüssel aktiv an, bevor die gegenwärtigen Schlüssel ablaufen,
um Dienstunterbrechungen zu vermeiden. Alternativ dazu überträgt das Abgabe-Modell
die Verantwortung auf den Server, der aktive Kunden verfolgt und
neue Schlüssel
an sie verteilt, bevor die gegenwärtigen Schlüssel ablaufen. Reine Abgabe-Modelle
können
auch eine Form wiederholter Verteilung aus Verlässlichkeitsgründen einschließen. Zum
Beispiel kann das Per-Sendung-Bezahl-TV-Erwerbsmodell den Anfrage-Modus zur Schlüsselverteilung
benutzen, da der Server wissen muss, welcher Kunde das Programm
erwirbt, um diesen Kunden eine Rechnung zu erstellen. Inhaltsschlüssel, d.
h. die Schlüssel,
die zum Verschlüsseln
des Programminhalts selbst verwendet werden, müssen während eines Per-Sendung-Bezahl-TV-Ereignisses
nicht geändert
werden. Ein Kunde kann einen Programmschlüssel anfragen, der zum Verschlüsseln des
Inhaltsschlüssels
für das
Per-Sendung-Bezahl-TV-Programm verwendet wird. Auf diese Weise sind
während
des Per-Sendung-Bezahl-TV-Ereignisses
keine anderen Schlüssel
erforderlich; der Server kann jedoch verfolgen, welcher Kunde den
Schlüssel
zum Empfangen des Per-Sendung-Bezahl-TV-Ereignisses
angefragt hat. Auf ähnliche
Weise kann das Abonnement-Zahlungsmodell, bei dem ein Benutzer einen
Abonnement-Preis zahlt, um ein Programm über einen längeren Zeitraum zu empfangen, ebenfalls
den Anfrage-Modus benutzen. In der anfänglichen Anforderung nach dem
Abonnement-Modell fordert der Kunde zum Beispiel das Abonnement
an und fragt einen Dienstschlüssel
an, der unter dem eindeutigen Schlüssel für diesen Kunden verschlüsselt ist.
Das Abonnement-Modell ermöglicht
es dann, den Abgabe-Modus zu benutzen, indem Programmschlüssel für Per-Sendung-Bezahl-TV-Ereignisse oder Programmsegmentschlüssel für Per-Zeit-Bezahl-TV- Ereignisse unter
dem Dienstschlüssel
verschlüsselt
an den Kunden abgegeben werden. Auf ähnliche Weise wird der Inhaltsschlüssel unter
dem Programmsegmentschlüssel
verschlüsselt
an den Kunden abgegeben. Das Abonnement-Modell kann somit sowohl
den Anfrage- als auch den Abgabe-Modus benutzen. Das Schlüsselverteilungs-Anfrage-Modell, das Schlüsselverteilungs-Abgabe-Modell
und die kombinierten Schlüsselverteilungs-Anfrage-/Abgabe-Modelle
werden unten ausführlicher
erläutert.
-
Das
Schlüsselverteilungs-Anfrage-Modell
ermöglicht
es, dass jeder Kunde Schlüssel
aktiv von dem Server anfordert. In 8 ist ein
Flussdiagramm 800 zum Implementieren eines Schlüsselverteilungs-Anfrage-Systems
veranschaulicht. In Block 810 empfängt ein Server eine Anforderung
eines kryptographischen Schlüssels
von einem Kunden. Der Server protokolliert die Anforderung des Schlüssels in
Block 814. So ein Protokolleintrag könnte zum Beispiel in einem
Protokoll wie etwa einer von dem Server unterhaltenen Datenbank
vorgenommen werden. In Block 818 werden der Schlüssel und
seine Ablaufzeit an den Kunden als Antwort auf die Anforderung von
dem Kunden verteilt. Auf diese Weise muss der Server den Status
der Schlüssel des
Kunden nicht überwachen;
stattdessen kann die Verantwortung der Bestimmung, wann ein neuer
Schlüssel
erforderlich ist, an den Kunden übergeben
werden. In Block 822 wird der Programminhalt zur Entschlüsselung
durch den Kunden unter Benutzung des angeforderten kryptographischen
Schlüssels
verteilt. Schließlich können in
Block 826 die Protokolleinträge benutzt werden, um dem Kunden
auf der Basis der Rechnungsstellungsparameter der Rechnungsstellungsanordnung
eine Rechnung zu erstellen.
-
9 veranschaulicht
ein Flussdiagramm 900 gemäß noch einer weiteren Ausführungsform
der Erfindung. Das Verfahren 900 veranschaulicht zum Beispiel,
dass zwei Programmsegmentschlüssel
benutzt werden können, um
den gleichen Inhaltsschlüssel
in zwei unterschiedlichen Sammelsendenachrichten an einen Kunden
zu übertragen.
Wenn ein Benutzer noch keinen neuen Programmsegmentschlüsselempfangen
hat, kann der Inhaltsschlüssel
somit erhalten werden, indem der alte Programmsegmentschlüssel verwendet
wird. Dieser „weiche" Schlüsselübergang
ermöglicht
eine Flexibilität
beim Empfang der Schlüsselaktualisierungen. Während dies
es den Kunden, die den neuen Programmsegmentschlüssel nicht angefordert hatten,
ermöglichen
würde,
das nächste
Segment zu empfangen, verhindert es die Unterbrechung des Dienstes
für diejenigen
Kunden, die den neuen Programmsegmentschlüssel angefordert haben. Dieses
Problem kann abgeschwächt
werden, indem das Programmsegment in kleinere Inhaltverschlüsselungsspannen
unterteilt wird.
-
In
Block 910 wird wiederum eine Anforderung eines kryptographischen
Schlüssels
von einem Kunden empfangen. Die Anforderung für den Schlüssel wird wie in Block 914 gezeigt
protokolliert. In Block 918 wird das Segment des Programminhalts,
für das
der Schlüssel
verwendet werden kann, in der Protokollaufzeichnung protokolliert.
Der Server braucht wiederum den Bedarf an einem Schlüssel seitens
eines Kunden nicht zu überwachen.
Stattdessen kann der Kunde unabhängig
von dem Server mit dem Anfordern des Schlüssels vorgehen. In Block 926 wird
der gewünschte
Schlüssel
mit einem ersten Programmsegmentschlüssel verschlüsselt. In
Block 930 wird der verschlüsselte Schlüssel als Teil einer ersten
Sammelsendenachricht verteilt. Alternativ dazu kann der Schlüssel bei
einer anderen Ausführungsform
an den Kunden einzelgesendet werden. Auf diese Weise könnte ein
eindeutiger Schlüssel
für einen
bestimmten Kunden verwendet werden, um den neuen Schlüssel an
diesen bestimmten Kunden zu verteilen. Der erwünschte Schlüssel wird auch als Teil einer
zweiten Sammelsendenachricht verteilt. Dies ist in Block 934 gezeigt,
in dem der Schlüssel
unter einem zweiten Programmsegmentschlüssel verschlüsselt und
als Teil einer zweiten Sammelsendenachricht verteilt wird. In Block 938 wird
der Programminhalt zur Entschlüsselung
durch den Kunden unter Benutzung des übertragenen Schlüssels verteilt.
Schließlich
wird dem Kunden in Block 942 auf der Basis jeglicher Protokolleinträge eine
Rechnung erstellt.
-
Beim
Protokollieren der Anforderung eines Schlüssels kann ein Server eine
Vielfalt an Informationen über
die Anforderung protokollieren. Beispielsweise können die Zeit und das Segment,
für die
der angeforderte Schlüssel
galt, aufgezeichnet werden. Diese Aufzeichnungen können dann
später
an das Rechnungsstellungssystem weitergeleitet werden, um sie zum
Bestimmen der Länge
des von jedem Kunden angesehenen Inhalts auszuwerten. Der Server
muss Schlüssel
an Kunden nicht verfolgen und aktiv verteilen; stattdessen kann
er einfach darauf warten, dass der Kunde einen neuen Schlüssel anfordert.
-
Unter
einem Schlüsselverteilungs-Anfrage-Modell
fordert jeder Kunde einen neuen Schlüssel an, und ihm wird individuell
von dem Schlüsselverteilungsserver
geantwortet. Der Server kann eine Liste aktiver Teilnehmer in einer
Sammelsendesitzung auf der Basis dieser ersten Schlüsselanforderung
unterhalten. Allen Kunden auf dieser Liste können dann periodisch neue Schlüssel gegeben
werden, wobei eine Sammelsende-UDP-Nachricht verwendet wird, die
einen neuen Programmsegmentschlüssel
aufweist, der für
jeden Teilnehmer unter Verwendung des eindeutigen Schlüssels des
Teilnehmers verschlüsselt
ist. Wenn sich ein Kunde entscheidet, die Sammelsendesitzung zu
verlassen, sendet der Kunde eine authentifizierte Anforderung an den
Server mit dem Antrag, von der Liste gestrichen zu werden. Dies
signalisiert dem Server, die Zeit, zu der der Kunde aufhörte, den
Inhalt zu empfangen, zu protokollieren, damit dem Kunde für späteren Inhalt
keine Rechnung erstellt wird. Auf diese Weise kann der Kunde von
der Liste aktiver Teilnehmer gestrichen werden und empfängt die
nächste
Schlüsselaktualisierungsnachricht
nicht. Theoretisch könnte
der Kunde zwar den Schlüssel
besitzen und somit den Inhalt entschlüsseln; der Server kann jedoch
in regelmäßigen Abständen neue
Schlüssel
an die aktiven Teilnehmer ausgeben, um zu verhindern, dass der gestrichene
Kunde weiteren Inhalt entschlüsselt.
-
Nach
einer weiteren Ausführungsform
der Erfindung kann ein Schlüsselverteilungs-Abgabe-Modell implementiert
werden, um Schlüssel
von einem Server an einen Kunden zu verteilen. 10 veranschaulicht auf
diese Weise ein Flussdiagramm 1000 zum Implementieren eines
Schlüsselverteilungs-Abgabe-Modells.
In Block 1010 empfängt
ein Server eine Anforderung eines ersten Schlüssels von einem Kunden. In
Block 1020 erstellt der Server eine Liste von Kunden, die
den ersten Schlüssel
angefordert haben. In Block 1030 wird eine Sammelsendenachricht
an Kunden verteilt, um einen zweiten Schlüssel zu verteilen, der beim
Entschlüsseln des
Programminhalts direkt oder indirekt benutzt wird.
-
11 veranschaulicht
ein Flussdiagramm 1100, das eine ausführlichere Ausführungsform
zu dem in 10 gezeigten Verfahren zeigt.
In Block 1110 wird eine Anforderung eines ersten Schlüssels von
einem Kunden empfangen. Der Server erstellt in Block 1120 eine
Liste von Kunden, die diesen ersten Schlüssel anfordern. In Block 1130 wird
ein eindeutiger Schlüssel
jedes der Kunden benutzt, um einen zweiten Schlüssel zu verschlüsseln, bevor
dieser zweite Schlüssel
an jeden Kunden jeweils verteilt wird. Der Server verteilt dann eine
Sammelsendenachricht an die Kunden, um den zweiten Schlüssel, der
zum Beispiel unter dem eindeutigen Schlüssel jedes Kunden verschlüsselt ist,
wie in Block 1140 gezeigt, zu verteilen. In Block 1150 zeigt
ein Kunde dem Server an, dass er die Sammelsendesitzung verlässt. Zu
diesem Punkt wird der Kunde als Antwort auf die Nachricht des Kunden
von der Liste gestrichen, wie in Block 1160 gezeigt. In
Block 1170 wird ein Eintrag protokolliert, um aufzuzeichnen,
wann der Kunde die Sitzung verlassen hat, damit dem Kunde keine
Rechnung für
zusätzlichen
Inhalt erstellt wird. Ein dritter Schlüssel wird an Kunden verteilt,
die auf der Liste verbleiben, um zu verhindern, dass ein gestrichener
Kunde später
vorkommenden Inhalt empfängt,
wie in Block 1180 gezeigt. Der dritte Schlüssel kann
somit an auf der Liste verbleibende Kunden verteilt werden. Auf
diese Weise können
der erste, zweite und dritte Schlüssel als Programmsegmentschlüssel zum
Entschlüsseln
jeweiliger Inhaltsschlüssel
für Programminhalt
benutzt werden.
-
Das
Schlüssel-Abgabe-Modell
und das Schlüssel-Anfrage-Modell
können
in einem kombinierten Modell zur Verteilung von Schlüsseln an
Kunden kombiniert werden. Wie in 12 gezeigt,
kann ein Verfahren 1200 für diese Ausführungsform
der Erfindung benutzt werden. In Block 1210 wird ein Schlüssel zur
Verwendung beim Entschlüsseln
von Programminhalten an einen Kunden verteilt. Der Server, der den
Schlüssel
verteilt, erwartet die Bestätigung,
dass der Kunde den Schlüssel
empfangen hat, wie in Block 1220 gezeigt. In Block 1230 wartet
der Server über
einen vorbestimmten Zeitraum darauf, dass der Kunde den Empfang
des Schlüssels
bestätigt.
Wenn die Bestätigungsnachricht
von dem Server nicht empfangen wird, streicht der Server den Kunden
von der Liste, wie in Block 1240 gezeigt, so dass eine
Bestätigungsnachricht
als eine „Herzschlag "-Nachricht wirkt.
Der Server gibt somit nicht nur die Schlüssel an den Kunden ab, sondern
empfängt von
jedem Kunden auch Nachrichten, ähnlich
wie in dem Anfrage-Modus.
-
Ein
Verfahren, um dies zu erreichen, besteht darin, dass jeder Kunde
mindestens einmal während
jedes Programmsegments eine „Am-Lebenerhalten"-Nachricht sendet.
Der Server erhält
eine Liste aktiver Teilnehmer und verteilt an sie neue Segmentschlüssel über eine Sammelsende-UDP-Nachricht
mit dem neuen Schlüssel,
der für
jeden Kunden unter den verschiedenen individuellen eindeutigen Schlüsseln verschlüsselt ist.
Wenn ein Server über
die Dauer eines Segments keine „Am-Leben-erhalten"-Nachricht wahrnimmt,
streicht er den Kunden von der aktiven Liste. Wenn der Kunde aus
irgendeinem Grund keine „Am-Leben-erhalten"-Nachricht sendet,
aber die Inhalte weiter empfangen möchte, kann er die Ablaufzeit
des Programmsegmentschlüssels überwachen
und eine individuelle Schlüsselaktualisierungsanforderung
senden, bevor der Schlüssel
abläuft.
Dies ist wiederum ein Weg zum Implementieren des „Anfrage"-Aspektes des kombinierten Modells.
(Es ist auch möglich,
das „Am-Leben-erhalten"-Intervall als länger als
ein einziges Programmsegment zu definieren.)
-
13 veranschaulicht
ein Flussdiagramm 1300 zur Implementierung dieser Ausführungsform
der Erfindung. In Block 1310 beginnt ein Server damit,
Programminhalt an eine Vielzahl von Kunden sammelzusenden. In Block 1320 wird
eine Liste aktiver Teilnehmer erstellt, die zeigt, welche Kunden
das Programm empfangen. In Block 1330 wird eine Nachricht
von einem Kunden empfangen, wie etwa eine „Am-Leben-erhalten"-Nachricht, die anzeigt,
dass der Kunde auf der Liste verbleiben sollte. In Block 1340 sendet
der Server eine Sammelsendenachricht an die Liste aktiver Teilnehmer,
die einen neuen Schlüssel,
z. B. einen Programmsegmentschlüssel,
zum Entschlüsseln
des nächsten
Segments des Programminhalts einschließt. Wenn ein Kunde von der
Liste gestrichen wird, wird somit eine zweite Liste aktiver Teilnehmer
erstellt.
-
Als
Teil des Schlüsselverteilungssystems
wird der Inhaltsschlüssel
zum Entschlüsseln
des Programminhalts über
den ganzen Verlauf der Verteilung des Programminhalts benutzt. Wenn
ein neuer Inhaltsschlüssel
implementiert wird, wird die Implementierung somit den Kunden signalisiert,
damit die Kunden damit anfangen können, den neuen Inhaltsschlüssel, mit
dem sie versehen wurden, zu benutzen. Oftmals werden die Kunden
mit einer verschlüsselten
Version des Inhaltsschlüssels
versehen, der zum Beispiel mit einem Programmsegmentschlüssel entschlüsselt wird.
Auf ähnliche
Weise könnte
dieser Programmsegmentschlüssel mit
einem Dienstschlüssel
oder sogar einem eindeutigen Schlüssel verschlüsselt sein.
-
Es
kann ein Signalisierungsverfahren verwendet werden, um die Implementierung
eines neuen Schlüssels
anzuzeigen. Zum Beispiel kann ein vorbestimmtes Bit verwendet werden,
um anzuzeigen, ob ein alter oder gegenwärtiger Inhaltsschlüssel statt
eines neuen Inhaltsschlüssels,
der kürzlich
an den Kunden verteilt worden ist, verwendet werden sollte. Auf
diese Weise kann ein Kunde das vorbestimmte Bit in einem Paket überprüfen und
den richtigen Inhaltsschlüssel
zur Verwendung bestimmen. Beispielsweise könnte, wenn ein einziges Bit
verwendet wird, eine „1" verwendet werden,
um den gegenwärtigen
Inhaltsschlüssel,
der bereits verwendet wird, anzuzeigen, während eine „0" verwendet werden könnte, um anzuzeigen, dass der
neue Inhaltsschlüssel
verwendet werden sollte. 14 veranschaulicht
ein Flussdiagramm 1400 zum Implementieren eines Signalisierungsverfahrens. 14 bezieht
sich auf die Verwendung eines RTP-Pakets zur Verteilung von Programminhalt;
sie könnte
jedoch gleichermaßen
auch für
andere Protokolle gelten, die beim Verteilen von Inhalt benutzt
werden. Somit ist es lediglich ein Beispiel eines Verfahrens, das
auch mit anderen Protokollen implementiert werden könnte. In
Block 1410 wird ein Paket zur Verwendung als RTP-Paket
bereitgestellt, das sowohl den Nutzlastabschnitt als auch den Kopfabschnitt
aufweist. In Block 1420 wird ein Feld zwischen dem Kopfabschnitt
und dem Nutzlastabschnitt eingefügt,
das betriebsfähig
ist, um eine Schlüsseländerung
anzuzeigen. Dies könnte
ein festes Feld sein wie etwa ein erweiterter Kopf, in dem ein vorbestimmter
Wert für das
feste Feld anzeigt, dass der Inhaltsschlüssel für den Nutzlastabschnitt des Pakets
geändert
wurde. Alternativ dazu könnte
es anzeigen, dass der nächste
vorkommende Nutzlastabschnitt unter Benutzung des neuen Inhaltsschlüssels entschlüsselt werden
könnte,
oder solch eine ähnliche
Implementierung. In Block 1430 wird ein modifiziertes RTP-Paket
erstellt. Dieses modifizierte RTP-Paket wird in Block 1440 von
dem Server an den Kunden übertragen.
Der Kunde empfängt
das modifizierte RTP-Paket, wie in Block 1450 gezeigt,
und bestimmt aus dem eingefügten
Feld, ob sich der Schlüssel
geändert
hat, wie in Block 1460 gezeigt. Block 1470 entfernt den
eingefügten
Feldabschnitt aus dem modifizierten RTP-Paket und gewinnt das ursprüngliche
RTP-Paket wieder, wie in Block 1470 gezeigt. Dann kann
das wiedergewonnene RTP-Paket verarbeitet werden, wie in Block 1480 gezeigt,
und das Paket kann unter Verwendung des gegenwärtigen oder des nächsten Schlüssels, je
nach dem Indikator in dem erweiterten Kopf, entschlüsselt werden.
-
Es
könnten
auch andere Signalisierungsverfahren benutzt werden. Zum Beispiel
könnte
eine RTP-Kopf-Erweiterung benutzt werden. Auf diesem Weg könnte der
erweiterte Abschnitt des Kopfes mindestens das Inhaltsschlüssel-Paritätsbit einschließen, um
Schlüsseländerungen
anzuzeigen.
-
Auf ähnliche
Weise könne
ein Nutzlast spezifisches Markerbit benutzt werden. Dieses Bit wird
bereits bei einigen Nutzlastarten wie etwa der MPEG-4-Nutzlast,
die das Markerbit verwendet, um den Anfang eines Einzelbildes anzuzeigen,
benutzt.
-
Des
Weiteren könnte
zum Beispiel ein Auffüllbit
benutzt werden. Das Auffüllbit
in dem RTP-Kopf könnte
benutzt werden, um die Schlüsseländerung
anzuzeigen. Dies setzt voraus, dass das auf die RTP-Pakete angewendete
Verschlüsselungsverfahren
keinerlei Auffüllen
verwendet.
-
Beim
Sammelsenden von Programminhalt wie etwa Audio- und visuellem Material
können
Freigabemeldungen und Steuermeldungen von einem Server an einen
Kundencomputer gesendet werden. Eine Ausführungsform der Erfindung stellt
ein Format für
solche Nachrichten bereit. Unter diesem Format wird eine Folgenummer
oder ein Zeitstempel zum Schutz gegen Angriffe durch Wiedereinspielung
bereitgestellt. Des Weiteren wird in einem anderen Feld der EMM-
und ECM-Nachrichten ein chiffrierter Nachrichtenauthentifizierungscode
(MAC = Message Authentication Code) oder eine digitale Signatur
eines öffentlichen
Schlüssels
zur Authentifizierung bereitgestellt. Es ist zu beachten, dass weder
die chiffrierte Hash-Codierung zur Authentifizierung der Nachrichtenquelle
(HMAC) noch die Signatur verifiziert werden können, bis ein Kunde den Schlüsselanforderungsaustausch
durchführt.
Noch ein weiteres Feld würde
die Art von in der Nachricht eingeschlossenem Schlüssel, wie
etwa Inhaltsschlüssel,
Gruppenschlüssel,
Programmsegmentschlüssel,
Dienstschlüssel usw.,
einschließen.
Des Weiteren würde
ein Feld für
die Art von Schlüssel,
der zum Verschlüsseln
des Schlüssels
in der Nachricht verwendet wird, bereitgestellt werden. Auf diese
Weise könnte
ein eindeutiger Schlüssel für zum Beispiel
eine Nachricht, die einen Dienstschlüssel überträgt, angezeigt werden. Ein weiteres
Feld kann für
die von der Nutzungsdauer des Schlüssels verbleibende Zeit bereitgestellt
werden. Des Weiteren kann ein Schlüsselparitätsbit, das mit dem Paritätsbit in
dem RTP-Paket übereinstimmt,
bereitgestellt werden. Außerdem
kann eine Benutzerkennzeichnung, die häufig benötigt wird, wenn mehrere EMM
in einer einzelnen Sammelsendenachricht geliefert werden, bereitgestellt
werden. Jedes Feld der Datenstruktur gilt für jedes dieser Felder. Auf
diese Weise können
sie in einer beliebigen Reihenfolge angeordnet werden, so dass die
Datenstruktur eines oder mehrere dieser Felder einschließt.
-
7B veranschaulicht
eine Steuermeldung für
eine kostenlose Vorschauperiode, in der ein Inhaltsschlüssel CK0
mit einem Schlüssel
zur kostenlosen Vorschau (ECM: [CK0] FPK) codiert ist. Auf ähnliche
Weise zeigt 7B eine Steuermeldung, in der
ein Inhaltsschlüssel
mit einem Gruppenschlüssel
(ECM: [CK1] GK) codiert ist. Eine zweite Steuermeldung wird gezeigt,
die einen zweiten Inhaltsschlüssel,
der mit dem Programmschlüssel
(ECM: [CK2] PK) verschlüsselt
ist, befördert.
Des Weiteren werden mehrere Freigabemeldungen mit neuen Programmschlüsseln gezeigt,
die mit einem eindeutigen Schlüssel
für einen
spezifischen Kundencomputer verschlüsselt sind. Der PK kann an
individuelle Kunden einzelgesendet werden. Alternativ dazu könnte eine
einzelne Nachricht erstellt werden, um eine verkettete Nachricht
von Programmschlüsseln
zu bilden, die an mehrere Kunden sammelgesendet wird. Somit könnte jeder
Kunde den für
diesen Kunden besonderen neuen Programmschlüssel analysieren und entschlüsseln.
-
Alternativ
dazu muss CK0 nicht in einer ECM verteilt werden. Der Wert des von
der Vielzahl von Kunden bereits besessenen FPK kann als CK0 genommen
werden.
-
Alternativ
dazu muss CK1 nicht in einer ECM verteilt werden. Der Wert des von
der Vielzahl von Kunden bereits besessenen GK kann als CK1 genommen
werden.
-
Alternativ
dazu kann CK2 mit dem UK verschlüsselt
und in der Form einer EMM direkt an den Kunden geliefert werden,
anstatt der ECM-Form, die in der Figur gezeigt ist.
-
Anfängliche
Anschauperiode
-
Bei
einigen Sammelsendeereignissen, wie etwa Per-Sendung-Bezahl-TV- Ereignissen, steht
zu erwarten, dass ein System die größte Belastung, also den schwersten
Verkehr der Anforderung von Programmschlüsseln, sehr nahe dem geplanten
Anfang eines Programms erfahren wird. Wenn die Gesamtheit von Kunden,
die eine Sammelsendesitzung aufnehmen, sehr groß ist, ist ein Server nicht
in der Lage, sofort Schlüssel an
alle Teilnehmer zu verteilen. Es wird daher ein System benötigt, das
es Zuschauern ermöglicht,
den Anfang eines Programms während
dieser Periode, in der der Server Schlüssel an diejenigen verteilt,
die das Programmmaterial erworben haben, anzuschauen. 15 veranschaulicht
eine Ausführungsform
eines Verfahrens zur Verteilung von Schlüsseln in einer anfänglichen
Anschauperiode.
-
Ein
Verfahren zum Implementieren einer anfänglichen Anschauperiode ist
das Verteilen eines gemeinsamen Schlüssels an mögliche Teilnehmer im Voraus,
z. B. vor der Verteilung des Programminhalts. Ein solcher Schlüssel wird
hier als Gruppenschlüssel
bezeichnet. Ein Gruppenschlüssel
kann Kunden gegeben werden, wenn sie einen bestimmten Caching-Server
anfordern, oder es kann ein wirklich globaler Schlüssel sein, den
Kunden erhalten, wenn sie während
der Bereitstellung in dem Verteilungssystem initialisiert werden.
Da jeder Kunde in einer solchen Situation einen Gruppenschlüssel empfangen
würde,
könnten
theoretisch alle Kunden den ersten Teil des Inhalts kostenlos empfangen. 15 veranschaulicht
ein Flussdiagramm 1500 zur Implementierung einer Ausführungsform
der Erfindung. In Block 1510 aus 15 wird
den Kunden ein erster Schlüssel
wie etwa ein Gruppenschlüssel
bereitgestellt. In Block 1520 wird ein zweiter Schlüssel zur
Verwendung beim Entschlüsseln
eines ersten Abschnitts des Programminhalts bereitgestellt. Ein
solcher Schlüssel könnte als
Inhaltsschlüssel
bezeichnet werden. Der zweite Schlüssel wird mindestens einem
der Vielzahl von Kunden unter dem ersten Schlüssel verschlüsselt bereitgestellt,
wie in Block 1530 gezeigt. Dieser zweite Schlüssel kann
vor der Verteilung an die Kunden mit dem Gruppenschlüssel verschlüsselt werden.
In Block 1540 wird dieser zweite Schlüssel an dem Server benutzt,
um einen ersten Abschnitt des Programminhalts zu verschlüsseln. Der
verschlüsselte
erste Abschnitt des Programminhalts wird dann an die Gruppe von
Kunden verteilt, wie in Block 1550 gezeigt. Daher kann
der Kunde, der den zweiten Schlüssel
empfangen hat, die verschlüsselten
Programminhalte entschlüsseln.
Und zwar können
die Kunden den Inhaltsschlüssel
unter Benutzung des Gruppenschlüssels
entschlüsseln
und dann den Inhaltsschlüssel
benutzen, um den verschlüsselten Programminhalt
zu entschlüsseln.
Dies wird von Block 1560 gezeigt.
-
Wenn
ein Sammelsendeereignis anfängt,
kann der anfängliche
Inhaltsschlüssel
unter dem Gruppenschlüssel
sowie dem Programmschlüssel
für Per-Sendung-Bezahl-TV-Ereignisse
oder einem ersten Programmsegmentschlüssel für Per-Zeit-Bezahl-TV-Ereignisse
(der PSK kann auch unter dem GK verschlüsselt sein) verteilt werden.
Da der Gruppenschlüssel
im Voraus verteilt wird, müssen
die Kunden nicht darauf warten, den Programmschlüssel oder den Programmsegmentschlüssel, die
später
an sie verteilt werden, zu empfangen. Stattdessen setzt der Server
die Dauer der anfänglichen
Anschauperiode auf der Basis der erwarteten Nachfrage nach dem Programminhalt
seitens der Kunden fest, was auch auf der Basis der momentanen Belastung
von Kunden, die das Programm im Zeitablauf erwerben, dynamisch eingestellt
werden kann. Auf diese Weise kann sich der Server auf der Basis
der Nachfrage nach einem bestimmten Programm in Echtzeit einstellen.
Es ist zu beachten, dass eine anfängliche Anschauperiode aus „N" Inhaltsschlüsselperioden
zusammengesetzt sein kann, statt als ein einziges Intervall bestimmt
zu sein. In diesem Fall kann der Server N dynamisch einstellen.
-
16A und 16B veranschaulichen
ein Flussdiagramm 1600 zum Implementieren einer Ausführungsform
der Erfindung. In Block 1610 wird Programminhalt zum Sammelsenden
an eine Vielzahl von Kunden bereitgestellt. Ein erster Abschnitt
des Programminhalts wird unter Benutzung eines ersten Schlüssels, wie etwa
eines Gruppenschlüssels,
verschlüsselt,
um einen verschlüsselten
ersten Abschnitt des Programminhalts in Block 1620 zu produzieren.
In Block 1630 werden Kunden mit diesem ersten Schlüssel zur
Verwendung beim Entschlüsseln
des Programminhalts versehen, typischerweise im Voraus, z. B. während der
Bereitstellung. In Block 1640 wird der verschlüsselte erste
Abschnitt des Programminhalts vor dem Erwerb durch die Kunden an
diese Kunden sammelgesendet. In Block 1650 wird der erste
Abschnitt des Programminhalts für einen
Zeitraum verschlüsselt,
um es einem Benutzer zu ermöglichen,
ein anfängliches
Anschauen des Programminhalts zu erhalten, da dieser erste Abschnitt
zum Beispiel mit dem zuvor verteilten Gruppenschlüssel entschlüsselt werden
kann. Dieser Zeitraum kann auf der Basis der erwarteten Nachfrage
nach dem Programm vorbestimmt werden. In Block 1660 wird
der Benutzer dazu aufgefordert, den Programminhalt zu erwerben,
beispielsweise über
eine Benutzerschnittstelle bei dem Kunden am Ende der kostenlosen
Vorschauperiode. Dann zeigt der Block 1670, dass ein garantierter
Zeitraum bereitgestellt ist, um es einem Benutzer zu ermöglichen,
den Programminhalt zu erwerben, ohne dass der Programmdienst unterbrochen
wird. Wenn ein Benutzer das Programm in dem garantierten Zeitraum
erwirbt, kann der Benutzer somit erwarten, die notwendigen Schlüssel rechtzeitig
zu empfangen, so dass kein Verlust der Programmanschau vorkommt.
In Block 1674 erzeugt ein Server den zweiten Schlüssel, der
dann verwendet wird, um einen zweiten Abschnitt des Programminhalts
zu verschlüsseln,
wie in Block 1680 gezeigt. Jedem der Kunden, die den Programminhalt
in dem garantierten Zeitraum erworben haben, wird auch ein zweiter
Schlüssel
bereitgestellt, wie in Block 1684 gezeigt. Zum Beispiel
kann bei Erwerb eines Programmschlüssels der Programmschlüssel an
den Kunden verteilt werden. Dieser Programmschlüssel kann dann benutzt werden,
um den zweiten Schlüssel
zu entschlüsseln,
wenn der zweite Schlüssel
an den Kunden übertragen
wird. Auf diese Weise wird in Block 1690 der verschlüsselte zweite
Abschnitt des Programminhalts an die Vielzahl von Kunden sammelgesendet.
Auf diese Weise können
diejenigen Kunden, die den Programminhalt erworben und den zweiten
Schlüssel
empfangen haben, den zweiten Abschnitt des Programminhalts entschlüsseln.
-
7B zeigt
den garantierten Zeitraum in einem Beispiel der Erfindung. In 7B wird
der garantierte Zeitraum gezeigt, in dem der Gruppenschlüssel benutzt
werden kann, um einen Inhaltsschlüssel zu entschlüsseln, der
zum Entschlüsseln
verschlüsselten
Programminhalts benutzt wird. Jeder Benutzer, der den Programminhalt
in der garantierten Periode erwirbt, empfängt den nächsten notwendigen Entschlüsselungscode in
der anfänglichen
Schlüsselverteilung.
Auf diese Weise wird die anfängliche
Schlüsselverteilungsperiode
als von längerer
Dauer als die garantierte Periode gezeigt, um es zu ermöglichen,
dass ein Schlüssel
an einen Kunden, der ihn in der garantierten Periode erworben hat,
verteilt wird. Der Inhaltsschlüssel
(CK1) wird somit als über
die gesamte anfängliche
Schlüsselverteilungsperiode
dauernd gezeigt. Auf diese Weise wird der nächste Inhaltsschlüssel von
einem erwerbenden Benutzer erhalten, bevor die anfängliche
Schlüsselverteilungsperiode
verstreicht.
-
Um
ein zufriedenstellendes Benutzererlebnis zu bieten, wird allen Kunden,
die in der „garantierten
Periode" Zugang
zu einem Ereignis anfordern (z. B. fordern sie einen Programmschlüssel für ein Per-Sendung-Bezahl-TV-Ereignis an), der
Empfang des Inhalts ohne Unterbrechung garantiert. Dies bedeutet,
dass der Server nicht aufhört,
Inhaltsschlüssel
unter dem Gruppenschlüssel
zu verteilen, bis der Programmschlüssel an alle Kunden, deren
Anforderungen in der garantierten Periode empfangen wurden, verteilt
worden ist. Dies wird wiederum die anfängliche Anschauperiode oder
gleichwertig auch die anfängliche
Schlüsselverteilungsperiode
genannt.
-
Kunden,
die den Inhalt nach der garantierten Periode anfordern, haben bereits
den Anfang des Films, zum Beispiel, verpasst; daher ist die Lieferung
des Programmschlüssels
oder des Programmsegmentschlüssels
nicht gleichermaßen
entscheidend, und diese Zuschauer können eine geringfügige Verzögerung tolerieren.
In der Tat ist es wahrscheinlich vorzuziehen, dass ein Benutzer
ein kontinuierliches Anschauerlebnis zu einem späteren Zeitpunkt beginnt, als
dass er zu einem früheren
Zeitpunkt ein Anschauerlebnis beginnt, das vorübergehend unterbrochen werden
wird.
-
Wie
zuvor angemerkt, kann die anfängliche
Schlüsselverteilungsperiode
auf der Basis der vorhergesagten Beliebtheit eines bestimmten Programms
anfänglich
festgesetzt und dann von dem Server modifiziert werden, um sich
auf die gegenwärtige
Belastung einzustellen. Auf diese Weise kann die Verteilungsperiode auf
der Basis der Anzahl von Anforderungen oder des Leistungsvermögens des
Servercomputers verlängert werden. 17 veranschaulicht
ein Verfahren für
eine Ausführungsform
der Erfindung, um dies zu erreichen. In Block 1710 wird
Programminhalt zum Sammelsenden bereitgestellt. In Block 1720 wird
ein erster Abschnitt des Programminhalts ohne Gebühr an eine
Vielzahl von Kunden sammelgesendet. Während des Sammelsendens des
ersten Abschnitts des Programminhalts wird ein garantierter Zeitraum
bereitgestellt, wie in Block 1730 gezeigt. Block 1740 zeigt,
dass die Anzahl von Kunden eingeschätzt wird, die den Programminhalt
in dem garantierten Zeitraum erwerben werden. In Block 1750 wird
eine anfängliche
Schlüsselverteilungsperiode
bereitgestellt, die eine Dauer aufweist, welche lang genug ist,
um den erwerbenden Kunden kryptographische Schlüssel bereitzustellen, damit
eine Unterbrechung des Empfangs des Programminhalts bei den erwerbenden
Kunden verhindert wird. In Block 1760 wird die anfängliche
Schlüsselverteilungsperiode
eingestellt. Die Einstellung der anfänglichen Schlüsselverteilungsperiode
kann zum Beispiel vorkommen, indem die anfängliche Schlüsselverteilungsperiode
einfach verlängert
wird. Auf diese Weise kann ein Inhaltsschlüssel benutzt werden, um den
Programminhalt über
einen Zeitraum, der die zusätzliche
Belastung an Zuschauern, die den Inhalt erwerben, unterbringt. Die
tatsächliche
Anzahl erwerbender Kunden kann des Weiteren bestimmt und mit der
eingeschätzten
Anzahl Kunden, von denen erwartet worden war, dass sie den Programminhalt
erwerben würden,
verglichen werden. Die anfängliche
Schlüsselverteilungsperiode
kann auf der Basis der zusätzlichen
Belastung an Kunden verlängert
werden. Des Weiteren kann die Verzögerung auf einer Belastung
des Servers oder des Netzes beruhen, wobei das Leistungsvermögen dieser
Komponenten ausgewertet werden und die anfängliche Verteilungsperiode
demgemäß eingestellt
werden kann.
-
18 veranschaulicht
ein Verfahren 1800, um es Benutzern zu ermöglichen,
nach dem Ablauf des oben beschriebenen garantierten Zeitraums Inhalt
zu erwerben. In Block 1810 wird Programminhalt zur Verteilung
für eine
Vielzahl von Kunden bereitgestellt. Ein erster Zeitraum zum Erwerben
einer ununterbrochenen Anschau des Programminhalts ist in Block 1820 bereitgestellt.
Dies stimmt mit dem zuvor beschriebenen garantierten Zeitraum überein.
Eine Erwerbsanforderung des Programminhalts von einem erwerbenden
Kunden wird, wie in Block 1830 gezeigt, während des
ersten Zeitraums empfangen. Ein zweiter Zeitraum ist zum Erwerben
des Programminhalts bereitgestellt, in dem der zweite Zeitraum nach
dem ersten Zeitraum vorkommt, wie in Block 1840 veranschaulicht.
Eine Erwerbsanforderung von einem spät erwerbenden Kunden wird während dieses
zweiten Zeitraums empfangen, wie in Block 1850 gezeigt.
Der Programminhalt wird an den erwerbenden Kunden verteilt, ohne
dass das Anschauen des Programminhalts unterbrochen wird, wie in
Block 1860 gezeigt, während
eine Verzögerung
der Entschlüsselung
des an den spät
erwerbenden Kunden verteilen Programminhalts vorkommt, bis dieser
Programminhalt entschlüsselt
werden kann, ohne dass das Anschauen des spät erwerbenden Kunden unterbrochen
wird. Dies ist in Block 1870 gezeigt. Dieses Verfahren
kann auf diese Weise das Kommunizieren eines Schlüssels an
einen spät
erwerbenden Kunden verzögern,
bis der Server bestimmt, dass der spät erwerbende Kunde einen zum
ununterbrochenen Anschauen des Programminhalts notwendigen Schlüssel empfangen
wird.
-
Inhaltsrechte
und -konditionen
-
Unter
Bezugnahme auf 19 ist ein System zum Implementieren
von Regeln und Konditionen zum Bereitstellen von Inhalt in einer
Sammelsendeumgebung zu sehen. Das System 1900 zeigt ein
Kunden-Server-Netz,
das mindestens einen Kunden 1908 umfasst, der über ein
Netz 1916 wie etwa das Internet mit einem Server wie etwa
dem Ursprungsinhaltsserver 1904 gekoppelt ist. Zusätzlich dazu
zeigt 19 einen Caching-Server 1912 und
ein Autorisierungszentrum 1920, die ebenfalls mit dem Netz
gekoppelt sind. Der Ursprungsinhaltsserver soll einen Server veranschaulichen,
der Programminhalt speichert oder Zugang zu ihm steuert. Beispielsweise
könnte
ein solcher Inhalt multimedial sein, oder es könnte sich um einen Film zur
Verteilung über
ein Webcastingsystem handeln. Der Caching-Server 1912 kann
in dieser Sammelsendeumgebung benutzt werden, um eine Kopie des
Programminhalts, der von dem Ursprungsinhaltsserver stammt, zu speichern.
-
In
einer Ausführungsform
der Erfindung meldet sich ein Kunde an dem Autorisierungszentrum 1920 an,
um ein Etikett zu erhalten, das definiert, welche Art von Inhalt
der Kunde zu erhalten berechtigt ist. Wenn ein Kunde es wünscht, einen
Inhalt zu erhalten, können
eine Vielfalt von Prozeduren implementiert werden, um zu bestätigen, ob
der Kunde zum Empfang diese bestimmten Programminhalts berechtigt
ist. Mindestens drei Optionen zum Erhalten des Programminhalts könnten benutzt
werden. Zum Beispiel könnte
der Inhaltanbieter für
den Ursprungsinhaltsserver 1904 in 19 die Überprüfung durchführen. Alternativ
dazu könnte
der Caching-Server 1912 in 19 die Überprüfungsroutine
durchführen,
oder die Überprüfung könnte an
dem Kunden selbst durchgeführt
werden.
-
In
dem Fall, dass der Ursprungsinhaltsserver die Überprüfung durchführt, wertet der Ursprungsinhaltsserver
die Anforderung des Kunden von Programminhalt aus und überprüft am Autorisierungszentrum,
um zu bestimmen, ob der Kunde für
diesen bestimmten Inhalt autorisiert ist. Dieses Verfahren ermöglicht es,
eine frühe
Entscheidung zu fällen,
insbesondere, ob dem Kunden der Zugang verwehrt werden sollte, was
weitere Verarbeitung und möglicherweise
eine Frustration des Zuschauers, dass ihm der Zugang zu dem Inhalt
verwehrt wird, eliminiert.
-
Alternativ
dazu könnte
das Überprüfen an dem
Kunden selbst durchgeführt
werden. Zum Beispiel könnte
der Kunde mit einer Hardwaresicherheitsvorrichtung oder einem Sicherheitschip
ausgestattet werden, die/der die an jeden individuellen Kunden verteilten
Regeln durchsetzen könnte.
Auf diese Weise könnten
die von dieser Hardwaresicherheitsvorrichtung verwendeten Regeln
mit den Anschauberechtigungen des Kunden oder anderen Merkmalen
wie dem physikalischen Standort des Kunden, wie etwa dem Land, in
dem sich der Kunde befindet, verglichen werden. Ein solcher physikalischer
Standort kann wichtig sein, da unterschiedliche Länder verschiedene
Gesetze hinsichtlich dessen, welche Art von Programminhalt verteilt
werden darf, haben.
-
Noch
eine andere Ausführungsform
der Erfindung ermöglicht
es, dass das Überprüfen an dem
Caching-Server durchgeführt
wird. Der Caching-Server
kann die Inhaltsregeln mit den Berechtigungen des Kunden vergleichen
und die Regeln sicher durchsetzen. Die Berechtigungen des Kunden
können
sicher in einem Datensatz (Etikett) enthalten sein, den der Kunde
dem Caching-Server präsentiert
oder den der Caching-Server über
andere Mittel empfängt.
Die Regeln können
von dem Ursprungsserver an den Caching-Server verteilt werden. Des
Weiteren kann die Erwerbsoption von dem Ursprungsserver an den Kunden
verteilt werden, und der Kunde kann die Erwerbsoption dann zu dem
Caching-Server befördern.
-
Zusätzlich zu
dem Vergleichen von Inhaltsregeln mit den Berechtigungen eines Benutzers
(Kunden) kann die von dem Benutzer ausgewählte Erwerbsoption auch mit
den Regeln beim Treffen der Autorisierungsentscheidung verglichen
werden.
-
20A und 20B veranschaulichen
ein Verfahren 2000 zum Implementieren einer Ausführungsform
der Erfindung. In Block 2004 aus 20A wird
eine Regel eingerichtet, die definiert, ob ein Kunde dazu berechtigt
ist, einen Programminhalt zu empfangen. Der Kunde darf einen Programminhalt
von einem Server wie etwa dem Ursprungsinhaltsserver 1904 in 19 anfordern.
Dies ist in Block 2008 veranschaulicht. In Block 2012 wird
eine Anforderung des Programminhalts empfangen. Der Kunde kann zum
Beispiel den Programminhalt von dem Ursprungsinhaltsserver anfordern.
In Block 2016 wird von dem Ursprungsserver ein Datensatz formatiert,
der eine Kennung zum Kennzeichnen des Programminhalts sowie Regeln,
die definieren, wer Zugang zu dem Programminhalt erhalten darf,
und die von dem Benutzer ausgewählten
Erwerbsoptionen umfasst. In Block 2020 kann der Datensatz
signiert und verschlüsselt
werden, wodurch er ein gesichertes Objekt wird. Block 2024 veranschaulicht,
dass eine vertrauenswürdige
dritte Partei benutzt werden kann, um den Datensatz zu signieren.
Eine solche vertrauenswürdige
dritte Partei könnte
zum Beispiel verwendet werden, um einen Signierschlüssel zur
Verwenden beim Signieren des Datensatzes an den Ursprungsinhaltsserver auszugeben.
Auf ähnliche
Weise könnte
die gleiche vertrauenswürdige
dritte Partei benutzt werden, um einem Caching-Server, der später den
authentifizierten Datensatz verwenden wird, einen Verifizierungsschlüssel bereitzustellen.
In Block 2028 wird der Datensatz gezeigt, der zu dem Kunden
befördert
wird. Der Kunde kann dann den Datensatz zu dem Caching-Server befördern, wie
in Block 2032 gezeigt, wo die Datenintegrität durch das Überprüfen der
Signatur verifiziert wird, wie in Block 2034 gezeigt. Alternativ
dazu könnte
der Datensatz direkt von dem Ursprungsinhaltsserver zu dem Caching-Server
befördert
werden, ohne über
den Kunden zu gehen. In Block 2036 in 20B wird an dem Caching-Server eine Bestimmung
vorgenommen, ob der Kunde dazu berechtigt ist, den Programminhalt
zu empfangen. Der Caching-Server kann den Datensatz benutzen, der
die Regel enthält,
die definiert, wer dazu berechtigt ist, den Programminhalt zu empfangen,
und der Server kann auch die für
den Kunden, der den Programminhalt anfordert, besonderen Berechtigungen
benutzen. Durch diese Bestimmung kann der Caching-Server bestimmen,
ob er den Programminhaltsschlüssel
zur Verwendung seitens des Kunden bereitstellen soll oder nicht.
Der Caching-Server verteilt auch seine verschlüsselte Kopie des Programminhaltmaterials
zur Verwendung durch den Kunden (oder eine Vielzahl von Kunden), wie
in Block 2040 veranschaulicht.
-
Eine
andere Ausführungsform
der Erfindung, die aus der Perspektive des Caching-Servers veranschaulicht
ist, ist in 21 gezeigt. Im Flussdiagramm 2100 aus 21 empfängt der
Caching-Server eine Programminhaltskennung von einem Kunden, wie
von Block 2110 veranschaulicht. Diese Programminhaltskennung
kann verwendet werden, um den spezifischen Programminhalt zu kennzeichnen,
den der Benutzer des Kundencomputers zu erhalten wünscht. Der
Block 2120 veranschaulicht, dass das von dem Benutzer ausgewählte Zahlungsverfahren
ebenfalls an den Server kommuniziert wird. Beispielsweise kann das
von dem Kunden mit dem Ursprungsserver verhandelte Zahlungsverfahren
an den Caching-Server kommuniziert werden. Bei Block 2130 werden
die zu dem Programminhalt zugehörigen
Regeln von dem Caching-Server zur Verwendung beim Bestimmen, ob
der Kunde zu dem Programminhalt berechtigt ist, erhalten. Die Programminhaltskennung,
das von dem Benutzer ausgewählte
Zahlungsverfahren und die zu dem Programminhalt zugehörigen Regeln
können
alle in einem gesicherten Objekt, das von dem Kunden an den Caching-Server
gesendet wird, an den Caching-Server kommuniziert werden. Dieses
gesicherte Objekt oder dieser gesicherte Datensatz kann dann von
dem Caching-Server analysiert werden, um die relevanten Informationen
zu erhalten. Zusätzlich
dazu kann von dem Kunden ein Etikett erhalten werden, wie in Block 2140 gezeigt.
Es ist zu beachten, dass die Blöcke 2110, 2120, 2130 und 2140 in
Hinsicht auf einander in jeder beliebigen Reihenfolge vorkommen
können.
Dieses Etikett umfasst Berechtigungsinformationen, die verwendet
werden können,
um zu bestimmen, ob der Kunde zum Empfang des Programminhalts berechtigt
ist. Zum Beispiel kann das Etikett eine Liste von Diensten speichern,
die der Kunde abonniert hat, den Standort des Kunden, z. B. in den
Vereinigten Staaten, die Fähigkeit
des Kunden, für
den Inhalt zu zahlen, usw. Solche Etikettinformationen können mit
den Regeln, die von dem Caching-Server erhalten wurden, verglichen
werden, um zu bestimmen, ob der Kunde zu dem Programminhalt berechtigt
ist, wie in Block 2150 angezeigt. Wenn der Kunde dazu berechtigt ist,
den Programminhalt zu empfangen, kann ein Schlüssel zur direkten oder indirekten
Verwendung beim Entschlüsseln
des verschlüsselten
Programminhalts zu dem Kunden befördert werden, wie in Block 2160 gezeigt. Wenn
der Kunde nicht zu dem Programminhalt berechtigt ist, müssen keine
solchen Schlüssel
verteilt werden. Auf diese Weise kann die Sammelsendung des Programminhalts
für Kunden,
die zum Schlüssel
für das
Programm berechtigt sind und die den Schlüssel empfangen, mit dem empfangenen
Schlüssel
entschlüsselt
werden.
-
Der
Caching-Server kann die Inhaltsregeln für Programmmaterial mit den
Berechtigungen jedes Kunden vergleichen und die Regeln sicher durchsetzen.
Die Berechtigungen des Kunden können
in einem Datensatz, den der Kunde dem Caching-Server präsentiert,
wenn er spezifischen Inhalt anfordert, sicher enthalten sein. Inhaltsregeln
können
auf mindestens zwei Wegen geliefert werden. Beispielsweise können Inhaltsregeln direkt
an den Caching-Server geliefert werden, z. B. zusammen mit dem Inhalt.
Auf diesem Weg werden die Regeln nur einmal an jeden Caching-Server
gesendet. In dem Fall des Abonnement-Erwerbs von Programmmaterial
muss ein Zuschauer nicht über
jedes Stück
Inhalt individuell verhandeln, da es in seiner oder ihrer Abonnement-Vereinbarung eingeschlossen
ist. Wenn ein Zuschauer Erwerbsoptionen, wie etwa Per-Sendung-Bezahl-TV
oder Per-Zeit-Bezahl-TV, auswählen
muss, verhandelt der Zuschauer über
sie mit dem Ursprungsinhaltsserver. Die ausgewählten Erwerbsoptionen werden,
zum Beispiel, signiert und verschlüsselt und an den Kunden geliefert
(unabhängig
von dem Liefermechanismus für
Inhaltsregeln) und dann in der von dem Kunden an den Caching-Server
gesendeten Anforderung eingeschlossen. Da die ausgewählten Erwerbsoptionen
unter einem Schlüssel
verschlüsselt
sind, der dem Caching-Server, aber nicht dem Kunden, bekannt ist,
werden sie von dem Kunden nicht modifiziert. Alternativ dazu können Inhaltsregeln
von dem Inhaltanbieter, d. h. dem Ursprungsinhaltsserver, erstellt
werden, wenn der Kunde über
den Zugang zu dem Inhalt mit dem Ursprungsinhaltsserver verhandelt.
Solche Regeln können
mit den spezifischen Erwerbsoptionen, die der Zuschauer ausgewählt hat,
wie etwa Per-Sendung-Bezahl-TV oder Per-Zeit-Bezahl-TV, kombiniert werden.
Die Inhaltsregeln in Kombination mit den ausgewählten Erwerbsoptionen können dann
zum Beispiel signiert und verschlüsselt und an den Kunden geliefert
und dann in der von dem Kunden an den Caching-Server gesendeten
Anforderung eingeschlossen werden. Da die Inhaltsregeln unter einem
Schlüssel
verschlüsselt
sind, der dem Caching-Server, aber nicht dem Kunden, bekannt ist,
werden sie von dem Kunden nicht modifiziert. Dieser Ansatz macht
eine direkte Schnittstelle zwischen einem Ursprungsinhaltsserver
und einem Caching-Server für die Lieferung
der Inhaltsregeln unnötig.
-
Beim
Verhandeln über
einen Erwerb zwischen dem Ursprungsinhaltsserver und dem Kunden
unterhält der
Ursprungsinhaltsserver die Regeln und Erwerbsoptionsinformationen
lokal. Er kann dem Kunden dann alle unterschiedlichen Erwerbsoptionen
anbieten, damit der Kunde eine Entscheidung treffen kann. Auf diese
Weise kann die Erwerbsoption in den gesicherten Datensatz eingekapselt
werden, der zu dem Kunden zurückgeleitet
wird. Der Kunde kann dann den gesicherten Datensatz zusammen mit
dem Kundenetikett, das die Berechtigungsinformationen des Kunden
einschließt
(z. B. das Erwerbsvermögen,
die Liste abonnierter Dienste usw.), an den richtigen Caching-Server
weiterleiten. Der Kunde in 19 kann
die Berechtigungsinformationen von dem Autorisierungszentrum 1920 erhalten,
wenn sich der Kunde für
das Sammelsendesystem anmeldet.
-
22 veranschaulicht
einen Datensatz, der von dem Ursprungsinhaltsserver bereitgestellt
werden kann. Dieser Datensatz kann vor der Beförderung zu dem Kunden oder
zu dem Caching-Server verschlüsselt werden. 22 veranschaulicht
unterschiedliche Felder, die als Teil des Datensatzes benutzt werden
können. Auf
diese Weise zeigt 22 Felder für Programminhaltskennungen,
die den spezifischen Programminhalt wie etwa den Namen eines Films
kennzeichnen. Zusätzlich
dazu kann der Datensatz 2200 ein Feld zum Speichern einer
Regel, die definiert, wer zu dem Programminhalt Zugang hat, enthalten.
In der in 22 gezeigten Ausführungsform
wird auch ein Einstufungsinformationsfeld gezeigt, das sich einem
bestimmten Einstufungsstandard anpassen kann. Es könnte auch
ein Feld bereitgestellt werden, wie in 22 gezeigt,
um die Erwerbspräferenz
(Auswahl) des Kunden, wie etwa Per-Sendung-Bezahl-TV oder Per-Zeit-Bezahl-TV, über die
von dem Kunden und dem Ursprungsinhaltsserver verhandelt worden
war, zu speichern. 22 zeigt außerdem ein Authentifizierungsfeld,
das verhindert, dass der Kunde den Datensatz modifiziert.
-
23 veranschaulicht
einen Datensatz, der einem individuellen Kunden bereitgestellt werden
kann. Ein solcher Datensatz kann benutzt werden, um die Berechtigungen
des bestimmten Kunden zu unterschiedlichem Programminhalt zu definieren.
Auf diese Weise zeigt 23 zum Beispiel einen Datensatz,
der ein Feld zum Kennzeichnen des Standortes eines Kunden, wie etwa
des Landes, in dem sich der Kunde befindet, umfasst. Es wird ebenfalls
ein Feld gezeigt, das Abonnements kennzeichnet, die der Kunde abonniert
hat, z. B. HBOTM oder SHOWTIMETM.
Es könnten
auch zusätzliche
Felder präsentiert
werden. Diese Informationen könnten
authentifiziert und verschlüsselt
werden, so dass der Kunde seine eigenen Berechtigungen nicht überarbeiten
kann.
-
Während verschiedene
Ausführungsformen
der Erfindung als Verfahren oder Einrichtungen zur Implementierung
der Erfindung beschrieben worden sind, versteht es sich, dass die
Erfindung durch einen mit einem Computer gekoppelten Code, z. B.
einem auf einem Computer residenten oder dem Computer zugänglichen
Code, implementiert werden kann. Zum Beispiel könnten Software und Datenbanken
benutzt werden, um viele der oben erörterten Verfahren zu implementieren.
Zusätzlich
zu Ausführungsformen,
bei denen die Erfindung durch Hardware erreicht wird, wird es somit
auch angemerkt, dass diese Ausführungsformen
durch die Verwendung eines Manufakturartikels erreicht werden können, der
ein Computer nutzbares Medium mit einem darin ausgeführten maschinenlesbaren
Programmcode, welcher die Aktivierung der in dieser Beschreibung
offenbarten Funktionen bewirkt, umfasst. Es ist daher wünschenswert,
dass Ausführungsformen
der Erfindung auch mit ihrem Programmcodemittel als durch dieses
Patent geschützt
betrachtet werden.
-
Es
ist auch vorgesehen, dass Ausführungsformen
der Erfindung als in einer Trägerschwingung
ausgeführte
Computersignale erreicht werden könnten, sowie als Signale (z.
B. elektrische und optische), die durch ein Übertragungsmedium verbreitet
würden.
Somit könnten
die verschiedenen oben diskutierten Informationen in einer Struktur,
wie etwa einer Datenstruktur, formatiert und als ein elektrisches
Signal über
ein Übertragungsmedium übertragen
oder auf einem maschinenlesbaren Medium gespeichert werden.
-
Es
sei auch bemerkt, dass viele der hierin vorgetragenen Strukturen,
Materialien und Vorgänge
als Mittel zur Durchführung
einer Funktion oder als Schritte zur Durchführung einer Funktion vorgetragen
werden können.
Daher versteht es sich, dass eine derartige Sprache berechtigt ist,
alle solchen Strukturen, Materialien oder Vorgänge, die in dieser Beschreibung
offenbart werden, und ihre Entsprechungen abzudecken.