-
Gebiet
-
Der Gegenstand, der hierin offenbart wird, bezieht sich auf Computernetzwerke und bezieht sich insbesondere auf ein Auswählen eines Netzwerks.
-
Hintergrund
-
Beschreibung der relevanten Technik
-
Da sich die Technologie weiterentwickelt, können Computergeräte eine breite Vielfalt von unterschiedlichen Aufgaben in unterschiedlichen Szenarien ausführen. Da die Größe von Computergeräten abnimmt, können sie mit ihren entsprechenden Nutzern verreisen. Je mehr sich Computergeräte mit ihren entsprechenden Nutzern bewegen, können die Computergeräte in Kontakt mit und aus dem Kontakt von einer breiten Vielfalt von unterschiedlichen Netzwerken heraus geraten.
-
In einigen Szenarien kann ein Computergerät mit bestimmten erkannten Netzwerken automatisch verbunden werden. Ein Computergerät kann konfiguriert sein, um allgemein ein Netzwerk gegenüber anderen zu bevorzugen. In Reaktion auf ein bevorzugtes Netzwerk, das zur Verfügung steht, kann das Computergerät zu dem bevorzugten Netzwerk wechseln. Die Bevorzugungen können durch einen Nutzer des Computergerätes eingestellt sein.
-
In einigen Beispielen kann ein Computergerät zu einem Netzwerk, basierend auf einer Verfügbarkeit eines Netzwerks, wechseln. Ein mobiles Gerät kann zum Beispiel konfiguriert sein, um ein lokales Netzwerk zu verwenden, wenn es zur Verfügung steht, und um ein Breitbandnetzwerk zu verwenden, wenn das lokale Netzwerk nicht zur Verfügung steht.
-
In bestimmten Beispielen können Netzwerkpräferenzen und Netzwerkeinstellungen für eine Betriebssystemebene des Computergeräts eingestellt werden. In einem Beispiel kann ein mobiles Gerät konfiguriert sein, um ein lokales Netzwerk zu bevorzugen, wenn es verfügbar ist, weil das lokale Netzwerk schneller als ein Breitbandnetzwerk sein kann. Das lokale Netzwerk kann jedoch ein öffentliches Netzwerk sein und der Nutzer kann unwissentlich private Informationen auf das öffentliche Netzwerk übertragen. Deshalb kann sich ein Nutzer zwischen Netzwerkleistung und Netzwerksicherheit entscheiden müssen. Weil bestimmte Netzwerke aus einer breiten Vielfalt von speziellen Gründen bevorzugt sein können, können gegenwärtige Auswahltechnologien in der Auswahl eines geeigneten Netzwerks uneffektiv sein.
-
Kurze Zusammenfassung
-
Eine Vorrichtung zur Auswahl eines Netzwerks wird offenbart. In einer Ausführungsform umfasst die Vorrichtung einen Prozessor und einen Speicher, der Maschineninstruktionen speichert, welche durch den Prozessor ausführbar sind. In einer Ausführungsform kann der Code einen ausführbaren Code mit einer oder mehreren Netzwerkschnittstellen assoziieren. In einer anderen Ausführungsform kann der Code eine oder mehrere Netzwerkschnittstellen in Reaktion auf ein Erfassen einer Netzwerkkommunikation, die von dem ausführbaren Code erzeugt wird, auswählen. In einer weiteren Ausführungsform kann der Code die Netzwerkkommunikation an die ausgewählte Netzwerkschnittstelle richten. Ein Verfahren und ein Computerprogrammprodukt können auch die Funktionen der Vorrichtung ausführen.
-
Kurze Beschreibung der Zeichnungen
-
Eine speziellere Beschreibung der Ausführungsformen, die oben kurz beschrieben wurden, wird mit Bezug auf spezifische Ausführungsformen, die in den anhängenden Zeichnungen dargestellt werden, sichtbar gemacht. Mit dem Verständnis, dass diese Zeichnungen nur einige Ausführungsformen zeigen und deshalb nicht als den Schutzumfang begrenzend anzusehen sind, werden die Ausführungsformen mit zusätzlicher Spezifikation und zusätzlichem Detail durch die Verwendung der begleitenden Zeichnungen beschrieben und erklärt werden, in denen:
-
1 ein schematisches Blockdiagramm ist, das eine Ausführungsform einer Vorrichtung für ein Auswählen eines Netzwerks darstellt;
-
2 eine Darstellung ist, die Beispiele eines ausführbaren Codes gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt;
-
3 ein Diagramm ist, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks gemäß der vorliegenden Offenbarung darstellt;
-
4 ein Diagramm ist, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks gemäß der vorliegenden Offenbarung darstellt;
-
5 ein Diagramm ist, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks gemäß der vorliegenden Offenbarung darstellt;
-
6 ein Diagramm ist, das Assoziationen gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt;
-
7 ein schematisches Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks darstellt;
-
8 ein schematisches Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks darstellt;
-
9 ein schematisches Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks darstellt;
-
10 ein schematisches Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks darstellt.
-
Detaillierte Beschreibung
-
Wie ein Fachmann der Technik zu würdigen weiß, können Aspekte der Ausführungsformen als System, als Verfahren oder als Programmprodukt ausgeführt sein. Folglich können Ausführungsformen die Form einer gesamten Hardwareausführungsform, einer gesamten Softwareausführungsform (einschließlich Firmenware, vorhandener Software, Mikrocodes usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert, auf die allgemein hierin als ein "Schaltkreis", ein "Modul" oder ein "System" Bezug genommen wird. Weiterhin können Ausführungsformen die Gestalt eines Programmproduktes einnehmen, das in einem oder mehreren computerlesbaren Speichergeräten enthalten ist, die maschinenlesbare Codes, computerlesbare Codes und/oder Programmcodes speichern, auf die hierin als Code Bezug genommen wird. Die Speichergeräte können materiell, nicht transitorisch und/oder nicht übertragend sein. Die Speichergeräte können keine Signale enthalten. In einer bestimmten Ausführungsform wenden die Speichergeräte nur Signale für Zugriffscodes an.
-
Viele der funktionellen Einheiten, die in dieser Spezifikation beschrieben werden, werden als Module bezeichnet, um insbesondere ihre Ausführungsunabhängigkeit zu betonen. Ein Modul kann zum Beispiel als eine Hardwareschaltung ausgeführt sein, die kundenspezifische VLSI-Schaltungen oder Gate-Arrays, standardmäßige Halbleiter wie Logikchips, Transistoren oder andere diskrete Komponenten aufweist. Ein Modul kann auch in programmierbaren Hardwaregeräten wie feldprogrammierbaren Gate-Arrays, programmierbaren Logik-Arrays, programmierbaren Logikgeräten und ähnlichen Geräten ausgeführt sein.
-
Module können auch in einem Code und/oder in Software zur Ausführung durch verschiedene Arten von Prozessoren ausgeführt sein. Ein identifiziertes Modul des Codes kann zum Beispiel einen oder mehrere physische oder logische Blöcke von ausführbaren Codes umfassen, die zum Beispiel als ein Objekt, ein Vorgang oder eine Funktion organisiert sein können. Nichtsdestotrotz müssen die Ausführbarkeiten eines identifizierten Moduls nicht zusammen angeordnet sein, sondern können verteilte Instruktionen, die an unterschiedlichen Orten gespeichert sind, umfassen, welche, wenn sie logisch zusammengestellt werden, das Modul umfassen und den angegebenen Zweck des Moduls erzielen.
-
Tatsächlich kann ein Modul von Code eine einzelne Instruktion oder viele Instruktionen sein und kann sogar über mehrere unterschiedliche Codesegmente, über unterschiedliche Programme und über mehrere Speichergeräte verteilt sein. Ähnlich können operative Daten innerhalb von Modulen identifiziert und hierin dargestellt sein und können in irgendeiner geeigneten Form enthalten und innerhalb irgendeiner geeigneten Art von Datenstruktur organisiert sein. Die operativen Daten können als einzelne Datensätze gesammelt sein oder können über unterschiedliche Orte, einschließlich über unterschiedliche computerlesbare Speichergeräte, verteilt sein. Wenn ein Modul oder Teile eines Moduls in Software ausgeführt wird bzw. werden, werden die Softwareabschnitte in einem oder mehreren computerlesbaren Speichergeräten gespeichert.
-
Irgendeine Kombination von einem oder mehreren computerlesbaren Medien kann (können) verwendet werden. Das computerlesbare Medium kann ein computerlesbares Speichermedium sein. Das Speichermedium kann ein Speichergerät sein, das den Code speichert. Das Speichergerät kann zum Beispiel ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes, holographisches, mikromechanisches oder Halbleitersystem, eine Vorrichtung oder ein Gerät, oder irgendeine geeignete Kombination des Vorhergehenden, sein, ist aber nicht darauf begrenzt.
-
Spezifischere Beispiele (einer nicht erschöpfenden Liste) des Speichergerätes sind in dem Nachfolgenden enthalten:
eine elektrische Verbindung, die ein oder mehrere Geräte aufweist, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer, programmierbarer Festwertspeicher (EPROM oder ein Flash-Speicher), eine tragbaren Compactdisk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät, oder irgendeine geeignete Kombination des Vorhergehenden. In dem Kontext dieses Dokuments kann ein computerlesbares Speichermedium irgendein materielles Medium sein, das ein Programm zum Gebrauch durch oder in Verbindung mit einem Instruktionsausführungssystem, einer Vorrichtung oder einem Gerät enthalten oder speichern kann.
-
Ein Code zum Ausführen der Operationen für Ausführungsformen kann in irgendeiner Kombination von einer oder mehreren Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder ähnlichen, und konventionellen Verfahrensprogrammsprachen wie der "C"-Programmiersprache oder ähnlichen Programmiersprachen. Der Code kann vollständig auf dem Computer des Nutzers, teilweise auf dem Computer des Nutzers, als allein stehendes Softwarepaket, teilweise auf dem Computer des Nutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. Im letzteren Szenario kann der entfernte Computer mit dem Computer des Nutzers über irgendein Netzwerk verbunden sein, einschließlich eines lokalen Netzwerkes (LAN), oder die Verbindung kann durch einen externen Computer hergestellt sein (zum Beispiel durch das Internet unter Verwenden eines Internetservice-Providers).
-
Bezugnahme auf "eine einzige Ausführungsform", "eine Ausführungsform" oder eine ähnliche Ausdrucksweise in dieser gesamten Spezifikation bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder ein Kennzeichen, das in Verbindung mit der Ausführungsform beschrieben wird, wenigstens in einer einzelnen Ausführungsform enthalten ist. Das Auftreten der Formulierungen "in einer einzigen Ausführungsform", "in einer Ausführungsform" und eine ähnliche Ausdrucksweise in dieser gesamten Spezifikation können sich somit sämtlich, aber nicht notwendigerweise, auf die gleiche Ausführungsform beziehen, bedeuten aber "eine oder mehrere, aber nicht alle Ausführungsformen", sofern es nicht ausdrücklich anders angegeben ist. Die Ausdrücke "einschließlich", "umfassend", "aufweisend" und Variationen davon bedeuten "einschließlich, aber nicht darauf beschränkt", sofern nichts anders ausdrücklich angegeben ist. Eine nummerierte Auflistung von Gegenständen bedeutet nicht, dass ein oder alle Gegenstände sich gegenseitig ausschließen, sofern nichts anderes ausdrücklich spezifiziert ist. Die Ausdrücke "ein", "eine" und "das" beziehen sich auch auf "ein oder mehrere", sofern nichts anderes ausdrücklich spezifiziert ist.
-
Weiterhin können die beschriebenen Merkmale, Strukturen oder Kennzeichen der Ausführungsformen in geeigneter Weise kombiniert werden. In der folgenden Beschreibung werden viele spezifische Details bereitgestellt wie Beispiele des Programmierens, der Softwaremodule, der Wahlmöglichkeiten durch Nutzer, der Netzwerktransaktionen, der Datenbasisanfragen, der Datenbasisstrukturen, der Hardwaremodule, der Hardwareschaltungen, der Hardwarechips usw., um ein sorgfältiges Verständnis der Ausführungsformen bereitzustellen. Ein Fachmann der relevanten Technik wird jedoch erkennen, dass Ausführungsformen ohne eine oder mehrere der spezifischen Details oder mit anderen Verfahren, Komponenten, Materialien usw. praktiziert werden können. In anderen Beispielen werden gut bekannte Strukturen, Materialien oder Operationen nicht im Detail gezeigt oder beschrieben, um verwirrende Aspekte der Ausführungsformen zu vermeiden.
-
Aspekte der Ausführungsformen werden unten mit Bezug auf schematische Flussdiagramme und/oder schematische Blockdiagramme der Verfahren, der Vorrichtungen, der Systeme und Programmprodukte gemäß den Ausführungsformen beschrieben. Es ist verständlich, dass jeder Block der schematischen Flussdiagramme und/oder schematischen Blockdiagramme und Kombinationen der Blöcke in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen durch Codes ausführbar sind. Diese Codes können einem Prozessor eines Computers für allgemeine Zwecke, eines Computers für spezielle Zwecke oder anderen programmierbaren Datenverarbeitungsvorrichtungen zur Verfügung gestellt werden, um eine Maschine zu erzeugen, so dass die Instruktionen, die über den Prozessor des Computers oder andere programmierbare Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Ausführen der Funktionen/Aktionen erzeugen, die in dem schematischen Flussdiagramm- und/oder dem schematischen Blockdiagrammblock oder den Blöcken spezifiziert sind.
-
Der Code kann auch in einem Speichergerät gespeichert werden, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Geräte anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die Instruktionen, die in dem Speichergerät gespeichert sind, einen Gegenstand der Herstellung erzeugen können, einschließlich der Instruktionen, welche die Funktionen/Aktionen, die in dem schematischen Flussdiagramm- und/oder dem schematischen Blockdiagrammblock oder den Blöcken spezifiziert sind.
-
Der Code kann auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte geladen werden, um eine Serie von operativen Schritten auf dem Computer oder anderen programmierbaren Vorrichtungen oder anderen Geräten zu veranlassen, ausgeführt zu werden, um einen computerausführbaren Prozess zu erzeugen, so dass der Code, der auf dem Computer oder den anderen programmierbaren Vorrichtungen ausgeführt wird, Prozesse zum Ausführen der Funktionen/Aktionen ausführt, die in dem schematischen Flussdiagramm- und/oder dem schematischen Blockdiagrammblock oder den Blöcken spezifiziert sind, bereitstellt.
-
Die schematischen Flussdiagramme und/oder schematischen Blockdiagramme in den Figuren stellen die Architektur, Funktionalität und den Betrieb von möglichen Ausführungen der Vorrichtungen, Systeme, Verfahren und Programmprodukte gemäß verschiedener Ausführungsformen bereit. In dieser Beziehung kann jeder Block in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen ein Modul, ein Segment, einen Abschnitt eines Codes darstellen, der ein oder mehrere ausführbare Instruktionen des Codes zum Ausführen der spezifischen logischen Funktion(en) umfasst.
-
Es ist anzumerken, dass in einigen alternativen Ausführungen die Funktionen, die in dem Block vermerkt sind, außerhalb der Reihenfolge, die in den Figuren vermerkt ist, auftreten können. Zum Beispiel können zwei Blöcke, die in einer Reihenfolge gezeigt werden, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder können die Blöcke manchmal in umgekehrter Reihenfolge, die von der betroffenen Funktionalität abhängt, ausgeführt werden. Andere Schritte und Verfahren können konzipiert werden, die äquivalent in Funktion, Logik oder Wirkung zu einem oder mehreren Blöcken oder Abschnitten davon in den dargestellten Figuren sind.
-
Obwohl verschiedene Pfeiltypen in den Flussdiagrammen und/oder Blockdiagrammen ausgeführt sein können, ist es verständlich, dass der Schutzumfang der entsprechenden Ausführungsformen nicht darauf beschränkt ist. Tatsächlich können einige Pfeile oder andere Verbindungen verwendet werden, um nur den logischen Fluss der gezeigten Ausführungsform anzuzeigen. Zum Beispiel kann ein Pfeil eine Warte- oder Überwachungsperiode von nicht spezifizierter Dauer zwischen aufgezählten Schritten der gezeigten Ausführungsform anzeigen. Es ist auch zu beachten, dass jeder Block der Blockdiagramme und/oder Flussdiagramme und Kombinationen der Blöcke in den Blockdiagrammen und/oder Flussdiagrammen für spezielle Zwecke der auf Hardware basierenden Systeme ausgeführt sein können, welche die spezifischen Funktionen oder Aktionen, oder Kombinationen für einen speziellen Zweck der Hardware und des Codes, ausführen.
-
Die Beschreibung der Elemente in jeder Figur kann sich auf Elemente für die nachfolgenden Figuren beziehen. Ähnliche Nummern beziehen sich auf ähnliche Elemente in allen Figuren, einschließlich alternativen Ausführungsformen von ähnlichen Elementen.
-
1 zeigt ein schematisches Blockdiagramm, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks darstellt. In einer Ausführungsform umfasst die Vorrichtung 100 einen Prozessor 102 und einen Speicher 104, der einen durch den Prozessor 102 ausführbaren Code speichert. Der Prozessor 102 kann irgendein Prozessor sein, der in der Lage ist, ausführbare Codes auszuführen, wie es ein Fachmann der Technik zu würdigen weiß. Der Speicher 104 kann irgendein Speicherlagergerät sein, das in der Lage ist, einen ausführbaren Code zu speichern, wie es ein Fachmann der Technik zu würdigen weiß. Der Speicher 104 kann flüchtig, nichtflüchtig, im festen Zustand, magnetisch, optisch oder anders oder ähnlich sein.
-
In einer Ausführungsform kann der Code ein Assoziationsmodul 120 einschließen, das einen schnittstellenausführbaren Code mit einer oder mehreren Netzwerkschnittstellen assoziiert. Der Code kann irgendeine Form eines ausführbaren Codes sein, wie es ein Fachmann der Technik zu würdigen weiß. In bestimmten Ausführungsformen kann der ausführbare Code einen Treiber, eine Bibliothek, eine Applikation oder andere oder ähnliche aufweisen, wie es ein Fachmann der Technik zu würdigen weiß.
-
In einem Beispiel kann ein lokales Netzwerk viele Router mit variierenden Fähigkeiten einschließen. Entsprechende Router können, obwohl sie in einem Netzwerk enthalten sein können, unterschiedliche Netzwerkschnittstellen sein. Zum Beispiel kann ein Router schneller sein als die anderen Router und das Assoziationsmodul 120 kann den ausführbaren Code mit dem schnelleren Router assoziieren. In einem anderen Beispiel kann ein Router eine höhere Signalstärke aufweisen als die anderen Router auf dem Netzwerk und das Assoziationsmodul 120 kann einen Router mit dem ausführbaren Code assoziieren.
-
In einem anderen Beispiel kann ein Router schneller leisten, aber eine höhere Signalstärke haben, während ein anderer Router langsamer leisten aber zuverlässiger sein kann als der schnellere Router. Das Assoziationsmodul 120 kann einen Abschnitt des ausführbaren Codes mit dem schnelleren Router und einen anderen Abschnitt des ausführbaren Codes mit dem zuverlässigeren Router assoziieren.
-
Das Assoziationsmodul 120 kann einen oder mehrere Abschnitte eines ausführbaren Codes mit einer oder mehreren Netzwerkschnittstellen, basierend auf einer Nutzerpräferenz, einem Prioritätswert, einer Kategorie oder anderen oder ähnlichen, assoziieren.
-
Zum Beispiel kann ein ausführbarer Code eine höhere Qualität fordern, aber gelegentliche Fehler tolerieren. In diesem Beispiel kann das Assoziationsmodul 120 den ausführbaren Code mit dem schnelleren Router assoziieren, der weniger zuverlässig ist. Ein anderer ausführbarer Code kann eine höhere Zuverlässigkeit fordern, aber langsamerer Geschwindigkeiten tolerieren. Das Assoziationsmodul 120 kann diesen ausführbaren Code mit dem langsameren Router assoziieren, der eine höhere Signalstärke aufweisen kann oder der zuverlässiger leisten kann. Natürlich kann die Vorrichtung 100 beide Abschnitte des ausführbaren Codes gleichzeitig ausführen, wie es in späteren Ausführungsformen beschrieben wird.
-
In bestimmten Ausführungsformen kann das Assoziationsmodul 120 einen ausführbaren Code mit einer Netzwerkschnittstelle in Reaktion auf eine Indikation durch einen Nutzer assoziieren. Die Vorrichtung 100 kann eine Nutzerschnittstelle für den Nutzer darstellen und kann Antworten, Einstellungen, Konfigurationsparameter oder Ähnliches empfangen, die gewünschte Assoziationen zwischen verschiedenen Abschnitten des ausführbaren Codes und einer oder mehreren Netzwerkschnittstellen anzeigen.
-
In einer anderen Ausführungsform kann das Assoziationsmodul 120 einen ausführbaren Code mit einer oder mehreren Netzwerkschnittstellen in Reaktion auf eine Indikation von einem Nutzer assoziieren. Zum Beispiel kann eine Nutzerschnittstelle für die Vorrichtung 100 Optionen für einen Nutzer einschließen, um eine oder mehrere Netzwerkschnittstellen anzuzeigen. Zum Beispiel kann die Nutzerschnittstelle eine Liste von Applikationen darstellen, welche auf der Vorrichtung 100 betrieben werden können, und eine Liste mit Netzwerkschnittstellen, die für die Vorrichtung 100 zur Verfügung stehen können. Das Assoziationsmodul 120 kann eine oder mehrere Indikationen von dem Nutzer empfangen und kann Abschnitte des ausführbaren Codes mit einer oder mehreren Netzwerkschnittstellen basierend auf der Indikation von dem Nutzer assoziieren.
-
In einer anderen Ausführungsform kann das Assoziationsmodul 120 eine Applikation assoziieren, basierend auf wenigstens einem Teil der Applikation, die ein Mitglied einer Kategorie ist. Zum Beispiel kann ein Nutzer eine oder mehrere Kategorien von Applikationen für die Vorrichtung 100 definieren. Zum Beispiel können Kategorien einschließen, sind aber nicht beschränkt auf, Unterhaltungsapplikationen, Musikapplikationen, Speicherapplikationen, Finanzapplikation, soziale Applikationen, einen Betriebssystemcode, einen Treibercode, Bibliotheken oder andere oder ähnliche Applikationen. Ein Nutzer kann eine Applikation installieren, die eine finanzielle Applikation sein kann, und das Applikationsmodul 120 kann die installierte finanzielle Applikation mit einer Netzwerkschnittstelle assoziieren, die mit der Kategorie der Finanzapplikationen assoziiert sein kann. Deshalb kann in bestimmten Ausführungsformen das Assoziationsmodul 120 automatisch die Finanzapplikation mit einer Netzwerkschnittstelle, basierend auf der Kategorie und ohne eine Intervention des Nutzers assoziieren.
-
In einer anderen Ausführungsform kann die Vorrichtung ein Auswahlmodul 140 einschließen. In bestimmten Ausführungsformen kann das Modul 140 für Einstellungen einen Code einschließen, der eine der Netzwerkschnittstellen in Reaktion auf ein Erfassen einer Netzwerkkommunikation ausgehend von dem Abschnitt des ausführbaren Codes auswählt.
-
In einer Ausführungsform kann eine Applikation, die auf der Vorrichtung 100 betrieben wird, eine Netzwerkverbindung mit einem entfernten Server anfragen. Basierend auf dem Assoziationsmodul 120, welches die Applikation mit einer verfügbaren Netzwerkschnittstelle assoziiert hat, kann das Auswahlmodul 140 eine verfügbare (und assoziierte) Netzwerkschnittstelle in Reaktion auf die Applikation, welche die Verbindung anfragt, auswählen.
-
In einer Ausführungsform kann in Reaktion darauf, dass keine assoziierten Schnittstellen bestehen, das Auswahlmodul 140 vergeblich eine Netzwerkschnittstelle auswählen, obwohl eine oder mehrere Netzwerkschnittstellen für eine Benutzung zur Verfügung stehen.
-
In einem Beispiel kann die Vorrichtung 100 innerhalb eines Bereichs eines öffentlichen, nicht sicheren Netzwerks sein. In Reaktion auf eine Finanzapplikation, die eine Verbindung mit einem entfernten Server erfordert, kann das Assoziationsmodul 120 die Finanzapplikation nicht assoziiert haben und das Auswahlmodul 140 kann die angefragte Netzwerkverbindung abweisen. Deshalb kann in bestimmten Beispielen die Applikation mit dem ungesicherten öffentlichen Netzwerk unter Verwenden des ungesicherten Netzwerks kommunizieren, während andere Applikationen, die nicht mit dem ungesicherten Netzwerk assoziiert sind, nicht unter Verwenden des öffentlichen ungesicherten Netzwerks kommunizieren können. Ein Bereitstellen der Netzwerkverfügbarkeit auf der Applikationsebene kann die Sicherheit durch nicht erlauben, dass eine private Information über eine unbekannte Netzwerkschnittstelle (oder ein nicht assoziiertes Netzwerk) übertragen wird, erhöhen.
-
In einem Beispiel kann ein lokales Netzwerk einen ungesicherten drahtlosen Router und einen gesicherten verdrahteten Router aufweisen. Die Vorrichtung 100 kann mit dem lokalen Netzwerk über beide, dem ungesicherten drahtlosen Router und dem gesicherten verdrahteten Router, verbunden sein. Natürlich kann die Vorrichtung 100 konfiguriert sein, um Verkehr zu einem oder dem anderen der Router so auszuführen, dass korrekte Netzwerkbetriebsvorgänge aufrechterhalten werden (nämlich keine Rückkopplungsprobleme auf einem Ethernet-Netzwerk oder ähnlichen zu erzeugen).
-
In einer anderen Ausführungsform kann das Auswahlmodul 140 den ungesicherten drahtlosen Router bei einer Internet-Browser-Applikation auswählen und kann den gesicherten verdrahteten Router bei einer Finanzapplikation auswählen. Deshalb kann das Auswahlmodul 140 eine oder mehrere Netzwerkschnittstellen für einen oder mehrere Abschnitte des ausführbaren Codes auswählen. In einer anderen Ausführungsform kann das Auswahlmodul 140 den ungesicherten drahtlosen Router für das Betriebssystem auswählen und kann den gesicherten verdrahteten Router für die Benutzung nur durch die Finanzapplikation auswählen. Natürlich ist diese Offenbarung nicht in dieser Beziehung beschränkt, da das Auswahlmodul 140 eine oder mehrere Netzwerkschnittstellen in Reaktion auf eine oder mehrere verfügbare und mit einem ausführbaren Code, der auf der Vorrichtung 100 ausgeführt wird, assoziierte Netzwerkschnittstellen auswählen kann.
-
Das Assoziationsmodul 120 kann in einer weiteren Ausführungsform viele bestimmte Abschnitte des ausführbaren Codes mit einem Router eines lokalen Netzwerkes in Reaktion darauf, dass keine anderen Router verfügbar sind, assoziieren. In anderen Ausführungsformen kann das Assoziationsmodul 120 die Ausführbaren nicht mit irgendwelchen Netzwerkschnittstellen assoziieren in Reaktion darauf, dass Abschnitte des ausführbaren Codes nicht mit einer Netzwerkschnittstelle assoziiert sind. Deshalb kann in bestimmten Beispielen die Vorrichtung 100 eine Netzwerkschnittstelle nicht benutzen, obwohl sie innerhalb des Bereichs und verfügbar sein kann.
-
In einer anderen Ausführungsform können die Netzwerkschnittstellen in einer priorisierten Liste enthalten sein und kann das Auswahlmodul 140 die Netzwerkschnittstelle ferner basierend auf einem Prioritätswert auswählen.
-
In einer Ausführungsform können die assoziierten Netzwerkschnittstellen in einer priorisierten Liste bereitgestellt werden. Zum Beispiel kann das Assoziationsmodul 120 eine erste Applikation und eine zweite Applikation sowohl mit einer Schnittstelle eines lokalen Netzwerkes als auch einer Schnittstelle eines Breitbandnetzwerkes assoziieren. Das Assoziationsmodul 120 kann einen Prioritätswert für die Applikationen einschließen, so dass die erste Applikation das lokale Netzwerk gegenüber dem Breitbandnetzwerk bevorzugen kann, während die zweite Applikation das Breitbandnetzwerk gegenüber dem lokalen Netzwerk bevorzugen kann.
-
In Reaktion auf beide zur Verfügung stehenden Netzwerke kann das Auswahlmodul 140 das lokale Netzwerk für die erste Applikation auswählen und das Breitbandnetzwerk für die zweite Applikation auswählen. In Reaktion darauf, dass nur das Breitbandnetzwerk zur Verfügung steht oder nur das lokale Netzwerk zur Verfügung steht, kann das Auswahlmodul 140 nur das zur Verfügung stehende Netzwerk für beide Applikationen auswählen.
-
In einer anderen Ausführungsform kann der Schnittstellen ausführbare Code eine bevorzugte Netzwerkschnittstelle anzeigen. Zum Beispiel kann eine Applikation, welche die Vorrichtung 100 ausführt, nur den Gebrauch einer Schnittstelle eines Breitbandnetzwerkes anzeigen. Das Assoziationsmodul 120 kann die Applikation mit dem Breitbandnetzwerk assoziieren und kann die Applikation von anderen Netzwerken abtrennen. Das Auswahlmodul 140 kann das Breitbandnetzwerk in Reaktion auf die Applikation, die eine Verbindung mit einem entfernten Server anfordert, auswählen. Deshalb kann in bestimmten Ausführungsformen das Auswahlmodul 140 eine oder mehrere verfügbare Netzwerkschnittstellen in Reaktion auf eine Indikation von dem Abschnitt des ausführbaren Codes auswählen.
-
In einer Ausführungsform kann das Auswahlmodul 140 eine Netzwerkschnittstelle für die Vorrichtung 100 in Reaktion auf den schnittstellenausführbaren Code, der eine Verbindung mit einem entfernten Gerät anfragt, wechseln. Zum Beispiel kann eine erste Applikation mit einer ersten Netzwerkschnittstelle assoziiert sein und kann über die erste Netzwerkschnittstelle kommunizieren. Die erste Applikation kann nicht mit einer zweiten Netzwerkschnittstelle assoziiert sein. Ein Nutzer kann die zweite Applikation initiieren und die zweite Applikation kann eine Netzwerkverbindung zu einem entfernten Gerät erbitten. Das Auswahlmodul 140 kann die zweite Netzwerkschnittstelle für die zweite Applikation auswählen und die zweite Applikation kann mit dem entfernten Gerät unter Verwenden der zweiten Netzwerkschnittstelle kommunizieren. In Reaktion auf das Wechseln der Vorrichtung 100 von der zweiten Applikation zu der ersten Applikation kann das Auswahlmodul 140 entsprechend die erste Netzwerkschnittstelle auswählen. Deshalb kann in bestimmten Beispielen das Auswahlmodul 140 dynamisch zwischen zwei oder mehr Netzwerkschnittstellen wechseln, basierend auf unterschiedlichen Abschnitten des ausführbaren Codes, der auf der Vorrichtung betrieben wird, unter Anfragen von Verbindungen zu einem oder mehreren entfernten Geräten.
-
In einer anderen Ausführungsform kann das Auswahlmodul 140 eine Bestätigung von einem Nutzer der Vorrichtung 100 ersuchen, bevor von einer Netzwerkschnittstelle zu einer anderen Netzwerkschnittstelle gewechselt wird. Ferner kann sich das Auswahlmodul 140 an frühere Bestätigungen erinnern und kann Bestätigungen der erinnerten Auswahl oder Indikationen durch den Nutzer anfragen oder nicht.
-
In einer anderen Ausführungsform kann das Auswahlmodul 140 eine Netzwerkschnittstelle für einen ausführbaren Code auswählen, basierend auf wenigstens einem Teil eines Ziels für eine Netzwerkkommunikation. Zum Beispiel kann ein ausführbarer Code anfragen, mit einem ersten entfernten Gerät und einem zweiten entfernten Gerät zu kommunizieren. Das Assoziationsmodul 120 kann sowohl das erste als auch das zweite entfernte Gerät mit dem ausführbaren Code assoziiert haben.
-
In Reaktion auf den ausführbaren Code, der eine Kommunikation mit dem ersten entfernten Gerät anfragt, kann das Auswahlmodul 140 die erste Netzwerkschnittstelle auswählen. In Reaktion auf den ausführbaren Code, der eine Kommunikation mit dem zweiten entfernten Gerät anfragt, kann das Auswahlmodul 140 die zweite Netzwerkschnittstelle auswählen.
-
In einer Ausführungsform kann die Vorrichtung 100 ein Richtungsmodul 160 einschließen, welches eine Netzwerkkommunikation auf eine ausgewählte Netzwerkschnittstelle ausrichten kann. In bestimmten Ausführungsformen kann, wenn das Auswahlmodul 140 verschiedene Netzwerkschnittstellen auswählt, das Richtungsmodul 160 Netzwerkkommunikationen von entsprechenden Abschnitten des ausführbaren Codes an ausgewählte Netzwerkschnittstellen, wie hierin beschrieben, richten.
-
In einem Beispiel kann das Assoziationsmodul 120 eine erste Applikation mit einem drahtlosen lokalen Netzwerk und eine zweite Applikation mit einem Breitbandnetzwerk assoziieren. Wie vorhergehend beschrieben, kann das Auswahlmodul 140 eine Netzwerkschnittstelle auswählen, basierend auf einer oder mehreren Assoziationen zwischen Abschnitten des ausführbaren Codes und den ausgewählten Netzwerkschnittstellen.
-
In einer Ausführungsform kann das Richtungsmodul 160 Kommunikationen von der ersten Applikation zu dem drahtlosen lokalen Netzwerk und Kommunikationen von der zweiten Applikation zu dem Breitbandnetzwerk ausrichten. Deshalb kann in bestimmten Beispielen das Richtungsmodul 160 der Vorrichtung 100 ermöglichen, über zwei oder mehr Netzwerkschnittstellen gleichzeitig zu kommunizieren, weil zwei oder mehr Abschnitte des ausführbaren Codes über ihre entsprechenden assoziierten Netzwerke kommunizieren.
-
In einem Beispiel kann die Vorrichtung 100 ein Wi-Fi-Netzwerk, ein sicheres Wi-Fi-Netzwerk, ein Weitverkehrsnetz und ein virtuelles privates Netzwerk einschließen. Wie durch das Auswahlmodul 140 angezeigt, kann das Richtungsmodul 160 Netzwerkkommunikationen von einer sozialen Applikation zu dem Wi-Fi-Netzwerk ausrichten, können Netzwerkkommunikationen von einer Finanzapplikation zu dem sicheren Wi-Fi-Netzwerk ausgerichtet werden, können Web-Browsing-Kommunikationen zu dem Weitverkehrsnetz ausgerichtet werden und können vertrauliche Kommunikationen zu dem virtuellen privaten Netzwerk ausgerichtet werden. Deshalb kann die Vorrichtung 100 gleichzeitig mit jedem der vier Netzwerkschnittstellen kommunizieren und können entsprechende Kommunikationen von den verschiedenen Abschnitten des Codes durch das Richtungsmodul 160 zu ihren assoziierten Netzwerkschnittstellen wie hierin beschrieben ausgerichtet sein.
-
2 ist eine Darstellung, die Beispiele von ausführbaren Codes gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt. In einer Ausführungsform kann eine Vorrichtung 100 eine Hardware 202 einschließen wie, aber nicht beschränkt auf, einen Prozessor, einen Datenspeicher, einen Speicher, ein Netzwerk, eine Anzeige, Kommunikationen, Schnittstellen, Eingabegeräte, Ausgabegeräte oder ähnliche Geräten. Ein Betriebssystem 204 für die Vorrichtung 100 kann einschließen, ist aber nicht begrenzt auf, WindowsTM, Linux, MacOSTM, Unix, andere Unix Varianten, andere Linux Varianten, Windows Varianten, Desktop-Betriebssysteme, Serverbetriebssysteme oder andere oder ähnlichen Systemen. Natürlich ist diese Offenbarung nicht auf irgendwelche speziellen Betriebssysteme begrenzt.
-
Das Betriebssystem 204 kann einen oder mehrere Abschnitte eines Codes einschließen und kann verschiedene Hardware- 202 Komponenten der Vorrichtung 100 betreiben. Das Betriebssystem 204 kann einer Applikation zeigen, welche Netzwerkschnittstelle verfügbar sein kann. Deshalb kann das Betriebssystem 204 die Verwendung von einer oder mehreren Netzwerkschnittstellen einschränken. Ein schnittstellenausführbarer Code, wie er hierin beschrieben wird, kann eine Schnittstelle des Betriebssystems 204 für die Vorrichtung 200 einschließen.
-
Das Betriebssystem 204 kann ein oder mehrere Laufwerke oder Bibliotheken 206 einschließen. Weil ein Laufwerk oder eine Bibliothek hauptsächlich für Netzwerkkommunikationen verantwortlich sind, kann der ausführbare Code ein Laufwerk oder eine Bibliothek 206 einschließen, wie es ein Fachmann der Technik zu würdigen weiß. Deshalb kann in bestimmten Ausführungsformen das Richtungsmodul 260 Netzwerkkommunikationen von einem Laufwerk 206 auf eine ausgewählte Netzwerkschnittstelle ausrichten.
-
Die Vorrichtung 100 kann eine Applikation einschließen. Wie hierin beschrieben, kann ein Schnittstellen ausführbarer Code die Applikation einschließen, wie es ein Fachmann der Technik zu würdigen weiß. Deshalb kann das Richtungsmodul 160 Kommunikationen einer Applikation, die auf der Vorrichtung 100 betrieben wird, zu einer ausgewählten Netzwerkschnittstelle ausrichten.
-
In einem Beispiel können viele Applikationen 208 mit einem oder mehreren fernen Geräten kommunizieren, und das Richtungsmodul 160 kann diese Kommunikationen von entsprechenden Applikationen zu ihren assoziierten und ausgewählten Netzwerkschnittstellen wie hierin beschrieben ausrichten. Deshalb kann in bestimmten Ausführungsformen, wie sie hierin beschrieben werden, ein schnittstellenausführbarer Code aus einer Gruppe ausgewählt werden, bestehend aus einer Applikation, einem Betriebssystem, einem Treiber und einer Bibliothek oder anderen oder ähnlichen Applikationen.
-
3 ist ein Diagramm, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks gemäß der dargestellten Offenbarung darstellt. In einer Ausführungsform kann die Vorrichtung 100 eine Hardware 202 einschließen, um über ein verdrahtetes Netzwerk 302 mit einem verdrahteten Netzwerkrouter 304 und über ein drahtloses Netzwerk 306 mit einem drahtlosen Netzwerkrouter 308 zu kommunizieren. Das Assoziationsmodul 120 kann einen oder mehrere Abschnitte des ausführbaren Codes mit dem verdrahteten Netzwerk 302 assoziieren und kann andere Abschnitte des ausführbaren Codes mit dem drahtlosen Netzwerk 306 assoziieren.
-
Das Assoziationsmodul 120 kann ferner Applikationen, die auf der Vorrichtung 100 ausgeführt werden, entweder mit dem verdrahteten Netzwerk 302 und/oder dem drahtlosen Netzwerk 306 assoziieren. Das Assoziationsmodul 120 kann den ausführbaren Code sowohl mit dem verdrahteten Netzwerk 302 als auch dem drahtlosen Netzwerk 306 assoziieren und kann einen Prioritätswert einschließen. In Reaktion darauf, dass sowohl das verdrahtete Netzwerk 302 als auch das drahtlose Netzwerk 306 der Vorrichtung 100 zur Verfügung stehen, kann das Auswahlmodul 140 eines von dem verdrahteten Netzwerk 302 oder dem drahtlosen Netzwerk 306 basierend auf dem Prioritätswert wie vorhergehend beschrieben auswählen.
-
In einer anderen Ausführungsform kann das Assoziationsmodul 120 dynamisch die Assoziationen zwischen Abschnitten des ausführbaren Codes und den Netzwerkschnittstellen ändern. Zum Beispiel kann das Assoziationsmodul 120 in Reaktion auf ein Hereinkommen und Herausgehen aus dem Bereich des drahtlosen Netzwerks 306 die Assoziation mit dem drahtlosen Netzwerk 306 solange absetzen, bis das drahtlose Netzwerk beständiger zur Verfügung steht. In einer anderen Ausführungsform kann das Assoziationsmodul 120 dynamisch Assoziationen zwischen Abschnitten des ausführbaren Codes und den Netzwerkschnittstellen in Reaktion auf eine oder mehrere leistungsschwache Schnittstelle(n) ändern.
-
Wenn zum Beispiel Kommunikationen über das verdrahtete Netzwerk 302 langsamer als erwartet sein können, kann das Assoziationsmodul 120 den ausführbaren Code mit dem drahtlosen Netzwerk 306 assoziieren. Das verdrahtete Netzwerk kann zum Beispiel belegt sein oder kann unter einer Fehlfunktion oder unter einem andern Fehler leiden. Das Assoziationsmodul 102 kann eine Benachrichtigung von dem verdrahteten Router 304 empfangen, dass er Schwierigkeiten ausgesetzt ist. In Reaktion darauf kann das Assoziationsmodul 120 die Assoziation mit der verdrahteten Netzwerkschnittstelle 302, bis die Fehlerbedingung des verdrahteten Routers 304 korrigiert ist, aussetzen.
-
4 ist ein Diagramm, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks gemäß der vorgestellten Offenbarung darstellt. In einer Ausführungsform kann die Vorrichtung 100 eine erste Applikation A 402a und eine zweite Applikation B 402b gleichzeitig auf der Vorrichtung 100 betreiben. Das Assoziationsmodul 120 kann den Applikationsschnittstellencode 402a mit einer Netzwerkschnittstelle 410a und den Applikationsschnittstellencode 402b mit einer Netzwerkschnittstelle 410b assoziieren. Entsprechende Netzwerkschnittstellen 410 können verdrahtet, drahtlos oder anders oder ähnlich sein, wie es ein Fachmann der Technik zu würdigen weiß.
-
Entsprechende Router 420 können mit einem Weitverkehrsnetz wie, aber nicht beschränkt auf, dem Internet verbunden sein. Ein Zielgerät 460 kann für Verbindungen zur Verfügung stehen, wie es ein Fachmann der Technik zu würdigen weiß.
-
In einem Beispiel kann die Applikation A 402a eine Verbindung zu dem Zielgerät 460 fordern. Weil das Assoziationsmodul 120 das Netzwerk 410a mit der Applikation A assoziiert haben kann, kann die Anfrage über die Netzwerkschnittstelle 410a übertragen werden. Das Zielgerät 460 kann die Verbindung akzeptieren und Daten können zwischen der Applikation A 402a und dem Zielgerät 460 übertragen werden.
-
Weiterhin kann die Applikation B 402b eine Verbindung zu dem Zielgerät 460 fordern. Weil das Assoziationsmodul 120 das Netzwerk 410b mit der Applikation B assoziiert haben kann, kann die Anfrage über die Netzwerkschnittstelle 410b übertragen werden. Das Zielgerät 460 kann die Verbindung akzeptieren und Daten können zwischen der Applikation B 402b und dem Zielgerät 460 übertragen werden.
-
Deshalb können in bestimmten Ausführungsformen die Applikation A 402a und die Applikation B 402b gleichzeitig mit dem Zielgerät 460 über getrennte Verbindungen und getrennte Netzwerkschnittstellen 410 kommunizieren. Weil entsprechende Router 420 eine Internet Protokoll (IP) Adresse für die Vorrichtung 100 verbergen können, kann das Zielgerät 460 nicht feststellen, dass beide Verbindungen von der Vorrichtung 100 stammen. Das Zielgerät 460 kann nur die entsprechenden Router 420 sehen.
-
5 ist ein Diagramm, das eine Ausführungsform einer Vorrichtung zum Auswählen eines Netzwerks gemäß der vorgestellten Offenbarung darstellt. In einer Ausführungsform kann die Vorrichtung 100 einen schnittstellenausführbaren Code umfassen. Das Assoziationsmodul 120 kann den ausführbaren Code mit der Netzwerkschnittstelle 510a und der Netzwerkschnittstelle 510b assoziieren.
-
Der ausführbare Code kann eine Verbindung zu dem Zielgerät 560a fordern. Basierend auf dem Zielgerät 560a kann das Auswahlmodul 140 die Netzwerkschnittstelle 510a auswählen, um die Verbindungsanfrage zu übertragen. Dies kann selbst dann der Fall sein, wenn eine andere Route zu dem Zielgerät über das Netzwerk 440 existieren kann.
-
Weiterhin kann der ausführbare Code eine Verbindung zum Zielgerät 560b fordern. Basierend auf dem Zielgerät 560b kann das Auswahlmodul 140 die Netzwerkschnittstelle 510b auswählen, um die Verbindungsanfrage zu übertragen. Dies kann selbst dann der Fall sein, wenn es anderen Routen zu dem Zielgerät gibt. Deshalb kann in bestimmten Ausführungsformen das Auswahlmodul 140 eine Netzwerkschnittstelle wenigstens teilweise basierend auf dem Zielgerät auswählen.
-
6 ist ein Diagramm, das Assoziationen gemäß einer der Ausführungsformen der vorgestellten Offenbarung darstellt. In einer Ausführungsform kann das Assoziationsmodul 120 ein oder mehrere Abschnitte des ausführbaren Codes mit einer oder mehreren Netzwerkschnittstellen, basierend auf einer Kategorie oder Priorität, assoziieren.
-
In einem Beispiel kann das Assoziationsmodul 120 zwei Kategorien in einer finanziellen und einer Unterhaltungstabelle einschließen. Die Tabelle kann auch eine Zeile für erlaubte Netzwerke und Prioritäten und eine Zeile für Applikationen aufweisen. Erlaubte Netzwerke für die finanzielle Kategorie von Applikationen können in der Tabellenzelle wie gezeigt eingeschlossen sein. Erlaubte Netzwerke für die Unterhaltungskategorie können in der Tabellenzelle wie gezeigt eingeschlossen sein. Eine zweite Zeile in der Tabelle kann Applikationen einschließen, die mit der Kategorie assoziiert sind.
-
Das Assoziationsmodul 120 kann Schnellbuchungen und eine Verrechnungsapplikation mit Netzwerkschnittstellen "Netzwerk B" und "Netzwerk D" assoziieren. Das Assoziationsmodul 120 kann eine Internet-Browser-Applikation und eine Musik-Player-Applikation mit Netzwerkschnittstellen "Netzwerk A", "Netzwerk C" und "Netzwerk D" assoziieren.
-
Weiterhin kann eine Folge der Netzwerkschnittstellen in der ersten Zeile der Tabelle auch eine Priorität anzeigen. Zum Beispiel kann die Unterhaltungskategorie der Tabelle Netzwerke A, C und D in dieser Reihenfolge zeigen. Wenn das Netzwerk A verfügbar ist, dann werden deshalb die Unterhaltungskategorien des Netzwerks A durchsucht. Wenn das Netzwerk A nicht verfügbar ist, aber das Netzwerk C, dann werden Netzwerkkommunikationen durch das Netzwerk C wie vorhergehend beschrieben ausgerichtet. Wenn weder das Netzwerk A noch das Netzwerk C verfügbar sind, aber das Netzwerk D, dann wird das Richtungsmodul 160 Netzwerkkommunikationen über die Netzwerkschnittstelle D ausrichten.
-
In einem Beispiel kann das Assoziationsmodul 120 eine Applikation zu der Tabelle der Unterhaltungsspalte der Tabelle hinzufügen. In Reaktion darauf kann das Assoziationsmodul 120 Assoziationen zwischen der hinzugefügten Applikation und den Netzwerken A, C und D, wie in der Tabelle gezeigt, erzeugen. In einem anderen Beispiel kann ein Nutzer zeigen, dass ein neues Netzwerk, Netzwerk E, für finanzielle Applikationen zur Verfügung steht. Das Assoziationsmodul 120 kann das Netzwerk E zu der Tabelle hinzufügen und das Assoziationsmodul 120 kann automatisch die Assoziationen zwischen dem neuen Netzwerk und den finanziellen Applikationen, die in der finanziellen Spalte der Tabelle aufgelistet sind, aktualisieren. Natürlich sind für den Fachmann der Technik andere Wege ersichtlich, in denen eine Anzahl von Assoziationen aufrechterhalten werden kann und ist diese Offenbarung in dieser Beziehung nicht begrenzt.
-
In einem anderen Beispiel kann die Tabelle eine Spalte für "unbekannte" Applikationen einschließen. In Reaktion auf das Hinzufügen einer Applikation zu der Vorrichtung 100 durch den Nutzer, kann das Assoziationsmodul 120 einen Eingang für die neue Applikation in der "unbekannten" Kategorie eingeben und kann geeignete Assoziationen, basierend auf den Netzwerkschnittstellen, die mit der "unbekannten" Kategorie assoziiert sind, erzeugen. Natürlich ist diese Offenbarung nicht in dieser Beziehung begrenzt und können andere Namen, Kategorien usw. verwendet werden.
-
7 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks darstellt. In einer Ausführungsform kann das Verfahren beginnen und das Assoziationsmodul 120 kann bei 702 Schnittstellen des ausführbaren Codes mit einer oder mehreren Netzwerkschnittstellen assoziieren. Das Auswahlmodul 140 kann bei 704 eine der Netzwerkschnittstellen in Reaktion auf eine Erfassungsnetzwerkkommunikation auswählen, die auf dem ausführbaren Code basiert. Das Richtungsmodul 160 kann bei 706 die Netzwerkkommunikation zu der ausgewählten Netzwerkschnittstelle ausrichten und das Verfahren kann enden.
-
8 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens für ein Auswählen eines Netzwerks darstellt. In einer Ausführungsform kann das Verfahren beginnen und das Assoziationsmodul 120 kann bei 802 einen ausführbaren Code mit einer oder mehreren Netzwerkschnittstellen assoziieren. Das Auswahlmodul 140 kann bei 804 ein Ziel der Netzwerkkommunikationen bestimmen, die auf einem Abschnitt des ausführbaren Codes basiert. Das Auswahlmodul 140 kann eine der Netzwerkschnittstellen auswählen, basierend auf dem festgesetzten Ziel. Das Richtungsmodul 160 kann bei 808 die Netzwerkkommunikation auf die ausgewählte Netzwerkschnittstelle ausrichten und das Verfahren kann beendet werden.
-
In einer anderen Ausführungsform kann das Auswählen auf einer Indikation des ausführbaren Codes basieren. Zum Beispiel kann ein Ausführen der Applikation den Gebrauch von einer oder mehreren verfügbaren Schnittstellen erfordern und das Auswahlmodul 140 kann dementsprechend die erforderliche Netzwerkschnittstelle auswählen. In einer anderen Ausführungsform kann die Indikation von einem Nutzer der Vorrichtung stammen.
-
In einer anderen Ausführungsform kann das Verfahren ein Priorisieren von assoziierten Netzwerkschnittstellen einschließen. Das Auswahlmodul 140 kann eine verfügbare Netzwerkschnittstelle basierend auf den Prioritätswerten auswählen.
-
9 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks darstellt. In einer Ausführungsform kann das Verfahren bei 900 beginnen und das Assoziationsmodul 120 kann eine oder mehrere Netzwerkschnittstellen mit dem ausführbaren Code assoziieren. Die Vorrichtung 100 kann bei 904 die Applikation A initiieren. In Reaktion auf die Applikation A, die initiiert wurde, kann das Auswahlmodul 140 eine Netzwerkverbindung für die Vorrichtung zum Netzwerk X (eine Netzwerkschnittstelle, die mit Applikation A assoziiert ist) schalten. Danach kann die Vorrichtung bei 908 die Applikation B initiieren. In Reaktion auf die Applikation B, die initiiert wurde, kann das Auswahlmodul 140 eine Netzwerkverbindung für die Vorrichtung zum Netzwerk Y (eine Netzwerkschnittstelle, die mit Applikation B assoziiert ist) wechseln und das Verfahren kann enden.
-
Deshalb kann in bestimmten Ausführungsformen das Auswahlmodul 140 eine Netzwerkschnittstelle in Reaktion auf den Code, der von der Vorrichtung 100 initiiert wurde, auswählen. In einer anderen Ausführungsform kann das Auswahlmodul 140 eine Netzwerkschnittstelle in Reaktion auf das Fokussieren des Codes auf einer Anzeige der Vorrichtung 100 auswählen. In Reaktion auf ein Wechseln einer Anzeige von einer Applikation zu einer anderen durch einen Nutzer, kann zum Beispiel das Auswahlmodul 140 auch eine Netzwerkverbindung zu einer, die mit der Applikation, auf die der Nutzer geschaltet hat, assoziiert ist, wechseln.
-
10 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks dargestellt. In einer Ausführungsform kann das Verfahren bei 1000 beginnen und das Assoziationsmodul 120 kann bei 1002 einen Web-Browser mit zwei Netzwerkschnittstellen, Netzwerk X und Netzwerk Y, assoziieren. Die Vorrichtung 100 kann bei 1004 die Browser-Applikation initiieren. Die Browser-Applikation, oder ein anderer ausführbarer Code, kann bei 1006 auf einen Server A zugreifen. In Reaktion auf die Netzwerkkommunikation, die auf den Server A ausgerichtet ist, kann das Auswahlmodul 140 bei 1008 eine Netzwerkverbindung für die Vorrichtung 100 zu dem Netzwerk X wechseln. Danach kann die Browser-Applikation bei 1010 auf den Server B zugreifen und das Auswahlmodul 140 kann bei 1012 eine Netzwerkverbindung für die Vorrichtung 100 zu dem Netzwerk Y wechseln. Wie hierin beschrieben, kann das Richtungsmodul 160 die Netzwerkkommunikationen zu den ausgewählten Servern ausrichten.
-
In einer Ausführungsform kann das Auswahlmodul 140 basierend auf einer Indikation von der Browser-Applikation wechseln. In einer anderen Ausführungsform kann das Auswahlmodul 140 durch Modifizieren eines Netzwerktreibers für die Vorrichtung wechseln, wobei das Schalten auf einer Zieladresse für die Kommunikationen zwischen der Vorrichtung 100 und dem Server A oder Server B basiert.
-
Ausführungsformen können in anderen spezifischen Formen praktiziert werden. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht nur als darstellend und nicht als beschränkend betrachtet werden. Der Schutzrahmen der Erfindung ist deshalb durch die anhängenden Ansprüche eher dargestellt als durch die vorhergehende Beschreibung. Alle Änderungen, welche innerhalb der Bedeutung und in den Bereich der Äquivalenz der Ansprüche fallen, sind mit ihrem Rahmen einbezogen.