DE102015111820B4 - Auswählen eines Netzwerkes - Google Patents

Auswählen eines Netzwerkes Download PDF

Info

Publication number
DE102015111820B4
DE102015111820B4 DE102015111820.3A DE102015111820A DE102015111820B4 DE 102015111820 B4 DE102015111820 B4 DE 102015111820B4 DE 102015111820 A DE102015111820 A DE 102015111820A DE 102015111820 B4 DE102015111820 B4 DE 102015111820B4
Authority
DE
Germany
Prior art keywords
network
executable code
router
code
routers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102015111820.3A
Other languages
English (en)
Other versions
DE102015111820A1 (de
Inventor
Arnold S. Weksler
John Mese
Nathan J. Peterson
Russell Speight VanBlon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of DE102015111820A1 publication Critical patent/DE102015111820A1/de
Application granted granted Critical
Publication of DE102015111820B4 publication Critical patent/DE102015111820B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/20Selecting an access point
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3808Network interface controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Vorrichtung (100), umfassend:- einen Prozessor (102);- eine Anzeige, auf die der Prozessor (102) zugreifen kann; und- einen Speicher (104), der Maschineninstruktionen speichert, die durch den Prozessor (102) ausführbar sind, wobei die Instruktionen umfassen:- einen Code, der einen ersten Abschnitt von ausführbarem Code mit einem schneller arbeitenden aber unzuverlässigeren Router assoziiert und der einen zweiten Abschnitt von ausführbarem Code mit einem langsamer arbeitenden aber zuverlässigeren Router assoziiert, wobei der erste Router und der zweite Router in demselben lokalen Netzwerk enthalten sind;- einen Code, der in Reaktion auf ein Erfassen einer Netzwerkkommunikation, die ausgehend von dem Abschnitt des ausführbaren Codes einen der Router auswählt; und- einen Code, der die Netzwerkkommunikation auf den ausgewählten Router ausrichtet.

Description

  • 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. So wie sich Computergeräte mit ihren entsprechenden Nutzern bewegen, können die Computergeräte in Kontakt und aus dem Kontakt mit einer breiten Vielfalt von unterschiedlichen Netzwerken 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. US 2007/0217349 A1 offenbart ein System und ein Verfahren, die es einem Benutzerendgerät in einem Netzwerk ermöglichen, gleichzeitig auf mehrere funkbasierte Zugangsnetzwerke verschiedener Zugangstechnologien zuzugreifen. US 2010/0153969 A1 beschreibt eine konfigurierbare Auswahl von Kommunikationsschnittstellen auf einem Multi-Homed-Computergerät. US 2007/0255797 A1 offenbart anwendungsspezifische Zugriffslisten, die für ein mobiles Multimode-Mobilgerät bereitgestellt werden. US 2008/0019339 A1 beschreibt Techniken zum Auswählen einer Funkschnittstelle für eine Anwendung.
  • 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.
  • Figurenliste
  • 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 verwenden die Speichergeräte nur Signale für Zugriffscodes.
  • 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), ein tragbarer 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 und Linientypen 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 Speicherdepotgerä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 arbeiten, aber eine höhere Signalstärke haben, während ein anderer Router langsamer arbeiten 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 Anderem oder Ähnlichem, 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 langsamere 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 arbeiten 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 eine mit dem ungesicherten öffentlichen Netzwerk assoziierte Applikation 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 drahtgebundenen Router aufweisen. Die Vorrichtung 100 kann mit dem lokalen Netzwerk über beide, den ungesicherten drahtlosen Router und den gesicherten drahtgebundenen 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 drahtgebundenen 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 drahtgebundenen 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 den ausführbaren Code 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 schnittstellenausführbarer 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 200 eine Hardware 202 einschließen wie, aber nicht beschränkt auf, einen Prozessor, einen Datenspeicher, einen Speicher, ein Netzwerk, eine Anzeige, Kommunikationsmittel, Schnittstellen, Eingabegeräte, Ausgabegeräte oder ähnliche Geräte. Ein Betriebssystem 204 für die Vorrichtung 100 kann einschließen, ist aber nicht begrenzt auf, Windows™, Linux, MacOS™, Unix, andere Unix Varianten, andere Linux Varianten, Windows Varianten, Desktop-Betriebssysteme, Serverbetriebssysteme oder andere oder ähnliche Systeme. 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 schnittstellenausfü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 drahtgebundenes Netzwerk 302 mit einem drahtgebundenen 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 drahtgebundenen 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 drahtgebundenen Netzwerk 302 und/oder dem drahtlosen Netzwerk 306 assoziieren. Das Assoziationsmodul 120 kann den ausführbaren Code sowohl mit dem drahtgebundenen Netzwerk 302 als auch dem drahtlosen Netzwerk 306 assoziieren und kann einen Prioritätswert einschließen. In Reaktion darauf, dass sowohl das drahtgebundene Netzwerk 302 als auch das drahtlose Netzwerk 306 der Vorrichtung 100 zur Verfügung stehen, kann das Auswahlmodul 140 eines von dem drahtgebundenen 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 drahtgebundene Netzwerk 302 langsamer als erwartet sein können, kann das Assoziationsmodul 120 den ausführbaren Code mit dem drahtlosen Netzwerk 306 assoziieren. Das drahtgebundene 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 drahtgebundenen Router 304 empfangen, dass er Schwierigkeiten ausgesetzt ist. In Reaktion darauf kann das Assoziationsmodul 120 die Assoziation mit der drahtgebundenen Netzwerkschnittstelle 302, bis die Fehlerbedingung des drahtgebundenen 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 drahtgebundenen, drahtlos oder anders oder ähnlich sein, wie es ein Fachmann der Technik zu würdigen weiß.
  • Entsprechende Router 420 können mit einem Weitverkehrsnetz 440 wie dem Internet, aber nicht darauf beschränkt, 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 700 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 800 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 bei 806 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 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 bei 906 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 bei 910 eine Netzwerkverbindung für die Vorrichtung zum Netzwerk Y (eine Netzwerkschnittstelle, die mit Applikation B assoziiert ist) schalten 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 zur Annahme eines 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 wechseln zu einer, die mit der Applikation, auf die der Nutzer geschaltet hat, assoziiert ist.
  • 10 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Auswählen eines Netzwerks dargestellt. In einer Ausführungsform kann das Verfahren 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 schalten. 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 schalten. 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 schalten. In einer anderen Ausführungsform kann das Auswahlmodul 140 durch Modifizieren eines Netzwerktreibers für die Vorrichtung schalten, 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.
  • Was beansprucht wird, ist:

Claims (20)

  1. Vorrichtung (100), umfassend: - einen Prozessor (102); - eine Anzeige, auf die der Prozessor (102) zugreifen kann; und - einen Speicher (104), der Maschineninstruktionen speichert, die durch den Prozessor (102) ausführbar sind, wobei die Instruktionen umfassen: - einen Code, der einen ersten Abschnitt von ausführbarem Code mit einem schneller arbeitenden aber unzuverlässigeren Router assoziiert und der einen zweiten Abschnitt von ausführbarem Code mit einem langsamer arbeitenden aber zuverlässigeren Router assoziiert, wobei der erste Router und der zweite Router in demselben lokalen Netzwerk enthalten sind; - einen Code, der in Reaktion auf ein Erfassen einer Netzwerkkommunikation, die ausgehend von dem Abschnitt des ausführbaren Codes einen der Router auswählt; und - einen Code, der die Netzwerkkommunikation auf den ausgewählten Router ausrichtet.
  2. Vorrichtung nach Anspruch 1, wobei das Auswählen der Router ferner auf einer Indikation von dem ausführbaren Code basiert.
  3. Vorrichtung nach Anspruch 1, wobei die assoziierten Router in einer priorisierenden Liste enthalten sind, wobei der Code die Router ferner basierend auf einem Prioritätswert auswählt.
  4. Vorrichtung nach Anspruch 1, wobei der Code die Router ferner basierend auf einem Zielgerät für die Netzwerkkommunikation auswählt.
  5. Vorrichtung nach Anspruch 1, wobei der Code, der den ausführbaren Code assoziiert, weiterhin basierend auf einem Indikator von einem Nutzer assoziiert.
  6. Vorrichtung nach Anspruch 1, wobei der ausführbare Code aus einer Gruppe ausgewählt ist, bestehend aus einer Applikation, einem Betriebssystem, einem Treiber und einer Bibliothek.
  7. Vorrichtung nach Anspruch 1, wobei der ausführbare Code in einer Kategorie enthalten ist, wobei die Router mit der Kategorie assoziiert sind.
  8. Verfahren, umfassend: - Assoziieren eines ersten Abschnitts von ausführbarem Code mit einem schneller arbeitenden aber unzuverlässigeren Router und Assoziieren eines zweiten Abschnitts von ausführbarem Code mit einem langsamer arbeitenden aber zuverlässigeren Router, wobei der erste Router und der zweite Router in demselben lokalen Netzwerk enthalten sind; - Auswählen einer des Routers in Reaktion auf ein Erfassen einer Netzwerkkommunikation, die von dem Abschnitt des ausführbaren Codes ausgeht; und - Ausrichten der Netzwerkkommunikation zu dem ausgewählten Router.
  9. Verfahren nach Anspruch 8, wobei das Auswählen der Router weiterhin auf einer Indikation von dem ausführbaren Code basiert.
  10. Verfahren nach Anspruch 8, ferner umfassend ein Priorisieren der assoziierten Router, wobei das Auswählen weiterhin auf einem Prioritätswert basiert.
  11. Verfahren nach Anspruch 8, wobei das Auswählen der Router weiterhin auf einem Zielgerät der Netzwerkkommunikation basiert.
  12. Verfahren nach Anspruch 8, wobei das Assoziieren auf einem Indikator von einem Nutzer basiert.
  13. Verfahren nach Anspruch 8, wobei der ausführbare Code aus der Gruppe ausgewählt ist bestehend aus einer Applikation, einem Betriebssystem, einem Treiber und einer Bibliothek.
  14. Verfahren nach Anspruch 8, wobei der ausführbare Code in einer Kategorie enthalten ist, wobei das Assoziieren des ausführbaren Codes mit den Routern mit einem Assoziieren des ausführbaren Codes mit der Kategorie verbunden ist.
  15. Programmprodukt, umfassend ein computerlesbares Speichermedium, das einen durch einen Prozessor (102) ausführbaren Code speichert, wobei der ausführbare Code einen Code umfasst, um durch den Prozessor auszuführen: - ein Assoziieren eines ersten Abschnitts von ausführbarem Code mit einem schneller arbeitenden aber unzuverlässigeren Router und Assoziieren eines zweiten Abschnitts von ausführbarem Code mit einem langsamer arbeitenden aber zuverlässigeren Router, wobei der erste Router und der zweite Router in demselben lokalen Netzwerk enthalten sind; - ein Auswählen eines der Router in Reaktion auf ein Erfassen einer Netzwerkkommunikation, die von dem Abschnitt des ausführbaren Codes ausgeht; und - ein Ausrichten der Netzwerkkommunikation zu dem ausgewählten Router.
  16. Programmprodukt nach Anspruch 15, wobei das Auswählen der Router weiterhin auf einer Indikation von dem ausführbaren Code basiert.
  17. Programmprodukt nach Anspruch 15, wobei der Code ferner ein Priorisieren der assoziierten Router ausführt, wobei das Auswählen weiterhin auf einem Prioritätswert basiert.
  18. Programmprodukt nach Anspruch 15, wobei das Auswählen der Router weiterhin auf einem Zielgerät der Netzwerkkommunikation basiert.
  19. Programmprodukt nach Anspruch 15, wobei das Assoziieren auf einem Indikator von einem Nutzer basiert.
  20. Programmprodukt nach Anspruch 15, wobei der ausführbare Code aus der Gruppe ausgewählt ist, bestehend aus einer Applikation, einem Betriebssystem, einem Treiber und einer Bibliothek.
DE102015111820.3A 2014-07-21 2015-07-21 Auswählen eines Netzwerkes Active DE102015111820B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/337,071 US9955412B2 (en) 2014-07-21 2014-07-21 Selecting a network
US14/337,071 2014-07-21

Publications (2)

Publication Number Publication Date
DE102015111820A1 DE102015111820A1 (de) 2016-01-21
DE102015111820B4 true DE102015111820B4 (de) 2021-06-17

Family

ID=54064688

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015111820.3A Active DE102015111820B4 (de) 2014-07-21 2015-07-21 Auswählen eines Netzwerkes

Country Status (4)

Country Link
US (1) US9955412B2 (de)
JP (1) JP2016025663A (de)
DE (1) DE102015111820B4 (de)
GB (1) GB2530857B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102143620B1 (ko) * 2014-02-17 2020-08-11 삼성전자주식회사 전자 장치에서 다중 인터페이스를 이용한 응용 계층의 요청 처리 장치 및 방법
US9800489B1 (en) * 2014-12-17 2017-10-24 Amazon Technologies, Inc. Computing system monitor auditing
US10812220B1 (en) * 2018-09-26 2020-10-20 Parallels International Gmbh Method and system for transmitting data over multiple paths
US11641406B2 (en) * 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
JP2020077989A (ja) * 2018-11-08 2020-05-21 三菱電機株式会社 通信システム
JP7224264B2 (ja) * 2019-09-12 2023-02-17 三菱電機株式会社 通信網選択装置及び通信システム
KR20210099832A (ko) * 2020-02-05 2021-08-13 삼성전자주식회사 디스플레이 장치 및 그 통신 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070217349A1 (en) * 2003-12-22 2007-09-20 Gabor Fodor System and Method for Multi-Access
US20070255797A1 (en) * 2006-04-28 2007-11-01 Dunn Douglas L Method for selecting an air interface using an access list on a multi-mode wireless device
US20080019339A1 (en) * 2006-07-19 2008-01-24 Lalit Yerramilli Raju Radio Interface Selection for a Terminal
US20100153969A1 (en) * 2008-12-12 2010-06-17 Microsoft Corporation Communication interface selection on multi-homed devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065367B2 (en) 2002-07-11 2006-06-20 Oliver Michaelis Interface selection in a wireless communication network
US7599323B2 (en) * 2002-10-17 2009-10-06 Alcatel-Lucent Usa Inc. Multi-interface mobility client
US7761607B2 (en) 2004-04-23 2010-07-20 Microsoft Corporation User based communication mode selection on a device capable of carrying out network communications
JP4564819B2 (ja) 2004-10-19 2010-10-20 日本電気株式会社 データ送信装置、データ送信方法、データ送信プログラムおよび記録媒体
US7940735B2 (en) * 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
GB0616992D0 (en) 2006-08-29 2006-10-04 Nokia Corp Evaluating a communication interface
US20120051343A1 (en) * 2007-09-14 2012-03-01 Novatel Wireless, Inc. Mesh network connecting 3g wireless routers
US20090234934A1 (en) * 2008-03-14 2009-09-17 Novatel Wireless, Inc. Managing multiple network interfaces by assigning them to individual applications
US8555201B2 (en) * 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
ES2663411T3 (es) * 2008-10-15 2018-04-12 Nokia Technologies Oy Determinación de una interfaz de red para acceder a una red
US9185719B2 (en) 2009-08-18 2015-11-10 Qualcomm Incorporated Method and apparatus for mapping applications to radios in a wireless communication device
US9155032B2 (en) * 2010-05-28 2015-10-06 Nokia Technologies Oy System, method, and apparatus for determining a network interface preference policy
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
KR102013940B1 (ko) * 2012-12-24 2019-10-21 삼성전자주식회사 어플리케이션의 보안성 관리 방법 및 그 전자 장치
JP6480908B2 (ja) * 2013-03-15 2019-03-13 オラクル・インターナショナル・コーポレイション アプリケーション間におけるコンピュータ間の保護された通信
US9271179B2 (en) * 2013-09-30 2016-02-23 Apple Inc. Customized coexistence management based on user behavior
TWI516978B (zh) * 2013-10-31 2016-01-11 萬國商業機器公司 在電腦裝置中管理應用程式的執行所適用的安全模式
WO2015171549A2 (en) * 2014-05-05 2015-11-12 Citrix Systems, Inc. Facilitating communication between mobile applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070217349A1 (en) * 2003-12-22 2007-09-20 Gabor Fodor System and Method for Multi-Access
US20070255797A1 (en) * 2006-04-28 2007-11-01 Dunn Douglas L Method for selecting an air interface using an access list on a multi-mode wireless device
US20080019339A1 (en) * 2006-07-19 2008-01-24 Lalit Yerramilli Raju Radio Interface Selection for a Terminal
US20100153969A1 (en) * 2008-12-12 2010-06-17 Microsoft Corporation Communication interface selection on multi-homed devices

Also Published As

Publication number Publication date
GB201512814D0 (en) 2015-09-02
JP2016025663A (ja) 2016-02-08
DE102015111820A1 (de) 2016-01-21
US20160021604A1 (en) 2016-01-21
GB2530857A (en) 2016-04-06
GB2530857B (en) 2019-06-05
US9955412B2 (en) 2018-04-24

Similar Documents

Publication Publication Date Title
DE102015111820B4 (de) Auswählen eines Netzwerkes
DE112015004008B4 (de) Selektives abtasten von netzwerkpaketverkehr unter verwendung von virtuelle-maschinen-werkzeugplattformen auf cloud-basis
DE112013000752B4 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE102020124789A1 (de) Hyperkonvergente architektur für industrieleitsystem
DE112017000046T5 (de) Beurteilung der Genauigkeit eines Maschinenlernmodells
DE112020005786T5 (de) Systeme und verfahren zum ermöglichen eines hochverfügbaren verwalteten ausfallsicherungsdienstes
DE102015004127A1 (de) Verfahren und System zum Vergleichen von verschienenen Versionen einer cloud-basierten Anwendung in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE102016104478A1 (de) Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren
DE112016004368T5 (de) Verwaltung eines Fehlerzustands in einem Datenverarbeitungssystem
DE102013208431B4 (de) Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten
US20140173092A1 (en) Exchange of server health and client information through headers for request management
DE112013003289T5 (de) Gerät, System und Verfahren für client-geregelte Sitzungspersistenz zwischen ein oder mehreren Clients und Servern eines Rechenzentrums
DE112013006420T5 (de) Erweiterte Verbindungszusammenfassung (LAG) zur Nutzung in mehreren Switsches
DE102015004128A1 (de) Verfahren und System zum Testen cloud-basierter Anwendungen und Dienste in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE102020110143A1 (de) Standortbasierte virtualisierungs-workload-platzierung
DE112013006417T5 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE102016105595A1 (de) Bedarfsleistungsmanagement in einer vernetzten Computerumgebung
DE102018207377A1 (de) Vorabvalidierung einer plattform
DE102022101068A1 (de) Absichts-basierte dynamische northbound-anwendungsschnittstelle
DE102019103932A1 (de) Technologien für optimierte Dienstgütebeschleunigung
DE102013209934B4 (de) Starten oder Stoppen virtueller Server in angemessener Reihenfolge
DE112014004208T5 (de) Integrationsverfahren und -System
DE102022126239A1 (de) Fernverwaltung eines switch-stacks
DE112021005656T5 (de) Analyse der rollenerreichbarkeit mit transitiven tags
DE202019104801U1 (de) Elastische Modifikation von Anwendungsinstanzen in einer Netzwerksichtbarkeitsinfrastruktur

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029040000

Ipc: H04L0069140000

R020 Patent grant now final
R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE