-
Die
vorliegende Erfindung betrifft im Allgemeinen den Bereich der Benutzerschnittstellen
und im Besonderen Konfigurationen von Benutzerschnittstellen.
-
Benutzer
von Clients wie beispielsweise Set-Top-Boxen, drahtlosen Telefonen,
Computern und so weiter werden einem immer breiteren Spektrum der
verschiedensten Inhalte ausgesetzt. Ein Benutzer beispielsweise
einer Set-Top-Box betrachtet möglicherweise
ein herkömmliches
Fernsehprogramm, das er von einem Rundfunk-Netzwerk zum Anzeigen
auf einem Fernseher erhalten hat, sowie Filme, die auf einer Pro-Betrachtungs-Basis abgerechnet
werden, wie Pay-per-view, Videos auf Anforderung (Video-on-demand – VOD),
des Weiteren interaktive Videospiele und so weiter. Gleichermaßen kann
ein Benutzer eines drahtlosen Telefons herkömmliche Telefonanrufe tätigen und
erhalten sowie E-Mails lesen, Termine festlegen, digitale Musik
abspielen und so weiter.
-
Wie
in den vorangehenden Beispielen dargelegt, haben die von Clients
bereitgestellten Fähigkeiten
ebenfalls fortgesetzt dazu beigetragen, der ständig steigenden Vielfalt von
Inhalten Rechnung zu tragen. So kann beispielsweise ein Benutzer
in der Lage sein, E-Mail
auf einem Computer sowie auf einer Set-Top-Box, einem persönlichen
digitalen Assistenten (personal digital assistant – PDA) sowie
einem drahtlosen Telefon zu empfangen. Obwohl sich die Fähigkeiten
von Clients und Netzwerken, über
die die Clients in Kommunikationsverbindung treten, verbessert haben,
ist eine Vielzahl von Anwendungen immer noch nicht implementiert,
da die Anwendungen die Fähigkeiten
und Beschränkungen
der Clients und der Netzwerke nicht berücksichtigen. Mit anderen Worten,
eine Anwendung, die zum Verwenden auf einer speziellen Art von Client
konfiguriert ist, beispielsweise einem Client, der eine besondere
Kombination von Hardware- und/oder
Software-Fähigkeiten
besitzt, kann auf einer anderen Art von Client, der diese spezielle
Kombination nicht besitzt, nur begrenzte Nützlichkeit besitzen. Dateneingabeintensive
Anwendungen wie beispielsweise dann, wenn sie in einer herkömmlichen
Fernseh-Umgebung implementiert sind, können wegen der Beschränkungen
der dem Benutzer zur Verfügung
stehenden Eingabevorrichtungen und wegen der begrenzten Auflösung herkömmlicher
Fernsehgeräte
eingeschränkt
sein. So kann beispielsweise eine herkömmliche Fernsteuerung Knöpfe besitzen,
mit denen direkt auf Fernsehkanäle
zugegriffen werden kann, sie kann eine Vier-Wege-Navigation anbieten,
das Gerät
ein- und ausschalten
sowie die Lautstärke
betätigen.
Funktionen wie beispielsweise Texteingabe und Suchen in einer langen
Optionsliste können
mit einer Tastatur einfach durchgeführt werden, beim Nutzen einer
herkömmlichen
Fernsteuerung können
diese Funktionen jedoch zeitraubend und lästig werden.
-
Darüber hinaus
kann die begrenzte Auflösung,
die auf einem Fernsehgerät
mit Standardauflösung
verfügbar
ist, die effektive Auflösung
von Daten einschränken,
die dem Benutzer zu einem beliebigen Zeitpunkt angezeigt werden
können.
So können
beispielsweise Beschränkungen
bei dem Anzeigen von lesbarem Text auf einem Fernsehgerät gemäß dem herkömmlichen
Standard des National Television Systems Committee (NTSC) die Menge
von Text einschränken,
die auf dem Fernsehgerät
zu einem beliebigen Zeitpunkt angezeigt werden kann. Des Weiteren
kann die Entfernung, in der die Anzeige zu betrachten ist, die effektive
Auflösung
der Anzeige beschränken.
Beispielsweise kann es vorkommen, dass zum Anzeigen eines elektronischen
Programmführers
auf einem Fernsehgerät
mit Standardauflösung
in einer Art, dass die Anzeige betrachtet werden kann, wenn der
Benutzer in einer typischen Entfernung von dem Fernsehgerät positioniert
ist, der Text des elektronischen Programmführers vergrößert werden muss, damit er
aus der gewünschten
Entfernung lesbar ist. Daher ist es möglich, selbst wenn eine Tastatur
für den
Benutzer bereitgestellt ist, dass das Fernseherlebnis nicht in der
Lage ist, die Funktionalität
bereitzustellen, die bereitgestellt wird, wenn der Benutzer mit
Hilfe eines Computers mit der Anwendung interagiert.
-
Demgemäß besteht
ein fortdauerndes Bedürfnis
nach Benutzerschnittstellen, die die Fähigkeiten und Beschränkungen
von Vorrichtungen berücksichtigen.
-
Das
Patent
US 2002/111995
A1 offenbart ein verteiltes Benutzerschnittstellen (user
interface – UI)-System,
das eine Client-Vorrichtung umfasst, die konfiguriert ist, um eine
Benutzerschnittstelle für
eine serverbasierte Anwendung bereitzustellen. Die Client-Vorrichtung kommuniziert über ein
Netzwerk, beispielsweise das Internet, mit einem Benutzerschnittstellen-Server.
Der Benutzerschnittstellen-Server führt ein Formatieren für die Benutzerschnittstelle durch,
die vorzugsweise eine Anzahl nativer Benutzerschnittstellen-Steuerungen
nutzt, die lokal an der Client-Vorrichtung verfügbar sind. Die Client-Vorrichtung ist verantwortlich
für das
tatsächliche
Darstellen der Benutzerschnittstelle. Die Quelldatenobjekte werden
von dem Benutzerschnittstellen-Server auf die Client-Vorrichtung heruntergeladen,
falls notwendig, und die Client-Vorrichtung besetzt die Benutzerschnittstelle
mit den heruntergeladenen Quelldatenobjekten. Die Client-Vorrichtung nutzt
einen Zwischenspeicher, um die Quelldatenobjekte zum leichten Abrufen
lokal zu speichern.
-
Das
Patent
US 2003/093495
A1 schlägt
Datenobjekte vor, die mit Hilfe eines Computersystems gesammelt
und organisiert und für
einen späteren Zugriff
einer mobilen Vorrichtung wie beispielsweise eines drahtlosen Telefons über ein
Computer-Netzwerk gespeichert werden. Die Datenobjekte besitzen Attribute
und auf sie kann mit vorher festgelegten Aktionen und zugeordneten
Arten eingewirkt werden, um den Zugriff von Benutzern auf derartige
Datenobjekte über
die begrenzten Benutzerschnittstellen- und Bandbreiten-Fähigkeiten
einer mobilen Vorrichtung zu vereinfachen.
-
Das
Patent
WO 01/69380 A beschreibt
ein System und ein Verfahren zum Ermöglichen dynamisch adaptierbarer
Benutzerschnittstellen für
elektronische Vorrichtungen. Ein Verfahren des Adaptierens einer
vorher festgelegten Schnittstelle wird beschrieben, wobei das Verfahren
folgende Schritte umfasst: das Identifizieren eines Vorzugsobjektes, das
wenigstens eine Benutzereigenschaft einer Reihe von Benutzereigenschaften
umfasst, wobei die Reihe von Benutzereigenschaften wenigstens eine von
Situations-Informationen,
Umgebungs-Informationen, Verhaltens-Informationen und Kontext-Informationen umfasst,
das Übertragen
eines ersten Fähigkeits-Objektes
von einer ausgewählten
elektronischen Vorrichtung an eine Anpassungsvorrichtung (Adaptation
Engine), wobei das erste Fähigkeits-Objekt
eins oder mehrere Attribute definiert, das oder die die elektronische
Vorrichtung betrifft oder betreffen, Übertragen eines zweiten Fähigkeits-Objektes an
die Anpassungsvorrichtung, wobei das zweite Fähigkeits-Objekt eins oder mehrere
Attribute einer Informationsquelle definiert, auf die durch die
elektronische Vorrichtung zugegriffen wird, und Erzeugen eines Adaptations-Objektes,
das wenigstens in Teilen auf der wenigstens einen Benutzereigenschaft,
den Inhalten des übertragenen
ersten Fähigkeits-Objektes
sowie den Inhalten des übertragenen
zweiten Fä higkeits-Objektes
basiert, wobei das Adaptations-Objekt wenigstens eine Adaptations-Regel zum Adaptieren
von Informationen des Faktors Mensch definiert, die von der elektronischen
Vorrichtung oder der Informationsquelle übertragen werden.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung mit
einer Benutzerschnittstelle zum Steuern eines Clients auf eine Weise,
die die Fähigkeiten
und Rechte der genannten Vorrichtung berücksichtigt, bereitzustellen.
Die Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche erfüllt. Bevorzugte
Ausführungsformen
der vorliegenden Erfindung werden durch die abhängigen Ansprüche definiert.
-
Das
Konfigurieren von Benutzerschnittstellen wird beschrieben. Den Vorrichtungen
werden die Benutzerschnittstellen zum Initialisieren von Steuerfunktionen
des Client durch einen Client bereitgestellt. Die Benutzerschnittstellen
werden beispielsweise auf den Vorrichtungen ausgeführt, um
Steuerfunktionen des Client zu initialisieren. So kann beispielsweise
eine Benutzerschnittstelle auf einer lokalen Vorrichtung ausgeführt werden,
die über
eine lokale Netzwerkverbindung wie beispielsweise ein lokales Netzwerk
(local area network – LAN)
in Kommunikationsverbindung zu dem Client steht. Die Benutzerschnittstelle
kann darüber
hinaus auf einer entfernten Vorrichtung ausgeführt werden, die über eine entfernte
Netzwerkverbindung wie beispielsweise ein Fernnetzwerk (wide area
network – WAN)
in Kommunikationsverbindung zu dem Client steht. Die lokalen und
entfernten Vorrichtungen führen
die jeweiligen Benutzerschnittstellen aus, die von dem Client erhalten
wurden, um Steuerfunktionen des Client zu initialisieren, beispielsweise,
um Inhalte aufzuzeichnen, Die Benutzerschnittstellen können auf
Basis erkannter Hardware- und/oder Software-Fähigkeiten der jeweiligen lokalen
und entfernten Vorrichtungen, die die Benutzerschnittstellen ausführen, konfiguriert sein.
Hardware- und Software-Fähigkeiten
können Auflösung, Verarbeitungsleistung,
Speicherressourcen, verfügbare
Anwendungen und so weiter umfassen. Daher können die lokalen und entfernten
Vorrichtungen jeweils mit den jeweiligen Benutzerschnittstellen
zum Initialisieren derjenigen Steuerfunktion des Client, die sich
an die Hardware- und/oder Software-Ressourcen der jeweiligen Vorrichtung
wendet, bereitgestellt werden.
-
In
einer Implementierung umfasst ein Verfahren das Empfangen einer
Anfrage von einer Vorrichtung. Die Anfrage ist für eine Benutzerschnittstelle (user
interface – UI)
von ei nem Client. Wenn die Benutzerschnittstelle durch die Vorrichtung
ausgeführt wird,
wird sie konfiguriert, um eine Anforderung zur Ausführung einer
Steuerfunktion durch den Client zu erzeugen. Eine Verarbeitung der
Anforderung bestimmt, ob die Ausführung durch den Client der
Steuerfunktion zugelassen wird. Die Verarbeitung wird an einer Kopfstation
unter Verwendung von Client-Zustandsdaten durchgeführt. Die
Hardware- und/oder Software-Fähigkeiten
der Vorrichtung zum Ausführen der
Benutzerschnittstelle werden erkannt. Die Benutzerschnittstelle
wird auf Basis der Hardware- und/oder Software-Fähigkeiten der Vorrichtung konfiguriert.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Darstellung einer Umgebung in einer beispielhaften Implementierung,
die einen Inhalts-Anbieter umfasst, der über ein Netzwerk in Kommunikationsverbindung
mit einem Client steht.
-
2 ist
eine Darstellung einer beispielhaften Implementierung, die einen
Distribution-Server, den Client, eine lokale Vorrichtung sowie eine
entfernte Vorrichtung aus 1 ausführlicher
darstellt.
-
3 ist
ein Ablaufdiagramm eines Verfahrens in einer beispielhaften Implementierung,
in der der Client eine Benutzerschnittstelle zur Ausführung auf
der lokalen Vorrichtung aus 2 konfiguriert.
-
4 ist
eine Darstellung einer beispielhaften Implementierung, die eine
Benutzerschnittstelle darstellt, die zum Ausgeben durch den Client
konfiguriert ist, wenn sich der Benutzer nahe an der Anzeigevorrichtung
wie beispielsweise der Anzeigevorrichtung aus 1 befindet.
-
5 ist
eine Darstellung einer beispielhaften Implementierung, die eine
Benutzerschnittstelle darstellt, die zum Ausgeben durch den Client
konfiguriert ist, wenn sich der Benutzer in einer größeren Entfernung
von der Anzeigevorrichtung befindet als die Benutzerschnittstelle
aus 4.
-
6 ist
ein Ablaufdiagramm, das ein Verfahren in einer beispielhaften Implementierung
darstellt, in der eine konfigurierte Benutzerschnittstelle aus 3 von
einem Benutzer zum Initialisieren einer Steuerfunktion des Client
genutzt wird.
-
7 ist
ein Ablaufdiagramm, das ein Verfahren in einer beispielhaften Implementierung
darstellt, in der eine Benutzerschnittstelle für die entfernte Vorrichtung
aus 2 konfiguriert ist und durch diese ausgeführt wird,
um eine oder mehrere Steuerfunktionen des Client zu initialisieren.
-
Gleiche
Referenznummern werden in Instanzen in der Diskussion genutzt, um
auf gleiche Strukturen und Komponenten zu verweisen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Überblick
-
Die
Konfiguration von Benutzerschnittstellen (user interfaces – UI) wird
beschrieben. Benutzerschnittstellen werden von einem Client zum
Initialisieren der Steuerfunktionen des Client bereitgestellt. Die
Benutzerschnittstellen können
auf einer Vielzahl von Vorrichtungen ausgeführt werden, um Steuerfunktionen
des Client zu initialisieren. In einer Implementierung kann die
Benutzerschnittstelle auf einer lokalen Vorrichtung ausgeführt werden,
die über
eine lokale Netzwerkverbindung (lokale Verbindung) in Kommunikationsverbindung
zu dem Client steht. So kann der Client beispielsweise als eine
Set-Top-Box konfiguriert
sein, die eine Ausgabe von Rundfunkinhalten wie beispielsweise herkömmlichen
Fernsehprogrammen bereitstellt und eine Interaktion mit zusätzlichen
Arten von Inhalten wie beispielsweise Anwendungen, die auf dem Client
ausgeführt
werden, Anwendungen, die entfernt über ein Netzwerk ausgeführt werden
und so weiter, ermöglicht.
Die lokale Vorrichtung kann als ein persönlicher digitaler Assistent
(PDA), beispielsweise ein „Taschen-PC" konfiguriert sein,
der über
eine lokale Funkfrequenz (radio frequency – RF)-Verbindung in Kommunikationsverbindung
mit der Set-Top-Box steht. Der PDA führt eine Benutzerschnittstelle
aus, die von der Set-Top-Box zum Initialisieren von Steuerfunktionen der
Set-Top-Box wie beispielsweise für
das Aufzeichnen von Inhalten erhalten wurde. Die Set-Top-Box kann
die Benutzerschnittstelle auf Basis von er kannten Hardware- und/oder
Software-Fähigkeiten
des PDA, beispielsweise Auflösung
des PDA, Verarbeitungsleistung, unterstützte Farben und so weiter, konfigurieren,
um die Benutzerschnittstelle auszuführen. Daher wird der PDA mit
einer Benutzerschnittstelle bereitgestellt, die die Hardware- und/oder
Software-Ressourcen des PDA anspricht.
-
In
einer anderen Implementierung kann die Benutzerschnittstelle auf
einer entfernten Vorrichtung ausgeführt werden, die über eine
entfernte Netzwerkverbindung (entfernte Verbindung) in Kommunikationsverbindung
zu dem Client steht. Weiterhin in dem vorangehenden Beispiel sorgt
die Set-Top-Box für das
Ausgeben der Inhalte, die über
ein Netzwerk von einer Kopfstation, beispielsweise einem herkömmlichen
Rundfunk-Fernsehgerät, Video
auf Anforderung (Video-On-Demand – VOD), einer entfernten Anwendungsverarbeitung
und so weiter empfangen wurde. Eine entfernte Vorrichtung wie beispielsweise ein
Standcomputer kann ebenfalls in Kommunikationsverbindung mit dem
Netzwerk stehen. Die entfernte Vorrichtung führt ebenfalls eine Benutzerschnittstelle
aus, die von der Set-Top-Box zum Initialisieren von Steuerfunktionen
der Set-Top-Box erhalten wurde. Die Set-Top-Box konfiguriert die
Benutzerschnittstelle auf Basis von erkannten Hardware- und/oder
Software-Fähigkeiten
der entfernten Vorrichtung, um die Benutzerschnittstelle auszuführen. Daher
kann die entfernte Vorrichtung darüber hinaus mit einer Benutzerschnittstelle
bereitgestellt werden, die die Hardware- und/oder Software-Ressourcen der
entfernten Vorrichtung anspricht. Eine weitere Diskussion der Konfiguration
der Benutzerschnittstellen findet sich in Bezug auf die 3 und 7.
-
In
einer weiteren Implementierung speichert die Kopfstation Client-Zustandsdaten,
um die von den Benutzerschnittstellen empfangenen Anforderungen
für Steuerfunktionen
zu verarbeiten. So kann die Kopfstation beispielsweise Client-Zustandsdaten wie
beispielsweise Ratenbegrenzungen, bevorzugte Kanäle, Dienststufen und so weiter
umfassen, auf die die Kopfstation lokal zugreifen kann. Die Kopfstation kann
diese Client-Zustandsdaten
dazu nutzen, Anforderungen zu verarbeiten, die von den Benutzerschnittstellen,
die lokal von der lokalen Vorrichtung oder entfernt von der entfernten
Vorrichtung ausgeführt
werden, bereitgestellt werden. Nachdem diese Anforderungen verarbeitet
wurden, kann die Kopfstation den Client veranlassen, die Steuerfunktion durchzuführen. Durch
Verarbeiten der Anforderungen an der Kopfstation stellt die Kopfstation eine
berechtigte Quelle zum Verarbeiten von durch den Client auszuführenden
Steuerfunktionen bereit. Dies kann zur Folge haben, dass verschiedenste
erweiterte Funktionen für
den Benutzer verfügbar
sind, beispielsweise eine Fähigkeit,
von einem alten Client zu einem neuen Client zu wechseln, ohne dass
Client-Zustandsdaten manuell von dem alten Client auf den neuen
Client aktualisiert werden müssen,
sowie entferntes Initialisieren von Steuerfunktionen, ohne dass
das Erhalten einer Verbindung mit dem Client erfolgt. Eine weitere
Diskussion der Nutzung von Client-Zustandsdaten durch eine Kopfstation
findet sich in Beziehung auf die 6 und 7.
-
Beispielhafte Systeme
-
1 ist
eine Darstellung einer Umgebung 100 in einer beispielhaften
Implementierung, die einen Inhalts-Anbieter 102 umfasst,
der über
ein Netzwerk 106 in Kommunikationsverbindung mit einem Client 104 steht.
Das Netzwerk 106 in den folgenden Implementierungen ist
ein Beispiel eines Fernnetzwerkes (wide area network – WAN) wie
beispielsweise des Internets, es kann darüber hinaus eine Vielzahl anderer
Netzwerke wie beispielsweise ein Rundfunk-Netzwerk, ein Intranet,
ein kabelgebundenes oder drahtloses Telefon-Netzwerk und so fort enthalten.
-
Der
Client 104 kann konfiguriert sein, um Inhalte zu empfangen,
die von dem Inhalts-Anbieter 102 über das
Netzwerk 106 gesendet wurden. Der Inhalts-Anbieter 102 umfasst
Inhalte 108(k), wobei k jede beliebige Anzahl zwischen
1 und „K" sein kann, die lokal
auf dem Inhalts-Anbieter 102 gespeichert sind. Die Inhalte 108(k) können eine
Vielzahl von Daten wie beispielsweise Fernsehprogramme, Video auf
Anforderung, einen elektronischen Programmführer (electronic program guide – EPG),
eins oder mehrere Ergebnisse von entfernter Anwendungsverarbeitung
und so weiter enthalten. Der Inhalts-Anbieter 102 stellt
einer Kopfstation 112 über
ein Netzwerk 110 die Inhalte 108(k) bereit. Das
Netzwerk 110 kann mit dem Netzwerk 106 identisch
oder von diesem verschieden sein. Die Inhalte 108(k) können anschließend auf
der Kopfstation 112 in einer Datenbank 114 als
Inhalte 116(n) zum Senden über das Netzwerk 106 zu
dem Client 104 gespeichert werden, wobei n jede Anzahl
zwischen 1 und „N" sein kann. Mit anderen
Worten, die in der Datenbank 114 gespeicherten Inhalte 116(n) können Kopien
der Inhalte 108(k) sein, die von dem Inhalts-Anbieter 102 empfangen
wurden. Die Inhalte 116(n) können darüber hinaus zusätzliche
Daten enthalten, die zu dem Client 104 gesendet werden.
So können
beispielsweise die in der Datenbank 114 gespeicherten Inhalte 116(n) elektronische
Programmführer-Daten
enthalten, die über
ein Karussell-Dateisystem
zu dem Client 104 gesendet werden. Das Karussell-Dateisystem
sendet die elektronischen Programmführer-Daten wiederholt über das
Netzwerk 106 über
einen Bandüberschreitungs
(out-of-band – OOB)-Kanal
zu dem Client 104.
-
Die
Kopfstation 112 kann darüber hinaus auch einen Distribution-Server 118 umfassen,
um die Inhalte 116(n) zu formatieren und über das
Netzwerk 106 zu verteilen. Das Verteilen von der Kopfstation 112 zu
dem Client 104 kann auf verschiedene Weisen einschließlich per
Kabel, Funk, Mikrowellen und Satellit erfolgen. Obwohl die Kopfstation 112 als
von dem Inhalts-Anbieter 102 getrennt dargestellt wird, kann
der Inhalts-Anbieter 102 auch
die Kopfstation 112 enthalten.
-
Der
Client 104 kann als ein Computer konfiguriert sein, der
in der Lage ist, über
das Netzwerk 106 zu kommunizieren, beispielsweise ein Stand (Desktop)-Computer,
eine Mobilstation, eine Unterhaltungsanwendung, eine Set-Top-Box 120,
der oder die oder das in Kommunikationsverbindung mit einer Anzeigevorrichtung 122 steht
wie dargestellt, und so fort. Der Client 104 kann sich
darüber
hinaus auch auf eine Person und/oder eine Einheit beziehen, die den
Client 104 bedient. Mit anderen Worten, der Client 104 kann
einen logischen Client beschreiben, der einen Benutzer und/oder
eine Maschine umfasst. Obwohl ein Client 104 dargestellt
wird, kann eine Vielzahl von Clients in Kommunikationsverbindung mit
dem Netzwerk 106 stehen.
-
Der
Client 104 kann darüber
hinaus eine Datenbank 124 enthalten, die lokal gespeicherte
Inhalte 126(m) besitzt, wobei m jede beliebige Anzahl zwischen
1 und „M" sein kann. So kann
beispielsweise der Client 104 als ein persönliches
Videoaufzeichnungsgerät
(personal video recorder – PVR)
konfiguriert sein, das die auf einem Festplattenspeicher gespeicherte
Datenbank 124 umfasst. Aufgrund der Größe des Speichers sind Benutzer
in der Lage, Inhalte aufzuzeichnen. Das persönliche Videoaufzeichnungsgerät bietet
darüber
hinaus Steuerfunktionen wie beispielsweise die Fähigkeit, Inhalte anzuhalten, die
aktuell übertragen
werden, und ermöglicht
es den Betrachtern, die Inhalte, die immer noch übertragen werden, ab dem Punkt
zu betrachten, an dem sie angehalten wurden.
-
Das
persönliche
Videoaufzeichnungsgerät gibt
die Inhalte aus dem Festplattenspeicher wieder und beginnt hierbei
mit dem Pausenereignis, während
es unterdessen weiterhin die aktuell gesendeten Inhalte auf dem
Festplattenspeicher aufzeichnet Des Weiteren kann das persönliche Videoaufzeichnungsgerät andere
Steuerfunktionen wie beispielsweise Rücklauf und schnellen Vorlauf
eines gespeicherten Programms sowie verlangsamte Wiedergabe und
dergleichen unterstützen.
-
Der
Client 104 ist mit ausreichend Verarbeitungs- und Speicherfähigkeiten
ausgerüstet,
um eine Navigations-Anwendung 128 zu speichern und auszuführen. Die
Navigations-Anwendung 128 stellt Steuerfunktionen
zum Interagieren mit Inhalten bereit, wenn sie auf dem Client 104 ausgeführt wird.
So können
beispielsweise in den Steuerfunktionen die Steuerfunktionen des
persönlichen
Videoaufzeichnungsgerätes
wie vorstehend diskutiert sowie Kanalauswahl, Navigation durch den
elektronischen Programmführer
und so weiter enthalten sein.
-
Der
Client 104 umfasst darüber
hinaus eine konfigurierbare Benutzerschnittstelle 130 und
ein Benutzerschnittstellenmodul 132. Die konfigurierbare Benutzerschnittstelle 130 stellt
eine Schnittstelle zur Ausführung
auf einer Vorrichtung bereit, so dass ein Benutzer der Vorrichtung
eine oder mehrere Steuerfunktionen der Navigations-Anwendung 128 initialisieren
kann. Das Benutzerschnittstellenmodul 132 wird auf dem
Client 104 ausgeführt,
um die konfigurierbare Benutzerschnittstelle 130 auf Basis
von erkannten Hardware- und/oder Software-Ressourcen einer Vorrichtung,
die die konfigurierbare Benutzerschnittstelle 130 ausführen soll,
zu konfigurieren. So kann beispielsweise eine lokale Vorrichtung 134 wie beispielsweise
ein PDA, wie dargestellt, über
eine lokale Verbindung 136 in Kommunikationsverbindung zu
dem Client 104 stehen. Wenn das Benutzerschnittstellenmodul 132 ausgeführt wird,
erkennt es die Fähigkeiten
der lokalen Vorrichtung 134 zum Ausführen der konfigurierbaren Benutzerschnittstelle 130 und
konfiguriert anschließend
die konfigurierbare Benutzerschnittstelle 130 dementsprechend.
Der Client 104 kann darüber
hinaus über
das Netzwerk 106 in Kommunikationsverbindung zu einer entfernten
Vorrichtung 138 wie beispielsweise einem Stand-Computer,
wie dargestellt, stehen. Das Benutzerschnittstellenmodul 132 kann,
wenn es auf dem Client 104 ausgeführt wird, darüber hinaus
die konfigurierbare Benutzerschnittstelle 130 auf Basis
der erkannten Hardware- und/oder Software-Fähigkeiten der entfernten Vorrichtung 138 zum
Ausführen
der konfigurierbaren Benutzerschnittstelle 130 konfigurieren. Das
Benutzerschnittstellenmodul 132 kann auf eine Vielzahl
von Arten implementiert werden wie beispielsweise als ein HTTP-Server,
der den lokalen und entfernten Vorrichtungen 134, 138 Benutzerschnittstellen
in einem HTML-Format bereitstellt. Der Client 104 kann
durch die Ausführung
des Benutzerschnittstellenmoduls 132 Benutzerschnittstellen
zur Ausführung
auf der lokalen und der entfernten Vorrichtung 134, 138 auf
Basis der Fähigkeiten
der jeweiligen lokalen und entfernten Vorrichtung 134, 138 zum
Ausführen
der Benutzerschnittstellen bereitstellen.
-
Die
Kopfstation 112 umfasst eine Datenbank 140 zum
Speichern einer Vielzahl von Client-Zustandsdaten 142(j),
wobei j jede beliebige Anzahl zwischen 1 und „J" darstellen kann, um Anforderungen zu
verarbeiten, die durch Benutzerschnittstellen initialisiert wurden,
die auf der lokalen und der entfernten Vorrichtung 134, 138 ausgeführt werden.
So kann beispielsweise der Distribution-Server 118 ein Fernmodul 144 enthalten,
das auf dem Distribution-Server 118 ausgeführt wird,
um Anforderungen zu verarbeiten, mit denen die Navigations-Anwendung 128 des
Client 104 veranlasst wird, eine oder mehrere Steuerfunktionen
durchzuführen.
Wenn das Fernmodul 144 ausgeführt wird, verarbeitet es die
Anforderungen und nutzt hierzu die Client-Zustandsdaten 142(j),
die dem Client 104 entsprechen, der die Steuerfunktion
durchführen
soll. Wenn zugelassen wird, dass der Client 104 die Steuerfunktion
durchführt, veranlasst
der Distribution-Server 118, dass der Client 104 und
insbesondere die Navigations-Anwendung 128 die Steuerfunktion
durchführen.
Auf diese Weise stellt die Kopfstation 112 eine berechtigte Quelle
für Client-Zustandsdaten 142(j) in
der Umgebung 100 bereit.
-
Obwohl
die Set-Top-Box 120 getrennt von der Anzeigevorrichtung 122 dargestellt
wird, kann die Set-Top-Box 120 in die Anzeigevorrichtung 122 eingebaut
sein, um eine einzige Einheit zu erzeugen. Darüber hinaus kann der Client 104 in
anderen Implementierungen als andere Computer ausgeführt sein,
die in der Lage sind, die Navigations-Anwendung 128 und das Benutzerschnittstellenmodul 132 auszuführen, wie
beispielsweise ein Computer, der Rundfunk empfangen kann, eine Informationsanwendung,
ein tragbarer Computer, ein persönliches
Videoaufzeichnungsgerät
(PVR) oder dergleichen.
-
2 ist
eine Darstellung einer beispielhaften Implementierung 200,
die den Distribution-Server 118, den Client 104,
die lokale Vorrichtung 134 sowie die entfernte Vorrichtung 138 aus 1 ausführlicher darstellt.
Der Client 104 umfasst einen Prozessor 202 und
einen Speicher 204. Das Benutzerschnittstellenmodul 132 und
die Navigations-Anwendung 128 werden
dargestellt als auf dem Prozessor 202 ausgeführt werdend
und in dem Speicher 204 speicherbar. Die konfigurierbare
Benutzerschnittstelle 130 wird als in dem Speicher 204 gespeichert
dargestellt.
-
Der
Client 104 kann eine entfernte Netzwerk-Schnittstelle (entfernte
Schnittstelle) 206 enthalten, die zum Empfangen der Inhalte 116(n) aus 1,
die über
das Netzwerk 106 gesendet werden, genutzt werden kann.
So kann beispielsweise die entfernte Schnittstelle 206 als
ein Tuner konfiguriert sein, der Rundfunk-Inhalte über das
Netzwerk 106 empfängt,
sie kann als ein Sender/Empfänger
(Sende-/Empfangsgerät)
konfiguriert sein, der für
eine Zweiwege-Kommunikation über
das Netzwerk 106 geeignet ist, und so weiter. Die Inhalte 116(n) können für eine Ausgabe
durch den Client 104 zu einem späteren Zeitpunkt in der Datenbank 124 gespeichert und/oder
zum unverzüglichen
Ausgeben der Inhalte 116(n) bereitgestellt sein. Die Datenbank 124 wird
als in dem Speicher 204 enthalten dargestellt, sie kann jedoch
ebenfalls in einer gesonderten Speicher-Vorrichtung enthalten sein.
So kann die Speicher-Vorrichtung für die Datenbank 124 beispielsweise
als ein Festplatten-Laufwerk konfiguriert sein und der Speicher 204 kann
als RAM konfiguriert sein, sowohl der Speicher 204 als
auch die Speicher-Vorrichtung
können
als RAM konfiguriert sein, sowohl der Speicher 204 als
auch die Speicher-Vorrichtung können
als entfernbare Speicher konfiguriert sein, und so fort. Der Client 104 führt die
Navigations-Anwendung 128 aus, um die Inhalte 126(m) aus 1 aus
der Datenbank 124 abzurufen und die Inhalte 126(m) über eine Ausgabe-Schnittstelle 208 zum
Darstellen auf der Anzeigevorrichtung 122 auszugeben. Somit
ist in dieser Implementierung der Client 104 in der Lage,
als ein persönliches
Videoaufzeichnungsgerät
zu arbeiten, das die Inhalte 126(m) aus 1 auf
eine Weise speichert und wiedergibt, die einem Videokassettenaufzeichnungsgerät gleichkommt.
-
Der
Client 104 kann von einem Benutzer über Eingaben gesteuert werden,
die von einer Eingabevorrichtung 210 bereitgestellt werden.
Die von einer Eingabe-Schnittstelle 212 ausgehenden Eingaben
werden über
eine lokale Verbindung 214 durch den Client 104 empfangen.
Die lokale Verbindung 214 kann die gleiche sein wie die
lokale Verbindung 136, durch die die lokale Vorrichtung 134 mit
der lokalen Schnittstelle 222 in Kommunikationsverbindung
tritt, oder sich von dieser unterscheiden. Die Eingabe-Schnittstelle 212,
die lokale Verbindung 214 und die Eingabevorrichtung 210 können auf
eine Vielzahl von Arten konfiguriert werden. So kann beispielsweise
die Eingabe-Schnittstelle 212 als ein drahtloser Anschluss
wie beispielsweise ein Infrarot (IR)- oder Bluetooth-Drahtlos-Anschluss
zum Empfangen drahtloser Kommunikation von einer Eingabevorrichtung 210 wie
beispielsweise einer Fernsteuerungs-Vorrichtung, einer handgeführten Eingabevorrichtung
oder jeder beliebigen anderen drahtlosen Vorrichtung wie beispielsweise
einer drahtlosen Tastatur konfiguriert sein. In alternativen Ausführungsformen
kann die Eingabe-Schnittstelle 212 eine Funkkommunikationsverbindung
oder eine andere Art des Sendens zum Kommunizieren mit dem Client 104 nutzen,
beispielsweise eine Kabelverbindung, die in einer universellen seriellen
Bus (universal serial bus – USB)-Verbindung
enthalten ist, und so weiter.
-
Wenn
das Ausgeben von Inhalten angefordert wird, wird die Navigations-Anwendung 128 auf dem
Prozessor 202 ausgeführt,
um Inhalte zu erhalten wie beispielsweise aus Inhalten, die von
dem Distribution-Server 118 über das Netzwerk in einem kontinuierlichen
Strom gesendet werden, oder Inhalte 126(m), die lokal in
der Datenbank 124 gespeichert sind, und so weiter. Die
Navigations-Anwendung 128 kann darüber hinaus den Inhalt in dem
ursprünglichen
verschlüsselten
Format wiederherstellen, wie er von dem Inhalts-Anbieter 102 aus 1 bereitgestellt
wird. So kann beispielsweise der Inhalt 116(n) aus 1 komprimiert
und von dem Distribution-Server 118 in einem kontinuierlichen
Strom zu dem Client 104 gesendet werden. Wenn also die
Navigations-Anwendung 128 die
Inhalte empfängt,
können die
Inhalte für
das Darstellen durch die Anzeigevorrichtung 122 dekomprimiert
werden.
-
Der
Client 104 kann darüber
hinaus auch durch das Nutzen einer Benutzerschnittstelle gesteuert
werden, die durch eine Vorrichtung ausgeführt wird. So kann beispielsweise
die lokale Vorrichtung 134 einen Prozessor 216 und
einen Speicher 218 enthalten. Die lokale Vorrichtung 134 umfasst
eine Benutzerschnittstelle 220, die durch den Client 104 durch
die Ausführung
des Benutzerschnittstellenmoduls 132 und der konfigurierbaren
Benutzerschnittstelle 130 bereitgestellt wurde. Wenn die
Benutzerschnittstelle 220 auf dem Prozessor 216 ausgeführt wird,
ermöglicht
sie es einem Benutzer, eine oder mehrere Steuerfunktionen der Navigations-Anwendung 128 auf
dem Client 104 zu initialisieren. Die lokale Vorrichtung 134 steht über die
lokale Verbindung 136 in Kommunikationsverbindung zu dem
Client, der eine lokale Schnittstelle 222 nutzt. Die lokale
Vorrichtung 134 kann darüber hinaus eine Navigations-Anwendung 224 enthalten,
um eine Inhalts-Interaktion auf der lokalen Vorrichtung 134 selbst
zu ermöglichen.
Die Navigations-Anwendung 224 kann beispielsweise
als ein Browser, ein Medienwiedergabegerät und so weiter konfiguriert
sein.
-
Die
entfernte Vorrichtung 138 kann darüber hinaus einen Prozessor 226 und
einen Speicher 228 enthalten. Wie die lokale Vorrichtung 134 enthält auch
die entfernte Vorrichtung 138 eine Benutzerschnittstelle 230,
die als auf dem Prozessor 226 ausgeführt werdend und in dem Speicher 228 speicherbar
dargestellt wird. Die entfernte Vorrichtung 138 kann darüber hinaus
eine Navigations-Anwendung 232 enthalten, die den Navigations-Anwendungen 128, 224 des
Client 104 und/oder der lokalen Vorrichtung 134 gleichen
oder von diesen verschieden sein kann. Wenn die Benutzerschnittstelle 230 auf
dem Prozessor 226 ausgeführt wird, ermöglicht sie
es einem Benutzer, eine oder mehrere Steuerfunktionen der Navigations-Anwendung 128 auf
dem Client 104 zu initialisieren. Durch Interagieren mit
der Benutzerschnittstelle 230 auf der entfernten Vorrichtung 138 ist
der Benutzer der entfernten Vorrichtung 138 in der Lage,
Steuerfunktionen des Client 104 über das Netzwerk 106 zu
initialisieren. Die Kommunikation zwischen der entfernten Vorrichtung 138 und
dem Client 104 kann darüber
hinaus durch das Nutzen der entfernten Schnittstelle 206 bereitgestellt
werden.
-
Durch
Initialisieren der Steuerfunktionen durch die Benutzerschnittstellen 220, 230 kann
der Benutzer eine Vielzahl von Steuerfunktionen anfordern. Beispiele
für Steuerfunktionen
umfassen das Aufzeichnen von Inhalten 116(n) aus 1,
die über das
Netzwerk 106 in einem kontinuierlichen Strom zu dem Client 104 gesendet
werden, Navigation durch die Inhalte, um beispielsweise einen schnellen
Vorlauf oder Rücklauf
oder ein Unterbrechen der Inhalte durchzuführen, und so weiter. Die Steuerfunktionen können beispielsweise
eine nicht-lineare Wiedergabe der Inhalte (beispielsweise eine Zeitverschiebung der
Wiedergabe der Inhalte) wie beispielsweise Pause, Rücklauf,
schnellen Vorlauf, langsame Wiedergabe und dergleichen bereitstellen.
Beispielsweise kann der Client 104 während einer Pause damit fortfahren,
die Inhalte in der Datenbank 124 aufzuzeichnen. Der Client 104 kann
anschließend
durch die Ausführung
der Navigations-Anwendung 128 die
Inhalte 126(m) aus 1 aus der
Datenbank 124 wiedergeben, wobei er bei dem Zeitpunkt beginnt,
an dem die Inhalte 126(m) unterbrochen wurden, während er
unterdessen weiterhin die aktuell gesendeten Inhalte 126(m) in
der Datenbank 124 aufzeichnet.
-
Der
in der Kopfstation 112 aus 1 enthaltene
Distribution-Server 118 umfasst darüber hinaus einen Prozessor 234 und
einen Speicher 236. Das Fernmodul 144 wird als
auf dem Prozessor 234 ausgeführt dargestellt und ist in
dem Speicher 236 speicherbar. Client-Zustandsdaten 142(j) werden
als in dem Speicher 236 gespeichert dargestellt. Die Datenbank 114 wird
als in dem Speicher 236 enthalten dargestellt, sie kann
jedoch ebenfalls in einer gesonderten Speicher-Vorrichtung enthalten
sein. So kann die Speicher-Vorrichtung für die Datenbank 114 ebenso
wie die Datenbank 124 des Client 104 beispielsweise
als ein Festplatten-Laufwerk konfiguriert sein und der Speicher 236 kann
als RAM konfiguriert sein, sowohl der Speicher 236 als
auch die Speicher-Vorrichtung können
als RAM konfiguriert sein, sowohl der Speicher 236 als
auch die Speicher-Vorrichtung
können
als entfernbare Speicher konfiguriert sein, und so fort. Somit kann
der Distribution-Server 118 lokal auf die Client-Zustandsdaten 142(j) zugreifen.
-
Der
Distribution-Server 118 führt das Fernmodul 144 auf
dem Prozessor 234 aus, um Anforderungen zum Initialisieren
von Steuerfunktionen der Navigations-Anwendung 128 auf
dem Client 104 zu verarbeiten. Die Anforderungen können ursprünglich von
den Benutzerschnittstellen 220, 230 kommen, die
auf den jeweiligen lokalen und entfernten Vorrichtungen 134, 138 ausgeführt werden.
Wenn das Fernmodul 144 auf dem Prozessor 234 ausgeführt wird, verarbeitet
es die Anforderungen gemäß Client-Zustandsdaten 142(j),
die in dem Speicher 236 gespeichert sind. So kann beispielsweise
eine Vielzahl von Client-Zustandsdaten 142(j) in dem Speicher 236 gespeichert
sein, diese entspricht einer Vielzahl von Clients, die Inhalte von
der Kopfstation 112 aus 1 empfängt. Jede
Sammlung von Client-Zustandsdaten 142(j) für einen
speziellen Client kann generische Operationsdaten enthalten, die
von dem speziellen Client genutzt werden, beispielsweise Begrenzungen der
Raten, bevorzugte Kanäle,
bereitgestellte Dienststufen und so weiter. Das Netzwerk 106,
das die Kopfstation 112 mit dem Client 104 und
der entfernten Vorrichtung 138 verbindet, kann eine ausreichende
Bandbreite und Zuverlässigkeit
besitzen, so dass die Kopfstation 112 die berechtigte Quelle
für diese Informationen
ist. Mit anderen Worten, die Kopfstation 112 kann als die
primäre
Quelle der Client-Zustandsdaten 142(j) für einen
speziellen Client in Betracht gezogen werden, sogar über den
Client 104 selbst. So kann beispielsweise durch Speichern
der Client-Zustandsdaten 142(j) auf
dem Distribution-Server 118 ein Benutzer zwischen Set-Top-Boxen umschalten,
ohne Client-Zustandsdaten zwischen den Set-Top-Boxen übertragen
zu müssen.
-
Des
Weiteren können
durch Speichern von Client-Zustandsdaten 142(j) für lokalen
Zugriff durch den Distribution-Server 118 auch Clients
mit geringen Ressourcen zum Ausgeben von Inhalten genutzt werden,
nichtsdestotrotz kann Vorrichtungen, die die Benutzerschnittstelle
ausführen,
um den Client 104 zu steuern, eine Funktionalität mit umfangreichen Ressourcen
bereitgestellt werden. So kann beispielsweise ein Client mit geringen
Ressourcen wie beispielsweise ein Client mit begrenzten Hardware- und/oder
Software-Ressourcen konfiguriert werden, um Inhalte zum Darstellen
auf einer Anzeigevorrichtung zu entschlüsseln und auszugeben. Der Client mit
geringen Ressourcen kann darüber
hinaus lokales Speichern von Inhalten, beispielsweise auf einem Festplattenlaufwerk,
bereitstellen. Eine entfernte Vorrichtung mit vielen Eigenschaften
wie beispielsweise ein Stand-Computer, der signifikante Verarbeitungs-Ressourcen
besitzt, kann eine Benutzerschnittstelle ausführen, die auf dem Client mit
geringen Ressourcen nicht ausführbar
wäre. Die
Benutzerschnittstelle kann beispielsweise eine höhere Auflösung (beispielsweise mehr Bildpunkte
pro Zoll) besitzen, eine Ausgabe mit einer höheren Anzahl Farben unterstützen, Makros
zum Initialisieren von Steuerfunktionen (beispielsweise der Aufzeichnung
aller Episoden eines bestimmten Fernsehprogramms) bereitstellen
und so weiter. Auf diese Weise kann die Benutzerschnittstelle einem
Benutzer des Client zusätzliche
Funktionalität
bereitstellen. Beispiele für Benutzerschnittstellen,
die für
eine Ausgabe durch Vorrichtungen mit unterschiedlichen Fähigkeiten
konfiguriert sind, sind in Bezug auf die 4 und 5 zu
finden.
-
Beispielhafte Verfahren
-
3 ist
ein Ablaufdiagramm eines Verfahrens 300 in einer beispielhaften
Implementierung, in der der Client 104 eine Benutzerschnittstelle
zur Ausführung
auf der lokalen Vorrichtung 134 aus 2 konfiguriert.
Bei Block 302 wird eine lokale Verbindung zwischen der
lokalen Vorrichtung 134 und dem Client 104 initialisiert.
Es kann eine Vielzahl lokaler Verbindungen initialisiert werden,
beispielsweise Kabel- und drahtlose Verbindungen. Ein Beispiel einer Kabelverbindung
ist eine Ethernet-Verbindung, die genutzt werden kann, um eine Vielzahl
von Vorrichtungen lokal über
ein Ethernet-Netzwerk miteinander zu verbinden. Eine Vielzahl drahtloser
Verbindungen wird darüber
hinaus in Erwägung
gezogen, beispielsweise drahtlose Verbindungen, die dem IrDA (Infrared
Data Association)-Standard, dem SWAP (Shared Wireless Access Protocol)-Standard,
der von der HomeRF Working Group entwickelt wurde, oder auch IEEE
802.11b und 802.11g, die von der WECA (Wireless Ethernet Compatibility
Alliance) entwickelt wurden, Bluetooth und so weiter entsprechen.
-
Bei
Block 304 erkennt der Client 104 die Hardware-
und/oder Software-Fähigkeiten
der lokalen Vorrichtung 134 durch die Ausführung des
Benutzerschnittstellenmoduls 132. So kann der Client 104 beispielsweise
Hardware-Fähigkeiten
erkennen wie beispielsweise Prozessorgeschwindigkeit, Datenbus-Bandbreite,
Datendurchsatzgeschwindigkeit einer oder mehrerer Bus-Vorrichtungen
der lokalen Vorrichtung 134, Menge des auf der lokalen
Vorrichtung 134 verfügbaren
Speicherplatzes, unterstützte Auflösungen und
Farbpaletten einer enthaltenen Anzeigevorrichtung, unterstützte Schriftarten,
Verfügbarkeit
von Eingabevorrichtungen (wie beispielsweise berührungsempfindliche Bildschirme,
Cursorsteuerungsvorrichtungen, Tasten, Tastaturen und so weiter),
Verfügbarkeit
von Audio-Eingabe-/Ausgabevorrichtungen
und so fort. Der Client 104 kann darüber hinaus Software-Fähigkeiten
der lokalen Vorrichtung 134 feststellen wie beispielsweise
unterstützte
Computersprachen, Verfügbarkeit
von Anwendungen auf der lokalen Vorrichtung 134 (beispielsweise
Browser, Medienwiedergabevorrichtungen und so weiter), auf der lokalen
Vorrichtung 134 implementierte Treiber und so fort.
-
Bei
Block 306 konfiguriert der Client 104 auf Basis
des Erkannten eine konfigurierbare Benutzerschnittstelle für die Kommunikation
mit der lokalen Vorrichtung 134. So kann der Client 104 beispielsweise
das Benutzerschnittstellenmodul 132 ausführen, um
die konfigurierbare Benutzerschnittstelle 130 aus 2 auf
Basis der erkannten Fähigkei ten
der lokalen Vorrichtung 134 zu konfigurieren. Eine Vielzahl von
Konfigurationen kann bereitgestellt werden, beispielsweise durch
unterschiedliche Anordnungen von Funktionen und Anzeige-Eigenschaften
der Benutzerschnittstelle. Eine weitere Beschreibung der Konfiguration
der Benutzerschnittstellen findet sich in Bezug auf die 4 und 5.
Der Client 104 kann anschließend die konfigurierte Benutzerschnittstelle 308 über die
lokale Verbindung 136 an die lokale Vorrichtung 134 kommunizieren.
-
Bei
Block 310 führt
die lokale Vorrichtung 134 die konfigurierte Benutzerschnittstelle 308 aus, um
Steuerfunktionen des Client 104 zu initialisieren. So kann
der Benutzer beispielsweise eine Eingabevorrichtung wie beispielsweise
einen berührungsempfindlichen
Bildschirm eines PDA durch „Drücken" einer Taste der
konfigurierten Benutzerschnittstelle 308 nutzen, um eine
Steuerfunktion zu initialisieren. Die konfigurierte Benutzerschnittstelle 308 kann
anschließend
eine Anforderung erzeugen, die die gewünschte Steuerfunktion anzeigt
und die Anforderung über
die lokale Verbindung 136 direkt zu dem Client 104 überträgt. Somit
kann in dieser Implementierung die Steuerfunktion dem Client 104 direkt
bereitgestellt werden, ohne die Anforderung über das Netzwerk 106 zu übertragen.
Eine zusätzliche
Diskussion der Verarbeitungsanforderungen findet sich in Bezug auf 6.
-
Obwohl
die Implementierung aus 3 eine Konfiguration der Benutzerschnittstelle
durch den Client 104 beschreibt, kann die Benutzerschnittstelle auf
eine Vielzahl von Arten konfiguriert werden. In einer anderen Implementierung
ist die konfigurierbare Benutzerschnittstelle 130 aus 2 als
eine in sich geschlossene konfigurierbare Benutzerschnittstelle implementiert,
die Software zum Konfigurieren der Darstellung und der Implementierung
der Benutzerschnittstelle umfasst, wenn diese auf einer Vorrichtung
empfangen und/oder ausgeführt
wird. So kann beispielsweise die konfigurierbare Benutzerschnittstelle 130 aus 2 durch
die lokale Vorrichtung 134 empfangen werden und wenn sie
auf der lokalen Vorrichtung ausgeführt wird, erkennt sie und Hardware- und/oder Software-Fähigkeiten
der lokalen Vorrichtung 134 zum Ausführen der Benutzerschnittstelle.
In einer weiteren Implementierung wird die Benutzerschnittstelle
durch einen Distribution-Server konfiguriert, wovon ein Beispiel
in Bezug auf 7 beschrieben wird.
-
Beispielhafte Benutzerschnittstellen
-
Benutzerschnittstellen
können
auf eine Vielzahl von Arten auf Basis der Fähigkeiten der Vorrichtung,
die die Benutzerschnittstelle ausführen soll, konfiguriert werden. 4 ist
eine Darstellung einer beispielhaften Implementierung, die eine
Benutzerschnittstelle 300 darstellt, die zum Ausgeben durch den
Client konfiguriert ist, wenn sich der Benutzer nahe an der Anzeigevorrichtung
wie beispielsweise der Anzeigevorrichtung 122 aus 1 befindet.
Da, wie vorstehend dargelegt, die zum Ausführen der Benutzerschnittstellen
genutzten Vorrichtungen unterschiedliche Fähigkeiten haben können, und
da sich die Entfernung eines Benutzers von einer Anzeigevorrichtung ändern kann,
können
Benutzerschnittstellen konfiguriert sein, um den unterschiedlichen Fähigkeiten
und Entfernungen Rechnung zu tragen. So ist beispielsweise ein Benutzer,
der sich nahe an einer Anzeigevorrichtung befindet, möglicherweise
in der Lage, eine größere Menge
Einzelheiten wahrzunehmen, als wenn sich der Benutzer in einer größeren Entfernung
von der Anzeigevorrichtung befindet. Des Weiteren können Eingabevorrichtungen
der lokalen und entfernten Vorrichtungen 134, 138 aus 2 unterschiedliche
jeweilige Funktionalitäten
bereitstellen. So kann beispielsweise eine lokale Vorrichtung für eine stiftbasierte
Navigation konfiguriert sein, und eine entfernte Vorrichtung, die
eine Maus sowie eine Tastatur besitzt, kann für eine datenintensive Eingabe
und Navigation konfiguriert sein. Daher können unterschiedliche Benutzerschnittstellen
bereitgestellt werden, die für
die unterschiedlichen jeweiligen Funktionalitäten der Eingabevorrichtungen konfiguriert
sind.
-
Die
Benutzerschnittstelle 400 ist zum Verwenden konfiguriert,
wenn der Benutzer sich nahe an der Anzeigevorrichtung befindet.
Die Benutzerschnittstelle 400 umfasst einen Kanalführer 402,
der eine Vielzahl von Kanälen 404(1) bis 404(6) auflistet, die über einen
Rundfunk verfügbar
sind. Die Benutzerschnittstelle 400 umfasst darüber hinaus
eine ausführliche
Beschreibung 406 von einem der Vielzahl von Programmen,
diese kann Informationen bereitstellen, die sich auf das Programm
beziehen, beispielsweise Schauspieler, kurze Beschreibung der Handlung
des Programms und so weiter. Die Benutzerschnittstelle 400 umfasst
darüber
hinaus eine Menüleiste 408,
um es einem Benutzer zu ermöglichen, zwischen
Funktionsblöcken
mit einer Cursorsteuervorrichtung wie beispielsweise einer Maus
zu navigieren. Die dargestellte Menüleiste 408 besitzt
einen Funktionsblock, der den aktuellen Programmtitel 410 umfasst,
einen Audio-Funktionsblock 412 wie
beispielsweise geschlossene Bildtitel und Stereoton, aktuelle Kanäle 414,
bevorzugte Kanäle 416 sowie Werkzeuge 418 wie
beispielsweise Optionen zum Anordnen, Auswählen der Schriftart und so
weiter.
-
5 ist
eine Darstellung einer beispielhaften Implementierung, die eine
Benutzerschnittstelle 500 darstellt, die zum Ausgeben durch
den Client konfiguriert ist, wenn sich der Benutzer in einer größeren Entfernung
von der Anzeigevorrichtung entfernt befindet als die Benutzerschnittstelle 400 aus 4.
Die Benutzerschnittstelle 500 kann einen Teil der Funktionsblöcke enthalten,
die in der Benutzerschnittstelle 500 aus 5 bereitgestellt
werden. So kann die Benutzerschnittstelle 500 beispielsweise darüber hinaus
einen Kanalführer 502 enthalten,
der eine Vielzahl von Kanälen 404(1) bis 404(4) auflistet, die
in einem Rundfunk verfügbar
sind. Der Kanalführer 502 ist
jedoch konfiguriert, um aus einer größeren Entfernung als der Kanalführer 402 aus 4 betrachtet
zu werden und um von einer Anzeigevorrichtung ausgegeben zu werden,
die eine geringere Auflösung
besitzt als die Anzeigevorrichtung zum Ausgeben der Benutzerschnittstelle 400 aus 4.
Daher umfasst der Kanalführer 502 weniger
Kanäle
und Programme in einem vergrößerten Format
als der Kanalführer 402 aus 4.
-
Des
Weiteren kann die Anordnung der Funktionsblöcke der Benutzerschnittstelle 500 sich
von der Benutzerschnittstelle 400 aus 4 unterscheiden.
Die Benutzerschnittstelle 500 kann beispielsweise ebenfalls
die ausführliche
Beschreibung 406 enthalten, bei ihr kann die ausführliche
Beschreibung 406 jedoch unterhalb des Kanalführers 502 angeordnet
sein, im Gegensatz dazu ist sie in 4 in der Benutzerschnittstelle 400 oberhalb
des Kanalführers 402 dargestellt.
Des Weiteren enthält
die Benutzerschnittstelle 500 nicht die Menüleiste 408 der
Benutzerschnittstelle 400 aus 4. So kann
beispielsweise die Benutzerschnittstelle 500 mit einer
geringeren Auflösung,
das heißt,
mit weniger Bildpunkten pro Zoll als die Benutzerschnittstelle 400 aus 4 bereitgestellt
werden, so dass die Benutzerschnittstelle 500 aus einer
größeren Entfernung
betrachtbar ist. Daher ist die Benutzerschnittstelle 500 aus
einer größeren Entfernung
betrachtbar als die Benutzerschnittstelle 400 aus 4,
die Benutzerschnittstelle 400 umfasst jedoch Funktionsblöcke, die
in der Benutzerschnittstelle 500 aus 5 nicht
enthalten sind. Obwohl die Anordnung von Funktionen, die Anzeige
von Funktionen und Auflö sung
als Unterschiede zwischen den Benutzerschnittstellen 400, 500 aus den 4 beziehungsweise
5 beschrieben wurden, wird auch eine Vielzahl anderer Unterschiede
in Erwägung
gezogen. So kann beispielsweise das Farbschema der Benutzerschnittstelle 500 so
ausgewählt sein,
dass die Benutzerschnittstelle 500 aus einer größeren Entfernung
betrachtbar ist, beispielsweise durch die Auswahl von Farben, die
stärkere
Kontraste besitzen als diejenigen, die in der Benutzerschnittstelle 400 aus 4 genutzt
werden. Des Weiteren können
darüber
hinaus die Sichtbarkeit und der Schrifttyp der Funktionen für jede Benutzerschnittstelle
geändert
werden, um ein optimiertes Betrachtungserlebnis bereitzustellen.
So kann beispielsweise die Anzeigevorrichtung zum Ausgeben der Benutzerschnittstelle 400 aus 4 eine
größere Anzahl Farben
unterstützen
als die Anzeigevorrichtung zum Ausgeben der Benutzerschnittstelle 500 aus 5.
-
6 ist
ein Ablaufdiagramm, das ein Verfahren 600 in einer beispielhaften
Implementierung darstellt, in der die konfigurierte Benutzerschnittstelle 308 aus 3 von
einem Benutzer zum Initialisieren einer Steuerfunktion des Client 104 genutzt
wird. Bei Block 602 bildet die lokale Vorrichtung 134 eine
Anforderung 604 zum Initialisieren einer Steuerfunktion des
Client 104 aus und kommuniziert diese. So kann beispielsweise
die konfigurierte Benutzerschnittstelle 308, wenn sie auf
der lokalen Vorrichtung 134 ausgeführt wird, eine oder mehrere
Verfahren zum Initialisieren der Steuerfunktion bereitstellen. Ein
drahtloses Telefon kann beispielsweise die konfigurierte Benutzerschnittstelle 308 ausführen, die
ein sprachgesteuertes Menü umfasst,
um einen Benutzer in die Lage zu versetzen, durch eine Auflistung
verfügbarer Steuerfunktionen
zu navigieren und eine oder mehrere der Steuerfunktionen zu initialisieren.
Anschließend
wird eine Anforderung zum Initialisieren der gewünschten Steuerfunktion ausgebildet
und zu dem Client 104 übertragen,
beispielsweise über
die lokale Verbindung 136.
-
Bei
Block 606 kommuniziert der Client 104 die Anforderung 604 an
den Distribution-Server 118. In
einer Implementierung führt
der Client 104 das Benutzerschnittstellenmodul 132 aus 2 aus,
um die Anforderung 604 zum Weiterleiten über das
Netzwerk 106 an den Distribution-Server 118 in
Paketform umzuwandeln. In einer anderen Implementierung wird die
Anforderung 604 ohne Umwandeln in Paketform durch den Client 104 zum
Schicken an den zum Distribution-Server 118 durch die lokale
Vorrichtung 134 formatiert.
-
Bei
Block 608 verarbeitet der Distribution-Server 118 die
Anforderung und nutzt dazu die Client-Zustandsdaten 142(j).
Das Fernmodul 144 kann beispielsweise auf dem Distribution-Server 118 ausgeführt werden,
um die Anforderung 604 gemäß den Client-Zustandsdaten 142(j) zu
verarbeiten, die für
den Distribution-Server 118 lokal verfügbar sind, da sie beispielsweise
in einer Festplatte oder einem RAID-Array und so fort gespeichert
sind. Die Anforderung 604 wird gemäß denjenigen Client-Zustandsdaten 142(j) verarbeitet,
die für
den Client 104 spezifisch sind.
-
Die
Anforderung 604 kann eine einzigartige Client-Kennzeichnung
enthalten, sodass das Fernmodul 144 Client-Zustandsdaten 142(j) lokalisieren kann,
die dem jeweiligen Client 104 entsprechen. Sobald die Client-Zustandsdaten 142(j) lokalisiert
sind, bestimmt das Fernmodul 144, wenn es ausgeführt wird,
ob das Durchführen
der Steuerfunktion auf dem Client 104 zulässig ist.
So kann beispielsweise die Anforderung 604 konfiguriert
sein, um eine Steuerfunktion auf dem Client 104 zu initialisieren,
um Inhalte aufzuzeichnen, beispielsweise ein Fernsehprogramm, und
der Distribution-Server 118 kann durch Untersuchen der
Client-Zustandsdaten 142(j) bestimmen, ob der Client 104 zum
Aufzeichnen der Inhalte zugelassen wird. In einem anderen Beispiel
ist die Anforderung 604 konfiguriert, um den Client 104 auf
einen gewünschten
Fernsehkanal abzustimmen, und der Distribution-Server 118 kann
anschließend bestimmen,
ob der Client 104 einen Subskriptionsvertrag für diesen
bestimmten Fernsehkanal besitzt.
-
Bei
Block 610 bildet der Distribution-Server 118 einen
Befehl 612 zum Durchführen
der Steuerfunktion aus und kommuniziert diesen zu dem Client 104.
In Bezug auf das vorangehende Beispiel kann das Fernmodul 144,
wenn es ausgeführt
wird, bestimmen, dass der Client 104 zum Durchführen der Steuerfunktion
zugelassen wird, und daher den Befehl 612 für eine Kommunikation
zu dem Client 104 erzeugen. Ist es dem Client 104 nicht
erlaubt, die Steuerfunktion durchzuführen, kann das Fernmodul 144 eine
Antwort auf die Kommunikation zu der lokalen Vorrichtung 134 erzeugen,
um anzuzeigen, dass die Steuerfunktion nicht zulässig ist. In einer anderen Implementierung
kann auf dem Client 104 eine zusätzliche Schnittstelle angelegt
werden, um auf der Kopfstation zu „lauschen", ob Aktualisierungen vorhanden sind.
So kann sich das Benutzerschnittstellenmodul 132 beispielsweise,
wenn es auf dem Client 104 ausgeführt wird, periodisch an dem
Netzwerk 106 anmelden, um von der Kopfstation 112 bereitgestellte
Befehle zum Durchführen
von einer oder mehreren Steuerfunktionen zu empfangen und/oder anzufordern.
-
Bei
Block 614 führt
der Client 104 die Steuerfunktion durch. So kann der Client 104 beispielsweise den
Befehl 612 von dem Distribution-Server 118 empfangen.
Der Befehl kann unter Verwendung einer Vielzahl von Verschlüsselungstechnologien
verschlüsselt
worden sein, um zu verhindern, dass der Befehl von einem Angreifer
gekapert wird. Die Navigations-Anwendung 128 und/oder das
Benutzerschnittstellenmodul 132 können, wenn sie ausgeführt werden,
den Befehl 612 entschlüsseln,
um zu bestimmen, welche Steuerfunktion durchzuführen ist. Die Navigations-Anwendung 128 kann
dann die angegebene Steuerfunktion durchführen. Die Navigations-Anwendung 128 kann
beispielsweise ein bestimmtes Fernsehprogramm zu einer bestimmten Zeit
aufzeichnen, kann dann ändern,
welcher Rundfunkkanal durch den Client 104 an die Anzeigevorrichtung 122 aus 2 ausgegeben
wird, sie kann auf einen bevorzugten Kanal abstimmen und so weiter.
Obwohl die in Bezug auf die 3 und 6 diskutierten
Implementierungen die Konfiguration und Ausführung einer Benutzerschnittstelle
auf einer lokalen Vorrichtung 134 beschreiben, kann die
entfernte Vorrichtung 138 darüber hinaus eine ähnliche Funktionalität bereitstellen,
wie ausführlicher
in der folgenden Implementierung beschrieben wird.
-
7 ist
ein Ablaufdiagramm, das ein Verfahren 700 in einer beispielhaften
Implementierung darstellt, in der eine Benutzerschnittstelle für die entfernte
Vorrichtung 138 aus 2 konfiguriert
ist und durch diese ausgeführt
wird, um eine oder mehrere Steuerfunktionen des Client zu initialisieren 104.
Bei Block 702 initialisiert eine entfernte Vorrichtung
eine entfernte Verbindung mit dem Distribution-Server. So kann beispielsweise
die entfernte Vorrichtung 138 aus 2 eine entfernte
Verbindung über
das Netzwerk 106 mit dem Distribution-Server 188 aus 2 initialisieren.
Das Netzwerk 106 kann eine Vielzahl of Konfigurationen
annehmen, beispielsweise ein Fernnetzwerk (wide area network – WAN),
zum Beispiel das Internet und so fort. Ein WAN kann als ein geografisch
verteiltes Netzwerk in Betracht gezogen werden, das eine breitere
Telekommunika tions-Struktur als ein lokales Netzwerk (local area
network – LAN) umfasst.
Ein WAN kann sich beispielsweise in privatem Besitz befinden, geleast
oder gemietet sein, es umfasst jedoch in den meisten Instanzen wenigstens einen
Teil eines öffentlichen
(das heißt,
gemeinsamen Benutzer)-Netzwerks.
-
Bei
Block 704 bildet die entfernte Vorrichtung eine Anfrage
für eine
Benutzerschnittstelle von dem Distribution-Server aus, die zum Initialisieren
von Steuerfunktionen eines Client geeignet ist. Die entfernte Vorrichtung
kann beispielsweise die Anfrage für eine Kommunikation über das
Netzwerk erzeugen, das einen gewünschten
Client identifiziert. In einer Implementierung umfasst die Anfrage
die Netzwerkadresse des Client. In einer anderen Implementierung
umfasst der Distribution-Server eine lokal gespeicherte Auflistung
von Standorten von Clients. In einer weiteren Implementierung fragt
der Distribution-Server das Netzwerk 106 aus 2 ab,
um den Client zu lokalisieren. So kann beispielsweise das Fernmodul 144,
wenn es auf dem Distribution-Server 118 ausgeführt wird,
als ein Browser zum Lokalisieren von gewünschten Netzwerkressourcen
agieren, die Netzwerkressourcen umfassen in dieser Instanz den Client 104 aus 2.
-
Bei
Block 706 erhält
der Distribution-Server die konfigurierbare Benutzerschnittstelle
von dem Client. Zum Beispiel kann der Distribution-Server eine zusätzliche
Anfrage erzeugen, die über
ein Netzwerk zu dem Client übertragen
wird. Der Distribution-Server kann anschließend auf die Anfrage eine Antwort
erhalten, die die konfigurierbare Benutzerschnittstelle umfasst.
-
Bei
Block 708 erkennt der Distribution-Server die Hardware-
und/oder Software-Fähigkeiten der
entfernten Vorrichtung über
die entfernte Verbindung. Ebenso wie der Client, wie vorstehend
beschrieben, kann auch der Distribution-Server Verarbeitungsgeschwindigkeiten,
verfügbare
Software und so weiter der entfernten Vorrichtung 138 feststellen, die
die Fähigkeiten
der entfernten Vorrichtung zum Ausführen der Benutzerschnittstelle
anzeigen. Bei Block 710 konfiguriert der Distribution-Server
die konfigurierbare Benutzerschnittstelle auf Basis des Feststellens
der Fähigkeiten
zum Erzeugen einer Benutzerschnittstelle, die für die entfernte Vorrichtung konfiguriert
ist. Der Distribution-Server kann beispielsweise Funktionen der
konfigurierbaren Benutzerschnittstelle anordnen, Funktionen auf
Basis von verfügbaren
Eingabevorrichtungen auswählen
und so weiter. In einer anderen Implementierung kann die Benutzerschnittstelle
auf Basis eines wahrscheinlichen Abstandes konfiguriert werden,
in dem der Benutzer beim Betrachten der Benutzerschnittstelle von der
entfernten Vorrichtung positioniert ist. So kann beispielsweise,
wie vorstehend beschrieben, die Vorrichtung konfiguriert sein, um
aus unterschiedlichen Entfernungen betrachtet zu werden, beispielsweise mit
einem Fernsehgerät
in einem Wohnzimmer im Gegensatz zu einem PDA, der in der Hand des
Benutzers gehalten wird. Durch Konfigurieren der konfigurierbaren
Benutzerschnittstelle auf Basis der wahrscheinlichen Entfernung
des Benutzers von der Vorrichtung kann die konfigurierte Benutzerschnittstelle für das Betrachten
durch den Benutzer optimiert werden.
-
Bei
Block 712 speichert der Distribution-Server Client-Zustandsdaten,
die eine Anzeige der entfernten Vorrichtung und der Client-Zugehörigkeit
einschließen.
Der Distribution-Server
kann beispielsweise Daten speichern, die eine Kennzeichnung der
entfernten Vorrichtung enthalten, die die konfigurierte Benutzerschnittstelle
empfängt,
sowie eine entsprechende Anzeige der Client-Zugehörigkeit
für diese bestimmte
Benutzerschnittstelle. Wenn daher der Distribution-Server eine Anforderung
von der entfernten Vorrichtung empfängt, kann der Distribution-Server
ein Ziel für
diese Anforderung, das heißt,
einen bestimmten Client, einfach identifizieren. Obwohl eine Konfiguration
der konfigurierbaren Benutzerschnittstelle in dieser Implementierung
als von dem Distribution-Server
durchgeführt
beschrieben wird, kann die konfigurierbare Benutzerschnittstelle
auf eine Vielzahl von Arten konfiguriert werden. So kann beispielsweise
die konfigurierbare Benutzerschnittstelle durch den Client, wie
in Bezug auf 3 beschrieben, konfiguriert
werden, sie kann automatisch durch die konfigurierbare Benutzerschnittstelle
selbst konfiguriert werden und so weiter.
-
Bei
Block 714 empfängt
die entfernte Vorrichtung die konfigurierte Benutzerschnittstelle
und führt
diese aus, beispielsweise durch Ausführen der Benutzerschnittstelle 230 auf
dem Prozessor 226 aus 2. Bei Block 716 wählt ein
Benutzer eine Steuerfunktion durch Interaktion mit der Benutzerschnittstelle
aus. So kann ein Benutzer beispielsweise eine Eingabevorrichtung
der entfernten Vorrichtung wie beispielsweise eine Tastatur, eine
Maus, ein Mikrofon zum Empfangen eines Sprachbefehls und so fort
nutzen, um einen einer Vielzahl von Steuerfunktionen zum Initialisieren
auszuwählen.
Bei Block 718 bildet die Benutzerschnittstelle eine Anforderung für die Steuerfunktion
zu dem Distribution-Server aus und kommuniziert diese. Daher wird
in dieser Implementierung eine durch eine entfernte Vorrichtung 138 initialisierte
Anforderung direkt über
das Netzwerk 106 zu dem Distribution-Server 118 übertragen,
ohne erst durch den Client 104 übertragen zu werden.
-
An
dem Entscheidungsblock 720 erfolgt eine Bestimmung, ob
der Client berechtigt ist, die angeforderte Steuerfunktion durchzuführen. Wie
vorstehend beschrieben, kann die Bestimmung durch den Distribution-Server
durch Verarbeiten der Anforderung erfolgen, wozu die Client-Zustandsdaten
des Client genutzt werden, der die Steuerfunktion durchführen soll.
Wenn der Client nicht berechtigt ist, die Steuerfunktion durchzuführen, endet
das Verfahren 700 bei Block 722, indem eine Mitteilung über das
Fehlschlagen an die entfernte Vorrichtung gesendet wird, die anzeigt,
dass der Client nicht berechtigt ist, die angeforderte Steuerfunktion
durchzuführen.
-
Wenn
der Client berechtigt ist, die Steuerfunktion gemäß den Client-Zustandsdaten
durchzuführen, übersetzt
der Distribution-Server bei Block 724 die Anforderung,
um einen Befehl für
die Kommunikation zu dem Client für das Durchführen der Steuerfunktion
zu erzeugen. So kann beispielsweise die Anforderung zum Initialisieren
der Steuerfunktion, die durch die entfernte Vorrichtung ausgebildet
wurde, mit dem Client nicht kompatibel sein. Daher kann der Distribution-Server
die Anforderung in einen Befehl übersetzen,
der bewirkt, dass der Client die entsprechende Steuerfunktion durchführt. Daher
kann der Client bei Block 726 den Befehl empfangen und die
Steuerfunktion durchführen,
wie in dem Befehl angegeben.
-
Somit
wird eine Umgebung für
die Konfiguration und die Nutzung der Benutzerschnittstelle bereitgestellt.
In einer Implementierung ist die Kopfstation so konfiguriert, dass
sie die berechtigte Quelle für
Client-Zustandsdaten in der Umgebung ist wie vorstehend beschrieben.
Darüber
hinaus kann die Kopfstation die Kapazität besitzen, Fähigkeiten
von Vorrichtungen zu erkennen, beispielsweise eines Web-Browsers,
auf den über
das Internet zugegriffen werden kann, einer Set-Top-Box in Kommunikationsverbindung
mit einem Fernsehgerät
mit Standardauflösung,
einer Set-Top-Box in Kommunikationsverbindung mit einem hochauflösenden Fernsehgerät, eines
drahtlosen Telefons, eines PDA und so weiter, dies erfolgt sowohl
durch die Client-Zugehörigkeit
als auch durch die Hardware- und/oder Software-Fähigkeiten.