-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft das Betreiben einer Teilnehmerstation
in einem zellularen Kommunikationssystem, bei dem jeder Anwendung
von einer Vielzahl von Anwendungen eine Vielzahl von Betriebsressourcen
zugeteilt wird. Die Erfindung ist auf ein zellulares Funkkommunikationssystem
anwendbar, wie zum Beispiel das Universal Mobile Telecommunication
System (UMTS), das zum gegenwärtigen
Zeitpunkt standardisiert wird, ist aber nicht darauf beschränkt.
-
Hintergrund der Erfindung
-
Bei
einem zellularen Kommunikationssystem wird das Gebiet, über dem
der Dienst zur Verfügung gestellt
wird, in eine Anzahl kleinerer Gebiete aufgeteilt, die Zellen genannt
werden. Typischerweise wird jede Zelle von einer Basistransceiverstation
(BTS) bedient, die eine entsprechende Antenne oder Antennen zur
Radiofrequenzausstrahlung an eine Teilnehmerstation und zum Empfangen
von Radiofrequenzen einer Teilnehmerstation aufweist und dadurch
eine Funkkommunikationsverbindung herstellt. Die Teilnehmerstation
ist oft ein Mobilfunkendgerät. Ein
etabliertes harmonisiertes zellulares Funkkommunikationssystem ist
das Global System for Mobile Communications (GSM). Ein weiteres
harmonisiertes System, das zurzeit definiert wird, ist das Universal Mobile
Telecommunications System (UMTS), dessen Absicht es ist, einen harmonisierten
Standard zur Verfügung
zu stellen, unter dem zellulare Funkkommunikationsnetze und -systeme
verbesserte Grade der Kopplung und Kompatibilität mit anderen Typen von Kommunikationssystemen
zur Verfügung
stellen werden. Dies wird ein erhöhtes Niveau an Datendiensten
einschließlich
Vorkehrungen für
multimediale Kommunikationen mit sich bringen.
-
Innerhalb
von Systemen wie UMTS oder ähnlichen
werden Teilnehmereinheiten zunehmend als allgemeine Datenendgeräte eingesetzt,
von denen verlangt wird, eine Vielzahl von Verarbeitungsanwendungen
gleichzeitig ablaufen zu lassen oder zu betreiben. Teilnehmerstationen
für Zellularkommunikation
betreiben gewöhnlich
mehr als eine Verarbeitungsanwendung gleichzeitig, obwohl diese
dazu neigten, relativ einfache Anwendungen zu sein, die mit dem
elementaren Funktionieren der Teilnehmerstation zusammenhingen.
Solche einfachen Anwendungen teilen sich Verarbeitungsressourcen
der Teilnehmerstation, wobei das Teilen der Ressourcen herkömmlicherweise
durch ein Betriebssystem gesteuert wird. Man erwartet, dass Teilnehmerstationen für Zellularkommunikation
zunehmend festen LAN(Local Area Network)-Datenendgeräten äh nein werden
und dass folglich die Betriebssysteme, die auf solchen Teilnehmerstationen
laufen, zunehmend Betriebssystemen für feste LAN-Datenendgeräte oder
Computern ähneln
werden.
-
Der
Artikel "The Timely
Adaptive Resource Management Architecture", Bharghavan et al., IEEE Personal Communications,
Band 5, Ausgabe 4, August 1998, Seiten 20–31, beschreibt eine nachhaltige durchgehende
Ressourcenverwaltung in einer mobilen Computerumgebung, und der
europäische
Patentantrag
EP A 0
817 041 beschreibt ein Verfahren zum Verwalten von Ressourcen
in einem Computersystem unter Verwendung eines Ressourcenverwalters.
-
Ein
Problem mit dem erwarteten Trend ist jedoch, dass herkömmliche
Betriebssysteme von Datenendgeräten
zum Teilen von Verarbeitungsressourcen unter verschiedenen, gleichzeitig
laufenden Anwendungen nicht völlig
befriedigend sind, wenn sie auf eine Teilnehmerstation für Zellularkommunikation,
insbesondere ein Mobilfunkendgerät,
angewendet werden, da sie den speziellen Faktoren, die durch das
Bedürfnis,
Zellularkommunikationsressourcen, die aufgrund der Beteiligung der
Funkverbindung relevant werden, unter den verschiedenen Anwendungen
zu teilen, keinerlei Rechnung tragen.
-
Zusammenfassung der Erfindung
-
Die
vorliegende Erfindung schafft auf vorteilhafte Weise Mittel zum
Austarieren oder zum Anpassen der betreffenden Höhe von Verarbeitungsressourcen
und von Zellularkommunika tionsressourcen, die unter einer Vielzahl
von Anwendungen, die gleichzeitig auf einer Teilnehmerstation für Zellularkommunikation
laufen oder laufen sollen, geteilt werden sollen.
-
Die
vorliegende Erfindung teilt einer Vielzahl von gleichzeitig auf
einer Teilnehmerstation laufenden Anwendungen auf vorteilhafte Weise
eine Vielzahl von Betriebsressourcen zu. Die Betriebsressourcen
bestehen aus einer oder mehrerer Verarbeitungsressourcen, wie zum
Beispiel Prozessorleistung, Prozessorzeit oder Speicher, und einer
oder mehrerer Zellularkommunikationsressourcen, die unter den Anwendungen
geteilt werden müssen,
wenn diese gemeinsam eine zwischen der Teilnehmerstation und einer
BTS oder ähnlichem
eines zellularen Kommunikationssystems eingerichtete Funkkommunikationsverbindung
nutzen. Als Teil des Prozesses des Bestimmens und des Zuteilens
von zugehörigen Quantitäten einer
oder mehrerer der Betriebsressourcen an eine oder mehrere der Anwendungen werden
die Erfordernisse einer oder mehrerer Anwendungen hinsichtlich einer
oder mehrerer der Prozessorressourcen in Verbindung mit deren Bedarf hinsichtlich
einer oder mehrerer der Zellularkommunikationsressourcen beurteilt.
Das Verfahren zur Ressourcenverwaltung und der Apparat der vorliegenden
Erfindung neigen folglich dazu, das Gleichgewicht oder die Anpassung
zwischen den verschiedenen Erfordernissen für die verschiedenen Betriebsressourcen
zu verbessern. Der Verwaltungsablauf wird auf den Betrieb von Anwendungen,
die entweder schon auf der Teilnehmerstation laufen oder laufen
sollen, oder eine Kombination beider, angewandt.
-
In
einer Hinsicht stellt die vorliegende Erfindung ein Verfahren zum
Betreiben einer Teilnehmereinheit in einem zellularen Kommunikationssystem
in Übereinstimmung
mit Anspruch 1 zur Verfügung.
-
In
einer zweiten Hinsicht stellt die vorliegende Erfindung einen Teilnehmerstationsapparat
in Übereinstimmung
mit Anspruch 16 zur Verfügung.
-
Die
vorliegende Erfindung stellt auch ein mit gespeicherten prozessorumsetzbaren
Anweisungen programmiertes Datenträgermedium zur Verfügung, das
benutzt werden kann, um einen Prozessor zu steuern, so dass dieser
das Verfahren der vorliegenden Erfindung durchführt. Die vorliegende Erfindung stellt
weiter ein Signal zur Verfügung,
das solche Anweisungen enthält
oder trägt.
-
Die
vorliegende Erfindung stellt weiter ein Verfahren zum Betreiben
einer Teilnehmereinheit, zum Beispiel eines Mobiltelefons oder eines
mobilen Datenendgeräts,
zur Verfügung,
deren Betriebssystem zum Verwalten ihrer Verarbeitungsanwendungen angepasst
ist oder gesteuert wird, um Betriebsressourcen unter simultanen
Anwendungen zu verteilen, wobei das Verteilen gemäß Beurteilungen
von Erfordernissen an Verarbeitungsressourcen geschieht und die
Beurteilungen in Verbindung mit Erfordernissen an Zellularkommunikationsressourcen
gemacht werden.
-
In
einem weiteren Aspekt der vorliegenden Erfindung werden eine oder
mehrere Ressourcen für Zellularkommunikation
wei ter im Licht von Tarif- oder anderen Kostenfaktoren, die mit
ihnen verwandt sind, beurteilt.
-
In
einem weiteren Aspekt der vorliegenden Erfindung werden eine oder
mehrere Hardwareressourcen oder -attribute oder Merkmale der Teilnehmerstation
betrachtet, wenn den verschiedenen Anwendungen die jeweiligen Quantitäten von
Betriebsressourcen zugeteilt werden.
-
In
einem weiteren Aspekt der vorliegenden Erfindung werden in einem
Beurteilungsschritt historische Daten verwendet, wie zum Beispiel
Daten, die die tatsächliche
Inanspruchnahme von Ressourcen durch Anwendungen anstelle einer
vermuteten Inanspruchnahme von Ressourcen angeben.
-
In
einem weiteren Aspekt der vorliegenden Erfindung umfasst eine Teilnehmerstation
ein herkömmliches
Betriebssystem, das eine Vielzahl von Anwendungen über eine
Programmierschnittstelle (Application Programming Interface) verwaltet,
jedoch umfasst die Teilnehmerstation eine weitere Ressourcenverwaltungsfunktion,
die vermittelnd zwischen der Programmierschnittstelle des Betriebssystems
und dem Betriebssystem funktioniert, so dass zugeteilte Quantitäten verschiedener
Betriebsressourcen an die verschiedenen Anwendungen angeglichen
werden, und zwar im Licht von Vergleichen des gemeinsamen Bedarfs
einer Anwendung an Ressource(n) zur Zellularkommunikation und an
Verarbeitungsressource(n), während
sie insoweit unsichtbar arbeitet, als die Wechselwirkung zwischen der
Programmierschnittstelle des Betriebssystems und dem Betriebssystem
betroffen ist.
-
In
einem weiteren Aspekt der vorliegenden Erfindung werden Ausgabepuffer,
oder Sende/Empfangspuffer, für
eine Sende- oder
Empfangsfunktion oder eine andere geeignete Funktion der Teilnehmerstation
gemessen, sondiert oder analysiert als eine Methode zum Bestimmen
des Bedarfs oder der Inanspruchnahme einer Betriebsressource.
-
Das
zellulare Kommunikationssystem kann ein GPRS (General Packet Radio
System) oder UMTS-System oder -netzwerk sein.
-
Zusätzliche
spezifische Vorteile gehen aus der folgenden Beschreibung und aus
den Abbildungen hervor.
-
Kurze Beschreibung der Zeichnungen
-
1 ist
eine schematische Darstellung einer Teilnehmerstation, die in einer
Ausführung
der vorliegenden Erfindung verwendet wird.
-
2 veranschaulicht
funktional eine Anordnung einer Ausführungsform der Erfindung.
-
3 ist
ein Verfahrensflussdiagramm einer Ausführungsform der Erfindung.
-
Beschreibung der bevorzugten Ausführungsformen der
Erfindung
-
Die
Ausführungsformen
werden im Folgenden jeweils nur als Beispiel beschrieben. Die erste Ausführungsform
wird nun unter Bezugnahme auf die 1 bis 3 beschrieben.
-
1 zeigt
ein Mobilfunkendgerät 110,
das eine Teilnehmerstation in einem zellularen Kommunikationssystem
ist und das als Mobiltelefon ausgebildet ist. Das Mobilfunkendgerät 110 beinhaltet
einen Prozessor 115. Der Prozessor 115 ist mit
einem Speicher 120 verbunden. Der Prozessor 115 ist
auch über einen
Sendepuffer 135 und einen Empfängerpuffer 137 mit
einem Sende/Empfangsapparat 130 verbunden, über einen
Displaypuffer 145 mit einem Display 140, über einen
Tastaturpuffer 155 mit einer Tastatur 150, über einen
Stimmeingabemittelpuffer 165 mit Stimmeingabemitteln 160,
und über
einen Tonausgabemittelpuffer 175 mit Tonausgabemitteln 170.
Der Sende-/Empfangsapparat 130 ist weiter mit der Antenne 180 verbunden.
-
2 illustriert
schematisch verschiedene funktionale Einheiten, die durch den Prozessor 115 implementierte
Softwaremodule umfassen. Der Prozessor 115 implementiert
ein herkömmliches
Betriebssystem 210, das die Funktionen einer Speicherverwaltung 215,
einer Prozessorplanung 220 und einer Eingabe/Ausgabeverwaltung 230 ausübt. Die Eingabe/Ausgabe-Verwaltungsfunktion 230 verarbeitet
Eingabe/Ausgabevorgänge
für jede
der folgenden Komponenten: den Sende/Empfangsapparat 130, das
Display 140, die Tastatur 150, die Stimmeingabemittel 160 und
die Tonausgabemittel 170, einschließlich der Steuerung der entsprechenden
Puffer 135, 137, 145, 155, 165 und 175.
Das Betriebssystem 210 interagiert in herkömmlicher
Weise über
eine Betriebssystem-Programmierschnittstelle
(Application Programming Interface) 260 mit einer Vielzahl
von Anwendungen, in dem vorliegenden Beispiel mit den drei Anwendungen 240, 245 und 250.
Zusätzlich
ist jedoch zwischen der Betriebssystem- Programmierschnittstelle 260 und
dem Betriebssystem 210 eine Ressourcenausgleichsfunktion 270 implementiert. Die
Ressourcenausgleichsfunktion 270 verändert die Wechselwirkung, die
zwischen dem Betriebssystem 210 und den Anwendungen 240, 245, 250 stattfindet, oder
passt sie an. Für
mindestens eine von der Vielzahl von Anwendungen, in dieser Ausführungsform die
Anwendung 240, beurteilt die Ressourcenausgleichsfunktion 270 die
Erfordernisse der Anwendung hinsichtlich der Verarbeitungsleistung
in Verbindung mit dem Beurteilen der Erfordernisse für den Datendurchsatz
einer durch die Antenne 180 der Teilnehmerstation 110 eingerichteten
Funkverbindung.
-
Die
Verarbeitungsschritte, die vom Prozessor 115 durch Implementieren
der Ressourcenausgleichsfunktion 270 durchgeführt werden,
werden nun unter Bezugnahme auf 3 beschrieben.
Alle diese Anwendungen laufen gleichzeitig. In dem vorliegenden
Beispiel ist die Anwendung 240 eine Anwendung zum Herunterladen
von Musik, bei der Musikinhalt auf das Mobilfunkendgerät 110 heruntergeladen
wird. Die Anwendung empfängt
und speichert die Musikdaten, während
diese von einem Inhaltsserver über
eine BTS des zellularen Kommunikationssystems übertragen werden. Ein geeignetes
Beispiel einer solchen Anwendung ist eine, die imstande ist, MP3-Musikdateien aus
dem Internet herunterzuladen. Die Anwendung 245 ist eine
Multimedia-Datentransferanwendung, und die Anwendung 250 ist
eine Anwendung für
mobiles Einkaufen und/oder elektronischen Handel (E-commerce).
-
Zu
Anfang wird die Prozessorleistung oder der Prozessorzugriff durch
das Betriebssystem auf herkömmliche
Weise unter den Anwendungen geteilt. Ebenso wird zu Anfang die verfügbare Datendurchsatzkapazität der Funkverbindung
zu gleichen Teilen unter den drei Anwendungen geteilt. Dann, nachdem
die drei Anwendungen gleichzeitig über eine vorherbestimmte Zeitdauer
hinweg liefen, oder nach dem Ansprechen auf einen beliebigen anderen geeigneten
Auslösemechanismus,
wählt die
Ressourcenausgleichsfunktion 270 eine der Anwendungen aus,
in diesem Fall die Anwendung 240, wie im Funktionskasten 310 gezeigt
wird. Die Ressourcenausgleichsfunktion 270 beurteilt den
Bedarf der Anwendung hinsichtlich der Zellularkommunikationsressource,
die durch die auf der Funkverbindung für die Anwendung verfügbare Datendurchsatzkapazität dargestellt
wird. Dies wird mittels des in den Funktionskästen 315, 320, 325 und 360 gezeigten
Schrittes durchgeführt,
wie nun beschrieben werden soll.
-
In
der vorliegenden Ausführungsform
verwendet die Ressourcenausgleichsfunktion 270 eine Messung
der Inanspruchnahme der Sende- und Empfangspuffer 135 und 137 durch
die Anwendung, wie im Funktionskasten 315 gezeigt wird.
Aufgrund dieser Messung ist die Ressourcenausgleichsfunktion 270 imstande,
den Datendurchsatz der Anwendung auf der Funkverbindung zu schätzen, das
heißt, ihn
zu beurteilen, wie im Funktionskasten 320 gezeigt wird.
Insbesondere bestimmt die Ressourcenausgleichsfunktion 270,
ob die Inanspruchnahme der Sende- und Empfangspuffer durch die Anwendung innerhalb
eines vorherbestimmten erlaubten Bereiches liegt, oder ob sie diesen
Bereich überschreitet, oder
ob sie kleiner als dieser Bereich ist. Wenn festgestellt wurde,
dass die Inanspruchnahme der Sende- und Empfangspuffer durch die
Anwendung oberhalb des zulässigen
Bereiches liegt, dann zeigt dies an, dass die Anwendung mehr zu
sendende Daten erzeugt oder dass sie mehr zu verarbeitende Daten empfängt, als
der ihr zugeteilte Anteil der Zellularkommunikationsressource verarbeiten
kann. In anderen Worten, wie im Entscheidungskasten 325 gezeigt
wird, wird festgestellt, dass der Datenausgabebedarf der Anwendung
tatsächlich
größer als
der ihr zugeteilte Datendurchsatz der Funkverbindung ist, und somit
schreitet das Verfahren zum Funktionskasten 330 fort. In
diesem Fall, wie im Funktionskasten 330 gezeigt wird, misst
dann die Ressourcenausgleichsfunktion die Quantität der Inanspruchnahme der
Sende- und Empfangspuffer durch die verbleibenden Anwendungen, nämlich die
Anwendung 245 und die Anwendung 250. Wie im Entscheidungskasten 335 gezeigt
wird, ist die Ressourcenausgleichsfunktion somit imstande, zu entscheiden,
ob die verbleibende Datendurchsatzressource der Funkverbindung,
das heißt,
die der Anwendung 245 und 250 zugeteilten Anteile
im Gegensatz zu dem der Anwendung 240 zugeteilten Anteil,
vollständig
von jenen anderen Anwendungen 245 und 250 verlangt
wird. Genauer, wenn die Inanspruchnahme durch die Anwendung 245 kleiner
als ein beabsichtigter Bereich ist, so zeigt dies an, dass die Anwendung 245 nicht
den gesamten Teil des ihr zugeteilten Datendurchsatzes benötigt. Das
gleiche gilt für
die Anwendung 250. In diesem Fall bestimmt die Ressourcenausgleichsfunktion 170 eine
erhöhte
Quantität
des Datendurchsatzes auf der Funkverbindung, die der Anwendung 240 zugeteilt
werden kann, und teilt dann diesen erhöhten Anteil des Datendurchsatzes
der Funkverbindung der ausgewählten
Anwendung 240 zu, wie im Funktionskasten 340 gezeigt
wird. In der vorliegenden Ausführungsform,
bei der die Teilnehmerstation 110 eine Funkverbindung mit
festem Datendurchsatz verwendet, bedeutet dies, dass der Anwendung 240 nun
ein erhöhter
Anteil des Datendurchsatzes zugeteilt wird, der für sie verfügbar gemacht
wurde, indem der Anteil einer oder beider der Anwendungen 245 und 250 verringert
wurde. Es wird darauf hingewiesen, dass in anderen Ausführungsformen
die Teilnehmerstation 110 imstande sein wird, einen erhöhten Datendurchsatz
auf ihrer Funkverbindung zu erwerben, um der ausgewählten Anwendung
die erforderte oder gewünschte
Erhöhung
der Ressourcenzuteilung zur Verfügung
zu stellen.
-
Wenn
stattdessen, wobei nun zum Entscheidungskasten 335 zurückgekehrt
wird, die Ressourcenausgleichsfunktion 270 festgestellt
hätte,
dass die verbleibende Datendurchsatzkapazität der Funkverbindung tatsächlich von
den anderen Anwendungen 245 und 250 benötigt wurde,
dann ist innerhalb der Beschränkungen
der vorliegenden Ausführungsform,
bei der die Funkverbindung einen festen Datendurchsatz aufweist,
die Ressourcenausgleichsfunktion außerstande, die Zuteilung der
Zellularkommunikationsressource zu erhöhen. Obwohl die Zellularkommunikationsressource
nicht zwischen den Anwendungen umverteilt wird, führt die
Ressourcenausgleichsfunktion 270 in dieser Situation eine
alternative Verbesserung durch, die darin besteht, dass sie einen
Teil des Anteils der ausgewählten
Anwendung an der Verarbeitungsleistung freigibt, wie in Funktionskasten 345 gezeigt
wird, da die Anwendung aufgrund von Verzögerungen beim Senden oder Empfangen über die
Funkverbindung keinen angemessenen Gebrauch von dieser Leistung macht.
Folglich kann den Anwendungen, in diesem Fall den Anwendungen 245 und 250,
eine erhöhte Quantität von Verarbeitungssressourcen
zugeteilt werden.
-
Falls
im Schritt 325 festgestellt worden wäre, dass der Datenausgabebedarf
der ausgewählten
Anwendung nicht größer als
der ihr zugeteilte Datendurchsatz auf der Funkverbindung war, dann
würde die
Ressourcenausgleichsfunktion, wie im Entscheidungskasten 360 gezeigt
wird, als nächstes
bestimmen, ob der Datenausgabebedarf der Anwendung geringer war
als der ihr zugeteilte Datendurchsatz auf der Funkverbindung. In
der vorliegenden Ausführungsform
wird dies der Fall sein, wenn die Inanspruchnahme von Sende- und
Empfangspuffern durch die Anwendung kleiner als der oben erwähnte vorbestimmte
spezifizierte Bereich ist. In einer bevorzugten Version der vorliegenden
Ausführungsform würde diese
Beurteilung über
eine gewisse Zeitdauer durchgeführt
werden, und das Ergebnis würde
gemittelt werden, um sicherzustellen, dass es nicht nur ein lokalisiertes
Vorkommnis war. Wenn festgestellt wird, dass der Bedarf tatsächlich geringer
als die Zuteilung ist, so misst daraufhin, wie im Funktionskasten 365 gezeigt
wird, die Ressourcenausgleichsfunktion 270 die Inanspruchnahme
der jeweiligen Anteile an der Prozessorleistung durch die anderen
Anwendungen 245 und 250. Die Ressourcenausgleichsfunktion 270 bestimmt
dann, wie im Entscheidungskasten 370 gezeigt wird, ob die
verbleibende Verarbeitungsleistung, das heißt, die Verarbeitungsleistung,
die den Anwendungen 245 und 250 anstelle der ausgewählten Anwendung 240 zugeteilt
wird, tatsächlich
vollständig
durch diese Anwendungen 245 und 250 genutzt wird.
Wenn die verbleibende Prozessorleistung nicht von den anderen Anwendungen
benötigt
wird, so erhöht
die Ressourcenausgleichsfunktion den dieser ausgewählten Anwendung
zugeteilten Anteil an der Prozessorleistung, indem sie einen Teil
des anfänglichen
ursprünglich
der Anwendung 245 und/oder der Anwendung 250 zugeteilten
Anteils stattdessen der ausgewählten
Anwendung 240 zuteilt, wie im Funktionskasten 380 gezeigt
wird. Dies ermöglicht
dann der Anwendung 240, auf ausgeglichenere Weise zu laufen
und den ihr zugeteilten Datendurchsatzes auf der Funkverbindung
besser zu nutzen. Zwischendurch wird der Betrieb der Anwendung 245 und
der Anwendung 250 nicht behindert, da die ihnen weggenommene
Zuteilung an Prozessorleistung nicht benötigt wurde. Wenn stattdessen während des
im Entscheidungskasten 370 gezeigten Bestimmungsschrittes
festgestellt würde,
dass die verbleibende Prozessorleistung tatsächlich von den anderen Anwendungen
benötigt
wird, so verringert die Ressourcenausgleichsfunktion, wie im Funktionskasten 375 gezeigt
wird, den Anteil des der ausgewählten
Anwendung zugeteilten Datendurchsatzes der Funkverbindung und teilt
die eingesparte Quantität
einer oder beiden der Anwendungen 245 und 250 zu.
Folglich wird der Betrieb der Anwendungen 245 und/oder 250 verbessert,
während
eine verschwendete Ressourcenzuteilung im Fall der Anwendung 240 beseitigt
wird.
-
Wenn
in dem im Entscheidungskasten 360 gezeigten Bestimmungsschritt
stattdessen festgestellt wird, dass der Datenausgabebedarf der ausgewählten Anwendung
nicht geringer als die ihr zugeteilte Quantität ist, das heißt, die
Inanspruchnahme der Sende- und Empfangspuffer der ausgewählten Anwendung
in dem vorbestimmten annehmbaren Bereich liegt, so wird erachtet,
dass die Anwendung 240 auf eine hinsichtlich der verschiedenen
Betriebsressourcen angemessen ausgeglichene Weise arbeitet, und
in dieser Phase werden keine Änderungen
vorgenommen.
-
In
der vorliegenden Ausführungsform
wird die Zellularkommunikationsressource, die aus der relativen
Quantität
des Datendurchsatzes auf der Funkverbindung besteht, in Einheiten
von kB pro Sekunde bestimmt. Dieser Ressourcentypus wird im Bereich
der zellularen Kommunikationssysteme häufig als Bandbreite bezeichnet.
In anderen Ausführungsformen
kann jeder geeignete Aspekt des Datendurchsatzes oder der Bandbreite
in Form einer Ressource wie oben beschrieben zugeteilt und verarbeitet
werden. In einer Anordnung, in der eine mehrfache Anzahl von Kanälen gleichzeitig
von einer einzigen Teilnehmerstation verwendet wird, kann der Datendurchsatz
oder die Bandbreite durch die Anzahl solcher Kanäle ausgedrückt werden. In weiteren Ausführungsformen
können
anstelle des Datendurchsatzes andere Zellularkommunikationsressourcen
verarbeitet werden, einschließlich
RF-Kanalleistung,
Dienstqualität
der Funkverbindung, zum Beispiel Fehlerraten oder eingebaute Redundanzniveaus
oder Grade des Fehlerschutzes oder der Kodierung. Eine andere Alternative
besteht darin, dass die Zeitaufteilungsauflösung die Zellularkommunikationsressource
bildet, deren Ablauf wie oben verarbeitet wird. In weiteren Ausführungsformen
kommen alle beliebigen zwei oder mehr der oben genannten Möglichkeiten
als Kombination vor.
-
In
der ersten, oben beschriebenen Ausführungsform war die betrachtete
Verarbeitungsressource die Prozessorleistung. Eine alternative oder
zusätzliche
Verarbeitungsressource, die gehandhabt werden kann, ist der Speicher.
Speicherressourcen, die zum Beispiel aus der Inanspruchnahme von
RAM und/oder Datenbankkapazität
bestehen, werden hierbei mit einbezogen.
-
In
einer weiteren Ausführungsform
werden Tarif- oder andere Preisdetails der Funkkommunikationsverbindung
in den über
die Ressourcenausgleichsfunktion durchgeführten Beurteilungsprozess eingebunden.
Zum Beispiel können
die betreffenden Tarife, die auf die Kommunikationsverbindungen
zu jeder der betreffenden Anwendungen anwendbar sind, unterschiedlich
sein. Wenn dem so ist, kann die Ressourcenausgleichsfunktion so
programmiert werden, dass sie der Anwendung, die die teuerste Verbindung
nutzt, einen erhöhten
Kommunikationsverbindungsdurchsatz zur Verfügung stellt. In diesem Fall
können
die anderen Ressourcen, wie zum Beispiel der Speicher und/oder die
Verarbeitungsleistung, entsprechend geändert werden. In einer weiteren
Ausführungsform
wird die Zuteilung der verschiedenen Betriebsressourcen zeitlich
verändert,
um Kommunikationsverbindungstarife zu berücksichtigen, die sich selbst
zeitlich verändern.
Alternativ kann eine Ressource, wie zum Beispiel Speicher, für eine Anwendung
besonders erhöht
werden, um diese vor der Nutzung einer Kommunikationsverbindung mit
einem teuren Tarif vollständig
vorzubereiten.
-
In
einer weiteren Ausführungsform
berücksichtigt
die Ressourcenausgleichsfunktion auch den Bedarf der ausgewählten Anwendung
hinsichtlich mindestens einer Hardwareressource der Teilnehmerstation.
Mögliche
Hardwareressourcen beinhalten die Kapazität des Displays 140,
den Bedarf der Anwendung für
den Zugriff des Teilnehmers auf die Tastatur 150, Ressourcen,
die mit einer beliebigen in dem mobilen Telefon eingesetzten SIM(Subscriber Identification
Module)-Karte zusammenhängen, ebenso
wie den Batterieleistungsverbrauch. Eine Möglichkeit, mit der die Ressourcenausgleichsfunktion den
Bedarf dieser Kapazitäten
beurteilen kann, besteht darin, die Inanspruchnahme des Displaypuffers 145,
des Tastaturpuffers 155, des Stimmeingabemittelpuffers 165 und
des Tonausgabepuffers 175 durch die betreffenden Anwendungen
zu analysieren. Im Fall der SIM-Kartenressource wird die SIM-Karte direkt abgefragt,
und im Fall des Batterieleistungsverbrauchs besteht eine Möglichkeit
darin, eine vom Prozessor 115 betriebene Batterieleistungsverwaltungsfunktion
abzufragen.
-
Jede
der oben genannten Ausführungsformen
ist in jedem geeigneten zellularen Kommunikationssystem einsetzbar,
einschließlich
UMTS- oder GPRS-Systeme. Im Falle dieser oder eines beliebigen anderer
Paketvermittlungssystems kann die Kommunikationsressource auch durch
den einer bestimmten Anwendung zugeteilten Anteil von Paketen oder
einen anderen mit Paketvermittlung zusammenhängenden Faktor implementiert
werden.
-
In
den obigen Ausführungsformen
werden Messungen des Ressourcenbedarfs der Anwendung durchgeführt, während die
Anwendungen laufen. Eine alternative Methode wird in der folgenden
Ausführungsform
umgesetzt, die stattdessen historische, aus früherem Gebrauch der Anwendungen
abgeleitete Daten einsetzt.
-
In
dieser Ausführungsform
beobachtet die Ressourcenausgleichsfunktion 270 jede der
Anwendungen 240, 245 und 250, wenn diese
einzeln laufen, um deren jeweiligen Bedarf an Speicherressource und
Verarbeitungsmodus zu beurteilen, und den Datendurchsatz der Kommunikationsverbindung,
wenn sie einzeln laufen. Es ist gut möglich, dass die Ressourcenausgleichsfunktion 270 durch
das Durchführen
dieser Beurteilung feststellt, dass die Nutzung durch eine oder
mehrere der Anwendungen in der Praxis geringer war als der Bedarf
für diese
Ressource, der dem Betriebssystem 210 von der Anwendung über die
Betriebssystem-Programmierschnittstelle 260 angezeigt wurde.
In diesem Fall ist die Ressourcenausgleichsfunktion 270 imstande,
Verarbeitungsressourcen und Zellularkommunikationsressourcen auf
angemessenere Weise zu verteilen, als es durch das Betriebssystem
alleine vollbracht werden könnte. Die
vorliegende Ausführungsform
funktioniert im Grunde analog zur ersten Ausführungsform, die oben unter
Bezugnahme auf 3 beschrieben wurde. Anstatt
jedoch den Gebrauch der relevanten Puffer durch jede Anwendung während der
aktuellen anfänglichen
Nutzung der gleichzeitig laufenden Anwendungen zu messen, führt die
Ressourcenausgleichsfunktion 270 in der vorliegenden Ausführungsform
Vorausrechnungen auf der Grundlage der ursprünglich vom Betriebssystem beabsichtigten
Ressourcenverteilung durch. Auf der Grundlage dieser anfänglichen
Verteilung beurteilt die Ressourcenausgleichsfunktion für eine ausgewählte Anwendung,
ob der Datenausgabebedarf der Anwendung größer als, kleiner als, oder
ebenso groß wie
die beabsichtigte Zuteilung von Datendurchsatz auf der Funkverbindung
sein wird. Danach führt
sie dieselben alternativen Betrachtungen aus, wie unter Bezugnahme
auf 3 kurz dargestellt wird, aber in beiden Fällen auf der
Grundlage der beabsichtigten theoretischen Zuteilung von Ressourcen
anstatt durch das Messen der aktuellen Inanspruchnahme von Ressourcen. Dieses
Verfahren wird für
jede Anwendung, die gleichzeitig laufen soll, iterativ wiederholt,
was in einer ausgeglicheneren Verteilung von Ressourcen unter den
verschiedenen Anwendungen resultiert. Die Anzahl von Iterationen
kann im Voraus bestimmt werden oder kann durch das Kriterium begrenzt
werden, dass die Iteration fortgeführt wird, bis die Iterationsergebnisse
einen gewissen Grad an Konformität
erreichen.
-
In
der vorliegenden Ausführungsform
wird dann jeder Anwendung die festgelegte Höhe an Ressource zugeteilt,
wenn die Anwendungen danach gleichzeitig ausgeführt werden. Wahlweise können, nachdem
die Anwendungen zu laufen begonnen haben, ein Mess- und Umverteilungsverfahren
analog zur ersten Ausführungsform
oder die Variationen dessen durchgeführt werden, um einen fortwährenden
Ressourcenausgleich zur Verfügung
zu stellen.
-
Ähnlich können, wenn
eine oder mehrere Anwendungen auf der Teilnehmerstation 110 bereits laufen,
entweder die Messmethode oder die Rechenmethode oder eine Kombination
beider genutzt werden, um die bevorstehenden Anwendungen unterzubringen.
-
Als
Alternative dazu, dass die Teilnehmerstation die historischen Daten
wie oben selbst ableitet, kann die Teilnehmereinheit die historischen
Daten einer oder mehrerer der Anwendungen aus einer geeigneten externen
Quelle beziehen. Eine solche externe Quelle kann ihrerseits die
historischen Daten auf der Grundlage der Erfahrung einer Vielzahl
von Teilnehmerstationen, die die relevanten Anwendungen ausführen, ableiten.
Wenn die zu betrachtenden Anwendungen eine kleine Anzahl von Anwendungen aus
einer großen
Anzahl dar stellen, die durch verschiedene Teilnehmer zufällig gemischt
werden können,
ist es möglich,
dass spezifische Kombinationen von Anwendungen vorher von einer
oder mehr Teilnehmerstationen erfahren wurden und dass das aufgezeichnete
Ressourcenausgleichsergebnis daher der nächsten Teilnehmerstation, die
diese Anwendungen in Kombination nutzen möchte, zur Verfügung gestellt
werden kann.
-
Wenn
der Teilnehmer der Teilnehmerstation 110 ein Roaming durchführt, das
heißt,
Dienstleistungen aus einem Besuchsnetzwerk erhält, das nicht sein Heimatnetzwerk
ist, können
die historischen Daten dennoch vorteilhafterweise aus dem Heimatnetzwerk
der Teilnehmerstation bezogen werden. Dies kann gut der Fall sein,
wenn Einzelheiten des Tarifs der Kommunikationsverbindung für die Teilnehmerstation
anders sind im Vergleich zu einer Situation, in der sich die Teilnehmerstation
in ihrem Heimatnetzwerk befindet. In diesem Fall kann die Ressourcenausgleichsfunktion 270 die
Attraktivität
alternativer Optionen für
Kommunikationsverbindungen beurteilen, die ihr von dem Heimatnetzwerk
und/oder dem Besuchsnetzwerk in Verbindung mit der Angelegenheit
des Ausbalancierens der von solchen Verbindungen angebotenen Ressourcen
und ihrer internen Verarbeitungsressourcen vorgelegt wurden.
-
Die
vorliegende Erfindung ist besonders vorteilhaft in Systemen mit
variabler Bandbreite, da die Ressourcenausgleichsfunktion die verlangte
oder genutzte Quantität
an Bandbreite in Beziehung zu den anderen Ressourcen anpassen kann.
Auch kann sie eine unnötige
Inanspruchnahme nicht benötigter Bandbreite
oder Dienstqualität
in Systemen mit va riabler Bandbreite und/oder variabler Qualität, einschließlich Systemen
mit Bandbreite auf Anfrage (bandwidth-on-demand), vermeiden.
-
In
den obigen Ausführungsformen
wird der Prozessor 115 in Form von Software, die auf einem oder
mehreren geeigneten Prozessoren wie zum Beispiel einem Mikrocontroller
oder einem digitalen Signalprozessor läuft, implementiert, oder er
wird in Form von spezifisch entworfener Hardware oder einer Kombination
aus Hardware und Software implementiert. Zum Durchführen der
in den obigen Ausführungen
beschriebenen Verfahrensschritte, die in einem Speichermedium gespeichert
werden, kann der Prozessor durch prozessorumsetzbare Anweisungen gesteuert
werden. Das Speichermedium kann eine Platte, zum Beispiel eine Diskette
oder Festplatte, Speicher wie RAM, oder irgendein anderes geeignetes
Medium sein. Alternativ kann der oder jeder der Prozessoren Anweisungen über ein
Signal empfangen, das die prozessorumsetzbaren Anweisungen trägt.
-
Ein
Parameter der Dienstqualität,
der als eine Ressource angesehen werden kann, ist jener der Verzögerung.
Die verschiedenen Anwendungen können
hinsichtlich der Frage, welche Verzögerung erlaubt sein kann, wenn
sie die Kommunikationsverbindung verwenden, gut unterschiedliche
Erfordernisse haben. Wenn eine Anwendung eine minimale Verzögerung erfordert,
das heißt
eine hohe Dienstqualität
hinsichtlich der Verzögerung,
dann kann die Ressourcenausgleichsfunktion sicherstellen, dass der
Anwendung auch eine angemessenere Quantität von Prozessorkapazität oder Speicherzuteilung
zugeteilt wird, verglichen mit einer anderen Anwendung, die einen
niedrigeren Bedarf hinsichtlich der Verzögerung hat und es sich deshalb
erlauben kann, ihre zu übertragenen
Daten mit einer ähnlich
langsameren Rate zu erzeugen.