DE112016005812T5 - Automatisches Bereitstellen von Medienelementen in Umgebungen mit begrenzter Netzleistung - Google Patents

Automatisches Bereitstellen von Medienelementen in Umgebungen mit begrenzter Netzleistung Download PDF

Info

Publication number
DE112016005812T5
DE112016005812T5 DE112016005812.8T DE112016005812T DE112016005812T5 DE 112016005812 T5 DE112016005812 T5 DE 112016005812T5 DE 112016005812 T DE112016005812 T DE 112016005812T DE 112016005812 T5 DE112016005812 T5 DE 112016005812T5
Authority
DE
Germany
Prior art keywords
client device
media
notification
server
media item
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.)
Withdrawn
Application number
DE112016005812.8T
Other languages
English (en)
Inventor
Justin Lewis
Gavin James
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE112016005812T5 publication Critical patent/DE112016005812T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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
    • 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/752Media network packet handling adapting media to network capabilities
    • 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/764Media network packet handling at the destination 
    • 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
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • 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/26208Content 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 the scheduling operation being performed under constraints
    • H04N21/26216Content 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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Ein Medien-Server stellt für Clients über ein Netz Medienelemente bereit. In einigen Fällen bewirkt eine begrenzte Netzleistung des Netzes, das das Streaming oder das Herunterladen auf Anforderung von Medienelementen undurchführbar ist. In diesen Fällen stellt der Medien-Server den Clients automatisch Medienelemente zum Herunterladen bereit, wenn die Netzleistung es zulässt. Medienelemente können Clients bereitgestellt werden, ohne die Aktivitäten der Anwender der Clients zu unterbrechen und ohne aktives Überwachen oder Beobachten durch die Anwender. Die Clients können Benachrichtigungen an die Anwender ausgeben, wenn bereitgestellte Medienelemente zur Präsentation bereit sind, und die Clients können die Medienelemente präsentieren, damit die Anwender diese konsumieren.

Description

  • Hintergrund
  • Die Offenbarung bezieht sich im Allgemeinen auf das Bereitstellen von Medieninhalten zur Darstellung auf Rechenvorrichtungen in Umgebungen mit begrenzter Netzleistung und genauer auf das automatische Herunterladen und Speichern von Medienelementen auf Rechenvorrichtungen, ohne die Anwenderaktivitäten zu unterbrechen, wenn die Netzeigenschaften es zulassen, und das Benachrichtigen der Anwender, wenn die Medienelemente zur Präsentation verfügbar sind.
  • Videostreaming-Webauftritte und andere Medien-Server ermöglichen Anwendern den Zugriff auf Millionen von Medieninhaltselementen (Medienelemente). Eine hohe Anwenderbindung ist ein wichtiges Ziel von Inhaltserzeugern, Werbetreibenden und anderen angeschlossenen Unternehmen eines Medien-Servers. Somit ist es erwünscht, dass die Anwender so viele Videos wie möglich ansehen.
  • Viele Anwender befinden sich in Gebieten mit begrenzter Netzleistung. Zum Beispiel besitzen Anwender möglicherweise lediglich zu bestimmten Zeiten oder an bestimmten Orten eine Netzverbindungstechnologie. Ferner weist das Netz möglicherweise keine ausreichende Bandbreite oder keinen ausreichenden Durchsatz auf, um einen Inhalt effektiv zu streamen (gleichzeitig Betrachten und Herunterladen). Folglich können Sitzungen zum Ansehen auf bestimmte Zeiten und Orte eingeschränkt sein, wenn die Verbindungstechnologie ausreichend ist, und einige Anwender können möglicherweise überhaupt keine Medienelemente konsumieren. Dies ergibt eine unterdurchschnittliche Anwendererfahrung und kann bewirken, dass Anwender von Sitzungen zum Ansehen absehen.
  • Figurenliste
    • 1A veranschaulicht eine Rechenumgebung zum Bereitstellen von Medienelementen an Clients in Umgebungen mit begrenzter Netzleistung und zum Benachrichtigen der Anwender der Clients, dass auf dem Client Medienelemente zur Präsentation bereit sind, gemäß einer Ausführungsform.
    • 1B veranschaulicht einen Medien-Server zum Bereitstellen von Medienelementen an Clients in Umgebungen mit begrenzter Netzleistung gemäß einer Ausführungsform.
    • 1C veranschaulicht eine beispielhafte Client-Rechenvorrichtung zum Herunterladen und Speichern von Medienelementen und zum Ausgeben von Benachrichtigungen gemäß einer Ausführungsform.
    • 2 ist ein Ablaufplan der Schritte für einen Beispielprozess, der durch einen Medien-Server durchgeführt wird, um einem Client in einer Umgebung mit begrenzter Netzleistung ein Medienelement bereitzustellen.
    • 3 ist ein Ablaufplan der Schritte für einen Beispielprozess, der in einer Umgebung mit begrenzter Netzleistung durch einen Client durchgeführt wird, um ein Medienelement zur Präsentation zu empfangen und dementsprechend Benachrichtigungen an einen Anwender des Ciients auszugeben.
    • 4 ist eine Blockdiagramm einer hohen Ebene, das die physikalischen Komponenten eines Computers veranschaulicht, der in einer Ausführungsform als ein Teil oder als die Gesamtheit einer oder mehrerer der Einheiten verwendet wird, die hier beschrieben sind.
  • Die Figuren (Fig.) und die folgende Beschreibung beziehen sich lediglich veranschaulichend auf beispielhafte Ausführungsformen. Es sei erwähnt, dass aus der folgenden Diskussion alternative Ausführungsformen der Strukturen und Verfahren, die hier offenbart sind, leicht als machbare Alternativen erkannt werden, die eingesetzt werden können, ohne von den Prinzipien dessen, was beansprucht ist, abzuweichen.
  • Genaue Beschreibung
  • Überblick über die Konfiguration
  • Ein Medien-Server stellt Clients über ein Netz Medienelemente bereit. In einigen Fällen bewirkt eine begrenzte Netzleistung des Netzes, dass das Streaming oder das Herunterladen auf Anforderung von Medienelementen undurchführbar ist. In diesen Fällen kann der Medien-Server den Clients automatisch Medienelemente bereitstellen, wenn die Netzleistung es zulässt. Medienelemente können den Clients bereitgestellt werden, ohne die Aktivitäten der Anwender der Clients zu unterbrechen und ohne aktives Überwachen oder Beobachten durch die Anwender. Clients können Benachrichtigungen an die Anwender ausgeben, wenn bereitgestellte Medienelemente zur Präsentation bereit sind, und die Clients können die Medienelemente präsentieren, damit die Anwender diese konsumieren.
  • Der Medien-Server kann eine oder mehrere Eigenschaften detektieren, die eine begrenzte Netzleistung des Netzes angeben. Ein Medienverteilungsmodul des Medien-Servers kann automatisch ein Medienelement auswählen, um es einem Client bereitzustellen, wenn die Netzleistung es zulässt. Ein Befehlsmodul des Medien-Servers kann einen Download-Befehl an einen Client ausgeben, ein Medienelement automatisch herunterzuladen und zu speichern. Das Befehlsmodul kann zusätzlich einen Benachrichtigungsbefehl an den Client ausgeben, eine Benachrichtigung auszugeben, wenn das Medienelement auf dem Client zur Präsentation bereit ist. Das Medienverteilungsmodul des Medien-Servers kann das Medienelement aus einem Mediendatenspeicher abrufen und das Medienelement dem Client bereitstellen, wenn die Netzleistung es zulässt.
  • Eine Medienabspieleinrichtungsanwendung des Clients empfängt einen oder mehrere Befehle vom Medien-Server, die den Client anweisen, ein Medienelement automatisch herunterzuladen und zu speichern und eine Benachrichtigung auszugeben, wenn das Medienelement auf dem Client zur Präsentation bereit ist. Der Client lädt die Medienelemente automatisch herunter und speichert sie in einem Mediendatenspeicher des Clients, wenn die Netzleistung es zulässt. Das Empfangen der Befehle und das Herunterladen und Speichern der Medienelemente findet automatisch als Hintergrundprozess statt, ohne die Anwenderaktivitäten zu unterbrechen oder eine Überwachung durch den Anwender zu erfordern. Ein Benachrichtigungsmodul des Clients gibt Benachrichtigungen aus, wenn auf dem Client Medienelemente zur Präsentation bereit sind. Die Medienabspieleinrichtungsanwendung präsentiert das Medienelement auf dem Client als Antwort auf das Empfangen einer Anforderung von einem Anwender des Clients, das Medienelement zu präsentieren.
  • II. Rechenumgebung
  • 1A veranschaulicht eine Rechenumgebung zum Bereitstellen von Medienelementen an Clients 110 in Umgebungen mit begrenzter Netzleistung und zum Benachrichtigen der Anwender der Clients, dass auf dem Client Medienelemente zur Präsentation bereit sind, gemäß einer Ausführungsform. Die Umgebung enthält eine Client-Rechenvorrichtung 110, die durch ein Netz 150 mit einem Medien-Server-Computer 120 verbunden ist. 1 veranschaulicht einen Client 110 und einen Medien-Server 120, jedoch können mehrere Instanzen jeder dieser Einheiten vorhanden sein. Zum Beispiel können sich tausende oder Millionen von Clients 110 mit mehreren Medien-Servern 120 in Kommunikation befinden.
  • Das Netz 150 kann jede Kombination von Nahbereichsnetzen und/oder Fernbereichsnetzen, dem Internet oder eines oder mehreren Intranets, unter Verwendung sowohl drahtgebundener als auch drahtloser Kommunikationssysteme umfassen. In diversen Ausführungsformen kann die Netzleistung des Netzes 150 durch die Eigenschaften des Netzes oder des Clients 110 begrenzt sein. Eine begrenzte Netzleistung kann durch Bandbreitenbegrenzungen, Durchsatzbegrenzungen, eine Verzögerungszeit, Synchronisationsfehler und eine Fehlerrate charakterisiert sein. Eine begrenzte Netzleistung kann durch die Eigenschaften des Netzes 150 bewirkt werden, z. B. wenn das Netz ein leitungsgebundenes Netz mit geringer Bandbreite, ein Mobilfunknetz wie etwa 2G, 3G, EDGE, ein WIFI-Netz mit niedriger Qualität oder ein Drahtlosnetz, das durch einen Satelliten oder ein Flugzeug bereitgestellt wird, ist. Eine begrenzte Netzleistung kann ebenfalls durch die Eigenschaften des Clients 110 bewirkt werden, z. B. wenn der Client begrenzte Netzverbindungsfähigkeiten aufweist, in einem Gebiet mit schlechten Netzempfang angeordnet ist oder in einer erheblichen Entfernung von einem Netz-Hub, der den Netzzugriff bereitstellt, angeordnet ist.
  • Als ein Ergebnis einer begrenzten Netzleistung können dem Client Medienelemente zum Streaming oder zum Herunterladen auf Anforderung nicht schnell genug bereitgestellt werden. Zum Beispiel kann das Medienelement nicht schnell genug heruntergeladen werden, um die erforderliche Anzeigegeschwindigkeit (Rahmengeschwindigkeit) aufrechtzuerhalten, damit der Client das Medium derart bereitstellt, dass der Anwender es auf eine nicht unterbrochene Weise konsumieren kann (z. B. Ansehen, Anhören oder beides). Um Clients 110 in Umgebungen mit begrenzter Netzleistung Medienelemente bereitzustellen, kann der Medien-Server 120 dem Client automatisch ein Medienelement bereitstellen, wenn die Netzleistung es zulässt, und der Client 110 kann das Medienelement im Hintergrund herunterladen und speichern und wenn das Medienelement heruntergeladen ist, eine Benachrichtigung an den Anwender ausgeben, die angibt, dass das Medienelement zur Präsentation bereit ist.
  • II.A. Beispielhafter Medien-Server
  • 1B veranschaulicht einen Medien-Server 120 zum Bereitstellen von Medienelementen an Clients 110 in Umgebungen mit begrenzter Netzleistung gemäß einer Ausführungsform. Der Medien-Server 120 enthält einen oder mehrere Computer-Server, die Clients 110 Medienelemente bereitstellen. Der Medien-Server 120 kann z. B. ein Video-Streaming-Webauftritt (z. B. YouTube®) sein. Medienelemente können verschiedene Arten (z. B. Videomedienelemente oder Audiomedienelemente, usw.), Formate (Seitenverhältnis 4:3, Seitenverhältnis 16:9, usw.) aufweisen und unter Verwendung verschiedener Techniken codiert/komprimiert sein (H.264, MPEG, usw.). Medienelemente können Werbeanzeigen enthalten. Medienelemente können in einem Mediendatenspeicher 128 des Medienservers 120 gespeichert sein. Abhängig von der Umgebung kann der Mediendatenspeicher 128 eine oder mehrere Arten von nicht flüchtigen, computerlesbaren, beständigen Speichermedien enthalten.
  • Der Medien-Server 120 erhält z. B. im Mediendatenspeicher 128 Informationen in Bezug auf Medienelemente aufrecht. Informationen bezüglich eines Medienelements können eine Medienelementkennung (Medienelement-ID), eine Medienelementadresse und Metadaten, die einem Medienelement zugeordnet sind, enthalten. Die Medienelement-ID identifiziert ein Medienelement eindeutig. Die Medienelementadresse ist eine Computernetzadresse, unter der das Medienelement physikalisch gespeichert ist und von der es heruntergeladen oder gestreamt werden kann. Der physikalische Speicherort des Medienelements kann eine bestimmte Instanz des Medien-Servers 120 sein, die in einer geographischen Region angeordnet ist, die in räumlicher Nähe zu einer Untergruppe der Clients 110 liegt, die dem Medien-Server 120 zugeordnet sind. Zum Beispiel kann es mehrere getrennte Instanzen des Medien-Servers 120 geben, eine in Japan angeordnet, eine weitere in China, eine weitere in Indien, usw. Die Metadaten beschreiben verschiedene Aspekte des Medienelements Die Metadaten können z. B. den Autor, das Veröffentlichungsdatum, Besprechungen, Genre-Informationen, den Herausgeber, Bewertungen und ein Medienelementkennzeichen enthalten. Für Werbeanzeigen können die Informationen bezüglich des Medienelements ferner Werbeinformationen, einschließlich Parametern zum Anbieten der Werbeanzeigen an bestimmte Anwender auf der Basis von gespeicherten Anwenderinformationen enthalten.
  • Ein Account-Modul 126 im Medien-Server 120 ermöglicht Anwendern, mit dem Medien-Server 120 Accounts zu verwalten. Das Account-Modul 126 empfängt und speichert ferner Anwenderinformationen, die den Aktivitäten eines Anwenders in Bezug auf den Medien-Server 120 entsprechen. Die Anwenderinformationen können Informationen über Client-Vorrichtungen 110, die einem Anwender zugeordnet sind (z. B. Art der Vorrichtung, Netzeigenschaften und -fähigkeiten, Ort der Vorrichtung, Speicherinformationen der Vorrichtung, usw.), Kennzeichen von Medienelementen, die einem oder mehreren Clients 110, die dem Anwender zugeordnet sind, bereitgestellt wurden, Vorlieben des Anwenders und Wiedergabedaten, die dem Anwender zugeordnet sind, die Ansichtszählungen und Bewertungen für bereitgestellte Medienelemente enthalten, enthalten. Die Anwenderinformationen können ferner Benachrichtigungsvorlieben umfassen, wie unten in Bezug auf 1C definiert und diskutiert ist. Die Anwenderinformationen und andere Account-Informationen können in einem Account-Datenspeicher 130 des Medien-Servers 120 gespeichert sein. Abhängig von der Umgebung kann der Account-Datenspeicher 130 eine oder mehrere Arten von nicht flüchtigen, computerlesbaren, beständigen Speichermedien enthalten.
  • Ein Medienverteilungsmodul 122 stellt den Clients 110 Medienelemente bereit. Das Medienverteilungsmodul 122 empfängt Medienelementanforderungen von den Clients 110 und ruft die Medienelemente aus dem Mediendatenspeicher 128 ab, um sie den Clients bereitzustellen. Das Medienverteilungsmodul 122 kann den Clients 110 Medienelemente zum Streaming und zur gleichzeitigen Präsentation oder zum Herunterladen und Speichern zur späteren Präsentation bereitstellen. In Situationen mit einer begrenzten Netzleistung stellt das Medienverteilungsmodul 122 den Clients 110 automatisch Medienelemente bereit. Das Medienverteilungsmodul 122 kann auf der Basis von Anwenderinformationen wie etwa vorher bereitgestellten Medienelementen und Anwendervorlieben Medienelemente automatisch auswählen. Die ausgewählten Medienelemente können als ein Hintergrundprozess, der ohne Anforderung durch einen Anwender stattfindet und ohne dass der Anwender den Prozess aktiv beobachtet oder überwacht, den Clients 110 automatisch bereitgestellt und durch diese gespeichert werden. Der Anwender kann benachrichtig werden, wenn das Medienelement zur Wiedergabe bereit ist, wie unten unter Bezugnahme auf 1C und 3 genauer diskutiert ist.
  • Um das Verfahren zum Bereitstellen der Medienelemente an den Client 110 zu bestimmen, kann das Medienverteilungsmodul 122 die Netzeigenschaften des Clients 110 und des Netzes 150 analysieren, um zu bestimmen, ob der Client 110 befähigt ist, das Medienelement zu streamen und gleichzeitig zu präsentieren. Dies kann auf einer laufenden Basis oder zu bestimmten Intervallen stattfinden. Das Medienverteilungsmodul 122 kann Medienelemente zum Senden an die Clients 110 vorbereiten. Das Vorbereiten eines Medienelements kann z. B. Codieren, Komprimieren, Ändern von Medienelementformaten und Ändern der Datenstruktur (z. B. Aufteilen in Pakete zum Streaming oder zum Herunterladen) enthalten. Die Vorbereitung kann abhängig vom Verfahren, das verwendet wird, um dem Client die Medienelemente bereitzustellen, variieren. Zum Beispiel kann in Situationen mit einer hohen Bandbreite eine Codierungs- und Komprimierungsschema mit einer höheren Qualität verwendet werden, während in Situationen mit begrenzter Bandbreite ein Codierungs- und Komprimierungsschema mit niedrigerer Qualität verwendet werden kann.
  • Wie oben diskutiert ist, kann das Medienverteilungsmodul 122 in Situationen mit begrenzter Netzieistung Medieneiemente automatisch auswählen, um sie den Clients 110 bereitzustellen. Das Medienverteilungsmodul 122 kann die Medienelemente auf der Basis von Anwenderinformationen des Anwenders des Clients 110 wie etwa vorher konsumierte Medienelemente, Medienelementbewertungen oder andere Vorlieben auswählen. Wenn ein Anwender z. B. vorher Medienelemente in einem bestimmten Genre angesehen und hoch bewertet hat, kann ein Medienelement aus dem Genre ausgewählt werden. Das Medienelement kann außerdem unter Verwendung anderer Informationen, die auf dem Medien-Server 120 gespeichert sind, wie etwa Anwenderinformationen von anderen Anwendern (z. B. in demselben geographischen Gebiet, ähnliche Anwender, usw.) oder Werbeinformationen ausgewählt werden. Das Medienelement kann außerdem auf der Basis von Anwendervorlieben, die in einem Account-Datenspeicher 130 gespeichert sind, ausgewählt werden, die z. B. bestimmte, bevorzugte Genres oder andere bevorzugte Eigenschaften für ausgewählte Medienelemente angeben.
  • Ein Befehlsmodul 124 des Medien-Servers 120 erzeugt und sendet Befehle an die Clients 110. Befehle sind Anweisungen, die durch den Medien-Server 120 an die Clients 110 gesendet werden, die z. B. die Clients 110 anweisen, automatisch ausgewählte Medienelemente herunterzuladen und zu speichern und Benachrichtigungen an die Anwender der Clients 110 auszugeben. Die Befehle sind nützlich zum Bereitstellen von Medienelementen an die Clients 110 in eingeschränkten Netzsituationen, derart, dass die Medienelemente auf den Clients 110 automatisch im Hintergrund heruntergeladen werden können, ohne die Anwender zu stören, bis die Download-Vorgänge abgeschlossen sind. Benachrichtigungen können z. B. einem Anwender angeben, dass ein Medienelement, das heruntergeladen worden ist, zur Präsentation bereit ist, und werden unten in Bezug auf 1C, 2 und 3 genauer diskutiert. Durch das Herunterladen vorab ohne die ausdrückliche Eingabe des Anwenders für bestimmte Medienelemente und das Benachrichtigen der Anwender lediglich dann, wenn diese bereits auf ihre Vorrichtung heruntergeladen sind, kann der Medien-Server 120 dem Anwender eine verbesserte Medienkonsumerfahrung bereitstellen, die nicht so durch eine begrenzte Netzverfügbarkeit behindert wird.
  • II.B Beispielhafte Client-Rechenvorrichtung
  • Die Clients 110 sind Rechenvorrichtungen, die Computerprogrammanweisungen ausführen - z. B. ein Web-Browser, eine E-Book-Leseeinrichtung, eine Medienabspieleinrichtung oder andere Client-Softwareanwendungen -, die einem Anwender ermöglichen, Audio- und/oder Videomedienelementdaten zu konsumieren. Ein Client 110 könnte z. B. ein Personal-Computer, ein Tablet-Computer, ein Smartphone, ein Laptop-Computer, eine geeignete E-Leseeinrichtung, die zumindest eine Audiowiedergabefunktionalität enthält, oder eine andere Art einer netzfähigen Vorrichtung wie etwa ein vemetztes Fernsehgerät oder ein Satellitenempfänger sein.
  • 1C veranschaulicht eine beispielhafte Client-Rechenvorrichtung 110 zum Herunterladen und Speichern von Medienelementen und zum Ausgeben von Benachrichtigungen gemäß einer Ausführungsform. Eine Medienabspieleinrichtungsanwendung 114 präsentiert einem Anwender des Clients Medienelemente, die vom Medien-Server 120 empfangen werden. Die Medienabspieleinrichtungsanwendung 114 kann eine Softwareanwendung sein, die zum Präsentieren von Medienelementen für einen Anwender, der den Client 110 bedient, durch einen Prozessor des Clients 110 ausgeführt werden. Die Medienabspieleinrichtungsanwendung 114 kann in Verbindung mit einem Betriebssystem des Clients 110 ausführen. In einer Ausführungsform ist die Medienabspieleinrichtungsanwendung 114 eine zugeordnete Softwareanwendung, die ausgelegt ist, insbesondere mit dem Medien-Server 120 zu arbeiten. In einer weiteren Ausführungsform wird die Medienabspieleinrichtungsanwendung 114 über eine allgemeinere Anwendung zum Zugreifen auf viele Arten von Inhalten wie etwa einen Web-Browser bereitgestellt. Der Browser kann den Zugriff auf den Medien-Server 120 z. B. über eine Web-Schnittstelle bereitstellen.
  • Die Medienabspieleinrichtungsanwendung 114 sendet Anforderungsmeldungen an den Medien-Server 120, um Medienelemente zur Präsentation auf dem Client 110 anzufordern, und empfängt als Antwort Medienelemente vom Medien-Server. Eine Anforderungsmeldung kann z. B. als Antwort auf eine Anwendereingabe, die angibt, dass der Anwender ein spezifiziertes Medienelement konsumieren möchte, gesendet werden. In dieser Ausführungsform kann das Medienelement vom Medien-Server 120 gestreamt und gleichzeitig auf dem Client 110 angezeigt werden.
  • Wie oben in Bezug auf 1A diskutiert ist, ist in einigen Situationen das gleichzeitige Streaming und Anzeigen eines Medienelements aufgrund einer begrenzten Netzleistung undurchführbar. Um einem Anwender des Clients 110 zu ermöglichen, ein Medienelement zu konsumieren, wenn das gleichzeitige Streaming und Anzeigen undurchführbar ist, kann die Medienabspieleinrichtungsanwendung 114 ein ausgewähltes Medienelement automatisch herunterladen und speichern und den Anwender benachrichtigen, wenn das Medienelement zur Präsentation bereit ist. Wie oben in Bezug auf 1B diskutiert ist, findet das automatische Herunterladen als Hintergrundprozess auf dem Client 110 statt, ohne dass der Anwender das Herunterladen speziell anfordert oder den Download-Prozess aktiv beobachtet oder überwacht. Als ein Ergebnis werden die Aktivitäten eines Anwenders auf dem Client 110 durch das automatische Herunterladen nicht unterbrochen oder verändert.
  • In einer Ausführungsform beginnt das automatische Herunterladen auf dem Client 110, wenn die Medienabspieleinrichtungsanwendung 114 einen Download-Befehl, das Medienelement vom Medien-Server 120 herunterzuladen, empfängt. Die Medienabspieleinrichtungsanwendung 114 sendet automatisch, ohne eine Anwendereingabe, eine Anforderungsmeldung an den Medien-Server 120. Der Download-Befehl kann spezifizieren, wann oder unter welchen Umständen der Client das Medienelement herunterladen sollte. Der Download-Befehl kann den Client anweisen, das Medienelement zu einer bestimmten Zeit, unter bestimmten Netzbedingungen, nachdem andere Medienelemente heruntergeladen sind, nachdem Medienelemente konsumiert worden sind oder entsprechend Bedingungen, die durch den Anwender spezifiziert sind, automatisch herunterzuladen und zu speichern. Ein Anwender kann spezifizieren, dass der Client Medienelemente nur dann herunterlädt, wenn der Client 110 mit einem WIFI-Netz verbunden ist, und nicht, wenn der Client mit einem Mobilfunkdatennetz verbunden ist. Das Medienelement wird entsprechend dem Download-Befehl vom Medien-Server 120 heruntergeladen, wenn die Netzleistung es zulässt (z. B. wenn eine Netzverbindungstechnologie oder eine Bandbreite verfügbar sind), und lokal im Mediendatenspeicher 116 gespeichert. Wie oben angegeben ist, können das Herunterladen und das Speichern des Medienelements als ein Hintergrundprozess stattfinden, der für den Anwender des Clients 110 nicht sichtbar ist.
  • Ein Benachrichtigungsmodul 112 gibt Benachrichtigungen an den Anwender aus, wenn ein heruntergeladenes Medienelement auf dem Client 110 zur Präsentation bereit ist. Die Benachrichtigungen können Text, Bilder oder Softwarekonstrukte, um einen Anwender zu benachrichtigen, dass ein Medienelement zur Präsentation verfügbar ist, enthalten. Arten von Benachrichtigungen können Textnachrichten (z. B. SMS-Nachrichten), E-Mails, vorrichtungseigene Nachrichten (z. B. i-Nachrichten), Benachrichtigungen der Vorrichtung (z. B. Push-Benachrichtigungen, Kennzeichen, Töne, usw.) und Nachrichten in Softwareanwendungen des Clients 110 oder anderer Rechenvorrichtungen sein. Benachrichtigungen können außerdem Hyperlinks wie etwa Uniform-Resource-Locators (URL) enthalten, die dem Anwender des Clients 110 ermöglichen, in einem Betriebssystem des Clients zur Medienabspieleinrichtungsanwendung 114 zu navigieren.
  • Das Benachrichtigungsmodul 112 kann als Antwort auf das Empfangen eines Benachrichtigungsbefehls vom Medien-Server 120 oder entsprechend Benachrichtigungsbedingungen Benachrichtigungen ausgeben. Die Benachrichtigungsbedingungen spezifizieren, wann oder unter welchen Umständen das Benachrichtigungsmodul 112 eine Benachrichtigung ausgibt. Zum Beispiel können die Benachrichtigungsbedingungen spezifizieren, dass eine Benachrichtigung ausgegeben wird, wenn das Herunterladen des Medienelements abgeschlossen ist, wenn ein spezifizierter Prozentsatz des Medienelements heruntergeladen ist (z. B. 25 %, 50 %, 75 %, usw.) oder wenn sich der Client 110 in einem bestimmten geografischen Gebiet befindet. Die Benachrichtigungsbedingungen können auf einer oder auf mehreren Eigenschaften des Netzes 150 basieren, die die Art des Netzes und die Download-Geschwindigkeiten enthalten. Zum Beispiel können die Bedingungen spezifizieren, dass die Benachrichtigung ausgegeben werden kann, wenn die Medienabspieleinrichtungsanwendung 114 bestimmt, dass genug vom Medienelement heruntergeladen worden ist und dass das Medienelement mit einer ausreichenden Geschwindigkeit heruntergeladen wird, derart, dass das Medienelement ohne Unterbrechung präsentiert werden kann.
  • Das Benachrichtigungsmodul 112 kann die Benachrichtigungsbedingungen auf der Basis von ausdrücklich eingegebenen Benachrichtigungsvorlieben des Anwenders verändern. Die Benachrichtigungsvorlieben können die Art(en) der Benachrichtigungen, die der Anwender empfängt, die Zeiten, zu denen Benachrichtigungen ausgegeben werden können, Benachrichtigungsbedingungen, Benachrichtigungstöne und Benachrichtigungsanzeigeeigenschaften (z. B. ob sich der Bildschirm der Vorrichtung einschaltet, wie die Benachrichtigung auf der Vorrichtung angezeigt wird, usw.) spezifizieren. Die Benachrichtigungsvorlieben können durch einen Anwender z. B. durch eine Anwenderschnittstelle der Medienabspieleinrichtungsanwendung 114 oder durch eine andere Anwenderschnittstelle des Clients 110 wie etwa eine Anwendung für Einstellungen eines Betriebssystems ausgewählt werden. Es kann Standardbenachrichtigungsvorlieben geben, die gültig sind, wenn ein Anwender nicht eine oder mehrere Benachrichtigungsvorlieben ausgewählt hat. Die Benachrichtigungsvorlieben können für einen Client 110 spezifisch sein oder können für mehrere Clients 110 gültig sein, die einem Anwender zugeordnet sind, und können im Benachrichtigungsdatenspeicher 118 oder im Account-Datenspeicher 130 gespeichert sein.
  • Der Benachrichtigungsinhalt, die Benachrichtigungsbedingungen und die Benachrichtigungsvorlieben können durch das Benachrichtigungsmodul 112 vom Medien-Server 120 (z. B. als Teil eines Befehls) oder von der Medienabspieleinrichtungsanwendung 114 empfangen und im Benachrichtigungsdatenspeicher 118 gespeichert werden. Die Benachrichtigungsvorlieben können außerdem an den Medien-Server 120 gesendet und im Account-Datenspeicher 130 gespeichert werden, derart, dass sie an alle Clients 110, die einem Account eines Anwenders zugeordnet sind, verteilt werden können.
  • III. Aktivitäten des Medien-Servers
  • 2 ist ein Ablaufplan der Schritte für einen Beispielprozess, der durch einen Medien-Server durchgeführt wird, um einem Client in einer Umgebung mit begrenzter Netzleistung ein Medienelement bereitzustellen. Der Medien-Server 120 analysiert die Netzbedingungen und bestimmt 205, dass das Streaming des Medienelements an den Client 110 undurchführbar ist. Der Medien-Server 120 wählt daraufhin ein Medienelement aus, um es dem Client 110 automatisch bereitzustellen. Der Medien-Server 120 sendet 215 einen Download-Befehl, der den Client 110 anweist, ein ausgewähltes Medienelement automatisch herunterzuladen und zu speichern, ohne die Aktivitäten des Anwenders auf dem Client zu unterbrechen. Der Medien-Server 120 empfängt 220 eine Anforderung vom Client 110, das ausgewählte Medienelement herunterzuladen. Der Medien-Server 120 sendet 225 daraufhin, wenn die Netzbedingungen es zulassen, das ausgewählte Medienelement über eine Zeitdauer an den Client 110. Der Medien-Server 120 sendet 230 einen zusätzlichen Benachrichtigungsbefehl, der den Client 110 anweist, eine Benachrichtigung an den Anwender des Clients auszugeben. Die Benachrichtigung benachrichtigt den Anwender, dass das Medienelement zur Wiedergabe bereit ist, und wird auf dem Client 110 entsprechend den Benachrichtigungsbedingungen ausgegeben, wenn bestimmt wird, dass das Medienelement zur Wiedergabe bereit ist. Dementsprechend werden die Aktivitäten des Anwenders auf dem Client 110 nicht unterbrochen oder verändert, bis das Medienelement zur Wiedergabe bereit ist, derart, dass die Anwendererfahrung z. B. nicht durch Warten auf Downloads beeinflusst oder unterbrochen wird.
  • In einer weiteren Ausführungsform enthält der Befehl aus Schritt 215 sowohl einen Download-Befehl als auch einen Benachrichtigungsbefehl und kann einen Benachrichtigungsinhalt, Benachrichtigungsbedingungen oder Benachrichtigungsvorlieben enthalten. Als ein Ergebnis kann der Befehl aus Schritt 230 unnötig sein, weil der Befehl aus Schritt 215 die Informationen enthält, um den Client 110 anzuweisen, eine Benachrichtigung auszugeben.
  • IV. Aktivitäten des Clients
  • 3 ist ein Ablaufplan der Schritte für einen Beispielprozess, der durch einen Client durchgeführt wird, um in einer Umgebung mit begrenzter Netzleistung ein Medienelement zur Präsentation zu empfangen und eine Benachrichtigung an einen Anwender eines Clients auszugeben. Der Client 110 empfängt 305 einen Download-Befehl, ein ausgewähltes Medienelement automatisch von einem Medien-Server 120 herunterzuladen und zu speichern. Der Client 110 sendet 310 daraufhin automatisch eine Anforderung, das Medienelement herunterzuladen, an den Medien-Server 120. Der Client 110 empfängt 315 das Medienelement vom Medien-Server 120 und speichert das Medienelement auf dem Client, ohne die Aktivitäten auf dem Client zu unterbrechen. Der Client 110 lädt das Medienelement vom Medien-Server 120 herunter, wenn die Netzbedingungen es zulassen. Der Client 110 empfängt 320 einen zusätzlichen Befehl, der den Client anweist, eine Benachrichtigung an den Anwender des Clients auszugeben.
  • In einer weiteren Ausführungsform enthält der Befehl aus Schritt 305 sowohl einen Download-Befehl als auch einen Benachrichtigungsbefehl und kann einen Benachrichtigungsinhalt, Benachrichtigungsbedingungen oder Benachrichtigungsvorlieben enthalten. Als ein Ergebnis kann der Befehl aus Schritt 320 unnötig sein, weil der Befehl aus Schritt 305 die Informationen enthält, um den Client 110 anzuweisen, eine Benachrichtigung auszugeben.
  • Der Client 110 gibt eine Benachrichtigung aus 325, die dem Anwender angibt, dass das Medienelement zur Präsentation bereit ist. Der Anwender kann z. B. durch Interagieren mit der Benachrichtigung mit der Präsentation des Medienelements beginnen.
  • VI. Zusätzliche Überlegungen
  • 4 ist ein Blockdiagramm einer hohen Ebene, das die physikalischen Komponenten eines Computers 400 veranschaulicht, der in einer Ausführungsform als ein Teil oder als die Gesamtheit einer oder mehrerer der Einheiten verwendet wird, die hier beschrieben sind. Zum Beispiel können Instanzen des veranschaulichten Computers 400 als der Client 110 oder als der Medien-Server 120 verwendet werden. Es ist mindestens ein Prozessor 402, der mit einem Chipsatz 404 gekoppelt ist, veranschaulicht. Außerdem sind mit dem Chipsatz 404 gekoppelt ein Datenspeicher 406, eine Speichervorrichtung 408, eine Tastatur 410, ein Grafikadapter 412, eine Zeigevorrichtung 414 und ein Netzadapter 416. Eine Anzeige 418 ist mit dem Grafikadapter 412 gekoppelt. In einer Ausführungsform wird die Funktionalität des Chipsatzes 404 durch einen Datenspeicher-Steuereinrichtungs-Hub 420 und einen Eingangs/Ausgangs-Steuereinrichtungs-Hub 422 bereitgestellt. In einer weiteren Ausführungsform ist der Datenspeicher 406 anstelle des Chipsatzes 404 direkt mit dem Prozessor 402 gekoppelt. In einer Ausführungsform sind eine oder mehrere Audioausgabevorrichtungen mit dem Chipsatz 404 gekoppelt.
  • Die Speichervorrichtung 408 ist ein beliebiges, nicht flüchtiges, computerlesbares Speichermedium wie etwa ein Festplattenlaufwerk, ein Compact-Disk-Festwertspeicher (CD-ROM), eine DVD oder eine Festkörperspeichervorrichtung. Der Datenspeicher 406 hält Anweisungen und Daten, die durch den Prozessor 402 verwendet werden. Die Zeigevorrichtung 414 kann eine Maus, eine Rollkugel oder eine andere Art von Zeigevorrichtung sein und wird in Kombination mit der Tastatur 410 verwendet, um Daten in den Computer 400 einzugeben. Der Grafikadapter 412 zeigt Bilder und andere Informationen auf der Anzeige 418 an. Der Netzadapter 416 koppelt das Computersystem 400 mit einem Nahbereichsnetz oder einem Fernbereichsnetz.
  • Wie im Gebiet bekannt ist, kann ein Computer 400 verschiedene und/oder andere Komponenten als jene, die in 4 gezeigt sind, aufweisen. Außerdem können dem Computer 400 bestimmte, veranschaulichte Komponenten fehlen. In einer Ausführungsform können dem Computer 400 eine Tastatur 410, eine Zeigevorrichtung 414, ein Grafikadapter 412 und/oder eine Anzeige 418 fehlen. Außerdem kann die Speichervorrichtung 408 lokal und/oder vom Computer 400 entfernt sein (wie es etwa in einem Speicherbereichsnetz (SAN) ausgeführt ist).
  • Wie im Gebiet bekannt ist, ist der Computer 400 ausgelegt, Computerprogrammmodule zum Bereitstellen der hier beschriebenen Funktionalität auszuführen. Wie hier verwendet, bezieht sich der Ausdruck „Modul“ auf eine Computerprogrammlogik, die genutzt wird, um die spezifizierte Funktionalität bereitzustellen. Somit kann ein Modul in Hardware, Firmware und/oder Software implementiert sein. In einer Ausführungsform sind die Programmmodule auf der Speichervorrichtung 408 gespeichert, werden in den Datenspeicher 406 geladen und durch den Prozessor 402 ausgeführt.
  • Einige Abschnitte dieser Beschreibung beschreiben die Ausführungsformen in Form von Algorithmen und symbolischen Darstellungen von Vorgängen auf Informationen. Diese algorithmischen Beschreibungen und Darstellungen werden durch den Fachmann auf dem Gebiet der Datenverarbeitung allgemein verwendet, um die Substanz seiner Arbeit wirksam anderen Fachmännern auf dem Gebiet zu vermitteln. Diese Vorgänge werden derart verstanden, dass sie durch Computerprogramme oder durch äquivalente elektrische Schaltungen, Mikrocode oder dergleichen implementiert sind, obwohl sie als funktional, rechenbetont oder logisch beschrieben sind.
  • Es versteht sich, dass die genannten Komponenten eine Ausführungsform darstellen und dass andere Ausführungsformen andere Komponenten enthalten können. Außerdem können bei anderen Ausführungsformen die hier beschriebenen Komponenten fehlen und/oder kann die beschriebene Funktionalität auf unterschiedliche Weise auf die Komponenten verteilt sein. Außerdem können Funktionalitäten, die mehr als einer Komponente zugeschrieben sind, in eine einzige Komponente eingearbeitet sein.
  • Schließlich wurde die Sprache, die in der Beschreibung verwendet wird, hauptsächlich zu Lesbarkeits- und Lehrzwecken ausgewählt und wurde möglicherweise nicht ausgewählt, um den Gegenstand der Erfindung darzustellen oder zu umschreiben. Es ist daher beabsichtigt, dass der Umfang der Erfindung nicht durch diese genaue Beschreibung eingeschränkt ist, sondern stattdessen durch alle Ansprüche, die sich aus einer hierauf basierenden Anwendung ergeben. Dementsprechend ist die Offenbarung der beschriebenen Ausführungsformen dafür gedacht, für den Umfang dessen, was absicherbar ist, was in den folgenden Ansprüchen dargelegt ist, veranschaulichend, jedoch nicht einschränkend zu sein.

Claims (20)

  1. Verfahren zum Herunterladen und Speichern eines Medienelements auf einer Client-Vorrichtung in einer Umgebung mit begrenzter Netzleistung, wobei das Verfahren Folgendes umfasst: Empfangen eines Befehls von einem Server an einer Client-Vorrichtung, der die Client-Vorrichtung anweist, ein Medienelement herunterzuladen und zu speichern, wobei der Befehl als Antwort auf das Detektieren, dass ein Netz, das einen Medien-Server und die Client-Vorrichtung verbindet, eine Eigenschaft aufweist, die mit einer begrenzten Netzleistung übereinstimmt, an die Client-Vorrichtung gesendet wird; automatisches Herunterladen des Medienelements vom Server auf die Client-Vorrichtung als Antwort auf den Befehl, wobei das Herunterladen als ein Prozess stattfindet, der die Anwenderaktivitäten auf der Client-Vorrichtung nicht unterbricht; und Ausgeben einer Benachrichtigung auf der Client-Vorrichtung, die angibt, dass das Medienelement auf der Client-Vorrichtung zur Präsentation bereit ist.
  2. Verfahren nach Anspruch 1, wobei die Eigenschaft, die mit einer begrenzten Netzleistung übereinstimmt, eine begrenzte Bandbreite und/oder ein begrenzter Durchsatz und/oder eine Verzögerungszeit und/oder ein Synchronisationsfehler und/oder eine Fehlerrate ist.
  3. Verfahren nach Anspruch 1, wobei das Ausgeben der Benachrichtigung das Bestimmen, dass ein spezifizierter Prozentsatz des Medienelements vom Server heruntergeladen worden ist, und das Ausgeben der Benachrichtigung als Antwort auf das Bestimmen umfasst.
  4. Verfahren nach Anspruch 1, wobei das Ausgeben der Benachrichtigung das Bestimmen, dass sich die Client-Vorrichtung in einem spezifizierten geografischen Gebiet befindet, und das Ausgeben der Benachrichtigung als Antwort auf das Bestimmen umfasst.
  5. Verfahren nach Anspruch 1, das ferner das Empfangen eines zweiten Befehls vom Server, der den Client anweist, die Benachrichtigung auszugeben, umfasst, wobei die Benachrichtigung als Antwort auf das Empfangen des zweiten Befehls ausgegeben wird.
  6. Verfahren nach Anspruch 1, wobei der Befehl vom Server einen zweiten Teil umfasst, der Benachrichtigungsbedingungen spezifiziert, und das Ausgeben der Benachrichtigung entsprechend den Benachrichtigungsbedingungen stattfindet.
  7. Verfahren nach Anspruch 1, wobei eine Durchsatzgeschwindigkeit von Daten, die über das Netz vom Server zur Client-Vorrichtung strömen, langsamer als eine erforderliche Geschwindigkeit zum Streaming und gleichzeitigen Präsentieren des Medienelements auf der Client-Vorrichtung ist.
  8. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Empfangen einer Anforderung von einem Anwender der Client-Vorrichtung, die Präsentation des Medienelements zu beginnen; und Präsentieren des Medienelements auf der Client-Vorrichtung.
  9. Verfahren zum Bereitstellen eines Medienelements an eine Client-Vorrichtung in einer Umgebung mit begrenzter Netzleistung, wobei das Verfahren Folgendes umfasst: Detektieren, dass ein Netz, das einen Server und eine Client-Vorrichtung verbindet, eine Eigenschaft aufweist, die mit einer begrenzten Netzleistung übereinstimmt, und als Antwort auf das Detektieren: automatisches Auswählen einer Medienelements, um es der Client-Vorrichtung bereitzustellen; und Senden eines Befehls an die Client-Vorrichtung, wobei der Befehl die Client-Vorrichtung anweist, das Medienelement herunterzuladen und zu speichern; Empfangen einer Anforderung, das Medienelement herunterzuladen, von der Client-Vorrichtung; und Senden des Medienelements an die Client-Vorrichtung als Antwort auf die Anforderung.
  10. Verfahren nach Anspruch 9, das ferner das Senden eines zweiten Befehls an die Client-Vorrichtung umfasst, wobei der zweite Befehl die Client-Vorrichtung anweist, eine Benachrichtigung auszugeben, die angibt, dass das Medienelement auf der Client-Vorrichtung zur Präsentation bereit ist.
  11. Verfahren nach Anspruch 9, wobei die Eigenschaft, die mit einer begrenzten Netzleistung übereinstimmt, eine begrenzte Bandbreite und/oder ein begrenzter Durchsatz und/oder eine Verzögerungszeit und/oder ein Synchronisationsfehler und/oder eine Fehlerrate ist.
  12. Verfahren nach Anspruch 9, wobei eine Durchsatzgeschwindigkeit von Daten, die über das Netz vom Server zur Client-Vorrichtung strömen, langsamer als eine erforderliche Geschwindigkeit zum Streaming und gleichzeitigen Präsentieren des Medienelements auf der Client-Vorrichtung ist.
  13. Verfahren nach Anspruch 9, wobei der Befehl vom Server einen zweiten Teil umfasst, der die Client-Vorrichtung anweist, eine Benachrichtigung auszugeben, die angibt, dass das Medienelement auf der Client-Vorrichtung zur Präsentation bereit ist.
  14. Verfahren nach Anspruch 13, wobei der zweite Teil des Befehls die Client-Vorrichtung anweist, die Benachrichtigung als Antwort darauf auszugeben, dass die Client-Vorrichtung bestimmt, dass eine spezifizierter Prozentsatz des Medienelements vom Server heruntergeladen worden ist.
  15. Computerlesbares Speichermedium, auf dem Anweisungen zum Herunterladen und Speichern eines Medienelements auf einer Client-Vorrichtung in einer Umgebung mit begrenzter Netzleistung gespeichert sind, wobei die Anweisungen dann, wenn sie durch einen Prozessor ausgeführt werden, konfiguriert sind zu bewirken, dass der Prozessor: an einer Client-Vorrichtung einen Befehl von einem Server empfängt, der die Client-Vorrichtung anweist, ein Medienelement herunterzuladen und zu speichern, wobei der Befehl als Antwort auf das Detektieren, dass ein Netz, das einen Medien-Server und die Client-Vorrichtung verbindet, eine Eigenschaft aufweist, die mit einer begrenzten Netzleistung übereinstimmt, an die Client-Vorrichtung gesendet wird; das Medienelement als Antwort auf den Befehl automatisch vom Server auf die Client-Vorrichtung herunterlädt, wobei das Herunterladen als ein Prozess stattfindet, der die Anwenderaktivitäten auf der Client-Vorrichtung nicht unterbricht; und als Antwort darauf, dass das Medienelement heruntergeladen worden ist, eine Benachrichtigung auf der Client-Vorrichtung ausgibt, die angibt, dass das Medienelement auf der Client-Vorrichtung zur Präsentation bereit ist.
  16. Computerlesbares Speichermedium nach Anspruch 15, wobei die Eigenschaft, die mit einer begrenzten Netzleistung übereinstimmt, eine begrenzte Bandbreite und/oder ein begrenzter Durchsatz und/oder eine Verzögerungszeit und/oder ein Synchronisationsfehler und/oder eine Fehlerrate ist.
  17. Computerlesbares Speichermedium nach Anspruch 15, wobei das Ausgeben der Benachrichtigung das Bestimmen, dass ein spezifizierter Prozentsatz des Medienelements vom Server heruntergeladen worden ist, und das Ausgeben der Benachrichtigung als Antwort auf das Bestimmen umfasst.
  18. Computerlesbares Speichermedium nach Anspruch 15, wobei das Ausgeben der Benachrichtigung das Bestimmen, dass sich die Client-Vorrichtung in einem spezifizierten geografischen Gebiet befindet, und das Ausgeben der Benachrichtigung als Antwort auf das Bestimmen umfasst.
  19. Computerlesbares Speichermedium nach Anspruch 15, wobei die Benachrichtigung als Antwort auf das Empfangen eines zweiten Befehls vom Server, der die Client-Vorrichtung anweist, die Benachrichtigung auszugeben, ausgegeben wird.
  20. Computerlesbares Speichermedium nach Anspruch 15, wobei eine Durchsatzgeschwindigkeit von Daten, die über das Netz vom Server zur Client-Vorrichtung strömen, langsamer als eine erforderliche Geschwindigkeit zum Streaming und gleichzeitigen Präsentieren des Medienelements auf der Client-Vorrichtung ist.
DE112016005812.8T 2015-12-17 2016-12-14 Automatisches Bereitstellen von Medienelementen in Umgebungen mit begrenzter Netzleistung Withdrawn DE112016005812T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/973,263 US10389790B2 (en) 2015-12-17 2015-12-17 Automatically providing media items in environments with limited network performance
US14/973,263 2015-12-17
PCT/IB2016/057593 WO2017103798A1 (en) 2015-12-17 2016-12-14 Automatically providing media items in environments with limited network performance

Publications (1)

Publication Number Publication Date
DE112016005812T5 true DE112016005812T5 (de) 2018-10-18

Family

ID=59056320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016005812.8T Withdrawn DE112016005812T5 (de) 2015-12-17 2016-12-14 Automatisches Bereitstellen von Medienelementen in Umgebungen mit begrenzter Netzleistung

Country Status (8)

Country Link
US (1) US10389790B2 (de)
EP (1) EP3391232A4 (de)
JP (1) JP2018527658A (de)
KR (1) KR20180031054A (de)
CN (1) CN107636635A (de)
DE (1) DE112016005812T5 (de)
GB (1) GB2558800A (de)
WO (1) WO2017103798A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389790B2 (en) * 2015-12-17 2019-08-20 Google Llc Automatically providing media items in environments with limited network performance
US10587543B2 (en) 2017-07-19 2020-03-10 Google Llc Offline content notification reminders
US11425459B2 (en) 2020-05-28 2022-08-23 Dish Network L.L.C. Systems and methods to generate guaranteed advertisement impressions
US11838596B2 (en) 2020-05-28 2023-12-05 Dish Network L.L.C. Systems and methods for overlaying media assets stored on a digital video recorder on a menu or guide
US11595724B2 (en) 2020-05-28 2023-02-28 Dish Network L.L.C. Systems and methods for selecting and restricting playing of media assets stored on a digital video recorder
US11265613B2 (en) 2020-06-10 2022-03-01 Dish Network L.L.C. Systems and methods for playing media assets stored on a digital video recorder while a customer service representative is online
US11606599B2 (en) 2020-06-10 2023-03-14 Dish Network, L.L.C. Systems and methods for playing media assets stored on a digital video recorder
US11523172B2 (en) 2020-06-24 2022-12-06 Dish Network L.L.C. Systems and methods for using metadata to play media assets stored on a digital video recorder

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802292A (en) 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
US20020147770A1 (en) * 2001-04-09 2002-10-10 Timothy Tang Multicast enabled caching service
US7580972B2 (en) * 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
JP2006041721A (ja) * 2004-07-23 2006-02-09 Ntt Docomo Inc コンテンツ配信システム、コンテンツ受信クライアント、コンテンツ配信サーバ、及び、コンテンツ再生方法
JP2006252370A (ja) 2005-03-14 2006-09-21 Gt Internet Information Co Ltd ネット上で出版物の閲覧を提供する方法
US8112720B2 (en) * 2007-04-05 2012-02-07 Napo Enterprises, Llc System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items
US20090227251A1 (en) 2008-03-05 2009-09-10 Huawei Technologies Co., Inc. System and method for automatically monitoring and managing wireless network performance
US8533293B1 (en) * 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
CN101442560B (zh) * 2008-12-10 2011-08-03 南京邮电大学 一种基于移动网格的移动通信终端影音播放查询方法
US20120136934A1 (en) * 2010-11-30 2012-05-31 Sony Corporation Device, server, and method for sharing deep links over social network
US10706096B2 (en) * 2011-08-18 2020-07-07 Apple Inc. Management of local and remote media items
EP2792121B1 (de) * 2011-12-16 2019-02-20 Telefonaktiebolaget LM Ericsson (publ) Netzwerkgesteuertes client-cachespeicherungssystem und -verfahren
US8930559B2 (en) * 2012-06-01 2015-01-06 Verizon Patent And Licensing Inc. Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods
JP5845155B2 (ja) 2012-08-10 2016-01-20 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理装置、情報処理方法、プログラム及び情報記憶媒体
US10031866B2 (en) 2012-08-10 2018-07-24 Sony Interactive Entertainment Inc. Information processing system, information processing device, information processing method, program and information storage medium for setting download permissions or settings
US20140068212A1 (en) 2012-09-04 2014-03-06 Microsoft Corporation Device backups and updates in view of data usage statistics
CN108306946B (zh) * 2012-10-08 2021-03-16 P·孙雄 分布式存储系统和方法
US9154533B2 (en) 2012-12-21 2015-10-06 Microsoft Technology Licensing, Llc Intelligent prefetching of recommended-media content
US9736651B2 (en) * 2013-10-10 2017-08-15 Verizon Patent And Licensing Inc. Method and system for providing dash optimization for mobile devices
AU2016229667A1 (en) 2015-03-12 2017-07-13 Nextbiomedical Co., Ltd. Stent having functional material coated on cell space thereof
US10389790B2 (en) * 2015-12-17 2019-08-20 Google Llc Automatically providing media items in environments with limited network performance

Also Published As

Publication number Publication date
JP2018527658A (ja) 2018-09-20
KR20180031054A (ko) 2018-03-27
EP3391232A1 (de) 2018-10-24
CN107636635A (zh) 2018-01-26
US10389790B2 (en) 2019-08-20
GB2558800A (en) 2018-07-18
GB201803623D0 (en) 2018-04-18
EP3391232A4 (de) 2019-06-26
US20170180448A1 (en) 2017-06-22
WO2017103798A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
DE112016005812T5 (de) Automatisches Bereitstellen von Medienelementen in Umgebungen mit begrenzter Netzleistung
US11550451B2 (en) Systems and methods for providing and updating live-streaming online content in an interactive web platform
US10347292B2 (en) Digital video recorder options for editing content
US9961123B2 (en) Media production system with score-based display feature
US20140013200A1 (en) Video comment feed with prioritization
DE202017105305U1 (de) Teilen eines durch einen Anwender ausgewählten Videos in einer Gruppenkommunikation
DE202012012944U1 (de) Teilen von Inhalt über soziale Netzwerke
US20140012910A1 (en) Video comment feed
CN103269362B (zh) 网页中图片局部内容的分享方法、系统和装置
US9639248B2 (en) Autohiding video player controls
US10820045B2 (en) Method and system for video stream personalization
US10516911B1 (en) Crowd-sourced media generation
DE112017000054T5 (de) Systeme und verfahren zum detektieren einer unzweckmässigen implementierung einer präsentation von inhaltselementen durch anwendungen, die auf client-geräten ablaufen
US20230045363A1 (en) Video playback method and apparatus, computer device, and storage medium
DE112013007509B4 (de) Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen
US9538247B2 (en) Method and system for image alteration
DE102016125487A1 (de) Bereitstellen einer Angabe von Highlights in einem Videoinhaltselement
DE202017106443U1 (de) Videowiedergabe bei Gruppenkommunikationen
DE112015004331T5 (de) Benachrichtigen von Nutzern über relevante Inhalte
DE112016001596T5 (de) Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource
DE102015101062B4 (de) Serversystem, Verfahren zur Steuerung eines Serversystems und Speichermedium
CN111324836A (zh) 一种页面的处理方法、装置、计算机设备和存储介质
DE112017000039T5 (de) Erzeugen von Deeplinks für Anwendungen auf Basis von mehrstufigen Verweisdaten
US20140115632A1 (en) Content management apparatus, content management method, program, and content display method
DE112020004978T5 (de) System und Verfahren zum Ausliefern in Echtzeit eines zielgerichteten Inhalts in einem Streaming-Inhalt

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee