-
Technisches
Gebiet
-
Die
vorliegende beanspruchte Erfindung bezieht sich auf das Gebiet von
Streamingmedien. Insbesondere bezieht sich die vorliegende beanspruchte
Erfindung auf ein Liefern von Streamingdaten an feste Clients und/oder
Mobilclients unter Verwendung von Mehrbeschreibungsbitströmen und
verschiedener Formen von Diversity.
-
Stand der
Technik
-
Heutige
Netze, wie zum Beispiel das Internet, sind hauptsächlich zum
Liefern von statischen Nicht-Echtzeit-Daten an feste Clients, wie
zum Beispiel Tischcomputer und Laptops, konzipiert. Ein Entwickeln
eines Systems, das Echtzeit-Streamingmedien
an Mobilclients liefert, stellt auf Grund der Streaming-Beschaffenheit
der Daten und der Mobilität
des Benutzers eine noch größere Reihe
von Herausforderungen dar. Diese Herausforderung werden verstärkt, wenn
Probleme wie zum Beispiel eine Systemskalierbarkeit berücksichtigt
werden, die einen Dienst auf eine größer Anzahl von Benutzern erweitert;
und Dienstgüte
und Fehlertoleranz, die Mobilbenutzern kontinuierliche, ununterbrochene
Streamingmediensitzungen liefert. Außerdem muss diese robuste,
ununterbrochene Medienlieferungssitzung über Bestbemühungsnetze geliefert werden,
die eine beste Bemühung,
aber nicht gewährleistete
Dienstpegel liefern. Eine Lösung,
die diese vielen Herausforderungen löst, erfordert eine Innovation
bei dem gesamten Ende-zu-Ende-System.
-
Aktuell
werden Multimediaanwendungen, wie zum Beispiel eine Video- und Audiokommunikation über das
Internet oder drahtlose Verbindungen, durch die begrenzte Bandbreite
und Verluste (zum Beispiel Paketverlust oder Bitfehler) behin dert,
die diese fehleranfälligen
Umgebungen beeinträchtigen. Diese
Multimediaanwendungen erfordern eine starke Komprimierung und eine
hohe Fehlerwiderstandsfähigkeit,
es ist jedoch schwierig, diese Eigenschaften gleichzeitig zu erreichen,
da es sich bei denselben um in hohem Maße in Konflikt stehende Anforderungen
handelt.
-
Zwei
wichtige Charakteristika eines Medienkommunikationssystems sind
Zuverlässigkeit
und Effizienz. Für
das Problem eines Streamens bzw. Stromsendens von Medien von einer
verdrahteten Infrastruktur an einen drahtlosen Mobilclient wird
eine Sequenz von Operationen durchgeführt, wobei jede ein möglicher
Fehlerpunkt ist. Der herkömmliche
Lösungsansatz,
um bei einem derartigen System Zuverlässigkeit zu erreichen, besteht
in einem Duplizieren von Ressourcen, zum Beispiel „gespiegelte
Server" oder ein
zweimaliges Senden der gleichen Informationen. Dieser Lösungsansatz
kann die Wahrscheinlichkeit von bestimmten Fehlern durch ein Liefern
von Backups bzw. Sicherungskopien verringern, er ist jedoch ineffizient,
da er doppelt so viele Ressourcen erfordert und trotzdem gegenüber anderen einzelnen
Fehlerpunkten anfällig
ist.
-
Es
folgt ein spezifischeres Beispiel eines herkömmlichen Lösungsansatzes zum Streamen
von Medien von einer verdrahteten Infrastruktur zu einem drahtlosen
Mobilclient und die damit verbundenen Probleme. Ein Streamen von
Medien von einer verdrahteten Infrastruktur zu einem Mobilclient
umfasst den Betrieb einer Sequenz von Modulen. Falls alle diese
Module ordnungsgemäß arbeiten,
dann ist die Kommunikation erfolgreich. Falls jedoch ein beliebiges
dieser Module fehlerhaft ist, dann ist die gesamte Kommunikation
nicht erfolgreich. Zum Beispiel kann eine normale Kommunikation
einen Server umfassen, der einen Medienstrom aus einer Speicherung liest,
denselben über
ein verdrahtetes Netz an eine drahtlose Basisstation sendet, die
drahtlose Basisstation überträgt den Strom
dann über
den drahtlosen Kanal an den drahtlosen Client. Dieses System umfasst
die Interaktion von zumindest den folgenden Modulen: (1) Speicherung,
(2) Server, (3) verdrahtetes Netz, (4) drahtlose Basisstation, (5)
drahtlose Übertragung
in drahtlosen Zellen. Falls alle Module ordnungsgemäß arbeiten,
dann ist die Kommunikation erfolgreich, falls jedoch ein beliebiges
Modul fehlerhaft ist, dann ist die Kommunikation nicht erfolgreich.
In einer Bemühung,
die Zuverlässigkeit
zu verbessern, fügen
Systementwickler normalerweise Redundanz hinzu, um einen einzelnen
Fehlerpunkt zu beseitigen. Zum Beispiel können zwei Sätze einer beliebigen Hardware
anstelle von einem verwendet werden, zum Beispiel zwei Speicherungsmodule oder
zwei Server, die „gespiegelt" werden, um die gleichen
Informationen zu enthalten. Auf ähnliche Weise
können
die gleichen Informationen zweimal in dem verdrahteten Netz übertragen
werden. Außerdem
umfasst die drahtlose Übertragung
unter der Annahme von CDMA und Softübergabe normalerweise zwei
oder mehr Übertragungen
der gleichen Informationen. Bei jedem dieser herkömmlichen
Lösungsansätze wird
die verbesserte Zuverlässigkeit
durch ein Duplizieren der Informationen und/oder der Ressourcen
erreicht.
-
Während diese
herkömmlichen
Duplizierungsverfahren die Zuverlässigkeit verbessern, sind dieselben
auch ineffizient, da dieselben doppelt so viele Ressourcen verwenden.
Außerdem
kann dieser herkömmliche
Lösungsansatz
unwirksam sein, wenn ein einziger Fehler beide Duplikate beeinträchtigen kann.
Falls zum Beispiel beide Speicherungsmodule (und/oder beide Server)
sich an dem gleichen Ort befinden, würde ein Stromausfall oder eine Überflutung beide
nutzlos machen. Wenn die gleichen Informationen doppelt in einem
verdrahteten Netz übertragen werden,
gehen die Informationen normalerweise entlang des gleichen Wegs
in dem Netz. Falls deshalb dieser gleiche Weg überlastet ist oder einem Ausfall unterliegt,
dann gehen beide Duplikate der Informationen verloren. Zusammenfassend
besteht der herkömmliche
Lösungsansatz
in einem Versuch, die Zuverlässigkeit
zu verbessern, darin, Informationen und Ressourcen zu dupli zieren.
Dieser herkömmliche
Lösungsansatz
ist auf Grund der Duplizierung ineffizient und ist auch unwirksam,
da in vielen Fällen
trotzdem noch einzelne Fehlerpunkte existieren können.
-
Obwohl
Teile der im Vorhergehenden aufgelisteten Erörterung zur vereinfachten Präsentation speziell
die Nachteile von Lösungsansätzen des Stands
der Technik bezüglich
des Streamens von Videodaten erwähnen,
sind derartige Nachteile nicht nur auf das Streamen von Videodaten
beschränkt. Stattdessen überspannen
die Probleme des Stands der Technik verschiedene Typen von Medien,
einschließlich,
aber nicht ausschließlich
audiobasierte Daten, sprachbasierte Daten, bildbasierte Daten, Graphikdaten,
webseitenbasierte Daten und dergleichen. Außerdem hat ein Streamen von
Medien normalerweise die Eigenschaft gemeinsam, dass die Medienströme mit einer
relativen Zeitbeschränkung geliefert
werden müssen
und somit denselben die Vorstellung eines Stroms gemeinsam ist.
-
Somit
ergibt sich der Bedarf an einem Verfahren und einem System zum Streamen
von Medien an feste Clients und/oder Mobilclients. Ein weiterer Bedarf
existiert an einem Verfahren und einem System zum Streamen von Medien
an feste Clients und/oder Mobilclients, wobei das Verfahren und
das System eine gesteigerte Zuverlässigkeit und Effizienz gegenüber herkömmlichen
Systemen liefern.
-
Das
Patentdokument
EP 0915598
A offenbart eine verteilte internetprotokollbasierte Echtzeitmultimediastreamingarchitektur,
bei der mehrere Medienübermittlungsmaschinen
mit einem Multimediaclient durch ein Sammelsendenetz kommunizieren, das
mehrere Lieferungswege umfassen kann. Die Streamingdaten, die Medienauswahlen
zur Lieferung darstellen, werden unter Verwendung einer nicht-hierarchischen
Codiertechnik, bei der die Daten als ein Satz von Teilstromkomponenten
dargestellt werden, der aus weniger als allen Komponenten des ursprünglichen
Datenstroms wiederher gestellt werden kann, über mehrere Medienübermittlungsmaschinen verteilt.
Dieses nicht-hierarchische Codierschema wird als Mehrbeschreibungscodieren
bezeichnet, das einen Video- und/oder Audiostrom in Teilströme zerlegt,
die Komponenten genannt werden. Jede Komponente kann dann codiert
und über
das Netz unabhängig
von allen anderen Komponenten übertragen
werden. Die Clientsoftware an einem Multimediaclient kann einen
rekonstruierten Strom aus einem beliebigen Satz der Komponenten
zusammensetzen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, einen verbesserten Client
oder ein verbessertes Verfahren zum Empfangen von Mehrbeschreibungsmedienströmen an dem
Client zu schaffen.
-
Diese
Aufgabe wird durch einen Client gemäß Anspruch 1 oder ein Verfahren
gemäß Anspruch 9
gelöst.
-
Offenbarung
der Erfindung
-
Die
vorliegende Erfindung liefert ein Verfahren und ein System zum Streamen
von Medien an feste Clients und/oder Mobilclients. Die vorliegende Erfindung
liefert ferner ein Verfahren und ein System zum Streamen von Medien
an feste Clients und/oder Mobilclients, wobei das Verfahren und
das System eine erhöhte
Zuverlässigkeit
und Effizienz gegenüber herkömmlichen
Systemen liefern.
-
Speziell
liefert die vorliegende Erfindung bei mehreren Ausführungsbeispielen
einen Client zum Empfangen von Mehrbeschreibungsmedienströmen. Bei
einem Ausführungsbeispiel
weist der Client einen Mehrbeschreibungsempfangsabschnitt auf, der
angepasst ist, um eine Mehrzahl von Mehrbeschreibungsbitströmen zu empfangen.
Der Client umfasst einen Speicher, der mit dem Mehrbeschreibungsempfangsabschnitt
gekoppelt ist, zum Speichern der Mehrzahl von Mehrbeschreibungsbitströmen in jeweiligen
Abschnitten desselben. Der Client des vorliegenden Ausführungsbeispiels
umfasst auch ein Synchronisationsmodul, das mit dem Speicher gekoppelt
ist, zum Vermengen der Mehrzahl von Mehrbeschreibungsbitströmen. Bei
einem Ausführungsbeispiel
ist ein Decodierer mit dem Synchronisationsmodul gekoppelt zum Decodieren
der Mehrzahl von Mehrbeschreibungsbitströmen. Ein Quellensteuermodul
zum Bestimmen von geeigneten Betriebscharakteristika des Clients
ist ebenfalls mit dem Synchronisationsmodul gekoppelt. Auch ist
eine Benutzerschnittstellenvorrichtung mit dem Decodierer gekoppelt,
um einem Benutzer Medien zu präsentieren,
die vorhergehend zu der Mehrzahl von Mehrbeschreibungsbitströmen codiert
wurden.
-
Diese
und andere technische Vorteile der vorliegenden Erfindung werden
zweifellos Fachleuten deutlich, nachdem sie die folgende detaillierte
Beschreibung der bevorzugten Ausführungsbeispiele gelesen haben,
die in den verschiedenen Zeichnungsfiguren veranschaulicht sind.
-
Kurze Beschreibung
der Zeichnungen
-
Die
beiliegenden Zeichnungen, die in dieser Beschreibung enthalten sind
und einen Teil derselben bilden, veranschaulichen Ausführungsbeispiele der
Erfindung und dienen zusammen mit der Beschreibung dazu, die Prinzipien
der Erfindung zu erläutern:
-
1 ist
ein schematisches Diagramm eines exemplarischen Computersystems,
das verwendet wird, um Schritte des vorliegenden Verfahrens gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung durchzuführen.
-
2 ist
ein schematisches Diagramm, das eine Mehrbeschreibungscodierung
von Mediendaten veranschaulicht, wie dieselbe gemäß verschiedener Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung eingesetzt wird.
-
3A ist ein schematisches Diagramm, das ein Mobilclientsystem
veranschaulicht, das gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung eingesetzt wird.
-
3B ist ein schematisches Diagramm, das ein Festclientsystem
veranschaulicht, das gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung eingesetzt wird.
-
4 ist
ein Flussdiagramm von Schritten, die gemäß einem Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
5 ist
ein schematisches Diagramm eines Inhaltsservers, wobei auf einer
Mehrzahl von Servern MD-Bitströme gespeichert
sind, und einer Reihe von Zellen gemäß verschiedener Ausführungsbeispiele der
vorliegenden beanspruchten Erfindung.
-
6 ist
ein Flussdiagramm von Schritten, die gemäß einem Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
7A ist ein schematisches Diagramm einer Mehrzahl
von Servern, die zusammen mit einem Netzverwaltungsprotokoll wirksam
sind, einer Reihe von Basisstationen und einer Mehrzahl von Mobilclients
gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung.
-
7B ist ein schematisches Diagramm einer Mehrzahl
von Servern, die zusammen mit einem Netzverwaltungsprotokoll wirksam
sind, einer Reihe von Basisstationen und einer Mehrzahl von Mobilclients
gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung.
-
7C ist ein schematisches Diagramm einer Mehrzahl
von Servern, die zusammen mit einem Netzverwaltungsprotokoll wirksam
sind, einer Reihe von Basisstationen und einer Mehrzahl von Mobilclients
gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung.
-
8 ist
ein Flussdiagramm von Schritten, die gemäß einem Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
9 gemäß dem Stand
der Technik ist ein Diagramm, das einen herkömmlichen Softübergabelösungsansatz
zeigt.
-
10 ist ein Diagramm, das einen Softübergabelösungsansatz
zeigt, der gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung durchgeführt wird.
-
11 ist ein Flussdiagramm von Schritten, die gemäß einem
Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
12 gemäß dem Stand
der Technik ist ein Diagramm, das Verwendungsnachteile zeigt, die
einem herkömmlichen
Hartübergabelösungsansatz
zugeordnet sind.
-
13A–13B sind Diagramme, die Verwendungsverbesserungen
zeigen, die gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung erreicht werden.
-
14 ist ein Flussdiagramm von Schritten, die gemäß einem
Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
15 ist eine schematische Darstellung eines ersten
und eines zweiten Servers, die bei einer Serverübergabe gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung eingesetzt werden.
-
16 ist eine schematische Darstellung eines ersten
und eines zweiten Servers, wie dieselben in 15 gezeigt
sind, während
einer Serverübergabe
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
17 ist eine schematische Darstellung eines ersten
und eines zweiten Servers, wie dieselben in 15 und 16 gezeigt sind, auf den Abschluss einer Serverübergabe
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung hin.
-
18 ist ein Flussdiagramm von Schritten, die gemäß einem
Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
19 ist ein schematisches Diagramm eines Mobilclients
gemäß einem
Ausführungsbeispiel der
vorliegenden beanspruchten Erfindung.
-
20 ist ein Flussdiagramm von Schritten, die gemäß einem
Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
Die
Zeichnungen, auf die in dieser Beschreibung Bezug genommen wird,
sollten so verstanden werden, dass dieselben nicht maßstabsgetreu
gezeichnet sind, es sei denn, dies ist speziell angemerkt.
-
Beste Ausführungsmodi
der Erfindung
-
Es
wird nun im Detail Bezug genommen auf die bevorzugten Ausführungsbeispiele
der Erfindung, von denen Beispiele in den beiliegenden Zeichnungen
veranschaulicht sind. Obwohl die Erfindung im Zusammenhang mit den
bevorzugten Ausführungsbeispielen
beschrieben wird, sei darauf hingewiesen, dass dieselben die Erfindung
nicht auf diese Ausführungsbeispiele
beschränken
sollen. Vielmehr soll die Erfindung Alternativen, Modifizierungen
und Äquivalente
abdecken, die in die Wesensart und den Schutzbereich der Erfindung,
wie dieselbe durch die angehängten
Ansprüche
definiert ist, eingeschlossen werden können. Außerdem werden in der folgenden detaillierten
Beschreibung der vorliegenden Erfindung zahlreiche spezifische Details
dargelegt, um ein gründliches
Verständnis
der vorliegenden Erfindung zu liefern. Es ist jedoch für einen
Fachmann offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen
Details praktiziert werden kann. In anderen Fällen wurden bekannte Verfahren,
Prozeduren, Komponenten und Schaltungen nicht im Detail beschrieben,
um Aspekte der vorliegenden Erfindung nicht unnötigerweise unklar zu machen.
-
Es
sollte jedoch berücksichtigt
werden, dass alle diese und ähnliche
Begriffe den geeigneten physikalischen Größen zuzuordnen sind und nur
praktische Etiketten sind, die für
diese Größen angewendet
werden. Wenn es nicht speziell anders angegeben ist, wie es aus
den folgenden Erörterungen
ersichtlich ist, sei darauf hingewiesen, dass sich Erörterungen,
die Begriffe wie zum Beispiel „codieren", „übertragen", „speichern", „verteilen" oder dergleichen
verwenden, bei der gesamten vorliegenden Erfindung auf die Aktionen
und Prozesse eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung
beziehen. Das Computersystem oder die ähnliche elektronische Rechenvorrichtung handhabt
Daten, die als physikalische (elektronische) Größen innerhalb der Register
und Speicher des Computersystems dargestellt sind, und wandelt dieselben
in andere Daten um, die ähnlich
als physikalische Größen innerhalb
der Computersystemspeicher oder -register oder anderer derartiger
Informationsspeicherungs-, Übertragungs-
oder Anzeigevorrichtungen dargestellt sind. Die vorliegende Erfindung
eignet sich auch gut für
die Verwendung von anderen Computersystemen, wie zum Beispiel optischen
und mechanischen Computern.
-
Computersystemumgebung
der vorliegenden Erfindung
-
Unter
jetziger Bezugnahme auf 1 sind Abschnitte des vorliegenden
Verfahrens und Systems aus computerlesbaren und von einem Computer
ausführbaren
Anweisungen gebildet, die zum Beispiel in computerbenutzbaren Medien
eines Computersystems liegen. 1 veranschaulicht
ein exemplarisches Computersystem 100, das gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung verwendet wird. Es sei darauf hingewiesen,
dass das System 100 von 1 nur
exemplarisch ist, und dass die vorliegende Erfindung bei oder in
einer Anzahl von anderen Computersystemen wirksam sein kann, einschließlich Universalnetzwerkcomputersysteme,
eingebettete Computersysteme, Router, Schalter, Servervorrichtungen,
Clientvorrichtungen, verschiedene Zwischenvorrichtungen/Knoten,
alleinstehende Computersysteme und dergleichen. Außerdem ist
das Computersystem 100 von 1 gut
angepasst und es sind computerlesbare Medien, wie zum Beispiel eine
Diskette, eine Compact-Disc und dergleichen, damit gekoppelt. Derartige
computerlesbare Medien sind aus Übersichtlichkeitsgründen in 1 nicht
mit dem Computersystem 100 gekoppelt gezeigt. Außerdem sind
Teile des vorliegenden Ausführungsbeispiels
gut dazu geeignet, zusammen mit verschiedenen Mobilclients wirksam
zu sein, wie zum Beispiel einem Mobiltelefon, einem Personaldigitalassistenten
(PDA), einem Laptopcomputer, einer Rufanlage (Pager) und dergleichen.
-
Das
System 100 von 1 umfasst einen Adress-/Datenbus 102 zum Übermitteln
von Informationen und eine zentrale Prozessoreinheit 104,
die mit dem Bus 102 gekoppelt ist, zum Verarbeiten von Informationen
und Anweisungen. Bei der zentralen Prozessoreinheit 104 kann
es sich um einen 80 × 86-Familienmikroprozessor
handeln. Das System 100 umfasst auch Datenspeicherungsmerkmale,
wie zum Beispiel einen computerverwendbaren flüchtigen Speicher 106,
zum Beispiel einen Direktzugriffspeicher (RAM), der mit dem Bus 102 gekoppelt
ist, zum Speichern von Informationen und Anweisungen für die zentrale
Prozessoreinheit 104, einen computerverwendbaren nicht
flüchtigen
Speicher 108, zum Beispiel einen Nur-Lese-Speicher (ROM), der mit dem Bus 102 gekoppelt
ist, zum Speichern von statischen Informationen und Anweisungen
für die
zentrale Prozessoreinheit 104, und eine Datenspeicherungseinheit 110 (zum
Beispiel eine Magnet- oder optische Platte und ein Plattenlaufwerk),
die mit dem Bus 102 gekoppelt ist, zum Speichern von Informationen
und Anweisungen. Das System 100 der vorliegenden Erfindung
umfasst auch eine optionale alphanumerische Eingabevorrichtung 112,
die alphanumerische und Funktionstasten umfasst, die mit dem Bus 102 gekoppelt
ist, zum Übermitteln
von Informationen und Befehlsauswahlen an die zentrale Prozessoreinheit 104.
Das System 100 umfasst auch optional eine optionale Anzeigeinrichtungssteuervorrichtung 114,
die mit dem Bus 102 gekoppelt ist, zum Übermitteln von Benutzereingabeinformationen
und Befehlsauswahlen an die zentrale Prozessoreinheit 104.
Das System 100 des vorliegenden Ausführungsbeispiels umfasst auch
eine optionale Anzeigevorrichtung 116, die mit dem Bus 102 gekoppelt
ist, zum Anzeigen von Informationen.
-
Unter
weiterer Bezugnahme auf 1 kann es sich bei der optionalen
Anzeigevorrichtung 116 von 1 um eine
Flüssigkristallvorrichtung,
eine Kathodenstrahlröhre
oder eine andere Anzeigevorrichtung handeln, die geeignet ist zum
Erzeugen von Graphikbildern und alphanumerischen Schriftzeichen,
die für
einen Benutzer zu erkennen sind. Die optionale Anzeigeinrichtungssteuervorrichtung 114 ermöglicht,
dass der Computerbenutzer dynamisch die zweidimensionale Bewegung
eines sichtbaren Symbols (Anzeigeeinrichtung) auf einem Anzeigebildschirm
der Anzeigevorrichtung 116 signalisiert. Viele Implementierungen
einer Anzeigeeinrichtungssteuervorrichtung 114 sind in
der Technik bekannt, einschließlich
Trackball, Maus, Berührungsfeld,
Joystick oder spezielle Tasten an der alphanumerischen Eingabevorrichtung 112,
die in der Lage sind, eine Bewegung einer gegebenen Richtung oder
Verschiebungsart zu signalisieren. Alternativ dazu sei darauf hingewiesen,
dass eine Anzeigeeinrichtung über eine
Eingabe von der alphanumerischen Eingabevorrichtung 112 unter
Verwendung spezieller Tasten und Tastenfolgenbefehle geleitet und/oder
aktiviert werden kann. Die vorliegende Erfindung ist auch gut für ein Leiten
einer Anzeigeeinrichtung durch andere Mittel, wie zum Beispiel Sprachbefehle,
geeignet. Eine detailliertere Erörterung
der vorliegenden Erfindung ist im Folgenden zu finden.
-
Allgemeines Verfahren
und System zum zuverlässigen
und effizienten Streamen von Medien an Fest- und/oder Mobilclients
-
Im Überblick
liefert die vorliegende Erfindung ein Verfahren und ein System zum
Streamen von Medien an feste und/oder Mobilclients, wobei das Verfahren
und das System eine verbesserte Effizienz durch ein Verwenden von
komplementären
Informationen erreichen (im Gegensatz zu Duplikatinformationen,
die bei herkömmlichen
Lösungsansätzen verwendet
werden). Die vorliegende Erfindung liefert ferner ein Verfahren
und ein System zum Streamen von Medien an feste und/oder Mobilclients,
wobei das Verfahren und das System die Zuverlässigkeit durch ein Verwenden
verschiedener Formen von Diversity verbessern, um einzelne Fehlerpunkte
zu verhindern.
-
Aus
Gründen
der Übersichtlichkeit
und Kürze
beschäftigen
sich die folgende Erörterung
und die Beispiele speziell mit Videodaten. Die vorliegende Erfindung
ist jedoch nicht nur auf eine Verwendung bei Videodaten beschränkt. Stattdessen
ist die vorliegende Erfindung gut für eine Verwendung bei audiobasierten
Daten, sprachbasierten Daten, bildbasierten Daten, webseitenbasierten
Daten, Graphikdaten und dergleichen geeignet. Natürlich sind
Puffern und Herunterladen zulässig,
und verschiedene Puffergrade können
bei diesem System gestattet sein; somit unterstützt dieses System sowohl Live-
als auch gepufferte Medienströme.
Außerdem
sei darauf hingewiesen, dass alle diese Medientypen mit den Eigenschaften
von Mehrbeschreibungsbitströmen,
die hier beschrieben sind, codiert werden können.
-
Ein
Lösungsansatz
zum zuverlässigen
Liefern von Streamingmedien ist in der ebenfalls anhängigen US-Patenanmeldung
Seriennummer 09/400,416 mit dem Titel „Video Communication Using
Multiple Streams",
eingereicht am 21. September 1999, für J. G. Apostolopoulos, der
gleichen Anmelderin offenbart. Ein weiterer Lösungsansatz zum zuverlässigen Liefern
von Streamingmedien ist in der ebenfalls anhängigen US-Patentanmeldung Seriennummer 09/784,226
mit dem Titel „Method
and System for Packet Communication Employing Path Diversity", eingereicht am
19. Januar 2001, für
J. G. Apostolopoulos et al., der gleichen Anmelderin offenbart.
Ein weiterer Lösungsansatz
zum zuverlässigen Liefern
von Streamingmedien ist in der ebenfalls anhängigen US-Patentanmeldung Seriennummer 09/784,223
mit dem Titel „Video
Communication System Employing Multiple State Encoding and Path
Diversity", eingereicht
am 19. Januar 2001, für
J. G. Apostolopoulos, der gleichen Anmelderin offenbart. Die US-Patentanmeldung
Seriennummer 09/400,416, die US-Patentanmeldung Seriennummer 09/784,226
und die US-Patentanmeldung
Seriennummer 09/784,223 sind jede hier durch Bezugnahme als Hintergrundmaterial
aufgenommen. Diese Patentanmeldungen beziehen sich auf ein System zur
zuverlässigen
Videokommunikation über
verlustbehaftete Paketnet ze, während
eine hohe Komprimierungseffizienz bewahrt wird. Teile der früheren Arbeit
waren aus zwei Systemen gebildet: (1) einem Mehrbeschreibungsvideocodiersystem
und (2) einem Weg-Diversity-Übertragungssystem.
-
Unter
jetziger Bezugnahme auf 2 ist ein schematisches Diagramm
gezeigt, das ein Mehrbeschreibungscodieren von Mediendaten veranschaulicht,
wie dasselbe im Zusammenhang mit verschiedenen Ausführungsbeispielen
der vorliegenden Erfindung verwendet wird. Mehrbeschreibungscodieren (MDC)
bezieht sich auf eine Form der Komprimierung, bei der das Ziel darin
besteht, ein eingehendes Signal zu einer Anzahl von getrennten Bitströmen zu codieren,
wobei die mehreren Bitströme
oft als mehrere Beschreibungen bezeichnet werden. Diese getrennten
Bitströme
weisen die Eigenschaft auf, dass dieselben alle unabhängig voneinander
decodierbar sind. Genauer, falls ein Decodierer einen beliebigen einzelnen
Bitstrom empfängt,
kann derselbe diesen Bitstrom decodieren, um ein nützliches
Signal zu erzeugen (ohne einen Zugriff auf irgendeinen der anderen
Bitströme
zu benötigen).
MDC weist die zusätzliche
Eigenschaft auf, dass die Qualität
des decodierten Signals sich verbessert, wenn mehr Bitströme fehlerfrei
empfangen werden. Es sei zum Beispiel angenommen, dass ein Video
mit MDC zu insgesamt N Strömen
codiert wird. Solange ein Decodierer irgendeinen dieser N Ströme empfängt, kann
derselbe ein nützliche
Version des Videos decodieren. Falls der Decodierer zwei Ströme empfängt, kann
derselbe eine verbesserte Version des Videos verglichen mit dem
Fall eines Empfangens von nur einem der Ströme decodieren. Diese Verbesserung
der Qualität setzt
sich fort, bis der Empfänger
alle N der Ströme empfängt, wobei
derselbe in diesem Fall die maximale Qualität rekonstruieren kann. Wie
es in 2 gezeigt ist, codiert ein
Mehrbeschreibungscodierer 202 ein ursprüngliches Signal zu zwei Strömen, die
als Strom 1 und Strom 2 bezeichnet werden. Bei dem Beispiel von 2 gibt
es drei Decodierer 204, 206 und 208.
Jeder der Decodierer 204, 206 und 208 empfängt unterschiedliche
Bitströme.
Der Decodierer 1 204 empfängt nur Strom 1 und decodiert
diesen Strom, um ein verwendbares Video zu erzeugen. Der Decodierer
2 206 empfängt
nur Strom 2 und decodiert diesen Strom, um ein verwendbares Video
zu erzeugen. Der Decodierer 3 208 empfängt sowohl Strom 1 als auch
Strom 2 und decodiert beide Ströme,
um ein Video höherer
Qualität
als entweder Decodierer 1 204 oder Decodierer 2 206 zu
erzeugen.
-
Es
gibt einen entscheidenden Unterschied zwischen dem vorliegenden
mehrbeschreibungsbasierten Lösungsansatz
zur Streamingmedienlieferung und vorhergehenden Lösungsansätzen, wie zum
Beispiel skalierbare oder geschichtete Codierlösungsansätze zur Streamingmedienlieferung.
Und zwar wird bei einem skalierbaren oder geschichteten Codieren
das Video ebenfalls zu mehreren Bitströmen codiert, ein Bitstrom,
der als der Basisschichtbitstrom bezeichnet wird, ist jedoch von
entscheidender Bedeutung und muss korrekt empfangen werden, um einen
verwendbaren decodierten Medienstrom zu erzeugen. Genauer sind bei
den herkömmlichen
skalierbaren oder geschichteten Lösungsansätzen zur Streamingmedienlieferung,
selbst wenn alle Bitströme
außer
dem Basisschichtbitstrom korrekt empfangen werden, dieselben eigentlich
nutzlos, wenn der Basisschichtbitstrom nicht korrekt empfangen wird, was
einen einzelnen Fehlerpunkt erzeugt. Die vorliegende mehrbeschreibungsbasierte
Streamingmedienlieferung weist dieses Problem nicht auf, da, solange
ein beliebiger Mehrbeschreibungsbitstrom empfangen wird, derselbe
decodiert werden kann, um ein Video verwendbarer Qualität zu erzeugen, und
die Qualität
des decodierten Videos zunimmt, wenn mehr Mehrbeschreibungsbitströme empfangen werden.
-
Es
gibt eine Anzahl von unterschiedlichen Lösungsansätzen, um eine MDC-Codierung
von Video zu erreichen. Ein Lösungsansatz
besteht darin, unterschiedliche Rahmen unabhängig zu unterschiedlichen Strömen zu codieren.
Zum Beispiel kann jeder Rahmen einer Videosequenz als ein einzelner
Rahmen (unabhängig
von den anderen Rahmen) nur unter Verwendung von Intrarahmencodieren
codiert werden, zum Beispiel JPEG, JPEG-2000 oder ein beliebiger
der Videocodierstandards (zum Beispiel MPEG-1/2/4, H.261/3), die
nur I-Rahmencodieren verwenden. Dann können unterschiedliche Rahmen
in den unterschiedlichen Strömen
gesendet werden. Zum Beispiel können
alle geraden Rahmen in Strom 1 gesendet werden, und alle ungeraden Rahmen
können
in Strom 2 gesendet werden. Da jeder der Rahmen unabhängig von
den anderen Rahmen decodierbar ist, ist jeder der Bitströme auch
unabhängig
von dem anderen Bitstrom decodierbar. Diese einfache Form eines
MDC-Videocodierens weist die im Vorhergehenden beschriebenen Eigenschaften
auf, ist jedoch hinsichtlich einer Komprimierung auf Grund des Fehlens
eines Zwischenrahmencodierens nicht sehr effizient.
-
Ein
bevorzugtes Ausführungsbeispiel
des MDC-Videocodierens, das die im Vorhergehenden genannten Eigenschaften
liefert und eine starke Komprimierung erreicht, ist in dem früheren Patent geliefert.
Dieses MDC-Videocodiersystem benötigt keinen
Rückkanal
und kann deshalb bei einer großen Vielzahl
von Anwendungen (zum Beispiel Rundsenden oder Sammelsenden) angewendet
werden. Außerdem
weist dasselbe die attraktive Eigenschaft auf, dass dasselbe als
eine standardkompatible Verbesserung innerhalb von MPEG-4 Version
2 (mit NEWPRED) und H.263 Version 2 (mit RPS) angewendet werden
kann. Deshalb kann ein beliebiger MPEG-4-Version-2-Decodierer den
sich ergebenden Bitstrom decodieren, während ein verbesserter Decodierer,
der konzipiert ist, um eine Zustandswiederherstellung durchzuführen, wie
es in dem früheren Patent
präsentiert
ist, eine verbesserte Fehlerwiederherstellung liefern kann. Dieses
bevorzugte Ausführungsbeispiel
eines MDC-Videocodierens wird während
der folgenden Erörterung
angenommen. Es kann jedoch ein anderer Videokomprimierungsalgorithmus,
der die gleichen MCD-Eigenschaften wie die im Vorhergehenden erörterten
aufweist, ebenfalls an seiner Stelle verwendet werden.
-
Es
folgt eine Erörterung
von Weg-Diversity, wie dieselbe im Zusammenhang mit verschiedenen Ausführungsbeispielen
der vorliegenden Erfindung verwendet wird. Es sei der Fall einer
Multimediakommunikation über
ein Paketnetz, wie zum Beispiel das Internet, betrachtet. Eine Kommunikation über das Internet
wird oft durch Überlastung
und Paketverlust beeinträchtigt.
Eine wichtige Beobachtung besteht darin, dass, während ein Knoten oder Weg in
dem Netz überlastet
sein kann, andere Knoten oder Wege reichlich Bandbreite aufweisen
können.
Es wäre
vorteilhaft, die augenblickliche Qualität jedes Wegs zu kennen und
diese Informationen zu verwenden, um Pakete entlang des „besten" Wegs zu senden (wie man
den Verkehrsnachrichten zuhört,
bevor man zur Arbeit fährt).
Dies ist jedoch aus vielen Gründen
sehr schwierig, einschließlich
der Tatsache, dass die überlasteten
Bereiche sich recht schnell verändern
können.
-
Während es
eventuell nicht möglich
ist, zu wissen, welche Wege am besten zu irgendeinem Zeitpunkt verwendet
werden, können
durch einen geeigneten Systementwurf trotzdem erhebliche Leistungsverbesserungen
erreicht werden. Verschiedene Ausführungsbeispiele der vorliegenden
Erfindung verwenden ein Weg-Diversity-System, das explizit unterschiedliche
Teilsätze
von Paketen für
eine Anwendung über
unterschiedliche Wege sendet, im Gegensatz zu dem Voreinstellungsszenario,
bei dem der Strom von Paketen entlang einem einzigen Weg geht. Durch
ein Verwenden mehrerer Wege zur gleichen Zeit tritt ein gewisser
Betrag an Mittelung auf, und die Ende-zu-Ende-Anwendung sieht effektiv
ein „durchschnittliches" Wegverhalten. Allgemein
liefert ein Sehen dieses durchschnittlichen Wegverhaltens eine bessere
Leistung als ein Sehen des Verhaltens eines beliebigen willkürlich gewählten einzelnen
Weges. Zum Beispiel ist die Wahrscheinlichkeit, dass alle der mehreren
Ströme,
die an unterschiedlichen Wegen übertragen
werden, gleichzeitig überlastet sind
und Verluste aufweisen, viel geringer als die. Wahrscheinlichkeit,
dass ein einziger Weg überlastet ist.
Die Vorteile von Weg-Diversity umfassen: (1) die Anwendung sieht
einen virtuellen durchschnittlichen Weg, der eine geringere Veränderlichkeit
der Kommunikationsqualität
aufweist, als über
einen einzelnen Weg existiert, (2) Stoßpaketverluste werden in isolierte
Paketverluste umgewandelt, und (3) die Wahrscheinlichkeit eines
Ausfalls (bei dem alle Pakete in dem Paketstrom für die Dauer
des Ausfalls verloren gehen) wird erheblich verringert. Diese Vorteile liefern
einige wichtige Vorteile für
eine Multimediakommunikationsleistung unter Paketverlust. Wie es im
Folgenden genau erörtert
wird, leiten die verschiedenen Ausführungsbeispiele der vorliegenden
Erfindung MDC-Verkehr durch halbintelligente Knoten an strategischen
Orten im Internet, wodurch ein Dienst verbesserter Zuverlässigkeit
geliefert wird, während die
Infrastruktur des Internets beeinflusst wird.
-
Eine
Weg-Diversity kann auch in drahtlosen Netzen existieren. Verschiedene
Ausführungsbeispiele
der vorliegenden Erfindung verwenden ein Softübergabesystem, bei dem ein
Mobilclient gleichzeitig mit mehreren Basisstationen kommunizieren kann.
Bei derartigen Fällen
werden die Vorteile von Weg-Diversity, die im Vorhergehenden erwähnt sind, auch
bei einer drahtlosen Umgebung realisiert.
-
Außerdem sind
das MD-(multiple description – Mehrbeschreibungs-)Videocodieren
und die Weg-Diversity, die im Zusammenhang mit den verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung verwendet werden, nützlich, selbst wenn dieselben
getrennt verwendet werden. Zum Beispiel kann ein MD-Videocodieren
eine verbesserte Zuverlässigkeit
liefern, selbst wenn über
einen einzigen Weg gesendet wird. Auf ähnliche Weise liefert Weg-Diversity
einen virtuellen Kanal mit verbesserten Charakteristika, was einen
einfacheren Systementwurf ermöglicht.
Wenn dieselben jedoch zusammen verwendet werden, ergänzen das
MD-Videocodieren und die Weg-Diversity die Fähigkeiten des jeweils anderen
und verbessern dieselben auch in einem gewissen Maße. Das
MD-Videocodieren
liefert mehrere unabhängig
decodierbare Bitströme,
die das Übertragungssystem
explizit über
unterschiedliche Wege sendet, und das Übertragungssystem liefert dem
Videodecodierer eine hohe Wahrscheinlichkeit, dass zumindest einer
der Ströme
korrekt zu einem beliebigen Zeitpunkt empfangen wird. Bei einem bevorzugten
Ausführungsbeispiel
des MD-Videocodierens ermöglicht
dies, dass der Videodecodierer eine Zustandswiederherstellung durchführt, um
einen verfälschten
Strom wiederherzustellen.
-
Unter
anschließender
Bezugnahme auf 3A und Flussdiagramm 400 von 4 sind
exemplarische Schritte, die von den verschiedenen Ausführungsbeispielen
der vorliegenden Erfindung verwendet werden, veranschaulicht. Das
Flussdiagramm 400 umfasst Prozesse der vorliegenden Erfindung,
die bei einem Ausführungsbeispiel
durch einen Prozessor unter der Steuerung von computerlesbaren und
von einem Computer ausführbaren
Anweisungen ausgeführt
werden. Die computerlesbaren und von einem Computer ausführbaren
Anweisungen liegen zum Beispiel in Datenspeicherungsmerkmalen, wie
zum Beispiel einem computerverwendbaren flüchtigen Speicher 106,
einem computerverwendbaren nicht flüchtigen Speicher 108 und/oder einer
Datenspeicherungsvorrichtung 110 von 1. Die
computerlesbaren und von einem Computer ausführbaren Anweisungen werden
verwendet, um zum Beispiel die zentrale Verarbeitungseinheit 104 von 1 zu
steuern oder zusammen mit derselben wirksam zu sein.
-
Unter
erneuter Bezugnahme auf 3A ist ein
System 300 gezeigt, das Streamingmedien an Mobilclients über verdrahtete/drahtlose
Hybridnetze gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung liefert. Bei einem Ausführungsbeispiel
besteht das System 300 aus ein oder mehr Servern (304a–304e),
ein oder mehr drahtlosen Basisstationen (306a und 306b)
und ein oder mehr Mobilclients (zum Beispiel Mobiltelefon 302 und/oder
Personaldigitalassistenten (PDAs) 308a und 308b),
wie es in 3A gezeigt ist. Das System
der vorliegenden Erfindung kann eine größere oder kleinere Anzahl von Komponenten
umfassen, als speziell bei dem Ausführungsbeispiel von 3A veranschaulicht sind. Beispielweise bildet,
obwohl dies nicht immer erforderlich ist, ein Inhaltsserver 310 auch
einen Teil des Systems des Ausführungsbeispiels
von 3A. Wichtig bei der folgenden
Erörterung
ist, dass der Begriff „Server" bei verschiedenen
Ausführungsbeispielen
eine Vorrichtung umfassen soll, die funktionell einem Computer ähnelt (die
zum Beispiel Rechenfähigkeit,
Speicher und/oder eine Konnektivitäts- bzw. Anschlussfähigkeit
aufweist). Ein typischer Server gemäß der Definition, wie dieselbe
bei der vorliegenden Anmeldung verwendet wird, kann einen beliebigen
Computer (zum Beispiel Großcomputer,
Firmenserver, Personalcomputer (PC), Laptop, Personaldigitalassistent
(PDA) und dergleichen) umfassen, ist jedoch nicht darauf beschränkt. Bei
verschiedenen anderen Ausführungsbeispielen
der vorliegenden Erfindung soll der Begriff „Server" eine Vorrichtung umfassen, die normalerweise
nicht als ein Computer betrachtet wird, jedoch ähnliche Fähigkeiten aufweist. Bei einem
derartigen Ausführungsbeispiel
ist der Server zum Beispiel aus einem fortgeschrittenen Mobiltelefon
gebildet.
-
Es
ist wichtig, dass darauf hingewiesen wird, dass die Verfahren von
verschiedenen Ausführungsbeispielen
der vorliegenden Erfindung bei festen verdrahteten Clients und/oder
drahtlosen Mobilclients anwendbar sind. Speziell ist der Mobilclientfall
eine allgemeinere und Obermengenversion des Festclientfalls. Zum
Beispiel werden bei dem Mobilclientfall die MD-Bitströme durch
einen Server oder mehrere Server an einen Mobilclient durch eine
oder mehr Basisstationen geliefert. Im Gegensatz dazu würden bei dem
entsprechenden Fest-(verdrahtet) Clientfall der Server oder die
Server stattdessen die MD-Bitströme direkt
ohne die Notwendigkeit einer Basisstation an den festen Client liefern.
Deshalb erörtert
die folgende Erörterung
speziell den allgemeineren und Obermengen-Mobilclientfall. Aus Gründen der
Kürze und Übersichtlichkeit
werden redundante Beispiele für Festclientfälle hier
nicht präsentiert.
Es ist für
einen Fachmann jedoch ersichtlich, dass bei einem Beispiel, bei
dem MD-Bitströme
durch einen Server oder mehrere Server durch eine oder mehr Basisstationen an
einen Mobilclient geliefert werden, der Server oder die Server bei
dem Festclientfall stattdessen die MD-Bitströme ohne die Notwendigkeit einer
Basisstation an den festen Client liefern würden. Unter jetziger Bezugnahme
auf 3B ist ein System 350 gezeigt,
das gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung Streamingmedien über ein Netz (zum Beispiel
das Internet) an feste Clients liefert. Bei einem Ausführungsbeispiel
besteht das System 350 aus einem oder mehr festen Clients
(zum Beispiel Personalcomputer 352 und 356), ein
oder mehr Servern (304a–304e), einem Inhaltsserver 310. Bei
dem vorliegenden Ausführungsbeispiel
ist der feste Client 352 mit einem Netz 351 über eine
verdrahtete Verbindung 354 gekoppelt. Auf ähnliche Weise
ist der feste Client 356 mit dem Netz 351 über eine
verdrahtete Verbindung 358 gekoppelt. Das System der vorliegenden
Erfindung kann mehr oder weniger Komponenten umfassen, als bei dem
Ausführungsbeispiel
von 3B speziell veranschaulicht
sind. Beispielweise bildet, obwohl dies nicht immer erforderlich
ist, der Inhaltsserver 310 auch einen Teil des Systems
des Ausführungsbeispiels
von 3B. Wie es im Vorhergehenden
erwähnt
ist, soll bei der folgenden Erörterung
der Begriff „Server" bei verschiedenen
Ausführungsbeispielen
eine Vorrichtung umfassen, die funktionell einem Computer ähnelt (die
zum Beispiel Rechenfähigkeit,
Speicher und/oder eine Konnektivitätsfähigkeit aufweist). Ein normaler
Server gemäß der Definition,
wie dieselbe bei der vorliegenden Anmeldung verwendet wird, kann
einen beliebigen Computer (zum Beispiel Großcomputer, Firmenserver, Personalcomputer
(PC), Laptop, Personaldigitalassistent (PDA) und dergleichen) umfassen,
ist jedoch nicht darauf beschränkt. Bei
verschiedenen anderen Ausführungsbeispielen der
vorliegenden Erfindung soll der Begriff „Server" eine Vorrichtung umfassen, die normalerweise
nicht als ein Computer betrachtet wird, jedoch ähnliche Fähigkeiten aufweist. Bei einem
derartigen Ausführungsbeispiel
ist der Server zum Beispiel aus einem fortgeschrittenen Mobiltelefon
gebildet.
-
Außerdem sei
darauf hingewiesen, dass die vorliegende Erfindung gut für eine Verwendung
bei einem beliebigen einer Vielzahl von verdrahteten und/oder drahtlosen
Netzen und auch bei den verschiedenen Kombinationen derselben geeignet
ist. Zum Beispiel sind Ausführungsbeispiele
der vorliegenden Erfindung gut geeignet zur Verwendung bei: Verdrahtet-und-Verdrahtet-Netzen
(zum Beispiel eine verdrahtete Netzinfrastruktur, die auch eine
verdrahtete Verbindung mit dem Client aufweist); Verdrahtet-und-Drahtlos-Netzen (zum
Beispiel eine verdrahtete Netzinfrastruktur, die eine drahtlose
Verbindung mit dem Client aufweist); Drahtlos-und-Verdrahtet-Netzen
(zum Beispiel eine drahtlose Netzinfrastruktur, die eine verdrahtete
Verbindung mit dem Client aufweist); und Drahtlos-und-Drahtlos-Netzen (zum
Beispiel eine drahtlose Netzinfrastruktur, die auch eine drahtlose
Verbindung mit dem Client aufweist). Insbesondere sind die Verfahren
der vorliegenden Erfindung auch anwendbar, wenn alle Verbindungen
drahtlos sind, wie bei dem Fall eines drahtlosen ad-hoc-Netzes,
bei dem einige der Knoten als Server und andere als Clients wirksam
sind. Es sei darauf hingewiesen, dass ein Knoten sowohl als ein
Server (Informationsquelle) als auch ein Client (Informationsverbraucher)
gleichzeitig wirksam sein kann. Ein interessantes Beispiel für diesen
letzteren Fall ist, wenn jeder Knoten ein Laptop oder PDR mit einer
drahtlosen Verbindung ist. Es sei auch darauf hingewiesen, dass
jedes Mobiltelefon sowohl als ein Sender als auch ein Empfänger von
MD-Strömen
in einer Drahtlos/verdrahtet/drahtlos-Situation wirksam sein kann.
-
Unter
jetziger Bezugnahme auf die 3A und 3B würden bei
folgenden Erörterungen,
bei denen zum Beispiel MD-Bitströme durch
einen Server oder mehrere Server durch eine oder mehr Basisstationen
(wie es in 3A gezeigt ist) an einen Mobilclient
geliefert werden, bei dem entsprechenden Festclientfall der Server
oder die Server stattdessen die MD-Bitströme ohne die Notwendigkeit einer
Basisstation an den festen Client liefern. Somit ist es ersichtlich,
dass die im Folgenden angeführten
Mobilclient-basierten Beispiele und Erörterungen auch bei Festclientsystemen
anwendbar sind. Das heißt,
die folgenden Mobilclient-basierten Beispiele und Erörterungen
sollen die vorliegende Erfindung nicht auf eine ausschließliche Anwendbarkeit
bei Mobilclientsystemen beschränken.
-
Unter
jetziger Bezugnahme auf Flussdiagramm 400 von 4 sind
Schritte gezeigt, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung durchgeführt werden. Obwohl spezifische Schritte
in dem Flussdiagramm 400 von 4 offenbart
sind, sind derartige Schritte beispielhaft. Das heißt, die
vorliegende Erfindung ist gut für
ein Durchführen
verschiedener anderer Schritte oder Variationen der Schritte, die
in 4 angeführt
sind, geeignet. Bei Schritt 402 codiert das vorliegende
Ausführungsbeispiel
Daten, die an einen Mobilclient zu streamen sind, zu zwei oder mehr
MD-Strömen.
Bei einem Ausführungsbeispiel
sind die zu streamenden Daten aus einer Videosequenz gebildet. Wie
es bereits erwähnt
wurde, weisen MD-Ströme
die Eigenschaft auf, dass ein beliebiger Teilsatz derselben zu einem
Medienstrom decodiert werden kann, dessen Qualität von der Anzahl von decodierten
Strömen
abhängt.
Bei dem vorliegenden Ausführungsbeispiel kann
dieses Codieren in Echtzeit erfolgen, oder dasselbe kann im Voraus
erfolgen, wobei in diesem Fall die vorberechneten MD-Ströme auf einem
Inhaltsserver (zum Beispiel Inhaltsserver 310 von 3) gespeichert werden.
-
Unter
weiterer Bezugnahme auf Schritt 402 verwendet die vorliegende
Erfindung bei dem vorliegenden Ausführungsbeispiel speziell konzipierte Mehrbeschreibungsmedienströme, die
komplementäre
Informationen enthalten (im Gegensatz zu einem Duplizieren der Informationen).
Insbesondere wird der ursprüngliche
Medienstrom unter Verwendung eines Mehrbe schreibungsalgorithmus
zu einer Anzahl von getrennten Beschreibungen oder Bitströmen codiert.
Diese Beschreibungen weisen die Eigenschaft auf, dass (1) jeder
Bitstrom unabhängig
für den
Client nützlich
ist, und (2) jeder Bitstrom komplementäre Informationen enthält. Es sei
zum Beispiel der Fall eines Mehrbeschreibungscodierens mit zwei
Beschreibungen betrachtet. Solange der Empfänger einen der Bitströme empfängt, kann
derselbe einen verwendbaren Medienstrom decodieren. Falls der Empfänger beide
Bitströme
empfängt,
kann derselbe einen Medienstrom höherer Qualität decodieren,
als wenn derselbe einen der Bitströme allein empfangen hätte. Außerdem liefern
die MD-Ströme
diese Eigenschaften, während
dieselben nur eine geringfügig
höhere Gesamtbitrate
erfordern als diejenige, die von einem herkömmlichen Codieralgorithmus
benötigt
wird, der diese Eigenschaften nicht liefert. Außerdem ist ein wichtiger Punkt,
dass jede Beschreibung oder jeder MD-Bitstrom gleich wichtig ist.
Dies steht im Gegensatz zu herkömmlichen
skalierbaren Schemata, bei denen der Basisschichtbitstrom von entscheidender Bedeutung
ist. Das heißt,
falls bei herkömmlichen skalierbaren
Schemata der Basisschichtbitstrom verloren geht, sind die anderen
ein oder mehr Bitströme nutzlos.
Insbesondere gibt es, da jeder MD-Bitstrom bei dem vorliegenden
Ausführungsbeispiel
gleich wichtig ist, keinen einzelnen Fehlerpunkt in dem Sinn, dass
es keinen einzelnen Bitstrom gibt, der empfangen werden muss.
-
Bei
Schritt 404 verteilt das vorliegende Ausführungsbeispiel
dann die MD-Ströme
an eine Anzahl von unterschiedlichen Servern (zum Beispiel Server 304a–304e von 3), die in einem ganzen Netz an Zwischenknoten
platziert sind. Durch ein geeignetes Verteilen der MD-Ströme beseitigt
die vorliegende Erfindung die Möglichkeit,
dass irgendein einzelner Fehler alle Ströme nutzlos machen kann. Bei
einem Ausführungsbeispiel
verwendet die vorliegende Erfindung Server, die an Zwischenknoten
in dem Netz platziert sind, zum Beispiel neben einem Router oder
einem verdrahteten/drahtlosen Gateway (Netzübergang). Bei dem vorliegenden Ausführungsbeispiel
senden die Server 304a–304e die
MD-Ströme an nahegelegene
drahtlose Basisstationen 306a und 306b, wenn Mobilclients 302, 308a und 308b durch
ihre Abdeckungsbereiche roamen. Die drahtlosen Basisstationen 306a und 306b empfangen
Daten von dem verdrahteten Netz und senden diese Daten drahtlos
an die Mobilclients 302, 308a und 308b. Ebenso
empfangen die drahtlosen Basisstationen 306a und 306b drahtlos
Daten von den Mobilclients 302, 308a und 308b und
senden diese Daten an das verdrahtete Netz. Somit können die
drahtlosen Basisstationen 306a und 306b so betrachtet
werden, dass dieselben ein verdrahtet/drahtlos-Gateway und einen drahtlosen Sender/Empfänger aufweisen.
Außerdem überwinden,
wie es im Folgenden genauer beschrieben wird, die verschiedenen
Ausführungsbeispiele
der vorliegenden Erfindung die nicht garantierte Beschaffenheit
der besten Bemühung
von existierenden Netzen durch ein dynamisches Liefern von MD-Strömen an Mobilbenutzer
von den zugänglichsten
Servern basierend auf Benutzermobilität, Netzüberlastung und Serverlast.
-
Unter
weiterer Bezugnahme auf Schritt 404 stellt die vorliegende
Erfindung sicher, dass kein einzelner Fehler den Verlust aller Ströme bewirkt.
In dem Kontext des obigen Beispiels kann ein Videosequenzmedienstrom
zu zwei MD-Strömen codiert
werden, die dann an zwei unterschiedlichen Speicherungsmodulen platziert
werden, die mit zwei unterschiedlichen Servern an zwei unterschiedlichen
Orten in dem Netz verbunden sind. Auf diese Weise können die
zwei MD-Ströme über zwei
unterschiedliche Wege in dem verdrahteten Netz gesendet werden,
und zwei unterschiedliche Basisstationen können die zwei MD-Ströme über zwei
unterschiedliche drahtlose Kanäle
an den Empfangsclient senden. Auf diese Weise erreicht das vorliegende
Ausführungsbeispiel
einen Diversity-Pegel, der viele potentielle einzelne Fehlerpunkte
beseitigt.
-
Unter
jetziger Bezugnahme auf Schritt 406 liefert das vorliegende
Ausführungsbeispiel
einen Zugriff auf die MD- codierten
Ströme
für einen
Mobilclient. Das heißt,
die MD-Ströme sind
zum Beispiel für ein
anforderndes Mobiltelefon, einen PDA, einen Laptopcomputer oder
einen anderen derartigen Mobilclient zugänglich.
-
Unter
erneuter Bezugnahme auf die Schritte 402, 404 und 406 wird
im Folgenden ein detailliertes Beispiel (unter Verwendung von 3 zur Veranschaulichung) für die Operation
des vorliegenden Ausführungsbeispiels
geliefert. Bei dem vorliegenden Beispiel wurde ein Videosequenzmedienstrom vorhergehend
zu zwei MD-Strömen
codiert, die dann beide auf dem Inhaltsserver 310 gespeichert
wurden. Der erste der zwei MD-Ströme ist an einem ersten Speicherungsmodul
platziert, das mit dem Server 304a gekoppelt ist. Der zweite
der zwei MD-Ströme ist
an einem zweiten Speicherungsmodul platziert, das mit dem Server 304e gekoppelt
ist. Wenn der Videosequenzmedienstrom zum Beispiel durch das Mobiltelefon 302 angefordert
wird, wird der erste der zwei MD-Ströme über einen ersten Weg an das
Mobiltelefon 302 gesendet, und der zweite der zwei MD-Ströme wird über einen
zweiten Weg an das Mobiltelefon 302 gesendet. Bei dem vorliegenden
Beispiel weist der erste Weg eine Übertragung über eine verdrahtete Netzverbindung
von dem Server 304a schließlich zu der drahtlosen Basisstation 306a und dann
ein drahtloses Übertragen
des ersten MD-Stroms der angeforderten Videosequenz von der drahtlosen
Basisstation 306a zu dem Mobiltelefon 302 auf.
Außerdem
weist bei dem vorliegenden Beispiel der zweite Weg eine Übertragung über eine
verdrahtete Netzverbindung von dem Server 304e schließlich zu
der drahtlosen Basisstation 306b und dann ein drahtloses Übertragen
des zweiten MD-Stroms der angeforderten Videosequenz von der drahtlosen
Basisstation 306b zu dem Mobiltelefon 302 auf.
Die MD-Ströme
des vorliegenden Ausführungsbeispiels
weisen die Eigenschaft auf, dass eine beliebige Anzahl von Strömen zu einer
Sequenz decodiert werden kann, wobei die Qualität der decodierten Sequenz von
der Anzahl von decodierten MD-Strömen abhängt. Genauer kann ein beliebiger MD-Strom
zu Basisqualitätsdaten
decodiert werden; beliebige zwei MD-Ströme können zu Daten verbesserter
Qualität
decodiert werden; und so weiter, bis schließlich alle MD-Ströme zu den
Daten der höchsten
Qualität
decodiert werden können.
Sollte somit einer der Wege bei dem vorangegangenen Beispiel (zum
Beispiel der zweite Weg) ausfallen, kann das Mobiltelefon 302 trotzdem
die angeforderte Videosequenz nur basierend auf dem Empfangen von
nur einem der MD-Ströme
empfangen und verwenden.
-
Obwohl
ein derartiger erster und zweiter Weg in dem vorliegenden Beispiel
angeführt
sind, ist die vorliegende Erfindung gut für eine Verwendung mit den zahlreichen
Wegen geeignet, die zum Beispiel in dem Netz des Systems 300 aufgebaut
werden können.
Obwohl zwei MD-Ströme
in der vorliegenden Beschreibung angeführt sind, ist die vorliegende
Erfindung außerdem
gut zur Verwendung bei mehr als zwei MD-Strömen von Daten geeignet. Somit
liefert das vorliegende Ausführungsbeispiel,
das aus einem Mehrbeschreibungscodieren und einer System-Diversity
gebildet ist, eine verbesserte Systemzuverlässigkeit auf eine effizientere
Weise als der herkömmliche
Lösungsansatz
einer Ressourcenduplizierung. Außerdem ermöglicht das vorgeschlagene System
die Beseitigung einer Anzahl von einzelnen Fehlerpunkten, die herkömmliche
Systeme beeinträchtigen.
Auch können,
wie es im Vorhergehenden erwähnt
ist, aus Gründen
der Übersichtlichkeit
und Kürze
die obige und die folgende Erörterung
und die Beispiele speziell Videodaten behandeln. Die vorliegende
Erfindung ist jedoch nicht nur auf eine Verwendung bei Videodaten
beschränkt.
Stattdessen ist die vorliegende Erfindung gut für eine Verwendung bei audiobasierten
Daten, sprachbasierten Daten, bildbasierten Daten, Graphikdaten,
webseitenbasierten Daten und dergleichen geeignet.
-
Somit
liefert die vorliegende Erfindung ein Verfahren und ein System zum
Streamen von Medien an feste Clients und/oder Mobilclients. Die
vorliegende Erfindung liefert ferner ein Verfahren und ein System
zum Streamen von Medien an feste Clients und/oder Mobilclients,
wobei das Verfahren und das System eine erhöhte Zuverlässigkeit und Effizienz gegenüber herkömmlichen
Systemen liefern.
-
Außerdem können die
Mehrbeschreibungsbitströme
an Servern auf eine Vielzahl von Weisen abhängig von der spezifischen Situation
platziert werden. Zum Beispiel können
einige Server alle Beschreibungen speichern, während andere Server nur einen
Teilsatz der Beschreibungen speichern können. Ein Beispiel für ersteres
ist ein Zentralserver, der eine hohe Konnektivität mit einer großen Anzahl
von Clients aufweist, derselbe kann alle Beschreibungen speichern
und adaptiv auswählen,
einen spezifischen Teilsatz der Beschreibungen an jeden spezifischen
Client basierend auf der bestimmten Situation des Clients (zum Beispiel
die anderen Server, mit denen der Client verbunden ist, und die
Beschreibungen, die diese anderen Server liefern können) zu übertragen.
Andererseits kann es andere Server geben, für die nur ein Teilsatz der
Beschreibungen gespeichert wird, zum Beispiel kann auf einigen Servern
nur die erste Beschreibung gespeichert werden, und die zweite Beschreibung
kann auf anderen Servern gespeichert werden. Die Strategie zum Verteilen von
Beschreibungen auf unterschiedliche Server kann von einer Anzahl
von Faktoren abhängen,
wie zum Beispiel den Rechen- und
Speicherungsfähigkeiten
jedes Servers, seiner Konnektivität, typischen Netzbedingungen,
einer Trennung von Wegen und der Popularität der spezifischen zu liefernden
Medien.
-
Wenn
eine spezifische Mediensequenz codiert wird, können die Medien zu mehreren
Beschreibungen codiert werden, wobei jede Beschreibung die gleiche
Bitrate erfordert und in etwa die gleiche Qualität liefert. Dies kann als symmetrisches
Mehrbeschreibungscodieren bezeichnet werden. Alternativ dazu können die
Medien zu mehreren Beschreibungen codiert werden, wobei jede Beschreibung
eine unterschiedliche Bitrate erfordern kann und eine unterschiedliche
Qualität
liefern kann. Dies kann als unsymmetrisches Mehrbeschreibungscodieren
bezeichnet werden. Ein Codieren eines Mediums zu unsymmetrischen
mehreren Beschreibungen ist bei Situationen wichtig, bei denen eine
unsymmetrische Operation erforderlich ist, zum Beispiel wenn unsymmetrische
Speicherung an unterschiedlichen Servern verfügbar ist oder unsymmetrische
verfügbare
Bandbreiten an unterschiedlichen Wegen vorliegen. Für sowohl
das symmetrische als auch das unsymmetrische Mehrbeschreibungscodieren
ist die Schlüsseleigenschaft,
dass, solange der Client einen beliebigen Teilsatz der mehreren
Beschreibungen empfängt,
derselbe einen verwendbaren decodierten Medienstrom erzeugen kann,
und dass in dem Maße,
in dem derselbe mehr Beschreibungen empfängt, die Qualität des decodierten
Medienstroms zunimmt.
-
Eine
Mediensequenz kann anfangs zu symmetrischen Mehrbeschreibungsbitströmen codiert werden,
wobei jeder Bitstrom in etwa die gleiche Bitrate erfordert, und
diese Mehrbeschreibungsströme können geeignet
an unterschiedlichen Servern in dem Netz platziert werden. Diese
MD-Bitströme
können
nachfolgend zu unterschiedlichen niedrigeren Bitraten umcodiert
werden, um geeignet zu den Bandbreiten zu passen, die für einen
Client zu einer bestimmten Zeit verfügbar sind. Falls zum Beispiel
ein spezifischer Client eine unsymmetrische Operation benötigt, falls
zum Beispiel zwei Wege für
den Client verfügbar
sind und die verfügbare
Bandbreite jedes Weges unterschiedlich ist, können die Server die Mehrbeschreibungsbitströme zu den
geeigneten Bitraten umcodieren, die an jedem Weg verfügbar sind. Außerdem kann
die verfügbare
Bitrate entlang einem spezifischen Weg in Abhängigkeit von der Zeit variieren,
und der Server, der für
ein Liefern des Mehrbeschreibungsbitstroms entlang dieses Weges
zuständig
ist, kann dann den Bitstrom geeignet umcodieren, um zu der verfügbaren Bitrate
an diesem Weg in Abhängigkeit
von der Zeit zu passen. Auf diese Weise kann das System effizient
die verfügbare
Bandbreite verwenden, um die rekonstruierte Qualität bei dem Client
zu maximieren.
-
Die
Verteilung von Mehrbeschreibungsbitströmen auf unterschiedliche Server
sowie die Zuweisung von unterschiedlichen Servern, unterschiedliche
MD-Bitströme
an einen spezifischen Client zu übertragen,
hängt von
einer Anzahl von Faktoren ab, die Folgendes umfassen: Nachfrage
bei jedem Server, verfügbare
Bandbreite und Verlust entlang des Weges von jedem Server zu dem
Client und die Trennung der mehreren Wege.
-
Das
Problem der Trennung ergibt sich nicht bei der früheren Arbeit,
da herkömmliche
Lösungsansätze einen
einzigen Bitstrom entlang eines einzigen Wegs übertragen. Bei dem vorgeschlagenen
Lösungsansatz
werden mehrere Bitströme
explizit entlang mehrerer Wege übertragen,
und es ist erwünscht,
dass diese mehreren Wege so getrennt wie möglich sind, um die Wahrscheinlichkeit
zu minimieren, dass ein einziger Fehler zu dem Verlust aller der mehreren
Beschreibungen führen
kann. Zum Beispiel wird in dem Fall von zwei MD-Bitströmen jeder Strom über einen
getrennten Weg von einem Server zu dem Client gesendet. Jeder dieser
Wege besteht aus einer Sequenz von Verbindungen, und diese zwei
Wege können
eine Anzahl von gemeinschaftlich verwendeten Verbindungen sowie
eine Anzahl von Verbindung umfassen, die nicht gemeinschaftlich verwendet
werden. Gemeinschaftlich verwendete Verbindungen werden als gemeinsame
Verbindungen bezeichnet, und nicht gemeinschaftlich verwendete Verbindung
werden als getrennte Verbindungen bezeichnet. Idealerweise sind
alle Verbindungen an den zwei Wegen getrennt. In der Praxis kann
es jedoch sein, dass dies bisweilen nicht möglich ist. Das primäre Ziel
besteht darin, die Anzahl von verlustbehafteten gemeinsamen Verbindung
zu minimieren. Falls zum Beispiel eine näherungsweise verlustlose Backbone-
bzw. Hauptnetzverbindung gemeinsam ist oder von beiden Wegen gemeinschaftlich
verwendet wird, wird dies die Kommunikationsqualität nicht beeinträchtigen,
da die Verbindung verlustlos ist. Eine verlustbehaftete gemeinsame
Verbindung kann jedoch eine nachteilige Wirkung auf die Leistung
des Systems haben, da jegliche Verluste, die zum Beispiel durch eine Überlastung
erzeugt werden, zu dem Verlust beider Beschreibungen führen können. Deshalb
wählt das
System bei einem gegebenen bestimmten Client sorgfältig zwei
Server aus, um die zwei Mehrbeschreibungen an den Client zu senden, derart,
dass diese Server maximal getrennte Wege zwischen denselben und
dem Client aufweisen. Außerdem
werden, um MD-Ströme
auf einen Satz von Servern zu verteilen, der erwartete Ort von Clients sowie
die Konnektivität
zwischen jedem Server und den erwarteten Clients berücksichtigt,
um die Verteilung zu bestimmen, die die maximal getrennten Wege
zwischen Servern und erwarteten Clients ermöglichen würde. Natürlich wird eine andere herkömmlichere
Metrik, wie zum Beispiel verfügbare Bandbreite
und Verluste an jeder Verbindung, ebenfalls bei dieser Optimierung
berücksichtigt.
Diese herkömmliche
Metrik wird nicht erörtert,
da dieselbe auch bei herkömmlichen
Systemen verwendet wird.
-
Anfangsmehrbeschreibungsbitstromplatzierung
und Neuverteilung bei Servern
-
Wie
es im Folgenden genauer erörtert
ist, muss das MD-Medienbitstromsystem
der verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung eine Anzahl von Schritten vor und während einer
Streamingsitzung durchführen.
Der vorliegende Abschnitt erörtert
speziell die Zuweisung und Verteilung auf Server, zum Beispiel Server 304a–304e,
die in einem ganzen Netz angeordnet sind, wie es zum Beispiel in 3 gezeigt ist.
-
Bei
dem vorliegenden Ausführungsbeispiel werden
vor einer Clientanforderung oder auf dieselbe hin die geeigneten
Daten (zum Beispiel eine Videosequenz) zu MD-Bitströmen codiert.
Dann werden die MD-Bitströme
Servern zugewiesen und auf dieselben verteilt, die in dem ganzen
Netz angeordnet sind. Um eine Ende-zu-Ende- (d. h. Server-zu-Client-)
Verzögerung
dynamisch zu minimieren, wird ein Inhalt bei Servern bei Regionen
mit in hohem Maße erwarteter
Nachfrage (zum Beispiel Hot-Spots) platziert. Außerdem werden MD-Bitströme unter
Servern auf eine Weise verteilt, dass ein beliebiger Client einen
vollständigen
Satz von MD-Bitströmen in seiner nächsten Nähe finden
kann.
-
Das
vorliegende Ausführungsbeispiel
liefert ein Verfahren, um (1) Server anfänglich mit MD-Bitströmen von
Inhaltsanbietern zu bestücken
und (2) die MD-Bitströme
unter den Servern nach der Anfangsbestückung neu zu verteilen. Das
Anfangsserverbestückungsverfahren
des vorliegenden Ausführungsbeispiels
findet statt, wenn ein frischer Inhalt anfänglich in Erwartung von Clientanforderungen
auf Server verteilt werden muss, und auch wenn ein Client, der einen
Inhalt anfordert, auf einen Fehltreffer bei einem oder mehr Servern
in der Nähe
des Clients stößt. Beispielsweise
wird das vorliegende Anfangsserverbestückungsverfahren verwendet,
wenn ein Client einen Filmtrailer anfordert, der noch nicht auf irgendeinen
Server geladen worden ist.
-
Das
Verfahren der vorliegenden Erfindung der Neuverteilung der MD-Bitströme unter
den Servern findet statt, wenn Parameter, wie zum Beispiel Verwendungsmuster,
Mobilitätstrends,
Netzbedingungen, Trennung von Wegen zu Mobilclients, Berechnungsgrößen und/oder
Bitstromgrößen, sich
verändern.
Ein Ausführungsbeispiel
des vorliegenden Verfahrens berücksichtigt
derartige Parameter auch während
einer Anfangsbestückung
der Server mit den MD-Bitströmen.
Andere Parameter, die die Neuverteilung der MD-Bitströme unter
den Servern bewirken, umfassen zum Beispiel Netzkonnektivität, Netztopologie,
Serverlast, Serverspeicherplatz, Serververfügbarkeit und Server-I/O-Bandbreite.
Das vorliegende Anfangsserverbestückungsverfahren wird zum Beispiel
verwendet, wenn MD-Bitströme,
wenn sich ein Client bewegt, zu Servern bei der neuen Region vorabgerufen
werden, falls dieselben noch nicht verfügbar sind.
-
Die
Verfahren des vorliegenden Ausführungsbeispiels
werden nun im Zusammenhang mit 5 und
Flussdiagramm 600 von 6 beschrieben. 5 ist
ein schematisches Diagramm, das eine Inhaltsquelle 502,
eine Mehrzahl von Servern 504a–504j und eine Mehrzahl
von Zellen 506, die eine Zelle 506a und eine Zelle 506b umfassen,
veranschaulicht. Obwohl spezifische Schritte in dem Flussdiagramm 600 von 6 offenbart
sind, sind diese Schritte exemplarisch. Das heißt, die vorliegende Erfindung
ist gut für
ein Durchführen
verschiedener anderer Schritte oder Variationen der Schritte, die in 6 angeführt sind,
geeignet. Außerdem
beginnt die folgende Erörterung
mit dem Anfangsserverbestückungsverfahren
des vorliegenden Ausführungsbeispiels.
Unter jetziger Bezugnahme auf Schritt 602 von 6 identifiziert
das vorliegende Verfahren zuerst die Zelle c0 mit der höchsten Nachfrage,
die in Echtzeit geschätzt
wird, oder mit der erwarteten höchsten
Nachfrage in der vorhersehbaren Zukunft über einem bestimmten Schwellenwert
v, d. h. das vorliegende Ausführungsbeispiel
identifiziert den „heißesten Hot-Spot". Falls keine derartige
Zelle existiert, dann liegt nicht genug Clientkonzentration vor,
um eine Serverbestückung
gemäß dem vorliegenden
Ausführungsbeispiel
zu erfordern. Falls eine derartige Zelle existiert, geht das vorliegende
Ausführungsbeispiel
zu Schritt 604 über.
Die vorliegende Erfindung ist gut für ein Variieren des Schwellenwerts v
zu einem gewünschten
Wert geeignet. Zu Veranschaulichungszwecken sei angenommen, dass
festgestellt wird, dass die Zelle 506a von 5 die
Zelle mit der höchsten
Nachfrage über
dem Schwellenwert v ist. Auch wird bei einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung ein Server mit den MD-Bitströmen bestückt, wenn
derselbe eine hohe Konnektivität
in dem Netz aufweist und somit in der Lage ist, ohne weiteres nahegelegene
Hot-Spots mit geringer Verzögerung
und hoher Bandbreite zu bedienen. In anderen Worten kann bei einem
derartigen Ausführungsbeispiel,
selbst wenn ein Server sich nicht an dem „heißesten Hot-Spot" oder sogar nur an einem
Hot-Spot befindet, falls derselbe sich in der Nähe eines Hot-Spots hinsichtlich
Netzbedingungen befindet, derselbe mit MD-Bitströmen bestückt werden.
-
Bei
Schritt 604 initialisiert das vorliegende Ausführungsbeispiel
dann die Anzahl von Servern (S), die erforderlich sind, um diese „heißeste" Zelle d zu bedienen,
um N zu sein, wobei N die Anzahl von MD-Bitströmen ist, die den Inhalt bilden,
der an den Mobilclient zu streamen ist. Erneut wurde zu Veranschaulichungszwecken
bei dem vorliegenden Ausführungsbeispiel
eine Videosequenz zu zwei MD-Bitströmen codiert.
Der erste MD-Bitstrom ist als „0" dargestellt, und
der zweite MD-Bitstrom ist durch eine „1" dargestellt. Obwohl nur zwei MD-Bitströme bei dem obigen
Ausführungsbeispiel
angeführt
sind, ist die vorliegende Erfindung gut für Medien geeignet, die zu mehr
als zwei MD-Bitströmen codiert
werden. Außerdem
können
die obige und die folgende Erörterung und
die Beispiele aus Gründen
der Übersichtlichkeit und
Kürze speziell
eine Videosequenz behandeln. Die vorliegende Erfindung ist jedoch
nicht nur auf die Verwendung bei einer Videosequenz beschränkt. Stattdessen
ist die vorliegende Erfindung gut für eine Verwendung bei audiobasierten
Daten, sprachbasierten Daten, bildbasierten Daten, Graphikdaten, webseitenbasierten
Daten und dergleichen geeignet. Auch ist, obwohl d bei dem vorliegenden
Beispiel gesetzt ist, um gleich N zu sein, die vorliegende Erfindung
auch gut für
ein Setzen des Wertes d geeignet, um nicht gleich N zu sein.
-
Unter
weiterer Bezugnahme auf Schritt 604 setzt das vorliegende
Ausführungsbeispiel,
weil zwei MD-Bitströme
im Vorhergehenden angeführt
sind (d. h. weil N bei dem vorliegenden Beispiel 2 ist), die Anzahl
von Servern (S), d, die benötigt
wird, um die „heißeste" Zelle, Zelle 506a,
zu bedienen, auf zwei.
-
Bei
Schritt 606 findet das vorliegende Ausführungsbeispiel dann die d Server,
die am nächsten an
der Zelle c0 sind, und bestimmt, ob diese Server die N MD-Bitströme enthalten.
-
Das
heißt,
das vorliegende Verfahren bestimmt, welcher Teilsatz der verfügbaren Server
in der Nähe
von Zelle c0 angeordnet ist. Somit ermittelt bei dem vorliegenden
Beispiel das vorliegende Ausführungsbeispiel
die zwei Server, die sich am nächsten
bei der Zelle 506a befinden. Es sei darauf hingewiesen,
dass bei dem vorliegenden Ausführungsbeispiel „Nähe" durch die aktuellen
Netzbedingungen gewichtet wird, so dass ein Server mit überlasteten Verbindungen „weit entfernt" von der heißesten Zelle c0
erscheint, selbst wenn derselbe topologisch in der Nähe sein
kann. Bei dem vorliegenden Beispiel werden die Server 504b und 504d als
am nächsten
bei der Zelle 506a erachtet. Bei dem vorliegenden Beispiel
bestimmt das vorliegende Verfahren dann, ob die zwei MD-Bitströme an den
Servern 504b und 504d vorhanden sind. Außerdem sind
die vorliegenden Ausführungsbeispiele
metrikunabhängig
und funktionieren somit bei einer anderen praktischen Metrik der
Nähe, wie
zum Beispiel geographische Entfernung.
-
Unter
weiterer Bezugnahme auf Schritt 606 ist, wenn die nächstgelegenen
Server die N MD-Bitströme
enthalten, das vorliegende Verfahren dann mit der heißesten Zelle
c0 fertig und geht zu der nächstheißesten Zelle über (d.
h. Rückkehr
zu Schritt 602). Falls die nächstgelegenen Server die N
MD-Bitströme
nicht enthalten, geht das vorliegende Ausführungsbeispiel dazu über, Schritt 608 durchzuführen. Somit
kehrt bei dem vorliegenden Beispiel, wenn die beiden MD-Bitströme der Videosequenz
bei den Servern 504b und 504d vorhanden sind,
das vorliegende Verfahren zu Schritt 602 zurück. Falls
andererseits die beiden MD-Bitströme der Videosequenz nicht bei den
Servern 504b und 504d vorhanden sind, dann geht
das vorliegende Verfahren zu Schritt 608 über. Somit
würde bei
der Darstellung von 5, da der erste MD-Bitstrom
0 bei dem Server 504b vorhanden ist und der zweite MD-Bitstrom
1 bei dem Server 504d vorhanden ist, das vorliegende Verfahren
zu Schritt 602 zurückkehren.
Falls jedoch entweder der erste MD-Bitstrom 0 oder der zweite MD-Bitstrom
1 bei einem der Server 504b und 504d nicht vorhanden wäre, würde das
vorliegende Verfahren zu Schritt 608 übergehen. Eine derartige Bedingung
würde zum
Beispiel während
einer Anfangsbestückung
der Server gemäß dem vorliegenden
Verfahren auftreten. Das heißt,
auf eine Identifikation der heißesten Zelle,
der erforderlichen Anzahl von Servern und der Bestimmung der nächstgelegenen
Server hin (und unter der Annname keiner vorhergehenden Bestückung der
aktuellen MD-Bitströme)
würde sich
herausstellen, dass die interessierenden MD-Bitströme nicht
bei den nächstgelegenen
Servern (oder irgendwelchen anderen Servern) vorhanden sind. Somit geht
abgesehen von einer vorhergehenden Bestückung der interessierenden
MD-Bitströme
das vorliegende Verfahren normalerweise zu Schritt 608 über.
-
Bei
Schritt 608 bestimmt das vorliegende Ausführungsbeispiel
dann, ob es effektiv ist, alle N MD-Bitströme an die d Server zu verteilen.
Als ein veranschaulichendes Beispiel kann es sein, dass es nicht
effektiv ist, alle N MD-Bitströme an die
d Server zu verteilen, wenn einer oder mehr der Server bereits sehr
schwer belastet sind, keinen ausreichenden Speicher aufweisen, um
einen MD-Bitstrom zu speichern, oder anderweitig nicht für die gewünschte Speicherung
des MD-Bitstroms geeignet sind. Bei einem Ausführungsbeispiel ist der vorliegende
Verteilungsschritt abhängig
von serverabhängigen
Bedingungen, wie zum Beispiel Last. Zum Beispiel wird ein MD-Bitstrom
nicht auf einem bestimmten Server platziert, wenn dieser Server über irgendeine
spezifizierte Schwelle hinaus belastet ist. Die vorliegende Erfindung
eignet sich gut zum Verändern
der im Vorhergehenden erwähnten
spezifischen Schwelle, um verschiedene Ziele zu gestatten. Folglich
wird bei dem vorliegenden Ausführungsbeispiel
ein Server, der leicht belastet ist, gegenüber einem vorgezogen, der sich
näher an
dem Hot-Spot (d.
h. der heißesten
Zelle c0) befindet, der jedoch bereits eine schwere Last trägt. Bei
dem vorliegenden Beispiel würde,
wenn angenommen wird, dass zum Beispiel entweder der erste MD-Bitstrom
0 oder der zweite MD- Bitstrom
1 nicht bei irgendeinem der Server 504b und 504d vorhanden
ist, das vorliegende Verfahren dann bestimmen, ob die zwei MD-Bitströme an die
Server 504b und 504d verteilt werden könnten. Falls
es effektiv ist, alle N MD-Bitströme an die d Server zu verteilen, geht
das vorliegende Verfahren zu Schritt 612 über, der
im Folgenden beschrieben ist. Falls es andererseits nicht effektiv
ist, alle N MD-Bitströme an die
d Server zu verteilen, dann geht das vorliegende Verfahren zu Schritt 610 über.
-
Bei
Schritt 610 inkrementiert, falls bei Schritt 608 bestimmt
wurde, dass es nicht effektiv ist, alle N MD-Bitströme an die d Server zu verteilen,
das vorliegende Verfahren die Anzahl von Servern d. Damit erhöht das vorliegende
Verfahren den potentiell verfügbaren
Serverraum und kehrt dann zu Schritt 606 zurück. Abhängig von
der Implementierung müssen Schritt 606 und
Schritt 608 nicht die Server, die als nicht geeignet für eine MD-Bitstromplatzierung
erachtet wurden, bei der nächsten
Iteration berücksichtigen.
Das heißt,
bei einem Ausführungsbeispiel
erhöht
die vorliegende Erfindung den Suchraum einer geeigneten MD-Bitstromplatzierung,
es ist jedoch nicht notwendig, die Server zu berücksichtigen, die Schritt 606 und/oder
Schritt 608 im Vorhergehenden nicht bestanden haben, außer die
Lastbedingungen bei diesen Servern haben sich in der Zwischenzeit geändert. Unter
Bezugnahme auf das vorliegende Beispiel würde, wenn die beiden Server 504b und 504d nicht
in der Lage wären,
die Speicherung der zwei MD-Bitströme zu gestatten,
die Anzahl von Servern von zwei auf drei erhöht. Bei einem Ausführungsbeispiel
wird die Anzahl von Servern durch ein Auswählen des nächstnähesten Servers bezüglich der
heißesten
Zelle c0 inkrementiert. Das vorliegende Beispiel kehrt dann zu Schritt 606 zurück und fährt von
diesem Punkt aus fort.
-
Bei
Schritt 612 verteilt, wenn bei Schritt 608 bestimmt
wurde, dass es effektiv ist, alle N MD-Bitströme an die d Server zu verteilen,
das vorliegende Verfahren dann die N MD-Bitströme an die d Server. Somit werden
unter Bezugnahme auf das vorliegende Beispiel, wenn die beiden Server 504b und 504d kumulativ
in der Lage sind, die Speicherung der zwei MD-Bitströme darauf
zu gestatten (und zwei MD-Bitströme nicht
vorhergehend darauf gespeichert worden waren), die zwei MD-Bitströme kumulativ
auf den Servern 504b und 504d gespeichert. Alls
ein spezifischeres Beispiel wird bei einem Ausführungsbeispiel zumindest einer
der MD-Bitströme auf dem
Server 504b gespeichert (zum Beispiel MD-Bitstrom 0), und zumindest
einer der MD-Bitströme
(zum Beispiel der verbleibende MD-Bitstrom 1) wird auf dem Server 504d gespeichert.
-
Obwohl
sich die vorhergehende Beschreibung hauptsächlich auf die erste Anwendung
des vorliegenden Verfahrens bezieht (d. h. Anfangsbestückung von
Servern mit MD-Bitströmen
von Inhaltsanbietern), ist der zweite Abschnitt des vorliegenden
Verfahrens (d. h. Neuverteilung der MD-Bitströme unter Servern nach der Anfangspopulation) ziemlich ähnlich.
Insbesondere beginnt in dem Fall einer Neuverteilung der MD-Bitströme unter
Servern nach der Anfangsbestückung
das vorliegende Verfahren das Verfahren der Schritte 602–612 mit
aktualisierten Benutzerstatistiken, um die heißeste Zelle zu identifizieren,
und um zu bestimmen, ob die neuen Hot-Spots (d. h. die heißesten Zellen)
ordnungsgemäß bedient
werden. Somit ermöglicht
das vorliegende Ausführungsbeispiel
ein dynamisches Neuzuweisen von MD-Bitströmen basierend auf benutzerdefinierten
Kriterien. Als ein Beispiel wird bei einem Ausführungsbeispiel das Verfahren
der vorliegenden Erfindung (d. h. Schritte 601–612)
jedes Zeitintervall einer vordefinierten Dauer neu gestartet. Bei
einem weiteren Ausführungsbeispiel
wird das Verfahren der vorliegenden Erfindung basierend auf einer
Treffer- oder Fehlschlagrate bei einem gegebenen Server neu gestartet.
Bei einem weiteren Ausführungsbeispiel
wird das Verfahren der vorliegenden Erfindung basierend auf bestimmten
bekannten Verkehrsmustern neu gestartet, denen das Netz unterworfen
ist. Bei einem weiteren Ausführungsbeispiel
wird das Verfahren der vorliegenden Erfindung basierend auf Netzüberlastungsbedingungen
neu gestartet. Verschiedene andere Ausführungsbeispiele der vorliegenden
Erfindung weisen MD-Bitströme basierend auf
anderen Kriterien neu zu. Zum Beispiel werden bei verschiedenen
Ausführungsbeispielen
MD-Bitströme neu zugewiesen,
wenn: ein Server überlastet ist
(d. h. dem Server gehen Rechenzyklen aus); die Speicherkapazität bei einem
Server überschritten
ist; oder auf eine Netzpartition hin (zum Beispiel Verbindungsfehler,
der sich von einer Überlastung
unterscheidet). Obwohl derartige spezifische Beispiele im Vorhergehenden
angeführt
sind, ist das vorliegende Verfahren gut dazu geeignet, die MD-Bitströme dynamisch
Servern nach der Anfangsbestückung
derselben basierend auf verschiedenen anderen Parametern neu zuzuweisen.
-
Das
vorliegende Ausführungsbeispiel
ist auch gut zum Variieren des Verfahrens geeignet, das in den Schritten 602–612 von 6 angeführt ist, derart,
dass die zu streamenden Daten anfangs auf Abschnitte eines Netzes
gesetzt werden oder zu denselben neu verteilt werden, wo eine größere Aktivität erwartet
wird. Zum Beispiel werden bei einem Ausführungsbeispiel der vorliegenden
Erfindung die MD-Bitströme auf denjenigen
Servern gespeichert oder zu denselben neu verteilt, die in der Nähe eines stark
frequentierten Pendelkorridors sind oder auf die von demselben zugegriffen
wird. Damit werden die MD-Bitströme
näher an
der großen
Menge von Mobilclients angeordnet, von denen erwartet wird, dass sich
dieselben entlang eines Pendelkorridors bewegen. Bei einem Ausführungsbeispiel
der vorliegenden Erfindung werden die MD-Bitströme dann während Nicht-Pendelstunden von
denjenigen Servern, die in der Nähe
von dem stark frequentierten Pendelkorridor sind oder auf die von
demselben zugegriffen wird, zu einem geeigneteren Ort neu verteilt.
Allgemeiner ist das vorliegende Verfahren gut für ein Variieren des Ortes geeignet,
an dem die MD-Bitströme gespeichert
werden, um einen erwarteten Mobilclientort und einen erwarteten
Bedarf zu gestatten.
-
Mehrere
verschiedene Vorteile werden durch das vorliegende Verfahren realisiert.
Zum Beispiel müsste
bei herkömmlichen
Schemata, damit ein zu streamender Inhalt vollständig auf einer Mehrzahl von
Servern verfügbar
ist, der gesamte Inhalt vollständig
dupliziert und in seiner Gesamtheit auf jedem der Mehrzahl von Servern
platziert werden. Eine derartige Duplizierung ist außerordentlich
ineffizient und verbracht wertvollen Speicherplatz und Plattenplatz. Im
Gegensatz dazu erzeugt die vorliegende Erfindung eine Mehrzahl von
MD-Bitströmen
des zu streamenden Inhalts. Wie es im Vorhergehenden erwähnt ist,
haben getrennte MD-Bitströme die Eigenschaft,
dass sie alle unabhängig
voneinander decodierbar sind. Genauer kann, wenn ein Decodierer
irgendeinen einzelnen Bitstrom empfängt, derselbe diesen Bitstrom
decodieren, um ein nützliches
Signal zu erzeugen (ohne dass ein Zugriff auf irgendeinen der anderen
Bitströme
erforderlich ist). Somit kann bei dem vorliegenden Ausführungsbeispiel
die Anzahl von erzeugten Bitströmen über eine
größere Anzahl
von Servern verteilt werden, ohne die ineffiziente Duplizierung
zu erfordern, die herkömmlichen
Systemen zugeordnet ist. Als ein Beispiel sei angenommen, dass eine
Videosequenz zu vier MD-Bitströmen MD-codiert wird. Bei
dem vorliegenden Verfahren könnten
die vier MD-Bitströme
einzeln auf vier jeweiligen Servern platziert werden, die sich in
einem gesamten Netz befinden (d. h. eine Beschreibung zu jedem der
vier Server). Somit ermöglicht
die vorliegende Erfindung, dass die Daten über einen größeren Bereich
verteilt werden, wodurch potentiell ein einfacherer Zugriff auf
eine größere Anzahl
von Mobilclients geliefert wird und/oder die Reichweite, über die die
Daten für
einen Mobilclient ohne weiteres verfügbar sind, vergrößert wird.
Ferner verbrauchen die vier MD-Bitströme kumulativ
nur wenig mehr Speicher als notwendig ist, um eine einzige herkömmlich gespeicherte
Kopie des zu streamenden Inhalts zu speichern. Um eine derartige
Abdeckung unter Verwendung von herkömmlichen Verfahren zu erreichen, müssten vier
vollständige
Duplikate des gesamten zu streamenden Inhalts auf jedem der im Vorhergehenden
erwähnten
vier Server platziert werden.
-
Als
einen weiteren Vorteil liefert das vorliegende Ausführungsbeispiel
einen intrinsischen Weg-Diversity-Vorteil, ohne eine ineffiziente
vollständige
Duplizierung von zu streamenden Daten zu erfordern. Das heißt, der
Mobilclient weist unter Verwendung des im Vorhergehenden genannten
Beispiels von vier MD-Bitströmen
das Potential auf, alle vier Ströme über vier
getrennte Übertragungswege anzufordern
und zu empfangen. Somit verhindert ein einzelner Fehlerpunkt (zum
Beispiel ein einziger Serverfehler) oder ein Netzverbindungsfehler
(zum Beispiel Partitionierung der Topologie) nicht den Empfang der
gestreamten Daten durch den Mobilclient.
-
Als
ein weiterer Vorteil ist das vorliegende Ausführungsbeispiel auch gut für ein Variieren
des Verfahrens geeignet, das in den Schritten 602–612 aufgeführt ist,
derart, dass eine verbesserte Zuverlässigkeit erreicht wird. Zum
Beispiel kann es sein, dass ein Inhaltsanbieter sicherstellen möchte, dass Mobilclients
einen übergeordneten
Zugriff auf die zu streamenden Daten haben. In einem derartigen
Fall kann der Inhaltsanbieter wählen,
Weg-Diversity-Optionen
und eine MD-Bitstromverfügbarkeit
zu erweitern. Bei einem extremen Beispiel würde das Verfahren des vorliegenden
Ausführungsbeispiels
alle der Mehrzahl von MD-Bitströmen auf
jedem verfügbaren Server
speichern, derart, dass die Daten ohne weiteres für einen
Mobilclient in Kommunikation mit dem Netz verfügbar sind. Das vorliegende
Verfahren ist auch gut für
einen weniger drastischen Lösungsansatz
geeignet, der nicht jeden der Mehrzahl von MD-Bitströmen auf jedem verfügbaren Server
speichert, jedoch trotzdem eine verbesserte Zuverlässigkeit
durch ein Erhöhen
der Anzahl von Servern, auf denen die MD-Bitströme gespeichert sind, und/oder durch
ein Speichern von mehr als einem der MD-Bitströme auf den ausgewählten Servern
liefert. Allgemeiner ist das vorliegende Verfahren gut für ein Variieren
der Dichte der gespeicherten MD-Bitströme in dem Netz geeignet.
-
Als
ein weiterer Vorteil ist die vorliegende Erfindung auch gut für ein Übertragen
von MD-Bitströmen über einen
Weg geeignet, der am wirksamsten arbeitet. Das heißt, das
vorliegende Ausführungsbeispiel
ist zum Beispiel auch gut für
ein Übertragen
aller MD-Bitströme
von einem einzigen Server (auf dem zufällig alle MD-Bitströme gemeinsam
gespeichert sind) geeignet, falls sich ein derartiger Lösungsansatz
als der schnellste erweist. Allgemeiner ist das vorliegende Verfahren
nicht zum Beispiel auf ein Übertragen
jedes der getrennten MD-Bitströme
an einen Mobilclient über
unterschiedliche jeweilige Wege beschränkt.
-
Als
ein weiterer Vorteil verringert die vorliegende Erfindung auch eine
Eingangs-/Ausgangs-(I/O-)Bandbreite, die auf einem Server verwendet
wird, verglichen mit herkömmlichen
Lösungsansätzen. Das
heißt,
bei den vorliegenden Ausführungsbeispielen
wird jeder MD-Bitstrom mit einer niedrigeren Bitrate als der ursprüngliche
vollständige Strom
codiert. Somit kann die Übertragung
des MD-Bitstroms mit einer Bitrate erreicht werden, die geringer
als diejenige ist, die erforderlich ist, um den ursprünglichen
vollständigen
Strom zu übertragen.
-
Dynamische Serversitzungszuweisung
basierend auf Serververfügbarkeit,
Stromorten und Verkehrsbedingungen
-
Wie
es im Folgenden genauer erörtert
ist, muss das MD-Medienstromsystem
der verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung eine Anzahl von Schritten vor und während einer
Streamingsitzung durchführen.
Der vorliegende Abschnitt erörtert
speziell die Zuweisung von Servern (zum Beispiel Server 702a–704d)
zu einem Mobilclient (zum Beispiel Mobilclients 706a–706i).
Zu Zwecken der Übersichtlichkeit
sind die Ausführungsbeispiele
der vorliegenden Erfindung teilweise im Zusammenhang mit den 7A, 7B und 7C beschrieben.
Es sei jedoch darauf hingewiesen, dass ein Streamingmediensystemnetz 701 der 7A bis 7C im
Wesentlichen die gleichen Komponenten wie das System 300 von 3 enthält.
Die neuen 7A bis 7C und
das System 701 werden hier präsentiert, anstatt sich erneut
auf 3 zu beziehen, um zu vermeiden,
dass 3 mit den zusätzlichen Darstellungen, die
in den 7A bis 7C enthalten
sind, unnötig überladen
wird.
-
Außerdem präsentiert
die folgende Erörterung
drei getrennte Fälle,
bei denen die vorliegende Erfindung verwendet wird. Zuerst erörtert 7A ein Ausführungsbeispiel,
bei dem zwei Server und eine einzelne Basisstation verwendet werden. 7B wird dann verwendet, um ein Ausführungsbeispiel
zu veranschaulichen, bei dem zwei Server und zwei Basisstationen
verwendet werden. Schließlich
wird 7C verwendet, um ein weiteres
Ausführungsbeispiel
der vorliegenden Erfindung zu veranschaulichen, bei dem ein Server
und zwei Basisstationen verwendet werden. Es sei darauf hingewiesen,
dass bei einem Festclientausführungsbeispiel
zum Beispiel des in 7A Gezeigten die vorliegende
Erfindung mehrere Server einteilen kann, um mehrere MD-Bitströme an den
festen Client anstatt an eine oder mehr Basisstationen zu übertragen.
Es sei ferner darauf hingewiesen, dass die Wege, auf die in den
vorliegenden Ausführungsbeispielen
Bezug genommen wird, vollständig
verdrahtet oder teilweise drahtlos sein könnten. Auch könnte der
drahtlose Teil von unterschiedlichen Wegen durch unterschiedliche Basisstationen
(nicht überlappend)
oder die gleiche Basisstation (überlappend)
verlaufen. Selbst die verdrahteten Teile von unterschiedlichem Weg
könnten eine Überlappung
aufweisen.
-
Unter
jetziger Bezugnahme auf 7A weist bei
einem Ausführungsbeispiel
jeder der Server 702a–702d die
Rechenleistung auf, um eine bestimmte Anzahl von MD-Strömen an eine
oder mehr Basisstationen (zum Beispiel Basisstationen 704a–704e)
zu liefern, mit denen derselbe eine Netzverbindung von ausreichender
Netzbandbreite hat. Die Basisstationen 704a–704e bedienen
ihre jeweiligen Zellen. In dem Fall der Anordnung, die in 7A gezeigt ist, bedient die Basisstation 704a Mobilclients 706a und 706b.
Auf ähnliche
Weise bedient die Basisstation 704b Mobilclients 706c, 706d und 706e, die
Basisstation 704c bedient Mobilclients 706f und 706g,
und die Basisstation 704e bedient Mobilclients 706h und 706i.
Obwohl eine derartige Anordnung in dem System 701 von 7A gezeigt ist, sei darauf hingewiesen, dass die
verschiedenen Mobilclients durch andere Basisstationen bedient werden
können,
wenn sich Bedingungen ändern
(zum Beispiel ein Mobilclient den Standort wechselt, Netzüberlastungsbedingungen
sich ändern
und dergleichen).
-
Unter
weiterer Bezugnahme auf 7A unterscheidet
sich, wenn ein ziemlich konstanter Bedarf an MD-Strömen von
Mobilclients in einer Zelle besteht, der Spitzenbedarf von dem durchschnittlichen Bedarf
nur um einige wenige Prozentpunkte. In diesem Fall kann eine statische
Zuteilung der Rechenleistung eines Servers so gemacht werden, dass
derselbe den Spitzenbedarf handhaben kann. Wenn der Bedarf nur durchschnittlich
ist, ist die Ausnutzung des Servers immer noch sehr hoch. Auf Grund
von Mobilität
kann es jedoch sein, dass die Basisstation (oder die Basisstationen),
die eine Zelle bedienen, eine große Population von Mobilclients
vorfindet, die sich vorübergehend
in der Zelle befinden. Somit erreicht die Anzahl von MD-Strömen, die
zu dieser Zelle geliefert werden müssen, während derartiger Zeitperioden
eine Spitze. Der Spitzenbedarf unterscheidet sich erheblich von
dem durchschnittlichen Bedarf. Da dies ein vorübergehendes Phänomen ist,
sind alle Zellen, die zu derjenigen benachbart sind, der eine derartige Überlastung
widerfährt,
normalerweise selbst nicht überlastet.
Wie es im Folgenden erörtert ist,
wird bei dem vorliegenden Ausführungsbeispiel eine
bessere Ausnutzung der Rechenleistung des Servers durch ein dynamisches
Zuweisen der Anforderung von MD-Strömen an Server erhalten, die
sich aktuell in der besten Position befinden, um die MD-Ströme an die
Basisstation und schließlich
an den Mobilclient zu liefern.
-
Bei
einem Ausführungsbeispiel
der vorliegenden Erfindung wird ein Netzverwaltungsprotokoll, wie
zum Beispiel das Einfachnetzverwaltungsprotokoll (SNMP), verwendet,
um Informationen über
eine Last in unterschiedlichen Teilen des Netzes und an unterschiedlichen
Servern auszutauschen. Obwohl sich die folgende Erörterung
auf ein spezifisches Netzverwaltungsprotokoll, SNMP, bezieht, soll
eine derartige Bezugnahme beispielhaft sein und soll nicht die erfindungsgemäßen Konzepte
der vorliegenden Erfindung einschränken. Das heißt, die
verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung sind gut für die Verwendung von verschiedenen
anderen Netzverwaltungsprotokollen als SNMP geeignet.
-
Unter
erneuter Bezugnahme auf 7A ist die
Verteilung von SNMP-Verwaltungseinrichtungen (SM) und Agenten (SA)
bei den Servern 702a–702d bei
einem Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. SA bezieht sich auf einen Server,
der einen SNMP-Agenten ausführt:
eine Software, die in der Lage ist, auf gültige Anfragen in SNMP bezüglich unterschiedlicher
Charakteristika des Systems zu antworten, wobei es sich in diesem
Fall um den Server handelt. SM bezieht sich auf einen Server, der eine
SNMP-Verwaltungseinrichtung
ausführt:
eine Software wie Netzverwaltungssysteme, die in der Lage ist, die
SNMP-Agenten abzufragen und Informationen über Netz- und Serverlast zu
sammeln. Bei verschiedenen Ausführungsbeispielen
der vorliegenden Erfindung führen
anderen Punkte in dem Netz, wie zum Beispiel Router und Basisstationen 704a–704e,
ebenfalls SNMP-Agenten aus. Die Informationen von Routern werden
auch an benachbarte SMs gesendet.
-
Bei
dem vorliegenden Ausführungsbeispiel berücksichtigt
die vorliegende Erfindung mehrere Faktoren, wie zum Beispiel die
Ausnutzung einer Rechenleistung bei den Servern 702a– 702d,
das Ausmaß,
in dem die Ströme
an den Servern 702a–702d cachegespeichert
worden sind, und auch die Netzbandbreite, die von den Servern 702a–702d zu
den verschiedenen Basisstationen 704a–704e verfügbar ist.
Außerdem
wird bei einem Ausführungsbeispiel der
vorliegenden Erfindung angenommen, dass eine Platzierung der Server 702a–702d a
priori basierend auf beobachteten Mobilitätsmustern und einem Bedarf
an MD-Strömen
in unterschiedlichen Zellen vorgenommen worden ist. Es wird ebenfalls
angenommen, dass die Bestimmung und Anordnung von SMs und SAs a
priori basierend auf verschiedenen verfügbaren Protokollen und Verfahren
durchgeführt
worden ist. Es wird ferner angenommen, dass ein Cachespeichern basierend
auf ähnlichen Überlegungen vorgenommen
wird.
-
Unter
jetziger Bezugnahme auf 8 ist ein Flussdiagramm von
Schritten gezeigt, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung durchgeführt werden. Die Verfahren des
vorliegenden Ausführungsbeispiels
werden im Zusammenhang mit 7A und
Flussdiagramm 800 von 8 beschrieben.
Obwohl spezifische Schritte in dem Flussdiagramm 800 von 8 offenbart
sind, sind diese Schritte beispielhaft. Das heißt, die vorliegende Erfindung
ist gut für
ein Durchführen
verschiedener anderer Schritte oder Variationen der Schritte, die
in 8 aufgeführt
sind, geeignet. Außerdem
sind, wie es im Vorhergehenden im Zusammenhang mit der Beschreibung
von 1 erwähnt
ist, Teile des vorliegenden Verfahrens aus computerlesbaren und
von einem Computer ausführbaren
Anweisungen gebildet, die sich zum Beispiel in computerverwendbaren Medien
eines Computersystems befinden. Die Verfahren der im Folgenden aufgelisteten
Ausführungsbeispiele
sind in einigen Fällen
aus computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die sich zum Beispiel in ein oder mehr der SMs, der SAs, der Basisstationen
oder verschiedener Kombinationen derselben befinden. Wie es im Folgenden
genauer beschrieben wird, werden bei dem vorliegenden Ausführungsbeispiel
MD-Bitströme
unter Verwendung von zwei Servern SM 702a und SA 702b und
einer einzigen Basisstation 704a an den Mobilclient 706a geliefert,
wie es durch gestrichelt gezeichnete Wege 703 und 705 angegeben
ist.
-
Bei
Schritt 802 empfängt
eine Basisstation bei einem Ausführungsbeispiel
eine Anforderung von einem Mobilclient für Medien, die zu dem Mobilclient gestreamt
werden sollen. Zu Veranschaulichungszwecken verwendet die folgende
Erörterung
ein Beispiel, bei dem die Basisstation 704a eine Anforderung
von dem Mobilclient 706a empfängt, dass Medien zu demselben
gestreamt werden. Das vorliegende Beispiel nimmt ferner an, dass
das zu streamende Medium in zwei getrennte komplementäre MD-Bitströme so codiert
worden ist oder so codiert wird, wie es im Vorhergehenden im Detail
beschrieben wurde. Außerdem
nimmt das vorliegende Beispiel auch an, dass der erste MD-Bitstrom
bei SM 702a gespeichert ist und der zweite MD-Bitstrom
bei SA 702b gespeichert ist. Erneut wird das vorliegende
Beispiel nur zu Zwecken der Veranschaulichung des vorliegenden Ausführungsbeispiels
präsentiert.
Das heißt,
die vorliegende Erfindung eignet sich gut für den Fall, bei dem: verschiedene
andere Mobilclients Medien anfordern, die zu denselben gestreamt
werden sollen; verschiedene andere Basisstationen die Anforderung für die Medien
empfangen; und/oder die angeforderten Medien zu etwas anderem als
zwei getrennten komplementären
MD-Bitströmen codiert
werden, die bei anderen als den im Vorhergehenden angeführten Servern
gespeichert sind.
-
Bei
Schritt 804 geht die Anforderung nach einem MD-Strom an
die nächstgelegene
SM. Bei dem vorliegenden Beispiel würde die Anforderung von dem
Mobilclient 706a an die SM 702a gesendet.
-
Bei
Schritt 806 identifiziert das vorliegende Verfahren die
Server, sowohl SMs als auch SAs, mit einer Route zu der Basisstation,
die die Anforderung empfangen hat (d. h. bei dem vorliegenden Beispiel Basisstation 704a).
Diese identifizierten Server werden als mögliche Kandidaten betrachtet, um
den MD-Bitstrom an den Mobilclient zu liefern. Zu Zwecken des vorliegenden
Beispiels wird angenommen, dass die SM 702a und der SA 702b als
die Server mit einer Route zu der Basisstation 704a identifiziert
werden.
-
Bei
Schritt 808 wertet das vorliegende Verfahren dann intelligent
die identifizierten Server nach Eignung aus. Bei einem Ausführungsbeispiel
der vorliegenden Erfindung wertet das vorliegende Verfahren Informationen,
die über
SNMP gesammelt worden sind, über
diejenigen Server aus, die als mögliche
Kandidaten identifiziert worden sind. Insbesondere wertet bei einem
Ausführungsbeispiel
die SM 702a Faktoren wie die folgenden aus: die Rechenlast der
identifizierten Server 702a und 702b; Netzbandbreite
zu der Basisstation 704a für jeden der identifizierten
Server 702a und 702b; und die Möglichkeit, den
angeforderten Strom in dem Cachespeicher zu finden, für jeden
der identifizierten Server 702a und 702b. Es ist
wichtig, dass, obwohl ein Ausführungsbeispiel
Rechenlast, Netzbandbreite und Potential eines Cachespeicherns berücksichtigt,
verschiedene Alternativen bestehen, die möglich sind. Eine davon ist
die Anwendung von Regeln, die durch Datamining bzw. Datengewinnung
von Zugriffsprotokollen erhalten werden (d. h. Regeln, die Faktoren
wie Klassifizierung des angeforderten Inhalts und die täglichen und
saisonalen Schwankungen bei Zugriffscharakteristika auf den richtigen
Satz von Servern zum Liefern der Mehrbeschreibungsströme abbilden).
Obwohl derartige Auswertungsschritte bei dem vorliegenden Ausführungsbeispiel
angeführt
sind, ist die vorliegende Erfindung gut für ein Aufnehmen verschiedener anderer
Auswertungsschritte und/oder ein Ändern der im Vorhergehenden
erwähnten
Auswertungsschritte geeignet.
-
Es
ist wichtig, dass darauf hingewiesen wird, dass bei einigen Ausführungsbeispielen
der vorliegenden Erfindung, wenn die Analyse durchgeführt wird,
um die geeigneten zu verwendenden Server zu identifizieren (zum
Beispiel Schritt 808), die Analyse berücksichtigt, ob zwei getrennte
Server und zwei getrennte Basisstationen verwendet werden können. Das
heißt,
zusätzlich
zu einer herkömmlichen
Metrik, wie zum Beispiel Rechen- und Bandbreitelasten usw., bei
den Servern ist eine zusätzliche
Metrik, die von einigen Ausführungsbeispielen
der vorliegenden Erfindung verwendet wird, die Diversity, die erreicht werden
kann. Speziell hat die vorliegende Erfindung bei einigen Ausführungsbeispielen
ferner ein Ziel eines Maximierens der Diversity (zum Beispiel der Wunsch,
dass zwei Server vorliegen, die zwei komplementäre MD-Bitströme über zwei
Wege an zwei Basisstationen (über
zwei drahtlose Verbindungen) an den Client senden). Es sei darauf
hingewiesen, dass bei einem Ausführungsbeispiel
der vorliegenden Erfindung die Diversity von Wegen und ausgewählte Server,
während
die Server zum Zuweisen eines MD-Bitstroms intelligent ausgewertet
werden, ebenfalls berücksichtigt
werden, um eine Fehlertoleranz zu erhöhen.
-
Es
sei darauf hingewiesen, dass bei einem Ausführungsbeispiel der vorliegenden
Erfindung der intelligente Auswertungsprozess von Schritt 808 zumindest
teilweise durch Daten beeinflusst wird, die durch SNMP-Agenten gesendet
werden. Bei einem derartigen Ausführungsbeispiel werden die Daten periodisch
oder ansprechend auf eine Anfrage von einer SM gesendet. Wie es
im Vorhergehenden erwähnt
ist, soll, obwohl das vorliegende Ausführungsbeispiel speziell SNMP
erwähnt,
eine derartige Bezugnahme beispielhaft sein und soll nicht die erfindungsgemäßen Konzepte
der vorliegenden Erfindung einschränken. Das heißt, die
verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung sind gut für die Verwendung von verschiedenen
anderen Netzverwaltungsprotokollen als SNMP geeignet.
-
Bei
Schritt 814 wird basierend auf dem im Vorhergehenden beschriebenen
Auswertungskriterium ein Server als der beste Kandidat zum Liefern
jedes der MD-Ströme
identifiziert. Bei dem vorliegenden Beispiel wird die SM 702a als
der beste Kandidat zum Liefern des ersten der zwei MD-Bitströme identifiziert,
und der SA 702b wird als der beste Kandidat zum Liefern
des zweiten der zwei MD-Bitströme
identifiziert. Zusammenfassend weisen die Schritte 806, 807, 808 und 814 des
vorliegenden Ausführungsbeispiels
einen Analyseprozess auf zum Bestimmen des besten Kandidaten aus
einer Mehrzahl von Servern, um jeweilige MD-Bitströme an eine
Basisstation zu liefern.
-
Unter
weiterer Bezugnahme auf Schritt 814 wird ein eigener und
bedeutender Vorteil hier durch die vorliegende Erfindung verglichen
mit herkömmlichen
Lösungsansätzen geliefert.
Insbesondere ist die vorliegende Erfindung in der Lage, zahlreiche
getrennt angeordnete Server zu identifizieren und nachfolgend zu
verwenden, um jeweilige komplementäre Mehrbeschreibungsströme der angeforderten
Mediendaten an den Mobilclient zu liefern. Folglich liefert das
vorliegende Ausführungsbeispiel
einen zuverlässigen
Lösungsansatz
zum Liefern der angeforderten Mediendaten an den Mobilclient. Außerdem ist
die vorliegende Erfindung, anders als herkömmliche Lösungsansätze, die angeforderte Daten
von einer einzigen Quelle liefern oder die wiederholt die gleichen
Informationen auf zahlreiche Quellen duplizieren, in der Lage, mehrere
Server zu verwenden, um angeforderte Mediendaten an den Mobilclient
zu liefern. Somit erreicht die vorliegende Erfindung den im Vorhergehenden
erwähnten
zuverlässigen
Lösungsansatz
mit verbesserter Effizienz verglichen mit herkömmlichen Lösungsansätzen.
-
Unter
weiterer Bezugnahme auf Schritt 814 wird ein weiterer eigener
und bedeutender Vorteil hier durch die vorliegende Erfindung verglichen
mit herkömmlichen
Lösungsansätzen geliefert.
Insbesondere liefert die vorliegende Erfindung einen intrinsischen
Weg-Diversity-Vorteil, ohne eine ineffiziente vollständige Duplizierung
von Mediendaten zu erfordern, die an den Mobilclient gestreamt werden
sollen. Das heißt,
der Mobilclient 706a weist unter Verwendung des obigen
Beispiels von zwei MD-Strömen
das Potential auf, beide Ströme über zwei
getrennte Übertragungswege
anzufor dern und zu empfangen. Somit verhindert ein einzelner Fehlerpunkt.
(zum Beispiel ein einziger Serverfehler) nicht einen Empfang der
gestreamten Daten durch den Mobilclient 706a.
-
Unter
erneuter Bezugnahme auf Schritt 814 ist, wie es im Folgenden
erörtert
wird, das vorliegende Verfahren auch gut für ein Ausführungsbeispiel geeignet, bei
dem mehr als einer der Mehrzahl von MD-Bitströmen von einer einzigen SM oder
einem einzigen SA geliefert wird. Bei einem derartigen Lösungsansatz
fordern mehrere Basisstationen die MD-Bitströme an, und der einzige Server
liefert den ersten der MD-Bitströme
an die erste anfordernde Basisstation entlang einem ersten Weg und
den zweiten der MD-Bitströme
an die zweite anfordernde Basisstation entlang einem zweiten Weg.
-
Bei
Schritt 816 leitet das vorliegende Verfahren dann die Anforderung
an den identifizierten besten Kandidaten weiter. Somit fordert bei
dem vorliegenden Beispiel das vorliegende Verfahren den ersten der
zwei MD-Bitströme
von der SM 702a an. Bei dem vorliegenden Beispiel empfängt der
SA 702b eine Anforderung für den zweiten der zwei MD-Bitströme.
-
Bei
Schritt 818 bewirkt das vorliegende Verfahren, dass jeder
der Server, die bei Schritt 814 identifiziert wurden, einen
Zugangssteuerprozess ausführt.
Bei dem vorliegenden Beispiel führt
jeder der Server SM 702a und SA 702b den Zugangssteuerprozess
durch. Bei dem vorliegenden Ausführungsbeispiel
könnte
das Resultat des Prozesses jedes beliebige der drei Ergebnisse sein,
die in 8 angezeigt sind. Das heißt, jeder
der Server SM 702a und SA 702b macht eines der
Folgenden: einen Zugang zu dem angeforderten MD-Bitstrom verweigern (Schritt 820);
einen Zugang zu dem angeforderten MD-Bitstrom gewähren (Schritt 822);
oder einen Zugang zu dem angeforderten MD-Bitstrom gewähren, jedoch
einen weiteren Strom für
eine mögliche
Neuverteilung identifizieren (Schritt 824). Die Schritte 820, 822 und 824 sind
jeder im Folgenden getrennt erörtert.
-
Bei
Schritt 820 kehrt, wenn der Server einen Zugang verweigert,
das vorliegende Verfahren zu Schritt 814 zurück. Ein
derartiger Zustand führt
dazu, dass ein anderer Server aus dem Satz von Kandidaten die Anforderung
erhält,
einen Zugang zu dem MD-Bitstrom zu liefern.
-
Bei
Schritt 822 liefert, wenn der Server einen Zugang zu dem
MD-Bitstrom gewährt,
dieser Server schließlich
den MD-Bitstrom
für die
angeforderten Mediendaten an den Mobilclient. Somit liefert bei dem
vorliegenden Beispiel die SM 702a den ersten der zwei MD-Bitströme an die
Basisstation 704a, und der SA 702b liefert den
zweiten der zwei MD-Bitströme an die
Basisstation 704a.
-
Bei
Schritt 824 geht, wenn der Server einen Zugang zu dem MD-Bitstrom
gewährt
und einen seiner bestehenden MD-Bitströme für eine mögliche Neuverteilung
zu einem anderen Server identifiziert, das vorliegende Verfahren
zu Schritt 826 über.
Ein derartiges Ergebnis tritt zum Beispiel auf, wenn ein Gewähren eines
Zugangs zu dem MD-Bitstrom basierend auf durchschnittlichen Anforderungen
des MD-Bitstroms möglich
ist, jedoch eine erhebliche Möglichkeit
besteht; dass Dienstgüteanforderungen für einige
MD-Bitströme
auf Grund von Schwankungen bei der Bitrate nicht erfüllt werden.
Das Ergebnis, das bei Schritt 824 aufgeführt ist,
kann auch einfach deshalb nötig
sein, weil Mobilitätsmuster
eine gelegentliche Neuzuweisung von MD-Bitströmen erfordern, und ein Identifizieren
dieser MD-Bitströme, wenn
der Zugangssteuerprozess ausgeführt
wird, ist bei dem vorliegenden Ausführungsbeispiel möglich.
-
Auf
den Abschluss von Schritt 824 hin geht die vorliegende
Erfindung zu Schritt 826 über. Bei Schritt 826 behandelt
das vorliegende Verfahren dann die Anforderung des Servers, einen
bestehenden MD-Bitstrom zu einem anderen Server neu zuzuweisen,
auf eine Weise, die dem Lösungsansatz ähnlich ist,
der verwendet wird, wenn eine neue Anforderung von einer Basisstation
empfangen wird. Das heißt,
das vorliegende Ausführungsbeispiel
geht zu Schritt 804 über
und fährt
von dort auf eine Weise fort, wie dieselbe im Vorhergehenden genau
beschrieben wurde.
-
Unter
erneuter Bezugnahme auf 8 ist ein Flussdiagramm von
Schritten gezeigt, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung durchgeführt werden. Die Verfahren des
vorliegenden Ausführungsbeispiels
werden im Zusammenhang mit 7B und
Flussdiagramm 800 von 8 beschrieben.
Wie es im Folgenden genau beschrieben ist, werden bei dem vorliegenden
Ausführungsbeispiel
MD-Bitströme
an den Mobilclient 706a unter Verwendung von zwei Servern
SM 702a und SA 702b und zwei Basisstationen 704a und 704b geliefert,
wie es durch gestrichelt gezeichnete Wege 707 und 709 angegeben
ist. Bei einem derartigen Ausführungsbeispiel
werden zwei komplementäre
MD-Bitströme
von zwei getrennten Servern gesendet und bewegen sich durch zwei
getrennte Wege (genauer gesagt getrennte verdrahtete und getrennte
drahtlose Wege), und deshalb gibt es keinen einzelnen Fehlerpunkt.
Dies steht im Gegensatz zu dem Fall, der in 7A veranschaulicht
ist, bei dem ebenfalls zwei getrennte Server und zwei getrennte
verdrahtete Wege vorlagen, jedoch nur ein einziger drahtloser Weg.
-
Bei
Schritt 802 empfängt
bei einem Ausführungsbeispiel
eine Basisstation eine Anforderung von einem Mobilclient für Medien,
die zu dem Mobilclient gestreamt werden sollen. Zu Veranschaulichungszwecken
verwendet die folgende Erörterung
ein Beispiel, bei dem die Basisstation 704a eine Anforderung
von dem Mobilclient 706a empfängt, dass Medien zu demselben
gestreamt werden. Das vorliegende Beispiel nimmt ferner an, dass
die zu streamenden Medien zu zwei getrennten komplementären MD-Bitströmen so codiert
wurden oder werden, wie es im Vorhergehenden genau beschrieben worden ist.
Ferner nimmt das vorliegende Beispiel auch an, dass der erste MD-Bitstrom
bei SM 702a gespeichert ist und der zweite MD-Bitstrom
bei SA 702b gespeichert ist.
-
Bei
Schritt 804 geht die Anforderung für einen MD-Strom an die nächstgelegene
SM. Bei dem vorliegenden Beispiel wird die Anforderung von dem Mobilclient 706a an
die SM 702a gesendet.
-
Bei
Schritt 806 identifiziert das vorliegende Verfahren die
Server, sowohl SMs als auch SAs, mit einer Route zu der Basisstation,
die die Anforderung empfangen hat (d. h. bei dem vorliegenden Beispiel Basisstation 704a).
Diese identifizierten Server werden als mögliche Kandidaten betrachtet,
um den MD-Bitstrom an den Mobilclient zu liefern. Zu Zwecken des
vorliegenden Beispiels wird angenommen, dass die SM 702a und
der SA 702b als die Server mit einer Route zu der Basisstation 704a identifiziert
werden. Bei dem vorliegenden Ausführungsbeispiel werden jedoch
zwei Basisstationen 704a und 704b dahingehend
identifiziert, dass dieselben eine Fähigkeit aufweisen, an den Mobilclient 706a zu übertragen.
-
Bei
Schritt 808 wertet das vorliegende Verfahren dann intelligent
die identifizierten Server nach Eignung aus. Bei einem Ausführungsbeispiel
der vorliegenden Erfindung wertet das vorliegende Verfahren Informationen,
die über
SNMP gesammelt worden sind, über
diejenigen Server aus, die als mögliche
Kandidaten identifiziert worden sind. Insbesondere wertet bei einem
Ausführungsbeispiel
die SM 702a Faktoren wie die folgenden aus: die Rechenlast der
identifizierten Server 702a und 702b; Netzbandbreite
zu den Basisstationen 704a und 704b für jeden der
identifizierten Server 702a bzw. 702b; und die Möglichkeit,
den angeforderten Strom in dem Cachespeicher zu finden, für jeden
der identifizierten Server 702a und 702b. Es ist
wichtig, dass, obwohl ein Ausführungsbeispiel
Rechenlast, Netzbandbreite und Potential eines Cachespeicherns berücksichtigt,
verschiedene Alternativen bestehen, die möglich sind. Eine davon ist
die Anwendung von Regeln, die durch Datamining bzw. Datengewinnung
von Zugriffsprotokollen erhalten werden (d. h. Regeln, die Faktoren wie
Klassifizierung des angeforderten Inhalts und die täglichen
und saisonalen Schwankungen bei Zugriffscharakteristika auf den
richtigen Satz von Servern zum Liefern der Mehrbeschreibungsströme abbilden).
Obwohl derartige Auswertungsschritte bei dem vorliegenden Ausführungsbeispiel
angeführt
sind, ist die vorliegende Erfindung gut für ein Aufnehmen verschiedener
anderer Auswertungsschritte und/oder ein Ändern der im Vorhergehenden
erwähnten
Auswertungsschritte geeignet.
-
Es
ist wichtig, dass darauf hingewiesen wird, dass bei einigen Ausführungsbeispielen
der vorliegenden Erfindung, wenn die Analyse durchgeführt wird,
um die geeigneten zu verwendenden Server zu identifizieren (zum
Beispiel Schritt 808), die Analyse berücksichtigt, ob zwei getrennte
Server und zwei getrennte Basisstationen verwendet werden können. Das
heißt,
zusätzlich
zu einer herkömmlichen
Metrik, wie zum Beispiel Rechen- und Bandbreitelasten usw., bei
den Servern ist eine zusätzliche
Metrik, die von einigen Ausführungsbeispielen
der vorliegenden Erfindung verwendet wird, die Diversity, die erreicht werden
kann. Speziell hat die vorliegende Erfindung bei einigen Ausführungsbeispielen
ferner ein Ziel eines Maximierens der Diversity (zum Beispiel der Wunsch,
dass zwei Server vorliegen, die zwei komplementäre MD-Bitströme über zwei
Wege an zwei Basisstationen (über
zwei drahtlose Verbindungen) an den Client senden). Somit werden
bei dem vorliegenden Ausführungsbeispiel,
um die Diversity (entlang sowohl verdrahteter als auch drahtloser
Verbindungen) zu dem Mobilclient 706a zu maximieren, zwei
Server SA 702b und SM 702a und zwei Basisstationen 704a und 704b verwendet,
um die zwei MD-Bitströme
entlang völlig
verschiedener Wege 707 und 709 an den Mobilclient 706a zu
senden.
-
Es
sei darauf hingewiesen, dass bei einem Ausführungsbeispiel der vorliegenden
Erfindung der intelligente Auswer tungsprozess von Schritt 808 zumindest
teilweise durch Daten beeinflusst wird, die durch SNMP-Agenten gesendet
werden. Bei einem derartigen Ausführungsbeispiel werden die Daten periodisch
oder ansprechend auf eine Anfrage von einer SM gesendet. Wie es
im Vorhergehenden erwähnt
ist, soll, obwohl das vorliegende Ausführungsbeispiel speziell SNMP
erwähnt,
eine derartige Bezugnahme beispielhaft sein und soll nicht die erfindungsgemäßen Konzepte
der vorliegenden Erfindung einschränken. Das heißt, die
verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung sind gut für die Verwendung von verschiedenen
anderen Netzverwaltungsprotokollen als SNMP geeignet.
-
Bei
Schritt 814 wird basierend auf dem im Vorhergehenden beschriebenen
Auswertungskriterium ein Server als der beste Kandidat zum Liefern
jedes der MD-Ströme
identifiziert. Bei dem vorliegenden Beispiel wird die SM 702a als
der beste Kandidat zum Liefern des ersten der zwei MD-Bitströme an die Basisstation 704a identifiziert,
und der SA 702b wird als der beste Kandidat zum Liefern
des zweiten der zwei MD-Bitströme an die
Basisstation 704b identifiziert. Zusammenfassend weisen
die Schritte 806, 807, 808 und 814 des
vorliegenden Ausführungsbeispiels
einen Analyseprozess auf zum Bestimmen der besten Kandidaten aus
einer Mehrzahl von Servern, um jeweilige MD-Bitströme an eine
Mehrzahl von Basisstationen zu liefern.
-
Unter
weiterer Bezugnahme auf Schritt 814 wird ein eigener und
bedeutender Vorteil hier durch die vorliegende Erfindung verglichen
mit herkömmlichen
Lösungsansätzen geliefert.
Insbesondere ist die vorliegende Erfindung in der Lage, zahlreiche
getrennt angeordnete Server und Basisstationen zu identifizieren
und nachfolgend zu verwenden, um jeweilige komplementäre Mehrbeschreibungsströme der angeforderten
Mediendaten an den Mobilclient zu liefern. Folglich liefert das
vorliegende Ausführungsbeispiel
einen zuverlässigen
Lösungsansatz zum
Liefern der angeforderten Mediendaten an den Mobilclient. Außerdem ist
die vorliegen de Erfindung, anders als herkömmliche Lösungsansätze, die angeforderte Daten
von einer einzigen Quelle liefern oder die wiederholt die gleichen
Informationen auf zahlreiche Quellen duplizieren, in der Lage, mehrere
Server und Basisstationen zu verwenden, um angeforderte Mediendaten
an den Mobilclient zu liefern. Somit erreicht die vorliegende Erfindung
den im Vorhergehenden erwähnten
zuverlässigen
Lösungsansatz
mit verbesserter Effizienz verglichen mit herkömmlichen Lösungsansätzen.
-
Unter
weiterer Bezugnahme auf Schritt 814 wird ein weiterer eigener
und bedeutender Vorteil hier durch die vorliegende Erfindung verglichen
mit herkömmlichen
Lösungsansätzen geliefert.
Insbesondere liefert die vorliegende Erfindung einen intrinsischen
Weg-Diversity-Vorteil, ohne eine ineffiziente vollständige Duplizierung
von Mediendaten zu erfordern, die an den Mobilclient gestreamt werden
sollen. Das heißt,
der Mobilclient 706a weist unter Verwendung des obigen
Beispiels von zwei MD-Strömen
das Potential auf, beide Ströme über zwei
völlig
getrennte Übertragungswege 707 und 709 anzufordern
und zu empfangen. Somit verhindert ein einzelner Fehlerpunkt (zum
Beispiel ein einziger Serverfehler oder ein einziger Basisstationsfehler)
nicht einen Empfang der gestreamten Daten durch den Mobilclient 706a.
-
Unter
erneuter Bezugnahme auf Schritt 814 ist, wie es im Folgenden
erörtert
wird, das vorliegende Verfahren auch gut für ein Ausführungsbeispiel geeignet, bei
dem mehr als einer der Mehrzahl von MD-Bitströmen von einer einzigen SM oder
einem einzigen SA geliefert wird. Bei einem derartigen Lösungsansatz
fordern mehrere Basisstationen die MD-Bitströme an, und der einzige Server
liefert den ersten der MD-Bitströme
an die erste anfordernde Basisstation entlang einem ersten Weg und
den zweiten der MD-Bitströme
an die zweite anfordernde Basisstation entlang einem zweiten Weg.
-
Bei
Schritt 816 leitet das vorliegende Verfahren dann die Anforderung
an den identifizierten besten Kandidaten weiter. Somit fordert bei
dem vorliegenden Beispiel das vorliegende Verfahren den ersten der
zwei MD-Bitströme
von der SM 702a an. Bei dem vorliegenden Beispiel empfängt der
SA 702b eine Anforderung für den zweiten der zwei MD-Bitströme.
-
Bei
Schritt 818 bewirkt das vorliegende Verfahren, dass jeder
der Server, die bei Schritt 814 identifiziert wurden, einen
Zugangssteuerprozess ausführt.
Bei dem vorliegenden Beispiel führt
jeder der Server SM 702a und SA 702b den Zugangssteuerprozess
durch. Bei dem vorliegenden Ausführungsbeispiel
könnte
das Resultat des Prozesses jedes beliebige der drei Ergebnisse sein,
die in 8 angezeigt sind. Das heißt, jeder
der Server SM 702a und SA 702b macht eines der
Folgenden: einen Zugang zu dem angeforderten MD-Bitstrom verweigern (Schritt 820);
einen Zugang zu dem angeforderten MD-Bitstrom gewähren (Schritt 822);
oder einen Zugang zu dem angeforderten MD-Bitstrom gewähren, jedoch
einen weiteren Strom für
eine mögliche
Neuverteilung identifizieren (Schritt 824). Die Schritte 820, 822 und 824 sind
jeder im Folgenden getrennt erörtert.
-
Bei
Schritt 820 kehrt, wenn der Server einen Zugang verweigert,
das vorliegende Verfahren zu Schritt 814 zurück. Ein
derartiger Zustand führt
dazu, dass ein anderer Server aus dem Satz von Kandidaten die Anforderung
erhält,
einen Zugang zu dem MD-Bitstrom zu liefern.
-
Bei
Schritt 822 liefert, wenn der Server einen Zugang zu dem
MD-Bitstrom gewährt,
dieser Server schließlich
den MD-Bitstrom
für die
angeforderten Mediendaten an den Mobilclient. Somit liefert bei dem
vorliegenden Beispiel die SM 702a den ersten der zwei MD-Bitströme an die
Basisstation 704b, und der SA 702b liefert den
zweiten der zwei MD-Bitströme an die
Basisstation 704a.
-
Bei
Schritt 824 geht, wenn der Server einen Zugang zu dem MD-Bitstrom
gewährt
und einen seiner bestehenden MD-Bitströme für eine mögliche Neuverteilung
zu einem anderen Server identifiziert, das vorliegende Verfahren
zu Schritt 826 über.
Ein derartiges Ergebnis tritt zum Beispiel auf, wenn ein Gewähren eines
Zugangs zu dem MD-Bitstrom basierend auf durchschnittlichen Anforderungen
des MD-Bitstroms möglich
ist, jedoch eine erhebliche Möglichkeit
besteht, dass Dienstgüteanforderungen für einige
MD-Bitströme
auf Grund von Schwankungen bei der Bitrate nicht erfüllt werden.
Das Ergebnis, das bei Schritt 824 aufgeführt ist,
kann auch einfach deshalb nötig
sein, weil Mobilitätsmuster
eine gelegentliche Neuzuweisung von MD-Bitströmen erfordern, und ein Identifizieren
dieser MD-Bitströme, wenn
der Zugangssteuerprozess ausgeführt
wird, ist bei dem vorliegenden Ausführungsbeispiel möglich.
-
Auf
den Abschluss von Schritt 824 hin geht die vorliegende
Erfindung zu Schritt 826 über. Bei Schritt 826 behandelt
das vorliegende Verfahren dann die Anforderung des Servers, einen
bestehenden MD-Bitstrom zu einem anderen Server neu zuzuweisen,
auf eine Weise, die dem Lösungsansatz ähnlich ist,
der verwendet wird, wenn eine neue Anforderung von einer Basisstation
empfangen wird. Das heißt,
das vorliegende Ausführungsbeispiel
geht zu Schritt 804 über
und fährt
von dort auf eine Weise fort, wie dieselbe im Vorhergehenden genau
beschrieben wurde.
-
Unter
erneuter Bezugnahme auf 8 ist ein Flussdiagramm von
Schritten gezeigt, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung durchgeführt werden. Die Verfahren des
vorliegenden Ausführungsbeispiels
werden im Zusammenhang mit 7C und
Flussdiagramm 800 von 8 beschrieben.
Wie es im Folgenden genau beschrieben ist, werden bei dem vorliegenden
Ausführungsbeispiel
MD-Bitströme
an den Mobilclient 706a unter Verwendung eines Servers
SM 702a und zweier Basisstationen 704a und 704b geliefert,
wie es durch gestrichelt gezeichnete Wege 711 und 713 angegeben
ist. Bei einem derartigen Ausführungsbeispiel werden
zwei komplementäre
MD-Bitströme
von einem einzigen Server gesendet und bewegen sich durch zwei getrennte
Wege (genauer gesagt getrennte verdrahtete und getrennte drahtlose
Wege). Dies steht im Gegensatz zu dem Fall, der in 7A veranschaulicht ist, bei dem ebenfalls zwei
getrennte Server und zwei getrennte verdrahtete Wege vorlagen, jedoch
nur ein einziger drahtloser Weg, und zu dem Fall, der in 7B veranschaulicht ist, bei dem ebenfalls zwei
getrennte Server und zwei getrennte Basisstationen vorlagen.
-
Bei
Schritt 802 empfängt
bei einem Ausführungsbeispiel
eine Basisstation eine Anforderung von einem Mobilclient für Medien,
die zu dem Mobilclient gestreamt werden sollen. Zu Veranschaulichungszwecken
verwendet die folgende Erörterung
ein Beispiel, bei dem die Basisstation 704a eine Anforderung
von dem Mobilclient 706a empfängt, dass Medien zu demselben
gestreamt werden. Das vorliegende Beispiel nimmt ferner an, dass
die zu streamenden Medien zu zwei getrennten komplementären MD-Bitströmen so codiert
wurden oder werden, wie es im Vorhergehenden genau beschrieben worden ist.
Ferner nimmt das vorliegende Beispiel auch an, dass der erste MD-Bitstrom
und der zweite MD-Bitstrom bei SM 702a gespeichert sind.
-
Bei
Schritt 804 geht die Anforderung für einen MD-Strom an die nächstgelegene
SM. Bei dem vorliegenden Beispiel wird die Anforderung von dem Mobilclient 706a an
die SM 702a gesendet.
-
Bei
Schritt 806 identifiziert das vorliegende Verfahren die
Server, sowohl SMs als auch SAs, mit einer Route zu der Basisstation,
die die Anforderung empfangen hat (d. h. bei dem vorliegenden Beispiel Basisstation 704a).
Diese identifizierten Server werden als mögliche Kandidaten betrachtet,
um den MD-Bitstrom an den Mobilclient zu liefern. Zu Zwecken des
vorliegenden Beispiels wird angenommen, dass die SM 702a und
der SA 702b als die Server mit einer Route zu der Basisstation 704a identifiziert
werden, dass aber nur die SM 702a verwendet werden soll.
Bei dem vorliegenden Ausführungsbeispiel
werden jedoch zwei Basisstationen 704a und 704b dahingehend
identifiziert, dass dieselben eine Fähigkeit aufweisen, an den Mobilclient 706a zu übertragen.
-
Bei
Schritt 808 wertet das vorliegende Verfahren dann intelligent
den einzigen Server 702a nach Eignung aus. Bei einem Ausführungsbeispiel der
vorliegenden Erfindung wertet das vorliegende Verfahren Informationen,
die über
SNMP gesammelt worden sind, über
diejenigen Server aus, die als mögliche
Kandidaten identifiziert worden sind. Insbesondere wertet bei einem
Ausführungsbeispiel
die SM 702a Faktoren wie die folgenden aus: die Rechenlast
des identifizierten Servers 702a; Netzbandbreite zu den
Basisstationen 704a bzw. 704b für den identifizierten
Server 702a; und die Möglichkeit,
den angeforderten Strom in dem Cachespeicher zu finden, für den identifizierten
Server 702a. Es ist wichtig, dass, obwohl ein Ausführungsbeispiel
Rechenlast, Netzbandbreite und Potential eines Cachespeicherns berücksichtigt,
verschiedene Alternativen bestehen, die möglich sind. Eine davon ist
die Anwendung von Regeln, die durch Datamining bzw. Datengewinnung
von Zugriffsprotokollen erhalten werden (d. h. Regeln, die Faktoren
wie Klassifizierung des angeforderten Inhalts und die täglichen
und saisonalen Schwankungen bei Zugriffscharakteristika auf den
richtigen Server zum Liefern der Mehrbeschreibungsströme abbilden).
Obwohl derartige Auswertungsschritte bei dem vorliegenden Ausführungsbeispiel
angeführt
sind, ist die vorliegende Erfindung gut für ein Aufnehmen verschiedener
anderer Auswertungsschritte und/oder ein Ändern der im Vorhergehenden
erwähnten
Auswertungsschritte geeignet.
-
Es
ist wichtig, dass darauf hingewiesen wird, dass bei einigen Ausführungsbeispielen
der vorliegenden Erfindung, wenn die Analyse durchgeführt wird,
um den geeigneten zu verwendenden Server zu identifizieren (zum
Beispiel Schritt 808), die Analyse berücksichtigt, ob zwei getrennte
Basisstationen verwendet werden können. Das heißt, zusätzlich zu
einer herkömmlichen
Metrik, wie zum Beispiel Rechen- und Bandbreitelasten usw., bei
den Servern ist eine zusätzliche
Metrik, die von einigen Ausführungsbeispielen
der vorliegenden Erfindung verwendet wird, die Diversity, die erreicht
werden kann. Speziell hat die vorliegende Erfindung bei einigen
Ausführungsbeispielen
ferner ein Ziel eines Maximierens der Diversity (zum Beispiel der
Wunsch, dass der einzige Server zwei komplementäre MD-Bitströme über zwei Wege
an zwei Basisstationen (über
zwei drahtlose Verbindungen) an den Client sendet). Somit werden bei
dem vorliegenden Ausführungsbeispiel,
um die Diversity (entlang sowohl verdrahteter als auch drahtloser
Verbindungen) zu dem Mobilclient 706a zu maximieren, zwei
Basisstationen 704a und 704b verwendet, um jeweilige
der MD-Bitströme
entlang völlig verschiedener
Wege 711 und 713 an den Mobilclient 706a zu
senden.
-
Es
sei darauf hingewiesen, dass bei einem Ausführungsbeispiel der vorliegenden
Erfindung der intelligente Auswertungsprozess von Schritt 808 zumindest
teilweise durch Daten beeinflusst wird, die durch SNMP-Agenten gesendet
werden. Bei einem derartigen Ausführungsbeispiel werden die Daten periodisch
oder ansprechend auf eine Anfrage von einer SM gesendet. Wie es
im Vorhergehenden erwähnt
ist, soll, obwohl das vorliegende Ausführungsbeispiel speziell SNMP
erwähnt,
eine derartige Bezugnahme beispielhaft sein und soll nicht die erfindungsgemäßen Konzepte
der vorliegenden Erfindung einschränken. Das heißt, die
verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung sind gut für die Verwendung von verschiedenen
anderen Netzverwaltungsprotokollen als SNMP geeignet.
-
Bei
Schritt 814 wird basierend auf dem im Vorhergehenden beschriebenen
Auswertungskriterium ein Server, SM 702a, als der beste
Kandidat zum Liefern des ersten der zwei MD-Bitströme an die Basisstation 704a und
des zweiten der zwei MD-Bitströme
an die Basisstation 704b identifiziert. Zusammenfassend
weisen die Schritte 806, 807, 808 und 814 des
vorliegenden Ausführungsbeispiels
einen Analyseprozess auf zum Bestimmen des besten Kandidaten aus
einer Mehrzahl von Servern, um MD-Bitströme an eine Mehrzahl von Basisstationen
zu liefern.
-
Unter
weiterer Bezugnahme auf Schritt 814 wird ein eigener und
bedeutender Vorteil hier durch die vorliegende Erfindung verglichen
mit herkömmlichen
Lösungsansätzen geliefert.
Insbesondere ist die vorliegende Erfindung in der Lage, zahlreiche
getrennt angeordnete Basisstationen zu identifizieren und nachfolgend
zu verwenden, um jeweilige komplementäre Mehrbeschreibungsströme der angeforderten
Mediendaten an den Mobilclient zu liefern. Folglich liefert das
vorliegende Ausführungsbeispiel einen
zuverlässigen
Lösungsansatz
zum Liefern der angeforderten Mediendaten an den Mobilclient. Außerdem ist
die vorliegende Erfindung, anders als herkömmliche Lösungsansätze, die angeforderte Daten von
einer einzigen Quelle über
einen einzigen Weg liefern oder die wiederholt die gleichen Informationen auf
zahlreiche Quellen duplizieren, in der Lage, mehrere Basisstationen
zu verwenden, um angeforderte Mediendaten an den Mobilclient zu
liefern. Somit erreicht die vorliegende Erfindung den im Vorhergehenden
erwähnten
zuverlässigen
Lösungsansatz
mit verbesserter Effizienz verglichen mit herkömmlichen Lösungsansätzen.
-
Unter
weiterer Bezugnahme auf Schritt 814 wird ein weiterer eigener
und bedeutender Vorteil hier durch die vorliegende Erfindung verglichen
mit herkömmlichen
Lösungsansätzen geliefert.
Insbesondere liefert die vorliegende Erfindung einen intrinsischen
Weg-Diversity-Vorteil, ohne eine ineffiziente vollständige Duplizierung
von Mediendaten zu erfordern, die an den Mobilclient gestreamt werden
sollen. Das heißt,
der Mobilclient 706a weist unter Verwendung des obigen
Beispiels von zwei MD-Strömen
das Potential auf, beide Ströme über zwei
völlig
getrennte Übertragungswege 711 und 713 anzufordern
und zu empfangen. Somit verhindert ein einzelner Fehlerpunkt (zum
Beispiel ein einziger Basisstationsfehler) nicht einen Empfang der
gestreamten Daten durch den Mobilclient 706a.
-
Bei
Schritt 816 leitet das vorliegende Verfahren dann die Anforderung
an den identifizierten besten Kandidaten weiter. Somit fordert bei
dem vorliegenden Beispiel das vorliegende Verfahren beide der zwei
MD-Bitströme
von der SM 702a an.
-
Bei
Schritt 818 bewirkt das vorliegende Verfahren, dass der
Server, der bei Schritt 814 identifiziert wurde (SM 702a),
einen Zugangssteuerprozess ausführt.
Bei dem vorliegenden Ausführungsbeispiel könnte das
Resultat des Prozesses jedes beliebige der drei Ergebnisse sein,
die in 8 angezeigt sind. Das heißt, der
Server SM 702a macht eines der Folgenden: einen Zugang
zu dem angeforderten MD-Bitstrom verweigern (Schritt 820);
einen Zugang zu dem angeforderten MD-Bitstrom gewähren (Schritt 822);
oder einen Zugang zu dem angeforderten MD-Bitstrom gewähren, jedoch
einen weiteren Strom für
eine mögliche
Neuverteilung identifizieren (Schritt 824). Die Schritte 820, 822 und 824 sind
jeder im Folgenden getrennt erörtert.
-
Bei
Schritt 820 kehrt, wenn der Server einen Zugang verweigert,
das vorliegende Verfahren zu Schritt 814 zurück. Ein
derartiger Zustand führt
dazu, dass ein anderer Server aus dem Satz von Kandidaten die Anforderung
erhält,
einen Zugang zu dem MD-Bitstrom zu liefern.
-
Bei
Schritt 822 liefert, wenn der Server einen Zugang zu dem
MD-Bitstrom gewährt,
dieser Server schließlich
den MD-Bitstrom
für die
angeforderten Mediendaten an den Mobilclient. Somit liefert bei dem
vorliegenden Beispiel die SM 702a den ersten der zwei MD-Bitströme an die
Basisstation 704a und den zweiten der zwei MD-Bitströme an die
Basisstation 704b.
-
Bei
Schritt 824 geht, wenn der Server einen Zugang zu dem MD-Bitstrom
gewährt
und einen seiner bestehenden MD-Bitströme für eine mögliche Neuverteilung
zu einem anderen Server identifiziert, das vorliegende Verfahren
zu Schritt 826 über.
Ein derartiges Ergebnis tritt zum Beispiel auf, wenn ein Gewähren eines
Zugangs zu dem MD-Bitstrom basierend auf durchschnittlichen Anforderungen
des MD-Bitstroms möglich
ist, jedoch eine erhebliche Möglichkeit
besteht, dass Dienstgüteanforderungen für einige
MD-Bitströme
auf Grund von Schwankungen bei der Bitrate nicht erfüllt werden.
Das Ergebnis, das bei Schritt 824 aufgeführt ist,
kann auch einfach deshalb nötig
sein, weil Mobilitätsmuster
eine gelegentliche Neuzuweisung von MD-Bitströmen erfordern, und ein Identifizieren
dieser MD-Bitströme, wenn
der Zugangssteuerprozess ausgeführt
wird, ist bei dem vorliegenden Ausführungsbeispiel möglich.
-
Auf
den Abschluss von Schritt 824 hin geht die vorliegende
Erfindung zu Schritt 826 über. Bei Schritt 826 behandelt
das vorliegende Verfahren dann die Anforderung des Servers, einen
bestehenden MD-Bitstrom zu einem anderen Server neu zuzuweisen,
auf eine Weise, die dem Lösungsansatz ähnlich ist,
der verwendet wird, wenn eine neue Anforderung von einer Basisstation
empfangen wird. Das heißt,
das vorliegende Ausführungsbeispiel
geht zu Schritt 804 über
und fährt
von dort auf eine Weise fort, wie dieselbe im Vorhergehenden genau
beschrieben wurde.
-
Drahtlose Kommunikation
zwischen drahtlosen Basisstationen und Mobilclients: Drahtloszellübergaben
-
Die
folgende Erörterung
bezieht sich auf Verfahren der vorliegenden Erfindung, die ein Übergeben
von Streamingmediensitzungen zwischen Basisstationen eines drahtlosen
Kommunikationssystems betreffen. Insbesondere erfolgt ein derartiges Übergeben
normalerweise zum Beispiel, wenn der Client während einer Streamingsitzung
den Standort wechselt (d. h. der Mobilclient bewegt sich zwischen
unterschiedlichen drahtlosen Zellen). Ein derartiges Übergeben
kann jedoch auch erfolgen, wenn aus einer beliebigen Anzahl von
Gründen
eine andere Basisstation zugewiesen wird, um die Streamingmediensitzung
mit dem Mobilclient zu handhaben. Wenn derartige Bedingungen auftreten,
muss eine glatte drahtlose Übergabe
durchgeführt
werden. Das heißt, die
erste Basisstation muss die Medienstreamingsitzung an die zweite
Basisstation „übergeben". Eine Übergabe
einer Streamingsitzung wird allgemein entweder mit einer „Soft"- oder einer „Hart"-Übergabetechnik durchgeführt. Bei
einem Softübergabelösungsansatz
kann der Mobilclient gleichzeitig mit sowohl der ersten als auch
der zweiten Basisstation kommunizieren, wenn ein Übergabeprozess
erfolgt. Bei einem Hartübergabelösungsansatz
kann der Mobilclient mit nur der einen oder der anderen der ersten und
der zweiten Basisstation kommunizieren, wenn ein Übergabeprozess
erfolgt. Die folgende Erörterung
deckt die Verfahren der vorliegenden Erfindung, die bei einem Softübergabelösungsansatz
anwendbar sind, und die Verfahren der vorliegenden Erfindung, die
bei einem Hartübergabelösungsansatz
anwendbar sind, ab.
-
Eine
Softübergabe
wird bei einigen drahtlosen Kommunikationssystemen, wie zum Beispiel IS-95,
das auf Codeteilungsmehrfachzugriff (CDMA) basiert, durch ein Ermöglichen
unterstützt,
dass ein Mobilclient gleichzeitig mit mehreren Basisstationen kommuniziert.
Der Grundmechanismus eines herkömmlichen
Softübergabesystems
ist im Folgenden im Zusammenhang mit 9 des
Stands der Technik skizziert. Ein Vorteil von Softübergabesystemen
ist die Fähigkeit,
eine Kommunikation zu jeder Zeit mit der Basisstation mit der stärksten Signalstärke aufrechtzuerhalten.
Dieser Vorteil ist besonders für
Systeme vorteilhaft, bei denen eine Leistungssteuerung verwendet
wird. Ein Nachteil, der herkömmlichen Softübergabelösungsansätzen zugeordnet
ist, ist jedoch die Notwendigkeit, mehrere Kopien der gleichen Daten
an den Mobilclient zu übertragen,
wodurch knappe Netzressourcen verschwendet werden.
-
Wie
es in 9 des Stands der Technik gezeigt
ist, ist ein Mobilclient 902 gezeigt, der sich in eine
Richtung bewegt, wie es durch einen Bewegungspfeil 903 angezeigt
ist. Insbesondere zeigt 9 des Stands der Technik, dass
sich der Mobilclient 902 über drei getrennte Regionen
A, B und C bewegt. Eine Basisstation 904 ist in Region
A angeordnet, und eine Basisstation 906 ist in Region C
angeordnet. Keine Basisstation ist in Region B vorhanden. Es sei
ferner darauf hingewiesen, dass bei einem herkömmlichen drahtlosen System
Einstromvideokomprimierungstechniken verwendet werden, um einen
einzigen Strom von Daten D hoher Bitrate zu erzeugen. Kommunikationskanäle/-verbindungen
sind schematisch durch Pfeile 908, 910, 912 und 914 gezeigt.
-
Bei
dem herkömmlichen
Softübergabelösungsansatz,
der in 9 des Stands der Technik gezeigt
ist, überwacht
der Mobilclient 902 kontinuierlich die. Kanalqualität (wie zum
Beispiel Signalstärke) von
jeder Basisstation und unterhält
einen aktiven Satz von Basisstationen, mit dem derselbe kommuniziert.
Als Hintergrund wird normalerweise eine Basisstation, die sich nicht
in dem aktiven Satz befindet, hinzugefügt, wenn die Kanalqualität über einem
Hinzufügeschwellenwert
liegt. Umgekehrt wird eine Basisstation, die sich in dem aktiven
Satz befindet, fallengelassen, wenn die Kanalqualität unter
einen Fallenlassschwellenwert fällt.
-
Unter
erneuter Bezugnahme auf 9 des Stands der Technik befindet
sich bei dieser Darstellung eines herkömmlichen Softübergabelösungsansatzes
anfangs der Mobilclient 902 in Region A, und nur Kanal 908 zwischen
der Basisstation 904 und dem Mobilclient 902 ist
gut genug, um nützlich
zu sein. Somit kommuniziert bei der vorliegenden Darstellung, wenn
sich derselbe in Region A befindet, der Mobilclient 902 ausschließlich mit
der Basisstation 904, wie es durch Pfeil 908 gezeigt
ist. Wenn sich der Mobilclient 902 von der Basisstation 904 weg
und zu der Basisstation 906 hin bewegt, nimmt die Kanalqualität zu der
Basisstation 904 und der Basisstation 906 ab bzw.
zu. Wenn sich derselbe in Region B befindet, wird eine gleichzeitige
Kommunikation zwischen beiden Basisstationen 904 und 906 und
dem Mobilclient 902 eingerichtet, wie es durch Pfeile 910 und 912 dargestellt
ist. In einem derartigen Fall werden zwei Kopien von Daten, eine
von der Basisstation 904 und eine andere von der Basisstation 906,
zu dem Mobilclient 902 gesendet. Das heißt, eine
identische Kopie der Daten D wird von jeder der Basisstationen 904 und 906 in
dem aktiven Satz an den Mobilclient 902 gesendet. Unter
derartigen Umständen wählt der
Mobilclient 902 die beste Kopie der Daten D, die empfangen
wird. Die „am
wenigsten beste" der zwei
Kopien der Daten D wird durch den Mobilclient 902 verworfen.
Schließlich
fällt,
wenn sich der Mobilclient 902 in die Region C und weiter
von der Basisstation 904 weg bewegt, die Kanalqualität von der Basisstation 904 unter
den Fallenlassschwellenwert, und der Mobilclient 902 kommuniziert
nur mit der Basisstation 906, wie es durch Pfeil 914 gezeigt
ist.
-
Ein
derartiger herkömmlicher
Softübergabelösungsansatz
weist gravierende Ineffizienz auf. Insbesondere empfängt, wenn
jede der Basisstationen 904 und 906 Daten D mit
einer Rate von N Bits pro Sekunde sendet, der Mobilclient 902,
wenn sich derselbe zum Beispiel in Region B befindet, Daten D mit einer
Rate von etwa 2N Bits pro Sekunde. Das heißt, der Mobilclient 902 empfängt Daten
D mit einer Rate von etwa N Bits pro Sekunde von der Basisstation 904,
und der Mobilclient 902 empfängt auch eine weitere Kopie
der gleichen Daten D mit einer Rate von etwa N Bits pro Sekunde
von der Basisstation 906. Der Mobilclient 902 muss
dann verschwenderisch die überflüssigen empfangenen
Daten D verwerfen. Diese Ineffizienz, die herkömmlichen Softübergabelösungsansätzen zugeordnet
ist, wird ferner durch die Tatsa che verschlimmert, dass Mobilclients
sehr oft in einer Region (zum Beispiel Region B von 9 des Stands
der Technik) angeordnet sind, in der eine Kommunikation mit zwei
Basisstationen erfolgt. Somit liefern tatsächliche „Realwelt"-Bedingungen umfassende Gelegenheit
zur Verschwendung, die herkömmlichen
Softübergabelösungsansätzen zugeordnet
ist. Wie es im Folgenden genau beschrieben ist, beseitigen verschiedene
Ausführungsbeispiele
der vorliegenden Erfindung die gravierende Ineffizienz, die herkömmlichen
Softübergabelösungsansätzen zugeordnet
ist. Das heißt,
das vorliegende Ausführungsbeispiel
liefert ein Verfahren, das ein Mehrbeschreibungscodieren verwendet,
um das Problem übermäßiger Bandbreitenverwendung
abzumildern.
-
Unter
jetziger Bezugnahme auf 10 ist ein
Diagramm gezeigt, das einen Softübergabelösungsansatz
zeigt, der gemäß verschiedener
Ausführungsbeispiele
der vorliegenden beanspruchten Erfindung durchgeführt wird.
In 10 ist ein Mobilclient 902 gezeigt, der
sich in eine Richtung bewegt, wie es durch einen Bewegungspfeil 903 angezeigt ist.
Insbesondere zeigt 10, dass sich der Mobilclient 902 über drei
getrennte Regionen A, B und C bewegt. Eine Basisstation 904 ist
in Region A angeordnet, und eine Basisstation 906 ist in
Region C angeordnet. Keine Basisstation ist in Region B vorhanden. Bei
dem vorliegenden Ausführungsbeispiel
nimmt das folgende Beispiel ferner an, dass die zu streamenden Medien
(zum Beispiel ein Videostrom) zu zwei getrennten komplementären MD-Bitströmen D0 und D1 codiert
wurden oder werden, deren kombinierte Datenrate nahe derjenigen
von D von 9 liegt. Ein derartiges MD-Codieren,
um Mehrbeschreibungsbitströme
zu liefern, wurde im Vorhergehenden genau beschrieben. Außerdem nimmt
das vorliegende Beispiel auch an, dass sowohl der erste MD-Bitstrom D0 als auch der zweite MD-Bitstrom D1 jeder sowohl bei der Basisstation 904 als
auch bei der Basisstation 906 gespeichert sind. Erneut
wird das vorliegende Beispiel nur zu Zwecken der Veranschaulichung
des vorliegenden Ausführungsbeispiels
präsentiert.
Das heißt,
die vorliegende Erfindung eignet sich gut für den Fall, bei dem die angeforderten
Medien zu etwas anderem als zwei getrennten komplementären MD-Bitströmen codiert
werden, und/oder dass sowohl der erste MD-Bitstrom D0 als
auch der zweite MD-Bitstrom
D1 nicht jeder sowohl bei der Basisstation 904 als
auch bei der Basisstation 906 gespeichert sind. Somit verwendet,
anders als ein herkömmliches
drahtloses System, das vorliegende Verfahren nicht nur einen einzigen
Strom von Daten. Außerdem
sind Kommunikationskanäle/-verbindungen schematisch
durch Pfeile 1002, 1004, 1006 und 1008 gezeigt.
Aus Gründen
der Übersichtlichkeit
ist bei dem vorliegenden Beispiel dargestellt, dass der Mobilclient 902 gleichzeitig
mit nur zwei Basisstationen kommuniziert. Allgemein kann die beanspruchte
Erfindung bei Softübergabeszenarien
mit mehr als zwei Basisstationen angewendet werden.
-
Unter
erneuter Bezugnahme auf 10 befindet
sich bei dem vorliegenden Beispiel der Mobilclient 902 anfangs
in Region A, und nur ein Kanal 1002 zwischen der Basisstation 904 und
dem Mobilclient 902 ist gut genug, um nützlich zu sein. Somit kommuniziert
bei der vorliegenden Darstellung der Mobilclient 902, wenn
sich derselbe in Region A befindet, ausschließlich mit der Basisstation 904,
wie es durch einen Pfeil 1002 gezeigt ist. Bei dem vorliegenden
Beispiel können,
da sowohl der erste MD-Bitstrom D0 als auch
der zweite MD-Bitstrom D1 jeder bei der
Basisstation 904 gespeichert sind, einer oder beide des
ersten und des zweiten MD-Bitstroms D0 und
D1 an den Mobilclient 902 übertragen
werden. In einem Fall, bei dem nur einer der zwei MD-Bitströme bei der
Basisstation 904 gespeichert ist, wird nur dieser eine
MD-Bitstrom an den Mobilclient 902 übertragen. Auch ist das vorliegende
Verfahren gut für
ein Ausführungsbeispiel
geeignet, bei dem nur einer der zwei MD-Bitströme an den Mobilclient 902 in
Region A übertragen
wird, obwohl sowohl der erste MD-Bitstrom D0 als
auch der zweite MD-Bitstrom D1 bei der Basisstation 904 gespeichert
sind.
-
Unter
erneuter Bezugnahme auf 10 nimmt,
wenn sich der Mobilclient 902 von der Basisstation 904 weg
und zu der Basisstation 906 hin bewegt, die Kanalqualität zu der
Basisstation 904 und der Basisstation 906 ab bzw.
zu. Wenn sich derselbe in Region B befindet, steigt die Kanalqualität zwischen
dem Mobilclient 902 und der Basisstation 906 über die
Hinzufügeschwelle.
Folglich wird eine gleichzeitige Kommunikation zwischen beiden Basisstationen 904 und 906 und
dem Mobilclient 902 eingerichtet, wie es durch Pfeile 1004 und 1006 dargestellt
ist. Somit erhält
bei dem vorliegenden Ausführungsbeispiel
der Mobilclient 902, wenn derselbe mit sowohl der Basisstation 904 als
auch der Basisstation 906 kommuniziert, eine Beschreibung
von jeder Basisstation. Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung kombiniert der Mobilclient 902 dann
beide empfangenen Beschreibungen, um eine bessere Videoqualität zu erhalten
als unter Verwendung nur einer der beiden Beschreibungen verfügbar ist.
Somit beseitigt das vorliegende Ausführungsbeispiel die Notwendigkeit,
zwei identische Kopien der gleichen Daten (eine von der Basisstation 904 und
eine andere von der Basisstation 906) an den Mobilclient 902 zu
senden. Folglich empfängt das
vorliegende Verfahren keine überflüssigen Daten und
es besteht auch nicht die Notwendigkeit, dieselben zu verwerfen.
Auch empfängt
in einem Fall, bei dem nur einer der zwei MD-Bitströme (zum Beispiel MD-Bitstrom
D0) bei der Basisstation 904 gespeichert ist und der andere
der zwei MD-Bitströme
(zum Beispiel MD-Bitstrom D1) bei der Basisstation 906 gespeichert
ist, der Mobilclient 902 den MD-Bitstrom D0 von der Basisstation 904 und
den MD-Bitstrom D1 von der Basisstation 906.
-
Außerdem empfängt, da
der Mobilclient 902 in Region B nur einen der zwei MD-Bitströme von jeder
der Basisstationen 904 und 906 empfängt, der Mobilclient 902 nicht
Daten mit der doppelten normalen Datenrate (d. h. die Datenrate,
mit der der Mobilclient 902 normalerweise beide MD-Bitströme empfängt, wenn
sich derselbe entweder in Region A oder in Region C befindet). Genauer
gesagt empfängt, wenn
die Basisstationen 904 und 906 jede nur einen der
zwei MD-Bitströme senden,
der Mobilclient 902 Daten D mit einer Rate, die in etwa
die gleiche wie die typische Rate ist, mit der der Mobilclient 902 Daten empfängt, wenn
sich derselbe in Region A oder Region C befindet. Dies ist herkömmlichen
Softübergabelösungsansätzen (wie
zum Beispiel dem Lösungsansatz,
der in 9 des Stands der Technik gezeigt ist)
gegenüberzustellen,
bei denen der Mobilclient, wenn sich derselbe in Region B befindet,
Daten mit einer Rate empfängt,
die in etwa das Doppelte der normalen Rate beträgt, mit der der Mobilclient
Daten empfängt,
wenn sich derselbe in Region A oder Region C befindet. Derartige
Bandbreiteneinsparungen (etwa 2:1 gegenüber herkömmlichen Softübergabelösungsansätzen) sind
zunehmend wichtig und wertvoll, da drahtlose Kanäle immer überfüllter werden. Somit liefert
das vorliegende Verfahren neben einem Beseitigen (1) der verschwenderischen
Verwendung von wertvollem drahtlosem Spektrum und (2) der Notwendigkeit,
auf verschwenderische Weise überflüssige Daten
zu verwerfen, auch eine konstantere Datenrate für den Mobilclient.
-
Anschließend fällt, wenn
sich der Mobilclient 902 in die Region C und weiter weg
von der Basisstation 904 bewegt, die Kanalqualität von der
Basisstation 904 unter den Fallenlassschwellenwert, und
der Mobilclient 902 kommuniziert nur mit der Basisstation 906,
wie es durch Pfeil 1008 gezeigt ist. Wenn sich derselbe
in Region C befindet, kommuniziert der Mobilclient 902 ausschließlich mit
der Basisstation 906, wie es durch Pfeil 1008 gezeigt
ist. Bei dem vorliegenden Beispiel können, da sowohl der erste MD-Bitstrom D0 als auch der zweite MD-Bitstrom D1 jeder bei der Basisstation 906 gespeichert
sind, einer oder beide des ersten und des zweiten MD-Bitstroms D0 und D1 an den Mobilclient 902 übertragen
werden. In einem Fall, bei dem nur einer der zwei MD-Bitströme bei der
Basisstation 906 gespeichert ist, wird nur dieser eine
MD-Bitstrom an den Mobilclient 902 übertragen. Auch ist das vorliegende
Ver fahren gut für
ein Ausführungsbeispiel
geeignet, bei dem nur einer der zwei MD-Bitströme an den Mobilclient 902 in
Region C übertragen
wird, obwohl sowohl der erste MD-Bitstrom
D0 als auch der zweite MD-Bitstrom D1 bei der Basisstation 904 gespeichert
sind.
-
Unter
jetziger Bezugnahme auf 11 ist
ein Flussdiagramm 1100 von Schritten aufgeführt, die bei
dem vorliegenden Ausführungsbeispiel
durchgeführt
werden. Obwohl spezifische Schritte in dem Flussdiagramm 1100 von 11 offenbart sind, sind diese Schritte beispielhaft.
Das heißt,
die vorliegende Erfindung ist gut für ein Durchführen verschiedener anderer
Schritte oder Variationen der Schritte, die in 11 aufgeführt
sind, geeignet. Außerdem
sind, wie es im Vorhergehenden im Zusammenhang mit der Beschreibung
von 1 erwähnt
ist, Teile des vorliegenden Verfahrens aus computerlesbaren und von
einem Computer ausführbaren
Anweisungen gebildet, die sich zum Beispiel in computerverwendbaren
Medien eines Computersystems befinden. Die Verfahren der im Folgenden
aufgelisteten Ausführungsbeispiele
sind in einigen Fällen
aus computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die sich zum Beispiel in einer Netzvorrichtung befinden, wie zum
Beispiel einer oder mehr der ersten und der zweiten Basisstation. Bei
Schritt 1102 erfasst das vorliegende Verfahren, dass die
Kanalqualität
zwischen einem Mobilclient (zum Beispiel Mobilclient 902)
und einer ersten Basisstation (zum Beispiel erste Basisstation 904)
und einer zweiten Basisstation (zum Beispiel Basisstation 906)
ständig
ab- bzw. zunimmt, bis die Kanalqualität zwischen dem Mobilclient
und der zweiten Basisstation über
einer Hinzufügeschwelle
liegt. Unter dieser Bedingung wird ein Kommunikationskanal zwischen dem
Mobilclient und der zweiten Basisstation eingerichtet, so dass der
Mobilclient gleichzeitig mit sowohl der ersten Basisstation als
auch der zweiten Basisstation kommunizieren kann. Bei einem Ausführungsbeispiel
sind in der ersten Basisstation sowohl der erste MD-Bitstrom als
auch der zweite MD-Bitstrom gespeichert, und dieselbe überträgt dieselben an
den Mobilclient. Zu diesem Zeitpunkt liegt die Kanalqualität von der
ersten Basisstation über
dem Fallenlassschwellenwert, und die Kanalqualität von der zweiten Basisstation
nähert
sich dem Hinzufügeschwellenwert.
Außerdem
befinden sich sowohl die erste Basisstation als auch die zweite
Basisstation in dem aktiven Satz für den Mobilclient.
-
Bei
Schritt 1104 sendet das vorliegende Ausführungsbeispiel
den ersten MD-Bitstrom (zum Beispiel den MD-Bitstrom D0) von der
ersten Basisstation an den Mobilclient 902 und sendet den
zweiten MD-Bitstrom (zum Beispiel den MD-Bitstrom D1) von der zweiten Basisstation
an den Mobilclient 902. Zu diesem Zeitpunkt liegt die Kanalqualität von der
ersten Basisstation über
dem Fallenlassschwellenwert, und die Kanalqualität von der zweiten Basisstation liegt
bei oder über
dem Hinzufügeschwellenwert.
Bei einem Ausführungsbeispiel
sind in der ersten Basisstation sowohl der erste MD-Bitstrom als
auch der zweite MD-Bitstrom gespeichert, und in der zweiten Basisstation
sind sowohl der erste MD-Bitstrom als auch der zweite MD-Bitstrom
gespeichert. Die vorliegende Erfindung ist jedoch gut für Ausführungsbeispiele
geeignet, bei denen beide der MD-Bitströme nicht jeder bei der ersten
Basisstation und der zweiten Basisstation gespeichert sind.
-
Bei
Schritt 1106 erfasst das vorliegende Ausführungsbeispiel,
dass die Kanalqualität
von der ersten Basisstation unter den Fallenlassschwellenwert fällt. Somit
wird der Kommunikationskanal mit der ersten Basisstation fallengelassen,
und der Mobilclient kommuniziert hauptsächlich mit der zweiten Basisstation.
Bei einem Ausführungsbeispiel
sind in der zweiten Basisstation sowohl der erste MD-Bitstrom als auch
der zweite MD-Bitstrom gespeichert, und dieselbe überträgt dieselben
nun an den Mobilclient.
-
Unter
jetziger Bezugnahme auf 12 des Stands
der Technik ist ein Diagramm gezeigt, das Nutzungsnachteile zeigt, die
einem herkömmlichen Hartübergabelösungsansatz
zugeordnet sind. 12 des Stands der Technik umfasst
drei Mobilclients A, B und C und eine Basisstation 1202 alle
innerhalb einer gemeinsamen Zelle 1204. Es sei ferner erneut
darauf hingewiesen, dass bei einem herkömmlichen drahtlosen System
Einstromvideokomprimierungstechniken verwendet werden, um einen einzigen
Strom von Daten D zu erzeugen. Kommunikationskanäle/-verbindungen sind schematisch durch
Pfeile 1206 und 1208 gezeigt. Die im Vorhergehenden
erwähnte
Softübergabe
wird normalerweise nur bei CDMA-Systemen implementiert. Bei anderen drahtlosen
Systemen, wie zum Beispiel dem globalen System zur Nachrichtenübermittlung
(GSM), kann ein Mobilclient normalerweise nur Daten von einer Basisstation
zu jeder beliebigen gegebenen Zeit senden und empfangen. Außerdem gibt
es eine feste Anzahl von Kanälen,
die jede Basisstation verwenden kann. Bei einem herkömmlichen
Hartübergabelösungsansatz,
bei dem ein Videostrom verwendet wird, muss ein Streaming beendet
werden, falls die neue Basisstation nicht genug Kapazität aufweist, um
den Strom zu tragen.
-
Unter
weiterer Bezugnahme auf 12 des Stands
der Technik ist der Fall veranschaulicht, bei dem eine Basisstation,
zum Beispiel Basisstation 1202, gerade genug Kapazität aufweist,
um einen Einstromvideo D an zwei Mobilclients A und B zu liefern.
Bei diesem Beispiel des herkömmlichen
Lösungsansatzes
bewegt sich ein Mobilclient C zu der Zelle 1204 hin, die
durch die Basisstation 1202 bedient wird. Damit der Mobilclient
C durch die Basisstation 1202 bedient wird, muss die Basisstation 1202 zumindest
einen der Mobilclients A und B fallen lassen. Das heißt, Kommunikationskanal 1208 oder Kommunikationskanal 1206 muss
fallengelassen werden, um einen Kommunikationskanal zur Verwendung
durch den Mobilclient C freizumachen. Wird angenommen, dass der
Mobilclient C durch eine andere Basisstation, die nicht gezeigt
ist, bedient wird, und das Signal dieser anderen Basisstation so
schwach wird, dass dasselbe fallengelassen wird, muss der Mobilclient
C entweder sofort durch die Basisstation 1202 bedient werden,
oder der Dienst des Mobilclients C wird unterbrochen. Somit kann
bei einem herkömmlichen
Hartübergabelösungsansatz,
um die Ankunft eines neuen Mobilclients (zum Beispiel Mobilclient
C) zu gestatten, ein Dienst an einen bestehenden Mobilclient oder
ein Dienst an den neuen Mobilclient gravierend unterbrochen werden.
-
Unter
jetziger Bezugnahme auf die 13A und 13B sind Diagramme gezeigt, die Nutzungsverbesserungen
zeigen, die gemäß verschiedener Ausführungsbeispiele
des vorliegenden Verfahrens erreicht werden. Die 13A und 13B umfassen
jede drei Mobilclients A, B und C und eine Basisstation 1302 alle
innerhalb einer gemeinsamen Zelle 1303. Kommunikationskanäle/-verbindungen
sind schematisch durch Pfeile 1304, 1306, 1308 und 1310 gezeigt.
Bei dem vorliegenden Ausführungsbeispiel nimmt
das folgende Beispiel ferner an, dass die zu streamenden Medien
(zum Beispiel ein Videostrom) zu zwei getrennten komplementären MD-Bitströmen D0 und
D1 codiert wurden oder werden, deren kombinierte Datenrate nahe
derjenigen von D von 12 liegt. Ein derartiges MD-Codieren,
um Mehrbeschreibungsbitströme
zu liefern, wurde im Vorhergehenden genau beschrieben. Genauer gesagt überträgt bei dem
vorliegenden Ausführungsbeispiel
die Basisstation 1302 den ersten MD-Bitstrom D0 an den
Mobilclient A unter Verwendung von Kanal 1304, und die Basisstation 1302 überträgt den zweiten
MD-Bitstrom D1 an den Mobilclient A unter Verwendung von Kanal 1306.
Auf ähnliche
Weise überträgt die Basisstation 1302 den
ersten MD-Bitstrom
D0 an den Mobilclient B unter Verwendung von Kanal 1308,
und die Basisstation 1302 überträgt den zweiten MD-Bitstrom D1 an den
Mobilclient B unter Verwendung von Kanal 1310. Noch einmal,
das vorliegende Beispiel wird nur zu Zwecken der Veranschaulichung
des vorliegenden Ausführungsbeispiels
präsentiert.
Das heißt,
die vorliegende Erfindung ist gut für den Fall geeignet, bei dem
die angeforderten Medien zu etwas anderem als zwei getrennten komplementären MD-Bitströmen codiert
werden. Somit verwendet, anders als ein herkömmliches drahtloses System,
das vorliegende Verfahren nicht nur einen einzigen Strom von Daten.
Außerdem
wird in 13A angenommen, dass die Basisstation 1302 gerade
genug Kapazität
aufweist, um den ersten und den zweiten MD-Bitstrom an jeden der
zwei Mobilclients A und B zu liefern.
-
Unter
jetziger Bezugnahme auf die 13A und 13B bewegt sich der Mobilclient C, der in 13A außerhalb
der Zelle 1303 angeordnet ist, in die Zelle 1303 hinein.
Bei dem vorliegenden Ausführungsbeispiel
hat sich der Mobilclient C nun von einer anderen Zelle, die nicht
gezeigt ist, zu der Basisstation 1302 hin bewegt und wünscht einen
Dienst von der Basisstation 1302. Bei dem vorliegenden
Ausführungsbeispiel
hört die
Basisstation 1302, anstatt dem Mobilclient C den Dienst
zu verweigern und dadurch eine Dienstunterbrechung zu bewirken,
auf, einen der MD-Bitströme (zum
Beispiel den ersten MD-Bitstrom D0) an einen
ihrer bestehenden Mobilclients (zum Beispiel Mobilclient A) zu senden.
Die Basisstation 1302 verwendet dann die übrige Kapazität (siehe zum
Beispiel Kanal 1304), um dem Mobilclient C einen Dienst
zu liefern. Da das vorliegende Ausführungsbeispiel ein MD-Codieren
verwendet, bleibt der Mobilclient A bedient, und der Mobilclient
C wird nun neu bedient, obwohl beide Clients nur einen MD-Bitstrom
empfangen. Somit wird die in hohem Maße unerwünschte Dienstunterbrechung
für die
Mobileinheit C und A oder B beseitigt. Deshalb verringert das vorliegende
Verfahren die Wahrscheinlichkeit einer unerwünschten Dienstunterbrechung
während
Hartübergaben.
Außerdem
ist die Basisstation 1302 bei einem Fall, bei dem die Basisstation 1302 eine
ausreichende Kapazität
aufweist, in der Lage, einen oder beide der zwei getrennten komplementären MD-Bitströme D0 und D1 an einen
neuen Mobilclient zu liefern. Außerdem kann die Basisstation 1302 bei
einem Ausführungsbeispiel
mehr als einen der zwei getrennten komplementären MD-Bitströme D0 und D1 an den neuen
Mobilclient C neu zuteilen.
-
Unter
weiterer Bezugnahme auf 13A erfolgt
bei dem vorliegenden Ausführungsbeispiel
keine Dienstunterbrechung, solange die Basisstation genug Kapazität aufweist,
um einen MD-Bitstrom an den ankommenden Mobilclient zu liefern.
Außerdem kann,
selbst wenn keine freie Kapazität
bei der Basisstation verfügbar
ist, eine zusätzliche
Kapazität
durch ein Verringern der Anzahl von MD-Bitströmen, die an bestehende Mobileinheiten
geliefert werden, und ein Neuzuteilen eines der MD-Bitströme an den
neu ankommenden Mobilclient erzeugt werden. Es ist ersichtlich,
dass das vorliegende Verfahren nahezu die doppelte Anzahl von Rufen
unterstützen
kann als bei herkömmlichen
Hartübergabelösungsansätzen verfügbar ist,
wenn angenommen wird, dass zwei Beschreibungen für ein Mehrbeschreibungscodieren verwendet
werden. Die maximale Anzahl von Benutzern, die unterstützt werden
kann, nimmt zu, wenn die Anzahl von Beschreibungen zunimmt, die
bei einem Mehrbeschreibungscodieren verwendet werden. Falls zum
Beispiel die Basisstation normalerweise N Benutzer mit K Beschreibungen
pro Benutzer unterstützen
kann, dann kann dieselbe einen Bereich von möglichen Benutzern von bis zu
N Benutzern bei einer maximalen Qualität für jeden Benutzer (K Beschreibungen
für jeden)
bis zu N·K
Benutzern bei einer verwendbaren Qualität pro Benutzer (eine Beschreibung
für jeden)
unterstützen.
Auf diese Weise liefert das System ein Form von eleganter Verschlechterung,
da dasselbe seine Operation von einem Liefern der maximalen Qualität pro Benutzer
zu einem Unterstützen
der maximalen Anzahl von Benutzern (bei einer niedrigeren Qualität pro Benutzer) verändern kann,
wenn der Bedarf zunimmt.
-
Außerdem können, obwohl
sich die vorhergehende Erörterung
auf die Vorteile für
Hartübergabelösungsansätze konzentriert,
die Vorteile auch bei Softübergabelösungsansätzen erreicht
werden.
-
Unter
jetziger Bezugnahme auf 14 ist ein
Flussdiagramm 1400 von Schritten aufgeführt, die bei dem vorliegenden
Ausführungsbeispiel
durchgeführt
werden. Obwohl spezifische Schritte in dem Flussdiagramm 1400 von 14 offenbart sind, sind diese Schritte beispielhaft.
Das heißt,
die vorliegende Erfindung ist gut für ein Durchführen verschiedener anderer
Schritte oder Variationen der Schritte, die in 14 aufgeführt
sind, geeignet. Außerdem
werden, wie es im Vorhergehenden im Zusammenhang mit der Beschreibung
von 1 erwähnt
ist, Teile des vorliegenden Verfahrens aus computerlesbaren und von
einem Computer ausführbaren
Anweisungen gebildet, die sich zum Beispiel in computerverwendbaren
Medien eines Computersystems befinden. Die Verfahren der im Folgenden
aufgelisteten Ausführungsbeispiele
sind in einigen Fällen
aus computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die sich zum Beispiel in einer Netzvorrichtung, wie zum Beispiel
einer oder mehr Basisstationen, befinden. Bei Schritt 1402 erfasst das
vorliegende Ausführungsbeispiel
einen Mobilclient, der versucht, einen Kommunikationskanal mit einer
Basisstation einzurichten.
-
Bei
Schritt 1404 bestimmt das vorliegende Ausführungsbeispiel,
ob die Basisstation eine ausreichende Kapazität aufweist, um einen oder mehr
einer Mehrzahl von MD-Bitströmen an den
neuen Mobilclient zu liefern. Falls die Basisstation eine ausreichende
Kapazität
aufweist, um einen oder mehr einer Mehrzahl von MD-Bitströmen an den
neuen Mobilclient zu liefern, geht das vorliegende Verfahren zu Schritt 1406 über. Falls
die Basisstation keine ausreichende Kapazität aufweist, um einen oder mehr
einer Mehrzahl von MD-Bitströmen
an den neuen Mobilclient zu liefern, geht das vorliegende Verfahren
zu Schritt 1408 über.
-
Bei
Schritt 1406 liefert, vorausgesetzt, dass die Basisstation
bei Schritt 1404 eine ausreichende Kapazität aufwies,
um einen oder mehr einer Mehrzahl von MD-Bitströmen an den neuen Mobilclient
zu liefern, die Basisstation einen oder mehr der verfügbaren Mehrzahl
von MD-Bitströmen
an den neuen Mobilclient.
-
Bei
Schritt 1408 bestimmt, vorausgesetzt, dass die Basisstation
bei Schritt 1404 keine ausreichende Kapazität aufwies,
um einen oder mehr einer Mehrzahl von MD-Bitströmen an den neuen Mobilclient
zu liefern, das vorliegende Verfahren, ob ein bestehender Client
derzeit einen oder mehr einer Mehrzahl von MD-Bitströmen empfängt. Falls
ein bestehender Client derzeit nicht einen oder mehr einer Mehrzahl
von MD-Bitströmen
empfängt,
kehrt das vorliegende Ausführungsbeispiel
zum Beginn des vorliegenden Verfahrens zurück. Falls ein bestehender Client
derzeit einen oder mehr einer Mehrzahl von MD-Bitströmen empfängt, geht
das vorliegende Ausführungsbeispiel
zu Schritt 1410 über.
-
Bei
Schritt 1410 teilt das vorliegende Verfahren zumindest
einen der ein oder mehr einer Mehrzahl von MD-Bitströmen dem
neuen Mobilclient zu.
-
Zusammenfassend
liefern die Verfahren der vorliegenden Ausführungsbeispiele ein verbesserte Nutzung
von drahtloser Bandbreite während
Softübergaben
und eine verringerte Wahrscheinlichkeit einer Dienstunterbrechung
während
Hartübergaben.
-
Serverübergaben
-
Zusätzlich zu
den Basisstation/Mobilclient-Übergaben,
die im Vorhergehenden erörtert
sind, können
Bedingungen und Ereignisse, wie zum Beispiel Clientbewegung, dynamische
Netzbedingungen oder dynamische Serverlast, auch eine Serverübergabe
erfordern. Derartige Serverübergaben
müssen
auf eine fehlertolerante Weise durchgeführt werden, die trotz zeitlich
variierender Drahtloskanalbedingungen einen ununterbrochenen Streamingdienst an
den Mobilclient liefert. Die folgende Erörterung bezieht sich auf Verfahren
der vorliegenden Erfindung, die ein Übergeben von Streamingmediensitzungen zwischen
Servern eines drahtlosen Kommunikationssystems betreffen.
-
Bei
einem herkömmlichen
Serverübergabelösungsansatz
müssen
große
Mengen von Speicherplatz bei dem empfangenden Server reserviert
oder zugeteilt sein, um die Übergabe
zu gestatten. Insbesondere versucht ein erster Server bei einem
herkömmlichen Übergabebeispiel,
Daten an einen zweiten Server zu übergeben. Es sei ferner darauf
hingewiesen, dass bei einem herkömmlichen
drahtlosen System Einstromvideokomprimierungstechniken verwendet
werden, um einen einzigen Strom von Daten D mit hoher Bitrate zu
erzeugen. Bei diesem herkömmlichen
Beispiel muss ein großer
Teil des Stroms von Daten hoher Bitrate, wenn nicht der gesamte Strom,
von dem ersten Server zu dem zweiten Server übergeben werden. Folglich muss
bei dem zweiten Server ein ausreichender verfügbarer freier Speicherplatz
reserviert oder zugeteilt sein, um ein Speichern der Daten D zu
gestatten, die von dem ersten Server übertragen werden. Außerdem kann
die Übertragung
des gesamten einzigen Stroms von Daten hoher Bitrate oder eines
großen
Teils desselben beträchtliche
Mengen von Zeit beanspruchen. Folglich ist es möglich, dass der Mobilclient
warten muss (d. h. seine Streamingsitzung wird unterbrochen), bis die Übertragung
der Daten D von dem ersten Server zu dem zweiten Server abgeschlossen
ist. Bei einer Streamingmedienumgebung sind derartige Unterbrechungen
oder Verzögerungen
nicht akzeptabel.
-
Unter
jetziger Bezugnahme auf 15 ist eine
schematische Veranschaulichung eines ersten Servers 1502 und
eines zweiten Servers 1504, die bei einer Serverübergabe
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung verwendet werden sollen, gezeigt. 15 umfasst ferner einen Mobilclient 1506,
der sich in die Richtung bewegt, die durch Bewegungspfeil 1508 angezeigt
ist. 15 umfasst auch einen Vorabrufinformationspfeil 1510, der
die Richtung einer Datenübertragung
bei dem vorliegenden Übergabebeispiel
anzeigt (d. h. von dem ersten Server 1502 zu dem zweiten
Server 1504). Eine Inhaltsquelle 1512 ist ebenfalls
in 15 veranschaulicht. Bei dem vorliegenden Beispiel sendet
der erste Server 1502 einen Multimediastrom an den Mobilclient 1506.
Bei dem vorliegenden Ausführungsbeispiel
puffert der erste Server 1502 jedoch anstatt eines Speicherns
des vollständigen
Stromes nur einen Teil des Stromes, der lokal von der Inhaltsquelle 1512 empfangen
wird. Ein derartiger Lösungsansatz
weist viele Vorteile auf, die demselben zugeordnet sind. Falls zum
Beispiel der erste Server 1502 den vollständigen Strom
darin speichern sollte, müsste
der Mobilclient 1506 warten, bis der Strom von Daten vollständig von
der Inhaltsquelle 1512 heruntergeladen ist. Nachdem der
Mobilclient 1506 einen Teil der Daten betrachtet hat, sollte
der erste Server 1502 den vollständigen Strom von Daten nicht länger speichern,
da dies Speicherplatz verschwenden würde. Obwohl ein derartiger
Lösungsansatz
im Vorhergehenden erwähnt
ist, ist die vorliegende Erfindung gut für den Lösungsansatz geeignet, bei dem der
erste Server 1502 den vollständigen Strom darauf speichert.
-
Unter
weiterer Bezugnahme auf 15 nimmt
das folgende Beispiel bei dem vorliegenden Ausführungsbeispiel ferner an, dass
die zu streamenden Medien (zum Beispiel ein Videostrom) zu zwei
getrennten komplementären
MD-Bitströmen
D0 und D1 codiert wurden oder werden, deren kombinierte Datenrate
nahe derjenigen von D liegt (d. h. nahe derjenigen eines einzigen
Stroms von Daten D mit hoher Bitrate, der im Vorhergehenden beschrieben
ist). Ein derartiges MD-Codieren,
um Mehrbeschreibungsbitströme
zu liefern, wurde im Vorhergehenden genau beschrieben. Noch einmal,
das vorliegende Beispiel wird nur zu Zwecken der Veranschaulichung
des vorliegenden Ausführungsbeispiels
präsentiert.
Das heißt,
die vorliegende Erfindung ist gut für den Fall geeignet, bei dem
die angeforderten Medien zu etwas anderem als zwei getrennten komplementären MD-Bitströmen codiert
werden. Wichtiger ist, dass, anders als ein herkömmliches drahtloses System,
das vorliegende Verfahren nicht nur einen einzigen Strom von Daten
hoher Bitrate verwendet. Außerdem
beschäftigt
sich das folgende Beispiel aus Gründen der Übersichtlichkeit und Kürze speziell
mit einer Überga be,
die eine erste Basisstation und eine zweite Basisstation umfasst.
Die vorliegende Erfindung ist jedoch gut für Implementierung geeignet,
die mehr als zwei Basisstationen umfassen.
-
Unter
weiterer Bezugnahme auf 15 puffert
der erste Server 1502 in dem Anfangszustand einen Videostrom
in der Form eines ersten MD-Bitstroms D0 und eines zweiten MD-Bitstroms D1. Außerdem wird
Flussdiagramm 1800 von 18 nun zusammen
mit den 15 bis 17 verwendet,
um ferner deutlich das Verfahren der vorliegenden Erfindung aufzuzeigen.
Obwohl spezifische Schritte in dem Flussdiagramm 1800 von 18 offenbart sind, sind diese Schritt exemplarisch.
Das heißt,
die vorliegende Erfindung ist gut für ein Durchführen verschiedener
anderer Schritte oder Variationen der Schritte geeignet, die in 18 aufgeführt
sind. Außerdem sind,
wie es im Vorhergehenden im Zusammenhang mit der Beschreibung von 1 erwähnt ist,
Teile des vorliegenden Verfahrens aus computerlesbaren und von einem
Computer ausführbaren
Anweisungen gebildet, die sich zum Beispiel in computerverwendbaren
Medien eines Computersystems befinden. Die Verfahren der im Folgenden
aufgelisteten Ausführungsbeispiele
sind in einigen Fällen
aus computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die sich zum Beispiel in einem oder mehr der Server, der Basisstationen,
der Inhaltsquellen oder verschiedener Kombinationen derselben befinden.
-
Unter
weiterer Bezugnahme auf 15 und auf
das Flussdiagramm 1800 von 18 empfängt der
Mobilclient 1506 sowohl den ersten MD-Bitstrom D0 als auch
den zweiten MD-Bitstrom D1 und liefert ein Video hoher Qualität an den
Benutzer. Der erste MD-Bitstrom D0 ist durch Pfeil 1514 so
gezeigt, dass derselbe dem Mobilclient 1506 von dem ersten
Server 1502 geliefert wird. Ebenso ist der zweite MD-Bitstrom
D1 durch Pfeil 1516 so gezeigt, dass derselbe dem Mobilclient 1506 von
dem ersten Server 1502 geliefert wird. Wie es durch den
Bewegungspfeil 1508 gezeigt ist, bewegt sich der Mobilclient 1506 bei dem
vorliegenden Beispiel derart in einer Richtung, dass der zweite
Server 1504 bald der „nächstgelegen" angeordnete Server
sein wird. Obwohl ein physischer Ort bei dem vorliegenden Beispiel
als der Anstoß für die Serverübergabe
angeführt
ist, ist das vorliegende Ausführungsbeispiel
gut für
ein Durchführen des
im Folgenden beschriebenen Übergabeprozesses
basierend auf verschiedenen anderen Faktoren geeignet (zum Beispiel
dynamische Netzbedingungen, dynamische Serverlast und dergleichen).
Bei Schritt 1802 wird bei dem vorliegenden Beispiel ein neuer
Server für
den Übergabeprozess
ausgewählt. Bei
diesem Beispiel verwendet der erste Server 1502 eine Mobilitätsschätzung (die
zum Beispiel durch den Mobilclient 1506 geliefert wird)
und/oder einen Ressourcenzuteilungsprozess (wie es im Vorhergehenden
in einem vorausgegangenen Abschnitt beschrieben ist), um einen nahegelegenen
zweiten Server 1504 für
die Übergabe
auszuwählen.
-
Unter
erneuter Bezugnahme auf 15 und nun
auf Schritt 1804 sendet der erste Server 1502 bei einem
Ausführungsbeispiel
jetzt Vorabrufinformationen an den zweiten Server 1504,
die anzeigen, dass der Mobilclient 1506 sich wahrscheinlich
in den Bereich bewegt, der durch den zweiten Server 1504 abgedeckt
wird.
-
Unter
jetziger Bezugnahme auf 16 und auf
Schritt 1806 von 18 erhält der zweite
Server 1504 auf ein Empfangen der Vorabrufinformationen hin
bei dem vorliegenden Ausführungsbeispiel
den einen oder den anderen des ersten und des zweiten MD-Bitstroms.
Außerdem
wird bei einem Ausführungsbeispiel
der eine oder der andere des ersten und des zweiten MD-Bitstroms
von der Inhaltsquelle 1512 (die sowohl mit dem ersten Server 1502 als auch
mit dem zweiten Server 1504 gekoppelt gezeigt ist) erhalten.
Bei einem weiteren Ausführungsbeispiel wird
der eine oder der andere des ersten und des zweiten MD-Bitstroms
von dem ersten Server 1502 erhalten. Außerdem wird bei dem vorliegenden
Beispiel das verdrahtete Netz hoher Bandbreite verwendet, um die
Speicher vorrichtungen bei dem zweiten Server 1504 zu bestücken. Auf
diese Weise erfolgt die Erfassung des einen oder des anderen des
ersten und des zweiten MD-Bitstroms durch den zweiten Server 1504 rasch
und effizient. Obwohl das vorliegende Ausführungsbeispiel explizit ein
Beispiel anführt,
bei dem zu streamende Medien (zum Beispiel ein Videostrom) zu zwei
getrennten komplementären MD-Bitströmen codiert
wurden oder werden, ist die vorliegende Erfindung gut für den Fall
geeignet, bei dem die angeforderten Medien zu mehr als zwei getrennten
komplementären
MD-Bitströmen
codiert werden. Es ist wichtig, dass bei dem vorliegenden Ausführungsbeispiel
irgendein Teilsatz der Mehrzahl von MD-Bitströmen anfangs durch den zweiten
Server 1504 erhalten wird. Zum Beispiel werden bei einem
Ausführungsbeispiel
zwei von drei verfügbaren MD-Bitströmen anfangs
durch den zweiten Server 1504 erhalten. Allgemeiner wird
bei den vorliegenden Ausführungsbeispielen
irgendein Teilsatz x von y MD-Bitströmen insgesamt (wobei x zumindest
eines weniger als y ist) durch den zweiten Server erhalten.
-
Mehrere
verschiedene Vorteile werden durch die vorliegenden Ausführungsbeispiele
realisiert. Beispielsweise ist die Übertragung von Daten schnell und
effizient, da der zweite Server 1504 anfangs nur einen
Strom braucht (und nicht den gesamten Strom hoher Bandbreite, der
bei herkömmlichen
Lösungsansätzen erforderlich
ist). Außerdem
muss, da die vorliegenden Ausführungsbeispiele
kein Speichern eines großen
Teils des Stroms von Daten hoher Bitrate oder sogar des gesamten
Stroms benötigen
(und somit die Pufferspeicheranforderung), der zweite Server nicht
riesige Mengen von freiem Speicherplatz aufweisen, die darin reserviert
oder zugeteilt sind, um ein Speichern der übertragenen Daten D zu gestatten.
Außerdem
kann bei herkömmlichen
Lösungsansätzen die Übertragung
des gesamten einzigen Stroms von Daten hoher Bitrate oder eines
großen
Teils desselben beträchtliche
Zeitmengen beanspruchen. Bei den vorliegenden Ausführungsbeispielen
erfolgt jedoch die Übertragung
von zum Beispiel einem einzigen MD-Bitstrom viel rascher, wodurch die
Möglichkeit
verringert wird, dass der Mobilclient während der Übertragung von Daten warten
muss (d. h. seine Streamingsitzung wird unterbrochen).
-
Unter
erneuter Bezugnahme auf 16 ist einer
der im Vorhergehenden erwähnten
Vorteile, die dem vorliegenden Verfahren zugeordnet sind, wenn der
Mobilclient 1506 sich in einen Bereich bewegt, der durch
den zweiten Server 1504 abgedeckt wird, graphisch dargestellt. 16 zeigt den Zwischenzustand, bei dem der zweite
Server 1504 den zweiten MD-Bitstrom D1 erhalten hat und
den zweiten MD-Bitstrom D1 bereits an den Mobilclient 1506 streamt.
In 16 ist der erste MD-Bitstrom D0 durch Pfeil 1514 so
gezeigt, dass derselbe dem Mobilclient 1506 von dem ersten
Server 1502 geliefert wird. Der zweite MD-Bitstrom D1 ist
durch Pfeil 1518 so gezeigt, dass derselbe dem Mobilclient 1506 von
dem zweiten Server 1504 geliefert wird. Somit erlaubt,
wie es im Vorhergehenden erwähnt
ist, bei dem vorliegenden Verfahren die vorliegende Erfindung anstelle eines
Reproduzierens des vollständigen
Videostroms bei beiden Servern während
der Übergabe eine
Einsparung von Speicherressourcen bevorzugt durch ein Vorabrufen
nur eines (oder weniger als aller) der Mehrzahl von MD-Bitströmen.
-
Unter
jetziger Bezugnahme auf 17 ist bei
einem Ausführungsbeispiel
bis zu dem Zeitpunkt, zu dem der Mobilclient 1506 sich
vollständig
in der Region befindet, die durch den zweiten Server 1504 abgedeckt
wird, der erste MD-Bitstrom D0 auch lokal gepuffert worden. Somit
kann der zweite Server 1504 nun sowohl den ersten MD-Bitstrom
D0 als auch den zweiten MD-Bitstrom D1 an den Mobilclient 1506 liefern.
Somit ist in 17 der erste MD-Bitstrom D0 durch
Pfeil 1520 so gezeigt, dass derselbe dem Mobilclient 1506 von
dem zweiten Server 1504 geliefert wird. Der zweite MD-Bitstrom
D1 ist durch Pfeil 1518 so gezeigt, dass derselbe dem Mobilclient 1506 von dem
zweiten Server 1504 geliefert wird. An diesem Punkt kann
der erste Server 1502 seine Speichervorrichtungen erneut
verwenden, um andere MD- Bitströme zu speichern,
verschiedene andere Mobilclients zu bedienen und dergleichen.
-
Als
eine weitere Erörterung
der Vorteile, die dem vorliegenden Verfahren zugeordnet sind, kann der
Glättungseffekt,
der mit einer Mehrzahl von MD-Bitströmen erreichbar ist, auch verwendet
werden, um die Verteilung von Speicherung in einem Server zwischen
mehreren Clients richtig zu steuern. Insbesondere sei angenommen,
dass ein Server ein bestimmtes Zeitintervall eines Stroms puffern
muss. Vorausgesetzt, dass eine endliche Speicherkapazität M vorliegt
und die volle Bitrate B beträgt,
mit einem Pufferintervall T, ist die Gesamtanzahl von Strömen, die
durch den Server gepuffert werden könnten, auf M/(B × T) beschränkt. Durch
ein Verwenden einer Mehrzahl von MD-Bitströmen verringert das vorliegende
Verfahren jedoch wirksam die Bitrate auf irgendeinen Wert b < B. Somit nimmt
bei dem vorliegenden Verfahren die Anzahl von unterschiedlichen Strömen, die
gehandhabt werden können,
um den gleichen Faktor auf M/(b × T) zu. Wie es im Vorhergehenden
beschrieben ist, wird während
eines Clientübergangs
die Stromqualität
zu dem Mobilclient durch ein Verwenden von mehreren Servern, die
verschiedene MD-Bitströme
liefern, bewahrt. Abschließend
verwendet das vorliegende Verfahren eine Mehrbeschreibungscodierung,
um den Prozess einer Speicherzuteilung zwischen Servern zu verbessern.
-
Fest- und/oder Mobilcliententwurf
-
Dieser
Abschnitt beschreibt verschiedene Ausführungsbeispiel der vorliegenden
Erfindung, die das Mobilclientuntersystem eines Mobilstreamingmediensystems
betreffen. Bei den vorliegenden Ausführungsbeispielen ist der Mobilclient
in der Lage, Daten (zum Beispiel Mehrbeschreibungsbitströme) von
einzelnen oder mehreren Basisstationen zu empfangen. Bei einigen
Ausführungsbeispielen
ist der Mobilclient der vorliegenden Erfindung auch in der Lage
zu entscheiden, wie viele Mehrbeschreibungsbitströme derselbe
empfängt
und von wo derselbe sie annimmt. Auch ist der Mobilclient der vorliegenden
Erfindung bei verschiedenen Ausführungsbeispielen
in der Lage, Mehrbeschreibungsbitströme synchron zu decodieren.
Die folgende Erörterung
bezieht sich auf beliebige von verschiedenen Mobilclients, wie zum
Beispiel ein Mobiltelefon, ein Personaldigitalassistent (PDA), ein
Laptopcomputer, eine Rufanlage (Pager) und dergleichen. Außerdem sind
bestimmte schematisch dargestellte Teile des Mobilclients 1900 aus
computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die sich zum Beispiel in computerverwendbaren Medien eines Computersystems
befinden. Die Merkmale der im Folgenden aufgelisteten Ausführungsbeispiele sind
in einigen Fällen
aus computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die sich zum Beispiel in einer oder mehr der verschiedenen Komponenten
des Mobilclients 1900 befinden. Außerdem sind die Merkmale der
im Folgenden aufgelisteten Ausführungsbeispiele
in einigen Fällen
aus computerlesbaren und von einem Computer ausführbaren Anweisungen gebildet,
die zum Beispiel bei einem Vorläufermobilclient
implementiert wurden. Außerdem
sei, obwohl die folgende Erörterung
und die entsprechenden Figuren sich spezifisch auf einen Mobilclient
beziehen, darauf hingewiesen, dass bei verschiedenen anderen Ausführungsbeispielen
der vorliegenden Erfindung die herausragenden Merkmale/Komponenten
zum Beispiel von 19 sich in einem festen Client
befinden, der gemäß der vorliegenden
Erfindung gebildet ist. Außerdem
sei darauf hingewiesen, dass die ein oder mehr Wege zu dem Client
bei den vorliegenden Ausführungsbeispielen
vollständig
verdrahtet oder teilweise drahtlos sein könnten. Somit wären ein
oder mehr Drahtverbindungen bei dem Client anstelle von einer Mehrzahl
von Antennen 1902a und 1902b von 19 angeordnet. Auch ist bei einem Festclientausführungsbeispiel
normalerweise eine größere CPU-(zentrale
Verarbeitungseinheit)Leistung verfügbar. Folglich kann bei einem
derartigen Ausführungsbeispiel
der feste Client es sich leisten, eine höher entwickelte Verarbeitung
(zum Beispiel ein Nachfilter oder eine verbesserte Zustandswiederherstellung) zwischen
dem Decodierer und der Anzeige-/Audioausgabevorrichtung
anzuwenden und damit eine Ausgabequalität zu verbessern.
-
Unter
jetziger Bezugnahme auf 19 ist ein
schematisches Diagramm eines Mobilclients 1900 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Aus Gründen der Übersichtlichkeit und Erläuterung
kann es sein, dass verschiedene Komponenten in Fig. 1900 nicht
gezeigt sind, um ein unnötiges
Verkomplizieren der schematischen Darstellung der Mobileinheit 1900 zu
vermeiden. Wie es in 19 gezeigt ist, ist die Mobileinheit 1900 aus
einer Mehrzahl von Antennen 1902a und 1902b gebildet,
die mit einem Empfänger 1904 gekoppelt
sind. Obwohl eine Mehrzahl von Antennen 1902a und 1902b in 19 gezeigt ist, soll eine derartige Darstellung
nur anzeigen, dass der Mobilclient 1900 in der Lage ist,
eine Mehrzahl von MD-Bitströmen
zu empfangen. Bei den vorliegenden Ausführungsbeispielen ist der Mobilclient 1900 in
der Lage, mehrere MD-Bitströme
unter Verwendung einer einzigen Antenne zu empfangen. Außerdem nimmt
das folgende Beispiel zu Veranschaulichungszwecken bei dem vorliegenden
Ausführungsbeispiel
ferner an, dass die zu streamenden Medien (zum Beispiel ein Videostrom)
zu zwei getrennten komplementären MD-Bitströmen codiert
wurden oder werden. Ein derartiges MD-Codieren, um Mehrbeschreibungsbitströme zu liefern,
wurde im Vorhergehenden genau beschrieben. Noch einmal, das vorliegende
Beispiel wird nur zu Zwecken der Veranschaulichung des vorliegenden
Ausführungsbeispiels
präsentiert.
Das heißt,
der Mobilclient der vorliegenden Erfindung ist gut für einen
Betrieb in Verbindung mit dem Fall geeignet, bei dem die angeforderten
Medien zu etwas anderem als zwei (zum Beispiel drei oder mehr) getrennten
komplementären
MD-Bitströmen codiert werden.
-
Unter
weiterer Bezugnahme auf 19 umfasst
der Mobilclient 1900 auch zwei Puffer, Puffer 1 1906 und
Puffer N 1908, die sowohl mit dem Empfänger 1904 als auch
mit einem Mehrbeschreibungsdecodierer 1910 gekoppelt sind,
der wiederum mit einer Anzeige 1912 gekoppelt ist. Noch
einmal, eine derartige Darstellung soll nur anzeigen, dass der Mobilclient 1900 in
der Lage ist, eine Mehrzahl (d. h. N MD-Bitströme) zu empfangen. Zu Veranschaulichungszwecken
nimmt das folgende Beispiel bei dem vorliegenden Ausführungsbeispiel
ferner an, dass die zu streamenden Medien (zum Beispiel ein Videostrom)
zu zwei getrennten komplementären MD-Bitströmen codiert
wurden oder werden. Bei einem derartigen Beispiel weist der Mobilclient 1900 des
vorliegenden Ausführungsbeispiels
zwei Puffer auf, einen für
jeden der zwei MD-Bitströme.
Die vorliegende Erfindung ist gut für einen Betrieb in Verbindung
mit dem Fall geeignet, bei dem die angeforderten Medien zu etwas
anderem als zwei (zum Beispiel drei oder mehr) getrennten komplementären MD-Bitströmen codiert
werden und eine entsprechende Anzahl von Puffern vorliegt. Bei verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung umfasst der Decodierer 1910 die
geeigneten Hardware-, Firmware- und Softwaretools, um Decodieroperationen
durchzuführen,
die mit Standards wie zum Beispiel MPEG-4 Version 2 (mit NEWPRED)
und H.263 Version 2 (mit RPS) kompatibel sind. Außerdem kann es
sich, wie es im Vorhergehenden im Zusammenhang mit der Beschreibung
von 1 erwähnt
ist, bei der Anzeigevorrichtung 1912 von 19 um eine Flüssigkristallvorrichtung,
eine Kathodenstrahlröhre oder
eine andere Anzeigevorrichtung handeln, die zum Erzeugen von Graphikbildern
und alphanumerischen Schriftzeichen geeignet ist, die für einen
Benutzer erkennbar sind. Auch wäre
bei verschiedenen Ausführungsbeispielen,
die andere Daten als Videodaten verwenden (zum Beispiel sprachbasierte
Daten), eine Audioausgabevorrichtung in Fig. 1900 zusätzlich zu
oder anstelle von der Anzeige 1912 vorhanden. Für die Zwecke
der vorliegenden Anmeldung wird der Begriff Benutzerschnittstellenvorrichtung
so aufgefasst, dass es sich dabei um eine beliebige anwendbare Vorrichtung
(zum Beispiel Lautsprecher, Anzeige, Kombination derselben und dergleichen)
handelt, die schließlich
die gestreamten Medien einem Benutzer präsentiert.
-
Unter
weiterer Bezugnahme auf 19 sind der
Puffer 1 1906 und der Puffer N 1908 auch mit einem
Synchronisationsmodul 1914 gekoppelt. Das Synchronisationsmodul 1914 wird
teilweise verwendet, um die Mehrzahl von empfangenen MD-Bitströmen zu vermengen/zu
kombinieren. Das Synchronisationsmodul ist mit einem Quellensteuermodul 1916 gekoppelt,
das ferner aus einer Kanalqualitätsüberwachungseinrichtung
und einer Leistungsstärkeüberwachungseinrichtung 1920 gebildet
ist. Bei dem Ausführungsbeispiel
von 19 ist das Synchronisationsmodul 1914 auch
mit einem Rückkanal
gekoppelt. Der Mobilclient 1900 ist auch gut für ein Ausführungsbeispiel
geeignet, das keinen Rückkanal
umfasst.
-
Die
folgende Erörterung
liefert kein Beispiel für
den Betrieb der im Vorhergehenden beschriebenen Komponenten. Zur
Erinnerung, das folgende Beispiel nimmt bei dem vorliegenden Ausführungsbeispiel
an, dass die zu streamenden Medien (zum Beispiel ein Videostrom)
zu zwei getrennten komplementären
MD-Bitströmen
codiert wurden oder werden. Dieser codierte Videostrom soll schließlich einem
Benutzer über
die Anzeige 1912 angezeigt werden. Unter weiterer Bezugnahme
auf 19 empfangen die Antennen 1902a und 1902b während eines
Betriebs einen ersten MD-Bitstrom bzw. einen zweiten MD-Bitstrom.
Wie es in 19 gezeigt ist, bestimmt die
Quellensteuerüberwachungseinrichtung 1916 selektiv
(über Schalter 1924a und 1924b), ob
die Antennen 1902a und 1902b irgendwelche empfangenen
MD-Bitströme
an den Empfänger 1904 weiterleiten
oder nicht. Insbesondere erfasst die Kanalqualitätsüberwachungseinrichtung 1918 des vorliegenden
Ausführungsbeispiels
Kanalqualitäten, wie
zum Beispiel die Signalstärke
von verschiedenen Basisstationen. Wenn eine weitere Basisstation
erfasst wird, d. h. die Signalstärke
von der erfassten Basisstation ist höher als ein Hinzufügeschwellenwert,
leitet das Quellensteuermodul 1916 eine Empfangssitzung
von der erfassten Basisstation ein.
-
Auch
sammelt die Leistungsstärkeüberwachungseinrichtung 1920 während eines
Betriebs die Leistungsstärkeinformationen
des Mobilclients 1900. In dem Fall, dass eine Leistungsversorgung
höhere Priorität hat, kann
der Mobilclient 1900 es vorziehen, eine geringere Anzahl
von MD-Bitströmen
zu empfangen. Gemeinsam sind diese Informationen zusammen mit der
Rückkopplung
von dem Synchronisationsmodul 1914 dem Quellensteuermodul 1916 dabei
behilflich, zu entscheiden, ob der Mobilclient 1900 verschiedene
MD-Bitströme
empfangen soll oder nicht. Diese Informationen zusammen mit der Rückkopplung
von dem Synchronisationsmodul 1914 sind dem Quellensteuermodul 1916 dabei
behilflich, zu entscheiden, ob der Mobilclient 1900 verschiedene
MD-Bitströme
von einer einzigen oder mehreren Basisstationen empfangen soll.
Falls zum Beispiel einer der MD-Bitströme eine sehr schlechte Qualität aufweist
(zum Beispiel eine hohe Bitfehlerrate, eine hohe Paketverlustrate
und/oder dergleichen), kann der Mobilclient 1900 (über das
Synchronisationsmodul 1914 und das Quellensteuermodul 1916) entscheiden,
nur einen der zwei MD-Bitströme
zu decodieren, und/oder ob mehr als eine Basisstation „gehört" werden soll. Außerdem können Angelegenheiten
wie zum Beispiel Leistungsaufnahmeprioritäten vorgeben, dass der Mobilclient 1900 weniger
als alle der verfügbaren
MD-Bitströme
decodiert, und/oder ob mehr als eine Basisstation gehört werden
soll. Derartige Entscheidungen durch den Mobilclient 1900 können dann
an relevante Basisstationen unter Verwendung des Rückkanals 1922 weitergeleitet werden,
vorausgesetzt, ein Rückkanal
ist vorhanden. Auch wird zu Zwecken der vorliegenden Anmeldung die
Sammlung von Informationen (zum Beispiel Informationen von sowohl
dem Synchronisationsmodul 1914 als auch Informationen von
dem Quellensteuermodul 1916) hier als die Betriebscharakteristika
des Mobilclient 1900 bezeichnet. Außerdem wird zu Zwecken der
vorliegenden Anmeldung der Rückkanal 1922 so
verstanden, dass derselbe eine Übertragungseinrich tung
zum Übertragen
von Informationen, die sich auf die Betriebscharakteristika (zum Beispiel
Wunsch, eine bestimmte Anzahl von MD-Bitströmen zu empfangen, Bevorzugung
gegenüber
einer Kommunikation mit mehr als einer Basisstation und dergleichen)
des Mobilclient 1900 beziehen, an Komponenten (zum Beispiel
Basisstationen, Server und dergleichen) eines Netzes aufweist, mit
dem kommunikativ gekoppelt zu sein der Mobilclient 1900 angepasst
ist. Bei der vorliegenden Anmeldung werden das Quellensteuermodul 1916 und
das Synchronisationsmodul 1914, die zusammen arbeiten,
so betrachtet, dass dieselben eine Überwachungseinrichtung zum
Bestimmen der geeigneten Betriebscharakteristika des Mobilclient 1900 aufweisen.
-
Unter
der Annahme, dass die Mobileinheit (über das Synchronisationsmodul 1914 und
das Quellensteuermodul 1916) entscheidet, zwei MD-Bitströme anzunehmen,
werden die beiden MD-Bitströme
durch die Antennen 1902a und 1902b und das Empfängermodul 1904 empfangen.
Die MD-Bitströme
werden dann in getrennte entsprechende Puffer (zum Beispiel Puffer
1 1906 und Puffer N 1908) gefüllt. Nachfolgend erhält der Decodierer 1910 die
Daten von den Puffern und beginnt ein Decodieren und Anzeigen der
empfangenen MD-Bitströme
als eine Videosequenz. Wie es im Vorhergehenden erwähnt ist,
beschäftigen
sich aus Gründen
der Übersichtlichkeit
und Kürze
die vorliegende Erörterung
und die Beispiele speziell mit Videodaten. Die vorliegende Erfindung
ist jedoch nicht nur auf eine Verwendung bei Videodaten beschränkt. Stattdessen
ist die vorliegende Erfindung gut für eine Verwendung bei audiobasierten
Daten, sprachbasierten Daten, bildbasierten Daten, webseitenbasierten
Daten, Graphikdaten und dergleichen geeignet. Somit wäre bei verschiedenen
Ausführungsbeispielen,
die andere Daten als Videodaten (zum Beispiel sprachbasierte Daten)
verwenden, ein Audioausgang in Fig. 1900 zusätzlich zu oder
anstelle von der Anzeige 1912 vorhanden. Natürlich sind
ein Puffern und Herunterladen zulässig, und verschiedene Puffergrade
können
bei diesem System gestattet werden; somit unterstützt dieses System
sowohl Live- als auch gepufferte Medienströme. Außerdem sei darauf hingewiesen,
dass alle diese Medientypen mit den Eigenschaften von Mehrbeschreibungsbitströmen, die
hier beschrieben sind, codiert werden können. Auch ist bei einem Festclientausführungsbeispiel
normalerweise ein größerer Plattenplatz
(d. h. Speicherressourcen) verfügbar. Folglich
kann es sich der feste Client bei einem derartigen Ausführungsbeispiel
leisten, eine Anwendung zur zeitverschobenen Betrachtung herunterzuladen. In
einem solchen Fall sind der Puffer 1 1906 und der Puffer
N 1908 aus Plattenplatz mit einem Dateisystem gebildet.
-
Unter
weiterer Bezugnahme auf 19 überwacht
bei dem vorliegenden Beispiel das Synchronisationsmodul 1914 das
Vollsein des Puffers 1 1906 und des Puffers N 1908 und
den Entscheidungsprozess, der durch das Quellensteuermodul 1916 durchgeführt wird.
Die gesammelten Informationen werden an das Quellensteuermodul 1916 zurückgeführt, wodurch
dem Quellensteuermodul 1916 dabei geholfen wird zu entscheiden,
ob der Decodierer 1910 in der Lage ist, einen weiteren
MD-Bitstrom zu decodieren,
wodurch eine weitere Empfangssitzung eingeleitet wird. Falls der
Decodierer 1910 nicht mit dem Füllen von Puffer 1 1906 und
Puffer N 1908 Schritt halten kann, dann kann das Quellensteuermodul 1916 wählen, eine
Empfangssitzung von einer Basisstation zu beenden, oder es vorziehen,
einen MD-Bitstrom weniger zu empfangen. Wie es im Vorhergehenden
erwähnt
ist, werden, wenn ein Rückkanal
verfügbar
ist (zum Beispiel Rückkanal 1922),
die Entscheidungsinformationen zum Beispiel an eine Basisstation
gesendet, so dass die Basisstation eine intelligente Entscheidung
bezüglich
des Dienstes treffen kann, den dieselbe dem Mobilclient 1900 liefert.
-
Unter
jetziger Bezugnahme auf 20 ist ein
Flussdiagramm 2000 der Schritte gezeigt, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung durchgeführt werden. Obwohl spezifische Schritte
in dem Flussdiagramm 2000 von 20 offenbart
sind, sind diese Schritte beispielhaft.
-
Das
heißt,
die vorliegende Erfindung ist gut für ein Durchführen verschiedener
anderer Schritte oder Variationen der Schritte, die in 20 angeführt sind,
geeignet. Bei Schritt 2000 empfängt das vorliegende Ausführungsbeispiel
zwei MD-Bitströme.
Bei dem vorliegenden Ausführungsbeispiel
nimmt das folgende Beispiel, wie es im Vorhergehenden beschrieben
ist, ferner an, dass die zu streamenden Medien (zum Beispiel ein
Videostrom) zu zwei getrennten komplementären MD-Bitströmen codiert wurden
oder werden. Bei einem solchen Beispiel weist der Mobilclient 1900 des
vorliegenden Ausführungsbeispiels
zwei Puffer auf, einen für
jeden der zwei MD-Bitströme.
Die vorliegende Erfindung ist gut für einen Betrieb in Verbindung
mit dem Fall geeignet, bei dem die angeforderten Medien zu etwas
anderem als zwei (zum Beispiel drei oder mehr) getrennten komplementären MD-Bitströmen codiert werden
und eine entsprechende Anzahl von Puffern vorliegt.
-
Bei
Schritt 2004 lädt
das vorliegende Ausführungsbeispiel
den ersten und den zweiten Bitstrom in entsprechende Puffer. Bei
diesem Beispiel wird der erste MD-Bitstrom in den Puffer 1 1906 geladen,
und der zweite MD-Bitstrom wird in den Puffer N 1908 geladen.
-
Bei
Schritt 2006 überwacht
das vorliegende Ausführungsbeispiel
den Betrieb des Mobilclients 1900. Insbesondere überwacht
das Synchronisationsmodul 1914 das Vollsein des Puffers
1 1906 und des Puffers N 1908 und den Entscheidungsprozess, der
durch das Quellensteuermodul 1916 durchgeführt wird.
Bei einem Ausführungsbeispiel
werden diese Informationen zusammen mit anderen gesammelten Informationen
(zum Beispiel Leistungsaufnahmedaten, Kanalqualitätsinformationen
und dergleichen) zu dem Quellensteuermodul 1916 zurückgeführt.
-
Bei
Schritt 2008 bestimmt das vorliegende Ausführungsbeispiel,
ob der derzeitige Betrieb des Mobilclient 1900 angemessen
ist. Bei einem Ausführungsbeispiel
entscheidet das Quellensteuermodul 1916, ob der Decodierer 1910 in
der Lage ist, einen weiteren MD-Bitstrom zu decodieren, wodurch
eine weitere Empfangssitzung eingeleitet wird. Falls die derzeitige
Operation angemessen ist, fährt
das vorliegende Verfahren mit dem Überwachungsprozess fort. Falls
der derzeitige Betrieb nicht angemessen ist (zum Beispiel der Decodierer 1910 nicht
in der Lage ist, die vorliegende Anzahl von MD-Bitströmen zu decodieren,
der Decodierer 1910 in der Lage ist, eine größere Anzahl
von MD-Bitströmen
zu decodieren, und dergleichen), dann geht das vorliegende Ausführungsbeispiel
zu Schritt 2010 über.
-
Bei
Schritt 2010 passt das vorliegende Ausführungsbeispiel den Betrieb
des Mobilclients 1900 an. Falls zum Beispiel der Decodierer 1910 nicht
mit dem Füllen
des Puffers 1 1906 und des Puffers N 1908 Schritt
halten kann, dann kann das Quellensteuermodul 1916 wählen, eine
Empfangssitzung von einer Basisstation zu beenden, oder es vorziehen,
einen MD-Bitstrom
weniger zu empfangen. Wie es im Vorhergehenden erwähnt ist,
werden, wenn ein Rückkanal
verfügbar
ist (zum Beispiel Rückkanal 1922),
die Entscheidungsinformationen zum Beispiel an eine Basisstation
gesendet, so dass die Basisstation eine intelligente Entscheidung
bezüglich
des Dienstes treffen kann, den dieselbe dem Mobilclient 1900 liefert.
Außerdem
kann bei Schritt 2010, falls der Decodierer 1910 ohne
weiteres mit dem Füllen des
Puffers 1 1906 und des Puffers N 1908 Schritt halten
kann und verschiedene andere gesammelte Informationen anzeigen,
dass der Mobilclient 1900 die Fähigkeit hat, zusätzliche
verfügbar
Bitströme
zu handhaben, das Quellensteuermodul 1916 wählen, eine
weitere Empfangssitzung von einer Basisstation hinzuzufügen, oder
es bevorzugen, einen zusätzlichen
MD-Bitstrom zu empfangen. Noch einmal, wenn ein Rückkanal
verfügbar
ist (zum Beispiel Rückkanal 1922),
werden die Entscheidungsinformationen zum Beispiel an eine Basisstation
gesendet, so dass die Basisstation eine intelligente Entscheidung
bezüglich
des Dienstes treffen kann, den dieselbe dem Mobilclient 1900 liefert.
-
Somit
liefert die vorliegende Erfindung ein Verfahren und ein System zum
Streamen von Medien an feste Clients und/oder Mobilclients. Die
vorliegende Erfindung liefert ferner ein Verfahren und ein System
zum Streamen von Medien an feste Clients und/oder Mobilclients,
wobei das Verfahren und das System gegenüber herkömmlichen Systemen eine erhöhte Zuverlässigkeit
und Effizienz liefern.
-
Die
vorangegangenen Beschreibungen spezifischer Ausführungsbeispiele der vorliegenden
Erfindung wurden zu Zwecken einer Veranschaulichung und Beschreibung
präsentiert.
Dieselben sollen nicht erschöpfend
sein oder die Erfindung auf die genauen offenbarten Formen beschränken, und
es ist offensichtlich, dass viele Modifizierungen und Variationen
im Lichte der oben genannten Lehren möglich sind. Die Ausführungsbeispiele
wurden ausgewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktische
Anwendung bestmöglich
zu erläutern,
um es dadurch anderen Fachleuten zu ermöglichen, die Erfindung und
verschiedene Ausführungsbeispiele
mit verschiedenen Modifizierungen, wie dieselben für die bestimmte
vorgesehene Verwendung geeignet sind, bestmöglich zu verwenden. Der Schutzbereich
der Erfindung soll durch die hier angehängten Ansprüche und ihre Äquivalente
definiert sein.