Title:
TECHNIKEN ZUM MINIMIEREN VON BENUTZERUNTERBRECHUNG WÄHREND DES UMSCHALTENS EINER NETZWERKVERBINDUNG
Document Type and Number:
Kind Code:
T5

Abstract:

Eine computerimplementierte Technik kann das Herstellen, durch ein mobiles Computergerät, das einen oder mehrere Prozessoren aufweist, einer ersten Mobilfunkverbindung zwischen dem mobilen Computergerät und einem ersten Mobilfunkanbieter, der mit einem Betreiber virtueller Mobilfunknetze (MVNO) verbunden ist, das Detektieren, durch das mobile Computergerät, eines Zustands, der (i) ein Mobilfunkaktivitätsniveau über die erste Mobilfunkverbindung unterhalb einer Inaktivitätsschwelle, und (ii) eine verfügbare zweite Mobilfunkverbindung mit einem anderen, zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist, angibt, beinhalten, und als Reaktion auf das Detektieren des Zustands: (a) Beenden der ersten Mobilfunkverbindung durch das mobile Computergerät und (b) Initiieren, durch das mobile Computergerät, der zweiten Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist.





Inventors:
Ho, Casey Kwok Ching, Calif. (Mountain View, US)
Tan, Weihua, Calif. (Mountain View, US)
Application Number:
DE112016000165T
Publication Date:
11/23/2017
Filing Date:
12/14/2016
Assignee:
GOOGLE INC. (Calif., Mountain View, US)
International Classes:
H04W48/18
Attorney, Agent or Firm:
Betten & Resch Patent- und Rechtsanwälte PartGmbB, 80333, München, DE
Claims:
1. Computerimplementiertes Verfahren, umfassend:
Herstellen, durch ein mobiles Computergerät, das einen oder mehrere Prozessoren aufweist, einer ersten Mobilfunkverbindung zwischen dem mobilen Computergerät und einem ersten Mobilfunkanbieter, der mit einem Betreiber virtueller Mobilfunknetze (MVNO) verbunden ist;
Detektieren, durch das mobile Computergerät, eines Zustands, der (i) ein Mobilfunkaktivitätsniveau über die erste Mobilfunkverbindung unterhalb einer Inaktivitätsschwelle, und (ii) eine verfügbare zweite Mobilfunkverbindung mit einem anderen, zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist, angibt; und
als Reaktion auf Detektieren des Zustands:
(a) Beenden der ersten Mobilfunkverbindung durch das mobile Computergerät, und
(b) Initiieren, durch das mobile Computergerät, der zweiten Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist.

2. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Zustand einen inaktiven Status einer Benutzeroberfläche des mobilen Computergeräts beinhaltet.

3. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Zustand Inaktivität von einer oder mehreren durch das mobile Computergerät auszuführenden Prioritätssoftwareanwendungen beinhaltet.

4. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Zustand beinhaltet, dass das mobile Computergerät mit einem Nicht-Mobilfunk-Netzwerk verbunden ist.

5. Computerimplementiertes Verfahren nach Anspruch 4, wobei das Nicht-Mobilfunk-Netzwerk ein WLAN-Netzwerk ist.

6. Computerimplementiertes Verfahren nach Anspruch 5, wobei der Zustand des Weiteren beinhaltet, dass das mobile Computergerät mit einer Batterieladequelle verbunden ist.

7. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Zustand eine vorhergesagte Inaktivitätsphase zwischen dem mobilen Computergerät und einem damit verknüpften Benutzer beinhaltet.

8. Computerimplementiertes Verfahren nach Anspruch 7, wobei die vorhergesagte Inaktivitätsphase entweder für (i) den Benutzer oder (ii) einen durchschnittlichen Benutzer ist.

9. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Zustand ein Nichtvorhandensein von im Prozess befindlicher Herunterladevorgänge auf das mobile Computergerät über die erste Mobilfunkverbindung beinhaltet.

10. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Zustand beinhaltet, dass die Signalstärke der ersten Mobilfunkverbindung unterhalb eines eine unzureichende Mobilfunkverbindung angebenden Schwellenwertes liegt.

11. Mobiles Computergerät, umfassend:
einen Arbeitsspeicher, konfiguriert zum Speichern eines Anweisungssatzes;
ein Kommunikationsgerät, konfiguriert zum Übertragen und Empfangen von Informationen;
einen oder mehrere Prozessoren, konfiguriert zum Ausführen des Anweisungssatzes, wodurch der eine oder die mehreren Prozessoren veranlasst werden, Vorgänge auszuführen, die Vorgänge umfassend:
Steuern des Kommunikationsgeräts zum Herstellen einer ersten Mobilfunkverbindung zwischen dem mobilen Computergerät und einem ersten Mobilfunkanbieter, der mit einem Betreiber virtueller Mobilfunknetze (MVNO) verbunden ist;
Detektieren eines Zustands, der (i) ein Mobilfunkaktivitätsniveau über die erste Mobilfunkverbindung unterhalb einer Inaktivitätsschwelle, und (ii) eine verfügbare zweite Mobilfunkverbindung mit einem anderen, zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist, angibt; und
als Reaktion auf das Detektieren des Zustands, Steuern des Kommunikationsgeräts zum:
(a) Beenden der ersten Mobilfunkverbindung, und
(b) Initiieren der zweiten Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist.

12. Mobiles Computergerät nach Anspruch 11, wobei Detektieren des Zustands das Detektieren, durch den einen oder die mehreren Prozessoren, eines inaktiven Status einer Benutzeroberfläche des mobilen Computergeräts umfasst.

13. Mobiles Computergerät nach Anspruch 11, wobei Detektieren des Zustands das Detektieren, durch den einen oder die mehreren Prozessoren, von Inaktivität von einer oder mehreren durch das mobile Computergerät auszuführenden Prioritätssoftwareanwendungen umfasst.

14. Mobiles Computergerät nach Anspruch 11, wobei Detektieren des Zustands das Detektieren, durch den einen oder die mehreren Prozessoren, dass das mobile Computergerät mit einem Nicht-Mobilfunk-Netzwerk verbunden ist, umfasst.

15. Mobiles Computergerät nach Anspruch 14, wobei das Nicht-Mobilfunk-Netzwerk ein WLAN-Netzwerk ist.

16. Mobiles Computergerät nach Anspruch 15, wobei Detektieren des Zustands des Weiteren das Detektieren, durch den einen oder die mehreren Prozessoren, dass das mobile Computergerät mit einer Batterieladequelle verbunden ist, umfasst.

17. Mobiles Computergerät nach Anspruch 11, wobei Detektieren des Zustands das Detektieren, durch den einen oder die mehreren Prozessoren, einer vorhergesagten Inaktivitätsphase zwischen dem mobilen Computergerät und einem hiermit verknüpften Benutzer umfasst.

18. Mobiles Computergerät nach Anspruch 17, wobei die vorhergesagte Inaktivitätsphase entweder für (i) den Benutzer oder (ii) einen durchschnittlichen Benutzer ist.

19. Mobiles Computergerät nach Anspruch 11, wobei Detektieren des Zustands das Detektieren, durch den einen oder die mehrere Prozessoren, eines Nichtvorhandenseins von im Prozess befindlicher Herunterladevorgänge auf das mobile Computergerät über die erste Mobilfunkverbindung umfasst.

20. Mobiles Computergerät nach Anspruch 11, wobei Detektieren des Zustands das Detektieren, durch den einen oder die mehrere Prozessoren, einer Signalstärke der ersten Mobilfunkverbindung unterhalb eines eine unzureichende Mobilfunkverbindung angebenden Schwellenwertes umfasst.

Description:
HINTERGRUND

Die hierin bereitgestellte Hintergrundbeschreibung dient zum Zwecke der allgemeinen Präsentation des Kontexts der Offenbarung. Die Arbeit der aktuell benannten Erfinder in dem Umfang, in dem sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die ansonsten zum Zeitpunkt der Anmeldung nicht als Stand der Technik gelten würden, werden weder ausdrücklich noch stillschweigend als Stand der Technik gegen die vorliegende Offenbarung anerkannt.

Ein Mobilnetzwerkbetreiber (MNO) ist ein Anbieter von drahtlosen Kommunikationsdiensten, der alle Komponenten besitzt oder steuert, die zur Versorgung eines Endbenutzers mit einer Funkfrequenzzuweisung notwendig sind. MNOs können auch als Mobilfunkdienstanbieter, Drahtlosanbieter, Mobilfunkanbieter und/oder Mobilnetzwerkanbieter bezeichnet werden. MNOs können den Zugriff auf ihre Netzwerkdienste auch an Betreiber virtueller Mobilfunknetze (MVNOs) verkaufen. Beispielsweise können MVNOs Netzwerkdienste von einem MNO zu einer Pauschalgebühr kaufen, und dann die Netzwerkdienste an den Endbenutzer weiterverkaufen. Auf diese Weise haben MVNOs möglicherweise nicht die Gemeinkosten, die mit dem Kaufen und Unterhalten aller notwendigen Komponenten verbunden sind, die der MNO besitzt und steuert. Bei einem bestimmten MNVO, der mit mehreren MNOs verbunden ist, kann es Situationen geben, in denen es wünschenswert ist, auf dem Gerät des Endbenutzers zwischen MNOs umzuschalten.

KURZDARSTELLUNG

Es wird eine computerimplementierte Technik präsentiert. In einer Implementierung kann die Technik das Herstellen, durch ein mobiles Computergerät, das einen oder mehrere Prozessoren aufweist, einer ersten Mobilfunkverbindung zwischen dem mobilen Computergerät und einem ersten Mobilfunkanbieter, der mit einem Betreiber virtueller Mobilfunknetze (MVNO) verbunden ist, das Detektieren, durch das mobile Computergerät, eines Zustands, der (i) ein Mobilfunkaktivitätsniveau über die erste Mobilfunkverbindung unterhalb einer Inaktivitätsschwelle, und (ii) eine verfügbare zweite Mobilfunkverbindung mit einem anderen, zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist, angibt, beinhalten, und als Reaktion auf das Detektieren des Zustands: (a) Beenden der ersten Mobilfunkverbindung durch das mobile Computergerät und (b) Initiieren, durch das mobile Computergerät, der zweiten Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist.

Ein mobiles Computergerät wird ebenfalls präsentiert. In einer Implementierung kann das mobile Computergerät einen Arbeitsspeicher beinhalten, der zum Speichern eines Anweisungssatzes konfiguriert ist, ein Kommunikationsgerät, das zum Übertragen und Empfangen von Informationen konfiguriert ist, und einen oder mehrere Prozessoren, die zum Ausführen des Anweisungssatzes konfiguriert sind, wodurch der eine oder die mehreren Prozessoren zum Ausführen von Vorgängen veranlasst werden. In einer Implementierung können die Vorgänge das Steuern des Kommunikationsgeräts zum Herstellen einer ersten Mobilfunkverbindung zwischen dem mobilen Computergerät und einem ersten Mobilfunkanbieter, der mit einem MVNO verbunden ist, das Detektieren eines Zustands, der (i) ein Mobilfunkaktivitätsniveau über die erste Mobilfunkverbindung unterhalb einer Inaktivitätsschwelle, und (ii) eine verfügbare zweite Mobilfunkverbindung mit einem anderen, zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist, angibt, beinhalten, und als Reaktion auf das Detektieren des Zustands, Steuern des Kommunikationsgeräts zum: (a) Beenden der ersten Mobilfunkverbindung und (b) Initiieren der zweiten Mobilfunkverbindung, wobei der zweite Mobilfunkanbieter mit dem MVNO verbunden ist.

In einigen Ausführungsformen kann der Zustand einen inaktiven Status einer Benutzeroberfläche des mobilen Computergeräts beinhalten. In einigen Ausführungsformen kann der Zustand Inaktivität von einer oder mehreren durch das mobile Computergerät auszuführenden Prioritätssoftwareanwendungen beinhalten.

In einigen Ausführungsformen kann der Zustand beinhalten, dass das mobile Computergerät mit einem Nicht-Mobilfunk-Netzwerk verbunden ist. In einigen Ausführungsformen kann das Nicht-Mobilfunk-Netzwerk ein WLAN-Netzwerk sein. In einigen Ausführungsformen kann der Zustand des Weiteren beinhalten, dass das mobile Computergerät mit einer Batterieladequelle verbunden ist.

In einigen Ausführungsformen kann der Zustand eine vorhergesagte Inaktivitätsphase zwischen dem mobilen Computergerät und einem damit verknüpften Benutzer beinhalten. In einigen Ausführungsformen kann die vorhergesagte Inaktivitätsphase entweder für (i) den Benutzer oder (ii) einen durchschnittlichen Benutzer sein.

In einigen Ausführungsformen kann der Zustand ein Nichtvorhandensein von im Prozess befindlicher Herunterladevorgänge auf das mobile Computergerät über die erste Mobilfunkverbindung beinhalten. In einigen Ausführungsformen kann der Zustand beinhalten, dass die Signalstärke der ersten Mobilfunkverbindung unterhalb eines eine unzureichende Mobilfunkverbindung angebenden Schwellenwertes liegt.

Weitere Anwendungsbereiche der vorliegenden Offenbarung werden aus der nachfolgend bereitgestellten ausführlichen Beschreibung deutlich. Es versteht sich, dass die ausführliche Beschreibung und die spezifischen Beispiele nur dem Zweck der Veranschaulichung dienen, und den Umfang der Offenbarung nicht begrenzen sollen.

KURZBESCHREIBUNG DER ZEICHNUNGEN

Die vorliegende Offenbarung wird anhand der ausführlichen Beschreibung und der dazugehörigen Zeichnungen besser verstanden, wobei:

1 ein Diagramm eines beispielhaften Computersystems ist, das ein beispielhaftes Computergerät gemäß einigen Implementierungen der vorliegenden Offenbarung beinhaltet;

2 ein funktionales Blockdiagramm des beispielhaften Computergeräts der 1 ist; und

3 ein Ablaufdiagramm einer beispielhaften Technik zum Minimieren von Benutzerunterbrechung beim Umschalten zwischen unterschiedlichen Mobilfunkanbietern eines Betreibers virtueller Mobilfunknetze (MVNO) gemäß einigen Implementierungen der vorliegenden Offenbarung ist.

AUSFÜHRLICHE BESCHREIBUNG

Wie zuvor erwähnt, kann es Situationen geben, in denen es wünschenswert ist, dass ein mobiles Computergerät Netzwerkverbindungen umschalten kann. Beispiele von solchen Netzwerkverbindungsübergängen können beinhalten, aber sind nicht beschränkt auf (i) Umschalten von einem Mobilfunkanbieter auf einen anderen Mobilfunkanbieter, (ii) Umschalten von WLAN auf einen Mobilfunkanbieter, (iii) Umschalten von einem Mobilfunkanbieter auf WLAN, (iv) Umschalten zwischen Netzwerkarten (z. B. Bluetooth, WLAN, verdrahtet (Ethernet oder USB) usw.), (v) Umschalten zwischen unterschiedlichen WLAN-Zugangspunkten und andere ähnliche Netzwerkverbindungsumschaltungen. Bei einem Betreiber virtueller Mobilfunknetze (MNVO), der mit mehreren Mobilnetzwerkbetreibern (MNOs) verbunden ist, kann es Situationen geben, in denen es wünschenswert ist, auf dem mobilen Computergerät des Endbenutzers zwischen MNOs umzuschalten. Beispielsweise kann das mobile Computergerät von einer bestimmten Region, in der ein MNO eine bessere Mobilfunkverbindung bereitstellt, in eine andere Region reisen, in der ein anderer MNO eine bessere Mobilfunkverbindung bereitstellt. Der Begriff „Mobilfunkanbieter“, wie hierin nachfolgend verwendet, kann sich auf einen MNO beziehen, der sich auch auf Mobilfunkdienstanbieter, Drahtlosanbieter und/oder Mobilnetzwerkanbieter beziehen kann. Diese MNOs besitzen und betreiben sämtliche Komponenten, die zum Bereitstellen eines Mobilfunknetzwerks erforderlich sind, und sie verkaufen ihre Netzwerkdienste oftmals pauschal an MVNOs weiter, die dann die Netzwerkdienste an Endbenutzer weiterverkaufen können. Umschalten zwischen unterschiedlichen Mobilfunkanbietern weist eine Latenz auf, z. B. annähernd zehn bis fünfzehn Sekunden, die sich stark von herkömmlichem Umschalten oder Übergaben zwischen unterschiedlichen Mobilfunkmasten in demselben Mobilfunkanbieternetzwerk unterscheidet. Die aus dem Umschalten von Anbietern resultierende Latenz kann eine unerwünschte Unterbrechung der Aktivitäten des Benutzers auf dem mobilen Computergerät (Herunterladen einer Datei, Streamen von Musik, Spielen eines Online-Spiels, usw.) verursachen. Daher kann es wünschenswert sein, jede Mobilfunkanbieterumschaltung automatisch und intelligent zu planen.

Dementsprechend werden Techniken zum Minimieren von Benutzerunterbrechung beim Umschalten zwischen unterschiedlichen Mobilfunkanbietern eines MVNO präsentiert. Die Techniken können eine intelligente Planung von dynamischem Anbieterumschalten bereitstellen, sodass die Benutzeraktivität nicht unterbrochen wird. Herkömmliche MVNOs führen beispielsweise keine dynamische Anbieterumschaltung aus, und können stattdessen einen einzelnen MNO einem jeweiligen Benutzer basierend auf Parametern, wie z. B. ihre Rechnungsadresse, zuweisen. Die Techniken können das Herstellen einer ersten Mobilfunkverbindung zwischen einem mobilen Computergerät und einem mit einem MVNO verbundenen ersten Mobilfunkanbieter enthalten. Die Techniken können einen Zustand detektieren, der (i) einen Strom oder ein vorhergesagtes Mobilfunkaktivitätsniveau über die erste Mobilfunkverbindung unterhalb einer Inaktivitätsschwelle, und (ii) eine verfügbare zweite Mobilfunkverbindung mit einem anderen, zweiten Mobilfunkanbieter, der mit dem MVNO verbunden ist, angibt. Ausschließlich beispielhaft kann die verfügbare Mobilfunkverbindung eine potenziell bessere Mobilfunkverbindung als die erste Mobilfunkverbindung sein. Falls die aktuelle Mobilfunkverbindung unterhalb eines Mindest-Stärkenschwellenwertes liegt, kann ungeachtet der Benutzeraktivität eine Umschaltung ausgeführt werden, da die aktuelle Mobilfunkverbindung für die meisten oder alle Benutzer unzureichend wäre. In einer Implementierung könnte die Umschaltung ungeachtet der Benutzeraktivität ausgeführt werden, wenn (i) die aktuelle Mobilfunkverbindung unterhalb des Mindest-Stärkenschwellenwertes liegt, und (ii) eine Differenz zwischen der aktuellen Mobilfunkverbindung und der neuen Mobilfunkverbindung größer als ein Mindest-Stärkenverbesserungsschwellenwert ist. Als Reaktion auf Detektieren des Zustands kann das mobile Computergerät die erste Mobilfunkverbindung beenden und eine zweite Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter des MVNO herstellen.

Unter nun folgender Bezugnahme auf 1 ist ein beispielhaftes Computersystem 100 veranschaulicht. Das Computersystem 100 kann ein beispielhaftes Computergerät 104 gemäß einigen Implementierungen der vorliegenden Offenbarung beinhalten. Das mobile Computergerät 104 kann jedes geeignete Computergerät sein, das zum Verbinden mit einem Mobilfunknetzwerk in der Lage ist. Beispiele des mobilen Computergeräts 104 beinhalten ein Mobiltelefon, einen Tablet-Computer und einen Laptop-Computer. Das mobile Computergerät 104 kann eine Benutzeroberfläche 108, wie z. B. eine berührungsempfindliche oder nicht berührungsempfindliche Anzeige, eine physische Tastatur, physische Tasten oder eine Kombination dieser beinhalten. Ein Benutzer 112 kann mit dem mobilen Computergerät 104 verknüpft sein und es bedienen. Das mobile Computergerät 104 kann zum Kommunizieren mit anderen Geräten, wie z. B. einem Remote-Server 128, über Netzwerk 116 konfiguriert sein. Das Netzwerk 116 kann ein lokales Netzwerk (LAN), ein Großraumnetzwerk (WAN), z. B. das Internet, oder eine Kombination dieser sein.

Das mobile Computergerät 104 kann sich mit dem Netzwerk 116 über unterschiedliche Arten von Verbindungen verbinden. Eine beispielhafte Verbindung ist eine Mobilfunkverbindung mit einem Mobilfunknetzwerk. Ein anderes Mobilfunknetzwerk kann durch einen ersten und zweiten Mobilfunkanbieter 120a, 120b (kollektiv „Mobilfunkanbieter 120“) bereitgestellt werden. Die Mobilfunkanbieter 120 können jeweils mit einem MVNO 124 verbunden sein. Beispielsweise kann der MVNO 124 Netzwerkdienste von den Mobilfunkanbietern 120 kaufen und die Netzwerkdienste an die Endbenutzer (z. B. Benutzer 120 und sein/ihr mobiles Computergerät 104) weiterverkaufen. Die Mobilfunkanbieter 120a, 120b können jedoch ansonsten unabhängig voneinander sein. Eine weitere beispielhafte Verbindung ist eine WLAN-Verbindung mit einem WLAN-Netzwerk. Das WLAN-Netzwerk kann durch einen drahtlosen Computer-Router/Modem 132 verwaltet werden. Sobald es mit einem Remote-Server 128 über das Netzwerk 116 verbunden ist, kann das mobile Computergerät 104 unterschiedliche Funktionen ausführen, wie z. B. zum Herunterladen oder Streamen von Daten.

Unter nun folgender Bezugnahme auf 2 ist ein funktionales Blockdiagramm des beispielhaften mobilen Computergeräts 104 veranschaulicht. Das mobile Computergerät 104 kann die Benutzeroberfläche 108, einen Prozessor 200, ein Kommunikationsgerät 204 und einen Arbeitsspeicher 208 beinhalten. Der Begriff „Prozessor“, wie hierin verwendet, kann sich auf einen einzelnen Prozessor und auf mehrere Prozessoren beziehen, die in einer parallelen oder verteilten Architektur arbeiten. Der Prozessor 200 kann den Betrieb des mobilen Computergeräts 104 steuern, einschließlich, jedoch nicht begrenzt auf Laden/Ausführen eines Betriebssystems des mobilen Computergeräts 104, Steuern der Eingabe/Ausgabe über die Benutzeroberfläche 108, Steuern der Kommunikation über das Kommunikationsgerät 204 und Steuern der Lese-/Schreibvorgänge in dem Arbeitsspeicher 208. Das Kommunikationsgerät 204 kann beliebige geeignete Komponenten zur Kommunikation mit dem Netzwerk 116 über die Mobilfunkanbieter 120 oder den Router/das Modem 132 beinhalten, wie z. B. einen Transceiver. Der Arbeitsspeicher 208 kann jedes geeignete, nicht flüchtige Speichermedium (Flash, Festplatte, usw.) beinhalten, das zum Speichern von Informationen auf dem mobilen Computergerät 104 konfiguriert ist, wie z. B. ein Anweisungssatz zur Ausführung durch den Prozessor 200.

Das mobile Computergerät 104 kann auch zum Ausführen von mindestens einem Teil der Techniken der vorliegenden Offenbarung konfiguriert sein. Anfangs kann das mobile Computergerät 104 eine erste Mobilfunkverbindung mit dem ersten Mobilfunkanbieter 120a des MVNO 124 herstellen. Diese erste Mobilfunkverbindung kann beispielsweise basierend auf einem Standort des mobilen Computergeräts 104 hergestellt werden. Ausschließlich beispielhaft kann das mobile Computergerät 104 bestimmte Regionen kennen oder darüber benachrichtigt werden, in denen der erste Mobilfunkanbieter 120a bevorzugt ist. Wenn sich die Bedingungen ändern, kann ein Wechsel zu dem zweiten Mobilfunkanbieter 120b des MVNO 124 jedoch erwünscht sein. Insbesondere kann das mobile Computergerät 104 einen oder mehrere Zustände detektieren, die (i) einen Mangel an Mobilfunkaktivität über die erste Mobilfunkverbindung und (ii) eine verfügbare zweite Mobilfunkverbindung über den zweiten Mobilfunkanbieter 120b, der mit dem MVNO verbunden ist, angeben.

In einer Implementierung beinhaltet der Zustand einen Standort des mobilen Computergeräts 104, welches eine mit dem ersten Mobilfunkanbieter 120a verbundene Region verlässt. Beispielsweise kann das mobile Computergerät 104 in eine Region eintreten, die mit dem zweitem Mobilfunkanbieter 120b verbunden ist. In einer Implementierung beinhaltet der Zustand einen inaktiven Status der Benutzeroberfläche 108 des mobilen Computergeräts 104. Ein solcher Zustand kann angeben, dass der Benutzer 112 aktuell keine Eingabe bereitstellt, noch anderweitig mit dem mobilen Computergerät 104 interagiert. Beispiele des inaktiven Status beinhalten, sind jedoch nicht begrenzt darauf, dass eine Benutzeroberfläche 108 deaktivert/ausgeschaltet ist, und/oder das mobile Computergerät 104 sich in einem Energiespar-/minimalen Energiesparmodus befindet. Selbst während eines solchen inaktiven Status der Benutzeroberfläche 108 kann der Zustand möglicherweise nicht gegeben sein. In einer Implementierung beinhaltet der Zustand ein Nichtvorhandensein von im Prozess befindlicher Herunterladevorgänge auf das mobile Computergerät 104 über die erste Mobilfunkverbindung. Beispielsweise könnten solche Herunterladevorgänge in einem Hintergrund des mobilen Computergeräts 104 auftreten, obwohl der Benutzer 112 das mobile Computergerät 104 nicht aktiv benutzt.

In einer weiteren Implementierung beinhaltet der Zustand Inaktivität von einer oder mehreren durch das mobile Computergerät 104 auszuführenden Prioritätssoftwareanwendungen. Solche Prioritäts-Softwareanwendung(en) können, wenn sie aktuell ausgeführt werden, eine ununterbrochene Mobilfunkverbindung erfordern. Beispiele von Prioritätssoftwareanwendungen beinhalten, aber sind nicht beschränkt auf Notrufwahl-/Standortanwendungen und Betriebssystem-Aktualisierungsanwendungen. In einer weiteren Implementierung kann der Zustand beinhalten, dass das mobile Computergerät 104 mit einem Nicht-Mobilfunk-Netzwerk verbunden ist, wie z. B. ein WLAN-Computernetzwerk. Optional kann der Zustand des Weiteren beinhalten, dass das mobile Computergerät 104 mit einer Batterieladequelle (z. B. Strom aus der Steckdose) zusätzlich dazu verbunden ist, dass es mit dem Nicht-Mobilfunk-Netzwerk verbunden ist, wodurch übermäßiges Anbieterumschalten vermieden wird, das die Batterieladung entleeren könnte.

In einer weiteren Implementierung kann der Zustand eine vorhergesagte Inaktivitätsphase zwischen dem mobilen Computergerät 104 und dem Benutzer 112 (d. h. benutzerspezifisch) oder einem durchschnittlichen/Gesamtbenutzer beinhalten. Beispielsweise können Gewohnheiten/Verwendungsmuster des Benutzers 112 dem mobilen Computergerät 104 bekannt sein, wie z. B. die Tageszeiten, an denen der Benutzer 112 üblicherweise das mobile Computergerät 104 verwendet. Alternativ können Verwendungsmuster für einen durchschnittlichen/Gesamtbenutzer verwendet werden. Beispielsweise kann der durchschnittliche/Gesamtbenutzer sein mobiles Computergerät 104 immer verwenden, wenn er sich in einem Aufzug befindet. Alternativ kann beispielsweise der durchschnittliche/Gesamtbenutzer eine Pause einlegen, nachdem er das Streamen von einem Film oder einer Fernsehepisode abgeschlossen hat. In einer zusätzlichen weiteren Implementierung kann der Zustand beinhalten, dass die Signalstärke der ersten Mobilfunkverbindung unterhalb eines eine unzureichende Mobilfunkverbindung angebenden Schwellenwertes liegt. Vielmehr kann die erste Mobilfunkverbindung so schlecht sein, dass der Benutzer 112 sich möglicherweise der durch eine Anbieterumschaltung verursachten Latenz nicht bewusst ist, oder diese nicht beachtet. Der Zustand kann ebenfalls beliebige Kombinationen der oben erörterten Beispiele beinhalten.

Wie zuvor erwähnt handelt es sich bei den zuvor angeführten lediglich um Beispiele des Zustands. Weiterhin könnte jede beliebige Kombination von zwei oder mehrerer der Zustände erforderlich sein. Ein weiterer beispielhafter Zustand könnte eine Verarbeitungslast von aktuellen/zukünftigen Aktivitäten beinhalten. Beispielsweise kann das Anschauen eines Filmes wesentlich mehr Verarbeitungsleistung im Vergleich zum Texten erfordern. Andere beispielhafte Zustände können Datenpreisgestaltungsdifferenzen zwischen den Mobilfunkanbietern 120 (z. B. Minimierung von Benutzerkosten), Standortänderungen (z. B. Überqueren von proprietären, den Empfangsbereich angebender geografischer Begrenzungen), weniger als einen Signalstärkenschwellenwert für mehr als einen bestimmten Schwellenwertzeitraum und einen Netzwerkausfall beinhalten. Der Netzwerkausfall kann beispielsweise nicht durch das mobile Computergerät 104 bestimmt werden, da das mobile Computergerät 104 nicht in der Lage wäre, seine Mobilfunkverbindung aufrechtzuerhalten. Ein Remote-Server, der mit den Mobilfunkanbietern 120 und dem MVNO 124 verknüpft ist, könnte andererseits bestimmen, ob ein Netzwerkausfall eintrat, und wenn ja, könnte dies im Rahmen des Bestimmens, ob zwischen Mobilfunkanbietern 120 auf dem mobilen Computergerät 104 umzuschalten ist, berücksichtigt werden.

Als Reaktion auf das Detektieren des Zustandes kann das mobile Computergerät 104 eine Umschaltung auf den zweiten Mobilfunkanbieter 120 durchführen. Dies kann beispielsweise Beenden der ersten Mobilfunkverbindung und Initiieren einer zweiten Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter 120b beinhalten. In einigen Implementierungen kann sich die zweite Mobilfunkverbindung schlechter als die erste Mobilfunkverbindung erweisen. In diesen Szenarien kann sich das Verfahren wiederholen und der Zustand kann detektiert werden, woraufhin eine Umschaltung zurück auf die erste Mobilfunkverbindung durchgeführt werden kann. Alternativ kann in diesen Szenarien ein dritter anderer Mobilfunkanbieter (nicht dargestellt) mit dem MVNO 124 verbunden sein, und nach dem Detektieren des Zustandes kann eine Umschaltung auf den dritten Mobilfunkanbieter durchgeführt werden. Dieses gesamte Verfahren kann dann im Laufe der Zeit wiederholt werden, wie z. B. wenn das mobile Computergerät 104 Standorte in eine andere Region versetzt, in der erwartet werden kann, dass ein anderer Mobilfunkanbieter eine bessere Mobilfunkverbindung bereitstellt.

Unter nun folgender Bezugnahme auf 3 ist ein Ablaufdiagramm einer beispielhaften Technik zum Minimieren von Benutzerunterbrechung beim Umschalten zwischen verschiedenen Mobilfunkanbietern eines MVNO veranschaulicht. Bei 304 kann das mobile Computergerät 104 eine erste Mobilfunkverbindung mit dem ersten Mobilfunkanbieter 120a, der mit dem MVNO 124 verbunden ist, herstellen. Bei 308 kann das mobile Computergerät 104 einen Zustand detektieren, der (i) einen Mangel an Mobilfunkaktivität über die erste Mobilfunkverbindung und (ii) eine verfügbare zweite Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter 120b, der mit dem MVNO 124 verbunden ist, angibt. Wenn der Zustand detektiert wird, kann die Technik 300 mit 312 fortfahren. Andernfalls kann die Technik 300 enden oder zu 308 zurückkehren. Bei 312 kann das mobile Computergerät 104 die erste Mobilfunkverbindung beenden. Bei 316 kann das mobile Computergerät 104 die zweite Mobilfunkverbindung mit dem zweiten Mobilfunkanbieter 120b, der mit dem MVNO 124 verbunden ist, initiieren. Ausschließlich beispielhaft kann die Beendigung das Übertragen von einem Beendigungssignal zu dem ersten Mobilfunkanbieter 120a beinhalten, und die Initiierung kann das Austauschen von Authentifizierungsinformationen mit dem zweiten Mobilfunkanbieter 120b beinhalten, um die zweite Mobilfunkverbindung herzustellen. In einer Implementierung kann die erste Mobilfunkverbindung gleichzeitig mit der Initiierung der zweiten Mobilfunkverbindung beendet werden (z. B. wenn das mobile Computergerät 104 zwei oder mehrere Mobilfunkelemente aufweist). Die Technik 300 kann dann enden oder für einen oder mehrere zusätzliche Zyklen zu 304 zurückkehren (z. B. um potenziell auf die erste Mobilfunkverbindung zurück umzuschalten oder um auf eine bessere dritte Mobilfunkverbindung mit einem anderen dritten Mobilfunkanbieter, der mit dem MVNO 124 verbunden ist, umzuschalten).

In einer weiteren Implementierung kann das mobile Computergerät 104, wie oben erwähnt, eine Vielzahl von Kommunikationsgeräten 204 (Mobilfunkelemente, Transceiver, usw.) beinhalten, und zwei oder mehrere unterschiedliche Kommunikationsgeräte 204 könnten mit zwei oder mehreren Mobilfunkanbietern zu einer gegebenen Zeit verbunden sein. In diesem Beispiel wäre keine Unterbrechung der Benutzeraktivität beim Durchführen der Anbieterumschaltung vorhanden. Insbesondere könnte die zweite Mobilfunkverbindung ungeachtet der Verbindungsstärke der ersten Mobilfunkverbindung separat initiiert werden. Ausschließlich beispielhaft könnte die zweite Mobilfunkverbindung über die gesamte Zeit hergestellt werden, in der die erste Mobilfunkverbindung hergestellt ist. Daher kann das mobile Computergerät unmittelbar auf die zweite Mobilfunkverbindung umschalten, wenn ein Nachlassen der Verbindungsstärke über die erste Mobilfunkverbindung detektiert wird. Implementieren mehrerer Mobilfunkelemente kann jedoch die Gerätekosten/Komplexität erhöhen und/oder die Batterielebensdauer verringern.

Zusätzlich zu den obigen Beschreibungen können einem Benutzer Steuerungen bereitgestellt werden, die dem Benutzer ermöglichen, eine Auswahl zu treffen, ob und wann hierin beschriebene Systeme, Programme oder Funktionen die Sammlung von Benutzerinformationen ermöglichen können (z. B. Informationen über den aktuellen Standort eines Benutzers oder über den aktuellen Mobilfunkvertrag/Abrechnungsplan des Benutzers), und ob dem Benutzer Inhalt oder Kommunikationen von einem Server zugesandt werden. Außerdem können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, sodass persönlich identifizierbare Informationen entfernt werden. So kann beispielsweise die Identität eines Benutzers so behandelt werden, dass keine persönlichen Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort eines Benutzers kann verallgemeinert werden, wo Standortinformationen empfangen werden (beispielsweise auf eine Stadt, eine Postleitzahl oder eine Landesebene), sodass ein bestimmter Standort eines Benutzers nicht bestimmt werden kann. Daher kann der Benutzer Kontrolle darüber haben, welche Informationen über den Benutzer gesammelt werden, wie die Informationen verwendet werden und welche Informationen dem Benutzer bereitgestellt werden.

Beispielhafte Ausführungsformen werden bereitgestellt, sodass diese Offenbarung sorgfältig ist, und Fachmännern den Umfang vollständig vermitteln wird. Zahlreiche spezifische Details sind beschrieben, wie z. B. Beispiele von spezifischen Komponenten, Geräten und Verfahren, um ein sorgfältiges Verständnis von Ausführungsformen der vorliegenden Offenbarung bereitzustellen. Es wird Fachleuten offensichtlich sein, dass spezifische Details nicht verwendet werden müssen, dass beispielhafte Ausführungsformen in vielen unterschiedlichen Formen ausgeführt sein können, und dass keine dieser dahingehend ausgelegt werden sollte, dass sie den Umfang der Offenbarung einschränkt. In einigen beispielhaften Ausführungsformen sind allgemein bekannte Vorgehensweisen, allgemein bekannte Gerätestrukturen und allgemein bekannte Technologien nicht ausführlich beschrieben.

Die hier verwendete Terminologie dient lediglich der Beschreibung spezieller beispielhafter Ausführungsformen und soll keine Beschränkung darstellen. Wie hierin verwendet, können die Singularformen „ein“ und „die“ dafür beabsichtigt sein, ebenso die Pluralformen mit einzuschließen, außer wenn der Kontext eindeutig etwas anderes angibt. Der Begriff „und/oder“ schließt sämtliche Kombinationen von einem oder mehreren der zugewiesenen aufgeführten Elemente ein. Die Begriffe „beinhaltet“, „beinhaltend“, „umfassend“ und „aufweisend“ sind inklusiv, und spezifizieren deshalb das Vorhandensein von aufgeführten Funktionen, Ganzzahlen, Schritten, Vorgängen, Elementen und/oder Komponenten, schließen jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer Funktionen, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon aus. Die hierin beschriebenen Schritte, Verfahren und Vorgänge sollen nicht dahingehend ausgelegt werden, dass es erforderlich sei, dass ihre Ausführung in der spezifisch erörterten oder veranschaulichten Reihenfolge zu erfolgen habe, mit Ausnahme des Falles, dass eine spezifische Ausführungsreihenfolge ausgemacht wird. Es versteht sich auch, dass zusätzliche oder alternative Schritte verwendet werden können.

Obwohl die Begriffe „erster“, „zweiter“, „dritter“, usw., hierin zum Beschreiben unterschiedlicher Elemente, Komponenten, Regionen, Schichten und/oder Abschnitte verwendet werden können, sollen diese Elemente, Komponenten, Regionen, Schichten und/oder Abschnitte durch diese Begriffe nicht eingeschränkt werden. Diese Begriffe können lediglich dazu verwendet werden, ein Element, eine Komponente, eine Region, eine Schicht oder einen Abschnitt von einer anderen Region, einer Schicht oder einem Abschnitt zu unterscheiden. Begriffe wie z. B. „erster“, „zweiter“ und andere numerische Begriffe implizieren, wenn sie hierin verwendet werden, keine Sequenz oder Reihenfolge, außer wenn durch den Kontext klar angegeben. Daher könnten ein erstes Element, eine erste Komponente, eine erste Region, eine erste Schicht oder ein erster Abschnitt, die unten erörtert werden, als ein zweites Element, eine zweite Komponente, ein zweiter Bereich, eine zweite Schicht oder ein zweiter Abschnitt benannt werden, ohne von den Lehren der beispielhaften Ausführungsformen abzuweichen.

Wie hierin verwendet, kann der Begriff Modul derart sein, dass er sich bezieht auf, Teil ist von, oder beinhaltet: eine anwendungsspezifische integrierte Schaltung (ASIC); eine elektronische Schaltung; eine kombinatorische Logikschaltung; ein Field Programmable Gate Array (FPGA); einen Prozessor oder ein verteiltes Netzwerk von Prozessoren (gemeinsam genutzt, zweckbestimmt oder gruppiert), und Speicher in Netzwerk-Clustern oder Datencentern, die einen Code oder einen Prozess ausführen; andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination von einigen oder allen der oben Erwähnten, wie z. B. ein System-on-Chip. Der Begriff Modul kann auch einen Arbeitsspeicher (gemeinsam benutzt, zweckbestimmt oder gruppiert) beinhalten, der Code speichert, der von dem einen oder den mehreren Prozessoren ausgeführt wird.

Der Begriff Code, wie oben verwendet, kann Software, Firmware, Byte-Code und/oder Mikrocode beinhalten, und kann sich auf Programme, Routinen, Funktionen, Klassen und/oder Objekte beziehen. Der Begriff gemeinsam benutzt, wie oben verwendet, bedeutet, dass einige oder alle Codes von mehreren Modulen unter Verwendung von einem einzelnen (gemeinsam benutzten) Prozessor ausgeführt werden können. Zusätzlich können einige oder alle Codes von mehreren Modulen von einem einzelnen (gemeinsam benutzten) Arbeitsspeicher gespeichert werden. Der Begriff Gruppe, wie oben verwendet, bedeutet, dass einige oder alle Codes von einem einzelnen Modul unter Verwendung einer Gruppe von Prozessoren ausgeführt werden können. Zusätzlich können einige oder alle Codes von einem einzelnen Modul unter Verwendung einer Gruppe von Arbeitsspeichern gespeichert werden.

Die hierin beschriebenen Techniken können durch eines oder mehrere Computerprogramme implementiert werden, die durch einen oder mehrere Prozessoren ausgeführt werden. Die Computerprogramme beinhalten prozessorausführbare Anweisungen, die auf einem nicht flüchtigen, greifbaren computerlesbaren Medium gespeichert sind. Die Computerprogramme können auch gespeicherte Daten beinhalten. Nicht einschränkende Beispiele des nicht flüchtigen, greifbaren computerlesbaren Mediums sind ein nicht flüchtiger Arbeitsspeicher, magnetischer Speicher und optischer Speicher.

Einige Teile der obigen Beschreibung präsentieren die hierin beschriebenen Techniken in Form von Algorithmen und symbolischen Darstellungen von auf Informationen ausgeführter Vorgänge. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die von Fachleuten der Datenverarbeitung verwendet werden, um die Substanz ihrer Arbeit anderen Fachleuten besonders effektiv zu vermitteln. Es versteht sich, dass diese Vorgänge, obwohl funktional oder logisch beschrieben, durch Computerprogramme zu implementieren sind. Weiterhin hat es sich zeitweise auch als angebracht erwiesen, sich auf diese Anordnungen von Vorgängen als Module oder anhand funktioneller Namen zu beziehen, ohne hierdurch eine Beschränkung der Allgemeingültigkeit herbeizuführen.

Außer wenn spezifisch anders ausgesagt, als aus der obigen Abhandlung ersichtlich, versteht sich, dass über die gesamte Beschreibung Abhandlungen, bei denen Begriffe, wie z. B. „verarbeitend“ oder „berechnend“ oder „bestimmend“ oder „anzeigend“ oder dergleichen, verwendet werden, sich auf die Aktion und Prozesse eines Computersystems oder eines ähnlichen elektronischen Computergeräts beziehen, das Daten manipuliert und umwandelt, die als physikalische (elektronische) Mengen innerhalb der Computersystemspeicher oder -register oder anderer solcher Informationsspeicher-, Übertragungs- oder Anzeigegeräte dargestellt sind.

Bestimmte Aspekte der beschriebenen Techniken beinhalten hierin beschriebene Verfahrensschritte und Anweisungen in Form eines Algorithmus. Es ist zu beachten, dass die beschriebenen Verfahrensschritte und Anweisungen in Software, Firmware oder Hardware verkörpert sein könnten, und dass sie, wenn sie in Software verkörpert sind, heruntergeladen werden könnten, um auf unterschiedlichen Plattformen resident zu sein und dort betrieben zu werden, die durch Echtzeit-Netzwerkbetriebssysteme verwendet werden.

Die vorliegende Offenbarung betrifft auch eine Vorrichtung zum Ausführen der Vorgänge hierin. Diese Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert werden, oder sie kann einen universellen Computer enthalten, der selektiv durch ein Computerprogramm aktiviert oder rekonfiguriert wird, das auf einem computerlesbaren Medium gespeichert ist, worauf durch einen Computer zugegriffen werden kann. Ein solches Computerprogramm kann auf einem greifbaren computerlesbaren Speichermedium gespeichert sein, wie z. B., jedoch nicht beschränkt auf jede Art von Festplatte einschließlich Disketten, optische Laufwerke, CD-ROMs und magneto-optische Laufwerke, Nur-Lese-Speicher (ROMs), Arbeitsspeicher (RAMs), EPROMs, EEPROMs, magnetische oder optische Karten, anwendungsspezifische integrierte Schaltungen (ASICs), oder jede Art von Medien, die zum Speichern von elektronischen Anweisungen in der Lage sind, wobei jedes mit einem Computersystembus verbunden ist. Weiterhin können die in der Spezifikation erwähnten Computer einen einzelnen Prozessor beinhalten oder können Architekturen sein, die mehrere Prozessorkonstruktionen für erhöhte Computerkapazität verwenden.

Die hier präsentierten Algorithmen und Vorgänge stehen in sich nicht mit einem bestimmten Computer oder einer anderen Vorrichtung in Zusammenhang. Unterschiedliche Allzwecksysteme können ebenfalls mit Programmen gemäß den Lehren hierin verwendet werden, oder können sich als komfortabel zum Konstruieren von spezielleren Vorrichtungen zur Durchführung der erforderlichen Verfahrensschritte erweisen. Die erforderliche Struktur für eine Vielfalt dieser Systeme wird Fachleuten auf dem Gebiet offensichtlich sein, zusammen mit entsprechenden Variationen. Außerdem wird die vorliegende Offenbarung nicht unter Bezugnahme auf eine bestimmte Programmiersprache beschrieben. Es versteht sich, dass eine Vielfalt von Programmiersprachen verwendet werden kann, um die Lehren der vorliegenden Offenbarung wie hierin beschrieben zu implementieren, und alle Bezüge auf spezifische Sprachen werden zur Offenbarung der Umsetzung und des besten Modus der vorliegenden Erfindung bereitgestellt.

Die vorliegende Offenbarung ist geeignet für eine große Vielfalt von Computernetzwerksystemen in zahlreichen Strukturen. Innerhalb dieses Bereichs umfassen die Konfiguration und die Verwaltung großer Netzwerke Speichervorrichtungen und Computer, die kommunikativ mit ungleichartigen Computer- und Speichervorrichtungen über ein Netzwerk verbunden sind, wie z. B. das Internet.

Die vorangehende Beschreibung der Ausführungsformen des Systems wurde zu Illustrations- und Darstellungszwecken bereitgestellt. Sie ist nicht bestimmt, abschließend zu sein, oder die Offenbarung einzuschränken. Einzelne Elemente oder Merkmale einer bestimmten Ausführungsform sind im Allgemeinen nicht auf die bestimmte Ausführungsform begrenzt, sondern gegebenenfalls gegenseitig austauschbar und können in einer bestimmten Ausführungsform verwendet werden, selbst wenn sie nicht spezifisch dargestellt oder beschrieben sind. Dieselben können auch auf viele Arten variiert werden. Diese Variationen sind nicht als Abweichen von der Offenbarung anzusehen, und sämtliche Modifizierungen sind beabsichtigt, als vom Umfang der Offenbarung umfasst zu sein.