Title:
Ermitteln eines Routings von Proxy-Datenverkehr zwischen mobilen Client- und Proxy-Vorrichtungen
Kind Code:
T5


Abstract:

Eine Host-Vorrichtung kann eine erste Schaltung für drahtlose Kommunikation, eine zweite Schaltung für drahtlose Kommunikation, die einen Proxy-Router einschließt, und einen kommunikationstechnisch mit der ersten und der zweiten Schaltung für drahtlose Kommunikation gekoppelten Host-Prozessor einschließen. Die Host-Vorrichtung kann über die zweite Schaltung für drahtlose Kommunikation eine Verbindungsanforderung von der Client-Vorrichtung empfangen. Die Ankündigungsnachricht kann eine Anforderung eines Austauschs von Daten mit einem Netzwerk einschließen. Die Host-Vorrichtung kann mindestens eines von einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung und einer Netzwerkverbindungseigenschaft der Host-Vorrichtung ermitteln. Der Proxy-Router kann die erste oder die zweite Schaltung für drahtlose Kommunikation zur Verwendung durch die Host-Vorrichtung auswählen, um Daten mit dem Netzwerk auszutauschen. Die Host-Vorrichtung kann über die zweite Schaltung für drahtlose Kommunikation der Client-Vorrichtung eine Verbindungsanforderung bereitstellen und dann unter Verwendung der ausgewählten Schaltung für drahtlose Kommunikation die Daten zwischen der Client-Vorrichtung und dem Netzwerk übertragen.




Inventors:
Flynn, Paul V., Calif. (Cupertino, US)
Zhao, Wen, Calif. (Cupertino, US)
Mujtaba, Syed Aon, Calif. (Cupertino, US)
Hariharan, Sriram, Calif. (Cupertino, US)
Semersky, Matthew L., Calif. (Cupertino, US)
Application Number:
DE112015006261T
Publication Date:
12/14/2017
Filing Date:
12/21/2015
Assignee:
Apple Inc. (Calif., Cupertino, US)



Attorney, Agent or Firm:
BARDEHLE PAGENBERG Partnerschaft mbB Patentanwälte, Rechtsanwälte, 81675, München, DE
Claims:
1. Verfahren zum Verwenden einer Host-Vorrichtung, um eine Client-Vorrichtung mit einem für die Host-Vorrichtung zugänglichen Netzwerk zu verbinden, wobei das Verfahren umfasst:
bei der Host-Vorrichtung, die eine erste Schaltung für drahtlose Kommunikation, eine zweite Schaltung für drahtlose Kommunikation, die einen Proxy-Router einschließt, und einen kommunikationstechnisch mit der ersten und der zweiten Schaltung für drahtlose Kommunikation gekoppelten Host-Prozessor umfasst:
Empfangen einer Ankündigungsnachricht von der Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation, wobei die Ankündigungsnachricht eine Anforderung einer Datenkommunikation mit dem Netzwerk einschließt;
Ermitteln von mindestens einem von einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung und einer Netzwerkverbindungseigenschaft der Host-Vorrichtung;
Auswählen der ersten Schaltung für drahtlose Kommunikation oder der zweiten Schaltung für drahtlose Kommunikation durch den Proxy-Router zur Verwendung durch die Host-Vorrichtung, um Daten mit dem Netzwerk auszutauschen;
Bereitstellen einer Verbindungsanforderung für die Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation; und
Übertragen von Daten zwischen der Client-Vorrichtung und dem Netzwerk unter Verwendung der ausgewählten Schaltung für drahtlose Kommunikation.

2. Verfahren nach Anspruch 1, wobei das Auswählen auf der Kommunikationsrichtlinienpräferenz der Host-Vorrichtung oder der Netzwerkverbindungseigenschaft der Host-Vorrichtung beruht.

3. Verfahren nach Anspruch 1, wobei die Kommunikationsrichtlinienpräferenz der Host-Vorrichtung eine Kommunikationsprotokollpräferenz angibt, und wobei die Netzwerkverbindungseigenschaft der Host-Vorrichtung ein Vorhandensein einer Netzwerkverbindung angibt, die ein Kommunikationsprotokoll unterstützt.

4. Verfahren nach Anspruch 1, wobei die Kommunikationsrichtlinienpräferenz der Host-Vorrichtung dem Proxy-Router durch den Host-Prozessor bereitgestellt wird.

5. Verfahren nach Anspruch 1, wobei die Übertragung der Daten durch den Proxy-Router verwaltet wird, um es dem Host-Prozessor zu erlauben, in einem Niedrigenergiezustand zu bleiben.

6. Verfahren nach Anspruch 1, ferner umfassend bei der Host-Vorrichtung:
Empfangen von Daten von dem Netzwerk über die erste Schaltung für drahtlose Kommunikation;
Leiten der Daten von der ersten Schaltung für drahtlose Kommunikation zur zweiten Schaltung für drahtlose Kommunikation; und
Übertragen der Daten über die zweite Schaltung für drahtlose Kommunikation an die Client-Vorrichtung.

7. Verfahren nach Anspruch 1, wobei die zweite Schaltung für drahtlose Kommunikation mindestens eines von einer Bluetooth-Funkvorrichtung und einer WiFi-Funkvorrichtung umfasst, und wobei die erste Schaltung für drahtlose Kommunikation eine Mobilfunk-Funkvorrichtung umfasst.

8. Verfahren nach Anspruch 1, wobei die Kommunikationsrichtlinienpräferenz der Host-Vorrichtung angibt, dass eine WiFi-Verbindung gegenüber einer Mobilfunkverbindung bevorzugt wird.

9. Verfahren nach Anspruch 7, wobei die Bluetooth-Funkvorrichtung oder die WiFi-Funkvorrichtung konfiguriert sind, Verbindungsmaßzahlen zu berichten, die mindestens eines umfassen von:
der Kommunikation mit der Host-Vorrichtung zugeordnete Maßzahlen einer Stärkenanzeige eines empfangenen Signals,
der Kommunikation mit der Host-Vorrichtung zugeordnete Signal-Rausch-Verhältnis-Maßzahlen, und
der Kommunikation mit der Host-Vorrichtung zugeordnete Stausteuerungsalgorithmus-Maßzahlen.

10. Verfahren nach Anspruch 9, wobei die Netzwerkverbindungseigenschaft der Host-Vorrichtung auf mindestens einer der Verbindungsmaßzahlen beruht.

11. Verfahren nach Anspruch 9, wobei die Signal-Rausch-Verhältnis-Maßzahlen eine der Kommunikation mit der Host-Vorrichtung zugeordnete Menge an Signalstärke in Hinblick auf ein Rauschen definieren, das während der Kommunikation mit der Host-Vorrichtung erfasst wird, und wobei die Host-Vorrichtung fähig ist, eine Verbindungseigenschaft zu aktualisieren, wenn sich die Signal-Rausch-Verhältnis-Maßzahlen erhöhen.

12. Verfahren nach Anspruch 9, wobei die Stausteuerungsalgorithmus-Maßzahlen eine der Kommunikation mit der Host-Vorrichtung zugeordnete berechnete Menge an Stau definieren, und wobei die Host-Vorrichtung fähig ist, eine Verbindungseigenschaft zu aktualisieren, wenn sich die Stausteuerungsalgorithmus-Maßzahlen erhöhen.

13. Verfahren nach Anspruch 1, wobei die Ankündigungsnachricht eine Wichtigkeit der Daten angibt, und wobei die Wichtigkeit der Daten mindestens eines ist von: durch einen Benutzer der Client-Vorrichtung konfiguriert und auf Grundlage von Inhalt der Informationen ermittelt.

14. Verfahren nach Anspruch 1, ferner umfassend bei der Host-Vorrichtung ein Aktivieren einer Verbindung zwischen der Client-Vorrichtung und dem Netzwerk mindestens als Reaktion auf eine Angabe, dass die Client-Vorrichtung die Verbindungsanforderung akzeptiert.

15. Verfahren nach Anspruch 1, wobei eine oder mehrere Netzwerkverbindungseigenschaften der Host-Vorrichtung mindestens eines umfassen von: dem Empfang der Ankündigungsnachricht zugeordneten Maßzahlen einer Stärkenanzeige eines empfangenen Signals, dem Empfang der Ankündigungsnachricht zugeordnete Signal-Rausch-Verhältnis-Maßzahlen und dem Empfang der Ankündigungsnachricht zugeordnete Stausteuerungsalgorithmus-Maßzahlen.

16. Verfahren nach Anspruch 1, wobei die Kommunikationsrichtlinienpräferenz der Host-Vorrichtung dem Proxy-Router von dem Host-Prozessor bereitgestellt wird.

17. Verfahren nach Anspruch 1, wobei eine oder mehrere Netzwerkverbindungseigenschaften der Host-Vorrichtung eine Änderung einer Maßzahl einer Stärkenanzeige eines empfangenen Signals von einer ersten Ankündigung zu einer zweiten Ankündigung, die von der Client-Vorrichtung kommend empfangen werden, umfassen.

18. Computerprodukt, umfassend ein computerlesbares Medium, auf dem eine Vielzahl von Anweisungen zum Steuern eines Computersystems gespeichert sind, zu:
bei einer Host-Vorrichtung, die eine erste Schaltung für drahtlose Kommunikation, eine zweite Schaltung für drahtlose Kommunikation, die einen Proxy-Router einschließt, und einen kommunikationstechnisch mit der ersten und der zweiten Schaltung für drahtlose Kommunikation gekoppelten Host-Prozessor umfasst:
einem Empfangen einer Ankündigungsnachricht von einer Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation, wobei die Ankündigungsnachricht eine Anforderung eines Austauschs von Daten mit einem Netzwerk einschließt;
einem Ermitteln von mindestens einem von einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung und einer Netzwerkverbindungseigenschaft der Host-Vorrichtung;
einem Auswählen der ersten Schaltung für drahtlose Kommunikation oder der zweiten Schaltung für drahtlose Kommunikation durch den Proxy-Router zur Verwendung durch die Host-Vorrichtung, um Daten mit dem Netzwerk auszutauschen;
einem Bereitstellen einer Verbindungsanforderung für die Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation; und
einem Übertragen von Daten zwischen der Client-Vorrichtung und dem Netzwerk unter Verwendung der ausgewählten Schaltung für drahtlose Kommunikation.

19. Computerprodukt nach Anspruch 18, wobei die Kommunkationsrichtlinienpräferenz der Host-Vorrichtung eine Kommunikationsprotokollpräferenz angibt, und wobei die Netzwerkverbindungseigenschaft der Host-Vorrichtung ein Vorhandensein einer Netzwerkverbindung angibt, die ein Kommunikationsprotokoll unterstützt.

20. System, umfassend:
einen oder mehrere Prozessoren; und
ein oder mehrere nicht-flüchtige, computerlesbare Datenspeichermedien, die Anweisungen enthalten, die konfiguriert sind, den einen oder die mehreren Prozessor zu veranlassen, Operationen durchzuführen, einschließend:
bei einer Host-Vorrichtung, die eine erste Schaltung für drahtlose Kommunikation, eine zweite Schaltung für drahtlose Kommunikation, die einen Proxy-Router einschließt, und einen kommunikationstechnisch mit der ersten und der zweiten Schaltung für drahtlose Kommunikation gekoppelten Host-Prozessor umfasst:
Empfangen einer Ankündigungsnachricht von einer Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation, wobei die Ankündigungsnachricht eine Anforderung eines Austauschs von Daten mit einem Netzwerk einschließt;
Ermitteln von mindestens einem von einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung und einer Netzwerkverbindungseigenschaft der Host-Vorrichtung;
Auswählen der ersten Schaltung für drahtlose Kommunikation oder der zweiten Schaltung für drahtlose Kommunikation durch den Proxy-Router zur Verwendung durch die Host-Vorrichtung, um Daten mit dem Netzwerk auszutauschen;
Bereitstellen einer Verbindungsanforderung für die Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation; und
Übertragen von Daten zwischen der Client-Vorrichtung und dem Netzwerk unter Verwendung der ausgewählten Schaltung für drahtlose Kommunikation.

Description:
QUERVERWEISE ZU VERWANDTEN ANMELDUNGEN

Die vorliegende Anmeldung beansprucht die Priorität der nicht-vorläufigen US-Anmeldung Nr. 14/921,490 (Anwaltliches Aktenzeichen: 090911-P25329US1-0941830) mit dem Titel „Determining Routing of Proxy Traffic Between Mobile Client And Proxy Devices”, welche die Priorität der am 6. März 2015 eingereichten vorläufigen US-Anmeldung Nr. 62/129,492 (Anwaltliches Aktenzeichen: 090911-P25329USP1-0924750) mit dem Titel „Determining Routing of Proxy Traffic Between Mobile Client And Proxy Devices” beansprucht. Die jeweiligen Offenbarungen beider Anmeldungen werden durch Bezugnahme in ihrer Gesamtheit für alle Zwecke hierin aufgenommen.

Diese Anmeldung ist mit den folgenden US-Patentanmeldungen in gemeinschaftlichem Besitz verwandt: der am 26. September 2014 eingereichten vorläufigen US-Patentanmeldung Nr. 62/056,297 (Anwaltliches Aktenzeichen: 090911-P21146USP1-0912512) mit dem Titel „Network Bandwidth Sharing For Small Mobile Devices”; der am 6. März 2015 eingereichten, vorläufigen US-Patentanmeldung Nr. 62/129,476 (Anwaltliches Aktenzeichen: 090911-P25327USP1-0924749) mit dem Titel „Determining When To Establish Connection Between Mobile Client And Proxy Devices”, und der am 6. März 2015 eingerichteten, vorläufigen US-Anmeldung Nr. 62/129,643 (Anwaltliches Aktenzeichen: 090911-P25331USP1-0924752) mit dem Titel „Cloud Support For Discovery And Data Transfer For Mobile Client Devices”, die durch Bezugnahme in ihrer Gesamtheit für alle Zwecke hierin aufgenommen werden.

GEBIET

Ausführungsformen betreffen allgemein das Verwalten von Proxy-Netzwerkverbindungen zwischen Vorrichtungen.

HINTERGRUND

Bei der ständig steigenden Anzahl unterschiedlicher Typen von Netzwerkvorrichtungen können Benutzer nun mehrere Rechenvorrichtungen, einschließlich eines Desktop-Computers, eines Laptop-Computers, eines Mobiltelefons, eines Tablets, am Körper tragbarer Netzwerkvorrichtungen, Netzwerk-Haushaltseinheiten und anderer Netzwerkvorrichtungen, gleichzeitig verwenden. Insbesondere kleinere mobile Vorrichtungen besitzen unter Umständen nicht die Leistungs- oder Hardware-Ressourcen für eine Netzwerkkonnektivität mit vielem der vorhandenen drahtlosen Netzwerkinfrastruktur. Zusätzlich bewegen sich am Körper tragbare Vorrichtungen naturgemäß, während sie durch Benutzer, die aktiv sind, am Körper getragen werden. Ein Verwalten von Kommunikation in solch einer Umgebung stellt eine zunehmend komplexe Aufgabe dar.

ZUSAMMENFASSUNG

Systeme, Verfahren und computerlesbare Medien zum Optimieren des Flusses von Datenverkehr durch eine Proxy-Vorrichtung zu einer mobilen Client-Vorrichtung werden bereitgestellt. In manchen Ausführungsformen kann die mobile Client-Vorrichtung begrenzte drahtlose Netzwerkfähigkeiten besitzen, wie beispielsweise eine intelligente Uhr (smart watch) oder dergleichen die Proxy-Vorrichtung Zugang zu einem Weitverkehrsnetzwerk (wide area network) (z. B. dem Internet) besitzen kann.

Gemäß manchen Ausführungsformen kann die Host-Vorrichtung eine erste Schaltung für drahtlose Kommunikation, eine zweite Schaltung für drahtlose Kommunikation, die einen Proxy-Router einschließt, und einen kommunikationstechnisch mit der ersten und der zweiten Schaltung für drahtlose Kommunikation gekoppelten Host-Prozessor umfassen. Die Host-Vorrichtung kann von der Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation eine Ankündigungsnachricht empfangen, die eine Anforderung einschließt, Daten mit dem Weitverkehrsnetzwerk auszutauschen. Die Host-Vorrichtung kann dann mindestens eines von einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung und einer Netzwerkverbindungseigenschaft der Host-Vorrichtung ermitteln.

Eine Netzwerkverbindungseigenschaft der Host-Vorrichtung kann auf Grundlage einer für die Host-Vorrichtung verfügbaren, derzeitigen Netzwerkkonnektivität ermittelt werden. Die Kommunikationsrichtlinienpräferenz kann eine Präferenz für eine WiFi-Verbindung gegenüber einer Mobilfunkdatenverbindung angeben, wenn eine WiFi-Verbindung bei der Host-Vorrichtung verfügbar ist. Der Proxy-Router kann die erste Schaltung für drahtlose Kommunikation oder die zweite Schaltung für drahtlose Kommunikation zur Verwendung durch die Host-Vorrichtung auswählen, um die Daten mit dem Netzwerk auszutauschen. Die Auswahl kann auf einer Richtlinienpräferenz oder einer Netzwerkverbindungseigenschaft der Host-Vorrichtung beruhen. Die Host-Vorrichtung kann der Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation eine Verbindungsanforderung bereitstellen. Die Host-Vorrichtung kann eine Verbindung mit der Client-Vorrichtung herstellen und unter Verwendung der ausgewählten Schaltung für drahtlose Kommunikation die Daten zwischen der Client-Vorrichtung und dem Netzwerk übertragen. Die Auswahl der Schaltung für drahtlose Kommunikation kann auf einer Richtlinienpräferenz der Host-Vorrichtung oder einer Netzwerkverbindungseigenschaft der Host-Vorrichtung beruhen. Die Übertragung von Daten kann durch den Proxy-Router verwaltet werden, um es dem Host-Prozessor zu erlauben, in einem Niedrigenergiezustand zu bleiben.

Gemäß weiteren Ausführungsformen kann eine Client-Vorrichtung in der Lage sein, Internetzugang über ein Verbinden mit einer Host-Vorrichtung mit Internetzugang zu erreichen. Die Client-Vorrichtung kann einen durch die Client-Vorrichtung benötigten Verbindungstyp als Reaktion auf einen Empfang eines Auslösesignals identifizieren, das angibt, dass ein Versuch durchgeführt werden soll, eine Verbindung mit der Host-Vorrichtung herzustellen. Die Client-Vorrichtung kann zudem eine Ankündigungsnachricht zum Anfordern einer Verbindung mit der Host-Vorrichtung erzeugen. Die Ankündigungsnachricht kann der Host-Vorrichtung mit einer Anforderung einer drahtlosen Verbindung mit der Host-Vorrichtung bereitgestellt werden. Die Ankündigungsnachricht kann eine Angabe eines angeforderten Verbindungstyps einschließen. Die Client-Vorrichtung kann eine Verbindungsanforderung von der Host-Vorrichtung empfangen, die die eine Netzwerkverbindungseigenschaft der Host-Vorrichtung für ein Zugreifen auf das Netzwerk angibt.

Weitere Ausführungsformen sind auf Systeme, tragbare Verbrauchervorrichtungen und computerlesbare Medien gerichtet, die hierin beschriebenen Verfahren zugeordnet sind.

Ein besseres Verständnis der Natur und Vorteile von Ausführungsformen der vorliegenden Offenbarung kann unter Bezugnahme auf die folgende detaillierte Beschreibung und die begleitenden Zeichnungen gewonnen werden.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 ist ein Beispielblockdiagramm eines Systems, das eine Kommunikation zwischen einer Primärdatenquelle, einer Host-Vorrichtung und Client-Vorrichtungen zeigt.

2 ist ein Beispielblockdiagramm, das Host-Vorrichtungen und Client-Vorrichtungen an verschiedenen Standorten veranschaulicht.

3 ist ein Beispielblockdiagramm, das Ausführungsformen der Kommunikation zwischen einer Host-Vorrichtung und einer Client-Vorrichtung zeigt.

4 ist ein Beispielblockdiagramm, das eine Route einer Proxy-Verbindung zwischen einem Netzwerk und einer Client-Vorrichtung über einen Prozessor einer Proxy-Vorrichtung zeigt, die mit Ausführungsformen verbessert werden kann.

5 ist ein Beispielblockdiagramm, das eine Client-Vorrichtung, eine Proxy-Vorrichtung mit einem Proxy-Router und Netzwerkverbindung zwischen den Vorrichtungen zeigt.

6 ist ein Flussbild eines Beispielverfahrens eines Verwendens eines Proxy-Routers, um eine Route einer Proxy-Verbindung zwischen einem Netzwerk und einer Client-Vorrichtung zu ermitteln.

7 ist ein Beispielblockdiagramm, das eine Route einer Proxy-Verbindung zwischen einem Netzwerk und einer Client-Vorrichtung über eine Kommunikationsschnittstelle einer Proxy-Vorrichtung zeigt.

8 ist ein Beispielblockdiagramm, das eine Route einer Proxy-Verbindung zwischen einem Netzwerk und einer Client-Vorrichtung über eine Kommunikationsschaltung einer Proxy-Vorrichtung zeigt.

9 ist ein Beispielblockdiagramm, das ein Routen von Proxy-Verbindungen zwischen einem Netzwerk und einer Client-Vorrichtung über eine Proxy-Vorrichtung zeigt.

10 ist ein Flussbild eines Beispielverfahrens eines Verwenden einer Client-Vorrichtung, um einen angeforderten Verbindungstyp innerhalb einer Ankündigungsnachricht anzugeben, die eine Verbindung mit einem Netzwerk anfordert.

11 ist ein Beispielblockdiagramm, das zusätzliche Merkmale einer Client-Vorrichtung zeigt.

12 ist ein Beispielblockdiagramm, das zusätzliche Merkmale einer Proxy-Vorrichtung zeigt.

13 ist ein Beispielblockdiagramm, das zusätzliche Ausführungsformen einer Client-Vorrichtung und einer Proxy-Vorrichtung zeigt.

14 ist ein Beispielblockdiagramm, das eine Vorrichtung zeigt, bei der es sich um eine Host-Vorrichtung, eine Client-Vorrichtung oder einen Server handeln kann.

DETAILLIERTE BESCHREIBUNG

Hierin beschriebene Ausführungsformen betreffen die Verwendung einer Host-Vorrichtung (z. B. eines Smartphones), um einer elektronischen Vorrichtung, wie beispielsweise einer intelligenten Uhr und einer Musikwiedergabeeinheit, mit begrenzter oder keiner WAN-Konnektivität einen Dienst eines Weitverkehrsnetzwerks (wide area network (WAN)) (z. B. einen Mobilfunkdatendienst) bereitzustellen. Der Konnektivitätsprozess kann Ermittlungen dessen einschließen, welcher Typ von Verbindung benötigt wird, wie eine Verbindung zu routen ist und mit welchen Komponenten der Host-Vorrichtung eine Verbindung erstellt werden soll. Solche Ermittlungen können einen Energieverbrauch durch die Host-Vorrichtung verringern und eine Frustration eines Benutzers verringern.

Bestimmte Typen von elektronischen Vorrichtungen besitzen oftmals keinen Mobilfunk-Datendienst oder anderen WAN-Dienst, der wirksam oder übergangslos arbeitet, wenn sich ein Benutzer von Ort zu Ort bewegt. In vielen Fällen beruht dies auf Größen- oder Leistungseinschränkungen bei solchen Vorrichtungen. Die Antennen für solche Dienste sind größer als die Antennen für Verbindungen eines lokalen Netzwerks (Local Area Network (LAN)) oder für Nahfeldverbindungen, die durch WiFi, BluetoothTM (BT) oder andere solche Kommunikationssysteme mit kurzer Reichweite bereitgestellt werden. Die zusätzlichen Kosten und die zusätzliche Größe von WAN-Netzwerk-Chipsätzen und WAN-Dienstanbietern kann auch vor dem Einbau dieser Funktionen in einige elektronische Vorrichtungen abschrecken. Anstatt solche Funktionalität in bestimmte Typen von elektronischen Vorrichtungen, z. B. kleine Vorrichtungen, zu integrieren, können Ausführungsformen eine LAN-Funktionalität einer konnektivitätsbegrenzten elektronischen Vorrichtung verwenden, um eine Kommunikation mit einer Host-Vorrichtung mit WAN-Zugang zu ermöglichen.

Host-Vorrichtungen, die eine WAN-Funktionalität einschließen, und Client-Vorrichtungen, die eine LAN-Funktionalität einschließen, können beide konfiguriert sein, ihre eigenen Netzwerkverbindungseigenschaften zu identifizieren (falls vorhanden). Zusätzlich kann eine Host-Vorrichtung konfiguriert sein, ihre Kommunikationsrichtlinienpräferenzen auf Grundlage von zuvor bestimmten oder benutzerausgewählten Präferenzen zum Kommunizieren von Daten zwischen der Host-Vorrichtung und einem WAN zu identifizieren. Die Kommunikationsrichtlinienpräferenzen können angeben, dass WiFi-Kommunikation gegenüber Mobilfunk bevorzugt wird, wenn die Verbindungseigenschaften angeben, dass eine WiFi-Verbindung verfügbar ist.

Die Host-Vorrichtung kann eine Kommunikationsschaltung besitzen, die einen Proxy-Router einschließt. Der Proxy-Router innerhalb der Kommunikationsschaltung der Host-Vorrichtung kann konfiguriert sein, eine Route für Datenverbindungen zwischen einer Client-Vorrichtung und dem WAN auf Grundlage von einer oder mehreren Richtlinienpräferenzen der Host-Vorrichtung und einer oder mehreren Netzwerkverbindungseigenschaften der Host-Vorrichtung auszuwählen. Ein Abwickeln des Routings innerhalb der Kommunikationsschaltung kann einen Energieverbrauch durch einen Anwendungsprozessor der Host-Vorrichtung verringern und Vertraulichkeitsbedenken ansprechen, wenn die Client-Vorrichtung von einem anderen Benutzer als die Host-Vorrichtung stammt.

Dementsprechend kann eine Route einer Datenverbindung zwischen dem Client und dem WAN durch den Proxy-Router der Host-Vorrichtung auf Grundlage einer Richtlinienpräferenz der Host-Vorrichtung oder einer Netzwerkverbindungseigenschaft der Host-Vorrichtung ausgewählt werden.

I. Vorrichtungen zum Verwenden eines Proxy

Eine Client-Vorrichtung bezieht sich auf Vorrichtungen, die den Nutzen von Netzwerkbandbreite empfangen, die durch eine Host-Vorrichtung freigegeben wird. Beispiele solcher Vorrichtungen schließen intelligente Uhren, Musikwiedergabeeinheiten, wie beispielsweise iPodTM-Vorrichtungen, Nur-LAN-Gesundheitsmonitore (health monitors) und andere solche Vorrichtungen mit LAN-Funktionalität ein.

Eine Host-Vorrichtung, eine Proxy-Vorrichtung oder ein Datenanbieter können sich alle auf eine beliebige Vorrichtung mit sowohl WAN- als auch LAN-Funktionalität beziehen, die konfiguriert sein kann, einer Client-Vorrichtung, die nicht mit einem Benutzer der Host-Vorrichtung in Verbindung steht, Netzwerkzugang bereitzustellen. Smartphones stellen ein Beispiel solch einer Host-Vorrichtung dar. Mobile Zugangspunkte (Access Points (AP)) mit WAN- und LAN-Funktionalität, Laptop-Computer oder andere solche Vorrichtungen können auch als Host-Vorrichtungen fungieren.

In einigen Beispielen kann ein Benutzer mindestens zwei elektronische Vorrichtungen nutzen. Bei einer der zwei elektronischen Vorrichtungen kann es sich um eine Client-Vorrichtung handeln, während es sich bei der anderen um eine Host-Vorrichtung handeln kann, wie vorstehend definiert. Zum Beispiel kann der Benutzer eine am Körper tragbare Vorrichtung und ein Smartphone oder eine andere WAN-zugängliche Vorrichtung nutzen. Während das Smartphone des Benutzers regelmäßig als die Host-Vorrichtung für die Client-Vorrichtung agieren kann, um auf WAN-Inhalt zuzugreifen, kann es Fälle geben, in denen der Benutzer nur mit der Client-Vorrichtung interagiert und/oder sich außer Reichweite der Host-Vorrichtung befindet. In solchen Fällen kann die Client-Vorrichtung versuchen, über eine oder mehrere andere Host-Vorrichtungen, z. B. von anderen Benutzern, auf WAN-Inhalt zuzugreifen. Ein solches Beispiel kann den Fall einschließen, während der Benutzer trainiert. In diesem Fall kann es der Benutzer vorziehen, aufgrund ihrer kleineren Größe mit der am Körper tragbaren Vorrichtung zu interagieren, und er kann sich dafür entscheiden, die Host-Vorrichtung zurückzulassen. Wenn deshalb die Client-Vorrichtung durch eine andere Host-Vorrichtung auf WAN-Inhalt zugreifen kann, muss sie sich unter Umständen nicht auf die Host-Vorrichtung des Benutzers stützen. Weitere Beispiele können Fälle einschließen, in denen sich die Leistung der Batterie/des Akkus der Host-Vorrichtung des Benutzers verschlechtert oder mindestens auf ein Niveau verringert hat, auf dem ein Zugang zum WAN über die Host-Vorrichtung des Benutzers nicht mehr machbar sein kann. In diesen Beispielen, in denen sich der Benutzer der Client-Vorrichtung auf eine Host-Vorrichtung eines anderen Benutzers stützt, kann der Benutzer wünschen, den sich aus einem Zugreifen auf WAN-Inhalt durch die Host-Vorrichtung ergebenden Energieverbrauch zu minimieren. Zum Beispiel kann der Benutzer der Client-Vorrichtung wünschen, ein Zugreifen auf WAN-Inhalt durch einen Anwendungsprozessor der Host-Vorrichtung zu vermeiden, um die Batterie-/Akkunutzung bei der Host-Vorrichtung zu verringern.

A. Systeme

1 veranschaulicht ein System, das eine Proxy-Netzwerkverbindungs-Verwaltung implementieren kann, um sich bewegenden Client-Vorrichtungen ohne WAN-Funktionalität Netzwerkzugang bereitzustellen. 1 schließt eine Primärdatenquelle 110, zwei Host-Vorrichtungen 120 und drei Client-Vorrichtungen 130 ein. Bei der Primärdatenquelle 110 kann es sich um jede Datenquelle handeln, die mit einem WAN, wie beispielsweise dem Internet, verbunden ist. Solche Primärdatenquellen können Mobilfunkmasten, Satelliten, Stratosphärenballons mit Netzwerkfunktionalität und andere solche Netzwerkinfrastruktur einschließen. Die Primärdatenquelle 110 kommuniziert über eine WAN-Verbindung, wie beispielsweise drahtlose „Long-Term Evolution”- bzw. LTE-Mobilfunkkommunikation, direkt mit jeder Host-Vorrichtung 120.

Wenn eine Host-Vorrichtung 120 konfiguriert ist, Netzwerkressourcen mit den Client-Vorrichtungen 130 zu teilen, werden die Host-Vorrichtung 120 und die Client-Vorrichtung 130 über ein drahtloses LAN (wireless LAN (WLAN)), wie beispielsweise Wi-Fi oder BT, kommunizieren. Die WLAN-Verbindung kann in unterschiedlichen Ausführungsformen entweder durch die Host-Vorrichtung 120 oder die Client-Vorrichtung 130 initiiert werden. In gewissen Ausführungsformen kann eine Client-Vorrichtung 130 eine Ankündigungsnachricht an eine Host-Vorrichtung 120 (auch eine „Proxy-Vorrichtung” genannt) senden, die eine WLAN-Verbindung anfordert, und die Host-Vorrichtung kann eine Route für die WLAN-Verbindung auf Grundlage eines oder mehrerer Faktoren auswählen (einschließlich einer Kommunikationsrichtlinienpräferenz oder einer Netzwerkverbindungseigenschaft), die der Host-Vorrichtung 120 zugeordnet sind. Eine geeignete Route kann zum Beispiel ausgewählt werden, wenn eine Netzwerkverbindungseigenschaft angibt, dass eine WiFi-Verbindung mit dem WAN verfügbar ist, und wenn eine Kommunikationsrichtlinienpräferenz angibt, dass Daten durch ein WiFi-Netzwerk ausgetauscht werden sollen, wenn möglich. Solch eine Auswahl oder Ermittlung einer geeigneten Route kann durch einen Proxy-Router der Host-Vorrichtung 120 verwaltet werden. In manchen Ausführungsformen kann die Datenübertragung unter Verwendung der ausgewählten Route durch den Proxy-Router verwaltet werden, um es einem Host-Prozessor zu erlauben, in einem Niedrigenergiezustand zu bleiben. Zum Beispiel kann der Proxy-Router der Host-Vorrichtung einen Anwendungsprozessor der Host-Vorrichtung umgehen und Daten durch eine oder mehrere Kommunikationsschaltungen der Host-Vorrichtung leiten, um eine Batterie-/Akkunutzung durch den Anwendungsprozessor zu minimieren.

B. Nähe von Vorrichtungen

2 ist ein Beispielblockdiagramm, das Host-Vorrichtungen und Client-Vorrichtungen an verschiedenen Standorten veranschaulicht. 2 zeigt gleichermaßen eine Primärdatenquelle 210 mit einer Anzahl von Host-Vorrichtungen 220 und Client-Vorrichtungen 230, wobei die horizontale Achse eine Entfernung vermittelt. Jede Host-Vorrichtung 220 ist mit Dienstbögen gezeigt, welche die wirksame Kommunikationsentfernung für WLAN-Kommunikation angeben. In vielen Umgebungen befinden sich die Vorrichtungen auf flachem Boden, sodass der Dienst effektiv in einem Kreis um die Host-Vorrichtung 220 angeboten wird, aber innerhalb eines Gebäudes oder in anderen Umgebungen können durch eine Host-Vorrichtung 220 Daten mit Client-Vorrichtungen 230 über oder unter einer teilenden Host-Vorrichtung 220 geteilt werden. Wie in 2 gezeigt, kann bei einer ausreichenden Anzahl und Dichte von geeigneten Host-Vorrichtungen 220 den Client-Vorrichtungen 230 ein regelmäßiger periodischer Dienst, ein nahezu kontinuierlicher oder sogar ein kontinuierlicher Dienst angeboten werden, selbst wenn sich die Client-Vorrichtungen 230 in die und aus der Reichweite von verbundenen Host-Vorrichtungen 220 hinein- oder herausbewegen. In einigen Fällen können sich die Client-Vorrichtungen 230 und die Host-Vorrichtungen 220 aufeinander zu oder voneinander weg bewegen. In manchen Implementierungen sind solche Vorrichtungen unter Umständen keine gute Wahl für ein Herstellen von LAN-Verbindungen, insbesondere wenn ein geeigneterer Host verfügbar ist. Eine Host-Vorrichtung 220 mit WLAN-Zugriff kann auch in der Lage sein, eine Verbindung mit einer Client-Vorrichtung 230 mit begrenzten Drahtlosnetzwerkfähigkeiten herzustellen, um der Client-Vorrichtung 230 den WLAN-Zugang bereitzustellen. Auf diese Weise kann die Host-Vorrichtung 220 als Proxy-Vorrichtung agieren.

II. Kommunikation zwischen Vorrichtungen

Die Netzwerkverbindungsverwaltung kann erfolgen, ohne explizit eine andere Vorrichtung auf der Host-Vorrichtung einrichten zu müssen. Normalerweise muss explizit Tethering auf einer Benutzerschnittstelle erlaubt und eine bestimmte Vorrichtung festgelegt werden, um Netzwerkzugang zu erhalten. In einigen Beispielen kann ein Benutzer nur einige allgemeine Parameter festlegen und muss keinen Zugang für jede Vorrichtung einzeln erlauben. Da ein Agieren als eine Host-Vorrichtung eine Leerung der Batterie/des Akkus auf der Proxy-Vorrichtung verursachen kann und unter Umständen Daten aus einem Mobilfunk-Datenkontingent eines Benutzers der Proxy-Vorrichtung (der sich vom Benutzer der Client-Vorrichtung unterscheiden kann) verwendet, kann jede Proxy-Vorrichtung entscheiden, ob sie freiwillig als ein Host dienen möchte. Zusätzlich kann jede Client-Vorrichtung entscheiden, ob sie die Proxy-Verbindung akzeptieren möchte, sobald sich ein potenzieller Host freiwillig anbietet. Dieser Abschnitt beschreibt eine vorrichtungsübergreifende Kommunikation und Eignungsmaßzahlen, die verwendet werden können, um die Netzwerkverbindungsverwaltung (d. h. diese Entscheidungen) gemäß hierin beschriebenen Ausführungsformen zu ermöglichen.

3 ist ein Blockdiagramm eines Systems 300 gemäß verschiedenen Ausführungsformen. 3 und weitere Figuren sind lediglich veranschaulichend für eine Ausführungsform oder Implementierung oder von Aspekten einer hierin offenbarten Ausführungsform oder Implementierung und sollte den Umfang jeder Ausführungsform, wie in den Ansprüchen angeführt, nicht einschränken. Der Fachmann kann durch diese Offenbarung und die darin vorgelegten Lehren weitere Variationen, Modifikationen und/oder Alternativen zu diesen in den Figuren veranschaulichten Ausführungsformen oder Implementierungen erkennen. 3 ist ein Beispiel eines Systems, das eine Host-Vorrichtung verwenden kann, um Client-Vorrichtungen Daten bereitzustellen. Die Vorrichtungen im System 300 können Hardware- und/oder Software-Elemente einschließen.

A. Verbindungsankündigungen

3 veranschaulicht ein Signalisieren zwischen einer Client-Vorrichtung 302, einer Proxy-Vorrichtung 304 und einem Cloud-Dienst 303, mit dem die Proxy-Vorrichtung 304 eine Verbindung herstellen kann. Die Client-Vorrichtung 302 kann sich zum Zeitpunkt, zu dem die Client-Vorrichtung 302 eine Netzwerkverbindung anfordert (z. B. während sie an einem Benutzer getragen wird, der trainiert oder sich anderweitig bewegt), in Bewegung befinden. Insofern kann die Client-Vorrichtung 302 regelmäßig (z. B. periodisch oder dergleichen) Verbindungsanforderungen aussenden, da jede aktuelle Verbindung unter Umständen nur temporär ist, während sich die Client-Vorrichtung 302 in Reichweite einer Host-Vorrichtung befindet, zu der eine Verbindung aufgebaut wird. Besonders da sich auch Host-Vorrichtungen in Bewegung befinden können, können Verbindungen mit Host-Vorrichtungen für eine Client-Vorrichtung kurz sein.

Unter einem bestimmten Aspekt kann die Client-Vorrichtung 302 eine WAN-Verbindung von einer Proxy-Vorrichtung 304 anfordern, indem eine Verbindungsankündigung 306 bereitgestellt wird. Allgemein können die Verbindungsankündigungen 306 jeder Typ von Anforderung einer Verbindung sein und sind unter Umständen nicht an irgendwelche bestimmten Proxy-Vorrichtungen 304 gerichtet. Die Verbindungsankündigung 306 kann einen Typ einer angeforderten Verbindung, eine Kennung der Client-Vorrichtung 302 (z. B. eine Vorrichtungsidentifikation (ID) oder dergleichen), eine Nutzdatenlast und/oder eine Prioritätsstufe der Anforderung einschließen. Der Typ der angeforderten Verbindung kann angeben, ob die Client-Vorrichtung 302 auf einen Server durch das WAN (z. B. über eine Uplink-Verbindung) hochzuladende Daten besitzt oder ob die Client-Vorrichtung 302 eine Überprüfung auf von einem Server durch das WAN (z. B. über eine Downlink-Verbindung) herunterzuladende Daten vornimmt. Das heißt, bei einer von der Client-Vorrichtung 302 gesendeten Ankündigungsnachricht 306 kann es sich um eine Anforderung einer WAN-Verbindung handeln, die eine Angabe eines angeforderten Verbindungstyps (z. B. Uplink oder Downlink) einschließt. Zum Beispiel kann es sich bei der Ankündigungsnachricht 306 um eine Ankündigung von auf Abruf an die Proxy-Vorrichtung 304 gesendeten Uplink-Daten handeln. Zudem kann es sich zum Beispiel bei der Ankündigungsnachricht 306 um eine Ankündigung von Downlink-Daten handeln (z. B. eine Anforderung, dass die Host-Vorrichtung eine Überprüfung auf Downlink-Daten vornimmt). Wenn die Client-Vorrichtung 302 hochzuladende Daten besitzt, können die Nutzdaten diese Daten einschließen; wenn es in manchen Beispielen jedoch herunterzuladende Daten gibt, wird die Verbindungsankündigung 306 keine Daten in den Nutzdaten einschließen.

Die Verbindungsankündigungen 306 können durch ein Auslöseereignis verursacht werden, wie beispielsweise ein periodisches oder Kontextsignal, das angibt, dass die Client-Vorrichtung 302 eine Verbindung mit dem Internet oder einem anderen WAN herstellen kann, oder es kann durch eine Angabe signalisiert werden, dass eine vorherige Verbindung mit einer Host-Vorrichtung beendet wurde, z. B. aufgrund von Trennung. Das periodische oder Kontextsignal kann von der Client-Vorrichtung 302 stammen. Zum Beispiel kann die Client-Vorrichtung 302 konfiguriert sein, periodisch (z. B. jede Minute, jede Stunde usw.) eine WAN-Verbindung anzufordern, um zu prüfen, ob Daten heruntergeladen werden sollen, oder Daten hochzuladen, die durch die Client-Vorrichtung 302 (z. B. durch Sensoren) gesammelt oder (z. B. von dem Benutzer kommend) empfangen wurden. Zusätzlich kann das auslösende Ereignis eintreten, wenn der Benutzer Daten aus dem Internet anfordert oder über die Client-Vorrichtung 302 zu sichernde Daten bereitstellt. Wie festgehalten, kann das auslösende Ereignis eintreten, wenn die Client-Vorrichtung 302 feststellt, dass sie nicht länger mit einer zuvor verbundenen Proxy-Vorrichtung 304 verbunden ist.

B. Proxy-Vorrichtung

Proxy-Vorrichtungen, wie beispielsweise die Proxy-Vorrichtung 304 von 3, können konfiguriert sein, WAN-Zugang (z. B. das Internet) für eine Client-Vorrichtung 302 zu hosten. Zum Beispiel kann eine Client-Vorrichtung 302 eine Verbindungsankündigung bereitstellen, die solch einen WAN-Zugang von der Proxy-Vorrichtung 304 anfordert. Die Ankündigung von der Client-Vorrichtung 302 kann eine Angabe eines angeforderten Verbindungstyps (z. B. Uplink oder Downlink) einschließen. Zum Beispiel kann die Client-Vorrichtung 302 eine Ankündigung von Uplink-Daten auf Abruf senden (z. B. an die Proxy-Vorrichtung). Zudem kann zum Beispiel die Client-Vorrichtung 302 eine Ankündigung von Downlink-Daten gemäß einer Teleskop-Maßzahl senden (z. B. eine Anforderung, dass die Proxy-Vorrichtung eine Überprüfung auf Downlink-Daten vornimmt). Zusätzlich kann die Ankündigung auch Netzwerkverbindungseigenschaften, wie beispielsweise eine Stärkenanzeige eines empfangenen Signals (received signal strength indication (RSSI)) und/oder Informationen eines Signal-Rausch-Verhältnisses (signal-to-noise ratio (SNR)) einschließen, die wirksam die Stärke der potenziellen Kommunikation zwischen der Client-Vorrichtung 302 und der Proxy-Vorrichtung 304 angeben (oder unter Verwendung eines Stausteuerungsalgorithmus (congestion control algorithm (CCA) zum Erfassen). Mit anderen Worten kann es sich in diesem Kontext bei der RSSI und dem SNR um eine Angabe handeln, wie gut die Proxy-Vorrichtung 304 in der Lage sein wird, zu hosten. Wenn zum Beispiel die RSSI niedrig ist, wird die Fähigkeit der Proxy-Vorrichtung 304, die WAN-Verbindung für die Client-Vorrichtung 302 zu hosten, begrenzt sein, selbst wenn die WAN-Verbindung der Proxy-Vorrichtung 304 ausgezeichnet ist. In manchen Beispielen können die RSSI-Informationen durch Informationen einer empfangenen Referenzsignalleistung (Reference Signal Received Power (RSRP)) ersetzt werden.

C. Routing von Datenverkehr

In manchen Ausführungsformen kann eine Proxy-Vorrichtung 304 ermitteln, wie Datenverkehr zwischen dem Cloud-Dienst 303 und der Client-Vorrichtung 302 geroutet werden soll. Wenn insofern eine Proxy-Vorrichtung 304 eine Verbindungsankündigung 306 von einer Client-Vorrichtung 302 empfängt, kann die Proxy-Vorrichtung 304 solch eine Ermittlung für die bestimmte anfordernde Client-Vorrichtung 302 und/oder für diesen bestimmten Zeitpunkt vornehmen. Zum Beispiel kann eine Proxy-Vorrichtung 304 zu einem bestimmten Zeitpunkt eine Route für eine Datenübertragung 312 zwischen dem Cloud-Dienst 303 und der Proxy-Vorrichtung 304 auswählen, jedoch auf Grundlage eines oder mehrerer unterschiedlicher Faktoren zu einem späteren Zeitpunkt eine andere Route wählen. Insofern kann die Proxy-Vorrichtung 304 eine Route auf Grundlage einer Richtlinienpräferenz der Proxy-Vorrichtung 304 und/oder einer Netzwerkverbindungseigenschaft der Proxy-Vorrichtung 304 auswählen, wie festgehalten. Auf Grundlage der Präferenz und/oder der Verbindungseigenschaft kann die Proxy-Vorrichtung 304 auch ermitteln, ob der Client-Vorrichtung 302, welche die Verbindungsankündigung bereitgestellt hat, eine Proxy-Verbindung angeboten werden soll (z. B. als ein Host zu agieren).

In manchen Ausführungsformen kann eine Proxy-Vorrichtung 304 eine Route auf Grundlage einer Richtlinienpräferenz auswählen, um es zu vermeiden, einen Anwendungsprozessor auf der Proxy-Vorrichtung aufzuwecken. Solch eine Präferenz kann durch einen Benutzer aufgestellt werden, um eine Batterie-/Akkunutzung auf der Proxy-Vorrichtung 304 zu minimieren. Die Proxy-Vorrichtung 304 kann eine erste Schaltung für drahtlose Kommunikation, die fähig ist, mit dem Cloud-Dienst 303 zu kommunizieren, und eine zweite Schaltung für drahtlose Kommunikation einschließen, die fähig ist, mit sowohl der Client-Vorrichtung 302 als auch dem Cloud-Dienst 303 zu kommunizieren, wobei der Anwendungsprozessor kommunikationstechnisch mit den ersten Schaltungen für drahtlose Kommunikation gekoppelt ist. Die zweite Schaltung für drahtlose Kommunikation kann einen Proxy-Router zum Auswählen einer Route (z. B. einem Pfad, der eine Kommunikationsschaltung einschließt) zum Übertagen von Daten zwischen dem Cloud-Dienst 303 und der Client-Vorrichtung 302 einschließen.

Die Route kann durch Gewichten von Kommunikationsrichtlinienpräferenzen der Proxy-Vorrichtung 304, Netzwerkverbindungseigenschaften der Proxy-Vorrichtung 304 und/oder weiterer Faktoren ausgewählt werden, die der potenziellen Verbindung zwischen der Client-Vorrichtung 302 und dem Cloud-Dienst 303 zugeordnet sind. Zum Beispiel kann der Proxy-Router der Proxy-Vorrichtung 304 die erste oder die zweite Schaltung für drahtlose Kommunikation zum Verwenden für ein Austauschen von Daten zwischen dem Cloud-Dienst 303 und der Client-Vorrichtung 302 auswählen. Die Auswahl einer Schaltung für drahtlose Kommunikation kann auf einer oder mehreren Richtlinienpräferenzen der Proxy-Vorrichtung 304 und/oder einer oder mehreren Netzwerkverbindungseigenschaften der Proxy-Vorrichtung 304 mit dem Cloud-Dienst 303 beruhen. Bei dem Proxy-Angebot 308 kann es sich um eine Verbindungsanforderung handeln, welche die ausgewählte Route angibt (z. B. die ausgewählte Schaltung für drahtlose Kommunikation angibt).

Bei Empfang einer Ankündigung von der Client-Vorrichtung 302 kann die Proxy-Vorrichtung 304 eine Route für eine Proxy-Verbindung ermitteln. Wie festgehalten, kann die Ermittlung auf mehreren Faktoren beruhen, einschließlich, jedoch nicht beschränkt auf, Netzwerkverbindungseigenschaften, wie beispielsweise der RSSI, der Qualität oder Stärke der WAN-Verbindung der Proxy-Vorrichtung 304 sowie weiteren Faktoren, wie beispielsweise die Batterie-/Akku- und/oder Datennutzungsbudgets der Proxy-Vorrichtung 304 oder eines einem Benutzer der Proxy-Vorrichtung 304 zugeordneten Kontos. In manchen Ausführungsformen können gewisse Faktoren stärker gewichtet werden als andere, und gewisse Faktoren können als einzige Ermittlungsfaktoren dienen, was im Wesentlichen jede weitere Analyse beendet. In manchen Ausführungsformen muss jeder Faktor separat erfüllt werden, um ein Proxy-Angebot bereitzustellen; in anderen Ausführungsformen müssen jedoch ein oder mehrere Faktoren nicht erfüllt werden. Zum Beispiel kann die in einer Verbindungseigenschaft angegebene Mobilfunkverbindung (oder WAN-Verbindung) der Proxy-Vorrichtung 304 dahingehend als ein alleiniger Ermittlungsfaktor agieren, dass im Falle, dass diese Verbindung unter einem Schwellenwertniveau liegt, die Proxy-Vorrichtung 304 ohne Berücksichtigen weiterer Faktoren entscheiden kann, kein Proxy-Angebot bereitzustellen. Auf diese Weise kann ein alleiniger Ermittlungsfaktor alle anderen Berücksichtigungsfaktoren übertrumpfen oder ausstechen. In anderen Beispielen kann jedoch jeder Faktor gleich gewichtet werden und beim Vornehmen der Ermittlung, ob ein Proxy-Angebot bereitgestellt werden soll, mitbetrachtet werden. Schwellenwerte für die festgehaltenen Faktoren können, wie gewünscht, auf Branchenstandards beruhen, durch einen Administrator des Systems eingestellt werden und/oder durch einen Benutzer (z. B. den Benutzer der Client-Vorrichtung 302 oder den Benutzer der Proxy-Vorrichtung 304) konfiguriert werden.

Mindestens als Reaktion auf das Bereitstellen einer Verbindungsankündigung 306 kann eine Client-Vorrichtung 302 ein Proxy-Angebot 308 von einer Proxy-Vorrichtung 304 empfangen.

Eine Proxy-Vorrichtung 304 kann mit einem Standard-Proxy-Angebot 308 antworten, das keine Nutzdaten enthält. Die Client-Vorrichtung 302 kann dann in der Lage sein, zu ermitteln, ob sie das Proxy-Angebot 308 akzeptieren und über die Proxy-Vorrichtung 304 eine Verbindung mit dem Cloud-Dienst 303 herstellen soll. Proxy-Angebote 308 können nach einer bestimmten Menge an Zeit ablaufen, und diese Zeitmenge kann zusammen mit einer Übermittlungszeit in dem Proxy-Angebot 308 eingeschlossen sein. Die Proxy-Vorrichtung 304 kann eine Route für die Datenübertragung 312 zwischen der Client-Vorrichtung 302 und dem Cloud-Dienst 303 auswählen, wobei die Route auf Grundlage einer Netzwerkverbindungseigenschaft der Proxy-Vorrichtung 304 zur Übertragungszeit ausgewählt wird.

Dann kann über das LAN eine Datenübertragung 310 zwischen der Client-Vorrichtung 302 und der Proxy-Vorrichtung 304 stattfinden, sobald das Proxy-Angebot 308 durch die Client-Vorrichtung akzeptiert wird. Zum Beispiel können zum Cloud-Dienst 303 oder zu einem anderen WAN-Ort über die Proxy-Vorrichtung 304 hochzuladende Daten der Client-Vorrichtung 302 zuerst von der Client-Vorrichtung 302 zur Proxy-Vorrichtung 304 transferiert 310 werden. Die Proxy-Vorrichtung 304 kann dann diese Daten über die Mobilfunk-/WiFi-Verbindung zum WAN übertragen 312. Die Übertragung 312 kann unter Verwendung einer durch die Proxy-Vorrichtung 304 ausgewählten Route durchgeführt werden. Zum Beispiel kann die Übertragung 312 über eine WiFi-Verbindung erfolgen, wenn eine Netzwerkverbindungseigenschaft angibt, dass die WiFi-Verbindung derzeit verfügbar ist, und wenn eine Richtlinienpräferenz eine Präferenz für ein Verwenden einer WiFi-Verbindung, falls verfügbar, gegenüber einer Mobilfunkdatenverbindung angibt. Ferner können durch die Client-Vorrichtung 302 herunterzuladende Daten zuerst vom WAN zur Proxy-Vorrichtung 304 übertragen werden 312 und dann unter Verwendung der LAN-Verbindung zur Client-Vorrichtung übertragen werden 310.

III. Proxy-Routing über einen Prozessor

Eine Proxy-Vorrichtung kann einen Prozessor, wie beispielsweise einen Anwendungsprozessor, einschließen. Eine Verwendung des Prozessors für ein Leiten von Datenverkehr zu einer Client-Vorrichtung kann einen Energieverbrauch durch die Host-Vorrichtung erhöhen. Wenn es sich bei der Proxy-Vorrichtung um eine mobile Vorrichtung handelt, die sich nicht in einem Ladezustand befindet, kann solch ein Energieverbrauch zu einem Leeren der Batterie/des Akkus führen. Ausführungsformen streben danach, den Energieverbrauch auf einer Proxy-Vorrichtung zu minimieren, der einem Vermitteln von Datenverkehr für eine Client-Vorrichtung zuschreibbar ist. Dies kann durch Minimieren der Verwendung des Prozessors zum Routen von Datenverkehr erreicht werden. Solche Ausführungsformen ermöglichen es einem Benutzer einer Client-Vorrichtung, ein unnötiges Leeren einer Batterie/eines Akkus einer Proxy-Vorrichtung zu vermeiden. Dies kann von besonderem Interesse sein, wenn sich der Benutzer der Client-Vorrichtung von einem anderen, der Proxy-Vorrichtung zugeordneten Benutzer unterscheidet.

4 ist ein Beispielblockdiagramm, das eine Route einer Proxy-Verbindung zwischen einem Cloud-Dienst 403 und einer Client-Vorrichtung 402 über einen Anwendungsprozessor 452 einer Proxy-Vorrichtung 404 zeigt. In dem Beispiel von 4 schließt eine Route 400 den Anwendungsprozessor 452 ein, was den Anwendungsprozessor 452 daran hindern kann, in einen Niedrigenergiezustand einzutreten. Die Route 400 wird zum Beispiel verwendet, wenn die Proxy-Vorrichtung 404 als ein persönlicher Hotspot für die Client-Vorrichtung 402 dient.

Die Route 400 kann unter Verwendung der hierin beschriebenen Ausführungsformen verbessert werden. Zum Beispiel wählen Ausführungsformen Proxy-Routen aus, die den Anwendungsprozessor 452 umgehen, sodass der Energieverbrauch durch die Proxy-Vorrichtung 404 verringert wird. Mit dem Routing 400 wird eine Mobilfunkkommunikationsschaltung 408 für eine Backhaul-Verbindung zwischen dem Cloud-Dienst 403 und der Proxy-Vorrichtung 404 verwendet, und der gesamte zwischen dem Cloud-Dienst 403 und der Client-Vorrichtung 402 übertragene Datenverkehr wird durch den Anwendungsprozessor 452 geleitet. Zum Beispiel wird die Mobilfunkkommunikationsschaltung 408 zum Übertragen von Daten zwischen dem Cloud-Dienst 403 und der Proxy-Vorrichtung 404 verwendet, die BT/WiFi-Kommunikationsschaltung 455 wird verwendet, um Datenverkehr zwischen der Client-Vorrichtung 402 und der Proxy-Vorrichtung 404 zu übertragen, und alle zwischen der Client-Vorrichtung 402 und dem Cloud-Dienst 403 über die Proxy-Vorrichtung 404 übertragenen Daten werden durch den Anwendungsprozessor 452 geführt. Da der Anwendungsprozessor 452 aktiv bleiben wird, während er Teil der Route 400 ist, wird sich der Prozessor nicht in einem Niedrigenergiezustand befinden. Dies wird die Proxy-Vorrichtung 404 veranlassen, mehr Energie zu verwenden, als wenn eine alternative Rute verwendet wird, die den Prozessor 452 umgeht.

IV. Router in Kommunikationsschaltung

Vorrichtungen von verschiedenen Benutzern können als Host-Vorrichtungen agieren. Eine Host-Vorrichtung kann als eine Proxy-Vorrichtung dienen, um eine Verbindung zwischen Client-Vorrichtungen, die keine WLAN-Funktionalität besitzen, und einem Netzwerk (z. B. einem WAN) bereitzustellen. In verschiedenen Ausführungsformen kann eine Proxy-Vorrichtung eine Route zum Bereitstellen von Netzwerkzugang für eine Client-Vorrichtung auswählen, und eine Client-Vorrichtung kann Netzwerkzugang über die durch die Proxy-Vorrichtung ausgewählte Route erlangen. In gewissen Ausführungsformen verwendet die Proxy-Vorrichtung einen Proxy-Router innerhalb einer Kommunikationsschaltung, um Routen auszuwählen. Solche Ausführungsformen erlauben es der Host-Vorrichtung, ohne ihren Anwendungsprozessor zu verwenden oder durch Verringern der Nutzung des Anwendungsprozessors als eine Proxy-Vorrichtung zu dienen.

5 veranschaulicht eine Client-Vorrichtung und eine Host-Vorrichtung, die z. B. in Verbindung mit oder als Teil der Systeme 100 und 300 von 1 und 3 verwendet werden können, um das Routing von Proxy-Verbindungen zu implementieren. Obwohl durch diese Figuren zwei Ausführungsformen veranschaulicht werden, können verschiedene Implementierungen jede Anzahl von Client-Vorrichtungen, Host-Vorrichtungen und unterschiedliche Netzwerke einschließen, die durch die Vorrichtungen in einem bestimmten Aufbau unterstützt werden können.

Es sollte ersichtlich sein, dass das in 5 gezeigte Systeme eine bestimmte Ausführungsform veranschaulicht und dass andere ähnliche Ausführungsformen mehr oder weniger Komponenten als das Gezeigte besitzen können. Andere Ausführungsformen können zudem unterschiedliche Konfigurationen der veranschaulichten Komponenten einschließen, während sie innerhalb des Umfangs der Innovationen hierin bleiben.

5 veranschaulicht eine Ausführungsform mit einer Client-Vorrichtung 500, einer Proxy-Vorrichtung 550 und einem Netzwerk 590. Bei der Client-Vorrichtung 500 kann es sich um jede durch eine drahtlose Schnittstelle zugängliche Vorrichtung handeln, einschließlich eines Desktop-Computers, eines Laptop-Computers, eines Smartphones, eines Tablet-Computers, einer am Körper tragbaren Vorrichtung (z. B. einer netzwerkfähigen Uhr, eines netzwerkfähigen Hörelements oder eines netzwerkfähigen Halsbandes), einer Netzwerkeinheit (z. B. eines netzwerkfähigen Kühlschrankes oder einer netzwerkfähigen Waschmaschine), einer Medienwiedergabeeinheit, eines persönlichen digitalen Assistenten, eines Schlüsselanhängers, einer Zugangskarte, einer Multifunktionsvorrichtung, eines Spielsystems oder irgendeiner anderen solchen Client-Vorrichtung. Die Client-Vorrichtung 500 umfasst einen Speicher 504, einen Prozessor 502, eine Eingabevorrichtung 506, eine Anzeige 508 und eine drahtlose Schnittstelle 512. Die Client-Vorrichtung 500 kann zudem mit einem oder mehreren Software-Modulen zur Ausführung bestimmter Funktionen, Algorithmen und/oder Verfahren konfiguriert sein, einschließlich, jedoch nicht beschränkt auf, ein Ankündigungsmodul 511. Die Proxy-Vorrichtung 550 schließt einen Prozessor 552, eine drahtlose Schnittstelle 562, eine drahtlose Schnittstelle 564 und eine Basisbandvorrichtung 559 ein. Die Proxy-Vorrichtung 550 kann zudem eine Kommunikationsschaltung 553 mit einem Proxy-Router 560 und/oder ein Proxy-Angebots-Modul 561 einschließen. Der Proxy-Router 560 von 5 kann eine bestimmte von verschiedenen Routen für Datenverkehr auswählen. Zum Beispiel kann der Proxy-Router 560 eine oder mehrere von einer Kommunikationsrichtlinienpräferenz der Proxy-Vorrichtung 550 und einer Netzwerkverbindungseigenschaft der Proxy-Vorrichtung 550 verwenden, um eine Route zu ermitteln, die für über die Proxy-Vorrichtung 550 übertragene Daten verwendet werden soll. In manchen Ausführungsformen kann die Kommunikationsrichtlinienpräferenz dem Proxy-Router 560 durch den Prozessor 552 bei einer Initialisierung der Proxy-Vorrichtung 550 übermittelt werden.

In dem nicht-einschränkenden Beispiel von 5 kann die Kommunikationsschaltung 553 eine WiFi/BT-Schaltlogik (die z. B. eines oder beides von „BT Low Energy” (BT LE) und klassischem BT unterstützt) und eine Mobilfunkschaltlogik einschließen. In manchen Ausführungsformen kann es sich bei der Kommunikationsschaltung 553 um eine Kombinations-WiFi/BT-Kommunikationsschaltung einschließlich einer WiFi-Funkvorrichtung und einer BT-Funkvorrichtung handeln. Die Kommunikationsschaltung 553 kann zudem eine Mobilfunkschaltlogik und eine Mobilfunk-Funkvorrichtung einschließen.

Bei der Proxy-(Host)-Vorrichtung 550 kann es sich um jede Kommunikationsvorrichtung handeln, die fähig ist, einer Client-Vorrichtung 500 eine Proxy-Verbindung in einer Art bereitzustellen, die ähnlich dem vorstehend für das Routing von Proxy-Verbindungen zwischen verschiedenen Client-Vorrichtungen und einem Netzwerk, wie beispielsweise dem Netzwerk 590, Beschriebenen ist. Gewisse Ausführungsformen von Host-Vorrichtungen können mehrere Kommunikationsschnittstellen besitzen, sodass als Teil eines durch eine Host-Vorrichtung durchgeführten Datenteilens die Host-Vorrichtung mit einem Netzwerk unter Verwendung einer bestimmten Kommunikationsschnittstelle auf Grundlage eines ersten Kommunikationsprotokolls kommuniziert und die Host-Vorrichtung mit einer Client-Vorrichtung unter Verwendung einer sich von der ersten Kommunikationsschnittstelle unterscheidenden zweiten Kommunikationsschnittstelle und auf Grundlage eines sich vom ersten Kommunikationsprotokoll unterscheidenden zweiten Kommunikationsprotokolls kommuniziert. Beispiele solcher Host-Vorrichtungen können Smartphones, Desktop-Computer, Laptop-Computer und andere solcher netzwerkfähigen Rechenvorrichtungen einschließen. Zum Beispiel kann die Proxy-Vorrichtung 550 unter Verwendung einer bestimmten Kommunikationsschnittstelle, der drahtlosen Schnittstelle 564, auf Grundlage eines durch die Kommunikationsschaltung 553 unterstützen ersten Kommunikationsprotokolls mit dem Netzwerk 590 kommunizieren. Zudem kann zum Beispiel die Proxy-Vorrichtung 550 mit der Client-Vorrichtung 500 unter Verwendung einer sich von der ersten Kommunikationsschnittstelle unterscheidenden zweiten Kommunikationsschnittstelle, der drahtlosen Kommunikationsschnittstelle 562, und auf Grundlage eines sich vom ersten Kommunikationsprotokoll unterscheidenden zweiten Kommunikationsprotokoll kommunizieren, wobei das zweite Kommunikationsprotokoll durch die Kommunikationsschaltung 553 unterstützt wird.

Die Client-Vorrichtung 500 kann über eine Verbindung 538 mit der Proxy-Vorrichtung 550 kommunizieren. Gleichermaßen kann die Host-Vorrichtung 550 über eine Verbindung 588 mit dem Netzwerk 590 kommunizieren. In weiteren Ausführungsformen kann die Client-Vorrichtung 500 zudem eine Verbindung mit einem oder mehreren Netzwerken, einschließlich des Netzwerks 590, erzeugen. Insbesondere die Verbindung 538 kann in bestimmten Ausführungsformen als eine drahtlose Peer-zu-Peer- bzw. P2P-Verbindung direkt zwischen der drahtlosen Schnittstelle 512 und der drahtlosen Schnittstelle 562 implementiert sein. In anderen Ausführungsformen kann die Verbindung 538 mehrere zusätzliche Vorrichtungen und Unterverbindungen einschließen, einschließlich mehrerer Zugangspunkte, Netzwerk-Routing-Verbindungen und Kommunikationsserver.

Die Prozessoren 502 und 552 können verschiedene Software-Komponenten ausführen, um verschiedene Funktionen für die Vorrichtungen 500 und 550 durchzuführen, wie beispielsweise, jedoch nicht beschränkt auf, die Module 511 und 561. Zum Beispiel kann der Prozessor 502 Software-Komponenten ausführen, die im Speicher 504 gespeichert sind, um verschiedene Funktionen für die Client-Vorrichtung 500 durchzuführen. In einigen Ausführungsformen können die Software-Komponenten auch ein Betriebssystem einschließen. In gewissen Ausführungsformen kann es sich bei dem Prozessor 552 um einen Anwendungsprozessor handeln. In manchen Beispielen kann das Ankündigungsmodul 511 konfiguriert sein, zu ermitteln, wann eine Verbindungsankündigung bereitgestellt werden soll sowie was in die Ankündigung eingeschlossen werden soll.

Wie festgehalten, kann die Ankündigung eine Angabe des Typs einer durch Client-Vorrichtung 500 angeforderten Verbindung sowie andere Informationen einschließen. Wie in 5 gezeigt, kann die Kommunikationsschaltung 553 der Proxy-Vorrichtung 550 einen Proxy-Router 560 einschließen, der konfiguriert ist, eine Route zur Verwendung durch die Proxy-Vorrichtung 550 auszuwählen, um mit dem Netzwerk 590 Daten auszutauschen. Die Auswahl einer Route durch die Kommunikationsschaltung 553 kann auf Grundlage von mindestens einer Kommunikationsrichtlinienpräferenz der Proxy-Vorrichtung 550 und einer Netzwerkverbindungseigenschaft der Proxy-Vorrichtung 550 ermittelt werden. Die Route kann ausgewählt werden, um ein Aufwecken des Prozessors 552 zu vermeiden, um den Energieverbrauch durch die Proxy-Vorrichtung 550 zu verringern. Das heißt, der Proxy-Router 560 kann eine Route so auswählen, dass der Prozessor 552 in einem Niedrigenergiezustand bleiben kann. Gemäß Ausführungsformen kann eine Kommunikationsrichtlinienpräferenz der Proxy-Vorrichtung 550 eine Kommunikationsprotokollpräferenz angeben, wie zum Beispiel eine Präferenz, unter Verwendung eines WiFi-, BT- oder Mobilfunk-Kommunikationsprotokolls zu kommunizieren. In manchen Ausführungsformen kann eine Netzwerkverbindungseigenschaft der Host-Vorrichtung das Vorhandensein einer Netzwerkverbindung angeben, die ein bevorzugtes Kommunikationsprotokoll unterstützt. Ferner kann die Proxy-Vorrichtung 550 ein Proxy-Angebots-Modul 561 einschließen. Das Proxy-Angebots-Modul 561 kann konfiguriert sein, zu ermitteln, ob einer Client-Vorrichtung 500 (z. B. auf Grundlage der vorstehend beschriebenen Faktoren) ein Proxy-Angebot bereitgestellt werden soll.

Die Proxy-Vorrichtung 550 kann eine durch die Client-Vorrichtung 500 (z. B. über die Verbindung 538) bereitgestellte Verbindungsankündigung empfangen. Die Proxy-Vorrichtung 550 kann dann unter Verwendung ihres Proxy-Routers 560 eine Ermittlung vornehmen. Die Route kann durch Gewichten von Kommunikationsrichtlinienpräferenzen der Proxy-Vorrichtung 550, Netzwerkverbindungseigenschaften der Proxy-Vorrichtung 550 und/oder weiteren Faktoren ausgewählt werden, die der potenziellen Verbindung zwischen der Client-Vorrichtung 500 und dem Netzwerk 590 zugeordnet sind. Zum Beispiel kann der Proxy-Router der 560 eine Schaltung für drahtlose Kommunikation zum Verwenden für ein Austauschen von Daten zwischen dem Netzwerk 590 und der Client-Vorrichtung 500 auswählen. Die Auswahl einer Schaltung für drahtlose Kommunikation kann auf einer oder mehreren Richtlinienpräferenzen der Proxy-Vorrichtung 550 und/oder einer oder mehreren Netzwerkverbindungseigenschaften der Proxy-Vorrichtung 550 mit dem Netzwerk 590 beruhen. Die an die Client-Vorrichtung 500 gesendete Verbindungsanforderung kann die ausgewählte Route (z. B. einschließlich der ausgewählten Schaltung für drahtlose Kommunikation) angeben.

Bei einer Netzwerkverbindungseigenschaft kann es sich um jede Eigenschaft oder Kombination von Eigenschaften handeln, die für eine Verfügbarkeit und/oder Qualität einer Netzwerkverbindung, die eine Proxy-Vorrichtung 550 besitzt, gewünscht werden. Zum Beispiel kann eine Netzwerkverbindungseigenschaft das Vorhandensein von Internetkonnektivität und die Qualität einer Verbindung angeben, die einer Client-Vorrichtung 500 angeboten werden kann. Eine Netzwerkverbindungseigenschaft kann die Fähigkeit der Proxy-Vorrichtung 550 in Hinblick auf Faktoren messen, die der Proxy-Vorrichtung 550 zugeordnet sind (z. B. externe Netzwerkstaus, Anzahl anderer mit der Proxy-Vorrichtung 550 verbundener Vorrichtungen, Datenbudget der Proxy-Vorrichtung 550, Batterie-/Akkupegel der Proxy-Vorrichtung 550 usw.), und/oder Faktoren, wie beispielsweise einer LAN-Signalstärke für eine drahtlose LAN-Verbindung der Proxy-Vorrichtung 550 und der Client-Vorrichtung 500. Eine Netzwerkverbindungseigenschaft kann auch andere Eigenschaften wiedergeben, und es kann sich um einen Prozentsatz (z. B. 10%, 50% usw.) handeln, oder es kann sich um einen Wert von einem anderen Wert handeln (z. B. ein Verhältnis, wie beispielsweise 50/00 oder 1/5). Spezifischer kann es sich bei einer Netzwerkverbindungseigenschaft um einen Wert handeln, der berechnet wird, indem Werte kombiniert werden, die mehreren Eigenschaften oder Faktoren zugeordnet sind, einschließlich, jedoch nicht beschränkt auf, eine Stärkenanzeige eines empfangenen Signals der Verbindungsankündigung, WAN-Netzwerkstau und/oder Verbindungsqualität (z. B. ob es sich bei der Mobilfunkverbindung um 2G, 3G, LTE oder dergleichen handelt), Datennutzungsbudgets der Proxy-Vorrichtung 550 und/oder Batterie-/Akkubudgets der Proxy-Vorrichtung 550. In manchen Beispielen kann jede Netzwerkverbindungseigenschaft gewichtet werden, sodass die relative Wichtigkeit für jede Eigenschaft berücksichtigt werden kann. Wenn zum Beispiel das Vorhandensein einer relativ starken WiFi-Verbindung zwischen der Proxy-Vorrichtung 550 und einem WAN den wichtigsten Faktor beim Ermitteln einer Datenroute darstellt, kann die WiFi-Netzwerkverbindungseigenschaft am stärksten gewichtet werden.

In manchen Ausführungsformen können eine oder mehrere Netzwerkverbindungseigenschaften durch die Proxy-Vorrichtung 550 ermittelt werden, nachdem die Proxy-Vorrichtung 550 die Verbindungsankündigung von der Client-Vorrichtung 500 empfängt. Zum Beispiel kann eine WiFi-Netzwerkverbindungseigenschaft für einen spezifischen Zeitrahmen berechnet werden, der dem Empfang der Verbindungsankündigung zugeordnet ist. Auf diese Weise kann es sich bei der WiFi-Netzwerkverbindungseigenschaft um ein geeignetes Maß einer Proxy-Verbindungseignung für diesen spezifischen Zeitrahmen handeln. Wenn zu viel Zeit verstreicht, nachdem die Verbindungsankündigung empfangen wurde, ist die WiFi-Netzwerkverbindungseigenschaft unter Umständen nicht länger gültig. Dies trifft insbesondere zu, wenn sich der Standort der Proxy-Vorrichtung 550 mit der Zeit ändert und sich die Stärke und Verfügbarkeit einer WiFi-Netzwerkverbindung entsprechend ändern können.

Wie festgehalten, können auch andere Netzwerkverbindungseigenschaften, Kommunikationsrichtlinienpräferenzen oder Werte verwendet werden, um eine Netzwerkverbindungseigenschaft zu ermitteln. Zum Beispiel kann die Proxy-Vorrichtung 550 konfiguriert sein, die RSSI der Verbindungsankündigung zu identifizieren. Solch ein Wert kann die Stärke der eingehenden und potenziell zukünftigen Übermittlung zwischen der Proxy-Vorrichtung 550 und der Client-Vorrichtung 500 durch das LAN angeben. Zusätzlich können die Qualität, Stärke und/oder Staus des WAN einen Faktor beim Ermitteln einer Netzwerkverbindungseigenschaft darstellen. Wenn zum Beispiel die WAN-Verbindung der Proxy-Vorrichtung 550 schwach ist, wäre durch Leiten einer Proxy-Verbindung über die Proxy-Vorrichtung 550 zu einer Client-Verbindung 500 wenig gewonnen, selbst wenn die LAN-Verbindung zwischen dieser Client-Vorrichtung 500 und der Proxy-Vorrichtung 550 sehr stark wäre. Weitere Netzwerkverbindungseigenschaften können Datennutzungsbudgets der Proxy-Vorrichtung 550 einschließen. Netzwerkverbindungseigenschaften können in Verbindung mit einer oder mehreren Kommunikationsrichtlinienpräferenzen verwendet werden, um eine Datenroute zu ermitteln. Zum Beispiel kann eine Kommunikationsrichtlinienpräferenz angeben, dass eine Host-Vorrichtung nicht verfügbar ist, um als eine Proxy-Vorrichtung zu agieren, wenn ein Batterie-/Akkupegel oder eine entsprechende Ladung unter einem gewissen Schwellenwert liegt. Spezifischer kann der Proxy-Router 560 anstreben, ein Leiten von Daten über den Prozessor 552 zu vermeiden, wenn die Batterie-/Akkuladung der Proxy-Vorrichtung 550 niedrig ist, weil die Proxy-Vorrichtung 550 mehr Energie verbrauchen wird, wenn sich der Prozessor 552 nicht in einem Niedrigenergiezustand befindet. Wenn gleichermaßen ein Dienstanbieter oder Mobilfunkträger, welcher der Proxy-Vorrichtung 550 WAN-Daten bereitstellt, die Menge der Daten begrenzt, welche die Proxy-Vorrichtung 550 senden/empfangen kann, und/oder wenn der Benutzer nur für eine gewisse Datenmenge außerhalb des Netzwerks des Anbieters bezahlt (z. B. wenn die Proxy-Vorrichtung 550 Roaming durchführt), können Datennutzungsbudgets beim Ermitteln einer durch den Proxy-Router 560 ausgewählten Datenroute berücksichtigt werden. Wenn zum Beispiel wenig Datenzuteilung zur Verwendung durch die Proxy-Vorrichtung 550 verfügbar ist (z. B. aufgrund von Begrenzungen, Budgets, einem Roaming-Status oder dergleichen), stellt die Proxy-Vorrichtung 550 unter Umständen auf Grundlage einer Kommunikationsrichtlinienpräferenz, die solche Begrenzungen, Budgets oder solch einen Roaming-Status berücksichtigt, keine Proxy-Route bereit.

V. Routing-Auswahl

Verschiedene Verfahren können durch eine Proxy-Vorrichtung durchgeführt werden, um einer Client-Vorrichtung eine WAN-Verbindung bereitzustellen. Verfahren können durch die Proxy-Vorrichtung durchgeführt werden, um eine durch die Client-Vorrichtung zu verwendende Route auszuwählen, um über die Proxy-Vorrichtung Daten zu erlangen und/oder dem WAN bereitzustellen. Die Proxy-Vorrichtung kann eine Kommunikationsschaltung besitzen, die einen Proxy-Router einschließt, der konfiguriert ist, eine Route zum Übertragen von Daten zwischen dem WAN und der Client-Vorrichtung über die Proxy-Vorrichtung auszuwählen.

A. Proxy-Routen-Auswahl

Eine Proxy-Vorrichtung, wie beispielsweise die Proxy-Vorrichtung 550 von 5, kann Netzwerkverbindungseigenschaften und Kommunikationsrichtlinienpräferenzen auf verschiedene Weisen benutzen. Zum Beispiel kann die Proxy-Vorrichtung 550 ermitteln, ob eine WiFi-Verbindung zum Kommunizieren mit dem Netzwerk 590 verfügbar ist (z. B. ob eine WiFi-Verknüpfung mit dem Netzwerk 590 verfügbar ist). Zusätzlich kann die Proxy-Vorrichtung 550 auf Grundlage eines Feststellens, dass eine WiFi-Verbindung verfügbar ist, eine Kommunikationsrichtlinienpräferenz verwenden, um zu ermitteln, ob eine WiFi-Verbindung gegenüber einer Mobilfunkverbindung bevorzugt wird. Als Reaktion auf ein Feststellen, dass eine WiFi-Verbindung bevorzugt wird, kann die Proxy-Vorrichtung 550 eine Netzwerkverbindung 588 als eine WiFi-Verbindung herstellen und Datenverkehr durch die Kommunikationsschaltung 553 leiten.

6 ist ein Flussbild eines Beispielverfahrens eines Ermittelns einer Route für eine Proxy-Verbindung mit einer Client-Vorrichtung. Das Verfahren 600 von 6 kann z. B. durch eine Proxy-Vorrichtung (z. B. 550 von 5) implementiert werden, indem darauf gespeicherte computerlesbare Anweisungen oder dergleichen ausgeführt werden. Die Proxy-Vorrichtung kann mit einer ersten Schaltung für drahtlose Kommunikation zum Kommunizieren mit einem ersten Netzwerk (z. B. einem LAN mit der Client-Vorrichtung 500 von 5), einer zweiten Schaltung für drahtlose Kommunikation zum Kommunizieren mit einem zweiten Netzwerk (z. B. WAN, Internet usw.), einem Speicher und einem mit dem Speicher und/oder den drahtlosen Schnittstellen gekoppelten Prozessor konfiguriert sein. Die zweite Schaltung für drahtlose Kommunikation kann einen Proxy-Router einschließen.

In 602 kann die Host-Vorrichtung (z. B. Proxy-Vorrichtung) eine Ankündigungsnachricht von der Client-Vorrichtung empfangen, die eine Anforderung eines Austauschs von Daten mit dem Netzwerk einschließt. Zum Beispiel kann die Ankündigungsnachricht eine Anforderung einschließen, Daten hochzuladen oder aus dem Internet herunterzuladen oder dergleichen. Die Ankündigungsnachricht kann zudem Nutzdaten (z. B. die hochzuladenden Daten) und/oder andere Informationen über auszutauschenden Inhalt einschließen.

In 604 kann die Host-Vorrichtung mindestens eines von einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung und einer Netzwerkverbindungseigenschaft der Host-Vorrichtung ermitteln. Eine Netzwerkverbindungseigenschaft kann als Reaktion auf den Empfang der Ankündigungsnachricht ermittelt werden. In manchen Ausführungsformen kann eine Netzwerkverbindungseigenschaft auf einer vorübergehenden und/oder einer derzeitigen Netzwerkkonnektivität beruhen, wie sie aus den Verbindungseigenschaften der Host-Vorrichtung mit dem Netzwerk (z. B. Internet und/oder Mobilfunknetz-Konnektivitätsniveaus) ermittelt wurden. Eine Netzwerkverbindungseigenschaft kann für einen spezifischen Zeitrahmen berechnet werden, der dem Empfang der Ankündigungsnachricht zugeordnet ist. Auf diese Weise kann es sich bei einer Netzwerkverbindungseigenschaft um ein geeignetes Maß einer Netzwerkkonnektivität für diesen spezifischen Zeitrahmen handeln.

In 606 kann der Proxy-Router die erste Schaltung für drahtlose Kommunikation oder die zweite Schaltung für drahtlose Kommunikation zur Verwendung durch die Host-Vorrichtung auswählen, um Daten mit einem Netzwerk auszutauschen. Zum Beispiel kann die Auswahl auf einer Kommunikationsrichtlinienpräferenz der Host-Vorrichtung oder einer Netzwerkverbindungseigenschaft der Host-Vorrichtung beruhen.

In 608 kann die Proxy-Vorrichtung der Client-Vorrichtung über die zweite Schaltung für drahtlose Kommunikation eine Verbindungsanforderung bereitstellen. Die Verbindungsanforderung kann gemäß vielfältigen Protokollen erfolgen, und es kann sich um dasselbe Protokoll wie das der Ankündigungsnachricht handeln. Die Verbindungsanforderung kann Informationen über die Host-Vorrichtung einschließen, z. B. wie Routing durchgeführt werden soll. Die Client-Vorrichtung kann solche Informationen verwenden, um zu ermitteln, ob mit der Verbindung fortgefahren werden soll.

In 610 kann die Host-Vorrichtung unter Verwendung der ausgewählten Schaltung für drahtlose Kommunikation Daten zwischen der Client-Vorrichtung und dem Netzwerk übertragen. Die Übertragung kann ein Übertragen der Daten zwischen der ausgewählten Kommunikationsschaltung und einer oder mehreren Schnittstellen für drahtlose Kommunikation einschließen. Zum Beispiel kann im Kontext von 5 die Datenübertragung ein Verwenden der drahtlosen Schnittstellen 562 und 564 einschließen, um die Daten zwischen dem Netzwerk 590 und der Client-Vorrichtung 500 zu vermitteln.

Gemäß manchen Ausführungsformen kann die Übertragung von Daten durch den Proxy-Router verwaltet werden, um es dem Host-Prozessor zu erlauben, in einem Niedrigenergiezustand zu bleiben. In Ausführungsformen umfasst die zweite Schaltung für drahtlose Kommunikation mindestens eines von einer BT-Funkvorrichtung und einer WiFi-Funkvorrichtung, und die erste Schaltung für drahtlose Kommunikation umfasst eine Mobilfunk-Funkvorrichtung. Gemäß gewissen Ausführungsformen sind die Bluetooth-Funkvorrichtung und die WiFi-Funkvorrichtung konfiguriert, Verbindungsmaßzahlen zu berichten, umfassend mindestens eines von: der Kommunikation mit der Host-Vorrichtung zugeordneten Maßzahlen einer Stärkenanzeige eines empfangenen Signals, der Kommunikation mit der Host-Vorrichtung zugeordnete Signal-Rausch-Verhältnis-Maßzahlen und der Kommunikation mit der Host-Vorrichtung zugeordnete Stausteuerungsalgorithmus-Maßzahlen. In einem bestimmten Beispiel beruht eine Verbindungseigenschaft der Host-Vorrichtung auf mindestens einer der Verbindungsmaßzahlen. Gemäß manchen Ausführungsformen ist die Client-Vorrichtung einem ersten Benutzer zugeordnet, und die Host-Vorrichtung ist einem sich vom ersten Benutzer unterscheidenden zweiten Benutzer zugeordnet.

In gewissen Ausführungsformen umfassen die eine oder mehreren Netzwerkverbindungseigenschaften der Host-Vorrichtung mindestens eines von: dem Empfang der Ankündigungsnachricht zugeordneten Maßzahlen einer Stärkenanzeige eines empfangenen Signals, dem Empfang der Ankündigungsnachricht zugeordnete Signal-Rausch-Verhältnis-Maßzahlen und dem Empfang der Ankündigungsnachricht zugeordnete Stausteuerungsalgorithmus-Maßzahlen.

B. Proxy-Routing zu einer anderen Kommunikationsschaltung über eine Kommunikationsschnittstelle

In manchen Ausführungsformen kann eine Mobilfunk-Kommunikationsschaltung einer Proxy-Vorrichtung verwendet werden, um mit einem WAN zu kommunizieren, und eine separate BT/WAN-Kommunikationsschaltung wird verwendet, um mit einer Client-Vorrichtung zu kommunizieren. Wenn zum Beispiel keine WiFi-Konnektivität mit dem WAN von der Proxy-Vorrichtung verfügbar ist, kann die Proxy-Vorrichtung ihre Mobilfunk-Kommunikationsschaltung verwenden, um Daten mit dem WAN auszutauschen, während fortgefahren wird, eine BT/WiFi-Kommunikationsschaltung zu verwenden, um mit der Client-Vorrichtung zu kommunizieren.

7 ist ein Beispielblockdiagramm, das eine Route 700 einer Proxy-Verbindung zwischen einem Cloud-Dienst 703 und einer Client-Vorrichtung 702 über eine Kommunikationsschnittstelle 710 einer Proxy-Vorrichtung 704 zeigt. In dem Beispiel von 7 wird Datenverkehr über die Kommunikationsschnittstelle 710 zwischen einer Mobilfunk-Kommunikationsschaltung 708 und einer BT/WiFi-Kommunikationsschaltung 755 geleitet. Insbesondere schließt die Route 700 ein Verwenden der Mobilfunk-Kommunikationsschaltung 708 für eine Backhaul-Verbindung zwischen dem Cloud-Dienst 703 und der Proxy-Vorrichtung 704 sowie der Kommunikationsschnittstelle 710 zwischen der Mobilfunk-Kommunikationsschaltung 708 und der BT/WiFi-Kommunikationsschaltung 755 ein. Bei der Kommunikationsschnittstelle 710 kann es sich um jede Schnittstelle handeln, die es ermöglicht, dass Kommunikation und Nachrichten zwischen der Mobilfunk-Kommunikationsschaltung 708 und der BT/WiFi-Kommunikationsschaltung 755 geleitet werden.

In manchen Ausführungsformen handelt es sich bei der Kommunikationsschnittstelle 710 um eine „Wireless Coexistence Interface” (WCI), wie zum Beispiel die WCI-2-Bluetooth-Schnittstelle. In Ausführungsformen, welche die WCI-2-Schnittstelle verwenden, können durch die WCI-2-Schnittstelle unterstützte Nachrichtentypen verwendet werden, um Daten zwischen der Mobilfunk-Kommunikationsschaltung 708 und der BT/WiFi-Kommunikationsschaltung 755 zu vermitteln. Zum Beispiel können Nachrichten vom Typ 2 verwendet werden, um Daten zwischen der Mobilfunk-Kommunikationsschaltung 708 und der BT/WiFi-Kommunikationsschnittstelle 755 hin und her zu senden, wenn es sich bei der Kommunikationsschnittstelle 710 um eine WCI-2-Schnittstelle handelt. Gemäß Ausführungsformen kann jede Schnittstelle für einen Austausch von Nachrichten zwischen der Mobilfunk-Kommunikationsschaltung 708 und der BT/WiFi-Kommunikationsschaltung 755 als Anteil der Route 700 verwendet werden.

Wenn mit der Route 700 Daten von dem Cloud-Dienst 703 (z. B. Downlink) auf die Client-Vorrichtung 702 heruntergeladen werden sollen, werden die Daten aus dem Cloud-Dienst 703 unter Verwendung der Mobilfunk-Kommunikationsschaltung 708 abgerufen, die dann die abgerufenen Daten unter Verwendung einer über die Kommunikationsschnittstelle 710 gesendeten Nachricht an die BT/WiFi-Kommunikationsschaltung 755 vermittelt. Die BT/WiFi-Kommunikationsschaltung 755 sendet dann die vermittelten Daten an die Client-Vorrichtung 702. Wenn im Gegensatz dazu Daten von der Client-Vorrichtung 702 in den Cloud-Dienst 703 (z. B. Uplink) hochgeladen werden sollen, werden die Daten von der Client-Vorrichtung 702 an die BT/WiFi-Kommunikationsschaltung 755 gesendet, die dann die Daten über die Kommunikationsschnittstelle 710 an die Mobilfunk-Kommunikationsschaltung 708 vermittelt. Die Mobilfunk-Kommunikationsschaltung 708 übermittelt dann die Daten an den Cloud-Dienst 703.

In der Route 700 wird die Kommunikationsschnittstelle 710 verwendet, um Daten über eine Verbindung zu übertragen, die zwischen der Mobilfunk-Kommunikationsschaltung 708 und der BT/WiFi-Kommunikationsschaltung 755 besteht. Da in diesem Beispiel Datenverkehr von der Client-Vorrichtung 702 über die BT/WiFi-Kommunikationsschaltung 755 übertragen wird, wird dieser Datenverkehr durch die BT/WiFi-Kommunikationsschaltung 755 hinaus zum Cloud-Dienst 703 geleitet, ohne den Anwendungsprozessor 752 einzubeziehen. Diese Ausführungsform kann es dem Anwendungsprozessor 752 erlauben, in einem Niedrigenergiezustand zu bleiben oder zu diesem überzugehen, während Daten über die Route 700 übertragen werden. Auf diese Weise kann die Route 700 den Energieverbrauch durch den Anwendungsprozessor 752 verringern.

C. Proxy-Routing innerhalb derselben Kommunikationsschaltung

In manchen Ausführungsformen kann eine Kombination-BT/WiFi-Kommunikationsschaltung verwendet werden, um mit einem WAN zu kommunizieren. Wenn zum Beispiel eine Netzwerkverbindungseigenschaft angibt, dass eine WiFi-Verbindung mit dem WAN verfügbar ist, und eine Kommunikationsrichtlinienpräferenz angibt, dass WiFi-Kommunikation gegenüber Mobilfunkkommunikation bevorzugt wird, kann ein Proxy-Router eine Route auswählen, die eine BT/WiFi-Kommunikationsschaltung verwendet, um Daten zwischen dem WAN und einer Client-Vorrichtung zu übertragen.

8 ist ein Beispielblockdiagramm, das eine Route 800 einer Proxy-Verbindung zwischen einem Cloud-Dienst 803 und einer Client-Vorrichtung 802 über eine Proxy-Vorrichtung 804 zeigt. In dem Beispiel von 8 bleibt Datenverkehr innerhalb einer BT/WiFi-Kommunikationsschaltung 855. Insbesondere verwendet die Route 800 die BT/WiFi-Kommunikationsschaltung 855 für die Backhaul-Verbindung zwischen dem Cloud-Dienst 803 und der Proxy-Vorrichtung 804 sowie die Verbindung zwischen der Proxy-Vorrichtung 804 und der Client-Vorrichtung 802. Bei der Route 800 wird die BT/WiFi-Kommunikationsschaltung 855 für den gesamten Datenverkehr verwendet. Da in diesem Beispiel Datenverkehr von der Client-Vorrichtung 802 über die BT/WiFi-Kommunikationsschaltung 855 übertragen wird, wird dieser Datenverkehr durch die BT/WiFi-Kommunikationsschaltung 855 hinausgeleitet, ohne die Mobilfunk-Kommunikationsschaltung 808 oder den Anwendungsprozessor 852 einzubeziehen. Auf diese Weise kann die Route 800 den Energieverbrauch durch den Anwendungsprozessor 852 und die Mobilfunk-Kommunikationsschaltung 808 verringern.

In manchen Ausführungsformen kann die Route 800 verwendet werden, wenn eine „Bluetooth Low-Energy”(BTLE)-Verbindung zwischen der Proxy-Vorrichtung 804 und der Client-Vorrichtung 802 hergestellt wird und WiFi für eine Backhaul-Verbindung zwischen dem Cloud-Dienst 803 und der Proxy-Vorrichtung 804 verwendet wird. Gemäß dieser Ausführungsform kann die gesamte Datenübertragung innerhalb der BT/WiFi-Kommunikationsschaltung 855 durchgeführt werden, ohne den Anwendungsprozessor 852 oder die Mobilfunk-Kommunikationsschaltung 808 aufwecken zu müssen. Wenn im Gegensatz dazu mit der Route 800 Daten von der Client-Vorrichtung 802 in den Cloud-Dienst 803 (z. B. Uplink) hochgeladen werden sollen, werden die Daten von der Client-Vorrichtung 802 an die BT/WiFi-Kommunikationsschaltung 855 gesendet, die dann die Daten an den Cloud-Dienst 803 vermittelt. Wenn im Gegensatz dazu Daten aus dem Cloud-Dienst 803 auf die Client-Vorrichtung 802 heruntergeladen werden sollen (z. B. Downlink), werden die Daten aus dem Cloud-Dienst 803 in die BT/WiFi-Kommunikationsschaltung 855 abgerufen, welche die abgerufenen Daten dann an die Client-Vorrichtung 802 überträgt.

D. Proxy-Routing auf Grundlage von Richtlinienpräferenzen und Verbindungseigenschaften

Eine Proxy-Vorrichtung kann in der Lage sein, eine oder mehrere Netzwerkverbindungseigenschaften zu ermitteln. Zum Beispiel kann die Proxy-Vorrichtung feststellen, dass eine WiFi-Verbindung mit einem WAN verfügbar ist, dass die Proxy-Vorrichtung über ein Mobilfunkdatennetz Internetkonnektivität besitzt, sowie weitere Netzwerkverbindungseigenschaften feststellen. Die Netzwerkverbindungseigenschaften können auch Angaben der relativen Stärken von erfassten Netzwerkverbindungen einschließen. In manchen Ausführungsformen können durch einen Anwendungsprozessor eine oder mehrere Kommunikationsrichtlinienpräferenzen an einen Proxy-Router übermittelt werden. Zum Beispiel kann diese Übermittlung auftreten, wenn die Proxy-Vorrichtung initialisiert wird. Die Kommunikationsrichtlinienpräferenzen können in Verbindung mit Netzwerkverbindungseigenschaften verwendet werden, um eine Datenroute auszuwählen. Wenn zum Beispiel eine Netzwerkverbindungseigenschaft angibt, dass eine WiFi-Verbindung mit dem WAN verfügbar ist und eine Kommunikationsrichtlinienpräferenz angibt, dass WiFi-Kommunikation gegenüber Mobilfunkkommunikation bevorzugt wird, kann der Proxy-Router der Proxy-Vorrichtung eine Route auswählen, die eine BT/WiFi-Kommunikationsschaltung verwendet, um Daten zwischen dem WAN und einer Client-Vorrichtung zu übertragen.

9 ist ein Beispielblockdiagramm, das ein Routing von Proxy-Verbindungen zwischen einem Netzwerk (z. B. einem WAN 903) und einer Client-Vorrichtung 902 über eine Proxy-Vorrichtung 904 zeigt. Die Routen können durch einen Proxy-Router 960 auf Grundlage von einer oder mehreren Kommunikationsrichtlinienpräferenzen und Netzwerkverbindungseigenschaften ausgewählt werden. In dem Beispiel von 9 befindet sich die Funktionalität des Proxy-Routers 960 in der BT/WiFi-Kommunikationsschaltung 955. In anderen Ausführungsformen kann sich die Proxy-Router-Funktionalität in einer Mobilfunk-Kommunikationsschaltung 908 befinden oder in einer oder mehreren anderen Komponenten implementiert sein. Der Anwendungsprozessor 952 kann den Proxy-Router 960 über eine oder mehrere Kommunikationsrichtlinienpräferenzen informieren, wie zum Beispiel eine Präferenz, eine WiFi-verglichen mit einer Mobilfunkdatenverbindung zu verwenden. In manchen Ausführungsformen können diese Informationen bei einer Initialisierung der Proxy-Vorrichtung 904 übermittelt werden. Die Mobilfunk-Kommunikationsschaltung 908 kann den Proxy-Router 960 über eine Kommunikationsschnittstelle 910 (z. B. eine WCI-2-Schnittstelle) informieren, ob eine Mobilfunkkonnektivität zum WAN 903 verfügbar ist. Eine WiFi-Steuereinheit (WiFi controller) in der BT/WiFi-Kommunikationsschaltung 955 kann den Proxy-Router 960 informieren, ob eine WiFi-Konnektivität mit dem WAN 903 verfügbar ist. Die Verfügbarkeit von Mobilfunk- und/oder WiFi-Konnektivität (oder deren Fehlen) können Netzwerkverbindungseigenschaften der Proxy-Vorrichtung 904 darstellen, die durch den Proxy-Router 960 verwendet werden, um eine Route für Datenverkehr zwischen der Client-Vorrichtung 902 und dem WAN 903 auszuwählen. Zum Beispiel kann eine Kommunikation mit der Client-Vorrichtung 902 über BT/BT LE oder Peer-zu-Peer-WiFi auf Grundlage einer durch den Proxy-Router 960 ausgewählten Route ausgeführt werden, wobei die Routenauswahl auf Netzwerkverbindungseigenschaften beruht. Insbesondere kann der Proxy-Router 960 Mobilfunk oder WiFi für eine Konnektivität mit dem WAN 903 auf Grundlage einer derzeitigen Mobilfunk- oder WiFi-Verfügbarkeit auswählen. Der Proxy-Router 960 kann zudem eine Route auf Grundlage einer Präferenz von Mobilfunk verglichen mit WiFi (z. B. bevorzugt WiFi oder bevorzugt Mobilfunk) auswählen, die durch den Anwendungsprozessor 952 bereitgestellt wird.

VI. Zusätzliche Ausführungsformen

In manchen Ausführungsformen kann eine Route ausgewählt werden, indem einer oder mehrere von verschiedenen Faktoren berücksichtigt werden, einschließlich der Wichtigkeit der zu übermittelnden Daten. Zum Beispiel können die Daten durch den Benutzer als wichtig angegeben werden (z. B. eine Nachricht an einen anderen Benutzer auf einer Prioritätsliste, eine als dringend gekennzeichnete Nachricht, Daten, die zeitkritisch sind, Daten die eine lange Zeit darauf gewartet haben, übermittelt zu werden usw.), oder sie können aufgrund der Menge an Zeit, seitdem die Client-Vorrichtung versucht hat, sie zu übermitteln, als wichtig bestimmt werden. Die Wichtigkeit oder Priorität der Daten kann in einer von einer Client-Vorrichtung gesendeten Ankündigungsnachricht angegeben werden.

10 ist ein Flussbild eines Beispielverfahrens eines Verwendens einer Client-Vorrichtung, um eine Verbindung mit einem Netzwerk anzufordern. Insbesondere veranschaulicht 10 ein Verfahren 1000 eines Verwendens einer Client-Vorrichtung, um eine Angabe eines angeforderten Verbindungstyps innerhalb einer Ankündigungsnachricht bereitzustellen, die eine Verbindung mit einem Netzwerk anfordert. Das Verfahren 1000 von 10 kann z. B. durch die Client-Vorrichtung 500 von 5 implementiert werden, indem darauf gespeicherte computerlesbare Anweisungen oder dergleichen ausgeführt werden. Eine Client-Vorrichtung kann mit einer drahtlosen Schnittstelle (z. B. der drahtlosen Schnittstelle 512 von 5), einem Speicher und einem mit dem Speicher und/oder der drahtlosen Schnittstelle 512 verbundenen Prozessor (z. B. dem Prozessor 552) konfiguriert sein.

In 1002 kann eine Client-Vorrichtung ein Auslösesignal empfangen, das angibt, dass gerade ein Versuch unternommen wird, Daten mit einem Netzwerk auszutauschen. Mit anderen Worten kann die Client-Vorrichtung den Bedarf ermitteln, Daten mit einem Netzwerk (z. B. einem WAN, wie beispielsweise dem Internet, oder dergleichen) auszutauschen. Als verschiedene Beispiele kann das Auslösesignal auf einer periodischen Überprüfung auf Inhalt vom WAN, einer periodischen Überprüfung auf das Hochladen von Daten durch das WAN, einer Auswahl (z. B. durch den Benutzer) von hochzuladenden oder herunterzuladenden Daten, dem Eintreten eines Ereignisses (z. B. Datenerfassung) beim Client oder Ähnlichem beruhen. Zum Beispiel kann der Benutzer gerade versuchen, eine Nachricht von der Client-Vorrichtung zu senden, oder er kann gerade versuchen, Informationen vom Internet herunterzuladen.

In 1004 kann die Client-Vorrichtung zumindest als Reaktion auf das Auslösesignal einen durch die Client-Vorrichtung benötigten Verbindungstyp identifizieren. Zum Beispiel kann, wie festgehalten, die Client-Vorrichtung angeben, ob sie durch ein WAN auf einen Server hochzuladende Daten besitzt oder ob die Client-Vorrichtung eine Überprüfung auf durch ein WAN von einem Server herunterzuladende Daten vornimmt. Der Verbindungstyp kann durch die Client-Vorrichtung in Vorwegnahme eines Wünschens, Daten hochzuladen, als eine Uplink-Verbindung angegeben werden. Im Gegensatz dazu kann der Verbindungstyp durch die Client-Vorrichtung in Vorwegnahme eines Wünschens, eine Überprüfung auf herunterzuladende Daten vorzunehmen, als eine Downlink-Verbindung angegeben werden.

In 1006 kann die Client-Vorrichtung konfiguriert sein, eine Ankündigungsnachricht zum Verbinden mit einem Host, wie beispielsweise der Proxy-Vorrichtung 304 von 3, zu erzeugen, sobald der Verbindungstyp identifiziert ist. Die Ankündigungsnachricht kann eine Angabe des durch die Client-Vorrichtung gewünschten angeforderten Verbindungstyps einschließen. Die Ankündigungsnachricht kann auch eine Anforderung einschließen, dass die Daten mit dem Netzwerk (z. B. dem WAN) ausgetauscht werden.

In 1008 kann die Client-Vorrichtung einer Host-Vorrichtung die Ankündigungsnachricht (z. B. über die drahtlose Schnittstelle) zum Anfordern einer drahtlosen Verbindung mit der Host-Vorrichtung übermitteln. Die Ankündigungsnachricht kann in das WAN hochzuladende Nutzdaten einschließen. In verschiedenen Beispielen kann die Ankündigungsnachricht eine Anforderung einschließen, dass Daten auf die Client-Vorrichtung heruntergeladen werden, und kann in einigen Fällen auch einen Ort, an dem sich die Daten befinden können (z. B. einen „Ressource Locator”, eine Adresse oder dergleichen), und/oder eine Kennung der Daten einschließen.

In einigen Ausführungsformen kann die Client-Vorrichtung einem ersten Benutzer zugeordnet sein, und die Host-Vorrichtung kann einem zweiten Benutzer zugeordnet sein. In einigen Fällen kann es sich bei dem ersten Benutzer und dem zweiten Benutzer um unterschiedliche Benutzer handeln. Ferner kann in einigen Beispielen die Client-Vorrichtung ermitteln, ob sich der erste Benutzer vom zweiten Benutzer unterscheidet (z. B. als Reaktion auf das Auslösesignal), und kann die Anforderung der drahtlosen Verbindung mit der Host-Vorrichtung aufheben, wenn sich der Benutzer nicht vom zweiten Benutzer unterscheidet. Mit anderen Worten muss die Client-Vorrichtung unter Umständen einen oder mehrere der Schritte oder alle der den Schritten 1002 oder 1004 zugeordneten Operationen nicht durchführen, wenn es sich bei der potenziellen Host-Vorrichtung um die eigene Vorrichtung des Benutzers handelt (d. h. desselben Benutzers, welcher der Client-Vorrichtung zugeordnet ist), da die zwei Vorrichtungen konfiguriert sein können, automatisch miteinander zu kommunizieren (z. B. zum Bereitstellen von Internetzugang für die Client-Vorrichtung).

11 ist ein Blockdiagramm, das Beispielausführungsformen einer Client-Vorrichtung 1100 veranschaulicht, die fähig ist, mindestens manche der mindestens unter Bezugnahme auf die Client-Vorrichtungen von 1 bis 10 beschriebenen Funktionen durchzuführen. Die Client-Vorrichtung 1100 kann konfiguriert sein, vorstehend in Hinblick auf das Verfahren 1000 und/oder das Verfahren von 10 beschriebene Operationen und/oder Ausführungsformen durchzuführen. In einigen Ausführungsformen kann die Client-Vorrichtung 1100 mit einem Anwendungsverwalter und/oder Anwendungsprozessor 1102 konfiguriert sein. Der Prozessor 1102 kann für ein Ermitteln verantwortlich sein, ob ausreichende Konnektivität für eine Sitzung besteht (z. B. ob die Client-Vorrichtung 1100 wahrscheinlich in der Lage sein wird, eine Verbindung mit einer Proxy-Vorrichtung herzustellen). Der Prozessor 1102 kann auch die beste Proxy-Vorrichtung für eine Datenübertragung auswählen, wenn es mehrere durch die Client-Vorrichtung empfangene Proxy-Angebote oder Verbindungsanforderungen gibt. Der Prozessor 1102 kann auch ermitteln, welche Funkzugangstechnologie (radio access technology (RAT)) für den Dateitransport verwendet werden soll, wenn eine Verbindung mit einer Proxy-Vorrichtung hergestellt wird (z. B. ob BT oder WiFi für den Datentransport verwendet werden soll).

Die Client-Vorrichtung 1100 kann zudem mit sowohl einer BT-Funkvorrichtung 1104 (die z. B. eines oder beide von klassischem BT und BTLE unterstützt) als auch einer WiFi-Funkvorrichtung 1106 sowie einem Bewegungsprozessor 1108 ausgerüstet sein. Die BT-Funkvorrichtung 1104 oder die WiFi-Funkvorrichtung 1106 kann verwendet werden, um mit der Proxy-Vorrichtung zu kommunizieren. Die BT-Funkvorrichtung 1104 kann Proxy-Antworten zugeordnete RSSI-Maßzahlen, durch die Proxy-Vorrichtung berichtete Netzwerkverbindungseigenschaften und/oder eine durch die Proxy-Vorrichtung berichtete Kommunikationsrichtlinienpräferenz verfolgen. Diese Werte und Maßzahlen können dem Prozessor 1102 berichtet werden. Die BT-Funkvorrichtung 1104 kann auch Ankündigungen für Downlink-Daten gemäß einer Teleskop-Maßzahl senden (z. B. zur Proxy-Vorrichtung), Ankündigungen für Uplink-Daten auf Abruf senden (z. B. zur Proxy-Vorrichtung) und/oder Verbindungen für die Übertragung von Daten zwischen der Client-Vorrichtung 1100 und der Proxy-Vorrichtung einrichten. Die WiFi-Funkvorrichtung 1106 kann zudem RSSI-Maßzahlen verfolgen und berichten (z. B. dem Prozessor 1102) und kann auch SNR- und/oder CCA-Maßzahlen verfolgen und berichten. Die WiFi-Funkvorrichtung 1106 kann zudem konfiguriert sein, eine Verbindung zwischen der Client-Vorrichtung 1100 und der Proxy-Vorrichtung einzurichten und/oder Daten zwischen den beiden zu übertragen. Der Bewegungsprozessor 1108 kann konfiguriert sein, fahrzeugbezogene, Lauf-, Geh-, stationäre usw. Maßzahlen sowie Kurs/Richtungs-Maßzahlen, die der Client-Vorrichtung 1100 zugeordnet sind, zu identifizieren, erfassen oder anderweitig zu ermitteln.

12 ist ein Blockdiagramm, das Beispielausführungsformen einer Proxy-Vorrichtung 1200 veranschaulicht, die fähig ist, mindestens manche der mindestens unter Bezugnahme auf die Proxy-Vorrichtungen von 1 bis 9 beschriebenen Funktionen durchzuführen. In einigen Ausführungsformen kann die Proxy-Vorrichtung 1200 mit einem Proxy-Verwalter 1202 konfiguriert sein. Der Proxy-Verwalter 1202 kann für ein Ermitteln einer derzeitigen Netzwerkverbindungseigenschaft verantwortlich sein (z. B. wenn neue Ereignisse ankommen) und/oder eine Proxy-Batterie-/eine Proxy-Akku- und/oder eine Datennutzung gegenüber dem jeweiligen Budget verfolgen (z. B. auf Grundlage eines Kontos bei einem Dienstanbieter oder dergleichen). Der Proxy-Verwalter 1202 kann auch für ein Auswählen einer geeigneten RAT verantwortlich sein. In manchen Ausführungsformen kann es sich bei einer Antwort auf eine Ankündigung von einer Client-Vorrichtung (z. B. der Client-Vorrichtung 1100 von 11 oder einer beliebigen der in Hinblick auf 1 bis 10 beschriebenen Client-Vorrichtungen) um ein Angebot handeln, als ein Proxy zu dienen (z. B. ein Proxy-Angebot). Wie festgehalten, können eine Netzwerkverbindungseigenschaft und/oder eine Kommunikationsrichtlinienpräferenz durch den Proxy-Verwalter 1202 verwendet werden, um eine Route zu ermitteln, welche die Proxy-Vorrichtung verwenden wird, um Daten mit dem Netzwerk auszutauschen. In einigen Ausführungsformen kann eine anfängliche Kommunikation zwischen der Client-Vorrichtung und der Proxy-Vorrichtung 1200 über BTLE oder dergleichen erfolgen; der Proxy-Verwalter 1202 kann jedoch feststellen, die RATs zu wechseln und eine andere Technologie (oder Funk) für zukünftige Kommunikationen zu benutzen. Mit anderen Worten kann eine BT-Funkvorrichtung 1204 eingehende Ankündigungen von Client-Vorrichtungen empfangen, die Proxy-Vorrichtung 1200 kann jedoch unter Verwendung einer WiFi-Funkvorrichtung 1206 mit einem Proxy-Angebot antworten. Die Proxy-Verbindung kann dann die WiFi-Funkvorrichtung 1206 benutzen, obwohl die anfängliche Kommunikation über BTLE erfolgte. Das entgegengesetzte Szenario oder alternative Szenarien können auf Wunsch ebenfalls implementiert werden.

Wie vorstehend festgehalten, kann die Proxy-Vorrichtung 1200 sowohl mit einer BT-Funkvorrichtung 1204 als auch einer WiFi-Funkvorrichtung 1206 sowie einem Bewegungsprozessor 1208 und einer Mobilfunkeinheit 1210 ausgerüstet sein. In einigen Ausführungsformen können die Funkvorrichtungen dem Proxy-Verwalter 1202 Änderungen von Maßzahlen als Ereignisse berichten. Die BT-Funkvorrichtung 1204 kann RSSI-Maßzahlen, die Ankündigungen von einer Client-Vorrichtung zugeordnet sind, eine Änderungsrate von RSSI-Ankündigungen und/oder die Geschwindigkeit und den Kurs der Client-Vorrichtung verfolgen. Diese Maßzahlen können dem Proxy-Verwalter 1202 berichtet werden. Die BT-Funkvorrichtung 1204 kann auch auf Grundlage einer Netzwerkverbindungseigenschaft der Proxy-Vorrichtung 1200 eine Route auswählen und auf Ankündigungen antworten, und der Client-Vorrichtung (z. B. in Proxy-Angeboten) eine Route angeben. Die WiFi-Funkvorrichtung 1206 kann zudem RSSI-Maßzahlen verfolgen und berichten (z. B. dem Proxy-Verwalter 1202) und kann auch SNR- und/oder CCA-Maßzahlen verfolgen und berichten. Der Bewegungsprozessor 1208 kann konfiguriert sein, fahrzeugbezogene, Lauf-, Geh-, stationäre usw. Maßzahlen sowie Kurs-/Richtungsmaßzahlen der Proxy-Vorrichtung 1200 zu identifizieren, erfassen oder anderweitig zu ermitteln. Ferner kann eine Mobilfunkeinheit 1210 LTE-, RSRP-, WCDMA-Maßzahlen usw. sowie aktive Mobilfunk-RAT-Maßzahlen verfolgen (z. B. zum Ermitteln, welche Mobilfunktechnologie verwendet werden soll, wenn mehrere Technologien verfügbar sind).

Gemäß einer bestimmten Ausführungsform können die Funkvorrichtungen 1204, 1210, 1206 der Proxy-Vorrichtung 1200 konfiguriert sein, Verbindungsmaßzahlen zu berichten, wie beispielsweise, jedoch nicht beschränkt auf, RSSI-Maßzahlen, Signal-Rausch-Verhältnis-Maßzahlen und/oder Stausteuerungsalgorithmus-Maßzahlen. In manchen Beispielen kann eine Netzwerkverbindungseigenschaft der Proxy-Vorrichtung 1200 auf einer oder mehreren der Verbindungsmaßzahlen beruhen. Die Proxy-Vorrichtung 1200 kann fähig sein, eine oder mehrere ihrer Netzwerkverbindungseigenschaften auf Grundlage der Verbindungsmaßzahlen zu aktualisieren. Wenn zum Beispiel eine Stärkenanzeige eines empfangenen Signals für eine bestimmte Kommunikationsverbindung abnimmt, kann eine entsprechende Netzwerkverbindungseigenschaft aktualisiert werden. Die Signal-Rausch-Verhältnis-Maßzahlen können eine Menge an Signalstärke, die der Kommunikation mit der Proxy-Vorrichtung 1200 zugeordnet ist, in Hinblick auf ein während der Kommunikation mit der Host-Vorrichtung erfasstes Rauschen definieren. Die Proxy-Vorrichtung 1200 kann zudem fähig sein, eine Netzwerkverbindungseigenschaft zu aktualisieren, wenn die Signal-Rausch-Verhältnis-Maßzahlen abnehmen. Ferner können die Stausteuerungsalgorithmus- bzw. CCA-Maßzahlen eine der Kommunikation zwischen einer Client-Vorrichtung und der Proxy-Vorrichtung 1200 zugeordnete berechnete Menge an Stau definieren, und die Proxy-Vorrichtung 1200 kann zudem fähig sein, eine Netzwerkverbindungseigenschaft zu aktualisieren, wenn sich die Stausteuerungsalgorithmus-Maßzahlen erhöhen.

VII. Vorrichtungen

13 veranschaulicht zusätzliche Beispiel-Client-Vorrichtungen und Proxy-(Host)-Vorrichtungen, die z. B. in Verbindung mit oder als Teil der Systeme 130, 300 oder 500 von 1, 3 bzw. 5 verwendet werden können, um die Verwaltung von Proxy-Verbindungen zu implementieren. Obwohl durch diese Figuren zwei Ausführungsformen veranschaulicht werden, können verschiedene Implementierungen jede Anzahl von Client-Vorrichtungen, Host-Vorrichtungen und unterschiedliche Netzwerke einschließen, die durch die Vorrichtungen in einem bestimmten Aufbau unterstützt werden können.

Es sollte ersichtlich sein, dass die in 13 gezeigten Systeme mehrere Beispielausführungsformen veranschaulichen, dass jedoch andere ähnliche Ausführungsformen mehr oder weniger Komponenten als gezeigt besitzen können. Andere Ausführungsformen können zudem unterschiedliche Konfigurationen der veranschaulichten Komponenten einschließen, während sie innerhalb des Umfangs der Innovationen hierin bleiben.

13 veranschaulicht eine Ausführungsform mit einer Client-Vorrichtung 1300, einer Proxy-(Host)-Vorrichtung 1350 und einem Netzwerk 1390. Bei der Client-Vorrichtung 1300 kann es sich um jede durch eine drahtlose Schnittstelle zugängliche Vorrichtung handeln, einschließlich eines Desktop-Computers, eines Laptop-Computers, eines Smartphones, eines Tablet-Computers, einer am Körper tragbaren Vorrichtung (z. B. einer netzwerkfähigen Uhr, eines netzwerkfähigen Hörelements oder eines netzwerkfähigen Halsbandes), einer Netzwerkeinheit (z. B. eines netzwerkfähigen Kühlschrankes oder einer netzwerkfähigen Waschmaschine), einer Medienwiedergabeeinheit, eines persönlichen digitalen Assistenten, eines Schlüsselanhängers, einer Zugangskarte, einer Multifunktionsvorrichtung, eines Spielsystems oder irgendeiner anderen solchen Client-Vorrichtung.

In einigen Ausführungsformen versuchen die zwei Vorrichtungen die entsprechenden Daten so schnell und effizient wie möglich hochzuladen und/oder herunterzuladen, sobald eine Client-Vorrichtung 1300 oder eine Proxy-Vorrichtung 1350 entscheidet, eine Proxy-Verbindung herzustellen. Dies liegt daran, dass es eine ziemlich große Möglichkeit gibt, dass die Verbindung manchmal aufhört (endet oder unterbrochen wird), bevor die Übermittlung vollständig ist, da sich die zwei Vorrichtungen bewegen können und sich unter Umständen nicht gemeinsam bewegen. Zum Beispiel kann es für einen Benutzer mit einer Client-Vorrichtung 1300 möglich sein, an einem Benutzer mit einer Proxy-Vorrichtung 1350 vorbeizugehen und die Client-Vorrichtung 1300 durch die Proxy-Vorrichtung 1350 auf das Internet zugreifen zu lassen. Wenn die Benutzer langsam gehen (z. B. in einer überfüllten Gegend, während sie auf den öffentlichen Nahverkehr warten, in einem Park oder während einer oder beide an einer Ampel oder einem Fußgängerüberweg warten), können die zwei Vorrichtungen eine Verbindung herstellen und Daten übermitteln, während sich die zwei Benutzer in einer wirksamen Kommunikationsreichweite voneinander befinden. In einigen Ausführungsformen können durch die zwei Vorrichtungen Nicht-Standard-Kommunikationsprotokolle benutzt werden, um eine schnellere Verbindung und Datenübertragung zu ermöglichen.

Wenn in einigen Ausführungsformen die Client-Vorrichtung 1300 und/oder die Proxy-Vorrichtung 1350 ihre jeweiligen Geschwindigkeiten berechnen und/oder bereitstellen, können sie im Gegensatz zu einer reinen Geschwindigkeit (z. B. Fuß pro Sekunde oder dergleichen) eine Geschwindigkeitsklassifizierung oder -kategorie (z. B. langsam, mittel, schnell usw.) bereitstellen. Insofern kann ein Vergleichen einer Geschwindigkeit und eines Kurses relative Vergleiche einschließen, sodass die zwei Vorrichtungen innerhalb einer Kategorie übereinstimmen und nicht notwendigerweise exakt übereinstimmen müssen.

Zusätzlich kann in einigen Ausführungsformen eine Proxy-Vorrichtung 1350 mehrere Verbindungsankündigungen (auch als „Ankündigungsnachrichten” oder „Verbindungsanforderungen” bezeichnet) von mehreren Client-Vorrichtungen empfangen. Die Proxy-Vorrichtung 1350 kann einfach auf die erste Ankündigung antworten, die sie empfängt, sich dessen bewusst oder nicht, dass sie weitere Ankündigungen empfangen wird, oder einfach als eine Effizienz (z. B. könnte sie konfiguriert sein, immer auf die nächste empfangene Ankündigung zu antworten). In einigen Fällen kann die Proxy-Vorrichtung 1350 zudem Änderungen zwischen Ankündigungen verfolgen. Zum Beispiel kann auf Grundlage einer Vorrichtungs-ID oder dergleichen die Proxy-Vorrichtung 1350 in der Lage sein, zwischen Ankündigungen von unterschiedlichen Client-Vorrichtungen zu unterscheiden, Gesamtänderungen innerhalb des Satzes von Ankündigungen (z. B. von allen Client-Vorrichtungen) zu identifizieren und/oder Änderungen innerhalb der Ankündigungen von jeder bestimmten Client-Vorrichtung 1300 zu identifizieren. Insofern kann die Proxy-Vorrichtung 1350 die RSSI- oder anderen Informationen in der Ankündigung verfolgen, die angeben, dass sich die Eignung zu einem Verbinden mit einer bestimmten Client-Vorrichtung 1300 unter Umständen gerade verbessert. In einigen Fällen kann die Proxy-Vorrichtung 1350 ein Proxy-Angebot bereitstellen, selbst wenn die Faktoren nicht ideal sind (oder unter den Schwellenwerten zum Bereitstellen eines Proxy-Angebots liegen), da sie folgern kann, dass sich die Bedingungen verbessern und letztendlich gut genug sein werden, eine solide Proxy-Verbindung anzubieten. In einigen Beispielen kann sich die Proxy-Vorrichtung 1350 wie ein Router verhalten.

Bei der Client-Vorrichtung 1300 kann es sich um jede durch eine drahtlose Schnittstelle zugängliche Vorrichtung handeln, einschließlich eines Desktop-Computers, eines Laptop-Computers, eines Smartphones, eines Tablet-Computers, einer am Körper tragbaren Vorrichtung (z. B. einer netzwerkfähigen Uhr, eines netzwerkfähigen Hörelements oder eines netzwerkfähigen Halsbandes), einer Netzwerkeinheit (z. B. eines netzwerkfähigen Kühlschrankes oder einer netzwerkfähigen Waschmaschine), einer Medienwiedergabeeinheit, eines persönlichen digitalen Assistenten, eines Schlüsselanhängers, einer Zugangskarte, einer Multifunktionsvorrichtung, eines Spielsystems oder irgendeiner anderen solchen Client-Vorrichtung. Die Client-Vorrichtung 1300 umfasst einen Speicher 1304, einen Prozessor 1302, eine Eingabevorrichtung 1306, eine Anzeige 1308 und eine drahtlose Schnittstelle 1312. Die Host-Vorrichtung 1350 schließt einen Prozessor 1352, einen Speicher 1354, eine Eingabevorrichtung 1356, eine Anzeige 1358, eine drahtlose Schnittstelle 1362, eine drahtlose Schnittstelle 1364 und eine Basisbandvorrichtung 1359 ein.

Bei der Host-Vorrichtung 1350 kann es sich um jede Kommunikationsvorrichtung handeln, die fähig ist, einer Client-Vorrichtung 1300 ein Datenteilen in einer Art bereitzustellen, die ähnlich dem vorstehend für ein Datenteilen von verschiedenen Host-Vorrichtungen an verschiedene Client-Vorrichtungen Beschriebenen ist. Bestimmte Ausführungsformen von Host-Vorrichtungen können mehrere Kommunikationsschnittstellen besitzen, sodass als Teil eines durch eine Host-Vorrichtung durchgeführten Datenteilens (Data Sharing) die Host-Vorrichtung mit einem Netzwerk unter Verwendung einer bestimmten Kommunikationsschnittstelle auf Grundlage eines ersten Kommunikationsprotokolls kommuniziert und eine die Host-Vorrichtung mit einer Client-Vorrichtung unter Verwendung einer sich von der ersten Kommunikationsschnittstelle unterscheidenden zweiten Kommunikationsschnittstelle und auf Grundlage eines sich vom ersten Kommunikationsprotokoll unterscheidenden zweiten Kommunikationsprotokolls kommuniziert. Beispiele solcher Host-Vorrichtungen können Smartphones, Desktop-Computer, Laptop-Computer und andere solcher netzwerkfähigen Rechenvorrichtungen einschließen.

Die Client-Vorrichtung 1300 kann über eine Verbindung 1338 (auch als das zweite Netzwerk bezeichnet, wobei es sich bei dem ersten Netzwerk um eine Netzwerkverbindung 1388 handelt) mit der Host-Vorrichtung 1350 kommunizieren. Gleichermaßen kann die Host-Vorrichtung 1350 über eine Verbindung 1388 mit dem Netzwerk 1390 kommunizieren. In weiteren Ausführungsformen kann die Client-Vorrichtung 1300 (z. B. über eine separate drahtlose Schnittstelle und/oder über die Proxy-Verbindung 1338) auch eine Verbindung mit einem oder mehreren anderen Netzwerken einschließlich eines Netzwerks 1390 erzeugen. In einigen Beispielen kann die Verbindung 1338 (oder mindestens die zwei drahtlosen Schnittstellen 1312, 1362) zum Bereitstellen oder anderweitigen Übermitteln der Ankündigungsnachricht 1392 (z. B. von der Client-Vorrichtung 1300 zur Proxy-Vorrichtung 1350) und/oder des Proxy-Angebots 1394 (z. B. von der Proxy-Vorrichtung 1350 zur Client-Vorrichtung 1300) benutzt werden.

Unterschiedliche Ausführungsformen können die Verbindung 1338, die Verbindung 1388 oder Aspekte dieser Verbindungen unter Verwendung von einem oder mehreren Kommunikationsprotokollen oder einer oder mehreren Kommunikationstechnologien implementieren, einschließlich „Time Division multiple Access” (TDMA), „Code Division multiple Access” (CDMA), „Global System for mobile Communications” (GSM), „Enhanced Data GSM Environment” (EDGE), „Wideband Code Division multiple Access” (W-CDMA), „Long Term Evolution” (LTE), LTE-Advanced, WiFi (wie beispielsweise IEEE 802.11a, IEEE 802.11b, IEEE 802.11g und/oder IEEE 802.11n), Bluetooth, Wi-MAX, „Voice over Internet Protocol” (VoIP), Nahfeldkommunikationsprotokoll (Near Field Communication Protocol (NFC)), ein Protokoll für E-Mail, Sofortnachrichtenvermittlung und/oder einen „Short Message Service” (SMS) oder jedes andere geeignete Kommunikationsprotokoll, einschließlich Kommunikationsprotokollen, die zum Einreichungsdatum dieses Dokuments noch nicht entwickelt sind. Eine Host- oder Client-Vorrichtung kann eine Drahtlos-Schaltlogik als Teil von drahtlosen Schnittstellen, wie beispielsweise der drahtlosen Schnittstelle 1312, der drahtlosen Schnittstelle 1362 und der drahtlosen Schnittstelle 1364 einschließen, die abhängig von der für die Kommunikation erforderlichen Reichweite über mehrere unterschiedliche Typen drahtloser Netzwerke kommunizieren können. Zum Beispiel kann ein Drahtlos-Transceiver kurzer Reichweite (z. B. Bluetooth), ein Drahtlos-Transceiver mittlerer Reichweite (z. B. WiFi) und/oder ein Drahtlos-Transceiver großer Reichweite (z. B. GSM/GPRS, UMTS, CDMA2000 1x/EV-DO und LTE/LTE-Advanced) abhängig vom Typ der Kommunikation oder der Reichweite der Kommunikation verwendet werden.

Insbesondere die Verbindung 1338 kann in bestimmten Ausführungsformen als eine drahtlose Peer-zu-Peer- bzw. P2P-Verbindung direkt zwischen der drahtlosen Schnittstelle 1312 und der drahtlosen Schnittstelle 1362 implementiert sein. In anderen Ausführungsformen kann die Verbindung 1338 mehrere zusätzliche Vorrichtungen und Unterverbindungen einschließen, einschließlich mehrerer Zugangspunkte, Netzwerk-Routing-Verbindungen und Kommunikationsserver.

Die Drahtlos-Schaltlogik kann in Verbindung mit drahtlosen Schnittstellen, wie beispielsweise den drahtlosen Schnittstellen 1312, 1362 und 1364, verwendet werden, um Informationen über drahtlose Verbindungen, wie beispielsweise die Verbindung, zu senden und zu empfangen. Jede hierin beschriebene Vorrichtung kann zusätzlich eine herkömmliche Schaltlogik, wie beispielsweise ein Antennensystem, einen HF-Transceiver, einen oder mehrere Verstärker, einen Tuner, einen oder mehrere Oszillatoren, einen digitalen Signalprozessor, einen CODEC-Chipsatz, einen Speicher usw., einschließen, um verschiedene beschriebene drahtlose Verbindungen zu ermöglichen, wie hierin beschrieben.

Die Drahtlos-Schaltlogik kann über Peripherieeinheitenschnittstellen mit Prozessoren, wie beispielsweise dem Prozessor 1302 und dem Prozessor 1352, gekoppelt sein. Durch die Drahtlos-Schaltlogik empfangene Sprach- und Dateninformationen können über die Peripherieeinheitenschnittstellen an einen oder mehrere Prozessoren gesendet werden. Ein oder mehrere Prozessoren, wie beispielsweise die Prozessoren 1302 und 1352, können konfigurierbar sein, verschiedene Datenformate für ein oder mehrere im Speicher einer Vorrichtung gespeicherte Anwendungsprogramme zu verarbeiten. Wie in 13 gezeigt, kann es sich bei dem Prozessor 1352 um einen Anwendungsprozessor für die Proxy-Vorrichtung 1350 handeln. Die Proxy-Vorrichtung kann zudem Kommunikationsschaltungen 1353 und 1355 einschließen. In manchen Ausführungsformen handelt es sich bei der Kommunikationsschaltung 1353 um eine BT/WiFi-Schaltung mit einem Proxy-Router, und bei der Kommunikationsschaltung 1355 handelt es sich um eine Mobilfunkschaltung. In dem nicht-einschränkenden Beispiel von 13 kann es sich bei der Kommunikationsschaltung 1353 um eine Kombinations-WiFi/BT-Schaltung handeln, und bei der Kommunikationsschaltung 1355 kann es sich um eine Mobilfunkschaltung handeln. Gemäß diesem Beispiel kann die Kommunikationsschaltung 1353 eines oder mehrere von einer WiFi-Funkvorrichtung und einer BT-Funkvorrichtung einschließen. Gleichermaßen kann die Kommunikationsschaltung 1355 eine Mobilfunk-Funkvorrichtung einschließen.

Die Prozessoren 1302 und 1352 können verschiedene Software-Komponenten ausführen, die in entsprechenden Speichern 1304 und 1354 gespeichert sind, um verschiedene Funktionen für die Vorrichtungen 1300 und 1350 durchzuführen. In einigen Ausführungsformen schließen die Software-Komponenten ein Betriebssystem, ein Kommunikationsmodul (oder einen Anweisungssatz) und andere Anwendungen (oder Anweisungssätze) ein. In unterschiedlichen Ausführungsformen kann es sich bei einem Prozessor um eine einzelne integrierte Schaltung, einen Satz mehrerer integrierter Schaltungen oder jede Logik-Hardware handeln, die verwendet werden kann, um Verarbeitungsfunktionalität zu implementieren.

Bei einem durch einen Prozessor ausgeführten Betriebssystem kann es sich um jedes geeignete Betriebssystem handeln. Das Betriebssystem kann verschiedene Prozeduren, Anweisungssätze, Software-Komponenten und/oder Treiber zum Steuern und Verwalten allgemeiner Systemaufgaben (z. B. Speicherverwaltung, Datenspeichervorrichtungs-Steuerung, Energieverwaltung usw.) einschließen und ermöglicht eine Kommunikation zwischen verschiedenen Hardware- und Software-Komponenten.

Bei einem Speicher, wie hierin beschrieben, einschließlich des Speichers 1304 und des Speichers 1354, kann es sich um jedes computerlesbare Medium und ferner jede Vorrichtung oder jedes Medium handeln, die bzw. das Code und/oder Daten zur Verwendung durch einen oder mehrere Prozessoren oder eine oder mehrere Vorrichtungskomponenten speichern kann. Dies kann eine Speicherhierarchie einschließen, unter anderem Cache, Hauptspeicher und sekundären Speicher. Die Speicherhierarchie kann unter Verwendung jeder Kombination von RAM (z. B. SRAM, DRAM, SDRAM), ROM, FLASH, magnetischen und/oder optischen Datenspeichervorrichtungen, wie beispielsweise Plattenlaufwerken, Magnetband, CDs (Compact Disks) und DVDs (Digital Video Discs), implementiert werden. In einigen Ausführungsformen können Peripherieeinheitenschnittstellen, ein oder mehrere Prozessoren und eine Speichersteuereinheit auf einem einzigen Chip innerhalb jeder hierin beschriebenen Vorrichtung implementiert sein. In einigen anderen Ausführungsformen können sie auf separaten Chips implementiert sein.

Jede hierin beschriebene Vorrichtung, wie beispielsweise die Host-Vorrichtung 1350 und die Client-Vorrichtung 1300, kann zudem Energiesysteme einschließen, um die verschiedenen Hardware-Systeme mit Energie zu versorgen. Energiesysteme können ein Energieverwaltungssystem, eine oder mehrere Energiequellen (z. B. eine Batterie/einen Akku, Wechselstrom (AC)), ein Wiederaufladesystem, eine Stromausfall-Erfassungsschaltung, einen Energiewandler oder -inverter, einen Energiestatusanzeiger (z. B. eine lichtemittierende Diode (LED)) und beliebige andere Komponenten einschließen, die der Erzeugung, Verwaltung und Verteilung von Energie in mobilen Vorrichtungen zugeordnet sind.

In einigen Ausführungsformen können Host-Vorrichtungen und/oder Client-Vorrichtungen verschiedene Sensoren einschließen. Eine Kamera kann ein Beispiel eines Sensors darstellen. Solche Kameravorrichtungen können zusammen mit anderen Sensoren als Eingabevorrichtung als Teil der Eingabevorrichtung 1356 betrachtet werden. Eine Kamera kann verwendet werden, um AV-Daten für Videoanrufe oder für Bilder zu erzeugen, die über durch eine Host-Vorrichtung bereitgestelltes Datenteilen übermittelt werden können. In einigen Ausführungsformen können Vorrichtungen zudem vielfältige andere Sensoren einschließen. Sensoren können Beschleunigungsmesser, einen Kompass, ein Gyrometer, Drucksensoren, Audiosensoren, Lichtsensoren, Barometer, Mikrofone und dergleichen einschließen. Sensoren können verwendet werden, um verschiedenes Vorrichtungsentscheidungstreffen und Filtern zu implementieren, wie beispielsweise Unschärfekompensation für ein Videobild in einem Videoanruf oder Audiofiltern, um zum Filtern von Hintergrundrauschen aus an einem oder mehreren Mikrofonen erfassten Audioinformationen beizutragen.

In einigen Ausführungsformen können eine Client-Vorrichtung 1300 oder eine Host-Vorrichtung 1350 einen Empfänger des „Global Positioning System” (GPS) oder andere Standortassistenzvorrichtungen oder -module einschließen. Eine Vorrichtung kann ein Satellitennavigationssystem, wie beispielsweise das GPS, verwenden, um Positionsinformationen, Zeitmessinformationen, Höhe oder andere Navigationsinformationen zu erlangen. Während eines Betriebs kann die GPS-Einheit Signale von GPS-Satelliten empfangen, welche die Erde umkreisen. Die GPS-Einheit analysiert die Signale, um eine Laufzeit- und Entfernungsabschätzung vorzunehmen. Die GPS-Einheit kann die aktuelle Position (den aktuellen Standort) der mobilen Vorrichtung ermitteln. Auf Grundlage dieser Abschätzungen kann die mobile Vorrichtung eine Standortbestimmung, Höhe und/oder aktuelle Geschwindigkeit ermitteln. Bei einer Standortbestimmung kann es sich um geographische Koordinaten, wie beispielsweise Breiten- und Längeninformationen, handeln. Andere Nicht-GPS-Standort-/Bewegungsmodule können zum Ermitteln der aktuellen Position (z. B. Koordinaten oder andere geographische Standortangaben) und Bewegung einer Client-Vorrichtung 1300 oder Host-Vorrichtung 1350 beitragen. Zusätzlich zu GPS kann eine Mobilfunknetz-Positionsbestimmung auf Grundlage von „Zellen-IDs” und eine WiFi-Positionsbestimmungstechnologie auf Grundlage eines WiFi-Netzwerks zur Unterstützung der Standortbestimmung verwendet werden. In einigen Ausführungsformen können Standort-/Bewegungsmodule Sensorinformationen bei den vorstehenden Systemen verwenden, um die aktuelle Position der Host-Vorrichtung zu ermitteln. Die Standortinformationen können dann verwendet werden, um Datenteilverbindungen (Data Sharing Connections) nicht nur für eine aktuelle Host-Vorrichtung, die Daten teilt, sondern auch für andere Host-Vorrichtungen zu verwalten, die auf Grundlage einer Bewegung von Client-Vorrichtung zum Datenteilen verwendet werden können.

Der Prozessor 1302 und der Prozessor 1352 können eine oder mehrere Anwendungen auf ihren jeweiligen Vorrichtungen ausführen, einschließlich, ohne Einschränkung, eines Browsers, eines Adressbuchs, einer Kontaktliste, E-Mail-Sofortnachrichtenvermittlung, Textverarbeitung, Tastaturemulation, Widgets, JAVA-fähiger Anwendungen, Verschlüsselung, Verwaltung digitaler Rechte, Spracherkennung, Sprachwiedergabe, einer Musikwiedergabeeinheit (die aufgezeichnete Musik wiedergibt, die in einer oder mehreren Dateien, wie beispielsweise MP3- oder AAC-Dateien, gespeichert ist) usw. Die eine oder mehreren Anwendungen können zudem eine spezifische Anwendung zum Verwalten von Datenteil-Kommunikation einschließen.

Es kann andere Module oder Anweisungssätze geben, wie beispielsweise ein Grafikmodul, ein Zeitmodul usw. Zum Beispiel kann das Grafikmodul verschiedene herkömmliche Software-Komponenten zum Rendern, Animieren und Anzeigen grafischer Objekte (einschließlich, ohne Einschränkung, Text, Webseiten, Symbole, Digitalbilder, Animationen und dergleichen) auf einer Anzeigeoberfläche einschließen. In einem weiteren Beispiel kann es sich bei einem Zeitmessermodul um einen Software-Zeitmesser handeln. Das Zeitmessermodul kann auch in Hardware implementiert sein. Das Zeitmodul kann verschiedene Zeitmesser für eine beliebige Anzahl von Ereignissen unterhalten.

Ein E/A-Teilsystem, einschließlich verschiedener Eingabevorrichtungen, kann mit einem Anzeigesystem, wie beispielsweise der Anzeige 1308 oder der Anzeige 1358, gekoppelt sein. Diese Anzeigen können berührungsempfindlich sein und daher als Anzeigen und Eingabevorrichtungen arbeiten. Eine berührungsempfindliche Anzeige der Client-Vorrichtung 1300 kann somit sowohl als die Eingabevorrichtung 1306 als auch die Anzeige 1308 arbeiten. Eine berührungsempfindliche Anzeige des Hosts 1350 kann als die Anzeige 1358 und die Eingabevorrichtung 1356 arbeiten. Die Anzeige kann für den Benutzer als eine grafische Benutzeroberfläche (User Interface (UI)) eine visuelle Ausgabe darstellen. Die visuelle Ausgabe kann Text, Grafik, Video und jede Kombination davon einschließen. Die visuelle Ausgabe kann teilweise oder in ihrer Gesamtheit Benutzerschnittstellenobjekten entsprechen. Eine Anzeige kann LED-Technologie (lichtemittierende Dioden), LCD-Technologie (Flüssigkristallanzeige) oder LPD-Technologie (lichtemittierende Polymeranzeige) einschließen, obwohl in anderen Ausführungsformen andere Anzeigetechnologien verwendet werden können.

In einigen Ausführungsformen kann ein E/A-Teilsystem eine Anzeige und Benutzereingabevorrichtungen, wie beispielsweise eine Tastatur, eine Maus und/oder ein Trackpad, als Teil der einen oder mehrerer Eingabevorrichtungen 1306 oder der einen oder mehreren Eingabevorrichtungen 1356 einschließen. In einigen Ausführungsformen kann das E/A-Teilsystem eine berührungsempfindliche Anzeige einschließen. Eine berührungsempfindliche Anzeige kann auch Eingaben vom Benutzer auf Grundlage von haptischem oder Tastkontakt akzeptieren. In einigen Ausführungsformen bildet eine berührungsempfindliche Anzeige eine berührungsempfindliche Oberfläche, die Benutzereingaben akzeptiert. Die berührungsempfindliche Anzeige/Oberfläche (zusammen mit beliebigen zugeordneten Modulen und/oder Anweisungssätzen) erfasst einen Kontakt (und jede Bewegung oder jedes Abbrechen des Kontakts) auf der berührungsempfindlichen Anzeige und wandelt den erfassten Kontakt in eine Interaktion mit Benutzerschnittstellenobjekten um, wie beispielsweise einer oder mehreren programmierbaren Tasten (Soft Keys), die auf dem berührungsempfindlichen Bildschirm angezeigt werden, wenn der Kontakt auftritt. In einigen Ausführungsformen entspricht ein Kontaktpunkt zwischen der berührungsempfindlichen Anzeige und dem Benutzer einem oder mehreren Fingern des Benutzers. Der Benutzer kann unter Verwendung eines beliebigen geeigneten Objekts oder beliebiger geeigneter Gliedmaßen, wie beispielsweise eines Eingabestifts, Stifts, Fingers und so fort, Kontakt mit der berührungsempfindlichen Anzeige aufnehmen. Eine Oberfläche einer berührungsempfindlichen Anzeige kann unter Verwendung jeder geeigneten Berührungsempfindlichkeitstechnologie, einschließlich kapazitiver, resistiver und Infrarottechnologien und Technologien akustischer Oberflächenwellen, sowie anderer Näherungssensor-Anordnungen oder anderer Elemente zum Ermitteln eines oder mehrerer Kontaktpunkte mit der berührungsempfindlichen Anzeige einen Kontakt und jede Bewegung oder jeden Abbruch davon erfassen.

Ferner können die Eingabevorrichtungen einer bestimmten Client-Vorrichtung oder Host-Vorrichtung mit einer oder mehreren anderen physischen Steuervorrichtungen (nicht gezeigt), wie beispielsweise Druckschaltflächen oder -tasten, Tasten, Schaltern, Wippen, Tastwahlblöcken, Schiebeschaltern, Joysticks, LEDs usw., zum Steuern oder Durchführen verschiedener Funktionen, wie beispielsweise Energiesteuerung, Lautsprecherlautstärkensteuerung, Klingeltonlautstärke, Tastatureingabe, Bildlauf, Halten, Menü, Bildschirmsperre, Löschen und Beenden von Kommunikation und Ähnlichem, gekoppelt sein, In einigen Ausführungsformen können die Vorrichtungen zusätzlich zum berührungsempfindlichen Bildschirm ein vom Bildschirm separates Touchpad zum Aktivieren oder Deaktivieren bestimmter Funktionen einschließen. In manchen Ausführungsformen ist das Touchpad ein berührungsempfindlicher Bereich der Vorrichtung, der im Gegensatz zum Touchscreen keine visuellen Ausgaben anzeigt. Bei dem Touchpad kann es sich um eine berührungsempfindliche Oberfläche, die von der berührungsempfindlichen Anzeige separat ist, oder eine Erweiterung der durch die berührungsempfindliche Anzeige gebildeten berührungsempfindlichen Oberfläche handeln.

In einigen Ausführungsformen können einige oder alle hierin beschriebenen Operationen unter Verwendung einer auf der mobilen Vorrichtung des Benutzers ausgeführten Anwendung durchgeführt werden. Schaltungen, Logikmodule, Prozessoren und/oder weitere Komponenten können konfiguriert sein, verschiedene hierin beschriebene Operationen durchzuführen. Dem Fachmann ist ersichtlich, dass abhängig von der Implementierung eine solche Konfiguration durch Gestaltung, Einrichtung, Verbindung miteinander und/oder Programmieren der bestimmten Komponenten erreicht werden kann und dass wiederum abhängig von der Implementierung eine konfigurierte Komponente für eine andere Operation umkonfigurierbar sein kann oder nicht. Zum Beispiel kann ein programmierbarer Prozessor durch Bereitstellen eines geeigneten ausführbaren Codes konfiguriert werden, kann eine dedizierte Logikschaltung durch geeignetes Verbinden von Logikgattern und anderen Schaltungselementen konfiguriert werden und so weiter.

Computerprogramme, die verschiedene Merkmale der vorliegenden Offenbarung enthalten, können auf verschiedenen computerlesbaren Datenspeichermedien codiert sein; geeignete Medien schließen Magnetplatten- oder -band, optische Datenspeichermedien, wie beispielsweise eine Compact Disk (CD) oder DVD (Digital Versatile Disk), Flash-Speicher und dergleichen, ein. Mit dem Programmcode codierte computerlesbare Datenspeichermedien können mit einer kompatiblen Vorrichtung gepackt oder separat von anderen Vorrichtungen bereitgestellt werden. Zudem kann Programmcode über drahtgebundene optische und/oder drahtlose Netzwerke entsprechend einer Vielfalt von Protokollen codiert und übermittelt werden, einschließlich des Internets, wodurch eine Verbreitung z. B. über Internet-Download, ermöglicht wird.

Zusätzlich zu vorstehend detailliert geschilderten Client-Vorrichtungen, wie beispielsweise den Client-Vorrichtungen 1300, und Host-Vorrichtungen, wie beispielsweise der Host-Vorrichtung 1350, können Aspekte von Netzwerken, wie beispielsweise des Netzwerks 1390, und Netzwerkverbindungen, wie beispielsweise der Netzwerkverbindung 1338, auch unter Verwendung verschiedener Vorrichtungen und Vorrichtungskomponenten implementiert werden. Während es sich zum Beispiel in bestimmten Ausführungsformen bei der Verbindung 1338 einfach um eine drahtlose P2P-Verbindung direkt zwischen der drahtlosen Schnittstelle 1312 und der drahtlosen Schnittstelle 1362 handeln kann, kann in anderen Ausführungsformen ein Kommunikationsnetzwerk verwendet werden, um die Verbindung 1338 zu implementieren. Solch eine Verbindung kann einen oder mehrere Zugangspunkte, Router, Servercomputer, eine oder mehrere Datenspeichervorrichtungen oder andere Vorrichtungen einschließen, um die Netzwerkverbindung 1338 zu implementieren. Jede dieser Vorrichtungen kann einen Prozessor, einen Speicher und oder eine Eingabe/Ausgabe-Struktur einschließen, wie vorstehend detailliert geschildert. Gleichermaßen können andere Netzwerkverbindungen Mobilfunkmasten, Schaltnetzwerke, Paketverarbeitungsvorrichtungen zusätzlich zu den vorstehend detailliert geschilderten Servercomputern und anderen Netzwerkinfrastrukturen einschließen, die alle Verarbeitungs-, Speicher- und Netzwerkschnittstellenkomponenten einschließen können.

14 ist ein Beispielblockdiagramm, das eine Vorrichtung zeigt, bei der es sich um eine Host-Vorrichtung, eine Client-Vorrichtung oder einen Server handeln kann. Eine mobile Vorrichtung 1400 schließt allgemein ein computerlesbares Medium 1402, ein Verarbeitungssystem 1404, ein Eingabe/Ausgabe- bzw. E/A-Teilsystem 1406, eine Drahtlos-Schaltlogik 1408 und eine Audioschaltlogik 1410 ein, die einen Lautsprecher 1450 und ein Mikrofon 1452 einschließt. Diese Komponenten können über eine(n) oder mehrere Kommunikationsbusse oder Signalleitungen 1403 gekoppelt sein. Bei der Vorrichtung 1400 kann es sich um jede tragbare elektronische Vorrichtung handeln, einschließlich eines handgeführten Computers, eines Tablet-Computers, eines Mobiltelefons, eines Laptop-Computers, einer Tablet-Vorrichtung, einer Medienwiedergabevorrichtung, eines persönlichen digitalen Assistenten (PDA), eines Schlüsselanhängers, eines Autoschlüssels, einer Zugangskarte, einer Multifunktionsvorrichtung, eines Mobiltelefons, einer tragbaren Spielvorrichtung oder dergleichen, einschließlich einer Kombination aus zwei oder mehreren dieser Elemente. In verschiedenen Ausführungsformen können eine erste Vorrichtung 600 oder eine zweite Vorrichtung 650 oder eine andere Vorrichtung, ein anderer Server, Zugangspunkt, ein anderes Netzwerkelement oder eine andere Rechenvorrichtung oder ein anderes Element im Ganzen oder zum Teil unter Verwendung der Elemente von 14 implementiert werden.

Es sollte ersichtlich sein, dass die in 14 gezeigte Architektur nur ein bestimmtes Beispiel einer Architektur für die mobile Vorrichtung 1400 darstellt und dass die Vorrichtung 1400 mehr oder weniger Komponenten als gezeigt oder eine andere Konfiguration von Komponenten besitzen kann. Die verschiedenen, in 14 gezeigten Komponenten können in Hardware, Software oder einer Kombination aus sowohl Hardware als auch Software implementiert sein, einschließlich einer oder mehrerer Signalverarbeitungs- und/oder anwendungsspezifischer integrierter Schaltungen (Application Specific Integrated Circuits).

Die Drahtlos-Schaltlogik 1408 wird verwendet, um Informationen über eine drahtlose Verbindung oder ein drahtloses Netzwerk zu einer herkömmlichen Schaltlogik von einer oder mehreren anderen Vorrichtungen, wie beispielsweise einem Antennensystem, einem HF-Transceiver, einem oder mehreren Verstärkern, einem Tuner, einem oder mehreren Oszillatoren, einem digitalen Signalprozessor, einem CODEC-Chipsatz, einem Speicher usw. zu senden und zu empfangen. In manchen Ausführungsformen ist die Drahtlos-Schaltlogik 1408 zum Herstellen und Unterhalten von Kommunikation mit anderen Vorrichtungen unter Verwendung eines oder mehrere Kommunikationsprotokolle fähig. Eine mobile Vorrichtung kann eine Drahtlos-Schaltlogik einschließen, die abhängig von der für die Kommunikation erforderlichen Reichweite über mehrere unterschiedliche Typen von drahtlosen Netzwerken kommunizieren kann.

Die Drahtlos-Schaltlogik 1408 ist mit dem Verarbeitungssystem 1404 über die Peripherieeinheitenschnittstelle 1416 gekoppelt. Die Schnittstelle 1416 kann herkömmliche Komponenten zum Herstellen und Unterhalten einer Kommunikation zwischen Peripherieeinheiten und dem Verarbeitungssystem 1404 einschließen. Durch die Drahtlos-Schaltlogik 1408 (z. B. in Spracherkennungs- oder Sprachbefehlsanwendungen) empfangene Sprach- und Dateninformationen werden über die Peripherieeinheitenschnittstelle 1416 an einen oder mehrere Prozessoren 1418 gesendet. Der eine oder die mehreren Prozessoren 1418 sind konfigurierbar, verschiedene Datenformate für ein oder mehrere auf dem Medium 1402 gespeicherte Anwendungsprogramme 1434 zu verarbeiten.

Die Peripherieeinheitenschnittstelle 1416 koppelt die Eingabe- und Ausgabeperipherieeinheiten der Vorrichtung mit dem Prozessor 1418 und dem computerlesbaren Medium 1402. Der eine oder die mehreren Prozessoren 1418 kommunizieren mit dem computerlesbaren Medium 1402 über eine Steuereinheit (Controller) 1420. Das computerlesbare Medium 1402 kann jede Vorrichtung oder jedes Medium sein, die bzw. das Code und/oder Daten zur Verwendung von einem oder mehreren Prozessoren 1418 speichern kann. Das Medium 1402 kann eine Speicherhierarchie einschließen, die einen Cache, Hauptspeicher und sekundären Speicher einschließt. Die Speicherhierarchie kann unter Verwendung jeder Kombination von RAM (z. B. SRAM, DRAM, SDRAM), ROM, FLASH, magnetischen und/oder optischen Datenspeichervorrichtungen, wie beispielsweise Plattenlaufwerken, Magnetband, CDs (Compact Disks) und DVDs (Digital Video Discs), implementiert werden. In einigen Ausführungsformen können die Peripherieeinheitenschnittstelle 1416, der eine oder die mehreren Prozessoren 1418 und die Speichersteuereinheit 1420 auf einem einzigen Chip implementiert sein, wie beispielsweise dem Verarbeitungssystem 1404. In einigen anderen Ausführungsformen können sie auf separaten Chips implementiert sein.

Die mobile Vorrichtung 1400 schließt zudem ein Energiesystem 1442 ein, um die verschiedenen Hardware-Komponenten mit Energie zu versorgen. Das Energiesystem 1442 kann ein Energieverwaltungssystem, eine oder mehrere Energiequellen (z. B. eine Batterie/einen Akku, Wechselstrom (AC)), ein Wiederaufladesystem, eine Stromausfall-Erfassungsschaltung, einen Energiewandler oder -inverter, einen Energiestatusanzeiger (z. B. eine lichtemittierende Diode (LED)) und beliebige andere Komponenten einschließen, die der Erzeugung, Verwaltung und Verteilung von Energie in mobilen Vorrichtungen zugeordnet sind.

In einigen Ausführungsformen schließt die mobile Vorrichtung 1400 eine Kamera 1444 ein. In einigen Ausführungsformen schließt die mobile Vorrichtung 1400 Sensoren 1446 ein. Sensoren können Beschleunigungsmesser, Kompasse, Gyrometer, Drucksensoren, Audiosensoren, Lichtsensoren, Barometer und dergleichen einschließen. Die Sensoren 1446 können verwendet werden, um Standortaspekte zu erfassen, wie beispielsweise akustische oder Lichtsignaturen eines Standorts.

In einigen Ausführungsformen kann die mobile Vorrichtung 1400 einen Empfänger des „Global Positioning System” (GPS) einschließen, der manchmal als eine GPS-Einheit 1448 bezeichnet wird. Eine mobile Vorrichtung kann ein Satellitennavigationssystem, wie beispielsweise das GPS, verwenden, um Positionsinformationen, Zeitmessinformationen, Höhe oder andere Navigationsinformationen zu erlangen. Während eines Betriebs kann die GPS-Einheit Signale von GPS-Satelliten empfangen, welche die Erde umkreisen. Die GPS-Einheit analysiert die Signale, um eine Laufzeit- und Entfernungsabschätzung vorzunehmen. Die GPS-Einheit kann die aktuelle Position (den aktuellen Standort) der mobilen Vorrichtung ermitteln. Auf Grundlage dieser Abschätzungen kann die mobile Vorrichtung eine Standortbestimmung, Höhe und/oder aktuelle Geschwindigkeit ermitteln. Bei einer Standortbestimmung kann es sich um geographische Koordinaten, wie beispielsweise Breiten- und Längeninformationen, handeln.

Der eine oder die mehreren Prozessoren 1418 führen verschiedene Software-Komponenten aus, die im Medium 1402 gespeichert sind, um verschiedene Funktionen für die Vorrichtung 1400 durchzuführen. In einigen Ausführungsformen können die Software-Komponenten ein Betriebssystem 1422, ein Kommunikationsmodul (oder einen Anweisungssatz) 1424, ein Standort/Bewegungsmodul (oder einen Anweisungssatz) 1426 und weitere Anwendungen (oder Anweisungssätze) 1434 einschließen, wie beispielsweise eine Automobilstandortbestimmungs-App und eine Navigations-App. In manchen Beispielen können die weiteren Anwendungen 1434 Anwendungen einschließen, welche die vorstehend beschriebene Funktionalität ermöglichen, namentlich das Routing von durch den Proxy-Router 1360, die Kommunikationsschaltungen 1353 und 1355 und/oder die drahtlosen Schnittstellen 1362 und 1364 von 13 implementierten Proxy-Verbindungen.

Bei dem Betriebssystem 1422 kann es sich um jedes geeignete Betriebssystem handeln, einschließlich iOS, Mac OS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS oder ein eingebettetes Betriebssystem, wie beispielsweise VxWorks. Das Betriebssystem kann verschiedene Prozeduren, Anweisungssätze, Software-Komponenten und/oder Treiber zum Steuern und Verwalten allgemeiner Systemaufgaben (z. B. Speicherverwaltung, Datenspeichervorrichtungssteuerung, Energieverwaltung usw.) einschließen und ermöglicht eine Kommunikation zwischen verschiedenen Hardware- und Software-Komponenten.

Das Kommunikationsmodul 1424 ermöglicht eine Kommunikation mit anderen Vorrichtungen über einen oder mehrere externe Anschlüsse 1436 oder über eine Drahtlos-Schaltlogik 1408 und schließt verschiedene Software-Komponenten zum Abwickeln von Daten ein, die von der Drahtlos-Schaltlogik 1408 und/oder dem externen Anschluss 1436 kommend empfangen wurden. Der externe Anschluss 1436 (z. B. USB, FireWire, ein Lightning-Steckverbinder, ein 60-Pin-Steckverbinder usw.) ist dafür ausgelegt, direkt an andere Vorrichtungen oder indirekt über ein Netzwerk (z. B. das Internet, Wireless LAN usw.) gekoppelt zu werden.

Das Standort/Bewegungsmodul 1426 kann dazu beitragen, die aktuelle Position (z. B. Koordinaten oder eine andere geographische Standortangabe) und Bewegung (z. B. die Geschwindigkeits- und Kursinformationen) der mobilen Vorrichtung 1400 zu bestimmen. Moderne Positionsbestimmungssysteme schließen satellitengestützte Positionsbestimmungssysteme, wie beispielsweise GPS, Mobilfunknetz-Positionsbestimmung auf Grundlage von „Zellen-IDs” sowie WiFi-Positionsbestimmungstechnologie auf Grundlage eines WiFi-Netzwerks ein. Typischerweise ist GPS am genauesten, verbraucht jedoch oftmals mehr Energie als die anderen Positionsbestimmungssysteme. GPS beruht zudem auf der Sichtbarkeit mehrerer Satelliten, um eine Positionsabschätzung zu ermitteln, die in Innenräumen oder in „Straßenschluchten” unter Umständen nicht sichtbar sind (oder schwache Signale besitzen). In einigen Ausführungsformen empfängt das Standort-/Bewegungsmodul 1426 Daten von der GPS-Einheit 1448 und analysiert die Signale, um die aktuelle Position, Geschwindigkeit und/oder den aktuellen Kurs der mobilen Vorrichtung zu ermitteln. In einigen Ausführungsformen kann das Standort-/Bewegungsmodul 1426 einen aktuellen Standort, eine aktuelle Geschwindigkeit und/oder einen aktuellen Kurs unter Verwendung von WiFi- oder Mobilfunktechnologie ermitteln. Zum Beispiel können der Standort, die Geschwindigkeit und/oder der Kurs der mobilen Vorrichtung unter Verwendung von Informationen von nahen Zellenanlagen und/oder von WiFi-Zugangspunkten mit zusätzlicher Kenntnis von deren Standorten abgeschätzt werden. Den WiFi- oder Mobilfunksender identifizierende Informationen werden an der Drahtlos-Schaltlogik 1408 empfangen und an das Standort/Bewegungsmodul 1426 weitergeleitet. In einigen Ausführungsformen empfängt das Standortmodul die eine oder die mehreren Sender-IDs. In einigen Ausführungsformen kann eine Folge von Sender-IDs mit einer Referenzdatenbank (z. B. einer Zellen-ID-Datenbank oder WiFi-Referenzdatenbank) verglichen werden, welche die Sender-IDs Positionskoordinaten entsprechender Sender zuordnet oder damit korreliert und geschätzte Positionskoordinaten für die mobile Vorrichtung 1400 auf Grundlage von mindestens zum Teil der Positionskoordinaten der entsprechenden Sender berechnet. Ungeachtet der spezifischen verwendeten Standortbestimmungstechnologie empfängt das Standort-/Bewegungsmodul 1426 Informationen, aus denen eine Standortbestimmung abgeleitet werden kann, interpretiert diese Informationen und gibt Standortinformationen, wie beispielsweise geographische Koordinaten, Breite/Länge oder andere Standortbestimmungsdaten, zurück

Die eine oder mehreren Anwendungen 1434 auf der mobilen Vorrichtung können beliebige auf der Vorrichtung 1400 installierte Anwendungen einschließen, einschließlich, ohne Einschränkung, eines Browsers, eines Adressbuchs, einer Kontaktliste, E-Mail-Sofortnachrichtenvermittlung, Textverarbeitung, Tastaturemulation, Daten-Routing, Proxy-Verbindungsverwaltern, Widgets, JAVA-fähiger Anwendungen, Verschlüsselung, Verwaltung digitaler Rechte, Spracherkennung, Sprachwiedergabe, einer Musikwiedergabeeinheit (die aufgezeichnete Musik wiedergibt, die in einer oder mehreren Dateien, wie beispielsweise MP3- oder AAC-Dateien, gespeichert ist) usw.

Es kann andere Module oder Anweisungssätze (nicht gezeigt) geben, wie beispielsweise ein Grafikmodul, ein Zeitmodul usw. Zum Beispiel kann das Grafikmodul verschiedene herkömmliche Software-Komponenten zum Rendern, Animieren und Anzeigen grafischer Objekte (einschließlich, ohne Einschränkung, Text, Webseiten, Symbole, Digitalbilder, Animationen und dergleichen) auf einer Anzeigeoberfläche einschließen. In einem weiteren Beispiel kann es sich bei einem Zeitmessermodul um einen Software-Zeitmesser handeln. Das Zeitmessermodul kann auch in Hardware implementiert sein. Das Zeitmodul kann verschiedene Zeitmesser für eine beliebige Anzahl von Ereignissen unterhalten.

Das E/A-Teilsystem 1406 kann mit einem Anzeigesystem (nicht gezeigt) gekoppelt sein, bei dem es sich um eine berührungsempfindliche Anzeige handeln kann. Die Anzeige zeigt dem Benutzer eine visuelle Ausgabe in einer GUI an. Die visuelle Ausgabe kann Text, Grafik, Video und jede Kombination davon einschließen. Die visuelle Ausgabe kann teilweise oder in ihrer Gesamtheit Benutzerschnittstellenobjekten entsprechen. Eine Anzeige kann LED-Technologie (lichtemittierende Dioden), LCD-Technologie (Flüssigkristallanzeige) oder LPD-Technologie (lichtemittierende Polymeranzeige) einschließen, obwohl in anderen Ausführungsformen andere Anzeigetechnologien verwendet werden können.

In einigen Ausführungsformen kann das E/A-Teilsystem 1406 eine Anzeige und Benutzereingabevorrichtungen, wie beispielsweise eine Tastatur, eine Maus und/oder ein Trackpad, einschließen. In einigen Ausführungsformen kann das E/A-Teilsystem 1406 eine berührungsempfindliche Anzeige einschließen. Eine berührungsempfindliche Anzeige kann auch Eingaben vom Benutzer auf Grundlage von haptischem oder Tastkontakt akzeptieren. In einigen Ausführungsformen bildet eine berührungsempfindliche Anzeige eine berührungsempfindliche Oberfläche, die Benutzereingaben akzeptiert. Die berührungsempfindliche Anzeige/Oberfläche (zusammen mit beliebigen zugeordneten Modulen und/oder Anweisungssätzen im Medium 1402) erfasst einen Kontakt (und jede Bewegung oder ein Abbrechen des Kontakts) auf der berührungsempfindlichen Anzeige und wandelt den erfassten Kontakt in eine Interaktion mit Benutzerschnittstellenobjekten, wie beispielsweise einer oder mehreren programmierbaren Tasten (Softkeys), die auf dem berührungsempfindlichen Bildschirm angezeigt werden, um, wenn der Kontakt auftritt. In einigen Ausführungsformen entspricht ein Kontaktpunkt zwischen der berührungsempfindlichen Anzeige und dem Benutzer einem oder mehreren Fingern des Benutzers. Der Benutzer kann unter Verwendung eines beliebigen geeigneten Objekts oder beliebiger geeigneter Gliedmaßen, wie beispielsweise eines Eingabestifts, Stifts, Fingers und so fort, Kontakt mit der berührungsempfindlichen Anzeige aufnehmen. Eine Oberfläche einer berührungsempfindlichen Anzeige kann unter Verwendung jeder geeigneten Berührungsempfindlichkeitstechnologie, einschließlich kapazitiver, resistiver und Infrarottechnologien und Technologien akustischer Oberflächenwellen, sowie anderer Näherungssensor-Anordnungen oder anderer Elemente zum Ermitteln eines oder mehrerer Kontaktpunkte mit der berührungsempfindlichen Anzeige einen Kontakt und jede Bewegung oder jeden Abbruch davon erfassen.

Ferner kann das E/A-Teilsystem mit einer oder mehreren anderen physischen Steuervorrichtungen (nicht gezeigt), wie beispielsweise Druckschaltflächen oder -tasten, Tasten, Schaltern, Wippen, Tastwahlblöcken, Schiebeschaltern, Joysticks, LEDs usw., zum Steuern oder Durchführen verschiedener Funktionen, wie beispielsweise Energiesteuerung, Lautsprecherlautstärkensteuerung, Klingeltonlautstärke, Tastatureingabe, Bildlauf, Halten, Menü, Bildschirmsperre, Löschen und Beenden von Kommunikation und dergleichen, gekoppelt sein, In einigen Ausführungsformen kann die Vorrichtung 1400 zusätzlich zum berührungsempfindlichen Bildschirm ein (nicht gezeigtes) Touchpad zum Aktivieren oder Deaktivieren bestimmter Funktionen aufweisen. In manchen Ausführungsformen ist das Touchpad ein berührungsempfindlicher Bereich der Vorrichtung, der im Gegensatz zum Touchscreen keine visuellen Ausgaben anzeigt. Bei dem Touchpad kann es sich um eine berührungsempfindliche Oberfläche, die von der berührungsempfindlichen Anzeige separat ist, oder eine Erweiterung der durch die berührungsempfindliche Anzeige gebildeten berührungsempfindlichen Oberfläche handeln.

In einigen Ausführungsformen können einige oder alle hierin beschriebenen Operationen unter Verwendung einer auf der mobilen Vorrichtung des Benutzers ausgeführten Anwendung durchgeführt werden. Schaltungen, Logikmodule, Prozessoren und/oder weitere Komponenten können konfiguriert sein, verschiedene hierin beschriebene Operationen durchzuführen. Dem Fachmann ist ersichtlich, dass abhängig von der Implementierung eine solche Konfiguration durch Gestaltung, Einrichtung, Verbindung miteinander und/oder Programmieren der bestimmten Komponenten erreicht werden kann und dass wiederum abhängig von der Implementierung eine konfigurierte Komponente für eine andere Operation umkonfigurierbar sein kann oder nicht. Zum Beispiel kann ein programmierbarer Prozessor durch Bereitstellen eines geeigneten ausführbaren Codes konfiguriert werden, kann eine dedizierte Logikschaltung durch geeignetes Verbinden von Logikgattern und anderen Schaltungselementen konfiguriert werden und so weiter.

Computerprogramme, die verschiedene Merkmale der vorliegenden Offenbarung enthalten, können auf verschiedenen computerlesbaren Datenspeichermedien codiert sein; geeignete Medien schließen Magnetplatten- oder -band, optische Datenspeichermedien, wie beispielsweise eine Compact Disk (CD) oder DVD (Digital Versatile Disk), Flash-Speicher und dergleichen. ein. Mit dem Programmcode codierte computerlesbare Datenspeichermedien können mit einer kompatiblen Vorrichtung gepackt oder separat von anderen Vorrichtungen bereitgestellt werden. Zudem kann Programmcode über drahtgebundene optische und/oder drahtlose Netzwerke entsprechend einer Vielfalt von Protokollen codiert und übermittelt werden, einschließlich des Internets, wodurch eine Verbreitung z. B. über Internet-Download, ermöglicht wird.

Obwohl die Offenbarung in Hinblick auf spezifische Ausführungsformen beschrieben wurde, versteht es sich, dass die Offenbarung alle Modifikationen und Äquivalente innerhalb des Umfangs der folgenden Ansprüche abdecken soll.