DE112017002625T5 - Inhaltsstreamingabschnitte vor modifikation oder entfernen schützen - Google Patents

Inhaltsstreamingabschnitte vor modifikation oder entfernen schützen Download PDF

Info

Publication number
DE112017002625T5
DE112017002625T5 DE112017002625.3T DE112017002625T DE112017002625T5 DE 112017002625 T5 DE112017002625 T5 DE 112017002625T5 DE 112017002625 T DE112017002625 T DE 112017002625T DE 112017002625 T5 DE112017002625 T5 DE 112017002625T5
Authority
DE
Germany
Prior art keywords
content
manifest
hidden
portions
streaming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017002625.3T
Other languages
English (en)
Inventor
F. Watson Ryan
Wesley Howard Craig
Kenneth Truax Gregory
Xiaoye Zhang Alex
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of DE112017002625T5 publication Critical patent/DE112017002625T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Die Systeme und Verfahren werden beschrieben, um die Bereitstellung von Streaming-Inhalten zu ermöglichen und gleichzeitig das Entfernen, Blockieren oder Überspringen von Abschnitts innerhalb dieses Streaming-Inhalts zu verhindern. Ein Inhaltsbereitstellungssystem kann ein Manifest erzeugen, das Inhaltsabschnitte anzeigt, die den Streaming-Inhalt bilden. Jeder Inhaltsabschnitt kann im Manifest unter Verwendung einer verborgenen Kennung identifiziert werden, die die tatsächliche Kennung des Inhaltsabschnitts vor dem Kunden verbirgt, um den Kunden daran zu hindern oder zu verhindern, den Inhaltsabschnitt automatisch zu entfernen oder zu modifizieren. Nach dem Empfangen einer Anfrage für einen Inhaltsabschnitt kann das Inhaltsbereitstellungssystem die verborgene Kennung in die eigentliche Kennung umwandeln und den entsprechenden Inhaltsabschnitt an den Kunden zurückgeben. In einigen Fällen können die spezifischen Kennungen, die in einem verborgenen Manifest aufgenommen sind, basierend auf den Überwachungsinformationen der Kunden-Vorrichtung modifiziert oder angepasst werden, um sicherzustellen, dass die Kunden bestimmte Abschnitte des Streaming-Inhalts ansehen.

Description

  • HINTERGRUND
  • Allgemein beschrieben, verwenden Computervorrichtungen ein Kommunikationsnetzwerk oder eine Reihe von Kommunikationsnetzwerken zum Datenaustausch. Unternehmen und Organisationen betreiben Computernetzwerke, die eine Reihe von Computervorrichtungen miteinander verbinden, um den Betrieb zu unterstützen oder Dienstleistungen für Dritte zu erbringen. Die Computersysteme können sich an einem einzigen geografischen Standort oder an mehreren, unterschiedlichen geografischen Standorten befinden (z. B. über private oder öffentliche Kommunikationsnetze miteinander verbunden). Insbesondere können Datenzentren oder Datenverarbeitungszentren, hierin allgemein als „Datenzentren“ bezeichnet, eine Reihe von miteinander verbundenen Computersystemen beinhalten, um den Benutzern des Datenzentrums Computerressourcen zur Verfügung zu stellen. Bei den Datenzentren kann es sich um private Datenzentren handeln, die im Auftrag einer Organisation oder um öffentliche Datenzentren, die im Auftrag oder zum Nutzen der Allgemeinheit betrieben werden.
  • Dienstanbieter oder Inhaltsersteller (wie Unternehmen, Künstler, Medienvertriebsdienste usw.) können eine Reihe von miteinander verbundenen Datenzentren nutzen, um Inhalte (wie Websites, Webinhalte oder andere digitale Daten) an Benutzer oder Kunden weiterzugeben. Diese miteinander verbundenen Datenzentren werden manchmal als „Content Delivery Networks“ (CDNs) oder Streaming-Inhaltsbereitstellungssysteme bezeichnet. Bestehende Routing- und Adressierungstechnologien können es mehreren Datenzentren ermöglichen, die einem Streaming-Inhaltsbereitstellungssystem zugeordnet sind, ähnliche oder identische Inhalte für Kunden-Computervorrichtungen bereitzustellen. In einigen Fällen kann jedes Datenzentrum, das einen Satz von Inhalten bereitstellt, als Point-of-Presence („POP“) bezeichnet werden. Ein Streaming-Inhaltsbereitstellungssystem kann POPs über ein großes Gebiet (oder weltweit) verwalten, um es dem System zu ermöglichen, Anfragen von Kunden an verschiedenen Standorten effizient zu bearbeiten.
  • CDNs können zur Verbreitung verschiedenster Inhalte verwendet werden und können in einigen Fällen dazu dienen, frühere Systeme zur Verteilung von Inhalten zu replizieren oder zu ersetzen. Beispielsweise können CDNs netzwerkbasierte Streaming-Audio- oder Videoinhalte in ähnlicher Weise wie herkömmliche Fernseh- oder Radionetze bereitstellen. Diese Inhalte werden manchmal auch als „Internetfernsehen“ oder „Internetradio“ bezeichnet. Die Streaming-Inhalte können typischerweise von dedizierten Computervorrichtungen (z. B. Set-Top-Boxen), dedizierten Viewern auf Kunden-Computervorrichtungen (z. B. Softwareanwendungen) oder nicht dedizierten Softwareanwendungen (z. B. Webbrowser) betrachtet werden. Oftmals bieten diese Viewer eine Funktionalität, die über die Funktionalität herkömmlicher Vertriebsnetze wie Fernsehen oder Radio hinausgeht, wie z. B. die Möglichkeit, Inhalte „auf Nachfrage“ wiederzugeben. Darüber hinaus bieten diese Viewer einem Endbenutzer oft ein hohes Maß an Kontrolle, so dass er in der Lage ist, die angezeigten Inhalte zu ändern, z. B. Werbung oder andere unerwünschte Teile zu entfernen, oft ohne das Wissen des Inhaltsanbieters oder des Vertriebsnetzes. In einigen Fällen führen diese Änderungen dazu, dass den Inhaltsanbietern falsche Informationen zur Verfügung gestellt werden, wie z. B. der Hinweis, dass eine Werbung angesehen wurde, obwohl sie tatsächlich blockiert wurde.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine illustrative logische Netzwerkumgebung mit Kunden-Computervorrichtungen, Inhaltsanbietern und Werbesystemen sowie ein Streaming-Inhaltsbereitstellungsystem darstellt, das konfiguriert ist, um Inhalte mit geschützten Abschnitten an die Kunden-Computervorrichtungen unter Verwendung verborgener Manifeste bereitzustellen, die das Entfernen oder Blockieren der geschützten Abschnitte verhindern;
    • 2 ist ein Blockdiagramm, das eine illustrative Konfiguration einer Ausführungsform eines Servers darstellt, die den Manifesterzeugungsdienst von 1 implementieren kann, der verborgene Manifeste erzeugen kann;
    • 3A und 3B sind Blockdiagramme, die illustrative Interaktionen des Streaming-Inhaltsbereitstellungssystems von 1 darstellen, um ein verborgenes Manifest für einen Kunden zu erzeugen, das es dem Kunden ermöglicht, Inhalte zu konsumieren, während das Entfernen oder Blockieren oder bestimmte Teile des Inhalts verhindert werden;
    • 4 ist ein Blockdiagramm, das illustrative Interaktionen des Streaming-Inhaltsbereitstellungssystems von 1 darstellt, um Inhalte basierend auf einem verborgenen Manifest an eine Kunden-Computervorrichtung bereitzustellen;
    • 5 ist eine illustrative grafische Darstellung oder Visualisierung eines verborgenen Manifests, das durch das Streaming-Inhaltsbereitstellungssystem von 1 bereitgestellt werden kann, sowie Inhaltsabschnitte, die den innerhalb des verborgenen Manifests angegebenen Kennungen für verborgene Abschnitte entsprechen; und
    • 6 ist ein Flussdiagramm, das eine illustrative Routine darstellt, um Inhalte mit geschützten Abschnitten unter Verwendung eines verborgenen Manifests zu versehen.
  • DETAILLIERTE BESCHREIBUNG
  • Im Allgemeinen beschrieben, betrifft die vorliegende Offenbarung die Bereitstellung von Streaming-Inhalten über ein Kommunikationsnetzwerk in einer Weise, die Kunden oder Kunden-Computervorrichtungen daran hindert, geschützte Teile des Inhalts zu blockieren oder zu ändern, und die sicherstellen kann, dass Kunden die geschützten Teile betrachten. Wie hierin beschrieben, bezieht sich Streaming-Inhalt im Allgemeinen auf alle Inhalte, die in Abschnitte (manchmal auch als „Chunks“ bezeichnet) unterteilt sind, die unabhängig übertragen und betrachtet werden können, so dass ein Kunde einen ersten Abschnitt betrachten kann, während er einen zweiten herunterlädt. Die verschiedenen Abschnitte von Streaming-Inhalten werden oft innerhalb eines oder mehrerer Manifeste identifiziert, die Metadaten über den Streaming-Inhalt sowie eine Liste von Abschnitten innerhalb des Inhalts liefern. Jeder Abschnitt kann innerhalb des Manifests basierend auf einer Ressourcenkennung (z. B. einem einheitlichen Ressourcenindikator oder „URI“) oder Dateinamen identifiziert werden, den eine Kunden-Computervorrichtung verwenden kann, um die Abschnitte zu erhalten und auszugeben. In einigen Fällen können Kunden-Computervorrichtungen die Ressourcenkennungen von Abschnitten verwenden, um unerwünschte Inhalte, wie z. B. rechtliche Hinweise und Benachrichtigungen, Danksagungen, Widmungen oder Werbung, selektiv zu blockieren oder zu filtern. Vorrichtungen oder Software, die solche Inhalte blockieren, werden manchmal als „Werbeblocker“ bezeichnet. Werbeblocker funktionieren oft so, dass sie Manifeste für Abschnitte mit bestimmten Ressourcenkennungen überwachen (z. B. solche, die bestimmte Wörter in einem Dateinamen enthalten oder bestimmte Domänennamen in einer Kennung angeben) und entweder diese Abschnitte aus der Manifestdatei entfernen oder anderweitig verhindern, dass die Kunden-Computervorrichtung den Abschnitt anzeigt. Diese Änderungen verhindern, dass Kunden wichtige Inhalte sehen und können sich nachteilig auf die Inhaltsanbieter auswirken (z. B. durch Verringerung der Wirksamkeit von Abmahnungen, Verringerung der Werbeeinnahmen des Inhaltsanbieters usw.). Dementsprechend beziehen sich die Ausführungsformen der vorliegenden Offenbarung auf ein Streaming-Inhaltsbereitstellungssystem, das verborgene Manifeste für Streaming-Inhalte erzeugt und überträgt, die Teile des Inhalts über verborgene Kennungen auflisten, die die Art der einzelnen im Manifest aufgeführten Teile maskieren. Die verborgenen Manifeste können „just-in-time“ erstellt werden (z. B. als Reaktion auf eine Kundenanfrage) und können auf jeden Kunden oder auf jede Streaming-Sitzung individualisiert werden (z. B. jede einzelne Instanz, in der Streaming-Inhalte konsumiert werden), wodurch Werbeblocker nicht erkennen können, welche Abschnitte Werbung enthalten (oder andere Inhalte, die ein Kunde möglicherweise blockieren möchte) und welche Abschnitte andere Inhalte enthalten. Wenn einzelne Abschnitte aus dem verborgenen Manifest von einer Kunden-Computervorrichtung angefragt werden, kann das Streaming-Inhaltsbereitstellungssystem eine verborgene Kennung des Abschnitts in eine tatsächliche (z. B. nicht verborgene) Kennung für den Abschnitt umwandeln und den Abschnitt an den Kunden zurückgeben. Auf diese Weise kann eine Kunden-Computervorrichtung daran gehindert werden, zwischen den verschiedenen Abschnitten in einem Manifest zu unterscheiden, und somit verhindert werden, dass sie den Inhalt ändert, um bestimmte Abschnitte zu entfernen.
  • Als veranschaulichendes Beispiel nehmen wir an, dass eine Kunden-Computervorrichtung Streaming-Inhalte vom Streaming-Inhaltsbereitstellungssystem anfragt, das fünfundzwanzig Minuten Fernsehprogramm und drei Minuten Werbung umfasst. Eine typische Manifestdatei kann jeden Teil des Fernsehprogramms in diskreten 10-Sekunden-Abschnitten gemäß einem ersten Benennungsschema oder einer ersten Benennungskonvention (z. B. „television1.ts“, „television2.ts“, „television2.ts“ usw.) identifizieren und jeden 10-Sekunden-Abschnitt der Werbung gemäß einem zweiten Benennungsschema oder einer zweiten Benennungskonvention („advertisement1.ts“, „advertisement2.ts“) usw. ebenfalls identifizieren. Im Normalbetrieb würde eine Kunden-Computervorrichtung jeden Abschnitt unter Verwendung der Kennung im Manifest abrufen, die einem Speicherort für eine Netzwerkdatei (z. B. einem URI) entsprechen kann. Wenn eine Kunden-Computervorrichtung jedoch einen Werbeblocker verwendet, wäre es für die Kunden-Computervorrichtung relativ trivial, die Manifestdatei zu ändern, um die Werbung zu entfernen, indem alle Verweise auf Dateien, die unter der zweiten Benennungskonvention genannt werden (z. B. „advertisementX.ts2“), entfernt werden. Gemäß den Aspekten der vorliegenden Offenbarung kann ein Streaming-Inhaltsbereitstellungssystem anstelle der Bereitstellung der tatsächlichen Kennungen jedes Abschnitts innerhalb eines Manifests (z. B. eines Netzwerkstandortes, an dem ein Abschnitt gespeichert ist) eine Reihe von verborgenen Kennungen innerhalb des Manifests bereitstellen, die eine gemeinsame Benennungskonvention verwenden. Jede verborgene Kennung kann so erzeugt werden, dass die Art des entsprechenden Inhaltsabschnitts der Kunden-Computervorrichtung vorenthalten wird (z. B. so, dass sowohl das Fernsehprogramm als auch die Werbung durch ein gemeinsames Benennungsschema dargestellt werden). Wenn ein Abschnitt unter Verwendung einer verborgenen Kennung angefragt wird, kann das Streaming-Inhaltsbereitstellungssystem die verborgene Kennung in die tatsächlichen Kennung umwandeln und dem Kunden den richtigen Inhaltsabschnitt bereitstellen. Auf diese Weise kann die Kunden-Computervorrichtung für das Streaming von Inhalten aktiviert werden, aber sie kann nicht automatisch Teile des Inhalts basierend auf Kennungen innerhalb einer Manifestdatei blockieren oder ändern.
  • Vorteilhaft ist, dass die Verwendung eines verborgenen Manifests, das Inhaltsabschnitte durch die Verwendung verborgener Kennungen identifiziert, es einem Streaming-Inhaltsbereitstellungssystem ermöglichen kann, die Kennungen von Inhaltsabschnitten pro Sitzung oder pro Benutzer zu ändern, wodurch die Möglichkeit reduziert oder ausgeschlossen wird, dass Kunden-Computervorrichtungen (z. B. über Werbeblocker-Software) den Inhalt innerhalb jedes Inhaltsabschnitts vorhersagen können. Da das Streaming-Inhaltsbereitstellungssystem verborgene Kennungen in tatsächliche (z. B. nicht verborgene) Kennungen umwandeln kann, ist das System nicht gezwungen, die tatsächlichen Inhaltsabschnitte selbst zu replizieren, was den Speicherbedarf des Streaming-Inhaltsbereitstellungssystems erheblich erhöhen und das Caching dieser Inhaltsabschnitte innerhalb des Systems beeinträchtigen könnte. Da Manifeste kundenindividuell erzeugt werden können, können die spezifischen Abschnitte, die innerhalb jedes Manifests bereitgestellt werden, je nach den Attributen des Benutzers variiert werden (z. B. um gezielte Werbung innerhalb der Abschnitte bereitzustellen).
  • Um die Erzeugung verborgener Manifeste zu ermöglichen, kann das Streaming-Inhaltsbereitstellungssystem einen Manifesterzeugungsdienst beinhalten, der Kundenanfragen auf Streaming-Inhalte entgegennimmt und ein Manifest mit verborgenen Kennungen von Teilen dieses Inhalts zurückgibt. In einigen Fällen kann der Manifesterzeugungsdienst mit Drittdiensten, wie beispielsweise Werbenetzwerken, interagieren, um die spezifischen Streaming-Inhalte zu bestimmen, die jedem Kunden zur Verfügung gestellt werden sollen (z. B. ein Hauptinhaltselement zusätzlich zu einer oder mehreren Anzeigen, rechtlichen Benachrichtigungen usw.). Danach kann der Manifesterzeugungsdienst ein verborgenes Manifest für den Streaming-Inhalt erzeugen, das für jeden Teil des Inhalts verborgene Kennungen verwendet. In einer Ausführungsform kann der Manifesterzeugungsdienst eine verborgene Kennung für einen bestimmten Inhaltsabschnitt bestimmen, indem er eine tatsächliche Kennung des Inhaltsabschnitts gemäß einer der verschiedenen in der Technik bekannten Verschlüsselungstechniken verschlüsselt. So kann eine vom Menschen erkennbare Kennung (z. B. „advertisement.ts“) in eine nicht vom Menschen erkennbare Kennung umgewandelt werden, die in ein verborgenes Manifest aufgenommen werden kann. In einer weiteren Ausführungsform kann der Manifesterzeugungsdienst eine verborgene Kennung für einen bestimmten Inhaltsabschnitt durch zufällige Auswahl oder durch Übergabe der tatsächlichen Kennung durch einen einseitigen Hash-Algorithmus bestimmen. Im Allgemeinen müssen die verborgenen Kennungen, die einem Kunden zur Verfügung gestellt werden, nicht eindeutig sein, da das Streaming-Inhaltsbereitstellungssystem einen Datensatz der verborgenen Kennungen, die einem Kunden bereitgestellt werden, und der entsprechenden tatsächlichen Kennungen oder einen Datensatz darüber führen kann, wie die verborgenen Kennungen für jeden Kunden erstellt wurden. Es kann jedoch wünschenswert sein, das Streaming-Inhaltsbereitstellungssystem so zu konfigurieren, dass verborgene Kennungen eindeutig sind (z. B. statistisch sehr unwahrscheinlich, dass sie dupliziert werden), um die Notwendigkeit der Pflege von Zustandsinformationen zwischen verschiedenen Komponenten des Streaming-Inhaltsbereitstellungssystems zu reduzieren. Wenn beispielsweise alle verborgenen Kennungen durch Verschlüsselung tatsächlicher Kennungen mit einem gemeinsamen Verschlüsselungscode erstellt werden, kann jede Komponente des Streaming-Inhaltsbereitstellungssystems eine verborgene Kennung in eine tatsächliche Kennung mit diesem Verschlüsselungscode umwandeln, ohne dass andere Informationen zwischen den Komponenten gepflegt werden müssen. Die Verwendung eines gemeinsamen Verschlüsselungsschlüssels zur Umwandlung tatsächlicher Kennungen in verborgene Kennungen kann daher in weit verteilten Systemen wünschenswert sein, wie beispielsweise in Ausführungsformen, bei denen der Manifesterzeugungsdienst getrennt von Komponenten implementiert ist, die tatsächlich Inhaltsabschnitte für Kunden-Computervorrichtungen bereitstellen.
  • In einigen Fällen können Inhalte innerhalb einzelner Abschnitte weiter verborgen werden, indem die verschiedenen Abschnitte neu verschlüsselt oder anderweitig modifiziert werden, um konstante Attribute zu erhalten. Wenn beispielsweise der Streaming-Inhalt zwei Arten von Inhalten (z. B. sowohl Hauptinhalte als auch Werbeinhalte) umfasst, die im Allgemeinen in 10-Sekunden-Schritten bereitgestellt werden, ist es wahrscheinlich, dass einer oder beide der Inhaltstypen eine Länge aufweisen, die nicht gleichmäßig in 10-Sekunden-Schritte unterteilt werden kann. Während Abschnitte nicht unbedingt erforderlich sind, um eine konstante Dauer aufrechtzuerhalten, könnte eine Kunden-Computervorrichtung die Varianz der Dauer nutzen, um zwischen den Arten von Inhalt zu unterscheiden (z. B. wenn ein Abschnitt eine andere Dauer hat als die umliegenden Abschnitte, deutet dies wahrscheinlich auf einen Übergang zwischen den Arten von Inhalten hin). Ebenso können verschiedene Arten von Inhalt unterschiedliche Attribute aufweisen, wie Codierungstyp, Bitrate, Auflösung, Bildrate, Codec, Codec-Profil, Codec-Level, Kanalanzahl usw., die auch zur Unterscheidung zwischen den Arten verwendet werden können. Um die Unterscheidung zwischen den Inhaltstypen zu verhindern, kann das Streaming-Inhaltsbereitstellungssystem einen Content-Erzeugungsdienst beinhalten, der konfiguriert ist, um Inhalte neu zu verschlüsseln, so dass Teile, die sonst innerhalb eines Streams variieren würden, mit einheitlichen Attributen versehen werden können. Wenn beispielsweise eine erste Art von Inhalt (z. B. Hauptinhalte) normalerweise in einem Teil von nicht standardisierter Dauer und gefolgt von einer zweiten Art von Inhalt (z. B. Werbeinhalten) bereitgestellt wird, kann der Inhaltserzeugungsdienst die erste und zweite Art von Inhalt neu verschlüsseln, um einen oder mehrere Teile der Standarddauer zu erstellen (von denen jeder eine Kombination der ersten und zweiten Art von Inhalten beinhalten kann). Als weiteres Beispiel, wenn eine erste Art von Inhalt und eine zweite Art von Inhalt in anderen Attributen variieren, wie Codierungstyp, Bitrate, Auflösung, Bildrate, Codec, Codec-Profil, Codec-Level, Kanalanzahl usw., kann das Inhaltserzeugungssystem eine oder beide Arten von Inhalt neu verschlüsseln, um die Attribute der Inhaltsarten zu vereinheitlichen. Als weiteres Beispiel, wenn eine oder mehrere Arten von Inhalt mit ergänzenden Inhalten verknüpft sind (z. B. Audio oder Untertitel, die Videoinhalte ergänzen), kann das inhaltserzeugende System auch den ergänzenden Inhalt neu verschlüsseln, um die Konsistenz der Attribute des ergänzenden Inhalts sicherzustellen. Wie im Folgenden näher beschrieben, kann der Dienst zur Erzeugung von Inhalten in einigen Fällen just-in-time arbeiten, indem er erforderliche Inhaltsabschnitte erst dann erzeugt, wenn sie für eine Kunden-Computervorrichtung identifiziert wurden (z. B. innerhalb eines verborgenen Manifests).
  • Neben der automatischen Inhaltsfilterung oder -blockierung (z. B. durch den Einsatz von Werbeblockern) können Ausführungsformen der vorliegenden Offenbarung das manuelle Überspringen von Inhalten durch Kunden hindern oder diesem vorbeugen. Insbesondere können Ausführungsformen der vorliegenden Offenbarung adaptive Manifeste verwenden, deren Inhalt je nach den Aktivitäten des Kunden, der das Manifest nutzt, variiert. So kann beispielsweise nicht zu Beginn einer Streaming-Sitzung insgesamt, sondern im Laufe der Streaming-Sitzung einem Kunden ein Manifest zur Verfügung gestellt werden (z. B. in einer einzigen, ständig aktualisierten Datei, in mehreren Dateien usw.). Das Streaming-Inhaltsbereitstellungssystem kann dann konfiguriert werden, um den Inhalt späterer Abschnitte der Manifestdatei basierend auf der Benutzeraktivität während einer Streaming-Sitzung zu variieren. Wenn beispielsweise ein erster Abschnitt eines Manifests eine Werbung enthält, diese aber nicht von einem Kunden ausgegeben wird (z. B. weil der Kunde einen Abschnitt des der Werbung entsprechenden Inhalts übersprungen hat), kann das Streaming-Inhaltsbereitstellungssystem einen nachfolgenden Abschnitt des Manifests erzeugen, um die Werbung wieder einzubinden. Auf diese Weise können die spezifischen Inhaltsabschnitte, die in jedem Abschnitt des Manifests enthalten sind, basierend auf der Aktivität der Kunden-Computervorrichtung angepasst werden.
  • Während hierin Beispiele für Inhaltsverteilungssysteme aufgeführt sind, können Ausführungsformen der vorliegenden Offenbarung in Bezug auf jedes Netzwerk von Datenverarbeitungsvorrichtungen implementiert werden, das für das Streaming von Inhalten an Kunden-Computervorrichtungen eingesetzt wird. Darüber hinaus können Ausführungsformen der vorliegenden Offenbarung verwendet werden, um die Bereitstellung von Inhalten zu steuern, die in einzelne Abschnitte unterteilt sind, die für einen Benutzer durch ein Manifest identifiziert werden. Obwohl einige Beispiele für die Steuerung zusätzlicher Inhalte innerhalb eines Inhaltsstreams (z. B. Werbung, Haftungsausschlüsse, Danksagungen usw.) aufgeführt sind, können Ausführungsformen der vorliegenden Offenbarung verwendet werden, um zu steuern, wie Inhalte in einen Inhaltsstream eingebunden werden. So können beispielsweise einige Inhalte mit Einschränkungen verbunden sein, die einschränken, wer den Inhalt ansehen darf oder wie der Inhalt angezeigt werden darf (z. B. so, dass die Anzeige auf bestimmte Zeiträume oder geografische Standorte beschränkt ist). Ausführungsformen der vorliegenden Offenbarung können verborgene Manifeste verwenden, die, obwohl sie von Kunden eingesehen werden können, Kunden daran hindern, bestimmte Inhalte im Zusammenhang mit Einschränkungen zu identifizieren (z. B. durch das Erkennen von Dateinamen von eingeschränkten Inhalten), weil Kennungen verschleiert werden können, und können weiterhin benutzerdefinierte Manifeste für Kunden erzeugen (z. B. um eingeschränkte Inhalte einzuschließen oder auszuschließen), basierend auf Informationen, die über den Kunden gesammelt wurden (z. B. einschließlich Überwachungsinformationen oder anderer Daten). Die hierin enthaltenen Beispiele sollen daher illustrativer und nicht vollständiger Natur sein.
  • Wie für den Fachmann in Anbetracht der vorstehenden Beschreibung ersichtlich ist, erhöhen die hierin offenbarten Ausführungsformen die Fähigkeit von Computersystemen, wie z. B. Streaming-Inhaltsbereitstellungssystemen, Benutzern Inhalte auf geschützte Weise bereitzustellen, sodass Kunden-Vorrichtungen daran gehindert oder davon abgehalten werden, die Ausgabe eines oder mehrerer geschützter Abschnitte zu ändern. So stellen die vorliegend offenbarten Ausführungsformen eine Verbesserung des Funktionierens solcher Computersysteme dar, indem sie es ermöglichen, dass Streaming-Inhaltsbereitstellungssysteme oder andere vernetzte Geräte die Funktionalität herkömmlicher Verteilernetze, wie Fernseh- und Radionetze, replizieren und reproduzieren können. Darüber hinaus befassen sich die vorliegend offenbarten Ausführungsformen mit technischen Problemen, die den Computersystemen innewohnen; insbesondere mit der begrenzten Kontrolle, die Netzwerkübertragungssysteme über Daten nach der Übertragung an eine Kunden-Computervorrichtung haben, und dem hohen Potenzial für Kunden-Vorrichtungen, diesen Inhalt auf unerwünschte Weise zu ändern. Diese technischen Probleme werden durch die verschiedenen hierin beschriebenen technischen Lösungen gelöst, einschließlich der Verwendung von verborgenen Manifestdateien, die die Inhaltstypen innerhalb verschiedener Inhaltsabschnitte verbergen, und der Verwendung von adaptiven Manifestdateien, deren Inhalt je nach Kundenverhalten variiert werden kann. Somit stellt die vorliegende Offenbarung eine wesentliche Verbesserung gegenüber bestehenden Netzwerken und Computersystemen im Allgemeinen dar.
  • Die vorgenannten Aspekte und viele der damit verbundenen Vorteile der vorliegenden Offenbarung werden ohne Weiteres ersichtlich, da sie unter Bezugnahme auf die folgenden Punkte leichter verstanden werden, wenn sie in Verbindung mit den beigefügten Zeichnungen betrachtet werden.
  • 1 ist ein Blockdiagramm, das eine illustrative logische Netzwerkumgebung 100 darstellt, die mehrere Kunden-Computervorrichtungen 102, Inhaltsanbieter 104 und Werbesysteme 130 in Kommunikation mit einem Streaming-Inhaltsbereitstellungssystem 110 über ein Netzwerk 106 beinhaltet. Während die Kunden-Computervorrichtungen 102, die Inhaltsanbieter 104 und die Werbesysteme 130 in 1 gruppiert dargestellt sind, können die Kunden-Computervorrichtungen 102, Inhaltsanbieter 104 und Werbesysteme 130 geografisch entfernt und unabhängig voneinander in Besitz oder Betrieb sein. So können beispielsweise die Kunden-Computervorrichtungen 102 eine Vielzahl von Benutzern an verschiedenen globalen, kontinentalen oder regionalen Standorten repräsentieren, die auf das Streaming-Inhaltsbereitstellungssystem 110 zugreifen. Darüber hinaus könnten die Inhaltsanbieter 104 eine Vielzahl von verbundenen oder unterschiedlichen Parteien darstellen, die sich mit dem Streaming-Inhaltsbereitstellungssystem 110 verbunden haben, um Inhalte wie Websites, Multimedia oder andere digitale, netzwerkbereite Inhalte an die Kunden-Computervorrichtungen 102 bereitzustellen. Darüber hinaus könnten die Werbesysteme 130 eine Vielzahl von verbundenen oder unterschiedlichen Parteien darstellen, die Werbeinhalte bereitstellen, die in Inhalte aufgenommen werden, die mit den Inhaltsanbietern in Verbindung stehen (z. B. und den Inhaltsanbietern Einnahmen bringen). Die Kunden-Computervorrichtungen, Inhaltsanbieter 104 oder Werbesysteme 130 können von einer gemeinsamen Einheit oder von einer gemeinsamen Computervorrichtung betrieben werden, obwohl sie als unterschiedlich dargestellt sind. Dementsprechend sollen die Gruppierungen von Kunden-Computervorrichtungen 102, Inhaltsanbietern 104 und Werbesystem 130 innerhalb von 1 eine logische und nicht eine physische Gruppierung darstellen. Ebenso kann sich jede der Komponenten des Streaming-Inhaltsbereitstellungssystems 110 in geografisch unterschiedlichen Gebieten befinden. So kann beispielsweise das Streaming-Inhaltsbereitstellungssystem 110 POPs 112 an einer Vielzahl von global, kontinental oder regional unterschiedlichen Standorten enthalten, um eine breite geografische Präsenz für das Streaming-Inhaltsbereitstellungssystem 110 bereitzustellen.
  • Das Netzwerk 106 kann jedes drahtgebundene Netzwerk, drahtlose Netzwerk oder eine Kombination davon sein. Darüber hinaus kann das Netzwerk 106 ein Personal Area Netzwerk, ein Local Area Netzwerk, ein Wide Area Netzwerk, ein Kabelnetzwerk, ein Satellitennetzwerk, ein Mobiltelefonnetzwerk oder eine Kombination davon sein. In der beispielhaften Umgebung von 1 ist das Netzwerk 106 ein Global Area Netzwerk (GAN), wie beispielsweise das Internet. Protokolle und Komponenten für die Kommunikation über die anderen oben genannten Arten von Kommunikationsnetzen sind dem Fachmann der Computerkommunikation bekannt und müssen daher hier nicht näher beschrieben werden. Während jede der Kunden-Computervorrichtungen 102, Inhaltsanbieter 104, Werbesysteme 130 und das Streaming-Inhaltsbereitstellungssystem 110 als eine einzige Verbindung zum Netzwerk 106 dargestellt wird, können einzelne Komponenten der Kunden-Computervorrichtungen 102, Inhaltsanbieter 104, Werbesysteme 130 und das Streaming-Inhaltsbereitstellungssystem 110 an unterschiedlichen Stellen mit dem Netzwerk 106 verbunden sein. Dementsprechend können die Kommunikationszeiten und -fähigkeiten zwischen den Komponenten von 1 variieren.
  • Die Kunden-Computervorrichtungen 102 können eine beliebige Anzahl von verschiedenen Computervorrichtungen beinhalten, die in der Lage sind, mit dem Streaming-Inhaltsbereitstellungssystem 110 zu kommunizieren. So können beispielsweise individuelle Kunden-Computervorrichtungen 102 einem Laptop oder Tablet-Computer, einem Personal Computer, einem tragbaren Computer, einem Server, einem Personal Digital Assistant (PDA), einem Hybrid-PDA/Mobiltelefon, einem Mobiltelefon, einem elektronischen Buchleser, einer Set-Top-Box, einer Kamera, einem digitalen Mediaplayer und dergleichen entsprechen. Jede Kunden-Computervorrichtung 102 kann Hardware und/oder Software beinhalten, die den Empfang und die Ausgabe von Streaming-Inhalten ermöglicht, einschließlich dedizierter Wiedergabehardware, dedizierter Software (z. B. speziell programmierte Anwendungen) und allgemeiner Software (z. B. Webbrowser), die Streaming-Inhalte ausgeben kann (z. B. durch direktes Herunterladen der Inhalte, Herunterladen einer Webseite einschließlich der Inhalte usw.). In einigen Fällen können Kunden-Computervorrichtungen 102 ferner konfiguriert sein, um Informationen über die Ausgabe von Inhalten an das Streaming-Inhaltsbereitstellungssystem 110 zu melden, z. B. ob bestimmte Abschnitte des Inhalts von der Kunden-Computervorrichtung ausgegeben wurden. Die spezifische Konfiguration der einzelnen Kunden-Computervorrichtungen 102 kann variieren. So können beispielsweise die meisten Kunden-Computervorrichtungen 102 Streaming-Inhalte ohne Änderung abrufen und ausgeben; einige Kunden-Computervorrichtungen 102 können jedoch Hard- oder Software beinhalten, die konfiguriert sind, um Streaming-Inhalte zu modifizieren, um bestimmte Abschnitte zu entfernen (z. B. rechtliche Hinweise, Danksagungen, Widmungen, Werbung usw.).
  • Zu den Inhaltsanbietern 104 kann jede Computervorrichtung gehören, die sich im Besitz einer Einheit befindet oder von ihr betrieben wird, die Inhalte für das Streaming-Inhaltsbereitstellungssystem 110 bereitstellt, um sie anschließend an Kunden-Computervorrichtungen (die eine oder mehrere Kunden-Computervorrichtungen 102 beinhalten können) zu übertragen. So können beispielsweise Inhaltsanbieter 104 Server beinhalten, die Streaming-Audio-, Video-, Text-, Multimedia- oder interaktive Dienste hosten (z. B. Videospiele, Virtual- oder Augmented-Reality-Inhalte oder andere immersive Inhalte). Während sie in 1 als vernetzte Computervorrichtung veranschaulicht sind, können Inhaltsanbieter 104 dem Streaming-Inhaltsbereitstellungssystem 110 zusätzlich oder alternativ Inhalte über nicht vernetzte Kommunikationskanäle (z. B. durch physische Abgabe von Daten) bereitstellen.
  • Die Werbesysteme 130 können jede Computervorrichtung beinhalten, die sich im Besitz eines Unternehmens befindet oder von diesem betrieben wird, das Werbeinhalte für das Streaming-Inhaltsbereitstellungssystem 110 bereitstellt, um sie in andere Inhalte (z. B. Streaming-Video) aufzunehmen. Werbung kann Bilder, Text, Audio, Video oder andere Inhalte beinhalten, die in andere Inhalte eingefügt werden, die vom Streaming-Inhaltsbereitstellungssystem 110 bereitgestellt werden. Illustrativ kann die Werbung von den Werbesystemen 130 innerhalb des Anzeigeninhaltsdatenspeichers 134 gespeichert werden, was jedem dauerhaften oder im Wesentlichen dauerhaften Datenspeicher entsprechen kann, wie beispielsweise einer Festplatte (Hard Drive - HDD), einem Festkörperlaufwerk (Solid State Drive - SDD), einem Network Attached Storage (NAS), einem Bandlaufwerk oder einer beliebigen Kombination davon. In einigen Fällen können die Werbesysteme 130 konfiguriert sein, um die spezifischen Werbungen auszuwählen, die in den Streaming-Inhalt aufgenommen werden sollen, der vom Streaming-Inhaltsbereitstellungssystem 110 bereitgestellt wird (z. B. basierend auf den Attributen einer Kunden-Computervorrichtung). Dementsprechend können die Werbesysteme 130 einen Anzeigenauswahldienst 132 beinhalten, der konfiguriert ist, um Informationen über Inhalte zu empfangen, die an eine Kunden-Computervorrichtung gestreamt werden sollen (z. B. einschließlich der Attribute der Kunden-Computervorrichtung selbst) und um eine Auswahl von Werbung zurückzugeben, die in den Streaming-Inhalt aufgenommen werden soll. In einer Ausführungsform können das Streaming-Inhaltsbereitstellungssystem 110 und der Anzeigenauswahldienst 132 unter Verwendung eines Standardprotokolls oder einer Standardspezifikation kommunizieren, wie beispielsweise der Spezifikation Video Ad Serving Template (VAST), die von dem INTERACTIVE ADVERTISING BUREAU™ („IAB“) bereitgestellt wird, die es einem Streaming-Inhaltsdienst ermöglicht, Informationen über Streaming-Inhalte zu übermitteln und vom Werbesystem 130 Informationen darüber zu erhalten, welche Werbung abgespielt werden soll, wie die Werbung abgespielt werden soll und welche Informationen verfolgt werden sollen. Der Betrieb der Werbesysteme 130, einschließlich der Anzeigenauswahldienste 132, ist innerhalb der Branche allgemein bekannt und wird daher hier nicht näher beschrieben. Während illustrative Ausführungsformen in Bezug auf unterschiedliche Werbesysteme 130 beschrieben werden, die Werbung für die Aufnahme in Inhaltsstreams auswählen, kann das Streaming-Inhaltsbereitstellungssystem 110 zusätzlich oder alternativ ohne Interaktion mit den Werbesystemen 130 betrieben werden (z. B. durch die Integration eines Anzeigenauswahldienstes 132 in das Streaming-Inhaltsbereitstellungssystem 110, durch die Auswahl von Werbung nach einem Regelwerk, durch statische Werbung, durch die Integration von nicht-werbenden Inhalten als geschützte Inhalte usw.).
  • Das Streaming-Inhaltsbereitstellungssystem 110 kann eine Vielzahl von Komponenten und Vorrichtungen beinhalten, die so konfiguriert sind, dass Kunden-Computervorrichtungen 102 auf Streaming-Inhalte zugreifen können, die dem Streaming-Inhaltsbereitstellungssystem 110 von den Inhaltsanbietern 104 und den Werbesystemen 130 bereitgestellt werden. Insbesondere kann das Streaming-Inhaltsbereitstellungssystem 110 eine Reihe von POPs 112 beinhalten, die konfiguriert sind, um Streaming-Inhalte zu hosten, oder als Caching-Punkt für das Streaming von Inhalten dienen, die vom Streaming-Inhaltsbereitstellungssystem 110, den Inhaltsanbietern 104 und/oder den Werbesystemen 130 gehostet werden. Jeder POP 112 kann eine Vielzahl von Computervorrichtungen beinhalten, die konfiguriert sind, um Inhalte an Kunden-Computervorrichtungen 102 zu liefern. Dementsprechend, obwohl in 1 nicht dargestellt, kann jeder POP 112 eine beliebige Anzahl von Prozessoren, Datenspeichern oder Netzwerkkomponenten beinhalten, die in Verbindung stehen, um das Abrufen und Bereitstellen von Streaming-Inhalten an Kunden-Computervorrichtungen zu ermöglichen. Die POPs 112 können mit anderen Komponenten des Streaming-Inhaltsbereitstellungssystems 110 über ein internes Netzwerk dieses Systems 110 kommunizieren, das jedes drahtgebundene Netzwerk, drahtlose Netzwerk oder eine Kombination derselben beinhalten kann, und können ein Personal Area Netzwerk, ein Local Area Netzwerk, ein Wide Area Netzwerk, ein Kabelnetzwerk, ein Satellitennetzwerk, ein Mobiltelefonnetz oder eine Kombination derselben sein. In einigen Fällen kann das interne Netzwerk zumindest teilweise durch das Netzwerk 106 implementiert werden (z. B. als Virtual Private Network oder „VPN“). Illustrativ kann jeder POP 112 dazu dienen, eine begrenzte Auswahl von Inhaltsabschnitten innerhalb eines lokalen Cache-Datenspeichers zu speichern (z. B. die zuletzt angefragten n Inhaltsabschnitte), so dass diese Inhaltsabschnitte schnell an Kunden-Computervorrichtungen 102 übertragen werden können. Wenn der lokale Cache-Datenspeicher keinen angefragten Inhaltsabschnitt beinhaltet, kann der POP 112 konfiguriert werden, um den Inhaltsabschnitt aus einem entfernten Datenspeicher abzurufen, wie beispielsweise einem Inhaltsdatenspeicher 119 des Streaming-Inhaltsbereitstellungssystems 110, dem Anzeigeninhaltsdatenspeicher 134 oder einem Datenspeicher innerhalb eines Systems eines Inhaltsanbieters 104 (nicht in 1 dargestellt), und den Inhaltsabschnitt an eine anfragende Kunden-Computervorrichtung 102 zurückzugeben.
  • Gemäß den Ausführungsformen der vorliegenden Offenbarung kann das Streaming-Inhaltsbereitstellungssystem 110 einen Manifesterzeugungsdienst 114 beinhalten, der konfiguriert ist, um auf Kundenanfragen nach Streaming-Inhalten zu reagieren und ein verborgenes Manifest zu erzeugen, das über verborgene Kennungen eine Anzahl von Inhaltsabschnitten identifiziert, die einer anfragenden Kunden-Computervorrichtung 102 bereitzustellen sind. Da das verborgene Manifest verborgene Kennungen für die Inhaltsabschnitte verwendet, können Kunden-Computervorrichtungen 102 daran gehindert werden, zwischen den Arten von Inhalt innerhalb jedes Abschnitts zu unterscheiden, und somit daran gehindert oder davon abgehalten werden, bestimmte Arten von Inhalt automatisch zu blockieren. Wie im Folgenden näher beschrieben, kann der Manifesterzeugungsdienst 114 mit anderen Komponenten des Streaming-Inhaltsbereitstellungssystems 110 sowie mit externen Komponenten, wie beispielsweise den Werbesystemen 130, interagieren, um die spezifischen Inhaltsabschnitte auszuwählen, die innerhalb des Manifests identifiziert werden sollen. Das Manifesterzeugungssystem 114 kann ferner mit einem Inhaltserzeugungsdienst 116 kommunizieren, um sicherzustellen, dass alle innerhalb des Manifests identifizierten benutzerdefinierten Inhaltsabschnitte auf dem Streaming-Inhaltsbereitstellungssystem 110 verfügbar sind. In einigen Fällen kann das Manifesterzeugungssystem 114 die Inhaltsabschnitte, die in einem Manifest enthalten sind, basierend auf der Aktivität der Kunden-Computervorrichtung 102 variieren, um das manuelle Überspringen von geschützten Inhalten, wie beispielsweise Werbung, die von den Werbesystemen 130 bereitgestellt wird, zu verhindern oder dem vorzubeugen. Darüber hinaus kann der Manifesterzeugungsdienst 114 Informationen an andere Komponenten des Streaming-Inhaltsbereitstellungssystems 110, wie beispielsweise die POPs 112, weiterleiten, die es diesen Komponenten ermöglichen, verborgene Kennungen, wie sie im verborgenen Manifest enthalten sind, in die eigentlichen Kennungen für Inhaltsabschnitte umzuwandeln, und es diesen Komponenten somit ermöglichen, die Inhaltsabschnitte abzurufen und den Kunden-Computervorrichtungen 102 bereitzustellen.
  • Das Streaming-Inhaltsbereitstellungssystem 110 kann ferner einen Inhaltserzeugungsdienst 116 beinhalten, der konfiguriert ist, um Inhaltsabschnitte zu erzeugen, die innerhalb eines verborgenen Manifests zu identifizieren sind, oder um bestehende Inhaltsabschnitte so zu verbinden, aufzuteilen oder zu modifizieren, dass alle Inhaltsabschnitte innerhalb des verborgenen Manifests dieselben oder ähnliche Attribute aufweisen (z. B. die gleiche Länge, Auflösung, Bitrate, Bildrate usw.). Illustrativ kann der Inhaltserzeugungsdienst 116 konfiguriert sein, um Benachrichtigungen vom Manifesterzeugungsdienst 114 zu empfangen, die einen oder mehrere Inhaltsabschnitte, die innerhalb eines verborgenen Manifests identifiziert wurden, und die gewünschten Parameter dieser Inhaltsabschnitte angeben, und dann bestehende Inhalte (z. B. bestehende Hauptinhalte, Anzeigen usw.) neu zu verschlüsseln, um diesen gewünschten Parametern zu entsprechen. Der Inhaltserzeugungsdienst 116 kann dann die erzeugten Abschnitte (z. B. innerhalb des Inhaltsdatenspeichers 119) speichern, um diese Abschnitte der Kunden-Computervorrichtung 102, die das verborgene Manifest empfangen hat, den POPs 112 oder anderen Komponenten des Streaming-Inhaltsbereitstellungssystems 110 zur Verfügung zu stellen. In einigen Fällen kann der Inhaltserzeugungsdienst 116 „just-in-time“ funktionieren, sodass Inhaltsabschnitte gleichzeitig mit oder nach Lieferung eines verborgenen Manifests an eine Kunden-Computervorrichtung 102 erzeugt werden.
  • Der Inhaltsdatenspeicher 119, der zum Speichern der erzeugten Inhaltsabschnitte sowie anderer Inhalte (z. B. wie von den Inhaltsanbietern 104, den Werbesystemen 130 usw. bereitgestellt) verwendet werden kann, kann jeder dauerhaften oder im Wesentlichen dauerhaften Datenspeicherung entsprechen, wie beispielsweise einer Festplatte (HDD), einem Festkörperlaufwerk (SDD), einem Network Attached Storage (NAS), einem Bandlaufwerk oder einer beliebigen Kombination derselben.
  • Das Streaming-Inhaltsbereitstellungssystem 110 kann ferner einen Überwachungsdienst beinhalten, der konfiguriert ist, um Informationen über die Übertragung von Inhaltsabschnitten an Kunden-Computervorrichtungen 112 oder die Ausgabe dieser Inhaltsabschnitte auf den Kunden-Computervorrichtungen 102 zu empfangen. In einigen Fällen können POPs 112 Informationen an den Überwachungsdienst 118 übermitteln, die anzeigen, dass ein bestimmter Inhaltsabschnitt angefragt und an eine Kunden-Computervorrichtung 102 übermittelt wurde, was darauf hindeuten kann, dass die Kunden-Computervorrichtung 102 den Inhaltsabschnitt betrachtet hat (oder zumindest möglicherweise betrachtet hat). Darüber hinaus können Kunden-Computervorrichtungen 102 selbst Informationen an den Überwachungsdienst 118 senden, die anzeigen, dass bestimmte Inhaltsabschnitte empfangen oder an einen Benutzer ausgegeben wurden. In einigen Fällen kann die Kunden-Computervorrichtung 102 Überwachungsinformationen bereitstellen, indem sie Code ausführt, der vom Streaming-Inhaltsbereitstellungssystem 110 bereitgestellt wird, wie beispielsweise JAVASCRIPT™-Code, der in einer Webseite enthalten ist, die Streaming-Inhalte ausgibt. Wie im Folgenden näher beschrieben, können die im Überwachungsdienst 118 gesammelten Überwachungsinformationen in einigen Fällen vom Manifesterzeugungsdienst 114 verwendet werden, um die in verborgenen Manifesten identifizierten Inhaltsabschnitte zu erzeugen oder anzupassen.
  • Für den Fachmann wird ersichtlich sein, dass das Streaming-Inhaltsbereitstellungssystem 110 weniger oder mehr Komponenten aufweisen kann als in 1 dargestellt. Darüber hinaus kann das Streaming-Inhaltsbereitstellungssystem 110 verschiedene Webdienste und/oder Peer-to-Peer-Netzwerkkonfigurationen beinhalten. Daher ist die Darstellung des Streaming-Inhaltsbereitstellungssystems 110 in 1 als Beispiel zu nehmen. So können beispielsweise in einigen Ausführungsformen Komponenten des Streaming-Inhaltsbereitstellungssystems 110, wie beispielsweise der Manifesterzeugungsdienst 114 oder der Inhaltserzeugungsdienst 116, von einer weiteren virtuellen Maschine ausgeführt werden, die in einer gehosteten Computerumgebung implementiert ist. Eine gehostete Computerumgebung kann eine oder mehrere schnell bereitgestellte und freigegebene Computerressourcen beinhalten, zu denen Computer-, Netzwerk- und/oder Speichervorrichtungen gehören können. Eine gehostete Computerumgebung kann auch als Cloud-Computerumgebung bezeichnet werden.
  • 2 stellt eine Ausführungsform einer Architektur eines Servers 200 dar, der den hierin beschriebenen Manifesterzeugungsdienst 114 implementieren kann. Die in 2 dargestellte allgemeine Architektur des Servers 200 beinhaltet eine Anordnung von Computerhardware und Softwarekomponenten, die zur Umsetzung von Aspekten der vorliegenden Offenbarung verwendet werden können. Wie dargestellt, beinhaltet der Server 200 eine Verarbeitungseinheit 204, eine Netzwerkschnittstelle 206, ein computerlesbares Medienlaufwerk 207, eine Ein-/Ausgabeschnittstelle 220, eine Anzeige 202 und eine Eingabevorrichtung 224, die alle über einen Kommunikationsbus miteinander kommunizieren können. Die Netzwerkschnittstelle 206 kann eine Verbindung zu einem oder mehreren Netzwerken oder Computersystemen, wie beispielsweise dem Netzwerk 106 von 1, bereitstellen. Die Verarbeitungseinheit 204 kann somit Informationen und Anweisungen von anderen Computersystemen oder Diensten über ein Netzwerk empfangen. Die Verarbeitungseinheit 204 kann auch mit und von Speicher 210 kommunizieren und weiterhin Ausgangsinformationen für eine optionale Anzeige 202 über die Ein-/Ausgabeschnittstelle 220 bereitstellen. Die Ein-/Ausgabeschnittstelle 220 kann auch Eingaben von der optionalen Eingabevorrichtung 224 annehmen, wie beispielsweise einer Tastatur, Maus, einem digitalen Stift usw. In einigen Ausführungsformen kann der Server 200 mehr (oder weniger) Komponenten beinhalten als in 2 dargestellt. So können beispielsweise einige Ausführungsformen des Servers 200 die Anzeige 202 und die Eingabevorrichtung 224 weglassen, während sie Ein-/Ausgabemöglichkeiten über einen oder mehrere alternative Kommunikationskanäle (z. B. über die Netzwerkschnittstelle 206) bereitstellen.
  • Der Speicher 210 kann Computerprogrammanweisungen beinhalten, die die Verarbeitungseinheit 204 ausführt, um eine oder mehrere Ausführungsformen zu implementieren. Der Speicher 210 beinhaltet im Allgemeinen RAM, ROM und/oder andere dauerhafte oder nicht-transitorische Speicher. Der Speicher 210 kann ein Betriebssystem 214 speichern, das Computerprogrammanweisungen für die Verwendung durch die Verarbeitungseinheit 204 bei der allgemeinen Verwaltung und dem Betrieb des Servers 200 bereitstellt. Der Speicher 210 kann ferner Computerprogrammanweisungen und andere Informationen zur Umsetzung von Aspekten der vorliegenden Offenbarung beinhalten. So beinhaltet der Speicher 210 beispielsweise in einer Ausführungsform die Benutzerschnittstellensoftware 212, die Benutzeroberflächen (und/oder Anweisungen dazu) zur Anzeige auf einer Computervorrichtung erzeugt, z. B. über eine Navigationsschnittstelle, wie beispielsweise einen auf der Computervorrichtung installierten Webbrowser. Darüber hinaus kann der Speicher 210 einen oder mehrere Zusatzdatenspeicher, wie beispielsweise den Datenspeicher 120, beinhalten oder mit ihm kommunizieren, die einem dauerhaften oder im Wesentlichen dauerhaften Datenspeicher, wie beispielsweise einer Festplatte (HDD), einem Festkörperlaufwerk (SDD), einem Network Attached Storage (NAS), einem Bandlaufwerk oder einer beliebigen Kombination derselben, entsprechen können.
  • Zusätzlich zum Benutzerschnittstellenmodul 212 kann der Speicher 210 eine Manifesterzeugungssoftware 216 beinhalten, die von der Verarbeitungseinheit 204 ausgeführt werden kann. In einer Ausführungsform implementiert die Manifesterzeugungssoftware 216 verschiedene Aspekte der vorliegenden Offenbarung, z. B. das Erzeugen verborgener Manifeste für Kunden-Computervorrichtungen 116, die Kunden daran hindern oder verhindern, geschützte Inhaltsabschnitte automatisch oder manuell zu blockieren, zu überspringen oder zu ändern. Während die Manifesterzeugungssoftware 216 in 2 als Teil des Servers 200 dargestellt ist, kann in anderen Ausführungsformen die gesamte oder ein Teil der Software durch alternative Computervorrichtungen innerhalb des Streaming-Inhaltsbereitstellungssystems 110 implementiert werden, wie beispielsweise virtuelle Computervorrichtungen innerhalb einer gehosteten Computerumgebung als Teil der Computervorrichtungen 204.
  • 3A und 3B stellen eine Reihe von illustrativen Interaktionen dar, um einer Kunden-Computervorrichtung 102 ein verborgenes Manifest bereitzustellen, damit die Vorrichtung 102 Inhalte aus dem Streaming-Inhaltsbereitstellungssystem 110 streamen kann, während sie gleichzeitig die Vorrichtung 102 daran hindert oder davon abhält, Abschnitte („geschützte“ Abschnitte) dieses Inhalts zu entfernen, zu modifizieren oder zu blockieren. Obwohl als zwei Figuren dargestellt, wird die Anzahl der Interaktionen zwischen 3A und 3B aus Gründen der Kohärenz beibehalten.
  • Die Interaktionen beginnen bei (1) von 3A, wobei eine Kunden-Computervorrichtung 102 Inhalte von einem POP 112 des Streaming-Inhaltslieferungssystems 110 anfragt. Die Anfrage kann durch die Verwendung der Kunden-Computervorrichtung 102 durch einen Kunden erzeugt werden, z. B. durch Starten oder Interagieren mit einer Anwendung zum Anzeigen von Streaming-Inhalten, einer Webbrowser-Anwendung usw. Die Anfrage kann mindestens einen vom Kunden gewünschten Hauptinhalt enthalten, wie z. B. Fernsehprogramm, Film, Video, Audioprogramm usw. In einigen Fällen kann die Anfrage weitere Informationen über die Kunden-Computervorrichtung 102 oder einen Kunden, der die Kunden-Computervorrichtung 102 verwendet, anzeigen, wie z. B. die Konfiguration der Vorrichtung 102, den Standort der Vorrichtung 102, ein Konto der Vorrichtung 102 oder des Kunden auf dem Streaming-Inhaltslieferungssystem 110. Wie nachstehend beschrieben, können diese Informationen vom Streaming-Inhaltsbereitstellungssystem 110 und/oder einem Werbesystem 130 verwendet werden, um zusätzliche Inhalte zu bestimmen, die der Kunden-Computervorrichtung 102 bereitzustellen sind, wie z. B. rechtliche Hinweise, Danksagungen, Widmungen oder Werbung, von denen das Streaming-Inhaltsbereitstellungssystem 110 vor der automatischen Entfernung oder Änderung durch die Kunden-Computervorrichtung 102 oder dem manuellen Überspringen durch einen Kunden der Vorrichtung 102 schützen möchte.
  • Bei (2) fragt der empfangende POP 112 ein Manifest vom Manifesterzeugungsdienst 114 an. Das Manifest kann im Allgemeinen einer Aufzeichnung von Metadaten zu einem Inhaltsstream entsprechen, wie beispielsweise dem Format des Streams, sowie einer Auflistung von Inhaltsabschnitten, die, wenn sie in Folge abgespielt werden, den Inhaltsstream bilden. Dementsprechend kann die vom POP 112 übertragene Anfrage Informationen beinhalten, die von der Kunden-Computervorrichtung 102 empfangen wurden, wie z. B. den Hauptinhalt, der zum Streaming angefragt wurde, Informationen über die Kunden-Computervorrichtung 102 oder Informationen über einen Kunden der Vorrichtung 102. Die durch den POP 112 übermittelte Anfrage kann ferner zusätzliche Informationen beinhalten, die durch den POP 112 erhalten wurden, wie z. B. eine Tageszeit der Anfrage, Informationen, die mit einem Konto des Kunden der Vorrichtung 102 verbunden sind, usw.
  • Wie bereits erwähnt, kann der Streaming-Inhalt neben dem Hauptinhalt, der von der Kunden-Computervorrichtung 102 angefragt wird, auch eine oder mehrere andere Arten von Inhalt beinhalten, wie z. B. rechtliche Hinweise, Danksagungen, Widmungen oder Werbung. Dieser Inhalt wird hierin in der Regel als „zusätzlicher Inhalt“ bezeichnet. In einigen Fällen kann der Manifesterzeugungsdienst 114 selbst bestimmen, welche zusätzlichen Inhalte in einen Inhaltsstream aufgenommen werden sollen. So kann beispielsweise der Manifesterzeugungsdienst 114 einen spezifischen rechtlichen Hinweis in allen Inhaltsstreams beinhalten oder eine Reihe von Regeln aufrechterhalten, die bestimmen, welche zusätzlichen Inhalte innerhalb eines Streams bereitgestellt werden sollen (z. B. basierend auf Kriterien wie dem angefragten Hauptinhalt, Attributen der Anfrage, Attributen der Kunden-Computervorrichtung 102 usw.). In anderen Fällen kann der Manifesterzeugungsdienst 114 mit anderen Komponenten, wie beispielsweise dem Werbesystem 130, interagieren, um zu bestimmen, welche zusätzlichen Inhalte in den Inhaltsstream aufgenommen werden sollen. Da der zusätzliche Inhalt zum Zeitpunkt der Erzeugung einer Manifestdatei bestimmt werden kann, kann der zusätzliche Inhalt spezifisch auf die Kunden-Computervorrichtung 102 oder den Kunden dieser Vorrichtung 102 ausgerichtet werden. So können beispielsweise spezifische Anzeigen in einen Inhaltsstream aufgenommen werden, die für einen Kunden relevant sein dürften. Zum Zwecke der Beschreibung von 3A wird davon ausgegangen, dass der Manifesterzeugungsdienst 114 konfiguriert ist, um mit einem Werbesystem 130A zu interagieren, um mindestens eine Werbung zu bestimmen, die in einen Inhaltsstream als zusätzlichen Inhalt aufzunehmen ist.
  • Dementsprechend sendet der Manifesterzeugungsdienst 114 bei (3) eine Anfrage an das Werbesystem 130A zur Auswahl einer Werbung, die in einen Inhaltsstream aufgenommen und somit in einer Manifestdatei identifiziert werden soll, die an die Kunden-Computervorrichtung 102 geliefert wird. In einer Ausführungsform kann die Anfrage gemäß der VAST-Spezifikation formatiert werden und alle Informationen über die Anfrage beinhalten, wie beispielsweise Informationen über den angefragten Hauptinhalt, Attribute der Kunden-Computervorrichtung 102, Attribute des Kunden dieser Vorrichtung 102 usw. Als Reaktion darauf gibt das Werbesystem 130A unter (4) einen Hinweis auf eine Anzeige zurück, die als zusätzlicher Inhalt in den Inhaltsstream aufgenommen werden soll, der auch angeben kann, wie die Anzeige in den Hauptinhalt eingefügt werden soll (z. B. zu welchen Zeiten), zu verfolgende Informationen über die Ausgabe der Anzeige usw. Spezifische Interaktionen bei der Auswahl von Anzeigen liegen außerhalb des Anwendungsbereichs der vorliegenden Offenbarung und werden daher nicht im Detail erläutert.
  • Bei (5) erzeugt der Manifesterzeugungsdienst ein verborgenes Manifest, das Inhaltsabschnitte identifiziert, die sowohl dem angefragten Hauptinhalt als auch allen zusätzlichen Inhalten (z. B. der vom Werbesystem 130A ausgewählten Werbung) entsprechen. Um ein verborgenes Manifest zu erzeugen, kann der Manifesterzeugungsdienst 114 zunächst feststellen, welche Inhalte an die Kunden-Computervorrichtung gestreamt werden sollen (z. B. Hauptinhalte und zusätzliche Inhalte) und die relative Reihenfolge dieser Inhalte (z. B. bestimmt durch die vom Werbesystem 130A bereitgestellten Informationen oder andere Informationen, die im Manifesterzeugungsdienst 114 erhalten werden). Der Manifesterzeugungsdienst 114 kann dann Inhaltsabschnitte bestimmen, die, wenn sie nacheinander abgespielt werden, den gewünschten Inhaltsstream bilden. Wenn beispielsweise der Manifesterzeugungsdienst 114 bestimmt, dass eine dreiminütige Werbung gestreamt werden soll, bevor ein dreißigminütiges Fernsehprogramm gestreamt wird, kann der Manifesterzeugungsdienst 114 ein Manifest erzeugen, das Inhaltsabschnitte identifiziert, die die dreiminütige Werbung bilden, sowie Inhaltsabschnitte, die das dreißigminütige Fernsehprogramm bilden. Das Manifest kann auch Metadaten über den Stream enthalten, wie z. B. ein Format der Inhaltsabschnitte, Länge jedes Abschnitts, Gesamtdauer des Streams usw. In einer Ausführungsform wird das Manifest gemäß dem Live-Streaming-Protokoll HTTP (Hypertext-Transportprotokoll) oder „HLS“ formatiert. Typischerweise beinhalten Manifeste, die gemäß diesem Protokoll erzeugt werden, Kennungen für jeden Inhaltsabschnitt, die den tatsächlichen Dateien auf einem netzwerkbasierten System entsprechen. Beispielsweise können Manifeste für jeden Inhaltsabschnitt eine URI angeben, die einer Videodatei entspricht, die auf einer netzwerkbasierten Speichervorrichtung gespeichert ist. Durch das Herunterladen und Ausgeben dieser Videodateien kann ein Kunde also den im Manifest identifizierten Inhalt streamen. Die direkte Platzierung von tatsächlichen Kennungen innerhalb eines Manifests bietet den Kunden-Vorrichtungen jedoch auch die Möglichkeit, das Manifest selektiv zu ändern oder das Herunterladen oder die Ausgabe bestimmter Inhaltsabschnitte zu blockieren.
  • Gemäß den Ausführungsformen der vorliegenden Offenbarung kann das vom Manifesterzeugungsdienst erzeugte Manifest somit eine Reihe von verborgenen Kennungen beinhalten, die Dateien innerhalb des Streaming-Inhaltsbereitstellungssystems 110 nicht direkt identifizieren können und die den Inhalt jedes Inhaltsabschnitts maskieren können, so dass es für eine Kunden-Computervorrichtung 102 unwahrscheinlich oder unmöglich ist, den Inhalt eines Inhaltsabschnitts basierend auf der verborgenen Kennung zu bestimmen. Ein Manifest, das verborgene Kennungen für Inhaltsabschnitte verwendet, kann hierin im Allgemeinen als verborgenes Manifest bezeichnet werden. Anstatt beispielsweise die tatsächlichen Kennung jedes Inhaltsabschnitts bereitzustellen, kann der Manifesterzeugungsdienst 114 die Kennung mit einem Verschlüsselungsschlüssel verschlüsseln, um eine verborgenen Kennung zu erzeugen. Der Verschlüsselungsschlüssel kann von den Kunden-Computervorrichtungen 102 aufbewahrt werden, sodass Kunden nicht in der Lage sind, die tatsächliche Kennung für jeden Inhaltsabschnitt zu bestimmen. Der Verschlüsselungsschlüssel kann jedoch mit den Komponenten des Streaming-Inhaltsbereitstellungssystems 110 geteilt werden, so dass diese Komponenten bei Erhalt einer Anfrage für einen Inhaltsabschnitt, der durch eine verborgene Kennung identifiziert wird, den tatsächlichen Inhaltsabschnitt bestimmen können, der einer verborgenen Kennung entspricht. Es ist zu beachten, dass sich die Verschlüsselung von Inhaltskennungen von der Verschlüsselung von Inhaltsabschnitten selbst unterscheidet (was z. B. bei den Programmen der Verwaltung digitaler Rechte [„DRM“] vorkommen kann). Die Verschlüsselung von Inhaltskennungen soll sich auf die Verschlüsselung eines Ressourcensuchers für einen Inhaltsabschnitt (z. B. einen Dateinamen oder Pfad) beziehen und kann somit ändern, wie eine Kunden-Computervorrichtung 102 den Inhaltsabschnitt innerhalb einer Anfrage an das Streaming-Inhaltsbereitstellungssystem 110 identifiziert. Im Gegensatz dazu bezieht sich die Verschlüsselung des Inhaltsabschnitts selbst im Allgemeinen auf eine Verschlüsselung einer bestimmten Datei und kann daher ändern, wie der Inhaltsabschnitt (einmal empfangen) von der Kunden-Computervorrichtung 102 gelesen oder ausgegeben wird. Verschlüsselte Inhaltskennungen können mit oder ohne Verschlüsselung einzelner Inhaltsabschnitte selbst verwendet werden. Wie bereits erwähnt, können andere Mechanismen (zusätzlich oder alternativ zur Verschlüsselung) verwendet werden, um verborgene Kennungen zu erzeugen. So kann beispielsweise eine verborgene Kennung für einen bestimmten Inhaltsabschnitt in einigen Fällen durch zufällige Auswahl oder durch Übergabe der tatsächlichen Kennung durch einen einseitigen Hash-Algorithmus bestimmt werden.
  • Zur Veranschaulichung beinhaltet 5 eine Visualisierung eines verborgenen Manifests 502, das gemäß der vorliegenden Offenbarung verwendet werden kann. Wie in 5 dargestellt, identifiziert das verborgene Manifest 502 eine Reihe von Inhaltsabschnitten (identifiziert durch verborgene Kennungen 504A-Z), die bei Betrachtung Streaming-Inhalte bilden. Jede verborgene Kennung 504 kann eine Reihe von alphanumerischen Zeichen (oder jedes andere Zeichen, das von der Kunden-Computervorrichtung 102 verwendet werden kann) widerspiegeln, die vom Manifesterzeugungssystem 110 erzeugt werden (z. B. durch Verschlüsselung einer tatsächlichen Kennung des Inhaltsabschnitts). Da das Manifest 502 von einer Kunden-Computervorrichtung 102 sichtbar ist, werden die verborgenen Kennungen gebildet, um zu verhindern oder zu vermeiden, dass die Kunden-Computervorrichtung 102 zwischen verschiedenen Arten von Inhalt unterscheidet (z. B. Hauptinhalt versus Werbung usw.). Somit können die verschiedenen verborgenen Kennungen gemäß dem gleichen Algorithmus gebildet werden (z. B. gemäß dem gleichen Verschlüsselungsschema usw.) und sich auf Inhaltsabschnitte beziehen, die ähnliche oder identische Attribute aufweisen (z. B. Länge, Format, Bitrate usw.).
  • Wie in 5 dargestellt, entspricht jede verborgene Kennung 504 einer tatsächlichen Kennung 508 für einen Inhaltsabschnitt. Diese tatsächlichen Kennungen können den Namen oder den Speicherort einer Datei (auf dem Streaming-Inhaltsbereitstellungssystem 110 oder einer anderen Netzwerkressource, wie beispielsweise dem Werbesystem 130) widerspiegeln, die dem Inhaltsabschnitt entspricht. Obwohl sie in 5 als einfacher Dateiname dargestellt sind, können verborgene Kennungen und/oder tatsächliche Kennungen in einigen Fällen eine oder mehrere URIs für einen Inhaltsabschnitt beinhalten. Da die tatsächlichen Kennungen jedes Inhaltsabschnitts Informationen über diesen Inhaltsabschnitt offenlegen können (z. B. die Art des Inhalts innerhalb des Inhaltsabschnitts), werden die tatsächlichen Kennungen im Allgemeinen von der Kunden-Computervorrichtung 102 zurückgehalten.
  • Um sicherzustellen, dass das verborgene Manifest 502 keine Informationen über die Arten von Inhalten bereitstellt, die den verborgenen Kennungen 504 zugrunde liegen, kann in einigen Fällen einer oder mehrere der Inhaltsabschnitte vom Inhaltsbereitstellungsdienst 110 individuell erstellt werden. Die tatsächliche Kennung 508B bezieht sich beispielsweise auf „custom-content1.ts“, die als Kombination aus geschütztem Inhalt (z. B. Werbung oder Haftungsausschluss) und Hauptinhalt (z. B. Fernsehprogramm) erzeugt werden kann. Illustrativ kann benutzerdefinierter Inhalt an Übergängen zwischen Inhaltstypen oder in jedem anderen Fall erzeugt werden, in dem ein vorhandener Inhaltsabschnitt nicht mit den anderen Inhaltsabschnitten innerhalb des verborgenen Manifests 502 übereinstimmen würde. Wenn beispielsweise der letzte Inhaltsabschnitt einer Werbung nur 5 Sekunden in Anspruch nehmen würde, andere Inhaltsabschnitte in einem Manifest aber im Allgemeinen 10 Sekunden in Anspruch nehmen, kann ein benutzerdefinierter Inhaltsabschnitt durch das Streaming-Inhaltsbereitstellungssystem 110 erzeugt werden, das die letzten 5 Sekunden der Werbung mit den ersten fünf Sekunden eines Hauptinhalts (oder eines anderen zusätzlichen Inhalts) kombiniert.
  • Um auf die Interaktionen der 3A und 3B zurückzukommen, nachdem ein verborgenes Manifest erzeugt wurde (z. B. entsprechend dem beispielhaften Manifest 502 von 5), kann der Manifesterzeugungsdienst 114 mit dem Inhaltserzeugungsdienst 116 interagieren, um sicherzustellen, dass alle identifizierten Inhaltsabschnitte (z. B. über verborgene Kennungen) innerhalb des Manifests zur Übertragung an eine Kunden-Computervorrichtung 102 verfügbar sind. Insbesondere kann der Manifesterzeugungsdienst 114 bei (6) anfragen, dass der Inhaltserzeugungsdienst 116 alle benutzerdefinierten Inhaltsabschnitte erstellt, die im verborgenen Manifest identifiziert, aber noch nicht im Inhaltsdatenspeicher 119 (oder einem anderen Netzwerkdatenspeicher) gespeichert sind. Die Anfrage kann beispielsweise gewünschte Inhalte für die Erstellung eines benutzerdefinierten Inhaltsabschnitts (z. B. 5 Sekunden einer bestimmten Werbung, 5 Sekunden eines bestimmten Hauptinhalts) sowie Parameter für den benutzerdefinierten Inhaltsabschnitt (z. B. Bitrate, Verschlüsselungstyp, Auflösung usw.) beinhalten. Bei (7) kann der Inhaltserzeugungsdienst 116 Informationen der Anfrage zum Erstellen benutzerdefinierter Inhaltsabschnitte verwenden. Der Inhaltserzeugungsdienst 116 kann jeden gewünschten Inhalt (z. B. Anzeigen, Hauptinhalt usw.) abrufen und diesen gewünschten Inhalt neu verschlüsseln, um die gewünschten benutzerdefinierten Inhaltsabschnitte zu bilden. Danach speichert der Inhaltserzeugungsdienst 116 bei (8) die benutzerdefinierten Inhaltsabschnitte in den Inhaltsdatenspeicher 119 zum späteren Abruf durch die POPs 112 und zur Übertragung an die Kunden-Computervorrichtungen 102, wie im Folgenden unter Bezugnahme auf 4 näher beschrieben.
  • Darüber hinaus gibt der Manifesterzeugungsdienst 114 bei (9) das verborgene Manifest an einen POP 112 zurück. In einigen Fällen kann der Manifesterzeugungsdienst 114 weitere Informationen über das verborgene Manifest zurückgeben, wie beispielsweise die Verschlüsselung, die verwendet wird, um verborgene Kennungen innerhalb des Manifests zu erzeugen, oder einen Schlüssel für diese Verschlüsselung. In anderen Fällen, z. B. bei Verwendung einer Standardverschlüsselung und eines Standardschlüssels, können diese Informationen bei der Interaktion weggelassen werden (9). In beiden Fällen, gibt der POP 112 bei (10) das verborgene Manifest an die Kunden-Computervorrichtung 102 zurück, so dass die Kunden-Computervorrichtung 102 den innerhalb des Manifests identifizierten Inhalt streamen kann, während sie die Kunden-Computervorrichtung 102 daran hindert oder verhindert, zwischen den verschiedenen Arten von Inhalt zu unterscheiden, die innerhalb des Manifests basierend auf den darin enthaltenen Kennungen identifiziert wurden.
  • Während die Interaktionen von 3A und 3B vorstehend sequentiell beschrieben sind, wird erwogen, dass einige oder alle Interaktionen wiederholt auftreten können und dass diese Interaktionen zumindest teilweise gleichzeitig auftreten können. So kann beispielsweise der Manifesterzeugungsdienst 114 parallel oder gleichzeitig ein verborgenes Manifest an einen POP 112 übertragen und anfragen, dass benutzerdefinierte Inhaltsabschnitte innerhalb eines verborgenen Manifests erstellt werden. Als weiteres Beispiel kann das Streaming-Inhaltsbereitstellungssystem 110 konfiguriert werden, um mehrere Manifeste für einen bestimmten Streaming-Inhalt bereitzustellen oder ein einzelnes Manifest als mehrere Übertragungen über die Zeit bereitzustellen. Vor jedem Punkt, an dem ein neues Manifest oder ein neuer Abschnitt eines Manifests an die Kunden-Computervorrichtung 102 übertragen wird, kann der Manifesterzeugungsdienst 114 also einen neuen Satz von Inhaltsabschnitten bestimmen, die innerhalb des neuen Manifests oder Abschnitts identifiziert werden sollen. In einigen Fällen kann der neue Satz von Teilen basierend auf überwachten Informationen über den Streaming-Inhalt variieren (z. B. wie vom Überwachungsdienst 118 erhalten). Wenn beispielsweise Überwachungsinformationen darauf hindeuten, dass eine Kunden-Computervorrichtung 102 keinen geschützten Abschnitt ausgegeben hat (oder möglicherweise, dass der geschützte Abschnitt nie von der Kunden-Computervorrichtung 102 angefragt wurde), kann der Manifesterzeugungsdienst 114 den geschützten Abschnitt (oder einen anderen zusätzlichen Inhaltsabschnitt) in einem neuen Manifest oder Manifestabschnitt identifizieren. Wenn ein Benutzer also in dem Bestreben, den Teil nicht anzusehen, einen geschützten Abschnitt (z. B. eine Anzeige) „überspringt“, kann im Manifest eine neue Anzeige oder ein geschützter Abschnitt identifiziert werden. In einigen Fällen können neue Manifeste nur geschützte Inhalte (z. B. und keine anderen Inhalte, wie z. B. Hauptinhalte) identifizieren, bis eine Kunden-Computervorrichtung 102 den geschützten Inhalt ausgibt, woraufhin zusätzliche Manifeste (oder Manifestabschnitte) bereitgestellt werden können, einschließlich nicht geschützte Inhalte.
  • Während sich die Beschreibungen von 3A und 3B im Allgemeinen auf die Verwendung von Verschlüsselung beziehen, um tatsächliche Kennungen von Inhaltsabschnitten in verborgene Kennungen umzuwandeln, kann der Manifesterzeugungsdienst 114 in einigen Fällen andere Prozesse zum Bestimmen verborgener Kennungen verwenden. So kann beispielsweise der Manifesterzeugungsdienst 114 eine von einer Vielzahl von Verschleierungstechniken, Verschlüsselung oder Chiffrierung verwenden, um eine tatsächliche Kennung in eine verborgene Kennung umzuwandeln. In einigen Fällen kann der Manifesterzeugungsdienst 114 den Inhaltsabschnitten einfach zufälligKennungen als verborgene Kennungen zuweisen. Der Manifesterzeugungsdienst 114 kann dann bei Bedarf eine Zuordnung von tatsächlichen Kennungen zu den zugeordneten verborgenen Kennungen an Komponenten des Streaming-Inhaltsbereitstellungssystems 110 liefern. In einigen Fällen können die zugewiesenen verborgenen Kennungen global eindeutig sein, so dass eine Komponente (z. B. ein POP 112) eine tatsächlichen Kennung basierend ausschließlich auf einer verborgenen Kennung bestimmen kann. In anderen Fällen können die verborgenen Kennungen kunden- oder sitzungsspezifisch sein, so dass dieselbverborgene Kennung (z. B. „ID1.ts“) für mehrere Kunden verwendet werden kann und dass die tatsächlichen Kennungen für ein angefragtes Inhaltselement je nach Quelle der Anfrage variieren (z. B. je nach Sitzungs-ID, Kunden-Netzwerkadresse usw.). Im Allgemeinen kann die Verwendung eines oder mehrerer spezifischer Verschlüsselungsalgorithmen und Schlüssel zur Erzeugung aller verborgenen Kennungen bevorzugt sein, da nur diese Algorithmen und Schlüssel zwischen den Komponenten des Streaming-Inhaltsbereitstellungssystems 110 verbreitet werden müssen, damit verborgene Kennungen in tatsächliche Kennungen umgewandelt werden können.
  • Darüber hinaus können, während die Interaktionen von 3A und 3B in Bezug auf eine einzige Reihe von Inhaltsabschnitten beschrieben sind, können Ausführungsformen der vorliegenden Offenbarung die Verwendung alternativer Serien von Inhaltsabschnitten ermöglichen, die jeweils eine andere Version von Streaming-Inhalten bilden. So kann beispielsweise eine erste Reihe von Inhaltsabschnitten Streaming-Inhalte auf einer ersten Qualitätsstufe darstellen, eine zweite Reihe auf einer zweiten Qualitätsstufe usw. Die verschiedenen Serien können in einem einzigen oder mehreren Manifesten identifiziert werden, die der Kunden-Computervorrichtung 102 zur Verfügung gestellt werden. In einigen Fällen kann die Kunden-Computervorrichtung 102 zwischen der Ausgabe von Inhaltsabschnitten verschiedener Serien wechseln, um den Zustand der Vorrichtung 102 zu berücksichtigen (z. B. um eine langsame Kommunikation zwischen der Vorrichtung 102 und dem Streaming-Inhaltsbereitstellungssystem 110 zu berücksichtigen).
  • 4 stellt eine Reihe von illustrativen Interaktionen zur Verwendung einer verborgenen Manifestdatei dar, einschließlich verborgener Kennungen für Inhaltselemente, die einen Inhaltsstream bilden, um diesen Inhaltsstream auf einer Kunden-Computervorrichtung 102 auszugeben. Die Interaktionen beginnen bei (1), wobei eine Kunden-Computervorrichtung 102 einen Inhaltsabschnitt von einem POP 112 des Streaming-Inhaltsbereitstellungssystems 110 anfragt, wobei eine verborgene Kennung für den Abschnitt verwendet wird. Die Anfrage kann automatisch von der Kunden-Computervorrichtung 102 (z. B. von einem Webbrowser oder einer anderen Anwendung) erzeugt werden, basierend auf der Verarbeitung eines Manifests, das zuvor vom Streaming-Inhaltsbereitstellungssystem 110 erhalten wurde. Nach Empfang der Anfrage bestimmt der POP 112 basierend auf der verborgenen Kennung eine tatsächliche Kennung des angefragten Abschnitts. Wenn die verborgenen Kennungen durch Verschlüsselung einer tatsächlichen Kennung mit einem Verschlüsselungsschlüssel erzeugt werden, kann der POP 112 diesen Schlüssel verwenden, um die verborgene Kennung zu entschlüsseln und so eine tatsächliche Kennung des angefragten Abschnitts zu bestimmen. Werden die verborgenen Kennungen unter Verwendung anderer Umwandlungen (z. B. zufällige Zuordnung) erzeugt, kann der POP 112 Informationen des Manifesterzeugungssystems 114 verwenden, wie beispielsweise eine Zuordnung von verborgenen Kennungen zu tatsächlichen Kennungen, um zu bestimmen, welche tatsächliche Kennung dem angefragten Abschnitt entspricht.
  • Bei (3) ruft der POP 112 bei Bedarf den angefragten Abschnitt aus dem Inhaltsdatenspeicher 119 ab. Illustrativ kann ein Abruf des Inhaltsabschnitts nur erforderlich sein, wenn der Inhaltsabschnitt nicht zuvor in einem Cache des POP 112 gespeichert wurde. In dem Fall, dass der Inhaltsabschnitt am POP 112 gespeichert ist, ist eine Interaktion (3) möglicherweise nicht erforderlich. Während der Abruf eines Inhaltsabschnitts in Bezug auf den Inhaltsdatenspeicher 119 dargestellt wird, können POPs 112 zusätzlich oder alternativ Inhalte aus anderen Datenquellen, wie beispielsweise den Werbesystemen 130 (nicht in 4 dargestellt) abrufen. Vorteilhaft ist, dass das Abrufen basierend auf einer tatsächlichen Kennung des Inhaltsabschnitts (und nicht auf einer verborgenen Kennung) erfolgen kann. Daher können dieselben Daten für Serviceanfragen für den Inhaltsabschnitt von vielen verschiedenen Kunden-Computervorrichtungen 102 verwendet werden, unabhängig davon, ob der verborgene Kennung, die jeder Kunden-Computervorrichtung 102 bereitgestellt wird, die gleiche ist. Somit ist das Streaming-Inhaltsbereitstellungssystem 110 in der Lage, den Prozess, in dem verborgene Kennungen erstellt werden, beliebig zu ändern, ohne dass die Inhaltsabschnitte selbst neu erstellt werden müssen. Da jeder POP 112 aktiviert werden kann, um die tatsächlichen Kennung für einen Inhaltsabschnitt basierend auf einer verborgenen Kennung zu bestimmen, können die Kunden-Computervorrichtungen 102 mit jedem POP 112 oder mit mehreren POPs 112 interagieren, um Inhaltsabschnitte zu erhalten.
  • Nach dem Erhalten des angefragten Inhaltsabschnitts bei (4) gibt der POP 112 den Inhaltsabschnitt an die Kunden-Computervorrichtung 102 zurück, die den Inhaltsabschnitt bei (5) ausgeben kann. Der Kunde kann weiterhin Überwachungsinformationen über die Ausgabe des Inhaltsabschnitts an den Überwachungsdienst 118 unter (6) melden. Obwohl es in 4 nicht dargestellt ist, können der POP 112 oder andere Komponenten des Streaming-Inhaltsbereitstellungssystems 110 zusätzlich oder alternativ Überwachungsinformationen an den Überwachungsdienst 118 melden. Die Interaktionen von 4 können wiederholt oder gleichzeitig implementiert werden, um es einer Kunden-Computervorrichtung zu ermöglichen, Inhaltsabschnitte auszugeben, die mit verborgenen Kennungen innerhalb eines Manifests identifiziert wurden, und somit einen Inhaltsstream auszugeben, während sie daran gehindert oder verhindert werden, Abschnitte des Inhaltsstreams zu ändern, zu entfernen oder zu blockieren.
  • Unter Bezugnahme auf 6 wird eine beispielhafte Routine 600 zur Bereitstellung von Streaming-Inhalten einschließlich geschützter Inhaltsabschnitte dargestellt. Die Routine 600 kann z. B. durch das Inhaltsbereitstellungssystem 110 von 1 durchgeführt werden. Die Routine 600 beginnt bei Block 602, wobei das Inhaltsbereitstellungssystem 110 eine Anfrage zum Streaming von Inhalten von einer Kunden-Computervorrichtung 102 erhält. Die Anfrage kann durch die Verwendung der Kunden-Computervorrichtung 102 durch einen Kunden erzeugt werden, z. B. durch Starten oder Interagieren mit einer Anwendung zum Anzeigen von Streaming-Inhalten, einer Webbrowser-Anwendung usw. Die Anfrage kann mindestens einen vom Kunden gewünschten Hauptinhalt enthalten, wie z. B. Fernsehprogramm, Film, Video, Audioprogramm usw. In einigen Fällen kann die Anfrage weitere Informationen über die Kunden-Computervorrichtung 102 oder einen Kunden, der die Kunden-Computervorrichtung 102 verwendet, anzeigen, wie z. B. die Konfiguration der Vorrichtung 102, den Standort der Vorrichtung 102, ein Konto der Vorrichtung 102 oder des Kunden auf dem Streaming-Inhaltsbereitstellungssystem 110.
  • Bei Block 604 wählt das Streaming-Inhaltsbereitstellungssystem 110 Inhalte aus, die in einen Inhaltsstream aufgenommen werden sollen. Illustrativ kann der ausgewählte Inhalt sowohl Hauptinhalte (z. B. die von der Kunden-Computervorrichtung 102 angefragten) als auch zusätzliche Inhalte (z. B. rechtliche Hinweise, Werbung usw.) beinhalten. In einigen Fällen kann das Streaming-Inhaltsbereitstellungssystem 110 zusätzliche Inhalte durch Interaktion mit Dritten oder externen Systemen, wie beispielsweise Werbesystemen 130, bestimmen. Darüber hinaus kann das Streaming-Inhaltsbereitstellungssystem 110 den aufzunehmenden Inhalt basierend auf Informationen über die Kunden-Computervorrichtung 102 bestimmen. Wie im Folgenden beschrieben, kann in einigen Fällen der Block 604 wiederholt implementiert werden, und der für die Aufnahme in den Stream ausgewählte Inhalt kann je nachdem, ob die Kunden-Computervorrichtung 102 bereits geschützte Inhalte ausgegeben hat, variieren (z. B. so, dass, wenn geschützte Inhalte übersprungen wurden, sie wieder in den Inhaltsstream aufgenommen werden).
  • Bei Block 606 erzeugt das Streaming-Inhaltsbereitstellungssystem 110 ein verborgenes Manifest für den Inhaltsstream, einschließlich verborgener Kennungen einer Reihe von Inhaltsabschnitten, die den Inhaltsstream bilden. Illustrativ können die Inhaltsabschnitte sowohl Teilen des Hauptinhalts als auch Teilen von zusätzlichen Inhalten (die geschützte Inhalte sein können) entsprechen. In einigen Fällen, z. B. wenn ein Abschnitt des zusätzlichen Inhalts von unterschiedlicher Länge sein würde als andere Abschnitte im Manifest, können die Inhaltsteile Kombinationen von Hauptinhalt und zusätzlichem Inhalt entsprechen. In Fällen, in denen Abschnitte noch nicht im Streaming-Inhaltsbereitstellungssystem 110 verfügbar sind, kann das Streaming-Inhaltsbereitstellungssystem 110 die Erzeugung der Abschnitte bewirken (z. B. durch Nutzung des Inhaltserzeugungsdienstes 116). Die Implementierung von Block 606 kann ferner die Erzeugung eines Satzes von verborgenen Kennungen für jeden Inhaltsabschnitt beinhalten. Illustrativ kann das Streaming-Inhaltsbereitstellungssystem 110 eine tatsächliche Kennung jedes Abschnitts durch einen Verschlüsselungsalgorithmus übergeben, um eine verschlüsselte Kennung zu erzeugen, die als verborgene Kennung fungiert. Jede verborgene Kennung kann dann als Teil des verborgenen Manifests aufgenommen werden.
  • Bei Block 607 sendet das Streaming-Inhaltsbereitstellungssystem 110 das verborgene Manifest, einschließlich einer Vielzahl von Inhaltsabschnitten, die durch verborgene Kennungen identifiziert werden, an die Kunden-Computervorrichtung 102. Die Kunden-Computervorrichtung 102 kann dann das verborgene Manifest verwenden, um die Inhaltsabschnitte unter Verwendung der darin enthaltenen verborgenen Kennungen anzufragen (z. B. unter Verwendung von ausführbarem Code, der als Teil einer Webseite oder Anwendung bereitgestellt wird, die auf dem Streaming-Inhaltsbereitstellungssystem 110 ausgeführt wird). Dementsprechend empfängt das Streaming-Inhaltsbereitstellungssystem 110 bei Block 608 Anfragen (oder eine Anfrage) für Inhaltsabschnitte (oder einen Abschnitt), die innerhalb des verborgenen Manifests unter Verwendung einer verborgenen Kennung identifiziert werden.
  • Bei Block 610 wandelt das Streaming-Inhaltsbereitstellungssystem 110 die in den Anfragen empfangenen verborgenen Kennungen in einer tatsächlichen Kennung um und gibt den identifizierten Inhaltsabschnitt an die Kunden-Computervorrichtung 102 zurück. Wenn die verborgenen Kennungen bei Block 606 durch Verschlüsseln einer tatsächlichen Kennung des Inhaltsabschnitts erzeugt wurden, kann Block 610 veranschaulichen, dass er die verborgene Kennung des Inhaltsabschnitts entschlüsseln kann, um zu der tatsächlichen Kennung zu führen. Die tatsächliche Kennung kann dann verwendet werden, um den Inhaltsabschnitt zu erhalten und den Inhaltsabschnitt zur Ausgabe an die Kunden-Computervorrichtung 102 zurückzugeben.
  • Bei Block 612 kann die Implementierung der Routine 612 je nachdem, ob zusätzliche Manifestinhalte an den Kunden übertragen werden sollen, variieren. Wenn ein Manifest, das alle Inhaltsabschnitte identifiziert, an die Kunden-Computervorrichtung 102 übertragen wurde, kann die Routine 600 bei Block 616 enden. Enthält der der Kunden-Computervorrichtung 102 bereitzustellende Inhaltsstream zusätzliche Inhaltsabschnitte, die noch nicht in einem Manifest für die Kunden-Computervorrichtung 102 identifiziert wurden, geht die Routine 600 zu Block 604 über, wobei das Streaming-Inhaltsbereitstellungssystem 110 erneut die Inhaltsabschnitte bestimmen kann, die in den Stream aufgenommen werden sollen. Wie vorstehend erwähnt, können diese Abschnitte zwischen der Implementierung von Block 604 basierend auf Überwachungsinformationen bezüglich der Kunden-Computervorrichtung 102 variieren. Wenn beispielsweise Überwachungsinformationen darauf hindeuten, dass die Kunden-Computervorrichtung 102 keinen geschützten Inhalt ausgegeben hat (z. B. weil der Kunde diesen Inhalt „übersprungen“ hat), kann das Streaming-Inhaltsbereitstellungssystem 110 den geschützten Inhalt an einer späteren Stelle im Manifest wieder einfügen oder andere Inhalte (z. B. Hauptinhalt) aus dem Manifest ausschließen, bis die Überwachungsinformationen anzeigen, dass der geschützte Inhalt angesehen wurde. Die Routine 600 kann dann fortgesetzt werden, bis alle Inhaltsabschnitte für die Kunden-Computervorrichtung 102 identifiziert wurden, und an diesem Punkt endet die Routine 600 bei Block 616.
  • Während die Routine 600 sequentiell beschrieben wird, kann die Implementierung verschiedener Blöcke der Routine 600 zumindest teilweise gleichzeitig erfolgen und kann durch verschiedene Komponenten innerhalb des Streaming-Inhaltsbereitstellungssystems 110 erreicht werden. So kann beispielsweise ein Manifesterzeugungsdienst 14 die Blöcke 602 bis 607 implementieren, während die POPs 112 die Blöcke 608 und 610 implementieren können. Vorteilhaft ist, dass, wenn jede Komponente den Prozess kennt, der verwendet wird, um tatsächliche Kennungen von Inhaltsabschnitten in verborgene Kennungen umzuwandeln, wenig oder gar keine Informationen zwischen den Komponenten ausgetauscht werden müssen, um die Routine 600 in einer verteilten Weise implementieren.
  • Beispiele für die Ausführungsformen der vorliegenden Offenbarung können im Hinblick auf die folgenden Klauseln beschrieben werden:
    • Klausel 1. System zum Bereitstellen von Streaming-Inhalt in einer Weise, die verhindert, dass Teile des Streaming-Inhalts blockiert oder entfernt werden, wobei das System Folgendes umfasst:
      • einen Datenspeicher, der Folgendes beinhaltet:
        • einen ersten Satz von Inhaltsabschnitten, die einem Hauptinhalt entsprechen, wobei der erste Satz von Inhaltsabschnitten mit Dateinamen gemäß einem ersten Benennungsschema identifiziert wird; und
        • einen zweiten Satz von Inhaltsabschnitten, die einem zusätzlichen Inhalt entsprechen, wobei der zweite Satz von Inhaltsabschnitten mit Dateinamen gemäß einem zweiten Benennungsschema identifiziert wird; und
      • eine oder mehrere Computervorrichtungen, die mit computerausführbaren Anweisungen konfiguriert sind, die bei Ausführung die Computervorrichtungen zu Folgendem veranlassen:
        • Erhalten einer Anfrage von einer Kunden-Computervorrichtung, um Streaming-Inhalte einschließlich des Hauptinhalts bereitzustellen;
        • Bestimmen, dass der zusätzliche Inhalt in den Streaming-Inhalt aufgenommen werden soll;
        • Erzeugen eines verborgenen Manifests für den Streaming-Inhalt, wobei die verborgene Manifestdatei eine Vielzahl von Inhaltsabschnitten beinhaltet, die den Streaming-Inhalt bildet, wobei die Vielzahl von Inhaltsabschnitten mit einem verschlüsselten Benennungsschema identifiziert wird, und wobei das Erzeugen der verborgenen Manifestdatei Folgendes beinhaltet:
          • Verschlüsseln der Dateinamen des ersten Inhaltssatzes, um einen ersten Satz verschlüsselter Dateinamen zu erhalten;
          • Verschlüsseln der Dateinamen des zweiten Inhaltssatzes, um einen zweiten Satz verschlüsselter Dateinamen zu erhalten; und
          • Aufnehmen des ersten und zweiten Satzes von verschlüsselten Dateinamen in die verborgene Manifestdatei; und
        • Übertragen des verborgenen Manifests an die Kunden-Computervorrichtung, wobei die Kunden-Computervorrichtung konfiguriert ist, um den Streaming-Inhalt auszugeben, indem sie Inhaltsabschnitte abruft und ausgibt, die innerhalb des verborgenen Manifests identifiziert wurden.
    • Klausel 2. System nach Klausel 1, wobei die eine oder die mehreren Computervorrichtungen ferner mit den computerausführbaren Anweisungen konfiguriert sind zum:
      • Empfangen, von der Kunden-Computervorrichtung, einer Anfrage für einen Inhaltsabschnitt, der gemäß einem verschlüsselten Dateinamen identifiziert wurde;
      • Entschlüsseln des verschlüsselten Dateinamens, um einen entschlüsselten Dateinamen zu erhalten;
      • Bestimmen, dass der entschlüsselte Dateiname einen Inhaltsabschnitt aus dem ersten Satz von Inhaltsabschnitten identifiziert; und
      • Übertragen des Inhaltsabschnitts an die Kunden-Computervorrichtung als Reaktion auf die Anfrage.
    • Klausel 3. System nach Klausel 1, wobei der Hauptinhalt mindestens einer von Audio-, Video- oder Textinhalt ist.
    • Klausel 4. System nach Klausel 1, wobei der zusätzliche Inhalt mindestens einer von einem Haftungsausschluss, einem Hinweis, Danksagungen, einer Widmung oder einer Werbung ist.
    • Klausel 5. Computerimplementiertes Verfahren, umfassend:
      • Empfangen einer Anfrage von einer Kunden-Computervorrichtung, um Streaming-Inhalt bereitzustellen;
      • Bestimmen einer Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen sind, wobei die Vielzahl von Inhaltsabschnitten sowohl einen ersten Satz von Inhaltsabschnitten unter Verwendung eines ersten Identifikationsschemas als auch einen zweiten Satz von Inhaltsabschnitten unter Verwendung eines zweiten Identifikationsschemas beinhaltet;
      • Erzeugen eines verborgenen Manifests für den Streaming-Inhalt, wobei das Erzeugen des verborgenen Manifests das Erzeugen von Kennungen für die Vielzahl von Inhaltsabschnitten unter Verwendung eines gemeinsamen Identifikationsschemas und einschließlich der Kennungen innerhalb des verborgenen Manifests umfasst; und
      • Übertragen des verborgenen Manifests an die Kunden-Computervorrichtung, um die Ausgabe des Streaming-Inhalts durch Abrufen und Ausgeben der Vielzahl von Inhaltsabschnitten, die innerhalb des verborgenen Manifests identifiziert wurde, auf der Kunden-Computervorrichtung zu ermöglichen.
    • Klausel 6. Computerimplementiertes Verfahren nach Klausel 3, wobei das Erzeugen von Kennungen für die Vielzahl von Inhaltsabschnitten unter Verwendung eines gemeinsamen Identifikationsschemas das Verschlüsseln von Kennungen des ersten und zweiten Satzes von Inhaltsabschnitten umfasst, das zu einem Satz von verschlüsselten Kennungen für die Vielzahl von Inhaltsabschnitten führt.
    • Klausel 7. Computerimplementiertes Verfahren nach Klausel 3, wobei das Erzeugen von Kennungen für die Vielzahl von Inhaltsabschnitten unter Verwendung eines gemeinsamen Identifikationsschemas das Erzeugen einer Zuordnung zwischen Kennungen des ersten und zweiten Satzes von Inhaltsabschnitten und Kennungen für die Vielzahl von Inhaltsabschnitten, die in dem verborgenen Manifest aufgenommen ist, umfasst.
    • Klausel 8. Computerimplementiertes Verfahren nach Klausel 5, ferner umfassend das zufällige Erzeugen der Kennungen für die Vielzahl von Inhaltsabschnitten, die in dem verborgenen Manifest aufgenommen ist.
    • Klausel 9. Computerimplementiertes Verfahren nach Klausel 3, ferner umfassend:
      • Empfangen einer Anfrage für einen Inhaltsabschnitt, der gemäß einer Kennung des gemeinsamen Identifikationsschemas identifiziert wurde, von der Kunden-Computervorrichtung;
      • Umwandeln der Kennung des gemeinsamen Identifikationsschemas in eine Kennung des ersten Identifikationsschemas;
      • Bestimmen eines Inhaltsabschnitts des ersten Satzes von Inhaltsabschnitten, der der Kennung des ersten Identifikationsschemas entspricht; und
      • Übertragen des Inhaltsabschnitts an die Kunden-Computervorrichtung als Reaktion auf die Anfrage.
    • Klausel 10. Computerimplementiertes Verfahren nach Klausel 9, ferner umfassend mindestens eines der Folgenden:
      • Bestimmen, dass der Inhaltsabschnitt, der der Kennung des ersten Identifikationsschemas entspricht, in einem lokalen Cache vorhanden ist, und Abrufen des Inhaltsabschnitts aus dem lokalen Cache; oder
      • Bestimmen, dass der Inhaltsabschnitt, der der Kennung des ersten Identifikationsschemas entspricht, nicht innerhalb eines lokalen Caches existiert, und Abrufen des Inhaltsabschnitts aus einem entfernten Datenspeicher.
    • Klausel 11. Computerimplementiertes Verfahren nach Klausel 3, ferner umfassend:
      • Empfangen von Überwachungsinformationen bezüglich der Ausgabe des Streaming-Inhalts auf der Kunden-Computervorrichtung;
      • Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufgenommen werden soll, basierend zumindest teilweise auf den Überwachungsinformationen;
      • Erzeugen eines zusätzlichen Abschnitts des verborgenen Manifests zumindest teilweise durch Erzeugen von Kennungen für die zweite Vielzahl von Inhaltsabschnitten unter Verwendung des gemeinsamen Identifikationsschemas; und
      • Übertragen des zusätzlichen Abschnitts des verborgenen Manifests an die Kunden-Computervorrichtung.
    • Klausel 12. Computerimplementiertes Verfahren nach Klausel 8, wobei die zweite Vielzahl von Inhaltsabschnitten einem Hauptinhalt entspricht, und wobei das Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen ist, basierend zumindest teilweise auf den Überwachungsinformationen, das Bestimmen umfasst, dass die Überwachungsinformationen anzeigen, dass die Kunden-Computervorrichtung mindestens eine durch den zweiten Satz von Inhaltsabschnitten gebildete Werbung ausgegeben hat.
    • Klausel 13. Computerimplementiertes Verfahren nach Klausel 8, wobei die zweite Vielzahl von Inhaltsabschnitten und der zweite Satz von Inhaltsabschnitten gleich sind, und wobei das Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen ist, basierend zumindest teilweise auf den Überwachungsinformationen, das Bestimmen umfasst, dass die Überwachungsinformationen anzeigen, dass die Kunden-Computervorrichtung mindestens eine durch den zweiten Satz von Inhaltsabschnitten gebildete Werbung nicht ausgegeben hat.
    • Klausel 14. System, umfassend:
      • einen Datenspeicher mit einer Vielzahl von Inhaltsabschnitten, wobei die Vielzahl von Inhaltsabschnitten durch Kennungen gemäß mindestens zwei Identifikationsschemata identifiziert wird; und
      • eine oder mehrere Computervorrichtungen, die mit computerausführbaren Anweisungen konfiguriert sind, die bei ihrer Ausführung die Computervorrichtungen zu Folgendem veranlassen:
        • Erhalten einer Anfrage von einer Kunden-Computervorrichtung, Streaming-Inhalt bereitzustellen;
        • Erzeugen eines verborgenen Manifests für den Streaming-Inhalt, wobei das verborgene Manifest für die Vielzahl von Inhaltsabschnitten einen Satz von Kennungen beinhaltet, die ein gemeinsames Identifikationsschema verwenden; und
        • Übertragen des verborgenen Manifests an die Kunden-Computervorrichtung.
    • Klausel 15. System nach Klausel 11, wobei die computerausführbaren Anweisungen die Computervorrichtungen veranlassen, Kennungen für die Vielzahl von Inhaltsabschnitten zu erzeugen, die das gemeinsame Identifikationsschema zumindest teilweise verwenden, indem Kennungen der Vielzahl von Inhaltsabschnitten verschlüsselt werden, um zu einem Satz von verschlüsselten Kennungen zu führen, die das gemeinsame Identifikationsschema verwenden. Klausel 16. System nach Klausel 11, wobei die computerausführbaren Anweisungen die Computervorrichtungen veranlassen, Kennungen für die Vielzahl von Inhaltsabschnitten zu erzeugen, die das gemeinsame Identifikationsschema zumindest teilweise verwenden, indem sie eine Zuordnung zwischen Kennungen der Vielzahl von Inhaltsabschnitten und Kennungen, die in dem verborgenen Manifest aufgenommen sind, erzeugen.
    • Klausel 17. System nach Klausel 11, wobei die computerausführbaren Anweisungen ferner die Computervorrichtungen veranlassen, mindestens einen der Vielzahl von Inhaltsabschnitten durch Neucodierung von Inhalten mindestens zweier Typen zu erzeugen, um ein Attribut mit den übrigen Inhaltsabschnitten der Vielzahl von Inhaltsabschnitten zu teilen.
    • Klausel 18. System nach Klausel 14, wobei das Attribut mindestens eines von Dauer, Bitrate, Auflösung oder Bildrate, Codec, Codecprofil, Codeclevel, Abtastrate oder Kanalzahl ist.
    • Klausel 19. System nach Klausel 14, wobei die computerausführbaren Anweisungen ferner die Computervorrichtungen veranlassen, einen oder mehrere zusätzliche Inhaltsabschnitte, die der Vielzahl von Inhaltsabschnitten zugeordnet sind, neu zu verschlüsseln, so dass die einen oder mehreren zusätzlichen Inhaltsabschnitte ein gemeinsames Attribut teilen.
    • Klausel 20. System nach Klausel 19, wobei der eine oder die mehreren zusätzlichen Inhaltsabschnitte mindestens eines von einem Audiostream oder Untertiteln beinhalten, die der Vielzahl von Inhaltsabschnitten zugeordnet sind. Klausel 21. System nach Klausel 11, wobei die computerausführbaren Anweisungen die Computervorrichtungen veranlassen zum:
      • Empfangen einer Anfrage für einen Inhaltsabschnitt, der gemäß einer Kennung des gemeinsamen Identifikationsschemas identifiziert wurde, von der Kunden-Computervorrichtung;
      • Umwandeln der Kennung des gemeinsamen Identifikationsschemas in eine Kennung des erstens Identifikationsschemas aus mindestens zwei Identifikationsschematas;
      • Bestimmen eines Inhaltsabschnitts der Vielzahl von Inhaltsabschnitten, die der Kennung eines ersten Identifikationsschemas entspricht; und
      • Übertragen des Inhaltsabschnitts an die Kunden-Computervorrichtung als Reaktion auf die Anfrage.
    • Klausel 22. System nach Klausel 11, wobei die computerausführbaren Anweisungen die Computergeräte veranlassen zum:
      • Empfangen von Überwachungsinformationen bezüglich der Ausgabe des Streaming-Inhalts auf der Kunden-Computervorrichtung;
      • Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufgenommen werden soll, basierend zumindest teilweise auf den Überwachungsinformationen;
      • Erzeugen eines zusätzlichen Abschnitts des verborgenen Manifests zumindest teilweise durch Erzeugen von Kennungen für die zweite Vielzahl von Inhaltsabschnitten unter Verwendung des gemeinsamen Identifikationsschemas; und
      • Übertragen des zusätzlichen Abschnitts des verborgenen Manifests an die Kunden-Computervorrichtung.
    • Klausel 23. System nach Klausel 22, wobei die zweite Vielzahl von Inhaltsabschnitten einem Hauptinhalt entspricht, und wobei das Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen ist, basierend zumindest teilweise auf den Überwachungsinformationen, das Bestimmen umfasst, dass die Überwachungsinformationen anzeigen, dass die Kunden-Computervorrichtung mindestens eine Werbung innerhalb der Vielzahl von Inhaltsabschnitten ausgegeben hat.
  • Während die hierin beschriebenen Ausführungsformen im Allgemeinen die Inhaltsabschnitte bestimmen, die zum Zeitpunkt der Erstellung eines Manifests (oder Abschnitts eines Manifests) an eine Kunden-Computervorrichtung 102 zu übertragen sind, werden andere Ausführungsformen im Rahmen der vorliegenden Offenbarung erwogen. Dementsprechend kann das Streaming-Inhaltsbereitstellungssystem 110 in einigen Fällen eine Zuordnung von verborgenen Kennungen zu tatsächlichen Kennungen zum Zeitpunkt der Anfrage einzelner Inhaltsabschnitte ändern. Wenn beispielsweise eine Kunden-Computervorrichtung 102 eine verborgene Kennung verwendet, um einen ersten Inhaltsabschnitt (z. B. Hauptinhalt) anzufragen, aber Überwachungsinformationen anzeigen, dass die Kunden-Computervorrichtung 102 noch keinen zweiten Inhaltsabschnitt (z. B. eine Anzeige) angesehen hat, kann das Streaming-Inhaltsbereitstellungssystem 110 auf die Anfrage reagieren, indem es den zweiten Inhaltsabschnitt bereitstellt, selbst wenn die verborgene Kennung im Allgemeinen in eine tatsächlichen Kennung für den ersten Inhalt umgewandelt würde. In einigen Fällen kann das Streaming-Inhaltsbereitstellungssystem 110 keine Informationsabbildung zwischen verborgenen Kennungen und tatsächlichen Kennungen aufrechterhalten, sondern stattdessen solche Bestimmungen ad hoc treffen, wenn Anfragen nach Inhaltsabschnitten eingehen, die mit verborgenen Kennungen identifiziert wurden. So kann beispielsweise das Streaming-Inhaltsbereitstellungssystem 110 den gleichen Satz verborgener Kennungen an jede Kunden-Computervorrichtung zurückgeben, wobei es jedoch ändert, welche Inhaltsabschnitte als Reaktion auf individuelle Anfragen an jede Kunden-Computervorrichtung zurückgegeben werden. Ein solcher Ad-hoc-Abgleich von verborgenen Kennungen mit Inhaltsabschnitten kann in kleineren Systemen von Vorteil sein, um eine hohe Flexibilität zu bereitzustellen und die Komplexität der Erzeugung von Manifesten zu begrenzen.
  • Alle der oben beschriebenen Verfahren und Prozesse können in Softwarecodemodulen ausgeführt und vollständig automatisiert werden, die von einem oder mehreren Computern oder Prozessoren ausgeführt werden. Die Codemodule können auf jeder Art von nicht transitorischem, computerlesbarem Medium oder einer anderen Computerspeichervorrichtung gespeichert werden. Einige oder alle Verfahren können alternativ auch in spezieller Computerhardware ausgeführt sein.
  • Bedingte Formulierungen wie unter anderem „können“, „könnten“, „mögen“ oder „kann“, sofern nicht ausdrücklich anders angegeben, werden im Kontext anderweitig als im Allgemeinen verwendet verstanden, um darzustellen, dass bestimmte Ausführungsformen bestimmte Merkmale, Elemente und/oder Schritte beinhalten, während andere Ausführungsformen bestimmte Merkmale, Elemente und/oder Schritte nicht beinhalten. Daher sind derartige bedingte Formulierungen im Allgemeinen nicht dazu gedacht, zu implizieren, dass Merkmale, Elemente und/oder Schritte in irgendeiner Weise für eine oder mehrere Ausführungsformen erforderlich sind, oder dass eine oder mehrere Ausführungsformen notwendigerweise eine Logik beinhalten, um zu entscheiden, ob diese Merkmale, Elemente und/oder Schritte in einer bestimmten Ausführungsform enthalten sind oder ausgeführt werden sollen, mit oder ohne Benutzereingabe oder Aufforderung.
  • Disjunktive Formulierungen wie der Satz „mindestens einer von X, Y oder Z“, sofern nicht ausdrücklich anders angegeben, wird mit dem Kontext im Allgemeinen verstanden, dass er verwendet wird, um darzustellen, dass ein Element, ein Begriff usw. entweder X, Y oder Z oder eine Kombination davon möglich ist (z. B. X, Y und/oder Z). Daher sind derartige disjunktive Formulierungen im Allgemeinen nicht dazu bestimmt und sollteb auch nicht implizieren, dass bestimmte Ausführungsformen erfordern, dass mindestens einer von X, mindestens einer von Y oder mindestens einer von Z jeweils vorhanden ist.
  • Sofern nicht ausdrücklich anders angegeben, sind Artikel wie „ein“ oder „eine“ im Allgemeinen so zu interpretieren, dass sie einen oder mehrere der beschriebenen Punkte enthalten. Dementsprechend sind Phrasen wie „eine Vorrichtung, die konfiguriert ist zum“ dazu bestimmt, eine oder mehrere rezitierte Vorrichtungen aufzunehmen. Eine oder mehrere rezitierte Vorrichtungen können auch gemeinsam konfiguriert werden, um die angegebenen Rezitationen durchzuführen. So kann beispielsweise „ein Prozessor, der zum Ausführen der Rezitationen A, B und C konfiguriert ist“, einen ersten Prozessor beinhalten, der zum Ausführen der Rezitation A konfiguriert ist, die in Verbindung mit einem zweiten Prozessor zum Ausführen der Rezitationen B und C arbeitet.
  • Alle Routinebeschreibungen, Elemente oder Blöcke in den hierin beschriebenen und/oder in den beigefügten Abbildungen dargestellten Flussdiagrammen sind so zu verstehen, dass sie potenziell Module, Segmente oder Codeabschnitte darstellen, die eine oder mehrere ausführbare Anweisungen zur Implementierung bestimmter logischer Funktionen oder Elemente in der Routine enthalten. Alternative Implementierungen sind im Rahmen der hierin beschriebenen Ausführungsformen beinhaltet, in denen Elemente oder Funktionen gelöscht oder außer Betrieb genommen werden können, auch im Wesentlichen synchron oder in umgekehrter Reihenfolge, je nach Funktionalität, wie sie für den Fachmann ersichtlich ist.
  • Es ist hervorzuheben, dass viele Variationen und Modifikationen an den oben beschriebenen Ausführungsformen vorgenommen werden können, deren Elemente als unter akzeptablen Beispielen zu verstehen sind. Alle diese Modifikationen und Variationen sind dazu bestimmt, hierin im Rahmen dieser Offenbarung aufgenommen zu werden und durch die folgenden Ansprüche geschützt zu sein.

Claims (15)

  1. System zum Bereitstellen von Streaming-Inhalt in einer Weise, die verhindert, dass Teile des Streaming-Inhalts blockiert oder entfernt werden, wobei das System Folgendes umfasst: einen Datenspeicher, der Folgendes beinhaltet: einen ersten Satz von Inhaltsabschnitten, die einem Hauptinhalt entsprechen, wobei der erste Satz von Inhaltsabschnitten mit Dateinamen gemäß einem ersten Benennungsschema identifiziert wird; und einen zweiten Satz von Inhaltsabschnitten, die einem zusätzlichen Inhalt entsprechen, wobei der zweite Satz von Inhaltsabschnitten mit Dateinamen gemäß einem zweiten Benennungsschema identifiziert wird; und eine oder mehrere Computervorrichtungen, die mit computerausführbaren Anweisungen konfiguriert sind, die bei Ausführung die Computervorrichtungen zu Folgendem veranlassen: Erhalten einer Anfrage von einer Kunden-Computervorrichtung, um Streaming-Inhalt einschließlich des Hauptinhalts bereitzustellen; Bestimmen, dass der zusätzliche Inhalt in den Streaming-Inhalt aufgenommen werden soll; Erzeugen eines verborgenen Manifests für den Streaming-Inhalt, wobei die verborgene Manifestdatei eine Vielzahl von Inhaltsabschnitten beinhaltet, die den Streaming-Inhalt bildet, wobei die Vielzahl von Inhaltsabschnitten mit einem verschlüsselten Benennungsschema identifiziert ist, und wobei das Erzeugen der verborgenen Manifestdatei Folgendes beinhaltet: Verschlüsseln der Dateinamen des ersten Inhaltssatzes, um einen ersten Satz verschlüsselter Dateinamen zu erhalten; Verschlüsseln der Dateinamen des zweiten Inhaltssatzes, um einen zweiten Satz verschlüsselter Dateinamen zu erhalten; und Aufnehmen des ersten und zweiten Satzes von verschlüsselten Dateinamen in die verborgene Manifestdatei; und Übertragen des verborgenen Manifests an die Kunden-Computervorrichtung, wobei die Kunden-Computervorrichtung konfiguriert ist, um den Streaming-Inhalt auszugeben, indem sie Inhaltsabschnitte abruft und ausgibt, die innerhalb des verborgenen Manifests identifiziert wurden.
  2. System nach Anspruch 1, wobei die eine oder die mehreren Computervorrichtungen ferner mit den computerausführbaren Anweisungen konfiguriert sind zum: Empfangen, von der Kunden-Computervorrichtung, einer Anfrage für einen Inhaltsabschnitt, der gemäß einem verschlüsselten Dateinamen identifiziert wurde; Entschlüsseln des verschlüsselten Dateinamens, um einen entschlüsselten Dateinamen zu erhalten; Bestimmen, dass der entschlüsselte Dateiname einen Inhaltsabschnitt aus dem ersten Satz von Inhaltsabschnitten identifiziert; und Übertragen des Inhaltsabschnitts an die Kunden-Computervorrichtung als Reaktion auf die Anfrage.
  3. Computerimplementiertes Verfahren, umfassend: Empfangen einer Anfrage von einer Kunden-Computervorrichtung, um Streaming-Inhalt bereitzustellen; Bestimmen einer Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen sind, wobei die Vielzahl von Inhaltsabschnitten sowohl einen ersten Satz von Inhaltsabschnitten unter Verwendung eines ersten Identifikationsschemas als auch einen zweiten Satz von Inhaltsabschnitten unter Verwendung eines zweiten Identifikationsschemas beinhaltet; Erzeugen eines verborgenen Manifests für den Streaming-Inhalt, wobei das Erzeugen des verborgenen Manifests das Erzeugen von Kennungen für die Vielzahl von Inhaltsabschnitten unter Verwendung eines gemeinsamen Identifikationsschemas und einschließlich der Kennungen innerhalb des verborgenen Manifests umfasst; und Übertragen des verborgenen Manifests an die Kunden-Computervorrichtung, um die Ausgabe des Streaming-Inhalts durch Abrufen und Ausgeben der Vielzahl von Inhaltsabschnitten, die innerhalb des verborgenen Manifests identifiziert wurde, auf der Kunden-Computervorrichtung zu ermöglichen.
  4. Computerimplementiertes Verfahren nach Anspruch 3, wobei das Erzeugen von Kennungen für die Vielzahl von Inhaltsabschnitten unter Verwendung eines gemeinsamen Identifikationsschemas das Verschlüsseln von Kennungen des ersten und zweiten Satzes von Inhaltsabschnitten umfasst, das zu einem Satz von verschlüsselten Kennungen für die Vielzahl von Inhaltsabschnitten führt.
  5. Computerimplementiertes Verfahren nach Anspruch 3, wobei das Erzeugen von Kennungen für die Vielzahl von Inhaltsabschnitten unter Verwendung eines gemeinsamen Identifikationsschemas das Erzeugen einer Zuordnung zwischen Kennungen des ersten und zweiten Satzes von Inhaltsabschnitten und Kennungen für die Vielzahl von Inhaltsabschnitten, die in dem verborgenen Manifest aufgenommen ist, umfasst.
  6. Computerimplementiertes Verfahren nach Anspruch 3, ferner umfassend: Empfangen einer Anfrage für einen Inhaltsabschnitt, der gemäß einer Kennung des gemeinsamen Identifikationsschemas identifiziert wurde, von der Kunden-Computervorrichtung; Umwandeln der Kennung des gemeinsamen Identifikationsschemas in eine Kennung des ersten Identifikationsschemas; Bestimmen eines Inhaltsabschnitts des ersten Satzes von Inhaltsabschnitten, der der Kennung des ersten Identifikationsschemas entspricht; und Übertragen des Inhaltsabschnitts an die Kunden-Computervorrichtung als Reaktion auf die Anfrage.
  7. Computerimplementiertes Verfahren nach Anspruch 6, ferner umfassend mindestens eines der Folgenden: Bestimmen, dass der Inhaltsabschnitt, der der Kennung des ersten Identifikationsschemas entspricht, in einem lokalen Cache vorhanden ist, und Abrufen des Inhaltsabschnitts aus dem lokalen Cache; oder Bestimmen, dass der Inhaltsabschnitt, der der Kennung des ersten Identifikationsschemas entspricht, nicht innerhalb eines lokalen Caches vorhanden ist, und Abrufen des Inhaltsabschnitts aus einem entfernten Datenspeicher.
  8. Computerimplementiertes Verfahren nach Anspruch 3, ferner umfassend: Empfangen von Überwachungsinformationen bezüglich der Ausgabe des Streaming-Inhalts auf der Kunden-Computervorrichtung; Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufgenommen werden soll, basierend zumindest teilweise auf den Überwachungsinformationen; Erzeugen eines zusätzlichen Abschnitts des verborgenen Manifests zumindest teilweise durch Erzeugen von Kennungen für die zweite Vielzahl von Inhaltsabschnitten unter Verwendung des gemeinsamen Identifikationsschemas; und Übertragen des zusätzlichen Abschnitts des verborgenen Manifests an die Kunden-Computervorrichtung.
  9. Computerimplementiertes Verfahren nach Anspruch 8, wobei die zweite Vielzahl von Inhaltsabschnitten einem Hauptinhalt entspricht, und wobei das Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen ist, basierend zumindest teilweise auf den Überwachungsinformationen, das Bestimmen umfasst, dass die Überwachungsinformationen anzeigen, dass die Kunden-Computervorrichtung mindestens eine durch den zweiten Satz von Inhaltsabschnitten gebildete Werbung ausgegeben hat.
  10. Computerimplementiertes Verfahren nach Anspruch 8, wobei die zweite Vielzahl von Inhaltsabschnitten und der zweite Satz von Inhaltsabschnitten gleich sind, und wobei das Bestimmen einer zweiten Vielzahl von Inhaltsabschnitten, die in den Streaming-Inhalt aufzunehmen ist, basierend zumindest teilweise auf den Überwachungsinformationen, das Bestimmen umfasst, dass die Überwachungsinformationen anzeigen, dass die Kunden-Computervorrichtung mindestens eine durch den zweiten Satz von Inhaltsabschnitten gebildete Werbung nicht ausgegeben hat.
  11. System, umfassend: einen Datenspeicher mit einer Vielzahl von Inhaltsabschnitten, wobei die Vielzahl von Inhaltsabschnitten durch Kennungen gemäß mindestens zwei Identifikationsschemata identifiziert wird; und eine oder mehrere Computervorrichtungen, die mit computerausführbaren Anweisungen konfiguriert sind, die bei ihrer Ausführung die Computervorrichtungen zu Folgendem veranlassen: Erhalten einer Anfrage von einer Kunden-Computervorrichtung, Streaming-Inhalt bereitzustellen; Erzeugen eines verborgenen Manifests für den Streaming-Inhalt, wobei das verborgene Manifest für die Vielzahl von Inhaltsabschnitten einen Satz von Kennungen beinhaltet, die ein gemeinsames Identifikationsschema verwenden; und Übertragen des verborgenen Manifests an die Kunden-Computervorrichtung.
  12. System nach Anspruch 11, wobei die computerausführbaren Anweisungen die Computervorrichtungen veranlassen, Kennungen für die Vielzahl von Inhaltsabschnitten zu erzeugen, die das gemeinsame Identifikationsschema zumindest teilweise verwenden, indem Kennungen der Vielzahl von Inhaltsabschnitten verschlüsselt werden, um zu einem Satz von verschlüsselten Kennungen zu führen, die das gemeinsame Identifikationsschema verwenden.
  13. System nach Anspruch 11, wobei die computerausführbaren Anweisungen die Computervorrichtungen veranlassen, Kennungen für die Vielzahl von Inhaltsabschnitten zu erzeugen, die das gemeinsame Identifikationsschema zumindest teilweise verwenden, indem sie eine Zuordnung zwischen Kennungen der Vielzahl von Inhaltsabschnitten und Kennungen, die in dem verborgenen Manifest aufgenommen sind, erzeugen.
  14. System nach Anspruch 11, wobei die computerausführbaren Anweisungen ferner die Computervorrichtungen veranlassen, mindestens einen der Vielzahl von Inhaltsabschnitten durch Neucodierung von Inhalten mindestens zweier Typen zu erzeugen, um ein Attribut mit den übrigen Inhaltsabschnitten der Vielzahl von Inhaltsabschnitten zu teilen.
  15. System nach Anspruch 14, wobei die computerausführbaren Anweisungen ferner die Computervorrichtungen veranlassen, einen oder mehrere zusätzliche Inhaltsabschnitte, die der Vielzahl von Inhaltsabschnitten zugeordnet sind, neu zu verschlüsseln, so dass die einen oder mehreren zusätzlichen Inhaltsabschnitte ein gemeinsames Attribut teilen.
DE112017002625.3T 2016-05-23 2017-05-18 Inhaltsstreamingabschnitte vor modifikation oder entfernen schützen Pending DE112017002625T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/162,423 US10701040B2 (en) 2016-05-23 2016-05-23 Protecting content-stream portions from modification or removal
US15/162,423 2016-05-23
PCT/US2017/033380 WO2017205185A1 (en) 2016-05-23 2017-05-18 Protecting content-stream portions from modification or removal

Publications (1)

Publication Number Publication Date
DE112017002625T5 true DE112017002625T5 (de) 2019-04-11

Family

ID=60331044

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017002625.3T Pending DE112017002625T5 (de) 2016-05-23 2017-05-18 Inhaltsstreamingabschnitte vor modifikation oder entfernen schützen

Country Status (5)

Country Link
US (2) US10701040B2 (de)
JP (1) JP6666520B2 (de)
CN (1) CN109417544B (de)
DE (1) DE112017002625T5 (de)
WO (1) WO2017205185A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902258B2 (en) 2016-05-23 2024-02-13 Amazon Technologies, Inc. Protecting content-stream portions from modification or removal

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3231185A1 (de) * 2014-12-12 2017-10-18 Piksel, Inc. Weiterleitung von videoinhalt
EP3466013B1 (de) * 2016-05-23 2020-01-15 Telefonaktiebolaget LM Ericsson (PUBL) Verborgene abfragefolge für codierte videodatenströme aus informationszentrischer vernetzung (icn)
CA3026405C (en) * 2016-06-01 2023-03-28 Archive360, Inc. Methods and systems for archiving and retrieving data
US10838924B2 (en) * 2017-10-02 2020-11-17 Comcast Cable Communications Management, Llc Multi-component content asset transfer
CN110290161A (zh) * 2018-03-19 2019-09-27 中国移动通信有限公司研究院 一种拓扑隐藏方法、节点、功能实体和计算机存储介质
US10595055B2 (en) * 2018-04-23 2020-03-17 Amazon Technologies, Inc. Server-side insertion of media fragments
US10419786B1 (en) 2018-07-20 2019-09-17 Fubotv Inc. Systems and methods for securely generating live previews
US11064237B1 (en) 2018-09-04 2021-07-13 Amazon Technologies, Inc. Automatically generating content for dynamically determined insertion points
US10951932B1 (en) 2018-09-04 2021-03-16 Amazon Technologies, Inc. Characterizing attributes of user devices requesting encoded content streaming
US10904593B1 (en) * 2018-09-04 2021-01-26 Amazon Technologies, Inc. Managing content encoding based on detection of user device configurations
US11234059B1 (en) 2018-09-04 2022-01-25 Amazon Technologies, Inc. Automatically processing content streams for insertion points
US11238026B2 (en) * 2018-11-26 2022-02-01 Home Box Office, Inc. Identifier technology for entertainment data
US11356746B2 (en) 2019-06-14 2022-06-07 GumGum, Inc. Dynamic overlay video advertisement insertion
US11284130B2 (en) 2019-06-14 2022-03-22 GumGum, Inc. Dynamic insertion of content within live streaming video
US11297358B2 (en) 2020-01-02 2022-04-05 Synamedia Limited Video distribution systems and methods
WO2022046247A1 (en) * 2020-08-27 2022-03-03 Arris Enterprises Llc Preventing skipping of advertising content
US20230123011A1 (en) * 2021-10-20 2023-04-20 Sap Se Integrating data with different configuration models
US11954185B2 (en) * 2022-03-23 2024-04-09 Synamedia Limited Methods, devices, and systems for preventing rendering content from CDN to unauthorized users

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0366520U (de) 1989-10-27 1991-06-27
AU2002259081A1 (en) * 2001-05-01 2002-11-11 Amicas, Inc. System and method for repository storage of private data on a network for direct client access
US6985936B2 (en) * 2001-09-27 2006-01-10 International Business Machines Corporation Addressing the name space mismatch between content servers and content caching systems
CN1322432C (zh) * 2002-10-25 2007-06-20 国际商业机器公司 用于媒体内容数据文件网络发布的安全系统及方法
US20060106802A1 (en) * 2004-11-18 2006-05-18 International Business Machines Corporation Stateless methods for resource hiding and access control support based on URI encryption
CA2675595C (en) * 2007-01-17 2016-10-25 Intertrust Technologies Corporation Methods, systems, and apparatus for fragmented file sharing
CN101335871A (zh) * 2007-06-25 2008-12-31 陈珠琮 一种广告服务系统与方法
US8099599B2 (en) * 2008-08-29 2012-01-17 Microsoft Corporation Controlling access to data streams
US9003462B2 (en) * 2011-02-10 2015-04-07 Comcast Cable Communications, Llc Content archive model
WO2012165889A2 (ko) * 2011-05-31 2012-12-06 삼성에스디에스 주식회사 아이디 기반 암호화 및 서명 방법 및 단말기
CN102604297B (zh) * 2012-03-09 2013-11-13 湖北省高速公路实业开发有限公司 一种沥青路面用缓释型防冰材料及其制备方法
US20140040026A1 (en) * 2012-05-04 2014-02-06 Adobe Systems Incorporated Systems and methods for including advertisements in streaming content
US8887215B2 (en) * 2012-06-11 2014-11-11 Rgb Networks, Inc. Targeted high-value content in HTTP streaming video on demand
EP2868097A4 (de) 2012-06-28 2016-03-23 Ericsson Ab Verfahren und system zum einfügen von werbeinhalten in einer over-the-top-medienausgabe
US9547774B2 (en) * 2012-07-18 2017-01-17 Nexenta Systems, Inc. System and method for distributed deduplication of encrypted chunks
US9215269B2 (en) * 2012-08-23 2015-12-15 Amazon Technologies, Inc. Predictive caching for content
US9143543B2 (en) * 2012-11-30 2015-09-22 Google Technology Holdings LLC Method and system for multi-streaming multimedia data
JP6155757B2 (ja) 2013-03-28 2017-07-05 富士通株式会社 コンテンツ配信装置、コンテンツ配信方法
US9672503B2 (en) * 2013-05-21 2017-06-06 Amazon Technologies, Inc. Bandwidth metering in large-scale networks
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
DE102013217640A1 (de) * 2013-09-04 2015-03-05 Profil Verbindungstechnik Gmbh & Co. Kg Verfahren zur Anbringung eines Befestigungselements an ein Werkstück, Kombination einer Scheibe mit einer Matrize sowie Matrize
US9124947B2 (en) 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
GB2536067B (en) * 2015-03-17 2017-02-22 Openwave Mobility Inc Identity management
US9276983B2 (en) * 2015-05-01 2016-03-01 Amazon Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation
US10298985B2 (en) * 2015-05-11 2019-05-21 Mediamelon, Inc. Systems and methods for performing quality based streaming
US9654815B2 (en) * 2015-09-18 2017-05-16 Arris Enterprises, Inc. Advertising detection in adaptive bitrate streaming
US9977809B2 (en) * 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10701040B2 (en) 2016-05-23 2020-06-30 Amazon Technologies, Inc. Protecting content-stream portions from modification or removal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902258B2 (en) 2016-05-23 2024-02-13 Amazon Technologies, Inc. Protecting content-stream portions from modification or removal

Also Published As

Publication number Publication date
CN109417544A (zh) 2019-03-01
JP2019521625A (ja) 2019-07-25
CN109417544B (zh) 2021-09-03
US10701040B2 (en) 2020-06-30
US20170339114A1 (en) 2017-11-23
WO2017205185A1 (en) 2017-11-30
US20200329019A1 (en) 2020-10-15
JP6666520B2 (ja) 2020-03-13
US11902258B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
DE112017002625T5 (de) Inhaltsstreamingabschnitte vor modifikation oder entfernen schützen
CN114666308B (zh) 对于流式内容部分的基于请求的编码系统和方法
DE60109467T2 (de) Verfahren und vorrichtung zur übertragung von netzwerkinformationen durch sichere transkodierung
DE60220259T2 (de) Datenreferenzsystem
DE60317917T2 (de) Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server
DE60311317T2 (de) Anwendungsauswahl unter berücksichtigung mehrerer faktoren
DE202017106594U1 (de) Bereitstellen von Zugriff auf eine in einem Datenspeichersystem gespeicherte Datei
DE102016209126A1 (de) Erstellen dynamischer zeitlicher Versionen von Inhalt
DE212017000015U1 (de) Systeme zum Detektieren einer unzweckmässigen Implementierung einer Präsentation von Inhaltselementen durch Anwendungen, die auf Client-Geräten ablaufen
CA3049591C (en) Systems and methods for securely generating live previews
KR20110129477A (ko) 주문형 비디오의 신디케이션을 위한 장치 및 방법
DE112013001136T5 (de) Effiziente Abgrenzung und Verteilung von Media-Segmenten
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
JP6504695B2 (ja) 動画配信システム
DE60008233T2 (de) Übertragung von profilierten mediadateien an kunden über ein netzwerk
EP2791939B1 (de) Streaming-basiertes medien-system
DE112011102879T5 (de) Medienrechteverwaltung auf mehreren Geräten
DE112020000136T5 (de) Browserverlauf mit geringer Entropie für die Quasi-Personalisierung von Inhalten
DE112016002207T5 (de) Erstellung und verwaltung von ladenbesuchsdaten
DE112021006319T5 (de) Hochverfügbare kryptografische schlüssel
DE102018208496A1 (de) Persistente kennung für offline-zugriff auf gestreamte medien
DE10031034A1 (de) Allgemein interaktive Rundsendungen und insbesondere Systeme zur Erzeugung von interaktiven Rundsendungen
DE112020004978T5 (de) System und Verfahren zum Ausliefern in Echtzeit eines zielgerichteten Inhalts in einem Streaming-Inhalt
US10389786B1 (en) Output tracking for protected content-stream portions
DE112020001891B4 (de) Systeme und Methoden der universellen Videoeinbettung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04N0021230000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0021230000

Ipc: H04N0021235000